Cross-system data piping using an external shared memory
First Claim
Patent Images
1. An article of manufacture comprising:
- at least one computer useable medium having computer readable program code means embodied therein for causing cross-system data piping, the computer readable program code means in said article of manufacture comprising;
computer readable program code means for causing a computer to effect writing data, by a writer of a first system, to a pipe located within an external shared memory, said first system having a first operating system image and said external shared memory having processing capabilities, wherein said first operating system image manages one or more hardware resources through allocation and deallocation of said one or more hardware resources; and
computer readable program code means for causing a computer to effect reading data from said pipe by a reader of a second system, wherein said second system has a second operating system image, said second operating system image managing one or more hardware resources through allocation and deallocation of said one or more hardware resources, and wherein said external shared memory is coupled to said first system and said second system such that said pipe is separate from said first and second systems.
1 Assignment
0 Petitions
Accused Products
Abstract
Data is written to and read from a shared pipe by applications of multiple systems. At least one shared pipe is located within an external shared memory coupled to one or more central processing complexes. Each of the central processing complexes has one or more operating system images, which controls execution of one or more piping applications. At least one piping application corresponding to at least one operating system image writes data to a shared pipe located in the external shared memory and at least one other application corresponding to one or more other operating system images reads data from the same shared pipe, thereby providing cross-system data piping.
77 Citations
26 Claims
-
1. An article of manufacture comprising:
-
at least one computer useable medium having computer readable program code means embodied therein for causing cross-system data piping, the computer readable program code means in said article of manufacture comprising;
computer readable program code means for causing a computer to effect writing data, by a writer of a first system, to a pipe located within an external shared memory, said first system having a first operating system image and said external shared memory having processing capabilities, wherein said first operating system image manages one or more hardware resources through allocation and deallocation of said one or more hardware resources; and
computer readable program code means for causing a computer to effect reading data from said pipe by a reader of a second system, wherein said second system has a second operating system image, said second operating system image managing one or more hardware resources through allocation and deallocation of said one or more hardware resources, and wherein said external shared memory is coupled to said first system and said second system such that said pipe is separate from said first and second systems. - 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, 25, 26)
computer readable program code means for causing said computer to effect assigning a pipe header group to said pipe, said pipe header group being located within said external shared memory;
computer readable program code means for causing said computer to effect creating a directory entry for said pipe in a pipe directory located within said external shared memory;
computer readable program code means for causing said computer to effect creating a pipe connection table within said external shared memory to track connections to said pipe; and
computer readable program code means for causing said computer to effect adding an entry in said pipe connection table for one of said writer and said reader requesting allocation of said pipe.
-
-
11. The article of manufacture of claim 10, wherein said pipe header group, said pipe directory and said pipe connection table are located within a list structure located within said external shared memory.
-
12. The article of manufacture of claim 9, wherein said computer readable program code means for causing a computer to effect allocating comprises the following, when said pipe is an existing pipe:
-
computer readable program code means for causing said computer to effect comparing one or more characteristics of said pipe with one or more characteristics specified by one of said writer and said reader requesting allocation of said pipe; and
computer readable program code means for causing said computer to effect adding a connection entry to a pipe connection table within said external shared memory for said one of said writer and said reader requesting allocation of said pipe, when said comparison is satisfactory.
-
-
13. The article of manufacture of claim 9, further comprising computer readable program code means for causing a computer to effect opening a connection to said pipe.
-
14. The article of manufacture of claim 13, wherein said computer readable program code means for causing a computer to effect opening comprises:
-
computer readable program code means for causing said computer to effect updating a connection entry in a pipe connection table located within said external shared memory to indicate open processing;
computer readable program code means for causing said computer to effect creating one or more buffer blocks for a free buffer queue located within said external shared memory;
computer readable program code means for causing said computer to effect activating header transition monitoring;
computer readable program code means for causing said computer to effect updating a writer count or a reader count in said pipe connection table depending on whether said writer or said reader is requesting said open; and
computer readable program code means for causing said computer to effect sending a message to any suspended open requests, when a desired number of reader and writer connections have been opened as indicated by at least one of said reader count and said writer count, to indicate open processing can continue for any suspended open requests.
-
-
15. The article of manufacture of claim 14, wherein said pipe connection table and said free buffer queue are located within a list structure of said external shared memory.
-
16. The article of manufacture of claim 13, further comprising computer readable program code means for causing a computer to effect closing an open connection to said pipe.
-
17. The article of manufacture of claim 1, wherein said computer readable program code means for causing a computer to effect writing comprises:
-
computer readable program code means for causing said computer to effect determining whether a buffer block exists on a free buffer queue within said external shared memory; and
computer readable program code means for causing said computer to effect performing a Move-Write operation when said buffer block exists, said Move-Write operation writing data to said buffer block and moving said buffer block from said free buffer queue to an in-use buffer queue located within said external shared memory.
-
-
18. The article of manufacture of claim 17, wherein said writing data to said buffer block and said moving said buffer block are performed as one atomic operation.
-
19. The article of manufacture of claim 17, further comprising the following, when said buffer block does not exist:
-
computer readable program code means for causing said computer to effect suspending a request to write the data until said buffer block exists on said free buffer queue; and
computer readable program code means for causing said computer to effect performing said Move-Write operation when said buffer block exists.
-
-
20. The article of manufacture of claim 1, wherein said computer readable program code means for causing a computer to effect reading comprises:
-
computer readable program code means for causing said computer to effect determining whether a buffer block exists on an in-use buffer queue of said external shared memory; and
computer readable program code means for causing said computer to effect performing a Move-Read operation when said buffer block exists, said Move-Read operation reading data from said buffer block and moving said buffer block from said in-use buffer queue to a free buffer queue within said external shared memory.
-
-
21. The article of manufacture of claim 20, wherein said reading data from said buffer block and said moving said buffer block are performed as one atomic operation.
-
22. The article of manufacture of claim 20, further comprising the following, when said buffer block does not exits:
-
computer readable program code means for causing said computer to effect suspending a request to read the data until said buffer block exists; and
computer readable program code means for causing said computer to effect performing said Move-Read operation when said buffer block exists.
-
-
23. The article of manufacture of claim 1, wherein said pipe is adapted to allow data written thereto to be read substantially immediately.
-
25. The article of manufacture of claim 23, wherein said pipe is located within a list structure of said external shared memory.
-
26. The article of manufacture of claim 23, wherein said pipe is adapted to allow data written thereto to be read substantially immediately.
-
24. An article of manufacture comprising:
-
at least one computer useable medium having computer readable program code means embodied therein for causing cross-system data piping, the computer readable program code means in said article of manufacture comprising;
computer readable program code means for causing at least one computer to effect dynamically connecting a plurality of applications of a plurality of central processing complexes to a pipe located within an external shared memory, said external shared memory having processing capabilities and being coupled to said plurality of central processing complexes such that said pipe is separate from said plurality of central processing complexes, and wherein each central processing complex of at least two central processing complexes of said plurality of central processing complexes comprises an operating system, said operating system managing one or more hardware resources through allocation and deallocation of said one or more hardware resources;
computer readable program code means for causing a computer to effect writing data to said pipe by one or more of said plurality of applications; and
computer readable program code means for causing a computer to effect reading data from said pipe by one or more of said plurality of applications.
-
Specification