throbber
(12)
`
`United States Patent
`Johnson et al.
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,489,974 B1
`Dec. 3, 2002
`
`US006489974B1
`
`(54) BUOY ICON NOTIFICATION OF OBJECT
`INTERFACE ACCESSIBILITY IN
`MULTITASKING COMPUTER
`ENVIRONMENT
`
`(75) Inventors: Wllham J‘ Johnsonf Fl‘fwer Mound;
`Laljry M‘ Lachman’ Mlchael D‘
`Smlth’ both of Irvlng’ an of TX (Us)
`.
`.
`.
`
`.
`
`_
`
`5,333,256 A * 7/1994 Green et al. .............. .. 395/159
`
`OTHER PUBLICATIONS
`Presentation of Prompt Information, Sep. 1990, IBM
`Research Disclosure n317 09—90.
`Open Look Graphical User Interface Functional Speci?ca
`tion, Sun Microsystems, Inc., 1989, Addison—Welsey Pub
`lishing Company, Inc., pgs. cover, inside, 91—94.
`Common Access Advanced Interface Design Guide, Sys
`
`tems Application Architecture, IBM, Jun. 1989, pgs. cover,
`inside, 83—87.
`QSF/MOTIF Style Gulde’ Open Software Foundanon’ Pren'
`t1ce Hall, 1991, pgs. cover, inside, 7—22—7—25, 7—31, 7—54,
`7—71, 7—88—7—89, 7—92—7—93, 7—129, 7—133.
`* cited by examiner
`
`P '
`y E ' —M j'd B nkh h
`a
`ana
`a 1
`rzmar xamzner
`h
`74 A
`A
`F- _G ff A M
`ttorney, gent, 0r lrm
`eo rey .
`antoot
`
`(73) Asslgnee' glgsrgiggggl 2132;131:5134; zglsnfs
`P
`’
`’
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U'S'C 154(k)) by 1256 days_
`
`( * ) Notice:
`
`(21) Appl. No.: 08/586,149
`'
`_
`(22) Filed
`'
`
`Jan 11 1996
`‘
`’
`
`Related US. Application Data
`
`(57)
`
`ABSTRACT
`
`(63) Continuation of application No. 08/179,479, ?led on Jan. 10,
`1994, now abandoned.
`G06F 15/62
`(51) Int Cl 7
`~
`'
`....... ..
`....................................
`.
`.
`(52) US. Cl. ..................... .. 345/772, 345/839,
`_
`Fleld Of Search ............... .............. ..
`395/159’ 364/521’ 724’ 721’ 200
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`4,783,648 A * 11/1988 Homma etal. ........... .. 340/724
`4,975,690 A * 12/1990 Torres ............ ..
`340/721
`5,050,105 A * 9/1991 Peters ...................... .. 364/521
`5,113,517 A * 5/1992 Beard etal. .............. .. 364/200
`5,301,348 A * 4/1994 Joaskelainen ............. .. 395/800
`
`Noti?cation of an eXecllting Object becoming idle is Pro‘
`vided in a multitasking environment. As the object executes,
`a user can interface With a second object. When the execut
`ing Object becomes accessible, a buoy icon Object is dis_
`played on the Computer Screen‘ The buoy icon has the name
`of the accessible object as Well as a pointer line extending
`from the buoy icon to the accessible Object‘ The buoy icon
`provides noti?cation that the accessible object execution is
`complete or is ready to receive a user input. The user can
`either remove the buoy icon from the screen or select the
`buoy icon object to focused the accessible object. The neWly
`focused accessible object can then be used. The buoy icon
`noti?cation can be enabled or disabled on an object_by_
`Ob-ectbasis
`1
`'
`
`25 Claims, 11 Drawing Sheets
`
`/17
`
`08/2 Window
`
`/25
`/
`
`sa\
`
`i
`
`E
`FILE CABINET
`
`29
`
`35B
`
`35A
`V
`
`PRINTER
`
`GRAPHICS
`
`PRINTER ‘
`
`PHONE
`
`PHONE
`
`IPR2017-01828
`Ubisoft EX1001 Page 1
`
`

`

`U.S. Patent
`
`Dec. 3, 2002
`
`Sheet 1 0f 11
`
`US 6,489,974 B1
`
`
`
`
`
`
`
`BUD DDDD DDDnU nUnUDnU
`
`DDD
`HUDD
`
`DDDDD .U U
`
`EH8 U
`
`HUDDUDDDDDDUDQHU D UDDUUDDDUDDDUU
`
`DU DDDDDDDDDDUDDD
`
`DD HUDDDDDDDDDDDUU
`
`E.
`
`6
`
`IPR2017-01828
`Ubisoft EX1001 Page 2
`
`

`

`U.S. Patent
`
`Dec. 3, 2002
`
`Sheet 2 0f 11
`
`US 6,489,974 B1
`
`05/2 Window
`
`FILE CABINET
`
`\
`08/2
`FORMAT
`
`PRINTER
`
`DOC A
`
`FIG 2
`
`IPR2017-01828
`Ubisoft EX1001 Page 3
`
`

`

`U.S. Patent
`
`Dec. 3, 2002
`
`Sheet 3 0f 11
`
`US 6,489,974 B1
`
`/ 25
`/
`
`33
`\
`
`/17
`
`08/2 Window
`
`PHONE
`
`32
`
`/ 27
`
`_._E_._
`
`——'—‘
`
`Q
`FlLE CABINET
`
`29
`
`PRINTER
`
`DOC A
`
`FIG. 3
`
`IPR2017-01828
`Ubisoft EX1001 Page 4
`
`

`

`U.S. Patent
`
`Dec. 3, 2002
`
`Sheet 4 0f 11
`
`US 6,489,974 B1
`
`/17
`
`08/20/92
`
`‘
`
`35A'\
`
`John Doe
`1212 Mockingbird Lane
`Gotham City
`
`PRINTER
`
`\,
`Dear Slrs,
`Whlle reading the latest issue of WORLD BUSINESS NE S I noticed that your
`Company has been successfully Involved in a variable hour workday program.
`This has left me curious as to
`
`FIG. 4
`
`IPR2017-01828
`Ubisoft EX1001 Page 5
`
`

`

`U.S. Patent
`
`Dec. 3, 2002
`
`Sheet 5 0f 11
`
`US 6,489,974 B1
`
`/17
`
`08/2 Window
`
`/ 25
`/
`
`33 \
`
`%
`
`Q
`FILE CABINET
`
`29
`
`PRINTER
`
`IPR2017-01828
`Ubisoft EX1001 Page 6
`
`

`

`U.S. Patent
`
`Dec. 3, 2002
`
`Sheet 6 0f 11
`
`US 6,489,974 B1
`
`Object =
`full screen
`session?
`
`N0
`
`Buoy Enabled
`Table entry
`handle =
`session
`screen group
`
`Buoy Enabled
`Table entry
`Object type=
`fullscreen
`session
`
`l
`Buoy Enabled
`Table entry
`handle = title
`bar text and
`class pair
`
`Buoy Enabled
`Table entry
`object type =
`panel
`
`Place entry
`into Buoy
`Enabled Table
`
`FIG. 6
`
`IPR2017-01828
`Ubisoft EX1001 Page 7
`
`

`

`U.S. Patent
`
`Dec. 3, 2002
`
`Sheet 7 of 11
`
`US 6,489,974 B1
`
`Object =
`full screen
`session?
`
`75 \ Active Thread
`Table entry
`handle =
`session
`screen group
`
`77 ‘\ Active Thread
`Table entry
`Object type =
`full screen
`session
`
`79 \ Active Thread
`Table entry
`handle = title
`bar text and
`class pair
`
`Active Thread
`Table entry
`object type =
`panel
`
`i
`83 .\ Place Active
`Thread Table Entry
`already in Table
`with
`PlD:TlD field
`
`FIG. 7
`
`85
`
`IPR2017-01828
`Ubisoft EX1001 Page 8
`
`

`

`U.S. Patent
`
`Dec. 3, 2002
`
`Sheet 8 of 11
`
`US 6,489,974 B1
`
`Entry in
`Active Thread
`
`Thread
`entry indicate
`a full screen
`session?
`
`101
`
`Full
`screen
`session group
`in focus?
`
`10 3\ Draw Buoy
`icon
`appropriately
`t 0 desktop
`
`10
`5\ Place Buoy
`Present entry
`into buoy
`presence Table
`
`109
`
`10x
`
`Dr?lN _
`flon-pflorlty
`pornter line from
`holly i0_assocrated
`lCOll
`
`IPR2017-01828
`Ubisoft EX1001 Page 9
`
`

`

`U.S. Patent
`
`Dec. 3, 2002
`
`Sheet 9 0f 11
`
`US 6,489,974 B1
`
`1
`
`START
`
`’
`
`1
`
`START
`
`,
`
`User places
`CUI'SOI' OVBI'
`buoy
`
`User enters
`remove
`sequence
`
`125 \ Buoy object
`and line is
`removed from
`desktop
`
`127 \ Buoy presence
`table entry
`is removed
`
`129
`
`‘
`STOP
`
`FIG. 9
`
`131
`
`User selects
`buoy
`
`.i___X 133
`__\
`accord 2 ent L___\ 135
`
`Entry is retrieved
`from buoy
`presence
`table
`
`system
`transposes user
`to f-screen
`session or panel
`
`137
`
`Buoy presence
`table entry
`is removed
`from table
`
`Buoy icon and
`associated
`pointer line
`is removed
`from desktop
`
`139
`
`141
`
`STOP
`
`FIG. 10
`
`IPR2017-01828
`Ubisoft EX1001 Page 10
`
`

`

`U.S. Patent
`
`Dec. 3, 2002
`
`Sheet 10 of 11
`
`US 6,489,974 B1
`
`167\
`
`Remove entry
`from table
`
`151
`
`169
`
`Buoy i c on
`entry present in
`Buoy presence
`table?
`
`17R
`
`Remove entry
`from table
`
`Remove buoy
`icon and
`pointer line
`from desktop
`
`Obect =
`full screen
`session?
`
`155\ Buoy Enabled
`Table entry
`handle =
`session
`screen group
`
`Buoy Enabled
`Table entry
`Object type=
`fullscreen
`session
`
`Buoy Enabled
`Table entry
`handle = title
`bar text and
`class pair
`
`Buoy Enabled
`Table entry
`object type =
`panel
`
`FIG. 11
`
`IPR2017-01828
`Ubisoft EX1001 Page 11
`
`

`

`U.S. Patent
`
`Dec. 3, 2002
`
`Sheet 11 0f 11
`
`US 6,489,974 B1
`
`Active Thread Table
`
`/X
`
`E
`E1
`
`/
`
`/=\___,
`
`E111
`
`Handle
`
`/ 68
`
`Object Type / 69
`
`PID
`
`TID
`
`/ 87
`
`/ 89
`
`FIG. 12
`
`Buoy Enabled Table
`
`/ Y
`
`;
`70 L
`
`F1 L F1
`Handle
`/ 68
`Object Type / 69
`
`F111
`
`FIG. 13
`
`Z
`
`Buoy Presence Tahle
`
`G1
`
`[ G1 L Handle / 68
`
`74 /
`Obiect Type
`/69
`Buoy Handle
`l/ 110
`
`'
`
`G111
`
`I
`
`FIG. 14
`
`IPR2017-01828
`Ubisoft EX1001 Page 12
`
`

`

`US 6,489,974 B1
`
`1
`BUOY ICON NOTIFICATION OF OBJECT
`INTERFACE ACCESSIBILITY IN
`MULTITASKING COMPUTER
`ENVIRONMENT
`
`This application is a continuation of Ser. No. 08/179,479
`?led Jan. 10, 1994, noW abandoned.
`
`TECHNICAL FIELD OF THE INVENTION
`
`The present invention relates to methods and apparatuses
`for noti?cation of user input situations and execution ter
`minations in asynchronously executing tasks in multitasking
`computer environments.
`
`10
`
`BACKGROUND OF THE INVENTION
`
`15
`
`Multitasking computer environments alloW users to run or
`execute plural objects (such as application programs) in an
`apparent simultaneous manner. For example, a user can
`execute a spread sheet application, a graphics application
`and a phone application at the same time.
`Each object has a user interface displayed to a user on a
`computer screen. User interfaces for speci?c applications on
`a computer system present themselves on a computer screen
`as a WindoW, a full screen session, an icon or plural
`combinations thereof. When a full screen session object is
`selected, the user interface takes up the entire screen and
`may prompt the user With a command line. When an object
`is displayed as a WindoW, the WindoW typically takes up only
`a portion of the screen, so that other objects may be seen.
`A user input is provided to an object through a focused
`WindoW or full screen session only one object can be focused
`(or otherWise made accessible to a user) at any one time. If
`an object is not focused, it is not enabled for receiving a user
`input. Unfocused objects may or may not be obscured from
`the vieW of the user by the focused object. For example, if
`the focused object is represented by a full screen session,
`then all unfocused objects are obscured from vieW. If the
`focused object is represented by a WindoW that takes up only
`a portion of the screen, then some objects (represented as
`either WindoWs or icons) are likely to be visible.
`The limitation that only one object can be focused for
`receiving a user input at any given time presents a problem
`in multitasking computer environments. Auser may start an
`application in one user interface and then go to another user
`interface to Work With another application. The user must
`poll the ?rst application to determine When the ?rst appli
`cation either completes or prompts for a user input.
`Alternatively, the user can simply sit at the screen, Waiting
`for the ?rst application to complete and prompt for a user
`input. For example, suppose a user begins the formatting of
`a diskette. To continue operations With the diskette, the user
`must Wait for the formatting to be completed. While
`formatting, the user begins to use other applications. While
`using these other applications, a convenient method is
`needed to indicate the completion of the formatting of the
`diskette.
`In general, a convenient method is needed to indicate to
`the user that either a speci?c asynchronously executing task
`is complete or that a prompt for user input has been
`provided.
`
`25
`
`35
`
`45
`
`55
`
`SUMMARY OF THE INVENTION
`It is therefore an object of the present invention to provide
`a method and apparatus for providing noti?cation to a user
`of an object prompt mode, regardless of the activity that the
`user is engaging in.
`
`65
`
`2
`It is another object of the present invention to provide a
`method and apparatus for providing noti?cation to a user of
`termination of an asynchronously executing task.
`The present invention provides a method and apparatus
`for providing noti?cation of availability of an object on a
`multitasking computer. A ?rst object is executed. While the
`?rst object is executing, a second object is enabled for
`receiving a user input on a user interface of the computer. It
`is then determined When the ?rst object becomes accessible.
`Becoming accessible implies either the availability for enter
`ing input to a task or session or the termination of an
`asynchronously executing task. When the ?rst object
`becomes accessible, a noti?cation is provided on the user
`interface.
`The present invention provides automatic noti?cation to a
`user of When an object becomes accessible. Thus, a user can
`execute a ?rst object on a computer. The user need not Wait
`for the object to ?nish executing. Instead, the user can turn
`to other tasks, such as interfacing With the second object.
`While interfacing With the second object, the user need not
`return to the ?rst object to check on the progress of its
`execution. With the present invention, a buoy icon object is
`automatically displayed on the screen When the ?rst object
`becomes accessible or otherWise ceases execution.
`In accordance With one aspect of the present invention,
`the determination of When the ?rst object becomes acces
`sible further includes the determination of When the ?rst
`object provides a prompt for a user input.
`In another aspect of the present invention, the determi
`nation of When the ?rst object becomes accessible further
`includes the determination of When an asynchronously
`executing task terminates.
`In accordance With still another aspect of the present
`invention, the provision of a noti?cation on the user inter
`face When the ?rst object becomes accessible further
`includes displaying a buoy icon on a screen. In addition to
`the buoy icon, a name of the ?rst object can be displayed in
`proximity to the buoy icon. Also, a line or other visual
`indicator betWeen the buoy icon and the ?rst object can be
`displayed on the screen.
`In accordance With another aspect of the present
`invention, the computer contains plural objects Which
`include ?rst and second objects. The present invention
`alloWs enabling the noti?cation for selected ones of the
`objects. In still another aspect of the present invention, the
`noti?cation can be disabled for selected ones of said objects.
`In still another aspect of the present invention, the noti
`?cation can be removed from the user interface after the
`noti?cation has been displayed.
`In still another aspect of the present invention, after the
`noti?cation has been displayed, the noti?cation is selected.
`Then, the associated object is focused on the user interface,
`Wherein user input can be provided to the neWly focused
`object.
`In still another aspect of the present invention, the com
`puter includes a third object, and the noti?cation is a ?rst
`noti?cation. The third object is executed. A determination is
`made When the third object becomes accessible. A second
`noti?cation is displayed on the user interface When the third
`object becomes accessible. The second noti?cation is
`removed from the user interface While maintaining the ?rst
`noti?cation on the user interface. Alternatively, instead of
`removing the second noti?cation from the user interface, the
`second noti?cation can be selected, Wherein the third object
`is focused on a user interface While maintaining the ?rst
`noti?cation on the user interface.
`
`IPR2017-01828
`Ubisoft EX1001 Page 13
`
`

`

`US 6,489,974 B1
`
`3
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a schematic diagram of a data processing system
`on Which the present invention can be practiced.
`FIG. 2 is a schematic vieW of a screen showing a desktop
`With a buoy icon of the present invention, in accordance With
`a preferred embodiment, displayed thereon.
`FIG. 3 is a schematic vieW of the screen and desktop of
`FIG. 2, shoWn after the buoy icon has been selected, Wherein
`the object linked to the buoy icon has been focused.
`FIG. 4 is a schematic vieW of a screen shoWing a full
`screen session With a buoy icon displayed thereon.
`FIG. 5 is a schematic vieW of a screen shoWing a desktop
`With a plurality of buoy icons displayed thereon.
`FIGS. 6—11 are How charts shoWing various methods.
`FIG. 6 shoWs the method for enabling buoy icon noti?cation
`for an object. FIG. 7 shoWs the method for registering and
`tracking active objects. FIG. 8 is the method for displaying
`a buoy icon for an accessibled object. FIG. 9 is the method
`for removing a buoy icon from the screen. FIG. 10 is the
`method for selecting a buoy icon and providing focus to its
`associated object. FIG. 11 is the method for disabling buoy
`icon noti?cation for an object.
`FIGS. 12—14 are schematic vieWs of tables utiliZed by the
`present invention. FIG. 12 is a table of those objects cur
`rently being executed. FIG. 13 is a table of those objects for
`Which a buoy icon noti?cation has been enabled. FIG. 14 is
`a table of those objects for Which a buoy icon has been
`displayed.
`DESCRIPTION OF THE INVENTION
`In FIG. 1, there is shoWn a schematic diagram of a data
`processing system 11 or computer, upon Which the present
`invention can be practiced. The computer 11 includes a user
`interface, Which has a display screen 17 and a keyboard 19.
`Other input devices may also be provided, such as a mouse
`21, a touch screen and a microphone for voice input. Each
`computer 11 may also be coupled to a printer 23 or other
`output device. The computer 11 typically includes a hard
`disk drive and ?oppy disk drive storage devices.
`The computer 11 also has internal memory in the form of
`Random Access Memory
`The RAM memory stores
`resource objects for execution and access by a Central
`Processing Unit (CPU) located Within the computer. One
`such resource object is the method of the present invention
`shoWn by the How charts. Another such resource object is an
`operating system. The computer 11 utiliZes an operating
`system that provides multitasking capabilities. One such
`operating system is OS/2, Which is available from IBM.
`(Both OS/2 and IBM are trademarks of International Busi
`ness Machines Corporation.)
`In FIG. 2, there is shoWn a desktop display 25 on the
`screen 17. The desktop 25 contains plural icons representing
`plural objects. For example, there is a ?le cabinet icon 27,
`a printer icon 29, a phone icon 31, etc. None of the objects
`represented by icons can receive a user input, as they are not
`focused (or enabled to receive a user input). Afocused object
`presents either a WindoW 33 displayed in the foreground of
`the desktop (as shoWn in FIG. 2) or a full screen session 34
`displayed in full on the screen (as shoWn in FIG. 4). In FIG.
`2, the focused object 33 is named “OS/2 WindoW” and is
`enabled to receive user inputs. Thus, the user can type in
`data, use a mouse cursor or use some other input device to
`input data or other information to the “OS/2 WindoW” object
`33.
`To illustrate the buoy icon noti?cation of the present
`invention, suppose that the user has enabled the present
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`4
`invention to provide noti?cation of When the phone object
`31 is available for user input. For example, suppose that the
`user had earlier been interacting With the phone object 31
`before interacting With the “OS/2 WindoW” object 33. While
`interacting With the phone object 31 (through a focused
`WindoW), the user reached a step Where the phone object
`executed a task such as sending a fax transmission, causing
`the user to Wait. Instead of remaining With the phone object
`While Waiting, the user enabled the present invention and
`focused the “OS/2 WindoW” object 33. Thus, the user is able
`to accomplish some Work With the object 33 While Waiting
`for the phone object 31 to execute.
`When the execution of the phone object 31 reaches a step
`Where a user input is required for further execution, then the
`present invention causes a buoy icon 35 to be displayed on
`the desktop 25. Those skilled in the art recogniZe various
`algorithms may be used to determine a best placement of the
`buoy icon Without departing from the spirit and scope of the
`present invention. The preferred embodiment of the buoy
`icon is analogous to a maritime buoy used as an aid to ship
`navigation. Just as a maritime buoy provides information
`that is useful for maritime navigation, the buoy icon 35 of
`the present invention provides information that is useful for
`navigation among computer user interfaces. Those skilled in
`the art recogniZe that alternative buoy representations can be
`utiliZed Without departing from the spirit and scope of the
`present invention. The buoy icon 35 indicates When a
`speci?ed object is available for user input. Thus, the user
`need not Wait for an object to execute or sWitch back and
`forth betWeen focused objects checking on the status of the
`object in interest.
`The preferred buoy icon 35 has a ?oat 37, a mast 39 and
`a ?ag 41 so as to resemble a maritime buoy. The buoy icon
`35 speci?es the associated object by either appearing With
`the object’s name (such as “PHONE”), or appearing With a
`line (or other visual indicator) 45 connecting the buoy icon
`35 to the object 31 or both (as shoWn in FIG. 2).
`The user’s attention Will generally be draWn to the buoy
`icon upon the sudden appearance of the icon 35 on the
`desktop 25. HoWever, other means for attracting the atten
`tion of the user could be utiliZed. For example, the buoy icon
`can beep (using a speaker in the computer), pulse to alternate
`betWeen larger and smaller siZes, change colors, etc.
`Once the buoy icon appears, the user can pursue several
`alternatives. First, the user can ignore the buoy icon and
`continue utiliZing the focused object 33. The appearance of
`the buoy icon does not change the input enabled status of the
`currently focused object.
`Second, the user can select the buoy icon, Wherein the
`speci?ed object associated With the buoy icon is immedi
`ately focused. This is shoWn in FIG. 3, Wherein the user has
`selected the buoy icon, and the WindoW 32 for the phone
`object 31 has focused. Thus, the phone object is enabled to
`receive user input. The “OS/2 WindoW” object 33 is rel
`egated to the background and is no longer enabled to receive
`user input. The buoy icon has disappeared from the screen
`in FIG. 3.
`The third option available to the user is that the user can
`dismiss the buoy icon, causing the icon to disappear, While
`maintaining the status quo among the objects. Thus, the
`currently focused object (for example the “OS/2 WindoW”
`object 33) remains focused, and the phone object 31 remains
`as an icon in the background.
`When a buoy icon is displayed, it generally appears
`outside of the focused object, unless there is insuf?cient
`space available. This is to minimiZe the possibility of
`
`IPR2017-01828
`Ubisoft EX1001 Page 14
`
`

`

`US 6,489,974 B1
`
`10
`
`15
`
`5
`creating a nuisance With the buoy icon popping up in the
`same area as the user is Working. For example, in FIG. 4, a
`full screen session 34 is shoWn. The buoy icon 35A is
`displayed on the full screen session 34, as there is insuf?
`cient space for the buoy icon to be displayed off of the full
`screen session 34. In this situation, the buoy icon 35A is
`displayed near an edge of the screen 17 With prevention of
`overlaying displayed matter or With minimal prevention
`thereof.
`There may arise a situation Where more than one object
`produces a buoy icon. In this situation, shoWn in FIG. 5,
`there are plural buoy icons 35, 35A, and 35B displayed. A
`buoy icon is displayed for each object that is ready for a user
`input. When one buoy icon is selected, the others remain
`displayed until selected or removed.
`Referring noW to FIGS. 6—11, the How charts of the
`present invention Will be described. In the How charts, the
`folloWing graphical conventions are observed: a rectangle is
`used to illustrate either a process, function or screen display,
`and a diamond is used to illustrate a decision. These con
`ventions are Well understood by programmers skilled in the
`art of user interfaces, and the How charts are suf?cient to
`enable a programmer skilled in the art to Write code in any
`suitable computer programming language, such as PASCAL
`25
`or C for a computer such as the IBM Personal System/2
`(PS/2) family of computers Which supports these languages.
`(Personal System/2 is a trademark of International Business
`Machines Corporation.)
`The How charts Will ?rst be described generally, folloWed
`by a more speci?c discussion of the steps. In general, for a
`buoy icon to appear for an object, the object is enabled for
`buoy icon noti?cation, and the status of the object changes
`from active to idle. Auser enables the buoy icon noti?cation
`of the present invention on an object-by-object basis.
`Examples of idled objects include an object that has com
`pleted a speci?c asynchronously executing task and an
`object that has provided a prompt for user input. The How
`chart of FIG. 6 illustrates the enablement method. When an
`object is enabled for buoy icon noti?cation, a handle 68 of
`the object is placed into a Buoy Enabled Table, shoWn in
`FIG. 13. When an object executes, the handle 68 of the
`object is placed into an Active Thread Table, shoWn in FIG.
`12. The How chart of FIG. 7 illustrates this. When the active
`object becomes idle, then the method illustrated by the How
`chart of FIG. 8 is executed. The method of FIG. 8 determines
`if the idled object is in both the Buoy Enabled Table of FIG.
`13 and the Active Thread Table of FIG. 12. If so, then a buoy
`icon for the idled object is displayed as shoWn in FIG. 2. The
`handle 68 for the object is placed into the Buoy Presence
`Table of FIG. 14.
`After the buoy icon has been displayed on the screen, the
`method illustrated by the How chart of FIG. 9 alloWs a user
`to remove the buoy icon from the screen.
`The method illustrated by the How chart of FIG. 10 alloWs
`a user to focus the object speci?ed by the buoy icon. The
`method of FIG. 10 utiliZes the Buoy Presence Table of FIG.
`14.
`The method illustrated by the How chart of FIG. 11 alloWs
`a user to disable the buoy icon noti?cation for an object.
`Referring noW to FIG. 6, the method for enabling the buoy
`icon noti?cation for an object Will be discussed. The user
`focuses the object of interest, Wherein the object is brought
`into focus. For example, referring to FIG. 2, the user focuses
`the phone icon 31 using the mouse cursor, keyboard or other
`input device. The object may be focused either as a WindoW
`or as a full screen session. Once the object is focused, then
`
`55
`
`65
`
`6
`the user executes the method of FIG. 6, starting at step 51.
`The method is executed, for example, With a keyboard
`invocation sequence, a voice command, a pull doWn menu
`on the object WindoW, etc. After step 51, the method
`provides an entry Fi 70 for the object in the Buoy Enabled
`Table of FIG. 13. Each entry Fi 70 of the Buoy Enabled
`Table has tWo parameters or ?elds, namely a handle 68 and
`an object type 69. The values of the tWo parameters depend
`on Whether the object is a full screen session or a WindoW.
`Therefore, in step 53 of FIG. 6, the method determines if the
`object is a full screen session. This is determined from the
`title bar text and class (or some other unique attribute) of the
`object. If the result of step 53 is YES, then in step 55, the
`Buoy Enabled Table entry handle 68 is set to the reference
`of the screen session group associated With the object. The
`screen session group is a set of resources (such as
`peripherals) attached to a session and is a unique reference
`for identifying the particular full screen session. In step 57,
`the Buoy Enabled Table object type 69 is set to full screen
`session. The object type may be a constant Which is repre
`sentative of a full screen session. After step 57, the method
`proceeds to step 63.
`If the result of step 53 is NO, then the object has a WindoW
`(or panel) for a user interface, and the method proceeds to
`step 59. In step 59, the Buoy Enabled Table entry handle 68
`is set to the title bar text and classi?cation pair of the
`WindoW. The title bar text and classi?cation as a pair is a
`unique identi?er of the particular object WindoW. Various
`embodiments may utiliZe other unique identifying informa
`tion as appropriate to the computer system. In step 61, the
`Buoy Enabled Table entry object type 69 is set to panel (or
`WindoW). The object type may be a constant that is different
`from the full screen session constant. After step 61, the
`method proceeds to step 63.
`In step 63, the method determines if the entry is already
`in the Buoy Enabled Table of FIG. 13. If the result of step
`63 is NO, then in step 65, the entry is placed into the Buoy
`Enabled Table. The method then stops, step 67. If the result
`of step 63 is YES, then step 65 is bypassed, and the method
`proceeds directly to step 67 to stop. Thus, the presence of an
`entry in the Buoy Enabled Table (FIG. 13) implies the user
`requested buoy icon noti?cation.
`Referring noW to FIG. 7, the method for registering an
`executing object Will be discussed. Information on an
`executing object is placed in the Active Thread Table of FIG.
`12. The Active Thread Table provides a correlation betWeen
`buoy icon noti?cation information and executing object
`information. The method of FIG. 7 is executed When an
`object is executed, step 71. The object is executed When a
`thread (Which is a How of execution in a multitasking
`computer) of the object executes as a result of a user input
`in the user interface for the object. For example, the user
`could press the ENTER key to cause the object to execute.
`After step 71, the method provides an entry E 72 for the
`object in the Active Thread Table of FIG. 12. Each entry E,
`72 of the Active Thread Table has the folloWing parameters
`or ?elds: a handle 68, an object type 69, a process identi
`?cation 87 (PID) and a thread identi?cation 89 (TID). The
`values for the handle and the object type depend on Whether
`the object is a full screen session or a WindoW as heretofore
`described. Therefore, in step 73 of FIG. 7, the method
`determines if the object is a full screen session. If the result
`of step 73 is YES, then the method proceeds to step 75. In
`step 75, the Active Thread Table entry handle 68 is set to the
`session screen group associated With the object, much like in
`step 55 of FIG. 6. Thereafter, in step 77, the Active Thread
`Table entry object type 69 is set to full screen session, much
`like in step 57 of FIG. 6. After step 77, the method proceeds
`to step 83.
`
`IPR2017-01828
`Ubisoft EX1001 Page 15
`
`

`

`US 6,489,974 B1
`
`7
`If the result of step 73 is NO, then the object being
`executed has a WindoW for a user interface, and the method
`proceeds to step 79. In step 79, the active Thread Table entry
`handle 68 is set to the title bar text and classi?cation pair,
`like in step 59 of FIG. 6. Thereafter, in step 81, the Active
`Thread Table entry object type 69 is set to panel, like in step
`61 of FIG. 6. After step 81, the method proceeds to step 83.
`In step 83, the method sets the PID ?eld 87 and TID ?eld
`89 of the Active Thread Entry. The PID and the TID are
`unique handles assigned to an object during the execution of
`the object by the computer operating system. The PID and
`the TID are obtained from the operating system. Thereafter,
`in step 85, the method stops.
`Referring noW to FIG. 8, the method of displaying the
`buoy icon Will be discussed. The method of FIG. 8 executes
`Whenever a thread in the computer system becomes idle or
`blocked, step 91. In one type of operating system (namely
`OS/2), a thread is blocked When it is no longer able to
`execute. A blocked thread is thus idle. A common example
`of a thread becoming idle occurs Whenever a thread execu
`tion ends. The execution of the thread stops until a user input
`is provided. Thereafter, in step 93, the method determines if
`the idled thread has an entry in the Active Thread Table of
`FIG. 12. This is done by comparing the PID and TID of the
`idled thread With the PID 87 and TID 89 of each entry E 72
`in the Active Thread Table. If no match is found, then the
`result of step 93 is NO, and the method proceeds to step 109
`to stop. If a match is found, then the result of step 93 is YES,
`and the method proceeds to step 95. In step 95, the entry for
`the idled object is stored in memory and then removed from
`the Active Thread Table of FIG. 12.
`Thereafter, in step 97, the method determines if an entry
`F, 70 for the idled object is in the Buoy Enabled Table of
`FIG. 13. This is done by comparing the handle 68 obtained
`from the Active Thread Table of FIG. 12 to the entry handles
`of the Buoy Enabled Table. If the result of step 97 is NO,
`then it is determined that buoy icon noti?cation for that
`object has not been enabled, and the method stops, step 109.
`If the result of step 97 is YES, then it is determined that buoy
`icon noti?cation for that object has been enabled, and the
`method proceeds to step 99. In step 99, the method deter
`mines if the idled object is a full screen session. This is
`determined from the object type 69 found in the Buoy
`Enabled Table entry Fi 70. If the object is a full screen
`session, then the result of step 99 is YES, and the method
`proceeds to step 101.
`In step 101, the method determines if the full screen
`session of the idled object is in focus on the screen. This is
`determined by a call to the presentation manager of the
`operating system. The presentation manager returns the
`handle of the object that is in focus. If the result of step 101
`is YES, then the object ful

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