`
`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