Method and apparatus for coupling data processing systems
First Claim
1. An apparatus for sharing data among two or more processes executing in one or more Central Electronic Complexes (CEC'"'"'s), said apparatus comprising:
- a) A structured External Storage (SES) processor connected to at least one of said CEC'"'"'s and comprising;
i) data structure means for storing said data, comprising a list structure and a cache structure;
ii) one or more message processor means for interacting with said data structure means and interacting with a Support Facility (SF) in said one of said CEC'"'"'s, one of said one or more message processor means comprising registration means for registration of interest in status relating to a data item in said data structure by one of said two or more processes;
b) Said SF in said one of said CEC'"'"'s comprising;
i) vector means for indicating said status relating to a data item in said item in said data structure;
ii) a first instruction means for defining saidiii) a second instruction means for polling said vector means; and
c) Communication means within said one of said one or more CEC'"'"'s for communicating messages between said SES and said one of said one or more CEC'"'"'s.
2 Assignments
0 Petitions
Accused Products
Abstract
A Structured External Storage (SES) device/processor is connected to two or more DP systems, thereby loosely coupling the systems. The SES is capable of holding data objects of two distinct types (List objects and Cache objects), and communicates commands and command responses with the systems using a message protocol. A support facility within a processor on which a system is executing receives status indications from the SES without interrupting mainline system execution. Within the SES, a serialization mechanism allows more than one command to execute in parallel without loss of data object integrity, or command consistency. A forward completion mechanism sends to systems early notification of completion of certain commands, without permitting results inconsistent with this notification to be obtained by the systems. And a restart mechanism permits interrupted commands to be restarted by the initiating system or, in certain cases, by another system.
262 Citations
24 Claims
-
1. An apparatus for sharing data among two or more processes executing in one or more Central Electronic Complexes (CEC'"'"'s), said apparatus comprising:
-
a) A structured External Storage (SES) processor connected to at least one of said CEC'"'"'s and comprising; i) data structure means for storing said data, comprising a list structure and a cache structure; ii) one or more message processor means for interacting with said data structure means and interacting with a Support Facility (SF) in said one of said CEC'"'"'s, one of said one or more message processor means comprising registration means for registration of interest in status relating to a data item in said data structure by one of said two or more processes; b) Said SF in said one of said CEC'"'"'s comprising; i) vector means for indicating said status relating to a data item in said item in said data structure; ii) a first instruction means for defining said iii) a second instruction means for polling said vector means; and c) Communication means within said one of said one or more CEC'"'"'s for communicating messages between said SES and said one of said one or more CEC'"'"'s.
-
-
2. An apparatus for sharing data among two or more processes executing in one or more Central Electronic Complexes (CEC'"'"'s), said apparatus comprising:
-
a) A structured External Storage (SES) processor connected to at least one of said CEC'"'"'s and comprising; i) data structure means for storing said data, comprising one or more data objects; ii) two or more message processor means for interacting with said data structure means and interacting with a support facility in said one of said CEC'"'"'s, to perform a command; iii) serialization means accessed by said two or more message processor means for serializing command processing between said two or more message processor means; and b) Communication means within said one of said one or more CEC'"'"'s for communicating messages between said SES and said one of said one or more CEC'"'"'s. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus for sharing data among two or more processes executing in one or more Central Electronic Complexes (CEC'"'"'s), said apparatus comprising:
-
a) A structure External Storage (SES) processor connected to at least one of said CEC'"'"'s and comprising; i) data structure means for storing said data, comprising one or more data objects and a directory comprising one or more directory elements locating each of said one or more data objects, and a buffer means for receiving an input data object; ii) one or more message processor means for interacting with said data structure means, and interacting with a support facility (SF) in said one of said CEC'"'"'s, to perform a command for one of said one or more processes; b) Said SF in said one of said CEC'"'"'s comprising means for receiving status notifications from said SES without interrupting processing in said one of said CEC'"'"'s; and c) Communications means within said one of said one or more CEC'"'"'s for communicating messages between said SES and said one of said one or more CEC'"'"'s.
-
-
11. An apparatus for sharing data among two or more processes executing in one or more Central Electronic Complexes (CEC'"'"'s), said apparatus comprising:
-
a) A Structured External Storage (SES) processor connected to at least one of said CEC'"'"'s and comprising; i) data structure means for storing said data, comprising one or more data objects, ii) one or more message processor means for interacting with said data structure means, and interacting with a support facility (SF) in said one of said CEC'"'"'s, to perform a command on behalf of one of said one or more processes; iii) forward completion means, operably connected to said one or more message processor means for returning a command completion indication to said one of said one or more processes before final processing of said command by said one or more message processor means, while ensuring that none of said two or more processes will subsequently detect a result inconsistent with said final processing; b) Said SF in said one of said CEC'"'"'s comprising means for receiving status notifications from said SES without interrupting processing in said one of said CEC'"'"'s; and c) Communications means within said one of said one or more CEC'"'"'s for communicating messages between said SES and said one of said one or more CEC'"'"'s. - View Dependent Claims (12, 13, 14)
-
-
15. An apparatus for restarting commands in a system complex comprising one or more Central Electronic Complexes (CEC'"'"'s), each controlled by an operating system and attached to a Structured External Storage (SES) processor by a link, said apparatus comprising:
-
a) Command message means for transmitting a command request to said SES from a first program process in a first one of said one or more CEC'"'"'s, said command request initiating a command process in said SES; b) Command message processing means in said SES, for performing said command process; c) Timeout means in said SES for detecting expiration of a SES model-dependent timeout interval during executing of said command process, and suspending execution of said command process at a point of suspension; and d) reinitiation means in said SES for restarting said command process at said point of suspension at request of a second program process in any of the one or more CEC'"'"'s. - View Dependent Claims (16, 17)
-
-
18. A method for updating a data structure within a Structured External Storage (SES) processor by a process executing in a Central Electronic Complex (CEC) attached to said SES, said data structure having data entries each located by a directory entry in a directory, said method comprising the steps of:
-
a) formulating and initiating the transmission to the SES, by said process, of a command comprising a command object and a data object, b) selecting a message processor to process said command, by a message processor selector within the SES, c) allocating a new data area within the SES by said message processor; d) copying said data object to said new data area by said message processor; and e) placing an address of said new data area in an associated directory entry in said directory, by said message processor, after said step of copying.
-
-
19. A method for performing a command process within a Structured External Storage (SES) processor, said process being initiated by a command transmitted to the SES by a program in a Central Electronic Complex (CEC) attached to the SES, said method comprising the steps of:
-
a) selecting a message processor within the SES to perform said command process; b) performing a portion of said command process by said message processor and returning a completion indication to said program, said portion being less than all of said command process; and c) performing a remaining portion of said command process by said message processor and, if said remaining portion results in less than all of said command process being performed, setting a damage indicator in the SES to prevent further access to data within the SES. - View Dependent Claims (20, 21, 22)
-
-
23. A method for performing a command process within a Structured External Storage (SES) processor, said process being initiated by a command transmitted to the SES by a first program in a first Central Electronic Complex (CEC) attached to the SES, said method comprising the steps of:
-
a) selecting a message processor within the SES to perform said command process; b) performing a portion of said command process by said message processor and storing checkpoint data for restarting said command at a point of suspension; c) transmitting said command to said SES by a second program in a second CEC; and d) accessing said checkpoint data by said message processor and continuing said command process from said point of suspension, in response to said command transmitted by said second program.
-
-
24. A method for performing a command process within a Structured External Storage (SES) processor, said process being initiated by a first command transmitted to the SES by a program in a Central Electronic Complex (CEC) attached to the SES, said method comprising the steps of:
-
a) selecting a message processor within the SES to perform said command process; b) performing a portion of said command process by said message processor and returning to said program a restart token; c) transmitting to said SES, by said program, a second command comprising said restart token; and d) receiving said restart token by said message processor, and using said restart token as a start position indicator to continue said command process from said point of suspension, in response to said second command.
-
Specification