Method and system for a session allocation manager (“SAM”)
First Claim
1. A system for managing multiple connections between a plurality of clients and a host, comprising:
- a receiver that receives a connection request from a requesting client of the plurality of clients for a session with the host, wherein a session contains directions for managing data communications between the requesting client and the host;
a session locator that locates the session from a collection of sessions;
a host locator that locates the host from a collection of hosts, and associates the host with the session; and
a session allocator that allocates the session to the requesting client.
25 Assignments
0 Petitions
Accused Products
Abstract
A Session Allocation Manager (“SAM”) manages multiple client connections to a limited number of host terminal sessions. The SAM also minimizes the latency involved in creating and terminating a host session. The SAM may reside on a server in the communication path between the client and the host session. Host data objects may use the SAM to associate a client connection to a host session. The SAM monitors the session activity and enforces inactivity timeouts. The SAM also attempts to reestablish a host session when it fails. In an environment having only a limited number of available terminal sessions, the SAM may control the session by creating a session window. A connection mechanism directed by the client may then request a session window from the SAM. If multiple clients ask for the same connection mechanism, the SAM may dedicate a particular session window to a particular type of connection mechanism.
-
Citations
53 Claims
-
1. A system for managing multiple connections between a plurality of clients and a host, comprising:
-
a receiver that receives a connection request from a requesting client of the plurality of clients for a session with the host, wherein a session contains directions for managing data communications between the requesting client and the host;
a session locator that locates the session from a collection of sessions;
a host locator that locates the host from a collection of hosts, and associates the host with the session; and
a session allocator that allocates the session to the requesting client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
a data transmission manager associated with each session in the collection of sessions; and
a data transporter that passes data between the requesting client and the host as directed by the data transmission manager.
-
-
3. The system recited in claim 1 wherein the host locator creates a communications link to the host.
-
4. The system of claim 1, further comprising:
a host configuration updater that receives host configuration update data and associates the host configuration update data with the host, wherein the configuration request contains configuration parameters for the session and for each connection request from the requesting client, the host locator determines if host configuration update data has been received for the host and, if so, replaces at least a portion of the configuration parameters received in the connection request with the host configuration update data.
-
5. The system of claim 1 wherein the host locator creates a communication link to the host before receiving the connection request from the requesting client.
-
6. The system claim 1 wherein the connection request has a format of a connection object of a data structure that provides data communication between clients and hosts and wherein the session utilizes the format for data communications between the requesting client and the host.
-
7. The system of claim 1, further comprising a configuration receiver that receives configuration parameters that include a password for accessing the host.
-
8. The system of claim 1 wherein the host is a screen-based computer application and wherein the session allocator invokes a data transfer procedure for passing data from the requesting client to the host in a screen based format and invokes another data transfer procedure for passing data from the host to the requesting client in a format of the requesting client.
-
9. The system of claim 1 wherein the host is a screen-based application having at least one target screen that receives data, further comprising a configuration receiver that receives configuration parameters specifying the at least one target screen in the screen-based application and specifying a path for reaching the at least one target screen.
-
10. The system claim 1 wherein the host is a customer information control system (“
- CICS”
), and wherein the session allocator invokes a data transfer procedure for passing data from the requesting client to the host in a CICS format and invokes another data transfer procedure for passing data from the host to the requesting client in a format of the requesting client.
- CICS”
-
11. The system of claim 1 wherein the host is a customer information control system (“
- CICS”
), and wherein the session allocator invokes a data transfer procedure that passes data from the requesting client to the host by mapping a transaction repository name received from a session direction to a CICS transaction repository file.
- CICS”
-
12. The system of claim 1 wherein the session allocator monitors data passing between the host and requesting client and de-allocates the session from the requesting client if no data passes between the host and requesting client during a predetermined time period.
-
13. The system of claim 1 wherein the session allocator limits the data transmissions of the requesting client with the host to data transmissions specified by configuration parameters previously received by the session allocator.
-
14. The system of claim 1 wherein the session allocator disassociates the host and the session upon receipt of a disconnection request.
-
15. The system of claim 1 wherein the session allocator sends an error message to the client if the session cannot be allocated to the requesting client.
-
16. The system of claim 1, further comprising:
a data repository that contains the collection of sessions and the collection of hosts, wherein the session allocator restores connections between the host and the session utilizing information in the data repository if the connection is terminated inadvertently.
-
17. The system claim 1 wherein the session allocator serializes data passage between the session and the client to a linear stream.
-
18. The system of claim 1 wherein the session allocator pools more than one session from the collection of sessions together to form a pool session having a session name, and wherein a connection request having the session name for the pool session invokes allocation of a session within the pool session to the requesting client.
-
19. The system of claim 18 wherein the session allocated by the session allocator from the pool session is selected on a first-in-first-out (FIFO) basis.
-
20. The system of claim 18 wherein the session allocator reserves a session within the pool session for priority use.
-
21. The system of claim 1 wherein if the session locator cannot locate the session from the collection of sessions, then the session locator creates a session according to the connection request.
-
22. The system of claim 1 wherein the host locator performs a logon sequence with the host.
-
23. The system of claim 1 wherein the host locator performs a logoff sequence with the host after receiving a disconnection request from the requesting client.
-
24. The system of claim 1 wherein if the receiver receives multiple connection requests for the host, then the session allocator dedicates the session to the host.
-
25. A method for managing multiple connections between clients and hosts, comprising:
-
for each client connection request;
receiving a connection request that includes a host name, a session name, and configuration parameters that include access procedures for sending and receiving data between the host and the client;
matching the session name with a name in a collection of session names;
accessing a session having the matching name from the collection of session names;
locating a host matching the host name from a collection of host names;
connecting the matching host to the accessed session;
allocating the accessed session to the client; and
passing data between the client and the matching host through the accessed session, wherein data passage is managed by the accessed session using the configuration parameters. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
receiving host configuration update data for a specified host and associating the host configuration update data with a corresponding host in the collection of host names; and
for each client connection request;
determining if host configuration update data has been received for the matching host; and
replacing at least a portion of the configuration parameters received in the connection request with the host configuration update data if host configuration update data has been received for the matching host.
-
-
27. The method of claim 25 wherein the matching host is connected to the accessed session before receiving the client connection request.
-
28. The method of claim 25 wherein the client connection request has a format of a connection object of a data structure that establishes data communications between clients and hosts, and wherein the session utilizes the format for data communication between the matching host and the client.
-
29. The method of claim 25 wherein the configuration parameters include passwords for accessing the matching host.
-
30. The method of claim 25 wherein the matching host is a screen-based computer application and wherein passing data from the client to the matching host entails formatting data suitable for transmission to a screen based computer program, and wherein passing data from the matching host to the client entails formatting data from a screen-based format into a format of the client.
-
31. The method of claim 25 wherein the matching host is a screen-based application having at least one target screen that receives data and wherein the configuration parameters specify the at least one target screen in the screen-based application and specify a path for reaching the target screen.
-
32. The method of claim 25 wherein the matching host is a customer information control system (“
- CICS”
) and wherein passing data from the client to the matching host includes formatting data into a CICS format, and wherein passing data from the matching host to the client entails formatting data from a CICS format into a format of the client.
- CICS”
-
33. The method of claim 25 wherein the matching host is a customer information control system (“
- CICS”
), and wherein passing data from the client to the matching host entails mapping a transaction repository name in the configuration parameters to a CICS transaction repository file.
- CICS”
-
34. The method of claim 25 wherein the accessed session monitors the data passing between the matching host and the client and deallocates the accessed session from the client if no data passes between the matching host and the client during a predetermined time period.
-
35. The method of claim 25 wherein the accessed session restricts the client'"'"'s interactions with the matching host to interactions specified by the configuration parameters.
-
36. The method of claim 25, further comprising disconnecting the matching host and the accessed session upon receipt of a disconnection request.
-
37. The method of claim 25, further comprising sending an error message to the client if the accessed session cannot be allocated to the client.
-
38. The method of claim 25, further comprising:
-
storing the collection of session names in a data repository;
storing the collection of host names in the data repository;
storing information pertaining to completed connections between matching hosts and sessions in the data repository; and
restoring connections between matching hosts and sessions using information in the data repository if connections are terminated unintentionally.
-
-
39. The method of claim 25 wherein data passage between the session and the client is serialized to a linear stream.
-
40. The method of claim 25, further comprising combining more than one session from the collection of sessions together to form a pool session having a session name, and wherein a connection request having the session name for the pool session will allocate a session within the pool session to the client.
-
41. The method of claim 40 wherein the session allocated from the pool session is selected on a first-in-first-out (FIFO) basis.
-
42. The method of claim 40 wherein a session within the pool session may be reserved for priority use.
-
43. The method of claim 25 wherein if a session cannot be accessed having the matching name from the collection of session names, then creating a session according to other data provided in the connection request.
-
44. The method of claim 25, further comprising performing a logon sequence with the matching host.
-
45. The method of claim 25, further comprising performing a logoff sequence with the matching host after receiving a disconnection request from the client.
-
46. The method of claim 25 wherein if multiple connection requests are received for the same host name, then dedicating a session to the matching host.
-
47. A session allocation manager, comprising:
-
a first interface that transmits instructions for creating and controlling sessions, wherein each session contains directions for managing data communications between a client of a plurality of clients and a host of a plurality of hosts;
a second interface that accesses a requested session and allocates the requested session to the client of the plurality of clients that has requested the requested session; and
a third interface that establishes a communications link with the host of the plurality of hosts according to instructions provided by at least one session of the sessions and makes the communications link available to the at least one session of the sessions. - View Dependent Claims (48, 49, 50, 51)
-
-
52. In a computing system performing a method for managing multiple connections between clients and hosts, a computer-readable medium having a data structure, comprising:
-
a first data field that holds instructions for creating and controlling a plurality of sessions, wherein each session contains directions for managing data communications between a client and a host;
a second data field that holds instructions for accessing a session of the plurality of sessions and allocating the session to a client that has requested the session;
a third data field that holds instructions for establishing a communications link with the host; and
a fourth data field that holds instructions for making the communications link available to at least one session of the plurality of sessions. - View Dependent Claims (53)
a fifth data field that holds instructions for controlling messages passing between the host and client and for altering instructions in the first, second, third, and fourth data fields.
-
Specification