Ring buffered network bus data management system
First Claim
1. A data management system comprising:
- a. at least one server having cache memory and archive memory;
b. at least one RBNB module operatively associated with said at least one server, each including;
i. a plurality of ring buffer objects, each having;
(1) a ring buffer data structure for storing data;
(2) a single data input connectable to a data source and connected to said ring buffer data structure so that data provided by the data source may be stored in said ring buffer data structure;
(3) one or more RBO data outputs connected to said ring buffer data structure for providing data stored in said ring buffer data structure; and
ii. a plurality of network bus objects, each having;
(1) one or more inputs, each connected with at least one of said one or more RBO data outputs so as to receive data stored in said ring buffer data structure;
(2) a single NBO data output, connectable to a data sink, for providing to the data sink said data received from said at least one of said one or more RBO data outputs.
4 Assignments
0 Petitions
Accused Products
Abstract
A data management system (10) for managing and distributing high-speed, real-time and archived data between diverse local and remote data sources (26) and data sinks (30). The system includes a server (12) having cache memory (14) and archive memory (18) and one or more ring buffered network bus (RBNB) modules (24). Each RBNB module features a highly modular, object-oriented design, with the RBNB module being the highest level object in the system. The RBNB modules include a plurality of ring buffer objects (42) that handles data streams from data sources, a plurality of network bus objects (44) that handle data streams to a data sinks, and RBNB control objects (40) the handle connections for the ring buffer objects and network bus objects. Data is handled by the RBNB module in data frame (68) increments based on the combination of identified channels (116) and time stamps (250).
-
Citations
37 Claims
-
1. A data management system comprising:
-
a. at least one server having cache memory and archive memory;
b. at least one RBNB module operatively associated with said at least one server, each including;
i. a plurality of ring buffer objects, each having;
(1) a ring buffer data structure for storing data;
(2) a single data input connectable to a data source and connected to said ring buffer data structure so that data provided by the data source may be stored in said ring buffer data structure;
(3) one or more RBO data outputs connected to said ring buffer data structure for providing data stored in said ring buffer data structure; and
ii. a plurality of network bus objects, each having;
(1) one or more inputs, each connected with at least one of said one or more RBO data outputs so as to receive data stored in said ring buffer data structure;
(2) a single NBO data output, connectable to a data sink, for providing to the data sink said data received from said at least one of said one or more RBO data outputs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
a. means for creating a plurality of data frames, each having;
i. data associated with one or more channels of the data source; and
ii. an identification for each of said one or more channels;
b. means for adding a time stamp to each of said plurality of data frames; and
c. wherein said ring buffer data structure stores said data as said plurality of data frames.
-
-
5. A data management system according to claim 4, wherein said means for creating creates a frame header in each of said plurality of data frames which includes said identification and said time stamp, further wherein said ring buffer data structure includes a data cache for storing entire ones of said plurality of data frames, a header cache for storing only said frame headers and a time cache for storing only said time stamps.
-
6. A data management system according to claim 1, wherein each data source has at least one channel with associated data, further wherein said at least one RBNB module includes at least one routing map associated with said plurality of network bus objects that includes a list of channels in the data sources.
-
7. A data management system according to claim 5, wherein each of said plurality of ring buffer objects is capable of obtaining a plurality of data frames from a data source, following receipt of a request from the data source, by reading said frame header and associated data for each data frame.
-
8. A data management system according to claim 5, wherein each of said plurality of ring buffer objects is capable of obtaining a plurality of data frames from a data source, following receipt of a request from the data source, by reading said frame header and associated data for a first one of said plurality of data frames and then reading associated data for remaining ones of said plurality of data frames without associated frame headers.
-
9. A data management system according to claim 1, wherein said plurality of ring buffer objects are capable of requesting data from a data source.
-
10. A data management system according to claim 1, wherein said plurality of network bus objects are capable of providing said data frames, following receipt of a request from a data sink.
-
11. A data management system according to claim 1, wherein each of said plurality of network bus objects is capable of providing a plurality of data frames to a data sink, following receipt of a request from the data sink, by providing said frame header and associated data for a first one of said plurality of data frames and then providing associated data for remaining ones of said plurality of data frames without associated frame headers.
-
12. A data management system according to claim 1, further including a network attached to said at least one server, a data sink attached to said network and a data source attached to said network.
-
13. A data management system according to claim 1, further wherein:
-
a. each of said plurality of ring buffer objects includes an input port connected to said single data input and connectable to a data source so that data provided by the data source enters said single data input via said input port; and
b. each of said plurality of network bus objects includes an output port connected to said single NBO data output and connectable to a data sink so that data provided to the data sink exits said output port via said single NBO data output.
-
-
14. A data management system according to claim 1, wherein said at least one RBNB module includes a first RBNB module and a second RBNB module, wherein at least one of said plurality of ring buffer objects from said first RBNB module is connectable with at least one of said plurality of network bus objects from said second RBNB module so that data from said first RBNB module may be mirrored on said second RBNB module.
-
15. A data management system according to claim 1, wherein said at least one RBNB module includes a first RBNB module and a second RBNB module, wherein said first RBNB module is connectable with said second RBNB module so that data requested by a data sink connected with said first RBNB module, which is present at a data source, may be routed to said data sink via said second RBNB module.
-
16. A server network for use in communicating data from at least one data source to at least one data sink, each data source having at least one channel with associated data, the network comprising:
-
a. a plurality of ring buffer objects, each including;
i. means for creating a plurality of data frames, each having data that is identified with one or more channels of the data source;
ii. means for adding a time stamp to each of said plurality of data frames; and
iii. a ring buffer data structure for storing said plurality of data frames. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
a. a single data input connectable to a data source and connected to said ring buffer data structure so that data provided by the data source may be stored in said ring buffer data structure; and
b. one or more RBO data outputs connected to said ring buffer data structure for providing data stored in said ring buffer data structure.
-
-
18. A server network according to claim 16, further wherein said ring buffer data structure includes a cache ring buffer data structure for short-term storage of data and an archive ring buffer data structure for long-term storage of data.
-
19. A server network according to claim 16, wherein each data source has at least one channel with associated data, the network further comprising:
-
a. means for creating a plurality of data frames, each having;
i. data associated with one or more channels of the data source; and
ii. an identification of each of said one or more channels;
b. means for adding a time stamp to each of said plurality of data frames; and
c. wherein said ring buffer data structure stores said data as said plurality of data frames.
-
-
20. A server network according to claim 19, wherein said means for creating creates a frame header in each of said plurality of data frames which includes said identification and said time stamp, further wherein said ring buffer data structure includes a data cache for storing entire ones of said plurality of data frames, a header cache for storing only said frame headers and a time cache for storing only said time stamps.
-
21. A server network according to claim 16, wherein each data source has at least one channel with associated data, further wherein said at least one RBNB module includes at least one routing map, associated with said plurality of network bus objects, that includes a list of channels in the data sources.
-
22. A server network according to claim 20, wherein each of said plurality of ring buffer objects is capable of obtaining a plurality of data frames from a data source, following receipt of a request from the data source, by reading said frame header and associated data for each of said plurality of data frames.
-
23. A server network according to claim 20, wherein each of said plurality of ring buffer objects is capable of obtaining a plurality of data frames from a data source, following receipt of a request from the data source, by reading said frame header and associated data for a first one of said plurality of data frames and then reading associated data for remaining ones of said plurality of data frames without associated frame headers.
-
24. A server network according to claim 16, wherein said plurality of ring buffer objects are capable of requesting data from a data source.
-
25. A server network according to claim 16, further including:
-
a. at least one server including said plurality of ring buffer objects;
b. a network attached to said at least one server;
c. a data sink attached to said network; and
d. a data source attached to said network.
-
-
26. A server network according to claim 16, further wherein each of said plurality of ring buffer objects includes an input port connected to said single data input and connectable to a data source so that data provided by the data source enters said single data input via said input port.
-
27. A method of transferring data from a data source to a data sink, the method comprising the steps:
-
a. receiving data from a data source via a single data stream;
b. storing said data in a ring buffer data structure in which newest data is placed at a new data end of said ring buffer data structure and oldest data is deleted from an old data end of said ring buffer data structure to make room for new data;
c. providing data from said ring buffer data structure via two or more first data streams;
d. receiving data from two or more second data streams, only one of which consists of one of said two or more first data streams; and
e. providing all said data received in said step d via a single data stream. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. A ring buffered network bus system comprising:
-
a. first means for receiving data from a data source via a single data stream;
b. second means for storing said data in a ring buffer data structure in which newest data is placed at a new data end of said ring buffer data structure and oldest data is deleted from an old data end of said ring buffer data structure to make room for new data;
c. third means for providing data from said ring buffer data structure via two or more first data streams;
d. fourth means for receiving data from two or more second data streams, only one of which consists of one of said two or more first data streams; and
e. fifth means for providing all said data received in said step d via a single data stream. - View Dependent Claims (34, 35)
-
-
36. A computer readable storage media comprising:
-
a. a plurality of ring buffer objects, each having;
i. a ring buffer memory for storing data;
ii. a single data input connectable to a data source and connected to said ring buffer memory so that data provided by the data source may be stored in said ring buffer memory;
iii. one or more RBO data outputs connected to said ring buffer memory for providing data stored in said ring buffer memory; and
b. a plurality of network bus objects, each having;
i. one or more inputs, each connected with at least one of said one or more RBO data outputs so as to receive data stored in said ring buffer memory;
ii. a single NBO data output, connectable to a data sink, for providing to the data sink said data received from said at least one of said one or more RBO data outputs. - View Dependent Claims (37)
-
Specification