DATA PROCESSING SYSTEM

Abstract: A data processing system adapted to register changes in relationship between objects having a display device displaying at least two groups of object representations, a user input device responsive to manipulation by a user to select one or more object representations from at least two of said groups, and control logic registering a change in relationship between objects in response to said selection. The invention provides a user interface for changing the relationships between objects which is simple to use and easy to learn. In one embodiment a list of users is displayed adjacent a list of application programs and as the change to allow a user access to an application program is made by selecting the user from its list, selecting the application program from its list and then selecting the change "allow access" from a list of possible changes of relationship displayed. The invention is applicable to make different sorts of object and many different types of relationship.

Description: DATA PROCESSING SYSTEM The present invention relates to data processing systems. More particularly the invention relates to the user interface of data processing systems. The use of data processing systems in terms of the numbers of users, the numbers of systems and the numbers of functions the systems perform is growing rapidly. As this trend progresses the task of controlling these data processing systems becomes ever more complex. The problem of this additional complexity is further compounded by the fact that the people who are required to controls these systems are no longer coπgputer specialists with a detailed knowledge of the data processing systems. This general problem is illustrated by considering the problems involved in managing the access of users to application programs within a data processing network. Within a network of thousands of users and workstations with hundreds or thousands of possible applications it is desirable that the access to applications be managed on a decentralised basis. This requirement does however means that the user interface for managing the system be as easy to use as possible so as to ease the task of the nonspecialist managers. Viewed from one aspect the present invention provides a data processing system adapted to register changes in relationship between objects having a display device displaying at least two groups of object representations, a user input device responsive to manipulation by a user to select one or more object representations from at least two of said groups, and control logic registering a change in relationship between objects in response to said selection. The present invention thus provides a user interface for registering changes in relationship between objects which is simple for the user to learn and work with whilst also being particularly well suited to implementation by a data processing system. Existing data processing systems already have the hardware and software structures to enable them to be readily adapted (e.g. by a software program) to display groups of object representations and allow a user to select objects from the groups (e.g. by keyboard or mouse manipulation of the cursor) in order to register a change in the relationship between the selected objects. It will be appreciated that the display of the groups of object representations may take many forms. In one simple case the display may be in the form of a list of the names of the objects. Other possible forms include a list of icons, each icon representing an object, or a collection of Icons or names not presented as a list but simply displayed within a given area. One way of viewing this feature of the invention is that the data processing system displays some visual representation of the objects, the exact form of the representation not being critical. In preferred embodiments of the invention said groups of object representations are displayed in the form of lists of object names. Such a form of representation has been found to be particularly easy for users to learn and work with since many existing data processing systems are what is termed "menu driven', i.e. the user's interaction with the system is made by a series of selections from different lists of options displayed to the user. Accordingly, many users are already familiar with interacting with lists. A further preferred feature of the form of display of the object representations is that said groups of object representations are displayed adjacent one another. It has been found that such an arrangement simplifies the user interface compared with arrangements in which distracting information and the like is displayed between the groups of objects whose relationships are to be manipulated. The change in relationship being registered using the invention can take any form. Example applications of the invention which illustrate the flexibility and general applicability of the invention are the control of personnel having access through secure doors, applications being assigned to run on particular host systems in a network, users being assigned a particular node in a communication system etc. In particularly preferred embodiments of the invention said relationship is access of a user to an application program. This relationship is particularly well suited to control using the invention due to the complexity of relationships possible and the large numbers of both users and application programs. There are many possible ways in which the data processing system may register the change in relationship. In simple systems the change may be recorded in permanent or temporary storage either as an individual record or as a record associated with all the other records relating to that particular object. There are however other possibilities such as the registering of the change in relationship causing a display elsewhere to change or a physical connection to be made or broken. One way of viewing the registering of the change in relationship is that as a result of the selection of the objects by the user an act of some sort is carried out by the data processing system but the act carried out can have many forms. In preferred embodiments of the present invention said display device also displays representations of different possible changes in relationship that can be registered in response to said selection, and manipulation of said user input device by said user selects between said different possible changes. It will be appreciated that in a simple system only one sort of relationship may be possible for given objects, making the above feature unnecessary. However, in systems such as the user and application program control described above more than one change in relationship is possible e.g. to allow or cancel access for a user to an application program. The display of the possible changes in relationship can be present continuously whilst the groups of objects are displayed. However, in preferred embodiments of tlje invention said display of representations of different changes in relationship appears after said object representations have been selected. This preferred feature both saves space on the display and prompts the user into the procedure that should be followed'. Another preferred feature of the present invention is that one or more of said groups of object representations comprises a group of collective object representations in which each object corresponds to a set of object representations from another group. The structure produced by .this feature is analogous to the root directory, branch directory, leaf directory structure used in, for example, data base systems. Another analogy is that of a hierarchical set structure having sets, subsets, subsets etc. This preferred feature is illustrated by considering the possibilities for groups of object representations for users. At the base level would be a group of object representations comprising the names of each individual user. The next step up the hierarchy could be a collective group comprising the departments the users worked for e.g. administration, marketing, production, research etc. At a higher level still it would be possible to have a collective group whose elements are the different subsidiary companies each having its own set of departments. Another example would be that for applications. At the base level a group comprising a list of applications could be followed by a collective group comprising a list of different suites of applications. It will be appreciated that this structure is highly flexible and a given object representation may correspond to more than one object representation in a collective group e.g. a given user could be a member of both marketing and production. The advantage of this preferred feature is that a large number of changes in relationship can be registered in a single simple and easy to visualise operation, e.g. if it is desired to make a particular application available to every member of a department then instead of having to register this change separately for each member of the department the change can be made in a single operation by selecting the appropriate department form a list of departments and connecting that department to the appropriate application. A further preferred feature of the invention is that each collective group is displayed medially relative said group of object representations to which that collective group corresponds. This feature provides a simple and intuitively understandable user interface in which the most basic level object representations such as individual users are at the edges of the display whilst the higher level collective groups such as departments of users are in the centre of the display. This manner of display is also inherently extendable and it will be apparent that many layers of hierarchy many by simultaneously displayed and manipulated by a user. A problem which arises with this hierarchical display feature is that for reasons of limited space on the display and a need to see which object representations correspond to a particular object representation in a collective group it may not be desirable to display all the objects in a given group at any one time. Accordingly, in preferred embodiments of the invention, selection of an object representation in a collective group by a user triggers display of said object representations corresponding to said selected object in said collective group. Once again this feature simplifies the use of the system and enables the appropriate objects from what might be a list of thousands of objects to be displayed. Viewed from another aspect the present invention provides a data processing system adapted to diaplay simultaneously at least two groups of objects and to register a change in relatinship between objects selected from different groups by a user. An embodiment of the invention will now be described, by way of example only, with reference to the accompanying drawings in which: Figure 1 schematically illustrates the display produced by an embodiment of the invention. Figure 2 Schematically illustrates a portion of the display during a different phase of operation. Figure 3 illustrates a flow diagram for the initialisation process of an embodiment of the invention. Figures 4 and 5 are flow diagrams illustrating the processing of the selected objects and registering of the changes in relationship in an embodiment of the invention. Figure 1 shows a display relating to two classes of objects, namely users and applications * . The form of the display is a series of adjacent lists of object names., working from left to right, the first list is a list of user names 2. This list of user names 2 is a group of object representations. Next to the list of user names 2 is a group of collective object representations comprising a list of departments 4. The list of users 2 displayed comprises all the member of the marketing department. Thus, the collective object representation "Marketing" in the list of departments 4 corresponds to the set of users displayed in the list of users 2. Moving to the next list to the right is a group of collective object representations comprising a list of application suite names 6. To the right 2 of this is a list of application names 8. It will be seen that the application suite "Graphics" corresponds to the set of applications Graphics #0 to Graphics #6. The groups of collective object representations 4 and 6 are displayed medially relative to the lower level groups of object representations 2 and 8. Selection of a collective object such as "Graphics" triggers the set of objects corresponding to that collective object to be displayed in the appropriate adjacent lower level list. Figure 2 illustrates a portion of the display showing how the type of change in relationship is selected. When the user has selected the objects whose relationships are to be changed he then moves the cursor onto the Administration pull down choice within the Action Bar 10 using a mouse. By pressing a button on mouse the user triggers the display of the pull down menu 12 of the possible changes in relationship. As can be seen, the pull down menu 12 lists options such as connect, disconnect, add new etc. The user then manulipates the mouse again to select the required change in relationship from the options presented and this selection then triggers the system to register the change in relationship in the manner previously described. The display then returns to the state shown in Figure 1. Figure 3 shows a flow diagram of the initialisation process for an embodiment of the invention. The system starts on the first class of objects (eg, users or applications) and displays the groups of collective object representations at step 14 (eg, displays the list of application suites 6). At step 16 the system displays an empty list of object representations (eg, display an empty box in which the list of individual applications 8 will be displayed). At step 18 the system determines whether more classes of object need to be displayed. If the answer is yes the process is repeated for the next class of object and if the answer is no then the initialisation process is terminated. The mouse driver software used to manipulate the cursor is of standard type and a single "click" on the mouse is used to select an object and a "double click" on a collective object is used to trigger the system to display the set of objects associated with that collective object in the appropriate list. Once the objects and type of change of relationship have been selected by the user with the mouse and displays illustrated in figures 1 and 2, the system then the carries out the process illustrated in Figure 4 for each class of object. The purpose of the process (stage 1) illustrated in Figure 4 is to determine the most appropriate objects between which the relationship should be changed when a mixture of collective objects and simple objects (eg, a user or application) have been selected within a given class of object and then mark those objects for further action. The first step in the process is to determine if any collective objects have been highlighted (step 20). If no collective objects have been highlighted then the only possibility is that simple objects may have been highlighted and this is tested at step 22. If no objects at all have been highlighted then the process passes to step 26 to determine if any more classes of objects need processing. If at step 22 it was determined that some simple objects had been highlighted then these will be marked for future action (step 24) and the process will again pass to s^ 26. If at step 20 it was determined that some collective objects had been selected then the process passes to step 28. At step 28 it is determined if simple objects have been selected in addition to the selected collective objects. If the answer is yes then the system performs the required change in relationship between the selected collective and simple objects at step 30 within the class. Step 30 ensures that changes in relationship between different classes rather than between simple low level objects of object take place wherever possible between collective objects from those classes as this is the most efficient way to keep lower the number to relationship to be registered. If the answer at step 28 is no or after step 30 has been carried out the system progresses to step 32 where the selected collective objects are marked for future action. The system then progresses to step 26. Step 26 ensures that all the different classes of object have been processed in the manner shown in Figure 4. When all the classes of object have been processed the system passes to step 34 which exits this marking stage. When the system exits the process of Figure 4 the most appropriate objects form those selected by the user will have been marked for further action and any changes in relationship within classes of object will already have been made. The system now progresses to the process shown in Figure 5 (stage 2). The purpose of stage 2 is to make the selected change in relationship between the objects marked in stage 1. At step 36 the system determines if any class of object can take place in the change of relationship that has been selected. If the answer is no then at step 40 the objects marked for which the selected change in relationship is not allowed are reset so as to be not marked. At step 36, if the answer is yes or after step 40, the system passes to step 38 where the change in relationship selected is registered by the system for all marked objects. As noted previously, the registering of the change in relationship can take many possible forms, eg changes varying from merely slightly altering a table of stored relationships in a data base to triggering some large scale physical event. Having described the appearance of an example of the user interface provided by the invention and flow diagrams showing the nature of the processing carried out it will be appreciated that the detailed coding of the software for implementing the embodiment could have many possible forms and be written in many different computer languages. It will however be apparent that once the appearance and function of the embodiment have been described then the detailed coding is a matter of routine. Information concerning programming windowing applications can be found in the IBM manual "OS/2 Version 1.1 Programming Guide" and the book "Programming the OS/2 Presentation Manager" by Charles Petzold (IBM, OS/2 and Presentation Manager are trademarks of International Business Machines Corporation) .

Claims: CLAIMS 1. A data processing system adapted to register changes in relationship between objects having a display device displaying at least two groups of object representations, a user input device responsive to manipulation by a user to select one or more object representations from at least two of said groups, and control logic registering a change in relationship between objects in response to said selection. 2. A data processing system as claimed in claim 1, wherein said groups of object representations are displayed in the form of lists of object names. 3. A data processing system as claimed in claims 1 or 2, wherein said groups of object representations are displayed adjacent one another. 4. A data processing system as claimed in claims 1, 2 or 3, wherein said relationship is access of a user to an application program. 5. A data processing system as claimed in claims 1, 2 or 3, wherein said display device also displays representations of different possible changes in relationship that can be registered in response to said selection, and manipulation of said user input device by said user selects between said different possible changes. 6. A data processing system as claimed in claim 5, wherein said display of representations of different changes in relationship appears after said object representations have been selected. 7. A data processing system as claimed in any preceding claim, wherein one or more of said groups of object representations comprises a group of collective object representations which each correspond to a set of object representations from another group. 8. A data processing system as claimed in claim 7, wherein each collective group is displayed medially relative said group of object representations to which that collective group corresponds. 9. A data processing system as claimed in claims 7 or 8, wherein selection of an object representation in a collective group by a user triggers display of said object representations corresponding to said selected object in said collective group. 10. A data processing system adapted to diaplay simultaneously at least two groups of objects and to register a change in relatinship between objects selected from different groups by a user.

Inventors: WILES JOHN STEWART, WILES, JOHN, STEWART
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1989
Main classification: G06F3
IPC codes: G06F3