Mechanism for enabling session information to be shared across multiple processes
First Claim
1. A computer system, comprising:
- a memory-mapped file;
a first server process, said first server process servicing a first request pertaining to a particular session, said first server process storing session information pertaining to said particular session in said memory-mapped file; and
a second server process, said second server process servicing a second request pertaining to said particular session, said second server process accessing said session information from said memory-mapped file and using said session information to service said second request;
wherein said memory-mapped file is mapped to at least a portion of a virtual memory space of said first server process and at least a portion of a virtual memory space of said second server process.
3 Assignments
0 Petitions
Accused Products
Abstract
A mechanism for enabling session information to be shared across multiple processes in a multi-process environment is disclosed. There is provided a shared persistent memory-mapped file in a file system, which is mapped to the memory space of each of the processes. This file is used by all of the processes to store session information. Because the memory space of each process is mapped to the shared file, each process is able to access and manipulate all of the sessions in the system. Thus, sessions are no longer maintained on a process-specific basis. Rather, they are maintained on a centralized, shared basis. As a result, different requests pertaining to the same session may be serviced by different server processes without any adverse effects. Each process will be able to access and manipulate all of the state information pertaining to that session. By enabling session information to be shared, this mechanism eliminates the session management errors experienced by the prior art.
140 Citations
21 Claims
-
1. A computer system, comprising:
-
a memory-mapped file;
a first server process, said first server process servicing a first request pertaining to a particular session, said first server process storing session information pertaining to said particular session in said memory-mapped file; and
a second server process, said second server process servicing a second request pertaining to said particular session, said second server process accessing said session information from said memory-mapped file and using said session information to service said second request;
wherein said memory-mapped file is mapped to at least a portion of a virtual memory space of said first server process and at least a portion of a virtual memory space of said second server process. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method for servicing requests, comprising:
-
instantiating a first server process;
instantiating a second server process;
receiving a first request pertaining to a particular session;
servicing said first request with said first server process, said first server process storing session information pertaining to said particular session in a memory-mapped file;
receiving a second request pertaining to said particular session; and
servicing said second request with said second server process, said second server process accessing said session information from said memory-mapped file and using said session information to service said second request;
mapping at least a portion of a virtual memory space of said first server process to said memory-mapped file; and
mapping at least a portion of a virtual memory space of said second server process to said memory-mapped file. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer readable medium having stored thereon instructions which, when executed by one or more processors, cause the one or more processors to service requests, said computer readable medium comprising
instructions for causing one or more processors to instantiate a first server process; -
instructions for causing one or more processors to instantiate a second server process;
instructions for causing one or more processors to receive a first request pertaining to a particular session;
instructions for causing one or more processors to service said first request with said first server process, said first server process storing session information pertaining to said particular session in a memory-mapped file;
instructions for causing one or more processors to receive a second request pertaining to said particular session; and
instructions for causing one or more processors to service said second request with said second server process, said second server process accessing said session information from said memory-mapped file and using said session information to service said second request;
instructions for causing one or more processors to map at least a portion of a virtual memory space of said first server process to said memory-mapped file; and
instructions for causing one or more processors to map at least a portion of a virtual memory space of said second server process to said memory-mapped file. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification