CONTEXT SENSITIVE LOGIN SHIELD

Abstract: A login shield that controls access to a computer or network system provides for the selection of context and application options. At login, the user has the option to identify a context, from which the login shield identifies an initial workspace or set of workspaces. The login shield prompts the user for identification information and compares the identification information to a set of authorized users. If a match is found, the login shield establishes the initial workspace and launches the selected applications. The user is also provided a means to create and define alternative contexts for selection at login. By allowing the user to define and select among alternative contexts at the start of the login process, the overhead associated with the login process can be minimized to that required for each particular user context.

Description: Context sensitive login shield. This invention relates to the field of computers, and in particular to the field of computer access security and networking. Many computer and network operating systems provide a login shield that prevents unauthorized users from accessing the files and ancillary devices of the computer or network. Typically, a login shield prompts a user for a user name and an associated password. When both the name and password match one of the previously stored authorized name and password combinations, the user is granted access to a workspace that is associated with the authorized name. Until access is granted, the user is precluded access to the computer or network environment or options. A user may have multiple workspace allocations on the computer or network. In general, the login shield directs the user access to either a fixed predetermined workspace, or to the last workspace that the user was in when the user terminated a prior access. Upon gaining access, the user may switch context by selecting an alternative workspace allocation. The selection of a workspace effects a number of actions by the computer or network, to provide a context within which the user interacts with the computer or network. For example, if the workspace is a workspace that is customized for e-mail processing, the selection of that workspace may automatically initiate the dialing of a telephone to connect the user to a service provider, the execution of a mailbox application that creates links to in-box, out-box and other folders, the submission of an access request to a post office at the service provider, the transmission of messages in the out-box, the reception of messages from the post-office to the in-box, and so on. The selection of a software development workspace may initiate a number of programs designed to create trace files for tracking changes and other software management overhead functions. The initiation of a Windows® workspace effects the execution of each of the application programs that are contained in a Start Up directory. Each time a new workspace is initiated, time and resources are used to install and execute the programs and tasks associated with establishing the workspace. Because a workspace must be established for the user to operate within the computer or network environment when the user is granted access, some time and resources are consumed, regardless of the user's intended context. In a Windows® login shield environment, for example, the user must wait until Windows® is loaded and executed, and must wait until Windows® then loads and executes each program in the Start Up directory. It is an object of this invention to minimize the delay time incurred when a user logs into a computer or network system. It is another object of this invention to minimize the initialization tasks required of a user upon login. These objects and others are achieved by providing context options within the login shield. At login, the user has the option to identify the context of the initial access. The login shield prompts the user for a name and password and compares the name and password to a set of authorized names and passwords. If a match is found, the selected context is provided by launching the workspace or set of workspaces associated with the selected context. The user is also provided a default option to establish the last workspace that the user was in when the user terminated a prior access. In a preferred embodiment, the user is provided a means to create and define alternative workspaces for selection at login. By allowing the user to define and select among alternative workspaces, the overhead associated with the login process can be minimized to that required for each desired user context. Brief Description of the Drawings: FIG. 1 illustrates an example user interface to an access system in accordance with this invention. FIG. 2 illustrates an example block diagram of an access system in accordance with this invention. FIG. 3 illustrates an example flow diagram for effecting a computer access in accordance with this invention. FIG. 4 illustrates an example flow diagram for effecting the launch of application programs in accordance with this invention. FIG. 1 illustrates an example user interface to an access system in accordance with this invention. This user interface is displayed on a screen 100 and allows a user (not shown) to select from among a variety of contexts 111-118 and application programs 121-127 during the login process. The user interface includes entry fields 104, 106 for receiving user identification information, such as the user's name and password. After providing the identification entries and selecting the context and applications that are to be initiated, the user submits a login access request by selecting the OK button 130. As would be evident to one of ordinary skill in the art, alternative selection schemes and options may be used to effect similar results. For example, to avoid redundant strokes, the selection of a context could automatically initiate the submission of the login access request, eliminating the need for the OK button 130. This alternative, however, assumes that only one context may be selected and requires that the context be selected after entering all the identification information and application selections. Alternatively, the options may be provided as lists, with a single click of a mouse button signaling a selection of an option, and a double click signaling a selection and automatic initiation of the login access request. Similarly, alternative means can be employed to provide the identification information, such as using a smart card, performing a biometric scan of fingerprints, and the like. Additional features may also be provided for ease of editing, or for additional security purposes. In accordance with this invention, the access system will communicate the appropriate commands to request an access to a host computer system. Upon gaining access, the access system communicates the appropriate commands to establish the workspace environment corresponding to the selected context 111-118 and to initiate the execution of the selected application programs 121-127. In this manner, only the workspace and application programs that the user selects for a particular access request are established or initiated, thereby avoiding the delay time associated with the establishment or initiation of workspaces and programs that are not desired or required by the user at the time of access. The other, non- selected workspaces and applications may subsequently be selected in the conventional manner, as required. In a preferred embodiment of this invention, the form, format, and content of the user interface is specific to each user, and controllable by each user. The access system presents the available context 111-118 and application program 121-127 options when the user name is provided, at 104. As is common in the art of user interfaces, the access system provides default entries and selections, so that the user need merely select the OK button 130 to login, if the default selections are desired. In the example interface of FIG. 1, the user may choose any one of the contexts 111-118. Of particular note are the "continue previous" context 111, the "quick start" context 114, and the "general" context 118. The "continue previous" context 111 is the selection that establishes the last workspace that the user was in when the user terminated a prior access. The "quick start" context 114 establishes a minimal context, thereby minimizing the delay time to establish an initial login context. The "general" context 118 establishes a maximal context, providing a workspace context that includes most of the capabilities that the computer system offers, thereby minimizing the burden on the user of initiating common tasks. The other contexts 112, 113, 115-117 are contexts that are specific to a particular task, such as "word processing" 117, or "games" 116. In the word processing context 117, the suite of programs typically associated with word processing, such as a word processor, spelling checker, thesaurus, and the like are provided in the initial workspace upon login. In the games context, the available games will be provided in the initial workspace. The initial workspace may also include environment parameters suitable for each context, such as the screen resolution, the number of colors, the processing speed, and the like. The selection of a context may also determine the operating system that is used on the host computer, or the selection of a particular computer or computer configuration in a multiple computer environment. A context selection may also effect the establishment of a workspace that includes multiple other workspaces. For example, the "general" context 118 may establish a workspace that includes a word processing workspace, an e-mail workspace, and others. In like manner, multiple workspaces may be explicitly selected, for example, by selecting both the "games" 113 and "e-mail" 115 contexts before selecting the OK button 130. In addition to a selection of contexts 111-118, the user is also provided a selection of application programs 121-127. These application programs 121-127 may be selected independent of the selection of a context. For example, FIG. 1 illustrates the selection of a clock application 121 via the affirmative check box 121b adjacent to the word "clock" 121a. Such an application may display, for example, the current time in a corner of the user's screen. In this example, the current time will be displayed in the corner of the user's screen regardless of the context 111-118 that is selected. Each of the applications 121-127 may also be specifically included in one or more of the contexts 111-118. For example, although the "Netscape" application 124 is not selected, the Netscape® application program may form a part of the "Web Surfing" context 112. If the "Web Surfing" context is selected, the Netscape® application program will be initiated, independent of the selection of the "Netscape" application 124. Other options could also be provided, such as an explicit identification of applications that are not to be launched, regardless of the context selection. FIG. 2 illustrates an example block diagram of an access system in accordance with this invention. The access system grants a user 200 access to a computer system 280 via a login shield 230. The access system may be a part of a computer or network operating system; it may be an integral part of the computer system 280, or it may be an add-on access device. It could, for example be a television "set-top box" that is used to connect a user to the world wide web. The computer system 280 includes individual computing devices as well as networks of computing devices and processing equipment. In general terms, the access system is a component of an information processing system that allows a user access to the information or processing of that system. In accordance with this invention, an application selector 210 and context selector 220 are provided to the user 200 on the user-side of the login shield 230. That is, the user 200 may use the application selector 210 and context selector 220 without first gaining access to the computer system 280. In the set-top box example, the selection of context and applications would be performed locally via the set-top box, without a connection to the world wide web. The login shield 230 receives the application program selection 213 from the application selector 210 and the context selection 223 from the context selector 220, but does not submit the commands 234, 235 to effect these selections until after the user 200 is granted access to the computer system 280. The login shield 230 functionality may be distributed between the site of the user, such as the user's set-top box, and the computer system 280, the world wide web. The login shield 230 may also effect the connection to a variety of computer systems 280, each having a particular means of effecting the login shield 230 functionality. For example, a set-top box may allow a user to access the world wide web, a local personal computer, or a network of other computing systems. The login shield 230 would include the components in the set-top box and in each of these systems that assure that the user is authorized to access each of these systems, as are commonly used in the field of computer access. The user 200 provides identification information, such as a name and a password to the login shield 230 via communications link 203. Explicitly shown, for clarity, are communications links 201 and 202 for the user to effect the application and context selections 213, 223 respectively, although these links 201, 202, 203 would preferably be implemented as a single communications medium between the user 200 and the login shield 230. In a preferred embodiment, the application selection and context selection is specific to each user. Upon recognition of a particular user, either by default or by the entry of a user name, the login shield 230 provides the application options 231 and context options 232 to the application selector 210 and context selector 220, respectively. The application options 231 correspond to the example applications 121-127 of FIG. 1, and the context options 232 correspond to the example contexts 111-118. The user selects a context 223 from the context options 232 and identifies any applications 213 from the application options 231 that are to be executed together with the selected context 223. If the provided identification information matches one of a list of authorized identifications, access to the computer system 280 is granted. Upon the granting of access, the login shield 230 launches the initial workspace or set of workspaces 236 that are associated with the selected context 223 via the workspace launcher 260. Thereafter, the login shield 230 launches the applications 234 corresponding to the selected applications 213, via the application launcher 240. Different reference numerals are used for the applications 213 from the application selector 210 and the applications 234 from the login shield 230 to indicate that the login shield may effect a translation of the "user names" of applications and "system names" of the same application. For example, a user name "WordPerfect" application 213 may be translated to system name application "WP8.exe" 234. Similarly, the selected context 223 may be translated to one or more workspace names 236. The workspace launcher 260 and application launcher 240 issue the appropriate commands 268 and 248 respectively to establish the workspace 236 and initiate the applications 234. In response to the commands 268 and 248 the computer system 280 is configured to provide the desired user context 223 with selected preloaded applications 213. Thereafter, the login shield 230 provides the user 200 access to the computer system 280 via the communication links 203 and 238. Upon gaining access to the computer system 280, the user may create other contexts, or modify existing contexts, via the context editor 250. The context editor 250 assists the user in identifying the mappings between user selections 213 and 223 and the system commands 248 and 268 required to effect the selections 213 and 223, respectively. The context editor 250 communicates the newly created context option and associated workspaces 235 to the login shield 230 for presentation 232 to the user 200 at the next login session. In this manner, a user is provided the capability of specifying login procedures that effect optimized modes of the computer upon login, each mode being optimized with regard to the created context. A user of a portable computer containing an access system in accordance with this invention may specify contexts which effect different modes depending upon whether the portable computer is being used at home, in the office, or on the road. The selected mode will be effected upon login, thereby optimizing the login process as compared to the conventional technique of attempting to initialize a common workspace and then modifying it based upon the capabilities and components detected during this initialization process. The created contexts may also include other login information, such as the identification information required to gain access to the computer system 280, although this option obviates the security nature of the identification information. FIG. 3 illustrates an example flow diagram for effecting a computer access in accordance with this invention. The user initiates the interaction with the computer access system by providing a user name, at 310. In dependence upon the user name, the user is provided a set of contexts and application options from which to choose, at 320, using, for example, the screen layout of FIG. 1. As would be evident to one of ordinary skill in the art, other means of providing the options may also be used. For example, a common set of workspace and application options may be defined, and all users are provided this set; in this scenario, the options could be displayed before the user enters a name. Similarly, the user could belong to one or more groups or teams, each group or team having particular predefined contexts. The screen layout of FIG.1 could include an identification field for the group or team name, and the entry or selection of the name could effect a display of the options associated with the name. Also, a common workspace may be associated with all users or groups of users, and the options provided would merely include the application options; alternatively, the options provided may merely include context options. In an extreme example, the identification information may automatically determine a single context and set of applications, obviating the need for a further explicit selection by the user. For example, in a home computer environment, the entry of a child's name would be sufficient to launch a login workspace that has been customized for the child. The user interacts with the system at 330 and the computer access system processes the user input corresponding to a password at 334, a context selection at 336, or an application selection at 338. After processing each user input, the access system loops back to block 330 to accept additional user input. The user signals the completion of access input information and selection by an OK, at 332. In response to the OK at 332, the access system submits a login request 340 to the target system. If access is granted, at 350, the access system submits the appropriate commands to the target system at 370 to create the workspace or set of workspaces corresponding to the context selection at 336. The access system then submits the appropriate commands to the target system at 380 to initiate the applications corresponding to the application selection at 338. Thereafter, the access system provides the user access to the target system, at 390. If access is not granted, at 350, the access system performs the appropriate error response at 360, then returns to process the next user input at 310. The error response at 360 may include messages to the user, messages to a security system, and a barring of subsequent attempts based on the number of erroneous access attempts. As shown by the example flow chart of FIG. 3, by processing the user input and selections at 330-338 prior to requesting access at 340, only those actions necessary to establish the selected workspaces and applications, at 370 and 380, are performed before providing the user access to the system, at 390. The foregoing merely illustrates the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements which, although not explicitly described or shown herein, embody the principles of the invention and are thus within its spirit and scope. For example, FIG. 4 illustrates an example flow diagram for effecting the launch of application programs in a Windows ® environment in accordance with this invention. In this example, the user chooses, at 410, a context from among a selection of DOS, Windows ® , or other contexts, and a start folder that contains references, or shortcuts, to applications that are to be initiated. In a DOS context, an autoexec file within the start folder will contain the name of each application program to be initially launched. In a Windows ® context, the start folder explicitly contains the shortcut to each application. The access system validates access at 420 by comparing the user's identification information to a list of authorized users. Depending on the selected context, at 430, the access system processes the associated start folder differently. As is known in the art, when Windows ® is launched, all applications that are located in the "Windows ® \Start Menu\Programs\StartUp" folder are executed. Thus, the selection of a Windows ® context at 410 is effected in a Windows ® environment by replacing, at 450, the contents of the "Windows ® \Start Menu\Programs\StartUp" folder with the contents of the associated start folder, and then launching Windows ® , at 460. Similarly, the selection of a DOS context at 410 is effected by executing the autoexec file in the associated start folder, at 440. Methods of effecting the selection of context and application options and effecting the appropriate workspace and application commands in other environments would be evident to one of ordinary skill in the art in these other environments. As would be evident to one of ordinary skill in the art, the particular partitioning of functions and options illustrated in FIGs. 1-4 are provided as examples only. The login shield 230, as well as all the other components 210, 220, 240, 250, 260, may be a part of a common computer system 280. Similarly, the user selection programs 210, 220, and the computer interface programs 240, 250, 260, may each be a part of a single login shield 230. Each of the components of FIG. 2 may be implemented as hardware, software, or a combination of both. For example, the login shield 230 may require a physical key device to initiate an access request, and the function of the login shield 230 may be implemented as a hardware switch device. The components of the access system may also be partitioned by removable and non-removable components. For example, the context and application options and selectors may be located in a removable disk or a smart card, and the access system is formed and activated by inserting the disk or card in a slot of the computer system. In like manner, the partitioning of context, workspace, and applications presented herein is somewhat arbitrary. A context includes the entire environment in which the user operates; this includes both the workspace and the applications running in that workspace. Similarly, the workspace includes the applications that create or effect that workspace. Consistent with this invention, the selection of a context may be effected by specifically selecting workspaces, applications, or a combination of both; the use of a context selection button merely eliminates the need to specifically select items at login. These and other partitioning scenarios would be common to one of ordinary skill in the art, and are well within the spirit and scope of this invention. Windows ® is a registered trademark of Microsoft Corporation. Netscape ® is a registered trademark of Netscape Communications Corporation.

Claims: CLA S: 1. An access system for accessing a computer system (280) comprising: a context selector (220) that allows a user to select one or more selected contexts (223) from a plurality of contexts (232), a login shield (230) that allows the user to enter identification information (104, 106), and provides access to the computer system (280) based on the identification information (104, 106), and a workspace launcher (260), operably coupled to the context selector (220) and the login shield (230), that establishes an initial workspace (236) on the computer system (280) based on the one or more selected contexts (223). 2. The access system of claim 1, further including an application selector (210) that allows the user to select one or more application programs (213) that are to be executed to facilitate the establishment of the initial workspace (236). 3. The access system of claim 1 or 2, further including a context editor (250) that allows the user to create one or more contexts (235) of the plurality of contexts (232). 4. The access system of claim 2, further including an application launcher (240) that initiates execution of the one or more application programs (213). 5. The access system of claim 4, wherein the plurality of contexts (232) includes a Windows ® context and the application launcher (240) effects the execution of the one or more application programs (213) by placing references to the one or more application programs (213) in a StartUp folder that is accessed when a Windows ® workspace is established (460). 6. The access system of claim 1, wherein the identification information (104, 106) includes a user name (104) and an associated password (106). 7. An information processing system having an access system comprising: a context selector (220) that allows a user to select one or more selected contexts (223) from a plurality of contexts (232), a workspace launcher (260), operably coupled to the context selector (220), that establishes an initial workspace (236) on a computer system (280) based on the one or more selected contexts (223). 8. The information processing system of claim 7, further including a context editor (250) that allows the user to create one or more contexts (235) of the plurality of contexts (232) to facilitate an optimization of a login modality of the computer system (280). 9. The information processing system of claim 7, further including a login shield (230) that allows the user to enter identification information (104, 106), and provides access to the computer system (280) based on the identification information (104, 106). 10. A method of controlling access to a computer system (280), comprising: selecting (330, 336) one or more selected contexts (223) from a plurality of contexts (232), entering (310, 330, 334) identification information (104, 106), providing (340-390) access to the computer system (280) based upon the identification information (104, 106), and thereafter establishing (370) an initial workspace (236) based upon the one or more selected contexts (223). 11. The method of claim 10, further including the steps of: selecting (330, 338) one or more application programs (213) that are to be executed to facilitate the establishment of the initial workspace (236), and executing (380) each of the selected one or more application programs (213). 12. The access system of claim 11, wherein the plurality of contexts (232) includes a Windows ® context and the step of executing (380) each of the selected one or more application programs (213) includes the step of placing (450) references to the one or more application programs (213) in a StartUp folder that is accessed when a Windows ® workspace is established. 13. A method of enabling a user to customize a login procedure for a computer system (280), comprising the steps of: creating a plurality of contexts (232), storing the plurality of contexts in a context selector (220) that is accessible to the user and is independent of the computer (280), selecting (330, 336) one or more selected contexts (223) from the plurality of contexts (232) in the context selector (220), and establishing (370) an initial workspace (236) on the computer system (280) based upon the one or more selected contexts (223). 14. A program module (220) for operation on a computer (280) that, when operated on the computer, enables a user to specify a login procedure (223) for optimizing a login modality of the computer (280), wherein the user specifies the login procedure by selecting one or more selected contexts (223) from a plurality of contexts (232) that are contained within the program module (220).

Inventors: DE GREEF BART L, DE GREEF, BART, L.
Applicants: KONINKL PHILIPS ELECTRONICS NV, KONINKLIJKE PHILIPS ELECTRONICS N.V.
Application year: 1999
Main classification: G06F1
IPC codes: G06F15, G06F21