`
`
`
`U.S. Patent
`
`Sep. 6, 1994
`
`Sheet 1 of 13
`
`5,345,550
`
`!!!!!!!?ii
`I} '
`.|‘.}::.|
`
`Page 00002
`
`
`Page 00002
`
`
`
`U.S. Patent
`
`Sep. 6, 1994
`
`Sheet 2 of 13
`
`5,345,550
`
`I’I
`
`—-nu—-—-—-——-o-—-----I-———--ag--———————---—-—--un----——---------n
`
`:
`
`
`._uEnuao2.__wE\«N«am».
`I‘Racers.31|‘
`
`
`flllllilllllllalll.J::.IIIII
`
`
`HIIIIIlllall5....Ill-23-2unfluuu
`..no_o._Eoomm...I..._w
`
`
`
`32.Inca::25._II.I23oaO:.vmnanE33?.36.
`
`.“"I
`
`_o:coo
`
`IIIIIIIIIIII.II..
`
`SaunaE2Efiauu._oE¢uan.9In
`
`
`
`
`_o:Ean\nm.o...n_.%oozoxflu>u.a¢_ummWmfimnu.
`
`
`
`3
`
`33~5IS2
`
`2.2....E
`
`35:00
`
`mm.¢oEoE
`oiJae.nu._._o:o.:coo
`
`Saw>..oEoE.
`
`
`
`
`
`IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII!IllIIIIIIIIIIIIIII-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJ
`
`.5...E3@._O»u3#VIIIIImu‘22,.2.0:
`..2_.._:.a
`
`_.._..,~..m.E:z311-Sm.o......u......
`
`X39:
`
`30.3.0.
`
`3:9:l_u.::oo
`
`mfi
`
`I.I
`
`I
`
`“llNEU
`
`.._::oo__v
`
`L-—--—--_--—_----_--------____—-------—-——----_---_——---—---------------
`
`aP
`
`8
`
`30000C
`
`IIIII
`
`I
`
`IIIII
`
`I3
`
`II
`
`I’:
`
`IIIII
`
`._2oo:coom<~32tea:2.
`
`N.5
`
`IIIIIIINIIII!1..I“Z
`
`————-—___
`
`
`
`3:00Suooooi
`
`9.25EZ.5.53rIII..IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII6300
`
`.o:o:coo
`
`%I
`
`N
`
`
`Page 00003
`
`
`
`
`
`
`
`
`
`
`U.S.Patent
`
`Esta«Bo
`
`Jflmwzfi:_%..m..mvibe
`
`32>coo...::.wE»?wHm: vo_
`
`_..3e.3.
`
`3_\E2_@_<
`»=.:_oO3.2-...3.003.2:;:3;8:
`
`
`.26!.320£810
`
`
`
`>>.w_>:00.0$3.00..Flu.
`
`Sep.6,1994
`
`2:
`
`~33:
`
`503:2
`
`®:f::
`
`o=LJ.-D
`
`E
`
`:1:Ex25
`
`:2.05:30!EsnowE:.3._8E.E
`
`Sheet3of13
`
`u3u.aEo._.
`
`3.
`
`sOu:_..l
`
`fix_E.
`
`.1;
`
`NZ
`
`5,345,550
`
`3332a
`
`Page 00004
`
`
`Page 00004
`
`
`
`U.S. Patent
`
`S0p. 6, 1994
`
`Sheet 4 of 13
`
`5,345,550
`
`E My Favorite Disk Drives -
`
`(Drlvo C-100 MB)
`
`Magnet: Tape
`(am. 0-20 on)
`
`-
`
`FIDPPY Dlskollo
`(Drive A-1.44 MB)
`
`Hard Disk
`
`1 7 0
`
`Fig. 4
`
`Page 00005
`
`
`
`I70
`
`
`
`
`————¥
`
`Magnum: Tape
`(Drive D-20 OI)
`
`EEE3
`Floppy Dlskoflo
`(Drive A-1.44 MB)
`
`
`
`
`Hard Disk
`
`(Drive C-100 MB)
`
`
`
`Page 00005
`
`
`
`US. Patent
`
`Sep. 6, 1994
`
`sheet‘ 5 of 13
`
`5,345,550
`
`I76
`
` EES
`My ante isk
`ves - Icon View
`
`
`
`Ultlltln
`
`Hard Disk
`(Drive c-100 MB)
`
`Backup to Mag. Tape »
`
`Page 00006
`
`
`Page 00006
`
`
`
`U.S. Patent
`
`Sep. 6, 1994
`
`Sheet 6 of 13
`
`5,345,550
`
`[EJ173
`
`Backup to Meg. Tape
`
` 176
`
` Megnetlc Tape
`
`(Drive D-20 GB)
`
`
`
`
`
`
`EEE9
`Floppy Diskette
`(Drive A-1.44 MB)
`
`
`
`
`Hard Disk
`
`(Drive C-160 MB)
`
`Page 00007
`
`
`
`
`Page 00007
`
`
`
`U.S. Patent
`
`Sep. 6, .1994
`
`Sheet 7 of 13
`
`5,345,550
`
`I78
`
`Backup to Man. Tape
`
`I76
`
`
`
`
`i check msk
`- My Favoriié Disk Drives — Icon View
`
`
`
`3 Magnetic Taps
`
`(DHVO D-20 GB)
`
` 172
`
`
`
`
` --
`
`Floppy Diskette
`(Olive A-1.44 M8)
`
`.
`
`rltlllll
`
`Hard Disk
`(Drive C-100 MB)
`
`170
`
`Page 00008
`
`
`Page 00008
`
`
`
`U.S. Patent
`
`Sep. 6, 1994
`
`Sheet 8 of 13
`
`5,345,550
`
`«Pnmary pop up me
`
`Backup in May. Tlpo
`-Jl78
`
` 170
`
`Mngnollc Tape
`
`(Drive D~20 OB)
`
`Page 00009
`
`
`
`
`
`Floppy Diskollo
`(Dflvo A-1 .44 MB)
`
`_
`Hard Disk
`(Drive C-100 MB)
`
`
`
`
`
`M
`
`
`Page 00009
`
`
`
`U.S. Patent
`
`Sep. 6, 1994
`
`Sheet 9 of 13
`
`5,345,550
`
`178
`Backup In May. Tips
`
`175
`
`Rotten {tom Mug. Tnpo
`
`
`
`
`Primary pop-up man .5.
`
`5; "Open
`.5 Disk utilities
`
` Efl
`
`2.
`
`.
`
`i
`
`53
`
`
`
`
` SE
`
`
`iii!
`gs; My Favorite Disk Drives - Icon View
`9
`
`
`
`Magnetic Tape
`(Drive 0-20 03)
`
`Page 00010
`
`utter’:
`
`
`Hurd Disk
`(Drive C-100 MB)
`
`
`
`170
`
`
`Page 00010
`
`
`
`4...Hef.3P3U
`
`Sep. 6, 1994
`
`Sheet 10 of 13
`
`5,345,550
`
`3:
`
`2:
`
`SN
`
`»o<m»wm<
`
`I:
`
`
`
`3.5
`
`ENEN
`
`2;
`
`wm._E<55
`
`_2(m0OEn_
`
`
`
`A30.o_nm§ooxov
`
`>mo.5mm_o
`
`aP
`
`8
`
`11000C
`
`
`Page 00011
`
`
`
`
`U.S. Patent
`
`Sep. 6, 1994
`
`Sheet 11 of 13
`
`5,345,550
`
`238
`
`YES
`
`ANYREMOVALS
`SPECIFHD BY
`USER?
`
`N0
`
`owENRP
`
`RU.
`
`NYI
`
`OSP
`
`UFE
`
`SON
`
`ERU
`
`PLACElN
`INTERIMLIST
`
`RETRIEVE NEXT
`LOWERLEVEL
`
`Page 00012
`
`
`Page 00012
`
`
`
`
`
`
`
`0SU.
`
`tH8tP.
`
`D..eS
`
`916:
`
`SEVI.
`
`R
`
`0Gr'RN
`
`mumvTUD4NE9E
`
`31f021te8LuS
`
`5,345,550
`
`SPECIFY
`ACTION
`
`254
`
`256
`
`Page00013
`
`
`Page 00013
`
`
`
`
`U.S. Patent
`
`Sep. 6, 1994
`
`Sheet 13 of 13
`
`5,345,550
`
`8 0
`
`CREATE
`ANOTHER MENU
`SELECIED
`?
`
`spccnrv
`SETIINGS
`
`2 8 2
`
`2 8 4
`
`Page00014
`
`
`Page 00014
`
`
`
`
`
`
`1
`
`USER-MODIFIABLE POPUP MENUS FOR
`OBJECI‘ ORIENTED BEHAVIOR
`
`BACKGROUND OF THE INVENTION
`
`1. Cross-Reference to Related Applications
`The present patent application is one of a group of
`copending applications which concern the same overall
`personal computer system but which individually claim
`different inventive concepts embodied in such personal
`computer system. These related patent applications are
`specifically incorporated by reference herein, and are
`more particularly described as follows:
`entitled
`(1) Application Ser. No.
`07/854,171,
`“Method for Providing Conditional Cascading in a
`Computer System”, having Attorney Docket
`Number of BC9-92-046,
`the inventors being
`Bloomfield et a1.;
`entitled
`(2) Application Ser. No. 07/854,257,
`“Method for Providing Size Adjustment for a
`Maximized Window in a Computer System Graph-
`ical User Interface”, having Attomey’s Docket
`Number of BC9-92-048, the inventor being Bloom-
`field;
`(3) Application Ser. No. 07/855,369, entitled “Palette
`Manager In A Graphical User Interface Computer
`System” having Attorney’s Docket Number of
`BC9-92-O44, the inventors being Bloomfield et a1.;
`(4) Application Ser. No. 07/996,223 entitled “Method
`Of Generating A Hierarchical Window List In A
`Graphical User
`Interface” having Attorney’s
`Docket Number of BC9-92-149,
`the inventors
`being Bloomfield et al.;
`entitled
`07/996,422,
`(5) Application Ser. No.
`“Method Of Transferring Programs From Action
`Oriented GUI Paradigm To Object Oriented GUI
`Paradigm” having Attomey’s Docket Number of
`BC9-92-150, the inventor being Bloomfield;
`(6) Application Ser. No. 07/993,875, entitled “Appa- J
`ratus And Method For Manipulating An Object In
`A Computer System Graphical User Interface”
`having Attomey’s Docket Number of BC9-92-153,
`the inventors being Bloomfield et a1.; and
`entitled
`(7) Application Ser. No.
`07/855,366,
`“Method For Providing A Readily Distinguishable
`Template And Means Of Duplication Thereof In A
`Computer System Graphical User Interface” filed
`Mar. 20, 1992, the inventors being Bloomfield et al.
`TECHNICAL FIELD
`
`This invention relates to personal computer systems
`and in particular to a method and device for improving
`a graphical user interface (GUI) on a personal computer
`system.
`
`DESCRIPTION OF THE RELATED ART
`
`Personal computer systems in general and IBM per-
`sonal computers in particular have attained widespread
`use in contemporary society. Personal computer sys-
`tems can usually be defined as a desktop, floor standing,
`or portable microcomputer that consists of a system unit
`having a single system processor, a display monitor, a
`keyboard, one or more diskette drives, a fixed disk stor-
`age, and an optional printer. One of the distinguishing
`characteristics of these systems is the use of a mother-
`board or system planar to electrically connect these
`components together. These systems are designed pri-
`marily to give independent computing power to a single
`
`5,345,550
`
`2
`user and are inexpensively priced for purchase by indi-
`viduals or small businesses.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Examples of such personal computer systems are
`IBM’s PERSONAL COMPUTER AT, IBM’s PER-
`SONAL SYSTEM/2 Models 25, 30, 35, 40 SX, 55 SX,
`57 SX, 70, 80, 90 and 95, and IBM PERSONAL SYS-
`TEM/1 computers. These systems can be classified into
`two general families. The first family, usually referred
`to as Family I Models, use a bus architecture exempli-
`fied by the IBM PERSONAL COMPUTER AT and
`other “IBM compatible” machines. The second family,
`referred to as Family II Models, use IBM’s MICRO
`CHANNEL bus architecture exemplified by IBM’s
`PERSONAL SYSTEM/2 Models 55 SX through 95.
`Beginning with the earliest personal computer system
`of the Family I models, such as the IBM Personal Com-
`puter,
`it was recognized that the operating system
`would be of utmost importance. Realizing that market
`acceptance was a primary goal, IBM chose a rather
`simple text oriented operating system which was suited
`for the level of hardware technology of the time. The
`operating system chosen was named DOS which is the
`acronym for disk operating system. The limited objec-
`tives for DOS at the time were non-cryptic commands,
`English language error messages (instead of error
`codes, small memory size (12 Kbyte) and reasonable
`performance. DOS served well for the Family I ma-
`chines and even into the basic Family II models, but as
`memory and hardware prices declined and performance
`increased a more user friendly intuitive operating sys-
`tem became possible. Beginning in 1986, IBM started
`development of a graphical user interface (GUI) de-
`signed to mask the complexity of the hardware technol-
`ogy advances and present to the user an intuitive, flexi-
`ble, and easy-to-use system. This operating system was
`named OS/2 and was developed for the more advanced
`technology of the Family II models.
`Additionally, other manufactures have investigated
`and used other types of GUI systems. One of the earliest
`in the personal computing area was Xerox’s STAR
`system that presented the user with icons representing a
`particular operation or software application. Later,
`APPLE’s Macintosh system added features such as
`windows and drag and drop to further the intuitive
`nature of the graphical user interface for APPLE’s line
`of computers. Presently, MICROSOFT’s WINDOWS
`provides a graphical user interface on IBM compatible
`machines.
`
`With GUI systems, the computer system is controlled
`using a pointing device such as a mouse. The pointing
`device controls the location of a pointer that appears on
`the screen of the computer’s display device. Elements
`on the screen such as icons, which are graphical repre-
`sentations of various modules such as disk drives, appli-
`cations and documents, or windows, which are rectan-
`gular areas on the screen in which applications or docu-
`ments can be viewed, may be manipulated using the
`mouse. In this way, the underlying devices which the
`elements represent may be controlled.
`As GUI systems developed, producing the underly-
`ing elements such as windows and icons has become
`well known. In fact, publicly available tools such as
`icon and window editors are now available to actually
`create the visual display. For example, Conklin, OS/2
`Notebook, (Microsoft Press, 1990) pp. 159-255 dis-
`cusses OS/2 software tools.
`
`Page 00015
`
`
`Page 00015
`
`
`
`5,345,550
`
`4
`applications for presentation within the new presenta-
`tion scheme. Such a system should be an aid to ease of
`use, training and productivity.
`
`5
`
`3
`As new models of the personal computer family were
`introduced, OS/2 has been updated and enhanced. One
`of the major features of the OS/2 Version 2.0 operating
`system in which the present invention is incorporated is
`a workplace shell featuring a desktop metaphor. Briefly,
`the desktop metaphor presents the user with the look of
`a desktop. Devices such as a modem or printer are
`represented by icons. Computer files can appear as
`icons grouped together into folders. Folders can be
`placed into a predefined space such as a window. Appli- 10
`cation programs appear as unique icons that can be
`activated when a pointer, positioned by the movement
`of a mouse over the icon, is energized usually by double
`clicking one of the mouse buttons.
`'
`Applications are the programs that apply to the com- 15
`puter user’s work, such as inventory control or docu-
`ment authorship. They are implemented through exe-
`cutable files (distinguished here from data files). Appli-
`cations are represented to a user by the graphical user
`interface organized by folders. Applications represent 20
`actions to be taken with respect to something else. For
`example, a word processing program is a tool for edit-
`ing a data file which contains a document. The applica-
`tion permits the user to open the document and change
`its contents, but the application is itself something of an
`abstraction. It would be more intuitive simply to open
`the document, Representing applications in the desk top
`metaphor makes the interface action oriented as op-
`posed to an object oriented user interface. Introducing
`action oriented user interface aspects to the desktop
`metaphor is somewhat inconsistent with that metaphor.
`An office worker typically is interested in the things
`made using applications, not in the applications them-
`selves. Thus practical problems confront a user when
`aspects of the graphical user interface become action 35
`oriented. First, a user must go to a separate application
`for each new action taken on a user data file. Because of
`this, the flow of the user’s work on a user data file is
`interrupted while the user looks for applications to
`employ on the user data file and directs the computer to
`begin execution of the application. While different ap-
`plications may relate to the same user data file, defini-
`tion of groupings of applications precede creation of the
`user data file. Groupings of applications may have been
`selected to anticipate requirements of some generic data 45
`file, but are not driven by any given user data file unless
`the user takes the time to specifically tailor the applica-
`tion grouping. As a result, the tools that have applica-
`tion to a given user data file are found in an application
`grouping only as a result of happenstance or active user 50
`intervention.
`
`SUMMARY OF THE INVENTION
`
`One object of the present invention is to provide a
`method of providing a consistent object oriented graph-
`ical user interface for a computer.
`Another object of the present invention is to provide
`a method of organizing permitted actions for an object
`in a consistent and easy to use manner.
`Yet another objective of the present invention is to
`provide for ease of use of a graphical user interface.
`In accordance with one embodiment of the present
`invention, a graphical user interface for a data process-
`ing system includes a method of generating a popup
`menu of actions allowed on an object represented in the
`graphical user interface. The method includes the steps
`of interrogating extended attributes for the object and
`each elder object from to the object the eldest object
`down to and including the object itself. Interrogation
`locates default actions and suppression markers noted in
`the extended attributes. With each interrogatory step
`the method adds actions linked to the object or to an
`elder object by another application and removes actions
`identified by suppression markers by another applica-
`tion from an interim list. After interrogation of the lay-
`ers for modifications from other applications,
`the
`method provides for determining if any user defined
`actions and suppression markers are present for the
`object. If yes, the user defined actions are added to the
`interim list and actions matched by the suppression
`markers are removed from the interim list. A popup
`menu is then generated from the interim list.
`User modification of a popup menu is provided
`through an editor to extended attributes fields for ob-
`jects stored on a storage medium. The editor allows
`user selection of one of a plurality of editing functions
`including creation of a new action, change of an existing
`action and removal of an existing action for an object.
`Responsive to selection of the step of creating a new
`action the user is further prompted to define the action
`and to name the action. Extended attributes are then
`stored for the object identifying the new action. Re-
`sponsive to selection of the step of changing an action
`permitted an object, the user may select a new name. If
`the action is user created the user is allowed to change
`the action and the result is stored over the old action as
`extended attributes. If the action was not user defined, a
`marker is stored as extended attributes so that the
`changed nameis recovered at time of request for the
`popup menu. Finally, if removal of an action is re-
`quested, the method first determines if the action was
`user defined. If yes, the action may be erased from ex-
`tended attributes. If no, a suppression marker is listed in
`the extended attributes field to suppress (or delete) lis-
`ting of the action in the interim list. Submenus may be
`included and treated as actions in any popup menu.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The foreground aspects and other features of the
`present invention are explained in the following written
`description, taken in connection with the accompanying
`drawings, wherein:
`FIG. 1 shows a personal computer system in which
`the present invention can be employed;
`FIG. 2 shows a system block diagram for the personal
`computer system of FIG. 1;
`
`Page 00016
`
`25
`
`30
`
`40
`
`Authors of specific applications have partially ad-
`dressed the problem of the contemporary “mixed meta-
`phor” graphic user interfaces through application based
`pulldown and popup menus. Such menus appear on a 55
`display screen at user request and can be used to present
`a secondary set of options to the user. Vendor supplied
`menus based in the source code of an application can
`group useful actions together, but the approach is lim-
`ited. The contents of the menu are both predetermined
`and fixed by the application programmer. The contents
`of the menu carmot be modified by another application,
`particularly from a different vendor, or by the user.
`It is desirable to organize presentation of applications
`to users in a consistent manner and in a manner which 65
`provides convenient access from user data files. Such an
`arrangement must work automatically. The end user
`must however be able to reorganize his or her existing
`
`60
`
`
`Page 00016
`
`
`
`5
`FIG. 3 is a screen representation of the desktop meta-
`phor generated by a graphical user interface;
`FIG. 4 is a screen representative of a popup menu for
`an object in a graphical user interface;
`FIG. 5 is a screen representation of a popup menu
`editor for the object in an opened window;
`FIG. 6 is a screen representation of a modified popup
`menu for an object icon in a graphical user interface;
`FIG. 7 is a screen representation of a settings editor
`for an application program accessed from a graphical
`user interface;
`FIG. 8 is a screen representation of a menu item set-
`tings editor opened within a menu editor;
`FIG. 9 is a screen representation of a user modified
`popup menu for an object in a graphical user interface;
`FIG. 10 is a screen representation of a submenu lis-
`ting settings editor accessed from a graphical user inter-
`face;
`FIG. 11 is a screen representation of a user modified
`popup menu and submenu popup for an object in a
`graphical user interface;
`FIG. 12 is a graphical depiction of an hierarchy of
`objects within a computer operating system;
`FIG. 13 is a flowchart depicting the operation of the
`method of the present invention;
`FIG. 14 is a flowchart depicting the operation of the
`method of the present invention; and
`FIG. 15 is a flowchart depicting the operation of the
`method of the present invention.
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`The following detailed description is of the best pres-
`ently contemplated mode for carrying out the inven-
`tion. This description is not to be taken in a limiting
`sense but is made merely for the purpose of illustrating
`the general principles of the invention since the scope of
`the invention is best defined by the appending claims.
`
`I. Operation Of The Computer System—User’s
`Perspective
`
`Prior to relating the methodology and structure of
`the present invention, a summary of the operation in
`general of a typical personal computer system may
`merit review. Referring now to the drawings, and in
`particular to FIG. 1, there is shown a Personal Com-
`puter System 10 in which the present invention can be
`employed. As shown, the Personal Computer System
`10 comprises a number of components which are inter-
`connected together. More particularly, a system unit 12
`is coupled to and can drive an optional monitor 14 (such
`as a conventional video display). A system unit 12 can
`also be optionally coupled to input devices such as a PC
`keyboard 16 or a mouse 18. Mouse 18 includes right and
`left buttons (not shown). The left button is generally
`employed as the main selector button and is alterna-
`tively referred to as the first mouse button or mouse
`button 1. The right button is typically employed to
`select auxiliary functions as explained later. The right
`mouse button is alternatively referred to as the second
`mouse button or mouse button 2. An optional output
`device such as a printer 20 can also be connected to the
`system unit 12. Finally the system unit 12 may include
`one or more mass storage devices such as the diskette
`drive 22.
`As will be described below, the system unit 12 re-
`sponds to input devices such as the PC keyboard 16, the
`mouse 18, or local area networking interfaces. Addi-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,345,550
`
`6
`tionally, input/output devices, such as the diskette drive
`22, display 14, printer 20, and local area network com-
`munication system are connected to the system unit 12
`in a manner well known. Of course, those skilled in the
`art are aware that other conventional components can
`also be connected to the system unit 12 for interaction
`therewith. In accordance with the present invention,
`the computer system 10 includes a system processor
`that is interconnected to a random access memory
`(RAM), a read only memory (ROM), and a plurality of
`I/O devices.
`
`In normal use, the personal computer system can be
`designed to give independent computing power to a
`small group of users as a server or a single user and is
`inexpensively priced for purchase by individuals or
`small businesses. In operation,
`the system processor
`functions under an operating system, such as IBM’s
`OS/2 operating system or DOS. This type of operating
`system includes a BIOS interface between the I/O de-
`vices and the operating system. BIOS, which can be
`stored in a ROM on a motherboard or planar, includes
`diagnostic routines which are contained in a power on
`self test section referred to as POST.
`
`II. Organization of the Computer System
`
`Prior to relating the above structure to the present
`invention, a summary of the operation in general of the
`Personal Computer System 10 may merit review. Refer-
`ring to FIG. 2, there is shown a block diagram of the
`Personal Computer System 10 illustrating the various
`components of the Computer System 10 in accordance
`with the present invention. FIG. 2 further illustrates
`components of the planar 11 and the connection of the
`planar 11 to the I/O slots 46 and other hardware of the
`Personal Computer System 10. Connected to the planar
`11 is the system central processing unit (CPU) 26 com-
`prised of a microprocessor which is connected by a high
`speed CPU local bus 24 through a bus controlled timing
`unit 38 to a memory control unit 50 which is further
`connected to a volatile random access memory (RAM)
`58. While any appropriate microprocessor can be used
`for CPU 26, one suitable microprocessor is the 80386
`which is sold by Intel.
`While the present invention is described hereinafter
`with particular reference to the system block diagram
`of FIG. 2, it is to be understood at the outset of the
`description which follows, it is contemplated that the
`apparatus and methods in accordance with the present
`invention may be used with other hardware configura-
`tions of the planar board. For example, the system pro-
`cessor could be an Intel 80286 or 80486 microprocessor.
`There particular microprocessors can operate in a real
`addressing mode or a protected addressing mode. Each
`mode provides an addressing scheme for accessing dif-
`ferent areas of the microprocessor’s memory.
`Returning now to FIG. 2, the CPU local bus 24 (com-
`prising data, address and control components) provides
`for the connection of 26, an optional math coprocessor
`27, a cache controller 28, and a cache memory 30. Also
`coupled on the CPU local bus 24 is a buffer 32. The
`buffer 32 is itself connected to a slower speed (com-
`pared to the CPU local bus) system bus 34, also com-
`prising address, data and control components. The sys-
`tem bus 34 extends between the buffer 32 and a further
`buffer 36. The system bus 34 is further connected to a
`bus control and timing unit 38 and a Direct Memory
`Access (DMA) unit 40. The DMA unit 40 is comprised
`of a central arbitration unit 48 and a DMA controller
`
`Page 00017
`
`
`Page 00017
`
`
`
`5,345,550
`
`8
`application, function or file storage area which the user
`can select. For example, as seen in FIG. 3, desktop 102
`includes an OS/2 System icon 104, a Network icon 106,
`a Templates icon 108, a Printer icon 110, a Shredder
`icon 112, a Folder icon 114, another Folder icon 116
`and a Data file 118.
`
`7
`41. The buffer 36 provides an interface between the
`system bus 34 and an optional feature bus such as the
`Micro Chaxmel bus 44. Connected to the bus 44 are a
`plurality of I/O slots 46 for receiving Micro Channel
`adapter cards which may be further connected to an
`I/O device or memory. An arbitration control bus 42
`couples the DMA controller 41 and central arbitration
`unit 48 to the I/O slots 46 and diskette adapter 82. Also
`connected to system bus 34 is a memory control unit 50
`which is comprised of a memory controller 52, an ad-
`dress multiplexer 54, and a data buffer 56. The memory
`control unit 50 is further connected to a random access
`memory as represented by the RAM module 58. The
`memory controller 52 includes the logic for mapping
`addresses to and from the microprocessor 26 to particu-
`lar areas of RAM 58. While the microcomputer system
`10 is shown with a basic 1 megabyte RAM module, it is
`understood that additional memory can be intercon-
`nected as represented in FIG. 2 by the optional memory
`modules 60 through 64.
`A further buffer 66 is coupled between the system bus
`34 and a planar I/O bus 68. The planar I/O bus 68
`includes address, data, and control components respec-
`tively. Coupled along the planar bus 68 are a variety of
`I/O adapters and other peripheral components such as
`the display adapter 70 (which is used to drive an op-
`tional display 14), a clock 72, nonvolatile RAM 74
`(hereinafter referred to as NVRAM), a RS232 adapter
`76, a parallel adapter 78, a plurality of timers 80, a dis-
`kette adapter 82, a PC keyboard/mouse controller 84,
`and a read only memory (ROM) 86. The ROM 86 in-
`cludes BIOS which provides the user transparent com-
`munications between many I/O devices.
`The clock 72 is used for time of day calculations.
`NVRAM 74 is used to store system configuration data.
`That is, the NVRAM will contain values which de-
`scribe the present configuration of the system. For ex-
`ample, NVRAM contains information which describe
`the capacity of a fixed disk or diskette, the type of dis-
`play, the amount of memory, etc. Of particular impor-
`tance, NVRAM will contain data which is used to de-
`scribe the system console configuration; i.e. whether the
`PC keyboard is connected to the keyboard/mouse con-
`troller 84, a display controller is available or the ASCII
`terminal is connected to the RS232 adapter 76. Further-
`more, these data are stored in NVRAM whenever a
`special configuration program is executed. The purpose
`of the configuration program is to store values charac-
`terizing the configuration of this system to NVRAM
`which are saved when power is removed from the sys-
`tem.
`
`Connected to keyboard/mouse controller 84 are
`ports A and B. These ports are used to connect a PC
`keyboard (as opposed to an ASCII terminal) and mouse
`to the PC system. Coupled to RS232 adapter unit 76 is
`an RS232 connector. An optional ASCII terminal can
`be coupled to the system through this connector.
`
`III. OS/2 Version 2 Operating System-——Graphical
`User Interface
`
`It may be appropriate at this point to briefly review
`selected features of the OS/2 version 2.0 GUI. FIG. 3
`illustrates a typical display screen 100 which appears
`when using the OS/2 version 2.0 operating system. The
`viewing area within screen 100 is referred to as desktop
`102. Desktop 102 includes a plurality of user selectable
`icons which are conveniently selected by double click-
`ing the left button of the mouse. Each icon represents an
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`When the user selects an icon by double clicking the
`same, the corresponding function is activated and the
`icon becomes highlighted. For example, when the OS/2
`System icon 104 is selected on desktop 102, OS/2 Sys-
`tem icon 104 becomes highlighted as illustrated in FIG.
`3. When OS/2 System icon 102 is so selected, a corre-
`sponding window 120 of further possible selections is
`displayed on desktop 102. More specifically, window
`120 includes a title bar 122 in which the name of the
`
`selected window is designated in text as “System Setup
`- Icon View”. In this particular example, the selectable
`icons appearing within System Startup window 120
`includes a System Clock icon 124, a Keyboard icon 126,
`a Mouse icon 128, a Sound icon 130, a System icon 132,
`a Font Palette icon 134, a Color Palette 136, a Country
`icon 138 and Scheme Palette 140.
`The upper right corner of window 120 includes a
`small box 142 which, if selected by the user, minimizes
`window 120, thus dismissing window 120 and returning
`window 120 to the icon 104 representation thereof. The
`upper right comer of window 120 also includes a box
`144, larger than box 142 and which is selected by the
`user, maximizes window 120, thus causing window 120
`to occupy substantially all of desktop 102.
`The icon representation 146 appearing in the upper
`left corner indicates the type of window to which it
`corresponds. For example, window 120 is a system
`setup window; accordingly, the icon appearing in the
`upper left corner of window 120 is representative of the
`System icon. Had system clock icon 124 been selected,
`the icon appearing in the upper left corner of its win-
`dow would be representative of a clock.
`Since title bar 122 of window 120 is depicted in white
`or “not-highlighted”, this indicates the window 120 is
`not presently selected or active. Rather the user has
`clicked on and selected Folder 114 as indicated by its
`highlighted nature. When Folder 114 was so selected, a
`corresponding Folder window 148 was opened on desk-
`top 102 in overlapping fashion with respect to the ear-
`lier opened System Setup window 120. The title bar 150
`of window 148 indicates the title of window 148 as
`being “Folder-Icon View”. It is noted that title bar 150
`of window 148 is highlighted, thus indicating that win-
`dow l48 is presently the active window.
`Window 148 includes a horizontal scroll bar 182
`which can be engaged by the user to scroll through the
`contents of window 148 from left to right and from
`right to left all within the particular viewing area de-
`fined by the chosen dimensions of window 148. Win-
`dow 148 also includes a vertical scroll bar for scrolling
`through the window contents vertically. Other win-
`dows generated by the operating system also include
`this feature. For purposes of example, window 148
`includes a Reports icon 186, a Laser Printer Down The
`Hall icon 158, a Printer On My Desk icon 160, a Weekly
`Report icon 162 and a Status icon 164.
`
`IV. OS/2 Version 2.0 Operating System—File System
`Architecture
`
`65
`
`The disk operating system (DOS) supplied with first
`generation IBM personal computers allocated space on
`a disk storage device through a file allocation table
`
`Page 00018
`
`
`Page 00018
`
`
`
`9
`(FAT). Access to the FAT using a file name allows the
`computer to recover addresses for all sectors used to
`store a file. This association of a file name with sectors
`defines two attributes of a file, its name and address.
`The DOS directory structure allowed definition of
`further file attributes including, directory membership,
`creation or last revision date and size. The attribute
`stored in the file allocation table and the directory struc-
`ture, though functionally attached to files are physically
`distinct from user files and are kept at fixed locations on
`a disk so that the computer need not go to an address to
`access file attributes.
`
`DOS based graphical user interfaces, including the
`Microsoft Windows system, and the Presentation Man-
`ager for the IBM OS/2 operating system have ways to
`determine which data files are related to particular
`programs. Application programs were designed to sup-
`ply extended attributes into association tables accessible
`to the operating system. These tables specify data file
`types cognizable by the program, a title for the data file
`types and an icon to represent the program in the GUI.
`The association table for a program would include a file
`name filter (i.e. a standard DOS file name extension to
`attach to user data files created using the program) and
`the icon. Extended attributes may be accessed, in an
`OS/2 operating environment, without opening a file.
`The present invention uses the information present in
`the association tables for such action oriented paradigm
`application to m