Distributed computer system log-on device for storing and retrieving a user&#39;s view of objects at log-off
The invention relates to an arrangement for facilitating the log-on process to a computer system. Although not limited to such, the invention finds particular application in object based computer systems. 
     Object based computer systems facilitate multi-tasking and multi-user operations where common data files may be accessed concurrently by different tasks operated from the same terminal or operated by different users employing respective terminals. A windows environment is generally employed in conjunction with an object based system to enable windows to be allocated to respective concurrent tasks. There follows an overview of an object based system in a windows environment which will help define terms used herein. 
     An OBJECT is a combination of data and method code which is normally stored on disk. An object may be INACTIVE, when it is identified simply as a disk file, or ACTIVE, when it has a PROCESS, or executable file, associated with it. When active, at least parts of the object are held in the computer RAM and the object is defined by the state of the associated process rather than by its file. 
     Objects can be LINKED to other objects so that changes in one are reflected in the object or objects with which it is linked by virtue of MESSAGES which are passed between the linked objects. The system is controlled by an OBJECT MANAGER which is an application running in the windows environment and which controls activation and deactivation of objects, and the passage of messages between objects. 
     An object is sometimes a CONTAINER which contains as notional parts other objects. Examples of container objects in a distributed office system are a desktop, folder and a document. A VARIABLE DIMENSION DATA OBJECT (VDO) is a data store of which the values of elements may be viewed and changed directly by a user. 
     Objects may be split between a SEMANTIC part (which defines the state of the object) and a PRESENTATION part (for presenting to a user the state of the object). Indeed, conceptually one can think of there being separate semantic objects and presentation objects. In addition, when using a windows user interface, there are windows for viewing objects and facilitating multi-tasking. In this specification, the presentation part or presentation object is something which is utilised by a window and forms part of the window for the time in which the window is viewing the object in question and generally a distinction between the window and the presentation part or object will not be made. 
     Semantic objects have data stored in a particular storage domain. A storage domain may be regarded as closely equivalent to a storage medium such as a hard disc or floppy disc in the sense that all objects in a given storage domain are on-line together or are off-line together. Consequently, a single machine may support a plurality of storage domains. 
     The present invention could be applied in a single computer having one or more storage domains but is primarily concerned with an object based system having a plurality of user stations. Such a system may be provided by a single central processing device having a plurality of user stations coupled to it, or it may be provided by a distributed processing network consisting of a number of independent processing units each having a respective station associated with it. In the system of the present invention an object has an implicit presentation, which will look the same however viewed. 
     It is possible to open one or more windows on each object. The windows manage the display and input/output (lexical) interaction in the system. The user of multiple windows in conjunction with an object enables employment of the techniques of sharing (multiple windows to a common object) and distributed (window on one machine and object on another) applications. 
     We define a VIEWER as an object which allows users to access other objects by providing the appearance of the object to the user and accepting user input for data manipulation. Viewers have hitherto been known as TASK WINDOWS, but a window is part only of the viewer. The object being viewed controls its own state and provides the methods for access to and manipulation of that state. 
     On logging-on an operator can choose between a number of tasks and may have a number of selections to make in a menu driven system. Also, he may be able to choose various attributes such as screen color and nature of a title bar, etc. Very often an operator has a preferred selection of screen attributes and over a certain period of time he will be working at a particular task. In an object based system he will have activated certain objects and opened certain windows as viewers. In logging-on to the system an operator will often follow the same procedure particular to himself. The present invention recognises this and provides a system for facilitating log-on. 
     According to the invention there is provided a computer system comprising a computer having stored data; at least one terminal whereby a user may gain access to interrogate the data; a read/write unit associated with the or each terminal for reading from and writing to a removable storage element, the computer being programmed to respond to the storage element as a log-on device, to record thereon details of the user&#39;s activity on log-off and on the next log-on to respond to the stored activity information automatically to restore the user to the situation corresponding to the last log-off. 
     Preferably the storage element is a card and the storage medium magnetic. However, alternative arrangements include a `smart card` where the information is stored in a battery-maintained RAM or an erasable or non-erasable optical storage medium using a laser read/write unit. 
     Particular application for the invention is found in an object based distributed office system run under a windows environment. Such a system may be very extensive since modern telecommunications facilities allow nationwide and even international computer networks to be established. Conventionally, a user is associated with a particular terminal and therefore a particular domain. His own files, including his desk-top are located in that domain. However, it is possible to allocate each object in the system a unique identifier and by recording the identifiers of the objects used in his last session on the storage element it is possible for a user to re-enter his usual environment from wherever he is. This is a principal advantage of the present invention. 
     In a preferred embodiment a set of networked personal computers each has a magnetic card read/write unit. Each user has a personal information card (PIC) which has a magnetic stripe. The PIC carries information about the user--for example, name and/or identification number. It may also carry reference to a code number which the user is required to type in to gain access. All of this information is magnetically recorded on the stripe. In addition there is log-on information which has been derived from the user situation at last log-off. This information includes windows identifiers which specifically designate the windows in use at the time of last log-off and, for each window, the size and extent of the window, the object identifiers for the objects being viewed and the positions of the objects in the window. Typically the data storage requirement for each window may be 50 bytes or so. In addition there is a system window which governs color selection and other general attributes and parameters. This information may account for 200-300 bytes. 
     At log-off all this information is stored on the magnetic stripe so that the program reads the personal information when the user logs on again and the required set of windows is recreated. The appropriate objects are linked to the respective windows. 
     Clearly, it is possible for the operator to proceed from that situation to another should he wish to do so, perhaps having finished his previous task. Then the new situation at log-off is recorded for the next log-on. 
    
    
     The invention will further be described with reference to the accompanying drawings of which: 
     FIG. 1 is a schematic diagram of an object based computer system embodying the invention; 
     FIG. 2 is a diagram of a viewer presentation in the system of FIG. 1; and 
     FIG. 3 is a schematic diagram of program procedures in the system involved with logging-in. 
    
    
     Referring to FIG. 1 there is shown an object based computer system which comprises a network of personal computers PC, each of which has a central processor unit CPU; random access memory RAM; mass storage facilities MS; a visual display unit VDU and a mouse M. In the drawing these units are designated for one computer only. Each computer also has a card reader CR. 
     The mass storage facilities MS constitute domains in the system which are generally associated with the user or users who habitually use that computer. Thus, objects associated with those users are stored there. These objects include, for example, the desk top objects for each habitually local user. FIG. 2 shows a typical viewer presentation showing the desk top of a user. This designates the user--in this case &#34;Hugh&#34; and has icons 1, 2 and 3 for the user&#39;s objects &#34;Colleagues&#34;; &#34;Supplies&#34; and &#34;Bin&#34;. The desk top is represented in a window with particular colors, position and size. 
     The card readers of FIG. 1 are used to read from and write to Personal Identification Cards (PIC) which have a magnetic stripe. In logging off, the card has written to it the following data with the approximate number of bytes shown in parentheses: 
     
         ______________________________________                                    
Home Context (Desktop) Object identifier                                  
                        (4)                                               
Supplies Object identifier                                                
                        (4)                                               
Bin Object identifier   (4)                                               
Number of windows       (2)                                               
Window data (size, position, colour                                       
                        (100)                                             
and object viewed)                                                        
User name               (2)                                               
System colours          (60)                                              
______________________________________                                    
 
    
     When the user next comes to use the system he inserts his card in the reader and the data is read from it in order to re-establish the conditions as they were at last log-off. 
     FIG. 3 is a schematic diagram of program procedures associated with the log-on process. A start procedure 10 sets up a dialogue box on the VDU when the unit is switched on. This allows the user to inset a card in the reader and elect to log on. Logging in invokes a log-in procedure 11 which takes the data in a message sent by the reader and determines whether the user profile exists. If the user profile does not exist (or the card is a fresh blank card) the user is invited to create a profile by invoking a create procedure 12. The user may enter his name and a password and the log-on will continue. 
     If the user profile already exists the log-on continues and a restore procedure 13 takes the data read from the card and calls up the objects necessary by reference to their unique identifiers in the system. An important feature of the invention is the nature of the object identifiers. When an object is created and saved in a particular domain it is accessible to any terminal in the system linked to the terminal of that domain. The arrangement is that each terminal (domain) of the system has a unique identifier and each object stored in that domain has a unique sequence number. The combination of the domain identifier and sequence number gives the unique object identifier. When an object is moved between domains it is cancelled from one and added to the other, so that there is no confusion about its location or identifier. 
     The converse of the restore function is the save function which is implemented by a save procedure 15 invoked on log-off. Log-off is selected by menu and the current window and object identifiers etc are saved to the card via the reader. 
     The invention is not restricted to the details of the embodiment described above with reference to the drawings. For example, the removable storage device may take many forms, including a floppy disk.