Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.
CA 022~923~ 1998-12-21
WO 98/00925 PCT/NZ97/00086
COMIVIUNICATION METHOD AND APPARATUS
Technical Field
The present invention relates to a method and apparatus for transmitting
secondary data over a communications link carrying blocks of primary data.
5 More particularly, but not exclusively, the present invention relates to a
method and apparatus for sending secondary data to and from a central
communication station to a plurality of polled secondary stations.
Backqround of the invention
In polled networks, such as those used to communicate between a central
10 processing unit and a plurality of terminal units ~e.g. a teller counter
terminal "TCT") the network capacity is not fully utilised due to the
sequential nature of transmission and reception of polling frames and
modem train-up time.
Referring to figures 1 and 2 a typical polled network for communicating
15 between a plurality of terminal units le.g. TCTs) 1 to 4 and a CPU 5 is
shown. Each device 1 to 5 includes an associated modem. Line 6 is a
constant carriem~utbound line which constantly connects the transmit line
(TX) of CPU 5 to the receive line (Rx) of terminals 1 to 4 at all times.
Communication line 7 is a switched carrier inbound line which carries
20 replies from terminals 1 to 4 to the CPU 5. Each terminal sends a response
to CPU 5 via line 7 when it detects its address in a polling frame sent by
CPU 5.
Referring now to figure 2 the operation of the network will be described.
Initially a CPU polling frame 20 for terminal 1 is transmitted over line 6 to
25 all of the terminals. Upon detecting its address in a polling frame, and after
a characteristic latency 37 for terminal 1, terminal 1 must respond to CPU
5. However, the modem associated with CPU 5 must "train-up" to receive
CA 022~923~ 1998-12-21
WO 98/00925 PCT/NZ97/00086
the reply sent by the modem associated with terminal 1. This "train-up"
period is indicated by numeral 21 as the RTS/CTS delay. At the end of this
period a reply signal 22 is transmitted from terminal 1 via line 7 to CPU 5.
After a characteristic CPU latency 36 from receipt of the reply from
terminal 1, the CPU transmits a polling frame 23 to all terminals containing
the address for terminal 2. After a characteristic latency 38 of terminal 2
from the end of polling frame 23, terminal 2 utilises line 7 to respond to
CPU 5. Accordingly, it will be seen that line 7 is utilised for
communication between terminal 1 and CPU 5 for the period of time
indicated by "TX DTE1 " at the top of figure 2.
The modem associated with CPU 5 likewise requires a "train-up" period 24
before it can receive the reply from terminal 2. After the "train-up" period
a reply 26 is transmitted over line 7 to CPU 5. Upon receipt of reply
26,and after characteristic CPU latency 36, CPU 5 transmits a polling
frame 27 to all terminals containing the address for terminal 3. It will be
seen from figure 2 that the terminals are continuously polled in this manner
during normal operation.
Referring back to the periods "TX DTE1" and "TX DTE2", it will be noted
that for the periods 28 and 29 following polling frames 20 and 23 no data
is transmitted over line 6 from CPU 5 to the terminals 1 to 4. Likewise, it
will be noted that for the periods 32 and 33, no data is transmitted from
terminal 1 or terminal 2 to CPU 5 via line 7. Similar unused periods 30,31
and 34,35 may be seen in periods TX DTE3 and TX DTE4.
It would be desirable to transmit data during intervals
28 to 31 and 32 to 35 to improve the efficiency of the network. Where
the network connects a CPU to a number of DTE ~digital terminal
equipment~ devices, it is important that the primary data is preserved
intact, that the rate of transmission of primary data is not slowed down
and that any transmission of secondary data over the network is
transparent with regard to the primary data seen by the CPU and terminals.
Ideally all of the available space in intervals 28 to 31 and 32 to 35 would
contain data to increase the efficiency of the network. Preferably, the
CA 022~923~ 1998-12-21
PCT/NZ97/00086
Received 23 October 1998
method should be able to be employed irrespective of the protocol used to
transmit the primary data.
Disclosure of the Invention
It is an object of the present invention to provide a method and apparatus
5 for communicating secondary data having at least some of the above
features or to at least provide the public with a useful choice.
According to a first aspect of the invention there is provided a method of
transmitting secondary data over a communications link which transmits
blocks of primary data in a data stream between a sending station and~0 receiving station, the method comprising:
at a sending station:
i) analysing the data content of the data stream to
detect the boundaries of the blocks of primary data;
and
ii) inserting secondary data between the boundaries of
the blocks of primary data in such a manner as to
enable both the primary and secondary data to be
faithfully reconstructed; and
at a receiving station:
iii) extracting the secondary data from the data stream.
Preferably the secondary data is stripped from the data stream so as to
leave the data stream in the form that it was in before insertion of the
secondary data.
Preferably the secondary data is formatted in a protocol other than the
25 protocol used to communicate the primary data. Preferably the secondary
data is inserted between blocks of primary data irrespective of the protocol
used to communicate the primary data.
The secondary data may be inserted in the data stream between blocks of
primary data in sizes other than bytes of information. Preferably the
30 secondary data is inserted between blocks of primary data in a bitwise
manner to utilise the available capacity.
AMENDED SHEET - ~PEA/AU
CA 022S923S 1998-12-21
-4-
PCT/NZ97/00086
Received 23 October 1998
Preferably the secondary data is inserted in the data stream immediately
after a stop code of a block of primary data is detected and until the next
start code of a block of primary data is detected.
According to a further aspect of the invention there is provided a
communications apparatus comprising:
first means for receiving a data stream including blocks of primary
data;
second means for receiving secondary data;
third means for analysing the data content of the data stream
to detect the boundaries of the blocks of primary data and inserting the
secondary data between the boundaries of the blocks of primary data in
such a manner as to enable both the primary and secondary data to be
faithfully reconstructed; and
means for transmitting the combined data stream to a
1 5 communications device.
Preferably the communications apparatus includes means for receiving a
data stream from a communications device and means for extracting
secondary data from a data stream received from the communications
device without affecting the primary data.
Preferably the means for inserting secondary data formats the secondary
data according to a protocol other than the protocol used to communicate
the primary data. Preferably the secondary data is insert~d between blocks
of primary data in a bitwise manner. Preferably the detecting means
detects stop and start codes of a block of primary data and the inserting
means inserts secondary data between the start and stop codes.
According to a further aspect of the invention there is provided
a communications apparatus comprising:
receiving means for receiving a data stream including blocks of
primary data formatted according to a first protocol and
secondary data formatted according to a second protocol;
detection means for detecting blocks of secondary data
formatted according to the secondary protocol; and
splitting means for splitting the data stream into a first output
data stream of primary data and a second output data stream of
secondary data.
A~IENDED SHEET-~EA/AU
CA 022~923~ l998-l2-2l
WO 98/00925 PCT/NZ97/00086
- 5 -
Brief Description of the Drawinqs
Further aspects of the invention will become apparent from the following
description which is given by way of example with reference to the
accompanying drawings in which:
~ Fiqure 1: shows a polled network connecting a CPU to a number of
data terminal units.
Fiqure 2: shows a timing diagram showing the signals communicated
between the CPU and data terminal units during polling.
Fiqure 3: shows diagrammatically the method of the present invention.
~0 Fiqure 4: shows the connection of communications equipment
acrording to a simple multi-drop implementation of the
invention .
Fiqure 5: shows in block form a communication apparatus as used in
figure 4.
15 Best mode for carrYinq out the invention
As illustrated in Figure 2 prior art polling networks do not utilise the full
data carrying capacity of a network. The present invention provides a
method and apparatus for utilising the unused portions of a data stream to
transmit secondary data.
20 Considering first y the transmission of data from CPU 5 to terminals 1 to 4
in figure 2 it may be seen that periods 28 to 31 are available for data
transmission. Likewise in periods 32 to 35 no data is transmitted and
there is the capacity for data to be transmitted during these periods from
each respective terminal to the CPU.
CA 022~923~ 1998-12-21
PCT/NZ97/00086
Received 23 October 1998
Referring now to figures 3 and 4 a communications method and apparatus
for transmitting secondary data in these unused portions will be described.
In this example, CPU 41 and facsimile machine 42 are connected to
communication apparatus 43. Communication apparatus 43 is connected
via modem 44 to modems 45 and 46 at different receiving sites. At a first
site modem 45 is connected to communication apparatus 47 which is
connected to a facsimile 48 and control unit 49. Control unit 49 has
display terminals 50 and 51 connected thereto.
At a second site modem 46 is connected to communication apparatus 52
which is connected to a facsimile machine 53 and a control unit 54.
Control unit 54 is connected to display terminals 55 and 56.
Communication apparatus 43, 47 and 52 combine primary and secondary
data supplied thereto for transmission and split data received into primary
and secondary data streams. Communication apparatus 43, 47 and 52
utilise the unused periods 28 to 31 and 32 to 35 (see figure 2) by inserting
secondary data from a facsimile machine or other device into the unused
periods, transmitting the combined data and splitting the data at a receiving
station so that primary and secondary data are sent to appropriate devices.
Although only two devices 49 and 54 are polled in this example it will be
appreciated that the polling operation described with reference to a
network having four ~or any number of) polled devices (shown in figures 1
and 2) may be utilised in the network shown in figure 4 with appropriate
modifications.
Referring now to figure 3, it will be seen that the transmission from CPU
41 to, for example, control unit 49 consists of a sequence of polling frames
57 (primary data) interspersed by flag fills 58. The flag fills will in fact
simply be control information transmitted during periods when no traffic is
transmitted over the network.
In the example shown in figure 3 a transmission from facsimile machine 42
is combined with polling frames from CPU 41 by communication apparatus
43, transmitted over the network and separated by communication
apparatus 47 into respective data streams and supplied to facsimile
machine 48 and control unit 49. It will be seen in figure 3 that a period of
flags 59 is replaced with facsimile data 60 from facsimile machine 42 by
communication apparatus 43. The combined polling and facsimile data is
AMENDED SHEET - IPEA/AU
CA 022~923~ 1998-12-21
WO 98/00925 PCT/NZ97/00086
transmitted over the network in the normal way to communication
apparatus 47. Communication apparatus 47 extracts the facsimile
message 63, remr~ves start and stop codes 61, 62 and sends the facsimile
message 63 to facsimile machine 48. The data extracted is replaced with
5 flag fills so that the data stream seen by control unit 49 is the same as it
was before communication apparatus 43 inserted the facsimile signal.
Secondary data may of course be sent from fax 48 to fax 42 over the
return data strearn 64 in a similar manner.
In this way facsimile data (or other desired data) can be transmitted during
unused periods (28 to 31 and 32 to 35) and extracted at a receiving station
in such a manner that CPU 41 and control units 49 and 54 notice no
difference in communication over the system. In the example shown in
figure 3, data is transmitted in the HDLC format. In this format start/stop
flags consist of the byte 7E (01111110). Communication apparatus 43,
upon detecting a start/stop flag knows that no primary data from the CPU
will be transmitted until another start/stop flag is detected. Accordingly, it
can substitute secondary data for the flags fills 58 until it detects a start/
stop flag. When the next start/stop flag is detected communication
apparatus 43 knows it must stop inserting data so that the integrity of the
primary data is maintained. Each communication apparatus 43, 47, 52 will
look ahead a predetermined number of bits so that it can stop inserting
secondary data wlhen the primary data returns.
Communication apparatus 43 may therefore insert data following a start/
stop flag up until the next start/stop flag is detected. Preferably data is
inserted in a bitwise manner so that the full capacity of the network is
utilised. If secondary data is formatted only in a bytewise manner the
efficiency of the network is reduced by up to about 10% in worst case
circumstances.
Communication apparatus 43 formats data to be inserted in the data
stream according to its own protocol. A start code 61 and a stop code 62
may be provided at the start and finish of the facsimile data 63 according
to this protocol. The protocol may include address, control and error
checking portions as well.
CA 022~923~ 1998-12-21
WO 98/00925 PCT/NZ97/00086
Although in figure 3 only some of the flags 58 have been replaced by
facsimile transmission 60 it will be appreciated that all flags may be
replaced by secondary data when there is sufficient secondary data.
Preferably, data is inserted between primary data 57 in a bitwise fashion so
5 that all available capacity is utilised. This requires the protocol for handling
the secondary data to be able to reconstruct such fragmented
transmissions of secondary data.
It is to be appreciated that a plurality of sources of secondary data may be
combined with the primary data at one end and split into respective
10 streams of secondary data at the other end and supplied to respective
devices.
It is also to be appreciated that the example shown in figure 2 represents a
worst case scenario in which the terminals are simply polled and reply.
Where a terminal transmits data in its reply the available period 28, 29, 30,
15 31 for transmitting data from a CPU to a terminal will be accordingly
extended. Likewise, where a CPU transmits data to a terminal the period
32, 33, 34, 35 for transmitting data from a terminal to the CPU will be
accordingly extended. Accordingly, during typical traffic, there will be
greater bandwidth available for the transmission of secondary data than
20 during simple polling.
Further, there is a characteristic latency in each device which creates more
time to transmit secondary data. For example, as shown in figure 2, there
is a characteristic CPU latency 36 between a reply from a terminal being
received and a subsequent polling frame being sent by the CPU ~i.e. a delay
25 between the trailing edge of a terminal ~DTE 1-4) reply ~e.g. 22) and the
leading edge of a subsequent CPU polling frame (e.g. 23~. There is also a
characteristic DTE latency 37,38,39,40 between transmission of a polling
frame from the CPU and the commencement of modem "train-up" (i.e. a
delay between the trailing edge of a CPU polling frame ~e.g. 20) and the
30 leading edge of the RTS/CTS delay ~e.g. 21)). These delays may be
significant in some applications and provide further bandwidth for
transmission of secondary data.
CA 022~923s 1998-12-21
W O 98/00925 PCT~NZ97/00086
-9 -
In the HDLC protocol startlstop flags are accorded the unique byte 7E
(01111110). If five ones are ever detected in a data stream a zero is
inserted at the transmitting end and removed at the receiving end. The
protocol used to encode secondary data by communication apparatus 43
may ascribe the byte 81 ~10000001) as the unique stop and start codes
for the protocol li.e: the logical inverse of 7E). If five zeros are detected inthe primary or sec:ondary data a "1 " may be inserted at the transmitting
station and remo\led at the receiving station. In this way a unique start/
stop code is provided for the communication apparatus to enable them to
determine when the secondary data stops and finishes. This inverse 7E
code can exist transparently with 7E based HDLC protocol.
The protocol used by communication apparatus 43 does not need to
conform to the protocol used to transmit the primary data 57 and so the
method can be used irrespective of the protocol used to transmit the
primary data. This means that the secondary data need not be structured
to conform to the protocol used to transmit the primary data.
At start up, communication apparatus 43, 47, 52 must communicate to
determine which r,ommunication apparatus are active. Such
communications are inserted in place of flags 58 as in the manner
described above. These start up communications are formatted in such a
form that they will be rejected by the primary protocol if a communication
apparatus is not operating at a receiving station to strip the secondary data
from the primary data. Once the communication apparatus 43, 47, 52
have established that all communication apparatus are on line,
communications can proceed in the manner outlined above.
The secondary data carrying capacity of the system may be enhanced by
employing "protocol spoofing". This may be achieved by communication
apparatus 43, 47, 52 sending polling frames 20, 22, 23, 26, 27 etc to
connected units 41, 48, 54 in the normal way although the polling frames
are not in fact sent in the manner shown in figure 2. In this mode polling
information may be sent between communication apparatus 43, 47, 52 as
part of a secondary data stream. However, the communication apparatus
communicate polling frames to connected devices in the same manner as
CA 022~923~ l998-l2-2l
WO 98/00925 PCT/NZ97/00086
- 10-
would occur in normal operation. It will, however, be appreciated that by
sending the polling information as a data segment of a secondary data
stream enables a much greater amount of secondary data to be sent.
This method may be particularly useful outside normal operating hours (say
5 6pm - 8am) when most traffic is simply polling frames. During such
periods the communication apparatus 43, 47, 52 may in fact monitor
polling stations at a reduced frequency but supply signals to connected
units 41, 49, 54 indicating normal polling is occurring. In this way even
more secondary data may be transmitted.
10 Referring now to figure 5, a schematic diagram of a communication
apparatus 43, 47, 52 is shown. The main sections are seen to comprise a
DTE interface 70 to a user terminal, a DCE interface 71 to a modem, a
cross connect switch 72, a FIF0 73, a CPU 74 and a watch dog 75.
Cross connect switch 72 is connected to DTE interface 70 via logic level
serial port 76. DCE interface 71 is connected to cross connect switch 72
via logic level port 77. FIF0 73 is connected to cross connect switch 72
by a serial port 78. FIF0 73 is connected to CPU 74 via standard bus
architecture 79. Secondary data is supplied to CPU 74 via line 82 from
another source, such as a fax interface, a telemetry interface etc.
20 In "transparent mode" cross connect switch 72 connects data terminal
interface 70 directly to DCE interface 71 so that the communication
apparatus simply interconnects data terminal interface 70 with DCE
interface 71. At start-up data to/from DTE interface 70 and DCE interface
71 are also routed via FIF0 73 so that the CPU 74 can monitor the data
25 stream.
When, for example, facsimile data to be transmitted is received by CPU 74,
it switches cross connect switch 72 to send data received from DTE
interface 70 to FIF0 73. When flags are located between primary data, the
secondary data is inserted and sent back via cross connect switch 72 to
30 DCE interface 71 to be transmitted via the modem to the receiving station.
FIF0 73 may include means for detecting gaps in primary data ~i.e.: flag
fills between stop and start flags) and means for inserting secondary data
CA 022~923~ 1998-12-21
WO 98/00925 PCT/NZ97/00086
therein. FIF0 73 may include a register file to store secondary data
supplied from CPU 74. Secondary data in the register may be inserted in
the gaps in the secondary data as these are detected.
An incoming data stream from DCE interface 71 may be routed by switch
72 to FIF0 73. F:IF0 73 may include means to extract the secondary data,
transmit the secondary data to CPU 74, replace the secondary data with
flag fills and send the modified data stream via switch 72 to DTE interface
70.
CPU 74 must send watchdog pulses via line 80 to watchdog circuit 75 at
regular intervals to indicate that the CPU 74 functioning correctly. If a
pulse is not received within a required interval watchdog circuit 75 sends a
signal via line 81 to force cross connect switch 72 into "transparent
mode", in which DTE interface 70 is directly connected to DCE interface
71. This ensures that if the communication apparatus is not functioning
correctly that the integrity of the primary data will be maintained. This is
particularly important where accuracy of the primary data must be
guaranteed, such as when a central control means is communicating with
an ATM machine. This provides a reliable and fail safe system.
In some applications it may be desirable to predict when primary data will
be transmitted. This may be desirable if frames of a predetermined size are
to be transmittecl. Each communication apparatus may monitor
characteristics 01 communications to determine the protocol employed. For
example, if a terrninal does not respond to a poll after a predetermined
number of attempts it will be polled at a slower rate.
The communication apparatus can monitor such activity to determine these
parameters. The communication apparatus can also monitor the allowed
primary frame size. For example, in HDLC data byte counts must be
exponents of two. Accordingly, if the system determines this then it
knows that if 17 bytes have been transmitted at least 15 more will follow.
Likewise, the system can determine the maximum and minimum block
sizes allowed. Further the RTS/CTS delay for a system can be monitored
CA 0225923~ l998-l2-2l
W O 98/00925 PCTANZ97/00086
-12 -
to determine the available time between a polling frame being sent out and
a terminal reply being received ~refer to figure 2).
The communication apparatus may operate in transparent mode whilst it is
training to learn these parameters during set up. These values may be
5 dynamically updated during operation as protocol features are observed.
Although the above description has been given by way of example with
reference to the secondary data consisting of facsimile transmissions, it
will be appreciated that any type of secondary data may be transmitted.
For example, security data, telemetry data or E-mail may be sent as
10 secondary data, with appropriate interfaces. The system may also be used
to broadcast from one communication apparatus to all others. Using the
method of the present invention would enable messages to be sent virtually
simultaneously to all attached units. Fax on demand could also be
supported due to the two-way nature of communications.
15 The method and apparatus of the present invention utilises unused data
carrying capacity of a network to enable secondary data to be transmitted
thereon without affecting primary data. The method is such that primary
data flow is not affected and the operation of the communication apparatus
is transparent to devices connected to the network. The protocol used to
20 transmit secondary data and circuitry of the communication apparatus
circuits is such as to ensure reliability of data transmitted on the primary
network .
Although this invention has been described with reference to polled
networks it is to be appreciated that the method may be equally well used
25 in other data communications.
Although the invention has been described in relation to a network having
two polled devices it will be appreciated that the method and apparatus of
the invention may be employed in a network having any desired number of
polled devices.
CA 022~923~ 1998-12-21
WO 98/00925 PCT/NZ97/00086
- 13-
Where in the foregoing description reference has been made to integers or
components having known equivalents then such equivalents are herein
incorporated as if individually set forth.
Although this invention has been described by way of example it is to be
appreciated that improvements and/or modifications may be made thereto
without departing from the scope of the present invention as defined in the
appended claims.