1.3.2 Protocol 1: Channel Streaming
|For Standard||ETP v1.1|
Protocol 1, named the ChannelStreaming protocol, is used to stream channel-oriented data from producers to consumers. A channel is a named object in the system, identified by a Uniform Resource Identifier (URI), that produces a stream of data points, usually representing a series of measurements (although other kinds of data points, such as comments, can also be streamed). In WITSML terms, a channel is comparable to a log curve; more generally, it is comparable to a tag in a process historian. Channels organize their data points according to one or more channel indexes, usually in time or depth (or both).
The streaming of data begins with the consumer asking the producer to describe one or more channels using a supplied URI. This URI can represent a single channel, or a higher-level object, such as a log, that expands to several channel URIs. These potentially nested channels result in one or more ChannelMetadata messages being sent, which describe the nature of the channel (name, data type, mnemonic, units of measure, etc.). This message also assigns the channel a unique, integer-valued ChannelId—which is valid only for the length of the session—and that is used in all subsequent references to the channel.