|
Claims  |
|
|
The 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. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
With the decreasing cost and increasing power of microcontrollers, it has
become common to use them as individual processing modules for all sorts
of complex information gathering, processing, and displaying functions, as
well as for controlling the operation of systems of all types.
Microcontrollers are typically used in two different ways. In the first of
these, they are embedded in a system along with ROM (read only memory) in
which dedicated software instructions are permanently held, and with a
modest amount of RAM (random access memory) for holding operand values for
short periods of time. An embedded microcontroller and its software
usually comprise only a single processing module. These microcontrollers
are also used as the processing element in the extremely common personal
computers having large disk memories, a large RAM, and a keyboard and
display unit for communication with a human. A personal computer can hold
a number of separate software applications and operate these more or less
simultaneously in a multitasking mode. By "multitasking" is meant that
instruction execution proceeds for one software application for a period
of time, and then is transferred to another application. An external event
or simply the passage of a prescribed period of time may transfer
execution of instructions from one to another application. The appearance
is thus created that a number of multitasked applications are operating
simultaneously, even though two instructions from two different
applications are typically not executed precisely simultaneously. Each of
the multitasked applications can be considered a separate processing
module, in that each has an independent existence. As a practical matter,
it is frequently possible to perform a particular function with a
processing module of either of these types.
It is common to employ a number of these processing modules in a single
system, each of them dedicated to a specific function or group of
functions. These processing modules may each comprise a separate
microcontroller. It is also possible to have a number of different
software applications of a single system operating in this multitasking
mode within a single microcontroller, each software application also
comprising a processing module. It is also possible to have a hybrid
system, comprising a personal computer with a number of software types of
processing modules along with a number of embedded microcontrollers also
performing functions in the system. There are a number of advantages in
dividing the computing burden in this way. Some functions are more
effectively performed with one type of processing module, some with
others. It is possible that there are uses for certain types of processing
modules in different types of systems, and by modularizing the function,
can be more easily transferred between the systems. Also, modular systems
can be more easily analyzed when the inevitable errors arise, in that
there are well-defined inputs and outputs lending themselves to easier
access.
In order to coordinate the activities of these processing modules, it is
useful to connect the individual processing modules of a larger system
which perform these functions in a way which allows transfer of data among
the processing modules. Where these processing modules are separate
microcontrollers, they may be interconnected by cabling over which data is
transferred. Many different types of arrangements permitting efficient and
reliable transfer of data between a number of embedded or stand-alone
processing modules have been designed. This problem is not trivial. Where
the processing modules are multitasked software applications, it is of
course possible to establish protocols allowing these processing modules
to communicate with each other. Since only one at a time is typically
active, the problem is somewhat simpler.
The data involved will typically indicate some quantity or value to which
the processing module has access say through external sensors or which the
module generates during its processing operations. This data will
typically comprise discrete elements, and each of these elements of data
will be referred to as a data item. For example in an environment control
system, ambient air temperature may be a data item. Status, open or
closed, of a valve controlling flow of fuel or refrigerant may be another
data item. The result of a calculation may be another example of a data
item. A data item may be generally considered to be a particular data
element which has some digital value. A data item will typically also have
an identity code which uniquely identifies it, since a source for a data
item value may well be able to provide a number of different data items
values.
As a system becomes more complex, the number of data items available will
usually become large. In most cases, one processing module will have need
for only some of the data item values which another of the processing
modules has available. For example, a furnace controller may not need to
have access to the temperature of the controlled space. All that it may
need from the temperature control processing module is a demand flag which
is set whenever the furnace must operate. One way to address the problem
arising from transferring data unnecessarily between processing modules is
to establish the protocol that one processing module will transmit a data
item value to another only when requested. To follow the example from
above, the furnace controller may request the demand flag data item every
second or so from the temperature controller, and then based on its value
will start up, shut down, or continue the current status of the furnace.
In such a system, the processing module initiating a request signal is
known as the client, and the processing module to which the request signal
is sent is known as the data source, or simply "source". In an appropriate
system, a particular processing module may be a client with respect to one
request signal and a source with respect to another.
As the communication and control required by physical systems have become
greater, the connections between the processing modules involved with
these systems have become increasingly complex. If there are a large
number of either clients or sources, it is not practical to have
individual data paths from each of the modules to every other module. The
situation may be complicated even more by the fact that the replies from
data sources to requests may proceed very slowly compared to the internal
speed of the clients because of high traffic levels on the data paths
involved or because of slow processing speed for one or another reason on
the part of the data source. The fact that individual processing modules
may be physically spaced a substantial distance from each other and
connected by a telephone modem is one obvious cause for slower speed. For
all of these reasons, it has been found that it is sometimes more
efficient to route all of the requests for data items and the replies to
them through a single processing module. This routing function is one made
to order for the high data handling capabilities of the small and cheap
but powerful desktop computers now available. Where at least one of the
processing modules in the system is already implemented within a desktop
computer, it is convenient and cheap to devise a processing module which
operates within that desktop computer, for directing and routing
processing module communications.
The computer in which operates the processing module redirecting the client
requests to the various sources and receiving and replying with the data
item values, will be called the server computer, whether serving as the
host for clients or data source applications or not. That is, in the case
where client or source processing modules are multitasked software
applications, the host computer in which the client or source applications
execute may also be the server.
These host computers use an operating system of some type to accomplish the
various communication and control functions which are a necessary adjunct
to the application programs. For the IBM compatible types of computers,
the most widely used of these operating systems is DOS. It is now usual
for the more powerful types of these computers to use a higher level
graphics-based operating system to accomplish many of these communication
and control functions. For IBM compatible computers, this graphics-based
operating system is known as "Windows". The function set available from
the Windows operating system is much larger than that of DOS, but Windows
uses many of the functions in DOS in implementing its own functions. Both
DOS and Windows include a number of utility routines which are available
to all of the application programs to perform common software
communication and other functions, thereby freeing each of the users from
having to individually replicate these frequently used functions. Certain
of these utility routines will be mentioned in the description which
follows.
The Windows operating system, recognizing the need for communication among
the applications resident in the host computer, includes a function known
as Dynamic Data Exchange (DDE) which allows one application program to
request data items from another. In this function, an application provides
a request to the Windows system identifying another application and the
data item desired from it. The Windows system DDE function then requests
that data item from the designated application, and responds to the
requesting client application with that data item. A protocol is provided
for this function which specifies such matters as formats of requests and
replies, timing requirements, and error management. DDE data requests are
of two types. One type is called a cold link, where a client request
requires only a single response. The other type is a hot link, where a
single request causes an immediate response, and then further responses at
intervals specified by the hot link request, until the requesting client
closes down the hot link request. Since each hot link periodically
requires additional processing time, it is in no application's interest
for a hot link to exist if unneeded. Therefore, as the need for a
particular data item disappears, the requesting application should close
down the hot link request, and this is customary.
The DDE function is intended for use where the data links between both the
clients and the sources are host computer software processing modules, and
therefore relatively fast. We have found that the DDE mechanism can also
work reasonably well in a situation where the requested information is
provided by the external sources mentioned above, rather than by
application programs within the host computer. In one situation, the
routing computer may be considered to include a single multiplexer or
gateway to which is connected a number of data sources, each of which can
have a relatively large number of data items available. A request
(hereafter "source request") supplied to the gateway specifies the data
source connected to the gateway and the specific data item value desired
from that gateway. The gateway will send its own request to the specified
data source and receive in reply the data item value from the data source
in a data source reply. Because of the relative slowness of replies from
the individual data sources and the extra gateway stage for both request
and reply however, there is a substantial delay of at least several tenths
of a second, and perhaps even several seconds, for the server to receive
the data source reply sent in response to each request.
If client requests are relatively infrequent and the data link to the
source is fast, the server can provide the requested information to
clients relatively promptly. When a client request arrives, the routing
computer simply sends the appropriate data source request via the gateway
to the source from which the data item value is available. When the data
source reply is returned to the routing computer, it passes the data item
value therein on to the requesting client per the usual DDE procedure.
Each data source reply includes a number of other parameters. These
identify the data item value, the client which originated the client
request to which the reply is directed, etc.
The server must be able to deal with the situation where a number of client
data requests are pending at a particular time. This happens frequently
where the gateway is of the type which accepts only a single source
request at a time, but it can also happen where the volume of client
requests exceeds the processing speed of the gateway. In such a situation,
replies to client requests are delayed, perhaps to an extent where the
data item value is worthless to the client when it is finally received. In
the situation where the long term rate of client requests is greater than
the capacity of the gateway or data sources to respond, then client
requests will simply be lost since the table in which they are stored can
have only finite capacity, and the entries will continue to grow. Thus, it
would extremely valuable to be able to limit the number of source requests
without limiting the number of replies sent to the clients.
BRIEF DESCRIPTION OF THE INVENTION
It may not be possible to speed up the data paths or the gateway linking
the server computer and its clients to the data sources, and yet it is
possible in many cases to provide data item values in a more timely manner
to many of the clients by using the apparatus of this invention. We have
found that in many of these types of systems, duplicate requests from
different clients for the same data item occur relatively close in time to
each other. We have further found that it is sometimes acceptable to
answer all of these duplicate requests with the value provided in response
to a single reply from a source for a data item value. The apparatus and
method of our invention recognize this situation and allows a single data
request from the routing computer to the data source for the data item
involved to provide the data item encoded in the response to each of a
number of the client requests for that data item.
Our invention is an improvement in a communication system for supplying
values for data items each having its own identity code and each available
from a single one of at least one data source, to each one of a plurality
of clients each having its own identity code. Each of these clients
requests the data item values by transmitting client request signals
encoding the identity codes of the data items and the client identity code
to the server or data item router on a client data link. The client data
link allows for two way communication directed between each client and the
server or router. A source data link allows two way communication between
each data source and the server. Each data source provides to the server
on the source data link a source reply signal encoding a data item value
and the data item identity code for that data item responsive to a source
request signal provided on the source data link by the server to the data
source from which that data item's value is available. The source request
signal sent by the server encodes the identity code of the data item
desired.
The server includes a processing unit and a data memory. The processing
unit can store data in and retrieve data from the data memory. In
particular, the processing unit can transmit to, and the data memory can
record, a data item table and a request table each comprising a plurality
of entries. Each of these tables is built up an entry at a time by the
processing unit. Each data item table entry is associated with a data item
identity code and records a data item value, and each request table entry
records a client identity code in association with a data item identity
code. The processing unit can also retrieve the contents of the individual
entries from each of these tables by appropriate searches or other access
based on a key such as the identity code of a particular data item.
The activity of the processing unit is controlled by software instructions
which may be stored in a part of the data memory or in a separate
instruction memory which may be a so-called read only memory (ROM). The
individual means to be described in the following materials will
preferably be a part of the processing unit and thus implemented in
software, since software means create the necessary functions more
efficiently. However, the means may also be implemented in hardware only
or be a combination of both hardware and software. Where the invention is
implemented as software controlling the processing unit operation, the
client data links and the source data links may comprise a part of the
internal data transfer paths of the processing unit and also a part of its
internal memory elements.
The invention includes a request table means connected to the client data
link and receiving each client request signal. The request table means
records in an entry in the request table for each client request signal,
the identity code for the client supplying that client request signal in
association with the identity code of the data item in that client request
signal. The invention also includes source request means for scanning the
request table and for issuing source request signals encoding the data
item identity codes recorded in the request table.
Further, there is a data item value means connected to the source data link
and receiving the source reply signals. The data item value means records
in an entry in the data item table in association with the data item
identity code encoded in each source reply signal, the data item value
encoded in that source reply signal. There is also a data item reply means
connected to each client data link for scanning the request table, and for
issuing a plurality of client reply signals on the client data link. Each
of these client reply signals encodes a data item value recorded in the
data item table and is directed to a client whose identity code is in the
request table.
In a preferred embodiment, this communication system further includes a
clock providing a clock signal encoding a time value comprising the time
of day and the identity of the day. The typical personal computer includes
an internal clock which serves this function. In this embodiment, the data
item value means further comprises time stamp means receiving the clock
signal for recording in the data item table in association with the data
item whose identity code is encoded in a source reply signal, the time
value encoded in the clock signal at the time the source reply signal was
received. The data item reply means includes age value means for
calculating an age value equal to the difference of the time value encoded
in the clock signal and the time value recorded in the data item table in
association with a data item whose identity code is recorded in the
request table. The age value means also issues a client reply signal
encoding the data item value recorded in the data item table in
association with that data item responsive to the time value encoded in a
valid item signal exceeding the age value calculated for that data item.
The data item reply means also includes valid item means for issuing a
valid item signal encoding a valid item time value.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram illustrating the major elements of the invention
as embodied by a typical small computer.
FIG. 2 is a flowchart of object code for loading in such a computer to
cause it to comprise a part of an interrupt processing element.
FIG. 3 is a flowchart of object code for loading in such a computer to
cause it to comprise a means for entering into the data item table, a data
item request supplied by a client.
FIGS. 4A-4C in combination form a flowchart of object code for loading in
such a computer to cause it to comprise a means for supplying the value of
a requested data item to the requesting client.
FIG. 5 is a flowchart of object code for loading in such a computer to
cause it to comprise means for processing an interrupt announcing a data
value-containing reply from a data source.
FIG. 6 is a flowchart of object code for loading in such a computer to
cause it to comprise means for requesting the value of a data item from a
data source.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 illustrates the broad outline of the invention as it might be
embodied in a small computer 10 such as those based on the
microcontrollers commonly used in the personal desktop and laptop
computers now widely available. The invention is implemented by means of
software instructions which form a part of the preferred embodiment of the
invention. The various means shown in this block diagram are momentarily
created by execution of these instructions. That is, the computer 10
momentarily becomes each of these means as the appropriate instructions
are executed. While computer 10 executes instructions which configure
computer 10 as one of these means, computer 10 actually becomes these
means, and then becomes some other type of element, perhaps not even part
of this invention.
Computer 10 is shown as conventionally comprising three main parts, a
processing unit 12, a data memory 14, and an input/output (I/O) unit 17.
Three clients 21-23 are shown as connected for two way communication with
processing unit 12 on a client data link having an output (with respect to
processing unit 12) path 37 and an input path 36. Each client 21-23 may
have its own data link or the clients may share a single data link in some
way. The two sections of the input and output paths 36 and 37 shown
passing through the I/O unit 17 are connected to external (to the computer
10) clients 22 and 23. Showing the input and output paths 36 and 37 as
passing through the I/O unit 17 symbolizes that clients 22 and 23 are
external to computer 10. Client 21 is internal to computer 10, so the
input and output paths 36 and 37 are shown as directly connected with
client 21. As an internal client, client 21 is a software program which
operates in a multitasking mode, sharing time with other clients not
illustrated in FIG. 1 as well as with the individual means shown within
processing unit 12 as forming the invention itself. Clients 21-23 provide
on the input paths 36 of their data links, messages encoded in client
request signals which specify the sources which are to provide data
identified in the client request messages as well as specifying other
information related to the way in which each client request message should
be processed. Each client request message includes a number of parameters
which specify the data item whose value is desired and the conditions
under which this value is provided. Clients 21-23 receive client reply
signals encoding the values of the data items specified in the client
request signals.
A gateway element 53 serves as an interface unit between computer 10 and a
number of data sources 56-58 which transmit the data values to gateway
element 53 on paths 60-62 respectively. In a sense, gateway element 53
itself forms a data source which performs a multiplexer function in
supplying requested data values to processing unit 12. Gateway element 53
is connected to the processing unit through a source data link having an
output path 43 and an input path 42. Gateway element 53 will typically
have its own microcontroller which will interpret source request messages
provided on path 43. These paths 42 and 43 are shown as passing through
I/O unit 17 and connected to various of the means within processing unit
12. This is meant to symbolize that gateway 53 is connected to a standard
port of the computer 12. Each data source 56-58 has a unique address which
identifies it.
Each data source 56-58 may itself also include a microcontroller for
controlling operation of a physical process of some kind, or may on the
other hand be nothing more than a sensor or group of sensors connected to
a gateway element 53 which provides as data item values, the sensed
numeric values of varying physical parameters such as temperature,
pressure, etc. The term "data item" will be used hereafter to generally
refer to the identity of a particular parameter having a varying value to
be supplied from the data sources 56-58 to the clients 21-23. A data item
need not be a physical parameter, but may also be a digital code value
indicating the status for some condition in a physical process, such as
presence of flame in a burner, on or off status of a switch, etc. A data
item may also be a computed numeric value such as operating efficiency,
mean or standard deviation of a sample, etc.
Gateway element 53 supplies a data item value in a source reply message in
response to a message encoded in a source request signal carried on path
43 and supplied by a source request means 39 forming a part of processing
unit 12. Each source request message includes a data item identity code
which includes the address of the data source 56-58 and the address within
the data source 56-58 if appropriate, from which the value of the
particular data item is available. The data item identity codes supplied
to gateway 53 in source request messages were previously a part of client
request messages received from the clients 21-23, and it is from these
client request messages that the data item identity codes contained in the
source request messages originate.
As explained above, it is likely that the time required for gateway element
53 and a data source 56-58 to supply a requested data item value may be
several tenths of a s | | |