Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
305 words
In an operating system executing on a computer, a method of sharing dataspaces among a plurality of applications executing in the computer, the method comprising steps of: (a) initializing a Dataspace Services (DataServ) Subsystem in the computer, the initializing step further comprising the steps of obtaining storage for a DataServ Router Table (DSRT) in an Extended Common Storage Area (ECSA) provided by the operating system, anchoring the DSRT by storing a pointer thereto in a SubSystem Communications Vector Table (SSCVT) residing in the ESCA, wherein the SSCVT is accessible through the operating system; (b) executing a DataServ task in the computer, the executing step further comprising the steps of obtaining storage for a DataServ Vector Table (DSVT) in the ECSA, storing a job name for the DataServ task and a pointer to the DSVT in the DSRT, creating one or more dataspaces by invoking a utility of the operating system which returns STOKENs identifying the created dataspaces, obtaining storage for Dataspace Information Elements (DSIEs) in the ECSA, storing a pointer to the DSIEs in the DSVT, and storing the STOKENs in the DSIEs associated with the created dataspaces; (c) executing an application in the computer, the executing step further comprising the steps of accessing the SSCVT via the operating system to retrieve the pointer to the DSRT, searching the DSRT for the job name of a particular DataServ task, accessing the DSRT to retrieve the pointer to the DSVT associated with the job name and thus the particular DataServ task, accessing the DSVT to retrieve the pointer to the DSIEs, searching the DSIEs for a name of a particular dataspace, accessing the DSIE to retrieve the STOKEN associated with the particular dataspace, and using the STOKEN to provide direct addressability to the dataspace; and (d) repeating the executing step (c) for a plurality of applications.
Claim 2
Dependent Claim
305 words
In an operating system executing on a computer, a method of sharing dataspaces among a plurality of applications executing in the computer, the method comprising steps of: (a) initializing a Dataspace Services (DataServ) Subsystem in the computer, the initializing step further comprising the steps of obtaining storage for a DataServ Router Table (DSRT) in an Extended Common Storage Area (ECSA) provided by the operating system, anchoring the DSRT by storing a pointer thereto in a SubSystem Communications Vector Table (SSCVT) residing in the ESCA, wherein the SSCVT is accessible through the operating system; (b) executing a DataServ task in the computer, the executing step further comprising the steps of obtaining storage for a DataServ Vector Table (DSVT) in the ECSA, storing a job name for the DataServ task and a pointer to the DSVT in the DSRT, creating one or more dataspaces by invoking a utility of the operating system which returns STOKENs identifying the created dataspaces, obtaining storage for Dataspace Information Elements (DSIEs) in the ECSA, storing a pointer to the DSIEs in the DSVT, and storing the STOKENs in the DSIEs associated with the created dataspaces; (c) executing an application in the computer, the executing step further comprising the steps of accessing the SSCVT via the operating system to retrieve the pointer to the DSRT, searching the DSRT for the job name of a particular DataServ task, accessing the DSRT to retrieve the pointer to the DSVT associated with the job name and thus the particular DataServ task, accessing the DSVT to retrieve the pointer to the DSIEs, searching the DSIEs for a name of a particular dataspace, accessing the DSIE to retrieve the STOKEN associated with the particular dataspace, and using the STOKEN to provide direct addressability to the dataspace; and (d) repeating the executing step (c) for a plurality of applications.
Claim 3
Dependent Claim
51 words
The method of claim 1, further comprising the step of executing a communications subtask to support communications with an operator console, wherein the executing step comprises the steps of transmitting informational and error messages to an operator console, and receiving operator commands from the operator console to control the DataServ task.
Claim 4
Dependent Claim
36 words
The method of claim 1, wherein the initializing step (a) further comprises maintaining a list of pointers in the DSRT identifying a plurality of DataServ tasks and a plurality of DSVTs associated with the DataServ tasks.
Claim 5
Dependent Claim
39 words
The method of claim 1, wherein the executing step (b) further comprises storing a pointer to one or more Dataspace Information Elements (DSIEs) in the DSVT, the DSIEs storing the STOKEN of each dataspace created by the DataServ task.
Claim 6
Dependent Claim
26 words
The method of claim 4, wherein the executing step (c) further comprises updating the DSIEs whenever a dataspace is created and deleted by the DataServ task.
Claim 7
Dependent Claim
43 words
The method of claim 1, wherein the executing step (b) further comprises storing a pointer to one or more DataServ Application Descriptors (DSADs) in the DSVT, wherein the DSADs store a description of each application accessing a dataspace created by the DataServ task.
Claim 8
Dependent Claim
30 words
The method of claim 6, wherein the executing step (c) further comprises updating the DSADs whenever the application connects to and disconnects from the dataspaces owned by the DataServ task.
Claim 9
Dependent Claim
39 words
The method of claim 1, wherein the executing step (c) further comprises storing a pointer to one or more DataServ Connection Descriptors (DSCDs) in the application, wherein the DSCDs store a description of each dataspace accessed by the application.
Claim 10
Dependent Claim
29 words
The method of claim 8, wherein the executing step (c) further comprises updating the DSCDs whenever the application attaches to and detaches from dataspaces owned by the DataServ task.
Claim 11
Dependent Claim
12 words
The method of claim 1, wherein the utility comprises a DSPSERV macro-instruction.
Claim 12
Dependent Claim
50 words
The method of claim 1, wherein the executing step (c) further comprises invoking a ALESERV macro-instruction to add the STOKEN to an access list associated with the application, wherein the ALESERV macro-instruction returns an access list index for the STOKEN, thereby providing the application with direct addressability to the dataspace.
Claim 13
Dependent Claim
25 words
The method of claim 11, wherein the access list comprises a Dispatchable Unit Access List, thereby limiting access to the dataspace to only the application.
Claim 14
Dependent Claim
32 words
The method of claim 11, wherein the executing step (c) further comprises switching into an access register (AR) address space control (ASC) mode so that the application can directly address the dataspace.
Claim 15
Dependent Claim
44 words
The method of claim 13, further comprising loading the access list index of the STOKEN identifying the dataspace into an access register so the contents of both a general purpose register and the access register are resolved to a specific location in the dataspace.
Claim 16
Dependent Claim
47 words
The method of claim 1, wherein the executing step (c) further comprises accessing the dataspace using a Dataspace Access Exit (DSAX) routine, the DSAX routine being prepared in advance to provide customized access to dataspaces for the application, wherein the dataspace is arranged in any logical structure.
Claim 17
Independent Claim
275 words
A method of sharing data residing in a data-only address space among a plurality of applications executing in a computer, the method comprising the steps of: (a) initializing the data-only address space, the initializing step further comprising the steps of allocating the data-only address space in a memory location of the computer, loading data therein, allocating one or more control blocks in globally accessible memory locations of the computer, storing information in the control blocks that identifies the data-only address space, and establishing an anchor at a fixed location in the globally accessible memory that points to the control blocks; (b) executing an application, the executing step further comprising accessing the anchor at the fixed location, determining the globally accessible memory locations of the control blocks, accessing the control blocks at the determined locations, retrieving the information in the control blocks, resolving the information stored in the control blocks into an address for the memory location of the data-only address space, wherein the resolving step further comprises: (1) invoking a ALESERV macro-instruction to add an STOKEN identifying the dataspace to an access list attached to the application, wherein the ALESERV macro-instruction returns an access list index for the STOKEN, (2) switching into an access register (AR) address space control (ASC) mode so that the application can directly address the dataspace, and (3) loading the dataspace into an access register so the contents of both a general purpose register and the access register are resolved to a specific location in the dataspace, and accessing the data in the data-only address spaces using the address; and (c) repeating the executing step (b) for a plurality of applications.
Claim 18
Independent Claim
275 words
A method of sharing data residing in a data-only address space among a plurality of applications executing in a computer, the method comprising the steps of: (a) initializing the data-only address space, the initializing step further comprising the steps of allocating the data-only address space in a memory location of the computer, loading data therein, allocating one or more control blocks in globally accessible memory locations of the computer, storing information in the control blocks that identifies the data-only address space, and establishing an anchor at a fixed location in the globally accessible memory that points to the control blocks; (b) executing an application, the executing step further comprising accessing the anchor at the fixed location, determining the globally accessible memory locations of the control blocks, accessing the control blocks at the determined locations, retrieving the information in the control blocks, resolving the information stored in the control blocks into an address for the memory location of the data-only address space, wherein the resolving step further comprises: (1) invoking a ALESERV macro-instruction to add an STOKEN identifying the dataspace to an access list attached to the application, wherein the ALESERV macro-instruction returns an access list index for the STOKEN, (2) switching into an access register (AR) address space control (ASC) mode so that the application can directly address the dataspace, and (3) loading the dataspace into an access register so the contents of both a general purpose register and the access register are resolved to a specific location in the dataspace, and accessing the data in the data-only address spaces using the address; and (c) repeating the executing step (b) for a plurality of applications.
Claim 19
Independent Claim
234 words
An apparatus for sharing a dataspace stored in a memory of a computer among a plurality of applications executing in the computer, comprising: (a) a dataspace services task, executing in the computer, for establishing a dataspace in the memory of the computer; (b) one or more control blocks, stored in globally accessible locations in the memory of the computer and anchored by a pointer in a fixed location, for storing information therein identifying the dataspace services task and the dataspace established thereby; and (c) an application interface, linked to each of a plurality of applications executing in the computer, comprising means for resolving the information stored in the control blocks into an address for the dataspace, wherein the means for resolving further comprises: (1) means for invoking a ALESERV macro-instruction to add an STOKEN identifying the dataspace to an access list attached to the application, wherein the ALESERV macro-instruction returns an access list index for the STOKEN, (2) means for switching into an access register (AR) address space control (ASC) mode so that the application can directly address the dataspace, and (3) means for loading the access list index of the STOKEN identifying the dataspace into an access register so the contents of both a general purpose register and the access register are resolved to a specific location in the dataspace, and means for transferring data between the dataspace and one of the applications.
Claim 20
Independent Claim
234 words
An apparatus for sharing a dataspace stored in a memory of a computer among a plurality of applications executing in the computer, comprising: (a) a dataspace services task, executing in the computer, for establishing a dataspace in the memory of the computer; (b) one or more control blocks, stored in globally accessible locations in the memory of the computer and anchored by a pointer in a fixed location, for storing information therein identifying the dataspace services task and the dataspace established thereby; and (c) an application interface, linked to each of a plurality of applications executing in the computer, comprising means for resolving the information stored in the control blocks into an address for the dataspace, wherein the means for resolving further comprises: (1) means for invoking a ALESERV macro-instruction to add an STOKEN identifying the dataspace to an access list attached to the application, wherein the ALESERV macro-instruction returns an access list index for the STOKEN, (2) means for switching into an access register (AR) address space control (ASC) mode so that the application can directly address the dataspace, and (3) means for loading the access list index of the STOKEN identifying the dataspace into an access register so the contents of both a general purpose register and the access register are resolved to a specific location in the dataspace, and means for transferring data between the dataspace and one of the applications.
Claim 21
Dependent Claim
286 words
An application interface for a plurality of applications accessing a shared dataspace located in a computer memory, comprising: (a) means for attaching the application interface to the applications; (b) means for invoking the application interface from one of the applications to access the shared dataspace; and (c) means for passing parameters to the application interface to control access to the shared dataspace, the means for passing parameters comprising means for passing: (1) a BLOCK parameter containing a binary relative block number that identifies a specific block of data in the dataspace; (2) a KEY parameter containing a value that is used during access calls to identify a record within the specific block of data; (3) a BUFFER parameter containing an address to a working storage area in the application that is used to move data to or from the dataspace; (4) a WORK AREA parameter for storing an address to a working storage area within the DataServ task; (5) a CALL CODE parameter containing a value that indicates an initialization, access, and end-of-job access to the dataspace; (6) a DSAX NAME parameter containing a left justified, blank padded name of a DataServ Access Exit (DSAX) routine to use during access calls; (7) a SYSTEM NAME parameter containing a name for the DataServ task; (8) a Dataspace LIST parameter containing a two-byte binary number of the dataspaces owned by the DataServ task followed by a list of left justified, blank padded, 8 byte names for the dataspaces; (9) a Dataspace NAME parameter containing a name of a dataspace; (10) an APPLICATION ID parameter containing identifier of the application; and (11) a USER PARAMETER LIST parameter containing a pointer to an optional parameter list for the DSAX routine.
Claim 22
Dependent Claim
286 words
An application interface for a plurality of applications accessing a shared dataspace located in a computer memory, comprising: (a) means for attaching the application interface to the applications; (b) means for invoking the application interface from one of the applications to access the shared dataspace; and (c) means for passing parameters to the application interface to control access to the shared dataspace, the means for passing parameters comprising means for passing: (1) a BLOCK parameter containing a binary relative block number that identifies a specific block of data in the dataspace; (2) a KEY parameter containing a value that is used during access calls to identify a record within the specific block of data; (3) a BUFFER parameter containing an address to a working storage area in the application that is used to move data to or from the dataspace; (4) a WORK AREA parameter for storing an address to a working storage area within the DataServ task; (5) a CALL CODE parameter containing a value that indicates an initialization, access, and end-of-job access to the dataspace; (6) a DSAX NAME parameter containing a left justified, blank padded name of a DataServ Access Exit (DSAX) routine to use during access calls; (7) a SYSTEM NAME parameter containing a name for the DataServ task; (8) a Dataspace LIST parameter containing a two-byte binary number of the dataspaces owned by the DataServ task followed by a list of left justified, blank padded, 8 byte names for the dataspaces; (9) a Dataspace NAME parameter containing a name of a dataspace; (10) an APPLICATION ID parameter containing identifier of the application; and (11) a USER PARAMETER LIST parameter containing a pointer to an optional parameter list for the DSAX routine.