Communication coordinator for messages to be sent from at least one data source to a plurality of clients
Abstract
A computer has access to a number of data items available from at least one data source. The computer receives requests for the values of certain of these data items from a number of different clients which may be either devices external to the computer or application programs operating in a multitasking environment within the computer. As each request is received from a client, it is stored in a data item table. The computer replies to each client request in the data item table with a data item value available somewhere in the data item table. The computer updates older data item values held by the data item table by requesting those data item values from the data sources which provide them. The data item values supplied to clients are those from previously received data source replies if these replies are not too old. This reduces the number of requests for data item values which the data sources must handle, reduces traffic on a data link which might otherwise be overloaded, and reduces the delay in responding to client requests.
Claims
exact text as granted — not AI-modifiedThe embodiments of an invention in which an exclusive property or right is claimed are defined as follows:
1. An improvement in a communication system for supplying values provided by at least one data source for a plurality of data items each having assigned to it, its own data item identity code and each data item having its value available from a single data source, to each of a plurality of clients each having its own client identity code, each client supplying on a client data link, client request signals encoding a data item identity code and the client identity code and receiving on the client data link, client reply signals encoding values of data items in association with the respective data item identity codes thereof, said communication system including a server comprising i) a processing unit connected to at least one client data link and at least one source data link, and ii) a data memory in which data may be recorded and retrieved by the processing unit and in which may be recorded by the processing unit a data item table comprising a plurality of entries where in each entry may be recorded a client identity code, a data item identity code, and a data item value and wherein each data item table entry is designated by an identifier, and wherein each said data source is connected to a source data link allowing two way communication between the data source and the processing unit, each said data source providing a source reply signal to the server on the source data link to which it is connected responsive to a source request signal provided on the source data link by the processing unit, each said source request signal encoding a data item identity code, and said source reply signal encoding a value for the data item whose identity code was encoded in the source request signal for which the source reply signal is the response, wherein the processing unit includes the improved apparatus comprising: a) client request means connected to a client data link and receiving client request signals thereon, for recording in a data item table entry for a client request signal, the identity code for the client supplying that client request signal and the identity code of the data item in that client request signal; b) source request means connected to a preselected source data link and receiving from the data memory, the data recorded in selected entries in the data item table, for issuing source request signals to a data source on the preselected source data link, said source request signals encoding the data item identity codes recorded in the selected data item table entries; c) a clock providing a clock signal encoding a time value comprising the current time of day wherein the source reply means further comprises means receiving the clock signal; d) source reply means connected to each source data link and receiving the source reply signals therefrom, and connected to the clock and receiving the clock signal therefrom, i) for recording in an entry in the data item table in which is recorded the data item identity code encoded in the source request signal for which each source reply signal is a response, the data item value encoded in that source reply signal, and ii) for recording in the data item table in the entry whose data item value is provided by a source reply signal, a time stamp value equal to the time value encoded in the clock signal at the time that source reply signal was received; e) client reply means connected to each client data link, for scanning the data item table, and for issuing a client reply signal on a client data link to at least two of the plurality of clients, each client reply signal encoding data item value and the data item identity code recorded in an entry of the data item table and wherein each client reply signal is provided to a client whose identity code is recorded in a data item table entry in which the data item identity code encoded in the client reply signal is also recorded; f) data item selection means for selecting a data item table entry in which is recorded a time stamp value; and g) valid time means receiving the valid interval signal and the clock signal for calculating a valid data time value as a function of i) the time stamp value recorded in the selected data item table entry and ii) the valid data time interval encoded in the valid interval signal, and for issuing a client reply signal encoding the data item value recorded in the selected data item table entry responsive to the valid data time value exceeding the time value in the clock signal.
2. The communication system of claim 1, wherein the data item selection means comprises means for issuing a selection signal encoding the identifier designating the selected data item table entry; wherein the valid time means includes means for issuing an invalid data signal having a preselected value responsive to the time value in the clock signal exceeding the valid data time value; and wherein the source request means includes means receiving the selection signal and the invalid data signal, for issuing a source request signal encoding the data item identity code in the data item table entry designated by the identifier encoded in the selection signal responsive to the preselected value of the invalid data signal.
3. The communication system of claim 1, wherein the data item selection means includes means for selecting at least two data item table entries having recorded therein equal data item identity codes; and wherein the valid time means includes means for calculating for each of the selected data item table entries a valid data time value equal to the sum of i) the time stamp value recorded in the data item table entry and ii) the valid data time interval encoded in the valid interval signal, and for including in the client reply signal the data item value from the selected entry whose valid data time value is larger than that of any other selected entry and larger than the time value in the clock signal.
4. The communication system of claim 3, wherein the data item selection means comprises means for issuing a selection signal encoding an identifier designating the selected data item table entry; wherein the valid time means includes means for issuing an invalid data signal having a preselected value responsive to the time value in the clock signal exceeding each of the valid data time values; and wherein the source request means includes means receiving the selection signal and the invalid data signal, for issuing a source request signal encoding the data item identity code recorded in the data item table entry designated by the identifier encoded in the selection signal responsive to the preselected value of the invalid data signal.
5. The communication system of claim 4, wherein the source reply means comprises means for recording the data item value encoded in the source reply signal in the data item table entry designated by the identifier encoded in the selection signal which designated the data item table entry from which was retrieved the data item identity code in the source request signal to which the source reply signal is the response.
6. The communication system of claim 4, wherein the client request means further comprises means receiving a plurality of client request signals each encoding an update interval, for recording the update interval in the data item table entry for that update interval's client request signal; wherein the data item selection means includes means for selecting a data item table entry in which is recorded an update interval and in which is recorded an update time value smaller than the time value encoded in the clock signal, and means for thereafter setting the update time value equal to the time value encoded in the clock signal plus the update interval; wherein the valid interval means comprises means for encoding as the valid data time interval in the valid data time signal, the update interval in the selected data item table entry.
7. The communication system of claim 1, wherein the valid time means further comprises means responsive to the condition of the time value encoded in the clock signal exceeding the valid data time value, for scanning a plurality of the data item table entries, for comparing the time stamp values for each entry having a data item identity code equalling the data item identity code in the selected data item table entry, and for issuing a client reply signal encoding the data item value recorded in the entry having the largest time stamp value.
8. The communication system of claim 1, wherein the client reply means further comprises request table update means responsive to the time value in the clock signal exceeding the valid data time value, for recording in an entry of a request table held in a preselected portion of the data memory, the identifier of the selected data item table entry, and wherein the source request means comprises means for selecting a request table entry, and for issuing on the source data link to a data source a source request signal encoding a data item identity code recorded in the data item table entry designated by the data item table entry identifier recorded in the selected request table entry.
9. The communication system of claim 8, wherein the source reply means comprises means receiving the current source reply signal, and responsive thereto, for retrieving the request table entry in which is recorded the data item table identifier designating the data item identity code encoded in the source request signal to which the current source reply signal is the response, and for recording the data item value encoded in the source reply signal, in the data item table entry designated by the data item table entry identifier in the retrieved request table entry.
10. The communication system of claim 9, wherein the processing unit includes means for activating the source request means responsive to a source reply signal.
11. The communication system of claim 8, wherein the client reply means further comprises means for recording the time of day value encoded in the clock signal as a request time value in the request table entry in association with the data item table entry identifier, and wherein the source request means includes means for selecting the request table entry having the smallest request time value.
12. The communication system of claim 8, wherein the client reply means includes means for recording the identifier of the selected data item table entry in the request table responsive only to inequality between the identifier for the selected data item table entry and each of the data item table entry identifiers recorded in the request table entries.
13. The communication system of claim 8, wherein the valid time means further comprises means for selecting a plurality of data item table entries having equal data item identity codes, and for calculating a valid data time value for each of said selected entries, each said valid data time value for an entry equal to the time stamp value recorded in the entry plus the valid data time interval, and responsive to the largest valid data time value exceeding the time value in the clock signal, issuing a client reply signal encoding the data item value recorded in the data item table entry having the largest time stamp value, and wherein the request table update means further records in the request table, the identifier of a selected data item table entry responsive to the time value in the clock signal exceeding said largest valid data time value.
14. The communication system of claim 13, wherein the processing unit includes means for activating the source request means responsive to a source reply signal.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.