WO1998000925A2 - Communication method and apparatus - Google Patents

Communication method and apparatus Download PDF

Info

Publication number
WO1998000925A2
WO1998000925A2 PCT/NZ1997/000086 NZ9700086W WO9800925A2 WO 1998000925 A2 WO1998000925 A2 WO 1998000925A2 NZ 9700086 W NZ9700086 W NZ 9700086W WO 9800925 A2 WO9800925 A2 WO 9800925A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
secondary data
primary
protocol
data stream
Prior art date
Application number
PCT/NZ1997/000086
Other languages
French (fr)
Other versions
WO1998000925A3 (en
Inventor
Peter David Atkins
Arnim Holger Littek
James Stephen Worthington
Original Assignee
Digi-Tech Research And Development Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digi-Tech Research And Development Limited filed Critical Digi-Tech Research And Development Limited
Priority to EP97928551A priority Critical patent/EP0909492A2/en
Priority to AU32787/97A priority patent/AU3278797A/en
Publication of WO1998000925A2 publication Critical patent/WO1998000925A2/en
Publication of WO1998000925A3 publication Critical patent/WO1998000925A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks

Definitions

  • the present invention relates to a method and apparatus for transmitting secondary data over a communications link carrying blocks of primary data. 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.
  • polled networks such as those used to communicate between a central 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.
  • terminal units e.g. a teller counter terminal "TCT”
  • a typical polled network for communicating between a plurality of terminal units (e.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 carrier outbound line which constantly connects the transmit line
  • Communication line 7 is a switched carrier inbound line which carries 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
  • a CPU polling frame 20 for terminal 1 is transmitted over line 6 to all of the terminals.
  • terminal 1 Upon detecting its address in a polling frame, and after a characteristic latency 37 for terminal 1 , terminal 1 must respond to CPU 5.
  • the modem associated with CPU 5 must "train-up" to receive the reply sent by the modem associated with terminal 1 .
  • This "train-up" period is indicated by numeral 21 as the RTS/CTS delay.
  • a reply signal 22 is transmitted from terminal 1 via line 7 to CPU 5.
  • the CPU transmits a polling frame 23 to all terminals containing the address for terminal 2.
  • 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.
  • 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 a receiving station comprising: at a sending station:
  • 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.
  • the secondary data is formatted in a protocol other than the protocol used to communicate the primary data.
  • 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.
  • the secondary data is inserted between blocks of primary data in a bitwise manner to utilise the available capacity.
  • 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.
  • a communications apparatus comprising. means for receiving a data stream including blocks of primary data; means for receiving secondary data; means for detecting unused portions of the data stream and inserting the secondary data in such unused portions; and means for transmitting the combined data stream to a communications device.
  • 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
  • the means for inserting secondary data formats the secondary data according to a protocol other than the protocol used to communicate the primary data.
  • the secondary data is inserted between blocks of primary data in a bitwise manner.
  • 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.
  • 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; and splitting means for splitting the data stream into a data stream of primary data and a data stream of secondary data.
  • Figure 1 shows a polled network connecting a CPU to a number of data terminal units.
  • Figure 2- shows a timing diagram showing the signals communicated between the CPU and data terminal units during polling.
  • FIG. 3- shows diagrammatically the method of the present invention
  • Figure 4 shows the connection of communications equipment according to a simple multi-drop implementation of the invention
  • Figure 5 shows in block form a communication apparatus as used in figure 4
  • 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.
  • 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
  • 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.
  • control unit 49 consists of a sequence of polling frames 57 (primary data) interspersed by flags 58
  • the flags will in fact simply be periods of no traffic when transmitted over the network
  • 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
  • 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 transmitted over the network in the normal way to communication apparatus 47.
  • Communication apparatus 47 extracts the facsimile message 63, removes start and stop codes 61 , 62 and sends the facsimile message 63 to facsimile machine 48.
  • the data extracted is replaced with 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 stream 64 in a similar manner.
  • 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.
  • data is transmitted in the HDLC format.
  • start/stop flags consist of the byte 7E (01 1 1 1 1 10).
  • 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.
  • 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 when 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.
  • 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 1 0% 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.
  • all flags may be replaced by secondary data when there is sufficient secondary data
  • data is inserted between primary data 57 in a bitwise fashion so 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.
  • a plurality of sources of secondary data may be combined with the primary data at one end and split into respective streams of secondary data at the other end and supplied to respective devices.
  • FIG 2 represents a worst case scenario in which the terminals are simply polled and reply
  • a terminal transmits data in its reply the available period 28, 29, 30, 31 for transmitting data from a CPU to a terminal will be accordingly extended.
  • 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 during simple polling.
  • each device there is a characteristic latency in each device which creates more time to transmit secondary data.
  • 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 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)
  • DTE 1 -4 a delay 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))
  • 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.
  • the HDLC protocol start/stop flags are accorded the unique byte 7E (01 1 1 1 1 1 0). 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 (i.e: the logical inverse of 7E) . If five zeros are detected in the primary or secondary data a " 1 " may be inserted at the transmitting station and removed 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.
  • communication apparatus 43, 47, 52 must communicate to determine which communication 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.
  • polling information may be sent between communication apparatus 43, 47, 52 as part of a secondary data stream.
  • the communication apparatus communicate polling frames to connected devices in the same manner as 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 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.
  • FIG. 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 FIFO 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.
  • FIFO 73 is connected to cross connect switch 72 by a serial port 78.
  • FIFO 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.
  • 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 FIFO 73 so that the CPU 74 can monitor the data stream.
  • FIFO 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 therein.
  • FIFO 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 FIFO 73
  • FIFO 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.
  • each communication apparatus may monitor characteristics of communications to determine the protocol employed. For example, if a terminal 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 1 7 bytes have been transmitted at least 1 5 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 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 dynamically updated during operation as protocol features are observed.
  • secondary data consisting of facsimile transmissions
  • security data telemetry data or E-mail
  • E-mail may be sent as 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.
  • 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 transmit secondary data and circuitry of the communication apparatus circuits is such as to ensure reliability of data transmitted on the primary network.

Abstract

A method of transmitting secondary data (63) over a communications link (44, 45, 46) which transmits blocks of primary data (57) in a data stream between a sending station (43, 47, 52) and a receiving station (43, 47, 52). Secondary data (63) is formatted according to a protocol other than that used to format the primary data and is inserted between the blocks of primary data. At a receiving station (43, 47, 52) the secondary data is extracted and the data stream is reinstated to its original form. An apparatus for effecting the method includes interface ports (70, 71) and a first in/first out interface (73) interconnected via a cross connect switch (72). A CPU (74) provides secondary data to the first in/first out interface to be inserted between blocks of primary data and routed via cross connect switch (72) to an interface port (70, 71). A watchdog means (75) monitors the CPU and controls the cross connect switch (72) to effect a direct connection between the interface ports (70, 71) if the CPU is inactive.

Description

COMMUNICATION 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. 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.
Background of the invention
In polled networks, such as those used to communicate between a central 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 between a plurality of terminal units (e.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 carrier outbound 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 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 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 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 DTE 1 " 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 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 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 a receiving station, the method comprising: at a sending station:
i) detecting unused portions of the data stream; and
II) inserting secondary data in the unused portions of the data stream; 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 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 secondary data is inserted between blocks of primary data in a bitwise manner to utilise the available capacity. 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. means for receiving a data stream including blocks of primary data; means for receiving secondary data; means for detecting unused portions of the data stream and inserting the secondary data in such unused portions; and means for transmitting the combined data stream to a 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 inserted 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; and splitting means for splitting the data stream into a data stream of primary data and a data stream of secondary data. Brief Description of the Drawings
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:
Figure 1 . shows a polled network connecting a CPU to a number of data terminal units.
Figure 2- shows a timing diagram showing the signals communicated between the CPU and data terminal units during polling.
Figure 3- shows diagrammatically the method of the present invention
Figure 4 shows the connection of communications equipment according to a simple multi-drop implementation of the invention
Figure 5: shows in block form a communication apparatus as used in figure 4
Best mode for carrying 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.
Considering firstly 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. 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 flags 58 The flags will in fact simply be periods of no traffic when 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 transmitted over the network in the normal way to communication apparatus 47. Communication apparatus 47 extracts the facsimile message 63, removes start and stop codes 61 , 62 and sends the facsimile message 63 to facsimile machine 48. The data extracted is replaced with 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 stream 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 (01 1 1 1 1 10). 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 when 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 1 0% 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. 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 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 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, 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 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 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 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. In the HDLC protocol start/stop flags are accorded the unique byte 7E (01 1 1 1 1 1 0). 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 (i.e: the logical inverse of 7E) . If five zeros are detected in the primary or secondary data a " 1 " may be inserted at the transmitting station and removed 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 communication 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 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 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.
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 FIFO 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. FIFO 73 is connected to cross connect switch 72 by a serial port 78. FIFO 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.
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 FIFO 73 so that the CPU 74 can monitor the data 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 FIFO 73. When flags are located between primary data, the secondary data is inserted and sent back via cross connect switch 72 to DCE interface 71 to be transmitted via the modem to the receiving station FIFO 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 therein. FIFO 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 FIFO 73 FIFO 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 transmitted. Each communication apparatus may monitor characteristics of communications to determine the protocol employed. For example, if a terminal 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 1 7 bytes have been transmitted at least 1 5 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 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 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 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.
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 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 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. 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.

Claims

1 . 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 receiving station, the method comprising: at a sending station:
0 detecting unused portions of the data stream; and n) inserting secondary data in the unused portions of the data stream; and
at a receiving station-
H I ) extracting the secondary data from the datastream .
2. A method as claimed in claim 1 wherein 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.
3. A method as claimed in claim 1 or claim 2, wherein, at the receiving station, the secondary data is replaced with flag fills.
4. A method as claimed in any one of the preceding claims wherein the secondary data ts inserted between blocks of primary data irrespective of the protocol used to communicate the primary data.
5. A method as claimed in any one of the preceding claims wherein the secondary data is formatted according to a second protocol, different from a first protocol used to format the primary data.
6. A method as claimed in claim 5 wherein the primary data is formatted according to HDLC protocol and the secondary data is formatted according to another protocol.
7. A method as claimed in claim 5 or claim 6 wherein the start/stop code of the second protocol ts the logical inverse of the start/stop code of the first protocol.
8. A method as claimed in any one of claims 5 to 7 wherein if the start/stop code of the second protocol occurs in the primary data it is changed to another code at the sending station and restored to the original code at the receiving station after the secondary data has been extracted.
9 A method as claimed in any one of claims 5 to 8 wherein the second protocol formats secondary data so that it will be rejected by the primary protocol if the secondary data is not stripped out at the receiving station
1 0. A method as claimed in any one of the preceding claims wherein secondary data is inserted in the data stream between blocks of primary data in sizes other than bytes of information
1 1 A method as claimed in any one of the preceding claims wherein the secondary data is inserted between blocks of primary data in a bitwise manner.
1 2 A method as claimed in any one of the preceding claims wherein each block of primary data includes a start code at the start of the block and a stop code at the end of the block and 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
1 3 A method as claimed in any one of the preceding claims wherein detection of unused portions of the data stream occurs a number of bits ahead of insertion of secondary data in the unused portions of the data stream.
1 4. A method as claimed in any one of the preceding claims wherein secondary data is sent bi-directionally between the sending station and receiving station.
1 5. 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 detecting unused portions of the data stream and inserting the secondary data in such unused portions; and means for transmitting the combined data stream to a communications device.
1 6. An apparatus as claimed in claim 1 5 wherein the means for inserting secondary data formats the secondary data according to a protocol other than the protocol used to communicate the primary data.
1 7. An apparatus as claimed in claim 1 5 or claim 1 6 wherein the start/ stop code of the protocol used to format the secondary data is the logical inverse of the start/stop code of the protocol used to format the primary data.
1 8. An apparatus as claimed in any one of claims 1 5 to 1 7 wherein the third means inserts blocks of secondary data between blocks of primary data in sizes other than bytes of information.
1 9. An apparatus as claimed in any one of claims 1 5 to 1 8 wherein the secondary data is inserted between blocks of primary data in a bitwise manner.
20. An apparatus as claimed in any one of claims 1 5 to 1 9 wherein the third means inserts secondary data in the data stream between the stop code of a block of primary data and the start code of the next block of primary data.
21 . An apparatus as claimed in any one of claims 1 5 to 20 wherein the first, third and fourth means are interconnected by a cross connect switch.
22. An apparatus as claimed in claim 21 wherein the cross connect switch directly connects the first and fourth means when secondary data is not being inserted in the data stream.
23. An apparatus as claimed in any one of claims 1 5 to 22 wherein the third means includes a first in/first out (FIFO) register, connected to the cross connect switch and a CPU, which receives secondary data and supplies it to the first in/first out (FIFO) register.
24. An apparatus as claimed in any one of claims 1 5 to 23 including a watch dog means which monitors the activity of the CPU and controls the cross connect switch to directly connect the first and fourth means if the CPU is inactive.
25 An apparatus as claimed in any one of claims 1 5 to 24 wherein 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.
26. 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; and splitting means for splitting the data stream into a data stream of primary data and a data stream of secondary data.
27. An apparatus as claimed in claim 26 wherein the detecting means monitors the data stream for start/stop codes of the second protocol and notifies the splitting means when a start/stop code of the second protocol is detected.
28. An apparatus as claimed in claim 26 or 27 wherein the splitting means removes the secondary data from the data stream, replaces it with flag fills and outputs the primary data to a first port.
29. An apparatus as claimed in any one of claims 26 to 28 wherein the splitting means extracts the secondary data, removes the start/stop codes and outputs the secondary data to a second port.
30. A method as claimed in claim 1 substantially as herein described.
31 . A communications apparatus substantially as herein described with reference to any one of figures 3 to 5 of the accompanying drawings.
PCT/NZ1997/000086 1996-06-28 1997-06-27 Communication method and apparatus WO1998000925A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP97928551A EP0909492A2 (en) 1996-06-28 1997-06-27 Communication method and apparatus
AU32787/97A AU3278797A (en) 1996-06-28 1997-06-27 Communication method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NZ286908 1996-06-28
NZ28690896 1996-06-28

Publications (2)

Publication Number Publication Date
WO1998000925A2 true WO1998000925A2 (en) 1998-01-08
WO1998000925A3 WO1998000925A3 (en) 1998-05-28

Family

ID=19925807

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/NZ1997/000086 WO1998000925A2 (en) 1996-06-28 1997-06-27 Communication method and apparatus

Country Status (4)

Country Link
EP (1) EP0909492A2 (en)
AU (2) AU2493697A (en)
CA (1) CA2259235A1 (en)
WO (1) WO1998000925A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016111580A (en) * 2014-12-09 2016-06-20 株式会社明電舎 Communication control system, communication control method, and communication frame data structure

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121385A (en) * 1988-09-14 1992-06-09 Fujitsu Limited Highly efficient multiplexing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121385A (en) * 1988-09-14 1992-06-09 Fujitsu Limited Highly efficient multiplexing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016111580A (en) * 2014-12-09 2016-06-20 株式会社明電舎 Communication control system, communication control method, and communication frame data structure

Also Published As

Publication number Publication date
WO1998000925A3 (en) 1998-05-28
AU3278797A (en) 1998-01-21
AU2493697A (en) 1998-01-15
CA2259235A1 (en) 1998-01-08
EP0909492A2 (en) 1999-04-21

Similar Documents

Publication Publication Date Title
US4513370A (en) Data transfer control system and method for a plurality of linked stations
EP0203971B1 (en) Idle period signalling in a packet switching system
CA2452377C (en) Relay-to-relay direct communication system in an electric power system
US5559796A (en) Delay control for frame-based transmission of data
EP0147644B1 (en) Token ring with secondary transmit opportunities
EP0525985B1 (en) High speed duplex data link interface
US4567590A (en) Message stripping protocol for a ring communication network
EP0246428B1 (en) Method and system for addressing and controlling a network of modems
JPH0771125B2 (en) Data communication method and data communication system
US7065101B2 (en) Modification of bus protocol packet for serial data synchronization
US6934301B2 (en) Method and apparatus for converting data packets between a higher bandwidth network and a lower bandwidth network
US20150200737A1 (en) Mechanism For Channel Synchronization
AU623207B2 (en) System for transmitting hdlc frames on a pcm type link using a single hdlc circuit and a transposition buffer memory
US4797878A (en) Multiple virtual multipoint modem using TDM/token throwing technique
EP0360478B1 (en) A packet switching architecture providing encryption across packets
WO1998000925A2 (en) Communication method and apparatus
US6463077B1 (en) PHS data communication terminal adapter
US5579300A (en) Private automatic branch exchange for integrated services digital network
US6751232B1 (en) Method and apparatus for communicating data between first and second pairs of transceivers communicating on a common communications link
US4601030A (en) Multipoint system for interconnecting work stations
GB2066024A (en) Multiplexed line signalling
JP3341326B2 (en) Frame synchronization method and transmission device
EP0208705A1 (en) Communication system and method
JP3190760B2 (en) Batch data transmission method
Bodson et al. Analysis of Group 4 Facsimile Throughput

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CU CZ CZ DE DE DK DK EE EE ES FI FI GB GE GH HU IL IS JP KE KG KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK TJ TM TR TT UA UG US UZ VN YU AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH KE LS MW SD SZ UG ZW AT BE CH DE DK ES FI FR GB GR IE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase in:

Ref country code: CA

Ref document number: 2259235

Kind code of ref document: A

Format of ref document f/p: F

Ref document number: 2259235

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1997928551

Country of ref document: EP

NENP Non-entry into the national phase in:

Ref country code: JP

Ref document number: 98504017

Format of ref document f/p: F

WWP Wipo information: published in national office

Ref document number: 1997928551

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWE Wipo information: entry into national phase

Ref document number: 09214265

Country of ref document: US

WWW Wipo information: withdrawn in national office

Ref document number: 1997928551

Country of ref document: EP