Method for providing user global object name space in a multi-user operating system
First Claim
1. In a multi-user operating system environment, a method for enabling multiple users to execute simultaneously an application program developed for execution by only a single user at a time without modifying the application program, the method comprising:
- (a) associating a unique identifier with each user executing a copy of the single-user application program in the multi-user operating system environment; and
(b) assigning to an instance of an object created by an execution of one copy of the single-user application program a unique tag that includes the unique identifier associated with the user executing that one copy of the application program to distinguish that instance of the object from another instance of the object created by an execution of another copy of the application program executed by another user, thereby enabling multiple instances of the same object generated by simultaneously executing copies of the application program to coexist in the multi-user operating system environment.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, suitable for use in client/server system, which allows multiple copies of a single-user application to run simultaneously in a multi-user operating system without modification of the single-user program, by modifying existing operating system methods used for object name creation, look-up, and deletion. The method creates a user global context by labeling each instance of the single-user application with a user identifier (name) that defines a single-user name space in which each labeled object is only available to the named user. In addition, the single-user server process is allowed to impersonate the client for allowing the server to access the named resources of the single-user name space. A coexisting system global context is also created by marking system global named resources.
121 Citations
26 Claims
-
1. In a multi-user operating system environment, a method for enabling multiple users to execute simultaneously an application program developed for execution by only a single user at a time without modifying the application program, the method comprising:
-
(a) associating a unique identifier with each user executing a copy of the single-user application program in the multi-user operating system environment; and
(b) assigning to an instance of an object created by an execution of one copy of the single-user application program a unique tag that includes the unique identifier associated with the user executing that one copy of the application program to distinguish that instance of the object from another instance of the object created by an execution of another copy of the application program executed by another user, thereby enabling multiple instances of the same object generated by simultaneously executing copies of the application program to coexist in the multi-user operating system environment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for creating a user global context for allowing an application program developed for execution by only a single user at a time to operate in a multi-user operating system environment without modifying the single user application program, and for providing a coexisting system global context by modifying the operating system methods used for object name creation, look-up, and deletion, the method comprising:
-
(a) establishing a user global context by assigning a unique tag to each instance of an object and to each copy of the single-user application program, the unique tag assigned to each instance of the object identifying that single user and creating a distinct single-user name space by identifying that instance of the object as being globally available to the single user only;
(b) enabling a server process that is serving the application program of the single user to impersonate the single user by assuming the identity of the single-user process, thereby allowing the server process to access the single-user name space; and
(c) establishing a system global context by labeling each system global named resource by adding a system global identifier to each of the system global named resource'"'"'s associated executable files and dynamically linkable library files. - View Dependent Claims (18)
-
-
19. A method for enabling concurrent execution of multiple instances of a single-user application program in a multi-user operating system environment without modifying the single-user application program, the method comprising the steps of:
-
associating with each process executing one of the multiple instances of the single-user application a unique identifier that includes an identifier of the single user executing that process;
generating a different instance of an object for each process using that object during execution of the instances of the single-user application program;
assigning each object instance with a label that uniquely associates that object instance with the unique identifier of the process using that object instance; and
limiting use of each object instance to the process with the unique identifier that is uniquely associated with the label of that object instance. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
Specification