throbber
g
`
`<D V7C)
`
`q
`
`SERIAL
`NUMBER
`(S
`eries
`of 1987)
`
`ENT bATE
`
`4_644
`
`PATENT
`NIIMRFR
`
`RIALNUMBER
`''(37/974,044
`
`FILING DATE CLASS
`-Qe2r
`
`11/10/92
`
`SUBCLASS
`
`ERlr A. BIER, MOUNTAIN VIFW, CA.
`
`_j
`
`**CONT,INUING.DATA***********
`VERIFIED
`
`Z
`
`01
`
`*OREIGN/PCT APPLICATIONS************
`VERIFIED
`
`....fOREIGNFILING LICENSE GRANTED 12/01/92
`lw
`
`AS
`ED
`FIL
`(cid:173)111-
`
`STATE OR SHEETS
`COUNTRY
`
`TO
`CLAJMS
`
`INDEP.
`CLAIMS
`
`I'
`
`CA
`
`13
`
`7
`
`2
`
`Foreign priority cialTed
`35 usc 119 conditions
`
`Q yes
`yas
`
`10
`
`Verified a nd.,A".know lodged
`
`& JACOBS
`ROSEN
`.'.489- FIFTWAVENUE
`NEW YORK, NY 10017
`
`556-1811
`
`100
`
`FILING FEE
`RECEIVED
`
`ATT RN
`Is
`DOCKETNO.
`$940.00 XRX-134(D/9
`
`'.:__TH0D AND APPARATUS FOR PERUSER CUSTOMIZATION OF APPLICATIONS
`AARED BY APLURALITY OF USERS ON A SINGLE DISPLAY
`
`-Pat. & TM Otlice PTO-436L ("ro. 10-76)
`US. DEPr. of COMM.
`
`i
`
`PARTS OF APPLICATION
`FILED SEPARATELY
`
`NOTIC6 OF ALLOWANdE MAILED
`
`PREPARED'FOR ISSUE
`
`CLAIMS ALLOWED
`
`Total Claims
`
`Print Claim
`
`iSSUE FEE
`
`Amount Due
`
`Date Paid
`
`Label
`Area
`
`Form PTO-438
`
`Rev. 9 190
`
`Assistant Examiner
`
`Docket Clerk
`
`,1,-20
`
`Shoots Drwg.
`
`GFWP M'o
`
`Primary Examin or
`
`ISSUE CLASSIFICATION
`
`bclass
`
`7SSUE
`BATCH
`NUMBER
`
`rlass
`
`Z
`
`7-
`DRAWINd
`Figs. Drw'g.
`
`Pri
`
`WARNING: The information disclosed herein may be restricted. Unauthorl I zed disclosure may be
`prohibited by the United States Code Ti-t-le 35, Sections 122, 181 and 368.
`
`-
`
`Poisession outside the U.S. Patent & Trademark Off Ice Is r'estricied to authorized employees
`and contractors only.
`
`Petitioners Ex. 1007 Page 1
`
`

`

`m
`
`APPROVED FOR LICENSE
`
`F-1
`
`INITIALt
`
`0' 2
`
`Received
`or
`Mailed
`
`1992
`
`I Ithl
`
`p F", 1,7"
`q-7
`
`"7
`
`'
`
`Q
`
`C5
`
`23- (4-
`
`C,
`
`/9,4044
`
`Entered
`or
`Counted
`
`1. Application
`
`papers
`
`cvj
`
`-2r
`
`We
`
`npaz
`
`7(cid:173)1
`
`1,>T
`
`, A2-z-
`
`1 0
`
`1
`
`.,
`
`M 845
`
`PTO Grtlt
`
`A-LLDlw,&Jnf
`0c; o IVA
`T
`
`121
`
`16.
`
`17.
`
`-25.
`
`-30.
`
`il=,tt7-
`
`p
`
`Petitioners Ex. 1007 Page 2
`
`

`

`U.S. PATENT APPLICATION
`
`07/974,044
`
`1 1/10/92
`
`364
`
`23o6
`
`ERIC A. BIER, MOUNTAIN VIEW, CA.
`
`CL
`
`CL4
`
`**CONTINUING DATA*********************
`I VER IF I ED
`
`**FOREIGN/PCT APPLICATIONS************
`VERIFIED
`
`FOREIGN FILING LICENSE GRANTED 12/01/92
`
`COUNTRY
`
`DRAWING
`
`CLAIMS
`
`CLAIMS
`
`RECEIVED
`
`CA
`
`13
`
`7
`
`2
`
`$
`
`940.00
`
`XRX-134(D/9
`
`V)
`cn
`ui
`
`wJ
`mt-
`
`ROSEN, DAINOW & JACOBS
`489 FIFTH AVENUE
`NEW YORK, NY 10017
`
`METHOD AND APPARATUS FOR PERUSER CUSTOMIZATION OF APPLICATIONS
`SHARED BY A PLURALITY OF USERS ON A SINGLE DISPLAY
`
`This is to certify that annexed hereto is a true Copy from the records of the United States
`Patent and Trademark Office of the application as filed which is identified above.
`
`By authority of the
`COMMISSIONER OF PATENTS AND TRADEMARKS
`
`Date
`
`Certifying Officer
`
`Petitioners Ex. 1007 Page 3
`
`

`

`11
`
`%,
`
`I I
`
`k .
`
`PATENT APPLICATION
`TRANSMITTAL LETTER
`
`Docket No. XRX-134
`(D/92142)
`
`To the Commissioner of Patents and Trademarks:
`Transmitted herewith for filing is the patent application of
`ERIC-A. BIER
`entitled METHOD AND APPARATUS FOR PER-USER CUSTOMIZATION OF
`APPLICATIONS SHARED BY A PLURALITY OF USERS ON A SINGLE DISPLAY
`Enclosed are:
`sheet(s) of drawings
`-y-
`13
`an assignment of the invention to Xerox Coriporation
`executed declaration of the inventor(s)
`a certified copy of
`application No.
`the Drioritv of which is herebv claimed.
`associate power of attorney
`a verified statement to establish
`Bmall entity status under 37 CFR
`1.9 and 1.27
`information diBclosure statement
`preliminary amendment
`other:
`
`X
`
`x
`
`X
`
`CLAIMS AS FILED
`
`NUMBER FILED I NUMBER EXTRA
`
`RATE
`
`BASIC FEE
`
`TOTAL CLAIMS
`
`INDEPENDENT CLAIMS
`
`10 20 = * 0
`3 = * 0
`2
`
`$710
`x $22
`x $74
`
`FEE
`
`$710
`
`0
`
`0
`s230
`s940
`
`$230
`
`TOTAL
`
`MULTIPLE DEPENDENT CLAIM PRESENT
`1
`*Number extra must be zero or larger
`If applicant has small entity status under
`37 CFR 1.9 and 1.27, then divide total fee by 2,
`and enter swunt here.
`A check in the amount of $
`enclosed.
`X The Commissioner is hereby authorized to charge and credit Deposit
`Account No. 24-0037 as described below. I have enclosed a duplicate copy
`of this sheet.
`Charge the amount of $ 940.00
`X
`X Credit any overpayment
`X Charge any additional filing fees required under 37 CFR 1.16 and
`1.17.
`
`SMALL ENTITY TOTAL
`
`$
`
`to cover the filing fee is
`
`_as filing fee.
`
`DR
`
`I t I 116 L--
`Date
`
`I
`
`OSEN DAINOW & JACOBS
`489 Fifth Avenue
`New York, NY 10017
`(212) 692-7000
`EXPRESS MAIL CERTIFICATE 37 CFR 1.10
`Expres3 Mail Label No. RB 948 917 915 US
`Date of Depositll/10192
`I hereby certify that this paeer or fee is being deposited
`Postal Service Expre m 'I p
`Office to Addressee
`with the U
`io%un4ei 37 CFR 1.10 on the dats: i.adlic aO' above and is
`:er
`Comissioner of Patents & Tra
`ks Wash
`ddvres
`d
`Thomas M. Webster
`Name of Person Mailing
`
`411
`Signature
`
`10/92
`
`Petitioners Ex. 1007 Page 4
`
`

`

`07/77YOy
`
`Patent Application
`Attorney Docket No. D/XRX-134
`(D/92142)
`
`APPLICATION
`FOR
`UNITED STATES LETTERS PATENT
`
`Be it known that 1, Eric A. Bier, a citizen of the United States of
`
`America have invented new and useful improvements in:
`
`Method and
`
`User Customization of Applications
`
`Shared by a PluraHty of Users on a Single Display
`
`of which the following is the specification:
`
`EXPRESS MAIL CERTIFICATE
`
`"Express Mail" label number:
`
`RB 948 917 915 US
`
`Date of Deposit:
`
`November 10, 1992
`
`I hereby certify that the following attached paper or fee, an application entitled Method
`and Apparatus for Per-User Customization of Applications Shared by a Plurality of
`Users on a Single Display, is being deposited with the United States Postal Service "Express
`
`Mail Post Office to Addressee" service under 37 CFR 1.10 on the date indicated above and is
`adclressed to the Commissioner of Patents and Trademarks, Washington, D.C. 20231.
`
`Thomas M. Webster
`(Typed or printed name of person mailing paper or fee)
`
`Sign'ature of p'erson maiiink paper or fee)
`
`Petitioners Ex. 1007 Page 5
`
`

`

`0 7
`
`7 Li 0
`
`el
`
`Attorney Docket D/92142 - XRX134
`
`5
`
`10
`
`METHOD AND APPARATUS FOR PER-USER CUSTOMIZATION
`
`OF APPLICATIONS SHARED BY A PLURALITY OF
`
`USERS ON A SINGLE DISPLAY
`
`FIELD OF THE INVENTION
`This invention relates to a method and apparatus employing a
`single display for a plurality of users, and is more in particular
`directed to a method and apparatus for establishing correspondence
`between the users and pointing devices in such a system. The
`
`invention is related to the invention disclosed in U.S. Patent
`Application Ser. No. 017/791j
`
`A
`
`filed on the same date as the present application, the contents of
`A,
`
`which are rpo by reference herein.
`
`$-r;-
`
`15
`
`Many Adern groupware applications generally require that each
`
`of a number of participants have his or her own computer. There are
`
`many occasions, however, in which two or more people wish to
`
`collaborate in a single-computer situation. This may occur, for
`example, when one person visits another's office, or when two or
`more people are using a large-screen computer, such as a Xerox
`
`v 20
`
`oik 1___1
`
`Many groupware computer systems do not provide any facilities
`
`Page 1
`
`Petitioners Ex. 1007 Page 6
`
`

`

`5
`
`10
`
`15
`
`20
`
`25
`
`for per-user customization. Those that do usually take advantage of
`the fact that each user has his or her own compu ter and is running
`a separate instance of an application. Prior systems have not
`permitted customization such that
`instance of
`the same
`the
`application and the same screen can be shared. The superscript
`refer
`identifications
`to the
`discussion
`the
`following
`in
`Bibliography at the end of this disclosure.
`Shared window systems 1 in the past have allowed users to
`share standard applications over a network. Some systems of this
`type are of the What You See Is What I See (WYSYWIS) type. Work on
`
`networked
`
`and
`
`shared window systems has focused on sharing unmodified single-user
`floor
`applications, maintaining a
`conference,
`control. These systems have experienced difficulties in maintaining
`consistent views between displays when local user preferences are
`honored.
`Networked conf erence- aware systems such as window systems 2,
`allow users at different
`text editors 3
`tools 4
`and drawing
`workstations to make changes simultaneously. These systems permit
`some types of local user preferences One simple system of this
`type is Commune 4 which allows users to simultaneously draw with a
`stylus on the pages of a shared electronic notebook. This latter
`system shows the sane image to all users and uses colored cursors
`and objects to distinguish among different users.
`SharedArk6 supports collaborative learning of physics by
`allowing users to simulate experiments. In this system, users move
`
`5
`
`around
`
`a
`
`planar
`
`space
`
`that
`
`contains
`
`objects
`
`that
`
`they
`
`can
`
`Page 2
`
`_'3
`
`Petitioners Ex. 1007 Page 7
`
`

`

`nanipulate. When users' view of the plane overlap, the views are
`
`WYSIWIS in the shared region. Each user controls a pointer, labeled
`
`with the user's name, that is visible on all conference screens.
`
`Any user can manipulate any object in his or her view. Buttons in
`
`5
`
`this system can be applied to any object, and shared between users.
`
`This system also supports per-user pointers, shared buttons and
`
`objects,
`
`lightweight locking of objects,
`
`and equal status of
`
`participants.
`
`Several systems support meetings by allowing participants,
`
`10
`
`working at individual workstations, to control a large shared
`
`screen. Some use chalk-passing floor control, such as the Capture
`
`7
`
`Lab
`
`Others allow simultaneous editing, such as Colab
`
`8
`
`The Colab
`
`team, in reporting on the Cognoter tool, noted that simultaneous
`
`access to the screen improves brainstorning because users need not
`
`15
`
`wait for others to complete an entry before making their own
`
`contribution. They also noted that shared user interfaces need to
`
`be simple, because there is little time for training in a group
`
`setting. In all of these systems, however, the number of active
`
`participants
`
`is
`
`limited by
`
`the
`
`number of
`
`machines
`
`and
`
`the
`
`20
`
`participants must go to a special meeting room.
`
`SUMMARY OF THE INVENTION
`
`The present invention is directed to the provision of a method
`
`and apparatus for sharing custonizable software applications on a
`
`single display that overcornes the above discussed disadvantages of
`
`25
`
`prior systems and that permits two or more persons to share the
`
`sane instance of an application, exploying a common screen.
`
`Page 3
`
`/L(
`
`Petitioners Ex. 1007 Page 8
`
`

`

`5
`
`10
`
`The invention is directed to the solution of the following
`
`user interface problems:
`
`Customized simultaneous input.
`
`In a system where a
`
`plurality of users may invoke the same command in the
`
`same application by taking comparable actions using
`
`comparable, but distinct,
`
`input devices,
`
`it must be
`
`possible to vary the effect of that command depending on
`
`the preferences of the user who generated it.
`
`Registration.
`
`It must be possible to quickly register
`
`each input device with a user, and hence, with a set of
`
`preferences.
`
`Per-user feedback.
`
`The system must direct feedback to
`
`the correct user without unduly disturbing other users.
`
`In addition, the invention is directed to the solution of the
`
`15
`
`following architectural problem:
`
`Replication.
`
`The data structures of each application
`
`must be replicated for each user to support per-user
`
`I
`
`modes, selections, and preferences.
`
`In accordance with the invention, a special on-screen region,
`
`20
`
`referred to herein as the "Home Areal', allows each user to claim
`
`input devices, such as inice, that move cursors. The user simply
`
`clicks on a Home Area with the cursor in order to establish the
`
`association between the user represented by that Home Area and the
`
`input device. A user's Home Area also provides a natural place to
`
`25
`
`position the control panel for that. user's current application.
`
`These control panels are referred to herein as "Home Area menus".
`
`Page 4
`
`Petitioners Ex. 1007 Page 9
`
`

`

`In addition, the system must provide feedback to each user
`
`without confusing the other users. In accordance with the invention
`
`this result is achieved by displaying the feedback for each user in
`
`a different color, and at other tiTnes by displaying feedback for
`
`5
`
`each user in a different region of the screen.
`
`The system in accordance with the invention supports multiple
`
`users,
`
`and also supports multiple applications. Such -multiple
`
`applications can be spatially nested inside one another, forming a
`
`logical hierarchy where one application may be nested inside
`
`10
`
`another. Users can act within this hierarchy at any level, with
`
`different users acting at different levels.
`
`In the system and method of the invention:
`
`Each user can have a
`
`different "current position".
`
`For
`
`instance, one user can be adding text to a first paragraph of
`
`15
`
`a
`
`document,
`
`while another user adds text to the third
`
`paragraph.
`
`Each user can be operating in a different mode. For example,
`
`one user can be rotating one object while another user is
`
`creating new objects.
`
`20
`
`(3)
`
`Each user can have different style settings. For example, when
`
`one user types, the new text appears in his or her chosen
`
`color or font. Another user can create text in a different
`
`font or color.
`
`(4)
`
`Feedback involving a particular user (e.g. what application
`
`25
`
`that
`
`user
`
`is
`
`currently
`
`using,
`
`which
`
`input
`
`devices
`
`are
`
`associated with that
`
`user,
`
`what
`
`operation
`
`the
`
`user
`
`is
`
`Page 5
`
`rz-
`
`Petitioners Ex. 1007 Page 10
`
`

`

`performing, and what current modes, such as current color or
`
`current font,
`
`are in force)
`
`is displayed in a way that
`
`indicates which user that feedback is directed to.
`
`The user interface of the present invention is comprised of
`
`5
`
`three visible components, namely:
`
`1 .
`
`Home Areas for providing iconic representations of the users.
`
`Applications that allow the users to perform tasks, such as
`
`editing document media.
`
`Menus, which provide buttons that users can press to invoke
`
`10
`
`commands.
`
`BRIEF FIGURE DESCRIPTION
`
`In order that the invention may be more clearly understood, it
`
`will now be disclosed in greater detail with reference to the
`
`accompanying drawings, wherein:
`
`15
`
`-,'Fig. 1 is a block diagram of a system in accordance with the
`
`invention;
`
`Fig. 2 is a view of, a screen display in accordance with one
`
`embodiment of the inve,ntion;
`
`,.Tig.
`
`3 is a view of the Home Area of the screen display of
`
`20
`
`Fig. 2;
`
`Fig.' 4 is a view of the screen display of a Rectangle Editor;
`
`Fig. 5 is a view of the screen display of a Text Editor;
`
`Fig. 6 is a screen display illustrating a method for moving a
`
`rectangle in a rectangle editor, in accordance with the invention;
`
`25
`
`Fig.
`
`7
`
`is
`
`a screen display illustrating resizing of
`
`a
`
`rectangle in a rectangle editor;
`
`Page 6
`
`Petitioners Ex. 1007 Page 11
`
`

`

`8
`
`a screen disp'lay illustrating the simultaneous
`is
`/4ig.
`resizing of a rectangle by manipulation of two pointing devices;
`'Fig. 9 is a screen display illustrating the display of four
`editors on the screen display;
`Ficl. 10 is a screen display illustrating a doubly selected
`rectangle;
`Fig. 11 is a screen display illustrating doubly selected text
`characters;
`Fig. 12 is a screen display illustrating a Home Area with
`rectangle creation color feedback;
`13 is a screen display illustrating a Home Area with
`'Tig.
`current font feedback;
`.Fig. 14 is a flow diagram of the processing of an input from
`an external device such as a mouse;
`Fig.. 15 illustrates the data structure of an Event Record;
`.Fig. 16 is a flow diagram of processing of Event Records in
`the Home Area;
`
`Fig. 17 is a simplified diagram illustrating the interface
`between/the Notify Process and the shared applications;
`Vig. 18 is a simplified illustration showing the updating of
`a screen, in accordance with the invention;
`a diagram illustrating the structure of
`is
`Fig.
`19
`applic,ation;
`Fig. 20 is a flow diagrain illustrating the handling of an
`Event Record by an application;
`Fig. 21 is a flow diagram illustrating the transformation of
`
`an
`
`Page 7
`
`5
`
`10
`
`15
`
`20
`
`25
`
`Petitioners Ex. 1007 Page 12
`
`

`

`coordinates for a child editor;
`/Fig. 22 illustrates a rectangle editor in which a rectangle
`itself
`contained in that editor
`the editor
`are being
`and
`simultaneously repositioned;
`'4/ig. 23 illustrates the results of the instructions of Fig.
`22, in the absence of the system of the invention; and
`/Fig. 24 is a flow diagram of a Paint Process in accordance
`iiith the invention;
`Fig. 25 illustrates the involvement of user preferences in the
`two different users, both when an
`processing of input eventsAter
`application is constructing a command and when the display is being
`
`updated;,,,,and
`
`Pig. 26 illustrates three applications that are receiving
`input from two input devices and updating a single display.
`DISCLOSURE OF PREFERRED EMBODIMENTS OF THE INVENTION
`Referring now to the drawings, Fig. 1 is a block diagram of a
`basic multi-user system that includes a computer 20, which may be
`a conventional microcomputer having RAM and program ROM, and a
`plurality of input devices 21, 22, 23. The devices 21, 22 may be
`pointing devices, such as mouses with one or more mouse buttons,
`and the input device 23 may be a keyboard. It will be understood
`that the invention is not lim ited to this configuration of input
`devices, and that inore input devices may be provided than herein
`illustrated. The computer system also is provided with a display
`screen 25 which may be a conventional computer monitor, or it may
`be a display device having a much larger surface area.
`
`Page 8
`
`5
`
`10
`
`15
`
`20
`
`25
`
`Petitioners Ex. 1007 Page 13
`
`

`

`The system is adapted to be employed by one or more users. For
`
`example, a single user may employ the two devices 21, 22, with the
`
`system reacting to inputs from the two devices in different
`
`manners. In this case, as discussed herein the two devices have
`
`5
`
`different "user instances". Alternatively, the two devices 21, 22
`
`may be controlled by different users, with the users controlling
`
`functions on the same application or in different applications.
`
`Further input devices may be assigned to other users, or be used
`
`10
`
`15
`
`for other user instances.
`
`The Display Screen
`
`A typical display that may be provided on the display screen
`
`25, in accordance with the inventio.n, is illustrated in Fig. 2.
`
`This screen includes a command menu 30, a rectangle editor 31 which
`
`may have a nested text editor 32, a text editor 33 and a Home Area
`34. The illustrated editor screens are exemplary only, and other
`
`combinations of editor screens may be employed.
`
`In order to invoke any of the selections of the command Tnenu
`
`30, the user controls his or her input device to place the cursor
`
`on the desired menu selection, and clicks or otherwise controls the
`
`20
`
`device to rnake the selection.
`
`The Rect Editor selection immediately turns all selected
`
`rectangles into rectangle editors, the Text Editor selection turns
`
`them into text editors, the Menu turns them into rnenus, the Color
`
`Menu turns them into color menus and the Delete selection deletes
`
`25
`
`the selected rectangles. The New User selection creates a new Home
`
`Area for the user named by the selected text characters in
`
`Page 9
`
`Petitioners Ex. 1007 Page 14
`
`

`

`the selecting user's current application. The Print selection
`
`produces a file in a page description language correspondincj to the
`
`selecting user's current application.
`
`A separate Home Area is employed for each user participating
`
`5
`
`in a session. Briefly, in order to join a session, a new user may
`
`enter his or her name into a keyboard or via a selection rnenu,
`
`followed by the clicking of the "New User" menu button. Other
`
`conventional techniques may of course be provided for creating a
`
`new Home Area. The system of the invention then displays a new Home
`
`10
`
`Area that displays the new user Is name. The Home Area of a user may
`
`appear, for example, as illustrated in Fig. 3, wherein the user's
`
`name is displayed at the top of the area. The user then moves the
`
`cursor to the
`
`name in the desired Home Area, as seen in Fig. 2,
`
`and clicks his or her mouse button or other input device. As a
`
`15
`
`result, the system assigns the respective input device to that
`
`user, and any actions performed with the input device will take his
`
`or her preferences into account. The change of ownership of the
`
`input device may cause the cursor color to change to that of the
`
`user's Home Area. A user may have more than one Home Area, which
`
`20
`
`may be selected in the same manner as above discussed. Extra Home
`
`Areas allow users to switch back and forth between different sets
`
`of preferences. Each Home Area is said to belong to a different
`
`"user instance".
`
`The applications may, for example only, be rectangle editors
`
`25
`
`and text editors. These applications are discussed herein only to
`
`illustrate generally the function of an application,
`
`and the
`
`Page 10
`
`Petitioners Ex. 1007 Page 15
`
`

`

`invention is not limited to these specific applications. The
`rectangle editor permits a user to create solid colored rectangles
`oii the screen, to select and delete groups of rectangles, and to
`change their size, position and color. The text editor, on the
`other hand, allows users to place a starting point for a line of
`text, to enter characters, to choose a font and color, to move a
`line of text, to select a sequence of characters, and to delete or
`change the color of selected characters.
`Since the system of the invention is largely concerned with
`keyboardless interfaces, all editor commands, except for example
`
`text entries, are preferably activated by a pointing device such as
`
`a mouse. Co-minand selection involves pointing to different parts
`
`(called "handles") of graphical objects on the screen for the
`purpose of invoking different operations.
`For example, as illustrated in Fig. 4, the rectangle editor
`may display one or more rectangles, which may be nested. The
`rectangles may have a wide border or frame. The screen display of
`a text editor is illustrated in Fig. 5, wherein text may appear in
`desired fonts and colors.
`In order to move a rectangle, in the rectangle editor, from
`one position to another, without changing its size, the user places
`O
`W
`his or her cursor, on the border of the rectangle.that is to be
`
`moved, as seen in Fig. 6, clicks and holds the input device button,
`and drags that border in any direction, until the desired position
`is reached. If, on the other hand, the user desires to change the
`W
`size of a rectangle, the user places his or her cursoi on a corner
`
`Page 11
`
`5
`
`10
`
`15
`
`20
`
`25
`
`Petitioners Ex. 1007 Page 16
`
`

`

`(vg-
`of the rectangle, as seen in Fig. 7, clicks and holds the input
`device button, and drags that corner in a direction to change the
`lengths of the adjacent two sides of the rectangle, to thereby
`increase or decrease the size of the rectangle.
`A user may create a new rectangle on the screen by clicking
`his or her input device with the cursor on the backqround of the
`rectangle editor portion of
`screen. Several users may
`the
`performing different
`application,
`simultaneously work
`in an
`operations and using different modes. For example, in the rectangle
`editor, one user may drag one rectangle while another user resizes
`
`the rectangle, or while another user performs operations on another
`t:111 AA (0 4. (0
`rectangles. As
`the
`in Fig.
`of
`seen
`two users, may be
`8,
`simultaneously stretching the rectangle in different directions.
`The rectangle editor keeps track of both operations and updates the
`screen to show their progress. Sinilarly, the users nay employ the
`color menu 36 in order to control the color that rectangles will
`appear when created using the respective input device. For example,
`
`one user may choose blue as the current color for that editor while
`another user chooses red. The editor stores both users' modes and
`creates a rectangle of a color appropriate to the creating user.
`Users can work simultaneously on the same object. One user can
`add characters to a text string while another changes the color of
`existing characters. very fine-grained sharing is also possible.
`
`5
`
`10
`
`15
`
`20
`
`one user can stretch a rectangle by one corner while another
`
`\5 stretches its opposite corner, as seen in Fig. 8, or one user can
`type a string of characters while another repositions the string.
`
`IV
`
`Page 12
`
`Petitioners Ex. 1007 Page 17
`
`

`

`The syste-m in accordance with the invention does not have a
`
`conventional window manager. Instead, the desktop is an instance of
`the rectangle editor. The rectangle editor allows other editors to
`be nested inside of it. Each editor presents a finite window onto
`an "infinite" plane that contains the objects and child editors
`that editor manages, which may overlap. The shape and position of
`this window is managed by the editor's parent. Thus, Fig. 9 shows
`C
`A A-*." b,
`several rectangle editors and a text editor4. The text editor C is
`A
`70
`partly hidden by sibling editor B and by a rectangle, and the
`4
`rectangle editor D is partly outside of the porthole of its parent
`as
`editor B."_
`
`Because the window system of the invention is an editor, users
`
`do not need to learn both window manager and editor operations,
`
`unlike systems where selection of an editor is different frorn
`selection within an editor. Users can also place shared widgets in
`the document in which they are working; widgets do not need to
`remain at the top level.
`In single-user environments, graphical feedback is used to
`display aspects of system state, such as the current application
`mode, color, or insertion point. In accordance with the present
`feedback nust show all of this
`invention,
`however, graphical
`information, as well as indicating the user to which the feedback
`applies. Color and spatial placement Tnay be employed to indicate
`this correspondence.
`Each user has a color to identify his or her cursors,
`insertion points, and selections. As illustrated in Fig. 10, two
`
`Page 13
`
`m
`
`5
`
`10
`
`15
`
`20
`
`25
`
`Petitioners Ex. 1007 Page 18
`
`

`

`5
`
`10
`
`15
`
`. ?11/13
`
`n?.1 q I
`users have selected a rectangle, and each user's selection is shown
`4
`15 i(e
`by highlighting a corne 'of the rectangle frame in that user's
`r
`color. Similarly, Fig. 11 shows two selections in a text string,
`in one user's color. The overlapping
`each marked by an underline
`part of the selection is underlined twice.
`Likewise, a narrow band in the frame around a user's current
`editor is set to that user's color. Where several users are using
`the same editor, a band i; colored for each user. If too many users
`have selected an object, such as a rectangle, text or editor, to
`identify them all
`recent
`then only the most
`in the frame,
`selections are shown.
`
`1)
`
`A user Is mode within his or her current editor is displayed in
`the lower half 40 of that user's Home Area, as illustrated in Fig.
`12. When a user works in a rectangle editor, his or her Home Area
`displays that user's default color in that editor. Similarly, for
`a text editor, the current font and colors are illustrated in the
`users's Home Area, as seen at reference numeral 41 in Fig. 13.
`In many desktop environments, menus are displayed once for
`each application window or at a unique location on the screen. For
`
`20
`
`example, the Apple Macintosh pull-down menus are at the top of the
`
`screen. For a shared application on a single screen, however, menus
`
`displayed once per window take up much space and menus displayed at
`a fixed location only allow a single application to be used at any
`given time.
`
`25
`
`In accordance with the invention, however, menus can be shared
`
`among users and editors, and may be positioned anywhere on the
`
`Page 14
`
`Petitioners Ex. 1007 Page 19
`
`

`

`screen, even in documents. For example, the menus illustrated in
`
`Fig.
`
`2 can be placed in a rectangle editor regardless of its
`
`nesting level, and then applied to objects in any user's selected
`
`editor, regardless of that editor's nesting level.
`
`5
`
`Allowing people and editors to share menus reduces the screen
`
`real estate needed for control. Also, menus can be created or
`
`positioned where a user is workinq, avoiding user interference.
`
`Finally,
`
`users can group menus into a document to use as a
`
`customized control panel.
`
`10
`
`Shared inenus work well for commands, like changing color or
`
`deleting, that apply to several editors. Some functions, however,
`
`are specific to a particular editor. Menus of these functions need
`
`only be displayed when such an editor is in use. In the system of
`
`the invention, menus for a user's se lected editor are displayed in
`
`15
`
`that user's Home Area. These menus can be combined with feedback
`
`that shows current modes in the selected editor. For example, as
`
`illustrated in Fig. 13, reference numeral 41, menus can display
`
`possible font choices with the user's currently selected font
`
`highlighted.
`
`20
`
`Users can simultaneously work at different levels in the
`
`application hierarchy. This capability reduces interference between
`
`users. One user can reposition or resize a. document while another
`
`edits its contents. While some multi-level edits may disturb the
`
`user working at a lower lever, others work well. For example, a
`
`25
`
`user may resize a rectangle editor to uncover an object beneath it
`
`without disturbing another user who is editing child rectangles
`
`Page 15
`
`Petitioners Ex. 1007 Page 20
`
`

`

`that are far fron the border being moved.
`
`The user interface of the invention requires a software
`
`architecture that is unusual in several respects. It must support
`
`a hierarchy of concurrently active applications. It must handle
`
`5
`
`multiple devices and users, and make links between them. Each input
`
`event must be directed to the correct application, even though
`
`other input events may be modifying the application tree. Each
`
`application must store
`
`state for all of the users who have
`
`referenced it. Finally, the applications must coordinate their
`
`10
`
`screen updates to produce a consistent image.
`
`The applications are arranged
`
`in
`
`a tree structure.
`
`The
`
`application at the root of the tree structure can have any number
`
`of child applications, each of which can have any number of
`
`children and so on. Each application has an application queue of
`
`15
`
`input events and its own lightweight application process
`
`(or
`
`operating system "thread") to dequeue and execute events. When an
`
`application receives an input event, it may act on the event
`
`immediately, place it on its queue for sequenced execution or pass
`
`it to a child application.
`
`20
`
`At any moment, up to three applications are important to each
`
`user. A user's selected application will receive his or her
`
`keyboard events and his or her commands generated by clicking on a
`
`menu. If a user performs an interactive operation, such as dragging
`
`a rectangle, for example, the application in which that operation
`
`25
`
`began is the mouse focus application. The mouse focus application
`
`receives mouse motion and mouse button events until the interactive
`
`Page 16
`
`Petitioners Ex. 1007 Page 21
`
`

`

`operation completes, so it is possible to drag objects out of view.
`
`The most deeply nested visible application that contains a user's
`
`cursor is his or her containing application. If no interactive
`
`operation is in progress, the containing application receives all
`
`5
`
`mouse motion and mouse button events.
`
`The Processing of Input Events
`
`As illustrated in the flow diagram of Fig. 14, when an input
`(00
`1-544) to the system,
`
`device is controlled to provide an input (block
`A
`i.e. to create an "event", the system initially starts building an
`
`10
`
`Event Record (block 101) that includes the tine of the event, the
`
`identification of the device that created the event, and the nature
`
`of the event. The nature of the event may be the pressing of a
`
`keyboard key, the movement of a mouse, the clicking of a mouse,
`
`etc. The above actions are taken by a thread called the device
`
`15
`
`process. The device process then places the Event Record on system
`
`queue (block 102).
`
`The device process runs at a high priority so that the time-
`
`stamps will be close to real-time.
`
`After the Event Record has been started, as above discussed,
`
`20
`
`the system continues to build the Event Record, by a program
`
`running in a second thread, called the Notify Process, to include
`
`the User Instance, of the
`
`input device, by referring to the
`
`association in the Device To User Instance table (block 103). The
`
`Notify Process then builds a Device States Record that represents
`
`25
`
`the current state of all devices owned by the given user (e.g.
`
`whether any nouse buttons or keyboard keys are currently being held
`
`Page 17
`
`i
`
`Petitioners Ex. 1007 Page 22
`
`

`

`down) .
`
`If the input device is a pointing device, and the pointing
`
`device is clicked in a Horne Area, then the Notify Process performs
`
`a sequence of steps that enable a user to claim the pointing
`device. These steps will be discussed later. It is noted, however,
`
`that only the Notify Process can modify the Device To User

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket