Line 1 was replaced by lines 1-27 |
- Ring Buffered Network Bus (RBNB) was created by [Creare|http://www.creare.com/rbnb/index.html]. |
+ Ring Buffered Network Bus (RBNB) was created by [Creare Inc.|http://www.creare.com/rbnb/index.html]. It is also called Data Turbine. |
+ |
+ !!Properties: |
+ * Uses a finite-sized ring buffer to handle data. |
+ * The copy of most recent data is kept in memory and the rest is on disk. Size of both can be configured. |
+ ** Data on disk is called ''Archive''. |
+ ** Data on memory is called ''Cache''. |
+ * Data is ''saved to'' and ''retrieved from'' the RBNB server by applications termed ''sources'' and ''sinks'', respectively. |
+ ** Each source application generates its own ring buffer, which is managed by the RBNB server. |
+ ** Sink applications can request data from the RBNB server, which retrieves information from the appropriate ring buffer(s) and passes it back to the requesting sink application. |
+ * Sources and sinks ''communicate'' with RBNB by passing messages via ''channel map'' objects. |
+ ** Each channel in a channel map is named and contains timestamped data. |
+ * An RBNB ''frame'' is created each time a channel map is written/flushed to disk. |
+ ** Size of a frame is variable. |
+ ** The sizes of both the cache and the archive are defined in terms of the number of frames. |
+ * Sink applications use channel maps to request data from the RBNB server in the following ways: |
+ ##''Subcribe'': The server pushes new data as it is received to the sink application's designated channel map. All data is sent to the application in a continuous stream regardless of whether the application can keep up. |
+ ##''Monitor'': The server pushes new data as it is received to the sink application's designated channel map. The server skips ahead, dropping data if necessary, if the sink application gets too far behind in its processing. |
+ ##''Request'': The sink application sends the server a channel map containing the name of the channel, timestamp, and duration of the requested data. The server responds by returning the channel map with the requested data filled in. |
+ |
+ \\ |
+ |
+ In REAP, we will start by designing a an API for RBNB operations and an ''RBNBSink'' actor that can operate in all three modes of using channel maps. We will build the actor based on the defined APIs. This is discussed in [RBNB Sink Actor Design page|RBNBSinkActorDesignAndAPI]. |
+ |
+ \\ |
+ |
+ There's a more complete [Getting Started with Data Turbine|http://it.nees.org/documentation/pdf/data-turbine-37-utilities.pdf] document at the [NEESit website|http://it.nees.org]. |