Customer information control system application programming interface with transient data functions, in a loosely coupled data processing environment
First Claim
1. A method for implementing a customer information control system (CICS) application programming interface (API), with transient data queue functions, in a data processing environment, the method comprising the steps of:
- implementing a loosely coupled CICS region in the data processing environment, the loosely coupled CICS region including at least two of a plurality of machines and their respective address spaces;
providing at least one CICS-API operating system server (COSS) within the loosely coupled CICS region, each COSS operating in one of the at least two address spaces within the loosely coupled CICS region;
providing an information resource within the loosely coupled CICS region, the information resource including a file for holding a transient data queue; and
providing a suite of functions including the transient data queue functions in each COSS, each COSS being capable of coordinated interaction with any other COSS within the loosely coupled CICS region, and each COSS being able to directly access the transient data queue from anywhere in the loosely coupled CICS region irrespective of which address space the COSS is operating in, wherein there is no affinity between the address space in which each COSS is operating and the address space being occupied by the transient data queue, and wherein the information resource is shared by each COSS.
4 Assignments
0 Petitions
Accused Products
Abstract
A customer information control system (CICS) application programming interface (API), with transient data queue functions, in a loosely coupled data processing environment. In accordance with the purpose of the invention, as embodied and broadly described herein, the invention is directed to a method, system and computer readable medium including program instructions (hereafter collectively referred to as the “invention”). In particular, the invention includes implementing a loosely coupled CICS region in a data processing environment, the loosely coupled CICS region including at least two of a plurality of address spaces each of which being associated with a machine. The invention further includes providing at least one CICS-API operating system server (COSS) within the loosely coupled CICS region, each COSS operating in one of the at least two address spaces within the loosely coupled CICS region. The invention additionally includes providing an information resource within the loosely coupled CICS region, the information resource including a file for holding a transient data queue. Furthermore, the invention includes providing a suite of functions including the transient data queue functions in each COSS. Each COSS is capable of coordinated interaction with any other COSS within the loosely coupled CICS region. Notably, each COSS is also capable to directly access the transient data queue from anywhere in the loosely coupled CICS region irrespective of which address space the COSS is operating in. In one aspect of the invention, this COSS capability is achieved by way of implementing a caching scheme and a transient data process which is invoked by the respective COSS. Consequently, there is no affinity between the address space in which each COSS is operating and the address space being occupied by the transient data queue. Moreover, the information resource is shared by each COSS.
89 Citations
61 Claims
-
1. A method for implementing a customer information control system (CICS) application programming interface (API), with transient data queue functions, in a data processing environment, the method comprising the steps of:
-
implementing a loosely coupled CICS region in the data processing environment, the loosely coupled CICS region including at least two of a plurality of machines and their respective address spaces;
providing at least one CICS-API operating system server (COSS) within the loosely coupled CICS region, each COSS operating in one of the at least two address spaces within the loosely coupled CICS region;
providing an information resource within the loosely coupled CICS region, the information resource including a file for holding a transient data queue; and
providing a suite of functions including the transient data queue functions in each COSS, each COSS being capable of coordinated interaction with any other COSS within the loosely coupled CICS region, and each COSS being able to directly access the transient data queue from anywhere in the loosely coupled CICS region irrespective of which address space the COSS is operating in, wherein there is no affinity between the address space in which each COSS is operating and the address space being occupied by the transient data queue, and wherein the information resource is shared by each COSS. - 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, 25, 26, 27, 28)
initializing the loosely coupled CICS region.
-
-
25. A method according to claim 24, wherein at least one COSS is a proxy-COSS, and wherein the initializing step further includes the steps of:
-
initializing the proxy-COSS; and
initializing each remaining COSS.
-
-
26. A method according to claim 25, wherein the loosely coupled CICS region includes a configuration file which contains an access key, and tables of parameters which set the metes and bounds of the loosely coupled CICS region such as a destination control table and a system initialization table.
-
27. A method according to claim 26, wherein the proxy-COSS initializing step further includes the steps of:
-
creating each file named in the destination control table;
allocating a space in its internal cache memory for cached tables; and
creating a copy of the system initialization table and the destination control table in a second and third of the cached tables, respectively, a first table receiving a header and otherwise being initially empty.
-
-
28. A method according to claim 26, wherein the initializing of each remaining COSS, further includes the steps of:
-
allocating a space in its internal cache memory for cached tables;
obtaining the access key from the proxy-COSS; and
using the access key to gain access to the configuration file and copy therefrom the contents of the system initialization table and the destination control table into a second and third of the cached tables, respectively, a first table receiving a header and otherwise being initially empty.
-
-
29. A method for implementing a customer information control system (CICS) application programming interface (API), with transient data queue functions, in a data processing environment, the method comprising the steps of:
-
allocating an address region in the data processing environment, the address region being divided among a plurality of machines each of which defining an address space;
implementing a loosely coupled CICS region in the data processing environment, the loosely coupled CICS region including at least two of the plurality of machines and their respective address spaces;
providing at least one CICS-API operating system server (COSS) within the loosely coupled CICS region, each COSS operating in one of the plurality of address spaces within the loosely coupled CICS region;
providing an information resource within the loosely coupled CICS region, the information resource including a file for holding a transient data queue;
providing a suite of functions including the transient data queue functions in each COSS, each COSS being capable of coordinated interaction with any other COSS within the loosely coupled CICS region, each COSS being capable of carrying out a caching scheme utilizing cached tables by activating at least one transient data process for handling the transient data queue functions via the cached tables; and
initializing the loosely coupled CICS region in which each COSS is able to directly access the transient data queue from anywhere irrespective of which address space the COSS is operating in, wherein there is no affinity between the address space in which each COSS is operating and the address space being occupied by the transient data queue, and wherein the information resource is shared by each COSS. - View Dependent Claims (30, 31, 32, 33)
allocating a space for the cached tables, the cached tables including a first, a second and a third table, the first table for receiving transient data queue parameters, the second table for receiving system initialization table parameters and the third table for receiving destination control table parameters, the maximum size of each of the cached tables being stored in the second table;
responding to transient data function calls by;
performing a first table look-up for finding an element having a matching queue-identification;
validation information in the element if found, including a time-stamp for verifying that a file handle is current and can be used to access the transient data queue in that file;
building a new element in the first table, if an element with the matching queue identification is not found, by fetching the file information from a record in the third table which has a matching queue identification, obtaining the file handle, and storing the file handle and related information in the new element;
performing one of a read, write and delete functions on the transient queue within the file; and
commencing error handling based on occurrence of a failure in one of the foregoing 1-4 steps; and
returning to a corresponding application which runs under the particular COSS.
-
-
31. A method according to claim 30, wherein the error handling is a result of failures such as one of a file not found, a file cannot be opened, a queue identification not found, and queue parameters invalid.
-
32. A method according to claim 30, wherein the first table includes at least one linked list each of which being set up to contain a plurality of elements, each element including queue parameters such as a particular queue identification, time-stamp and file handle, and wherein the first table look-up step includes:
-
an indexing for locating one of the linked lists; and
a linked list search for finding an element with the particular queue identification that matches a queue identification passed with the transient data function call.
-
-
33. A method according to claim 32, wherein the indexing utilizes the passed queue identification and a CICS region identification for locating a selected linked list in the first table.
-
34. A system for providing a customer information control system (CICS) application programming interface (API), with transient data queue functions in, a data processing environment, the system comprising:
-
a loosely coupled CICS region, the loosely coupled CICS region including at least two of a plurality of machines and their respective address spaces;
at least one CICS-API operating system server (COSS) within the loosely coupled CICS region, each COSS operating in one of the at least two address spaces within the loosely coupled CICS region;
an information resource within the loosely coupled CICS region, the information resource including a file for holding a transient data queue; and
a suite of functions including the transient data queue functions provided in each COSS, each COSS being capable of coordinated interaction with any other COSS within the loosely coupled CICS region, and each COSS being able to directly access the transient data queue from anywhere in the loosely coupled CICS region irrespective of which address space the COSS is operating in, wherein there is no affinity between the address space in which each COSS is operating and the address space being occupied by the transient data queue, and wherein the information resource is shared by each COSS. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58)
creating each file named in the destination control table;
allocating a space in its internal cache memory for the cached tables based on a size value specified in the system initialization table; and
creating a copy of the system initialization table and the destination control table in a first and second of its cached tables, respectively.
-
-
58. A system according to claim 56, in which each remaining COSS is further capable of:
-
allocating a space in its internal cache memory for the cached tables;
obtaining the access key from the proxy-COSS; and
using the access key to gain access to the configuration file and copy therefrom the contents of the system initialization table and the destination control table into a first and second of its cached tables, respectively, a third table receiving a header and otherwise being initially empty.
-
-
59. A computer readable medium including program instructions executed in a data processing system environment for providing a customer information control system (CICS) application programming interface (API), with transient data queue functions, the program instructions for:
-
implementing a loosely coupled CICS region in a data processing environment, the loosely coupled CICS region including at least two of a plurality of address spaces, each associated with a machine;
providing at least one CICS-API operating system server (COSS) within the loosely coupled CICS region, each COSS operating in one of the at least two address spaces within the loosely coupled CICS region;
providing an information resource within the loosely coupled CICS region, the information resource including a file for holding a transient data queue; and
providing a suite of functions including the transient data queue functions in each COSS, each COSS being capable of coordinated interaction with any other COSS within the loosely coupled CICS region, and each COSS being able to directly access the transient data queue from anywhere in the loosely coupled CICS region irrespective of which address space the COSS is operating in, wherein there is no affinity between the address space in which each COSS is operating and the address space being occupied by the transient data queue, and wherein the information resource is shared by each COSS.
-
-
60. A computer readable medium including program instructions executed in a data processing system environment for providing a customer information control system (CICS) application programming interface (API), with transient data queue functions, the program instructions for:
-
allocating an address region in the data processing system environment, the address region being divided among a plurality of machines each of which defining an address space;
implementing a loosely coupled CICS region in the data processing system environment, the loosely coupled CICS region including at least two of the plurality of machines and their respective address spaces;
providing at least one CICS-API operating system server (COSS) within the loosely coupled CICS region, each COSS operating in one of the plurality of address spaces within the loosely coupled CICS region;
providing an information resource within the loosely coupled CICS region, the information resource including a file for holding a transient data queue;
providing a suite of functions including the transient data queue functions in each COSS, each COSS being capable of coordinated interaction with any other COSS within the loosely coupled CICS region, each COSS being capable of carrying out a caching scheme utilizing cached tables by activating at least one transient data process for handling the transient data queue functions via the cached tables; and
initializing the loosely coupled CICS region in which each COSS is able to directly access the transient data queue from anywhere irrespective of which address space the COSS is operating in, wherein there is no affinity between the address space in which each COSS is operating and the address space being occupied by the transient data queue, and wherein the information resource is shared by each COSS. - View Dependent Claims (61)
allocating space for the cached tables, the cached tables including a first, a second and a third table, the first table for receiving transient data queue parameters, the second table for receiving system initialization table parameters and the third table for receiving destination control table parameters, the maximum size of each of the cached tables being stored in the second table;
responding to transient data function calls by;
performing a first table look-up for finding an element having a matching queue-identification;
validation information in the element if found, including a time-stamp for verifying that a corresponding file handle is current and can be used to access the transient data queue in that file;
building a new element in the first table, if an element with the matching queue identification is not found, by fetching the file information from a record in the third table which has a matching queue identification, obtaining the file handle, and storing the file handle and related information in the new element;
performing one of a read, write and delete functions on the transient queue within the file;
commencing error handling based on occurrence of a failure in one of the foregoing 1-4 steps; and
returning to a corresponding application which runs under the particular COSS.
-
Specification