Push
From GEANT2-JRA1 Wiki
For a push model, you must configure data sinks before data sources so they can set up a listening socket handle because the source needs to be told "where" to send the data. If the client wants the Measurement Point/Measurement Archive to send the data immediately when it is available then the client provides a subscriber handle as part of the request.
Examples are provided to show the model - may not exactly be the same as used in the JRA1.
[edit]
Example 1
- Measurement Archive registers with: "I provide data X in formats A,B,C".
- Client requests data in format B and provides SubscriberHandleB to Measurement Archive.
- Measurement Archive accepts request.
- Measurement Archive requests transformation A to B from Transformation Service, passing in SubscriberHandleB.
- Transformation Service accepts request and creates SubscriberHandleA.
- Transformation Service returns SubscriberHandleA to Measurement Archive.
- Measurement Archive returns Ack to client.
- Measurement Archive sends data X to Transformation Service's SubscriberHandleA.
- Transformation Service" transforms data and sends results to client's SubscriberHandleB.
[edit]
Example 2
Example 2 which is a little bit more complicated (Measurement Point publishes that it can produce format A and C - internally it only does A, but it knows it can produce C using a Transformation Service service):
- Client finds Measurement Point that can do test X by querying Lookup Service.
- Measurement Point can provide data in format A or C.
- Client finds Measurement Archive that can store test X results, but it only supports format C.
- Client requests Measurement Archive to store results of test X.
- Measurement Archive creates a listening socket to accept the results and returns a handle SubscriberHandleC to the client that points to that socket.
- Client requests test X in format C from Measurement Point and passes to Measurement Point the SubscriberHandleC as part of the request indicating that is where the data should be sent.
- The Measurement Point creates data in format A internally, so it requests an A to C transformation from Transformation Service passing in the SubscriberHandleC handle as part of the request indicating that is where the data should be sent.
- Transformation Service responds by creating the SubscriberHandleA handle that will accept data in format A and returns that to Measurement Point.
- Measurement Point then runs test X and sends the data in format A to Transformation Service using SubscriberHandleA.
- Transformation Service runs the A to C transformation on the data and sends the results to Measurement Archive using the SubscriberHandleC.
Back to Vocabulary


