PUBLISH-SUBSCRIBE FRAMEWORK FOR APPLICATION EXECUTION
First Claim
1. An electronic exchange system, comprising:
- a shared memory;
a communication infrastructure; and
a processing system comprising a plurality of processing resources coupled by the communication infrastructure to the shared memory,wherein the processing system is configured to perform operations comprising;
executing, on each of the processing resources, at least one pipeline processing stage of a plurality of pipeline stages of a processing pipeline of an application;
providing for communication between any two of the plurality of pipeline stages via publish-subscribe messages using the shared memory;
in response to a received data message, completing processing of the data message in the application by processing the data message in an asynchronously and simultaneously executing plurality of the pipeline stages to generate an output message; and
transmitting the output message.
1 Assignment
0 Petitions
Accused Products
Abstract
The described technology relates to a publish-subscribe message framework in which an application, decomposed to a plurality of processing stages, is run by executing respective processing stages of the application asynchronously and simultaneously with each other. Communications between the respective processing stages may exclusively be in accordance with the publish-subscribe execution model. The described publish-subscribe framework provides for processing stages to be executed in a multi-process and/or multi-threaded manner while also enabling the distribution of the processing stages to respective processing resources in a multi-processor/multi-core processing environment. An example electronic exchange application and a corresponding example exchange gateway application are described.
-
Citations
19 Claims
-
1. An electronic exchange system, comprising:
-
a shared memory; a communication infrastructure; and a processing system comprising a plurality of processing resources coupled by the communication infrastructure to the shared memory, wherein the processing system is configured to perform operations comprising; executing, on each of the processing resources, at least one pipeline processing stage of a plurality of pipeline stages of a processing pipeline of an application; providing for communication between any two of the plurality of pipeline stages via publish-subscribe messages using the shared memory; in response to a received data message, completing processing of the data message in the application by processing the data message in an asynchronously and simultaneously executing plurality of the pipeline stages to generate an output message; and transmitting the output message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of processing a data message on an electronic exchange system having a shared memory, a communication infrastructure and a processing system comprising a plurality of processing resources coupled by the communication infrastructure to the shared memory, the method comprising:
-
executing, on each of the processing resources, at least one pipeline processing stage of a plurality of pipeline stages of a processing pipeline of an application; providing for communication between any two of the plurality of pipeline stages via publish-subscribe messages using the shared memory; in response to a received data message, completing processing of the data message in the application by processing the data message in an asynchronously and simultaneous executing plurality of the pipeline stages to generate an output message; and transmitting the output message. - View Dependent Claims (17, 18)
-
-
19. A non-transitory computer-readable storage medium storing instructions which, when executed by a processing system comprising a plurality of processing resources coupled by a communication infrastructure to a shared memory, causes the processing system of an electronic exchange system to perform operations comprising:
-
executing, on each of the processing resources, at least one pipeline processing stage of a plurality of pipeline stages of a processing pipeline of an application; providing for communication between any two of the plurality of pipeline stages via a publish-subscribe messages using the shared memory; in response to a received data message, completing processing of the data message in the application by processing the data message in an asynchronously and simultaneously executing plurality of the pipeline stages to generate an output message; and transmitting the output message.
-
Specification