Apparatus, system, and method for efficiently sharing data between processes
First Claim
1. A method comprising:
- identifying a data object that;
was generated by a producer process running on a computing device; and
is to be accessed by a consumer process running on the computing device;
determining at least one structural characteristic of the data object that indicates how data is stored within the data object;
storing, within a portion of shared memory on the computing device that is accessible to both the producer process and the consumer process;
the data object; and
the structural characteristic of the data object;
disclosing, to the consumer process, locations of both the data object and the structural characteristic of the data object within the shared memory such that the consumer process is able to extract the data in the data object from the shared memory; and
accessing, by the consumer process, the data in the data object by extracting the data object from the shared memory, wherein extracting the data object from the shared memory comprises receiving the data in the data object via an application program interface that operates as part of the data object within the shared memory.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosed method may include (1) identifying a data object that (A) was generated by a producer process running on a computing device and (B) is to be accessed by a consumer process running on the computing device, (2) determining at least one structural characteristic of the data object that indicates how data is stored within the data object, (3) storing the data object and the structural characteristic of the data object within a portion of shared memory on the computing device that is accessible to both the producer process and the consumer process, and then (4) disclosing, to the consumer process, locations of both the data object and the structural characteristic of the data object within the shared memory such that the consumer process is able to extract the data in the data object from the shared memory. Various other methods, systems, and apparatuses are also disclosed.
7 Citations
18 Claims
-
1. A method comprising:
-
identifying a data object that; was generated by a producer process running on a computing device; and is to be accessed by a consumer process running on the computing device; determining at least one structural characteristic of the data object that indicates how data is stored within the data object; storing, within a portion of shared memory on the computing device that is accessible to both the producer process and the consumer process; the data object; and the structural characteristic of the data object; disclosing, to the consumer process, locations of both the data object and the structural characteristic of the data object within the shared memory such that the consumer process is able to extract the data in the data object from the shared memory; and accessing, by the consumer process, the data in the data object by extracting the data object from the shared memory, wherein extracting the data object from the shared memory comprises receiving the data in the data object via an application program interface that operates as part of the data object within the shared memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
an identification module, stored in memory, that identifies a data object that; was generated by a producer process running on a computing device; and is to be accessed by a consumer process running on the computing device; a determination module, stored in memory, that determines at least one structural characteristic of the data object that indicates how data is stored within the data object; a storing module, stored in memory, that stores, within a portion of shared memory on the computing device that is accessible to both the producer process and the consumer process; the data object; and the structural characteristic of the data object; a disclosure module, stored in memory, that discloses, to the consumer process, locations of both the data object and the structural characteristic of the data object within the shared memory such that the consumer process is able to extract the data in the data object from the shared memory; an access module, stored in memory, that accesses, as part of the consumer process, the data in the data object by extracting the data object from the shared memory, wherein extracting the data object from the shared memory comprises receiving the data in the data object via an application program interface that operates as part of the data object within the shared memory; and at least one hardware processor configured to execute the identification module, the determination module, the storing module, the disclosure module, and the access module. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus comprising:
-
at least one storage device that contains shared memory accessible to a plurality of processes running on a computing device; and at least one physical processing device communicatively coupled to the storage device, wherein the physical processing device; identifies a data object that; was generated by a producer process running on the computing device; and is to be accessed by a consumer process running on the computing device; determines at least one structural characteristic of the data object that indicates how data is stored within the data object; stores, within a portion of the shared memory that is accessible to both the producer process and the consumer process; the data object; and the structural characteristic of the data object; discloses, to the consumer process, locations of both the data object and the structural characteristic of the data object within the shared memory such that the consumer process is able to extract the data in the data object from the shared memory; and accesses, as part of the consumer process, the data in the data object by extracting the data object from the shared memory, wherein extracting the data object from the shared memory comprises receiving the data in the data object via an application program interface that operates as part of the data object within the shared memory. - View Dependent Claims (18)
-
Specification