4.1.2.2 Flow Sequence

Topic Version1Published10/16/2017
For StandardETPW14 v1

When the consumer/aggregator initiates the connection, the recommended sequence of activities to stream data using ETP is described in the table below.

 

Producer (Sensor)/ETP Server

Consumer (Aggregator)/ETP Client

1

Provide an ETP WebSocket server at a known URL (see Preconditions above).

 

2

 

Protocol 0: Open WebSocket via HTTP call to WebSocket URL.

3

 

Send RequestSession message and role as a “consumer”.

4

Send OpenSession.

Include ProtocolCapabilities of SimpleStreamer = true.

 

5

 

Protocol 1: Send Start message, which may contain throttling parameters.

6

Send ChannelMetadata message(s), which contains local identifiers for the channel(s).

 

7

 

Decode ChannelMetadata, assigning channels to a well/wellbore/log/logCurveInfo hierarchy. This decoding and assigning of channels must be completed before any channel data can be received.

8

Begin a sending loop, sending ChannelData messages for all channel data as they are available.

 

9

 

Decode each ChannelData message and append it to the appropriate WITSML log object and/or makes it available as ETP channel data to other consumers.

10

 

Protocol 0: To terminate data transfer, send CloseSession.

To terminate the session, the consumer typically sends the CloseSession message, but the producer can also send a CloseSession message if, for some reason, it had to stop sending data.