WO2002073908A2 - A method and a system for transmitting information through a communication line - Google Patents

A method and a system for transmitting information through a communication line Download PDF

Info

Publication number
WO2002073908A2
WO2002073908A2 PCT/US2002/006886 US0206886W WO02073908A2 WO 2002073908 A2 WO2002073908 A2 WO 2002073908A2 US 0206886 W US0206886 W US 0206886W WO 02073908 A2 WO02073908 A2 WO 02073908A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
units
data packets
communication line
additional
Prior art date
Application number
PCT/US2002/006886
Other languages
French (fr)
Other versions
WO2002073908A3 (en
Inventor
Martin E. Andersen
Original Assignee
Vitesse Semiconductor Corporation
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 Vitesse Semiconductor Corporation filed Critical Vitesse Semiconductor Corporation
Priority to AU2002245612A priority Critical patent/AU2002245612A1/en
Publication of WO2002073908A2 publication Critical patent/WO2002073908A2/en
Publication of WO2002073908A3 publication Critical patent/WO2002073908A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/35Flow control; Congestion control by embedding flow control information in regular packets, e.g. piggybacking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Definitions

  • the present invention relates to a method and a system for transmitting information through a communication line, such as a trunk line.
  • the present invention relates to a manner of increasing the total bandwidth of a communication line.
  • the prior art on preamble/header signalling or the prepending or tagging of data packets comprises:
  • US-A-5,615,213 relates to the transmission of small messages either out-of-band or collectively as normal packages on the network.
  • a processor will determine, from the size of the message packet, whether to transmit it over the network as a normal packet or to enqueue it for special transmission. The enqueued messages are then transmitted to the receiver depending on the length of that queue.
  • US-A-4,956,841 relates to source routing where a packet, which is to visit a number of nodes, is provided with a number of arrows which each identifies how a given switch is to switch the packet.
  • the arrow which was used by one switch for switching the packet is removed in the subsequent switch.
  • An arrow indicates the output port (artery) by which it must exit the switch.
  • US-A-6,301 ,257 relates to source routing where a first switch floods a first packet to a destination to all switches connected to the first switch. All switches which are to receive the packet responds with switch ID and port number which is stored in a memory of the first switch (as a destination tag) and is subsequently prepended to packets for the same destination. In this manner, the subsequent switches need not perform look-up when receiving packets having a prepended destination tag.
  • US-A-5,742,604 relates to an encapsulation of a standard VLAN frame and thereby creating a proprietary non-Ethernet standard compliant data transport between link partners.
  • the Inter Switch Link packet has, in addition to the Ethernet packet fields, an ISL destination and an ISL source address as well as a CRC.
  • US-A-4,780,870 relates to a switch, which internally provides packets with ID of the destination module and the particular processor on that module which is to receive the packet. This format, however, is only used internally in the switch.
  • US-A-5,390,173 relates to a non Ethernet compliant proprietary packet format used only between link partners understanding this particular format.
  • a local address (shorter than the normal address of the packet) is added in addition to a CRC.
  • the encapsulation may also comprise congestion information, priority, results of address translations or the like. This encapsulation is used in a network segment where all elements understand it but where it is stripped before the packet is transmitted on to a network segment, which understands only standard compliant packet formats.
  • WO01/17314 relates to a method where part of a packet header is replaced by a smaller header with which the packet is then transmitted over the network. When being emitted from the network, the original header is re-established.
  • EP-A-1 065 834 relates to a switch which may be cascaded with other elements into a loop configuration where, on the loop, a special data packet format having a pretag with a ring ID is used. When outputting data packets, this ring ID is removed.
  • EP-A-0 996 256 and 1 003 306 relate to two modes of operating a number of switches in relation to each other.
  • One mode is a loop mode where an out-of-band pretag is provided with the ID of the originating switch so that a packet may be identified if it returns to the originator.
  • the other mode relates to an in-band pretag comprising the ingress port number of the receiving switch and the egress port number of the backbone switch in order for that switch to merely transmit the packet, including the pretag if desired, from the port indicated. In this mode, no look-up is performed in the backbone switch.
  • the in-band pretag completely fills and fully replaces the preamble and start-of-frame delimiter of the incoming packet.
  • US-A-6,088,354 relates to a system wherein, internally, a header is provided in received packets.
  • the header comprises representing the identity of the receiving port and the receiving IC. This information is transmitted to an internal statistics module and is stripped before the packet is output of the system.
  • Ethernet preambles for transporting PHY ID from a transmitting element to a next element on a path.
  • the invention relates to a method of transmitting information from a transmitting means to a receiving means through a communication line, the method comprising:
  • the transmitting means a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, providing to the transmitting means additional information to be transmitted through the communication line, the additional information having no relation to and is not dependent on the data packets or units, the transmitting means altering the data packets or units by replacing at least part of the header portion of the data packets or units with the additional information, the transmitting means transmitting the altered data packets through the communication line to the receiving means, and - after transmission, the receiving means deriving the additional data from the altered data packets or units, and outputting the packets or units.
  • part of the header of the data packet or unit will be replaced by additional information, which is derived after transmission.
  • this additional information then has been transmitted over the communication line without increasing the number of data packets or units.
  • the header portion of a data packet or unit is a portion not comprising any of the "payload" data thereof.
  • the data packets or units comprise, in addition to the data field, at least a header field originally intended for receiver synchronization, and one or more address fields for routing.
  • the header field will originally not comprise information, which cannot be regenerated without the need of knowledge of other parts of the data packet or unit. Thus, this field - or parts thereof - may be overwritten or replaced and subsequently easily re-established if desired.
  • any addressing fields of the packet unit are part of the data portion. In Ethernet packets, the header portion would be the preamble.
  • the data packets/units provided to the transmitting means may have any form or relate to any standard.
  • the output packets or units may be transformed to any form comprising a header or not - such as a form corresponding to that on which the data for the transmitting means was received.
  • the additional data has no relation to and is independent of the data packets or unit(s) in the header of which the additional data is transported as well as the receiving means. This would normally mean that the additional data is in dependent on the data packet/unit and will be the same no matter the actual contents of the packet or unit.
  • the method may comprise providing a data providing means for generating the additional information and a data receiving means for receiving the additional information.
  • the invention may provide a communication between these means - a communication separate from that of the remaining data packets or units.
  • data providing means may be e.g. individual computers or computer networks, data providing sensors corresponding with data gathering instrumentation or computers, network units interchanging or relaying networking /routing information, such as congestion/traffic information or statistics, etc.
  • the method further comprises the step of providing a first and a second networking units each being adapted to receive and/or transmit data packets or units to and/or from the communication line and in accordance with congestion information received from one or more other networking units,
  • the step of providing the additional information comprising the first networking unit providing congestion information for the second networking unit, the first networking unit being adapted to receive the data packets or units and to alter these with the additional information, the second networking unit being adapted to derive the additional information, and to perform future reception/transmission in accordance with the additional information.
  • normal networking/routing information may be desired transmitted as header information.
  • This networking/routing information will be transported via the communication link, only a little slower than if it was transmitted as data packets or units as is common. However, this networking/routing information now does not take up the same amount of bandwidth on the communication link.
  • the second networking element may reduce a transmission rate - either an overall transmission rate or transmission of a certain type of data - if congestion is detected.
  • a second aspect of the invention relates to a method of transmitting information from a transmitting means to a receiving means through a communication line, the method comprising:
  • the transmitting means providing to the transmitting means a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, providing to the transmitting means additional information to be transmitted through the communication line, the transmitting means altering the data packets or units by dividing the additional information into a number of parts and replacing at least part of the header portion of each of the data packets with a part of the additional data, the transmitting means transmitting the altered data packets through the communication line to the receiving means, and after transmission, the receiving means deriving the parts of the additional data from the altered data packets or units, assembling the additional data, and outputting the packets or units.
  • a third aspect of the invention relates to a method of transmitting information from a transmitting means to a receiving means through a communication line, the method comprising:
  • the transmitting means a first and a second group of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, providing to the transmitting means additional information to be transmitted through the communication line, the additional data comprising the data packets or units of the first group when an amount of bandwidth on the communication line exceeds a predetermined limit, the transmitting means altering the data packets or units of the second group by replacing at least part of the header portion of the data packets or units of the second group with the additional information, - the transmitting means transmitting the altered data packets through the communication line to the receiving means, and after transmission, the receiving means deriving the first group of data packets or units from the altered data packets or units, and outputting the packets or units.
  • the additional information may comprise one or more of the data packets or units (the first group) when an amount of bandwidth on the communication line exceeds a predetermined limit.
  • part of the data packets are "converted" into additional information and transmitted in the headers of the remaining packets or units in order to increase the bandwidth of the communication line.
  • the choice of which data packets or units are to be sent in the headers may be made on any parameters, such as a priority thereof or the transmitting/receiving MAC or IP address.
  • data or data packets or units from a predetermined input of the transmitting means may be selected as that which is to be introduced - partly or fully - into the headers.
  • the individual data packets, units or frames of individual conversations or sessions must be transmitted in order. This normally puts standard constraints on the order and manner in which the data is transmitted.
  • data packets from the above data provider may be selected as those, which are to be introduced into the headers.
  • the number of packets or units on the communication link decreases, so does the amount of additional data transmitted in the headers of these packets or units.
  • This problem may be solved by instead transmitting the additional data as packets or units in themselves.
  • a number of "dummy" packets or units could be transmitted from the transmitting means to the receiver means in order to maintain a minimum number of packets or units per unit time.
  • Such "dummy" packets may be pause control frames with zero pause value or other frames of a type, which is automatically discarded at the receiving means.
  • traffic between the transmitting means and the receiving means is maintained without putting any additional load on any other data communication to or from these means.
  • This aspect provides flexibility in that, upon not-too-high traffic on the communication link, all information may be transmitted as data packets or units. When the traffic increases over a predetermined limit, part of the data packets or units may be introduced into the headers in order to decrease the traffic (number of packets per unit of time) on the communication link.
  • Another aspect of the invention relates to a method of transmitting information from a transmitting means to a receiving means through a communication line, the method comprising:
  • the transmitting means having a number of inputs and an output adapted to transmit data to the communication line
  • the receiving means having a number of outputs and an input adapted to receive data from the communication line
  • receiving, at one or more of the inputs of the transmitting means a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, - receiving, at one or more inputs of the transmitting means, additional information to be transmitted through the communication line
  • the transmitting means altering the data packets or units by replacing at least part of the header portion of the data packets or units with the additional information
  • the transmitting means transmitting the altered data packets through the communication line to the receiving means, and after transmission, the receiving means deriving the additional data from the altered data packets or units, outputting the packets or units or units from one or more outputs thereof, and outputting the transmitted additional data from one or more outputs
  • the additional information may be input via a single input in the transmitting means and output from a single output of the receiving means. In this manner, the additional information may form a single data transmission separate from that of the data packets or units.
  • the above methods further comprise the step of re-establishing the header portions of the transmitted data packets or units after deriving the additional data and wherein the output steps comprise outputting the re-established packets or units.
  • This re-establishment may be the providing of a standard header. Otherwise, another header with additional information may be provided for transport over a next hop of a data path. In fact, data may be transmitted over a plurality of hops - and may be amended in each hop.
  • the method may further comprise the step of providing a data providing means for generating the additional information and a data receiving means for receiving the additional information.
  • a data providing means for generating the additional information may be of any type generating information desired to be transported over the communication line.
  • the step of providing the data packets or units comprises receiving data packets or units also provided by the data providing means, and wherein the method further comprises a step of transmitting to the receiving means both the transmitted data packets or units as well as data packets or units derived from the headers of transmitted data packets or units.
  • the step of providing the data packets or units comprises providing data packets or units conforming to a standard having one or more address fields, at least one data field and a header having a predetermined bit pattern.
  • Standards of this type may be as the Ethernet standard, the standards of IEEE 802.1 , 802.3, Token Ring, or FDDI.
  • the predetermined bit pattern may e.g. be that originally used for synchronizing a transmitter and a receiver. Using the new much faster manners of transmission, this is not required any more, whereby this part of the packets or units is now merely a waste of space and bits - unless used for non-trivial data as suggested in the present invention.
  • the data packets or units may be generated from data received having any form or complying to any standard, where means may be provided for converting this data to a form having the header used for the additional information and optional error check information.
  • the transmitted data packets or units and additional information may be transformed to any desired shape or form before being transmitted to other networking units.
  • the step of altering the data packets or units comprises replacing the part of the header portion with additional data and optionally error correction data having the same size.
  • the full header may be replaced with the additional data and any error correction data in a manner so that the total number of bits or bytes will be larger or smaller than those in the original header. This only requires the receiving means to be able to tell the additional data/error correction data from the remainder (original part) of the data packet or unit. In any manner, the overall usage of the communication link will be improved.
  • the step of altering the data packets or units comprises also replacing part of the header portion with error check information relating to the additional information provided in the header portion
  • the step of deriving the additional data from the altered data packets or units comprises also deriving the error check information and determining, from the derived additional data and the derived error check information, whether the additional data has been transferred correctly through the communication line.
  • the error check information may relate solely to the additional data in the header or to both the additional data and other parts of the data packet or unit.
  • the error check information may relate to data in a number of packets or units. This is especially useful when e.g. wishing to ensure correct transfer of additional data in a number of headers of data packets or units.
  • the error check information is normally obtained by performing a predetermined calculation on the data to be checked.
  • the result of that value is transmitted to the receiver, which performs the same calculation and compares the result to that received. Correspondence between the two calculations is a sign that the information has been transmitted without error.
  • the step of providing the error check information may comprise providing a cyclical redundancy check value relating to the additional information and optionally one or more other parts of the data packet or unit.
  • the additional data and error check information may be positioned in any manner, as single, separate block or in multiple blocks - as long as the position(s) is/are fixed so that the receiving party may derive the information.
  • a fifth aspect of the invention relates to a system for transmitting information through a communication line, the system comprising:
  • a first network unit comprises: the means for receiving the number of data packets or units, the means for providing the additional information, the means for altering the data packets or units, and the means for transmitting the altered data packets, and
  • a second network unit comprises: the means for receiving the transmitted data packets or units and the means for deriving the additional data from the altered data packets or units,
  • each of the first and second network units being adapted to receive and/or transmit data packets or units to and/or from the communication line and in accordance with congestion information received from one or more other network units,
  • the first networking unit being adapted to provide congestion information for the second network unit, the first network unit being adapted to receive the data packets or units and to alter these with the congestion information as at least part of the additional information,
  • the second network unit being adapted to derive the network information from received data packets or units and to provide future reception/transmission in accordance with the congestion information derived.
  • a sixth aspect relates to a system for transmitting information through a communication line, the system comprising:
  • a seventh aspect relates to a system for transmitting information through a communication line, the system comprising:
  • the first and second groups of data packets/units would be output from the system.
  • An eighth aspect relates to a system for transmitting information through a communication line, the system comprising:
  • each data packet or unit comprising a header portion and a data portion, means for providing additional information to be transmitted through the communication line, means for altering the data packets or units by replacing part of the header portion of the data packets or units with the additional information, means for transmitting the altered data packets through the communication line, the transmitting means: o having a number of inputs and an output adapted to transmit data to the communication line, and o being adapted to receive the data packets or units at one or more of its inputs and the additional data at one or more of its inputs, and means for receiving transmitted data packets or units, and for deriving the additional data from the altered data packets or units, the receiving means: i o having a number of outputs and an input adapted to receive data from the communication line, and o being adapted to output the transmitted data packets or units from one or more of its outputs and to output the transmitted additional data from one or more of its outputs.
  • the transmitting means is preferably adapted to receive the additional data at a single input and wherein the receiving means is adapted to output the transmitted additional data form a single one of its outputs.
  • system may further comprise means for re-establishing the header portions of the transmitted data packets or units, and wherein the outputting means are adapted to output the re-established data packets or units.
  • the system may also comprise a data providing means for generating the additional information and a data receiving means for receiving the additional information.
  • the system further comprises a data providing means for generating the additional information and a data receiving means for receiving the additional information.
  • the system also comprises means for transferring data packets or units from the data providing means to the transmitting means, and means for transferring data packets or units from the receiving means to the data receiving means.
  • these two means could also communicate with normal data packets or units - depending on the load of the communication link or on other situations.
  • Network units may be any unit used for networking, such as Ethernet/ATM switches, routers, bridges, repeaters, Network Interface Cards, or computers.
  • Standards of this type may be the Ethernet standard, the standards of IEEE 802.1 , 802.3, Token Ring, or FDDI. Also, packets or units having the present added information in the headers should be acted on.
  • altering means may be adapted to replace the part of the header portion with additional data and optionally error correction data having the same size.
  • the means for altering the data packets or units are adapted to also replace part of the header portion with error check information relating to at least the additional information provided in the header portion, and the means for deriving the additional data from the altered data packets or units is also adapted to derive the error check information and determine, from at least the derived additional data and the derived error check information, whether the additional data has been transferred correctly through the communication line.
  • the altering means may be adapted to provide a cyclical redundancy check value relating to the additional information and optionally one or more other parts of the data packet or unit.
  • the error check information may be used for checking the integrity of a single header using only information from that header. Alternatively, information from a plurality of headers may be assembled and checked. In that situation, the error check (or part thereof) situation may be introduced into all headers - or into specific ones.
  • the invention relates to a plurality of data packets or units each comprising: a header portion comprising first, additional data, and a data portion comprising data,
  • first, additional data of the plurality of data packets or units may be assembled to form a single piece of information and error check data corresponding to the single piece of information on which a predetermined mathematical operation has been performed.
  • this plurality of data packets may be transmitted using the method of the first aspect and/or the system according to the second aspect.
  • the data packets or units carry additional information, which may, subsequent to transmission, be reassembled, and error checked with error check information carried in the reassembled additional data.
  • the error check data may be present (or part thereof) in each header portion or in specific packets or units.
  • the invention relates to a plurality of data packets or units each comprising: a header portion comprising first, additional data, and second, error check information and a data portion comprising data,
  • first, additional data of the plurality of data packets or units may be assembled to form a single piece of information and the error check information may be assembled to error check data corresponding to the single piece of information on which a predetermined mathematical operation has been performed.
  • the transmitted reassembled additional data is error checked with error check information carried along side the additional data in the headers of the data packets or units.
  • the first data of each header portion may be checked prior to assembly thereof.
  • the additional data of all packets/units may be assembled and then checked vis-a-vis the error check information - which may then also be assembled from all headers prior to the check.
  • each of the plurality of data packets or units has a number of data fields which, apart from the header portion, conform to a standard having one or more address fields, at least one data field and a header having a predetermined bit pattern.
  • Standards of this type may be as the Ethernet standard, the standards of IEEE 802.1 , 802.3, Token Ring, or FDDI.
  • - Fig. 1 illustrates standard Ethernet frame
  • Fig. 2 illustrates the frame of Fig. 1 with an altered header position comprising additional data
  • Fig. 3 illustrates the data frame of Fig. 2 now also comprising error correction data
  • - Fig. 4 is an overall block diagram of the system according to the invention
  • Fig. 5 illustrates a splitting up of a larger piece of data and introduction into a plurality of header portions.
  • Fig. 1 illustrates a data frame in accordance with the Ethernet standard used for transmitting data for example through a network such as a local area network (LAN), metropolitan area network (MAN), wide area network (WAN) or an internetwork (Internet).
  • Ethernet is a widely spread communication medium compatible with a wide multiplicity of types of central processing units. Further, the Ethernet is a good and cheap alternative to normal central processing unit busses such as PCI based solutions, when several physically widely distributed chips or system elements need to be controlled.
  • the data frame shown in Fig. 1 and designated in its entirety by reference numeral 50, comprises several separate fields.
  • the first field designated the header or the 'Preamble' field generally carries a 7 BYTE sequence of alternating "1" and "0" values originally used for synchronization between receiver and transmitter.
  • the 'Preamble' field serves to give devices in a network time to detect the presence of a signal of a new data frame on the network.
  • a start frame delimiter designated by 'S' and following the 'Preamble' field in Fig. 1 provides one BYTE of a particular bit sequence recognised by devices in the network as a beginning of a new data frame.
  • a destination MAC address designated by 'DA' and following the 'S' field of the data frame shown in Fig. 1 comprises a 6 BYTE address identifying the device or devices that are to receive the data frame.
  • a source MAC address designated by 'SA' and following the 'DA' field of the data frame shown in Fig. 1 comprises a 6 BYTE address identifying the device originating the data frame.
  • a destination address 'DA' may specify either an address of a single receiving device, a multicast address of a multiplicity of devices, or a broadcast address identifying all devices in a network.
  • a length/type field designated by T and following the 'SA' field shown in Fig. 1 comprises 2 BYTES indicating either the length of the subsequent number of BYTES of the following MAC client data field or the nature of the MAC client protocol (protocol type). The value of the length/type field determines when the length/type field should be understood as a length of the MAC client data field and when the length/type field should be understood as a type of the MAC client protocol.
  • the MAC client data field designated by 'DATA' in Fig. 1 follows the T field and contains the data to be transferred from the originating device to the receiving device or devices.
  • the 'DATA' field has a maximum length of 1500 BYTES and a minimum length of 46 BYTES. In case the 'DATA' field is shorter than 46 BYTES padding is incorporated so as to obtain a 'DATA' field having the minimum length.
  • a frame check sequence designated by 'FCS' and following the 'DATA' field shown in Fig. 1 comprises a 4 BYTE cyclical redundancy check (CRC) value used for error checking.
  • CRC cyclical redundancy check
  • the source device stores the calculated value in the 'FCS' field and thus transmits the value as part of the data frame.
  • the receiving device performs an identical calculation and checks if the received value is equal to the new calculated value. If the calculated value does not match the value in the 'FCS' field, the receiving device will assume an error has occurred
  • part(s) of the preamble or header of the standard frame 50 - the altered frame being identified by 70 - has been replaced by additional data 71.
  • additional data 71 Due to the fact that the header/preamble is easily re-established after transmission, the data 71 may be retrieved from the transmitted frame 70 and the header/preamble re-established before further transmission or use of the frame (the unaltered or re-established frame being named 50). It is desired that the additional information 71 , as the data portion of the frame, is protected by error protection information.
  • error detection data 92 may be added to the frame 70, now identified by 90.
  • These error detection data 92 are calculated on the basis of the additional data 71 and optionally any other part(s) of the frames 50, 70, or 90. This calculation is predetermined so that a receiving means may perform the same calculation on the same data in order to determine whether this data has been transferred correctly.
  • these error detection data 92 are positioned in the header/preamble in order to not alter any other part of the frame 90 - including the overall length of the frame 90 compared to the frames 50 and 70.
  • a total of 5 bytes of additional data 71 are introduced into the header or preamble and 1 bytes of error check data 92, determined as a CRC of the additional data 71 is used.
  • Fig. 4 illustrates an overall system 10, comprising a communication link 20 established between two network units 14 and 18.
  • the communication link 20 may be any communication link such as an optical fibre, a copper-based communication cable, an aggregated link or a trunk link.
  • the communication link may be adapted to provide data transfer of at least 10 Mbps, such as at least 100 Mbps, preferably at least 1 Gbps, such as at least 10 Gbps.
  • the unit 14 comprises a number of ports P 14 (1) .. P-
  • the unit 14 may comprise an input for receiving data from an external unit 40.
  • data received from the link 20 is fed to a MAC 28 and further on to a aggregator/de-aggregator 24 and there from to a number of ports Pt 8 (1) ... P ⁇ 8 (m) and via data connections 16 to a number of data networks 17 P 8 ⁇ 1) .. 17 P18 (m)-
  • the unit 18 may comprise an output for transmitting data to an external unit 50.
  • data may flow in both directions in the manner described.
  • the actual form of the data received from and/or transmitted to the data networks 13 P14(1) .. 13 P1 (n) and 17 P18(1) .. 17 P18(m) may have any form, and the individual ports or MAC'S therein - or the aggregators/de-aggregators 22 and 24 may transform this data to the form having a header (if it did not have a header from the beginning) as well as to introduce the additional information.
  • the unit 14 is adapted to receive data packets, frames or units on the ports P 14 (1) .. P 14 (n) and receive additional data on the same ports or the input from the unit 40.
  • the aggregator/de-aggregator 22 is adapted to introduce into headers of data packets the additional data - subsequent to any splitting up thereof - and to add the error check data.
  • the aggregator/de-aggregator 24 is adapted to retrieve the additional data and error check data, reassemble the additional data if required and perform the error check before or after assembling the additional data. Also, data packets received and having regenerated headers (in the aggregator/de-aggregator 24) may be output on the ports P 18 (1 ) ⁇ •.. P ⁇ s(m), and the additional data may be output on the same ports or on the output to the unit 50.
  • the header portion may be provided with new additional data for transport over a next communication to another hop on the data path.
  • the data derived from one or more frames may be error checked (using the field 92) within each frame (the data of the field 92 relates only to the field 71 and optionally other parts of that frame). In this manner, any reassembly of the additional data is performed subsequently to the error-check of the derived additional data.
  • reassembled additional data having been transferred in headers of a plurality of frames may be error checked subsequent to reassembly.
  • the error check data may be generated from error check data transmitted in the same frames/packets or be a part of the reassembled additional data - such as if the assembled data constituted an IP data frame.
  • this may be performed in any suitable manner - as long as the aggregator/de-aggregator 24 is able to correctly generate the additional data from correctly transmitted header information 71.
  • EMBODIMENT 1 communication between two additional, external units
  • a standard communication is transmitted via the units 14 and 16 via the link 20 - such as for use as a trunk link carrying information from a number of sources to a number of recipients.
  • the additional bandwidth provided by the invention may be used for communication between two external elements 40 and 50, such as two computers or two data networks.
  • Data from the element 40 will enter the unit 14 at a separate input or one of the ports (P14 (1) .. Pi4(n)).
  • the data generated by element 40 may have any suitable form, such as IP packets or simply a serial flow of data.
  • the aggregator/de-aggregator 22 captures this data and introduces it into headers of data frames received on the connections 12, and the aggregator/de-aggregator 24 derives this data and forwards it to element 50.
  • the data could be split up as described in embodiment 5.
  • the element 40 may provide data in the form of standard IP data packets for transmission over the link 20 when the other traffic thereon is low.
  • the unit 14 may start introducing the data from the element 40 in the headers (if the unit 14 stopped doing that).
  • "dummy" data packets may be transmitted from the unit 14 to the unit 16 in order to maintain a minimum number of packets per unit time - and thereby a minimum amount of data in the headers.
  • Such "dummy" packets may be e.g. pause control frames with zero pause value or other frames, which are automatically, discarded by the unit 16 in order to not load any of the ports P 18 (1 ) ... P 18 (m), data connections 16 or data networks 17 P ⁇ 8 (i) ⁇ 17 P18(m) .
  • the element 40 may provide data both in the form of standard IP data packets for transmission over the link 20 with altered headers, and data having another format for introduction into headers of IP packets.
  • the communication between the elements 40 and 50 does not impede or reduce the other communication between the networks 13 P14(1) .. 13 P14(n) and 17 P18(1) ..
  • EMBODIMENT 2 Increasing the maximum bandwidth on a trunk link
  • Another use of the present invention is one where one or more of the standard IP packets received from links 12 introduced into the header portions of other data packets in order to, in fact, transmit more data packets over the trunk link 20 than it was actually adapted to handle.
  • the actual selection of which data packets are to be transmitted as altered data packets and which are to be transmitted in the header portions may be made in any suitable manner, such as on the basis the priority of the data packets.
  • lower priority data packets may be transferred in the header positions, in that these normally would have to be split up and introduced into a number of packets - whereby they will be transmitted slower than single data packets - preferably taking the order or packets or units of the same session into account.
  • the bandwidth of the link 20 is increased simply by splitting up data, which was to be transmitted anyway, and introducing this data in headers of the remaining data packets. Due to the fact that this more laborious type of communication in fact transmits the additional information slower than if it was introduced in standard IP frames, this type of data transfer is preferably only used when the link 20 carries data traffic exceeding a predetermined limit.
  • the determination of the amount of data traffic and the comparison with the limit may be performed in the aggregator/de-aggregator or the MAC in that both these elements have knowledge as to the total number of frames and/or bytes transmitted.
  • EMBODIMENT 3 Providing a separate channel for networking/routing information
  • the element 40 may instead represent a source of information normally exchanged between networking units such as routers and switches in order to maintain and update routing information or tables. Normally, this information is transmitted as normal Ethernet frames - and often in a manner taking up quite an amount of bandwidth and often with a high priority even though it is not important that this information reaches its destination swiftly.
  • this information may be transmitted in the headers. This manner of transmitting the information is just as safe as that of the normal packets or units - but normally slower. However, the data packets or units may be split up and transmitted without any substantial amendment. Alternatively, due to the fact that these packets normally comprise a lot of padding, this information may be sent in a more concentrated form whereby bandwidth is saved to an even larger degree.
  • EMBODIMENT 4 Adding error check information
  • the error check information described with relation to Fig. 3 may be made in any suitable manner and calculated on the basis of the header information and any other suitable part of the packet or unit.
  • the error check information may relate to only data or information of the actual packet or unit or may relate to data/information of a number thereof.
  • This error check information may be, as is illustrated in Fig. 3, provided in a single block of bits or may be distributed over the header - just as well as the additional data may be provided in a single block or distributed throughout the header.
  • the advantage of distributing the individual pieces of data may be that it is ensured that the bit patterns thereof may be differentiated from other parts of the packet or unit, such as the SFD.
  • EMBODIMENT 5 Splitting data up and introducing the parts into a plurality of data packets/units
  • Fig. 5 illustrates how a data element 60 is divided up into a plurality of parts 61 each introduced into a header 63 of a corresponding number of packets or units 62. These packets/units also transport each their data portions 64 which are not altered in this process.
  • the data element 60 may be on any form, such as a data packet or unit of the same type as the packets/units 62 - or a HDLC packet, or a stream of data whereby the length thereof may be infinite - and then number of packets 62 also.
  • the data element 60 may comprise error check information (such as a last part thereof), which is also transmitted and used for error checking the data.
  • this error check information is provided at the end of the element 60, this information will be transported in the last packets 62. Alternatively, it may be split up into a number of parts and each part being added to a header portion 63.
  • An alternative to the error checking of the full element 60 is to introduce in each header 63, error check information relating only to the part 61 of that header, whereby that part is error checked before re-assembly into the element 60.

Abstract

Data is transmitted in header portions or preambles of data packets or units. The data may be larger than the size of the header portion of a packet, whereby the data is divided into parts each introduced into a header portion, transmitted, and re-assembled. The data transmitted may be error checked using data also having been transported in header portions. The data may have no relation to the data packets in which it is transmitted. Such data is congestion data, statistical data, or other data packets or units.

Description

A METHOD AND A SYSTEM FOR TRANSMITTING INFORMATION THROUGH A COMMUNICATION LINE
The present invention relates to a method and a system for transmitting information through a communication line, such as a trunk line.
Presently, very large bandwidth computer communication is being developed in order to keep up with the increasing bandwidth demand from users and applications. However, no matter the capacity of a communication link, it is to be expected that any capacity will, at some point in time, be too small. The present invention relates to a manner of increasing the total bandwidth of a communication line.
The prior art on preamble/header signalling or the prepending or tagging of data packets comprises:
US-A-5,615,213 relates to the transmission of small messages either out-of-band or collectively as normal packages on the network. A processor will determine, from the size of the message packet, whether to transmit it over the network as a normal packet or to enqueue it for special transmission. The enqueued messages are then transmitted to the receiver depending on the length of that queue.
US-A-4,956,841 relates to source routing where a packet, which is to visit a number of nodes, is provided with a number of arrows which each identifies how a given switch is to switch the packet. The arrow which was used by one switch for switching the packet is removed in the subsequent switch. An arrow indicates the output port (artery) by which it must exit the switch.
US-A-6,301 ,257 relates to source routing where a first switch floods a first packet to a destination to all switches connected to the first switch. All switches which are to receive the packet responds with switch ID and port number which is stored in a memory of the first switch (as a destination tag) and is subsequently prepended to packets for the same destination. In this manner, the subsequent switches need not perform look-up when receiving packets having a prepended destination tag. US-A-5,742,604 relates to an encapsulation of a standard VLAN frame and thereby creating a proprietary non-Ethernet standard compliant data transport between link partners. The Inter Switch Link packet has, in addition to the Ethernet packet fields, an ISL destination and an ISL source address as well as a CRC.
US-A-4,780,870 relates to a switch, which internally provides packets with ID of the destination module and the particular processor on that module which is to receive the packet. This format, however, is only used internally in the switch.
US-A-5,390,173 relates to a non Ethernet compliant proprietary packet format used only between link partners understanding this particular format. In this format, a local address (shorter than the normal address of the packet) is added in addition to a CRC. The encapsulation may also comprise congestion information, priority, results of address translations or the like. This encapsulation is used in a network segment where all elements understand it but where it is stripped before the packet is transmitted on to a network segment, which understands only standard compliant packet formats.
WO01/17314 relates to a method where part of a packet header is replaced by a smaller header with which the packet is then transmitted over the network. When being emitted from the network, the original header is re-established.
EP-A-1 065 834 relates to a switch which may be cascaded with other elements into a loop configuration where, on the loop, a special data packet format having a pretag with a ring ID is used. When outputting data packets, this ring ID is removed.
EP-A-0 996 256 and 1 003 306 relate to two modes of operating a number of switches in relation to each other. One mode is a loop mode where an out-of-band pretag is provided with the ID of the originating switch so that a packet may be identified if it returns to the originator. The other mode relates to an in-band pretag comprising the ingress port number of the receiving switch and the egress port number of the backbone switch in order for that switch to merely transmit the packet, including the pretag if desired, from the port indicated. In this mode, no look-up is performed in the backbone switch. The in-band pretag completely fills and fully replaces the preamble and start-of-frame delimiter of the incoming packet. This preamble and start-of-frame delimiter are re-generated before outputting form this stacked switch. US-A-6,088,354 relates to a system wherein, internally, a header is provided in received packets. The header comprises representing the identity of the receiving port and the receiving IC. This information is transmitted to an internal statistics module and is stripped before the packet is output of the system.
In May, July, and October 2001 , the IEEE 802.3 group working on OAM in Ethernet in the First Mile proposed the use of Ethernet preambles for transporting PHY ID from a transmitting element to a next element on a path.
In a first aspect, the invention relates to a method of transmitting information from a transmitting means to a receiving means through a communication line, the method comprising:
- providing to the transmitting means a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, providing to the transmitting means additional information to be transmitted through the communication line, the additional information having no relation to and is not dependent on the data packets or units, the transmitting means altering the data packets or units by replacing at least part of the header portion of the data packets or units with the additional information, the transmitting means transmitting the altered data packets through the communication line to the receiving means, and - after transmission, the receiving means deriving the additional data from the altered data packets or units, and outputting the packets or units.
Thus, part of the header of the data packet or unit will be replaced by additional information, which is derived after transmission. Thus, this additional information then has been transmitted over the communication line without increasing the number of data packets or units.
In the present context, the header portion of a data packet or unit is a portion not comprising any of the "payload" data thereof. Normally, the data packets or units comprise, in addition to the data field, at least a header field originally intended for receiver synchronization, and one or more address fields for routing. Of these fields, the header field will originally not comprise information, which cannot be regenerated without the need of knowledge of other parts of the data packet or unit. Thus, this field - or parts thereof - may be overwritten or replaced and subsequently easily re-established if desired. In the present context, any addressing fields of the packet unit are part of the data portion. In Ethernet packets, the header portion would be the preamble.
Naturally, the data packets/units provided to the transmitting means may have any form or relate to any standard. Also, the output packets or units may be transformed to any form comprising a header or not - such as a form corresponding to that on which the data for the transmitting means was received.
The additional data has no relation to and is independent of the data packets or unit(s) in the header of which the additional data is transported as well as the receiving means. This would normally mean that the additional data is in dependent on the data packet/unit and will be the same no matter the actual contents of the packet or unit.
The method may comprise providing a data providing means for generating the additional information and a data receiving means for receiving the additional information. Thus, the invention may provide a communication between these means - a communication separate from that of the remaining data packets or units. Such data providing means may be e.g. individual computers or computer networks, data providing sensors corresponding with data gathering instrumentation or computers, network units interchanging or relaying networking /routing information, such as congestion/traffic information or statistics, etc.
Thus, preferably, the method further comprises the step of providing a first and a second networking units each being adapted to receive and/or transmit data packets or units to and/or from the communication line and in accordance with congestion information received from one or more other networking units,
the step of providing the additional information comprising the first networking unit providing congestion information for the second networking unit, the first networking unit being adapted to receive the data packets or units and to alter these with the additional information, the second networking unit being adapted to derive the additional information, and to perform future reception/transmission in accordance with the additional information.
Thus, normal networking/routing information may be desired transmitted as header information. This networking/routing information will be transported via the communication link, only a little slower than if it was transmitted as data packets or units as is common. However, this networking/routing information now does not take up the same amount of bandwidth on the communication link.
Thus, the second networking element may reduce a transmission rate - either an overall transmission rate or transmission of a certain type of data - if congestion is detected.
A second aspect of the invention relates to a method of transmitting information from a transmitting means to a receiving means through a communication line, the method comprising:
providing to the transmitting means a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, providing to the transmitting means additional information to be transmitted through the communication line, the transmitting means altering the data packets or units by dividing the additional information into a number of parts and replacing at least part of the header portion of each of the data packets with a part of the additional data, the transmitting means transmitting the altered data packets through the communication line to the receiving means, and after transmission, the receiving means deriving the parts of the additional data from the altered data packets or units, assembling the additional data, and outputting the packets or units.
Thus, data longer than what is suitable for replacement into a single header may be divided into smaller portions, added to the headers of a number of data packets or units and reassembled after transmission. A third aspect of the invention relates to a method of transmitting information from a transmitting means to a receiving means through a communication line, the method comprising:
- providing to the transmitting means a first and a second group of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, providing to the transmitting means additional information to be transmitted through the communication line, the additional data comprising the data packets or units of the first group when an amount of bandwidth on the communication line exceeds a predetermined limit, the transmitting means altering the data packets or units of the second group by replacing at least part of the header portion of the data packets or units of the second group with the additional information, - the transmitting means transmitting the altered data packets through the communication line to the receiving means, and after transmission, the receiving means deriving the first group of data packets or units from the altered data packets or units, and outputting the packets or units.
In this aspect, the additional information may comprise one or more of the data packets or units (the first group) when an amount of bandwidth on the communication line exceeds a predetermined limit. Thus, part of the data packets are "converted" into additional information and transmitted in the headers of the remaining packets or units in order to increase the bandwidth of the communication line. The choice of which data packets or units are to be sent in the headers may be made on any parameters, such as a priority thereof or the transmitting/receiving MAC or IP address. Also, data or data packets or units from a predetermined input of the transmitting means may be selected as that which is to be introduced - partly or fully - into the headers. In this respect, it should be noted that according to the Ethernet standard, the individual data packets, units or frames of individual conversations or sessions must be transmitted in order. This normally puts standard constraints on the order and manner in which the data is transmitted.
In one example, data packets from the above data provider (or a selected session or conversation) may be selected as those, which are to be introduced into the headers. Thus, in general, if the number of packets or units on the communication link decreases, so does the amount of additional data transmitted in the headers of these packets or units. This problem may be solved by instead transmitting the additional data as packets or units in themselves. Alternatively, a number of "dummy" packets or units could be transmitted from the transmitting means to the receiver means in order to maintain a minimum number of packets or units per unit time. Such "dummy" packets may be pause control frames with zero pause value or other frames of a type, which is automatically discarded at the receiving means. Thus, traffic between the transmitting means and the receiving means is maintained without putting any additional load on any other data communication to or from these means.
This aspect provides flexibility in that, upon not-too-high traffic on the communication link, all information may be transmitted as data packets or units. When the traffic increases over a predetermined limit, part of the data packets or units may be introduced into the headers in order to decrease the traffic (number of packets per unit of time) on the communication link.
Another aspect of the invention relates to a method of transmitting information from a transmitting means to a receiving means through a communication line, the method comprising:
providing a transmitting means at one end of the communication line and a receiving means at another end of the communication line, the transmitting means having a number of inputs and an output adapted to transmit data to the communication line, and the receiving means having a number of outputs and an input adapted to receive data from the communication line, receiving, at one or more of the inputs of the transmitting means, a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, - receiving, at one or more inputs of the transmitting means, additional information to be transmitted through the communication line, the transmitting means altering the data packets or units by replacing at least part of the header portion of the data packets or units with the additional information, the transmitting means transmitting the altered data packets through the communication line to the receiving means, and after transmission, the receiving means deriving the additional data from the altered data packets or units, outputting the packets or units or units from one or more outputs thereof, and outputting the transmitted additional data from one or more outputs thereof.
The additional information may be input via a single input in the transmitting means and output from a single output of the receiving means. In this manner, the additional information may form a single data transmission separate from that of the data packets or units.
In one situation, the above methods further comprise the step of re-establishing the header portions of the transmitted data packets or units after deriving the additional data and wherein the output steps comprise outputting the re-established packets or units. This re-establishment may be the providing of a standard header. Otherwise, another header with additional information may be provided for transport over a next hop of a data path. In fact, data may be transmitted over a plurality of hops - and may be amended in each hop.
The method may further comprise the step of providing a data providing means for generating the additional information and a data receiving means for receiving the additional information. These means may be of any type generating information desired to be transported over the communication line.
In one embodiment, the step of providing the data packets or units comprises receiving data packets or units also provided by the data providing means, and wherein the method further comprises a step of transmitting to the receiving means both the transmitted data packets or units as well as data packets or units derived from the headers of transmitted data packets or units.
Preferably the step of providing the data packets or units comprises providing data packets or units conforming to a standard having one or more address fields, at least one data field and a header having a predetermined bit pattern. Standards of this type may be as the Ethernet standard, the standards of IEEE 802.1 , 802.3, Token Ring, or FDDI. The predetermined bit pattern may e.g. be that originally used for synchronizing a transmitter and a receiver. Using the new much faster manners of transmission, this is not required any more, whereby this part of the packets or units is now merely a waste of space and bits - unless used for non-trivial data as suggested in the present invention.
In fact, the data packets or units may be generated from data received having any form or complying to any standard, where means may be provided for converting this data to a form having the header used for the additional information and optional error check information. Also, the transmitted data packets or units and additional information may be transformed to any desired shape or form before being transmitted to other networking units.
Also, preferably the step of altering the data packets or units comprises replacing the part of the header portion with additional data and optionally error correction data having the same size. In this manner, the overall size of the data packets or units will not be altered and the additional information transmitted without any increase in bandwidth use on the communication link. Alternatively, the full header may be replaced with the additional data and any error correction data in a manner so that the total number of bits or bytes will be larger or smaller than those in the original header. This only requires the receiving means to be able to tell the additional data/error correction data from the remainder (original part) of the data packet or unit. In any manner, the overall usage of the communication link will be improved.
Preferably: - the step of altering the data packets or units comprises also replacing part of the header portion with error check information relating to the additional information provided in the header portion, and the step of deriving the additional data from the altered data packets or units comprises also deriving the error check information and determining, from the derived additional data and the derived error check information, whether the additional data has been transferred correctly through the communication line.
The error check information may relate solely to the additional data in the header or to both the additional data and other parts of the data packet or unit. Alternatively, the error check information may relate to data in a number of packets or units. This is especially useful when e.g. wishing to ensure correct transfer of additional data in a number of headers of data packets or units.
The error check information is normally obtained by performing a predetermined calculation on the data to be checked. The result of that value is transmitted to the receiver, which performs the same calculation and compares the result to that received. Correspondence between the two calculations is a sign that the information has been transmitted without error.
The step of providing the error check information may comprise providing a cyclical redundancy check value relating to the additional information and optionally one or more other parts of the data packet or unit.
Naturally, the additional data and error check information may be positioned in any manner, as single, separate block or in multiple blocks - as long as the position(s) is/are fixed so that the receiving party may derive the information.
A fifth aspect of the invention relates to a system for transmitting information through a communication line, the system comprising:
means for receiving a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, means for providing additional information to be transmitted through the communication line, the additional information having no relation to and not being dependent on the data packets or units, means for altering the data packets or units by replacing part of the header portion of the data packets or units with the additional information, means for transmitting the altered data packets through the communication line, and means for receiving transmitted data packets or units, and for deriving the additional data from the altered data packets or units.
In this aspect, preferably: a first network unit comprises: the means for receiving the number of data packets or units, the means for providing the additional information, the means for altering the data packets or units, and the means for transmitting the altered data packets, and
a second network unit comprises: the means for receiving the transmitted data packets or units and the means for deriving the additional data from the altered data packets or units,
each of the first and second network units being adapted to receive and/or transmit data packets or units to and/or from the communication line and in accordance with congestion information received from one or more other network units,
the first networking unit being adapted to provide congestion information for the second network unit, the first network unit being adapted to receive the data packets or units and to alter these with the congestion information as at least part of the additional information,
the second network unit being adapted to derive the network information from received data packets or units and to provide future reception/transmission in accordance with the congestion information derived.
A sixth aspect relates to a system for transmitting information through a communication line, the system comprising:
- means for receiving a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, means for providing additional information to be transmitted through the communication line, - means for altering the data packets or units by dividing the additional information into a number of parts and replacing at least part of the header portion of each of the data packets with a part of the additional data, means for transmitting the altered data packets through the communication line, and means for receiving transmitted data packets or units, and for deriving the additional data from the altered data packets or units, the deriving means being adapted to derive the parts of the additional data from the data packets or units and reassemble the additional data.
A seventh aspect relates to a system for transmitting information through a communication line, the system comprising:
means for receiving a first and second group of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, means for determining when an amount of bandwidth on the communication line exceeds a predetermined limit and to, then, output a signal, means for providing additional information to be transmitted through the communication line, means for altering the data packets or units by replacing part of the header portion of the data packets or units of the second group with the additional information, the altering means being adapted to receive the signal from the determining means and, in response thereto, alter the data packets or units by replacing part of the header portion of the data packets or units of the second group with one or more parts of the data packets or units of the first group, means for transmitting the altered data packets through the communication line, and means for receiving transmitted data packets or units, and for deriving the data packets or units of the first group from the altered data packets or units.
Normally, the first and second groups of data packets/units would be output from the system.
As mentioned above, by this means, selected data packets, such as data packets having a predetermined priority or data packets from one or more selected sources or data packets or units for selected recipients, may be transmitted in the headers instead - if the traffic on the communication link exceeds a predetermined limit. An eighth aspect relates to a system for transmitting information through a communication line, the system comprising:
means for receiving a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, means for providing additional information to be transmitted through the communication line, means for altering the data packets or units by replacing part of the header portion of the data packets or units with the additional information, means for transmitting the altered data packets through the communication line, the transmitting means: o having a number of inputs and an output adapted to transmit data to the communication line, and o being adapted to receive the data packets or units at one or more of its inputs and the additional data at one or more of its inputs, and means for receiving transmitted data packets or units, and for deriving the additional data from the altered data packets or units, the receiving means: i o having a number of outputs and an input adapted to receive data from the communication line, and o being adapted to output the transmitted data packets or units from one or more of its outputs and to output the transmitted additional data from one or more of its outputs.
In this aspect, the transmitting means is preferably adapted to receive the additional data at a single input and wherein the receiving means is adapted to output the transmitted additional data form a single one of its outputs.
In any of the fifth-eighth aspects, the system may further comprise means for re- establishing the header portions of the transmitted data packets or units, and wherein the outputting means are adapted to output the re-established data packets or units.
The system may also comprise a data providing means for generating the additional information and a data receiving means for receiving the additional information. In another embodiment, the system further comprises a data providing means for generating the additional information and a data receiving means for receiving the additional information. Preferably, the system also comprises means for transferring data packets or units from the data providing means to the transmitting means, and means for transferring data packets or units from the receiving means to the data receiving means.
As mentioned above, these two means could also communicate with normal data packets or units - depending on the load of the communication link or on other situations.
Network units may be any unit used for networking, such as Ethernet/ATM switches, routers, bridges, repeaters, Network Interface Cards, or computers.
Also, preferably: the means for receiving the number of data packets or units, - the means for altering the data packets or units, the means for transmitting the altered data packets, the means for receiving the transmitted data packets or units, the means for deriving the additional data from the altered data packets or units, and - the means for re-establishing the header portions thereof,
are adapted to act on data packets or units conforming to a standard having one or more address fields, at least one data field and a header having a predetermined bit pattern. Standards of this type may be the Ethernet standard, the standards of IEEE 802.1 , 802.3, Token Ring, or FDDI. Also, packets or units having the present added information in the headers should be acted on.
Furthermore, the altering means may be adapted to replace the part of the header portion with additional data and optionally error correction data having the same size.
Also, preferably:
the means for altering the data packets or units are adapted to also replace part of the header portion with error check information relating to at least the additional information provided in the header portion, and the means for deriving the additional data from the altered data packets or units is also adapted to derive the error check information and determine, from at least the derived additional data and the derived error check information, whether the additional data has been transferred correctly through the communication line.
Then, the altering means may be adapted to provide a cyclical redundancy check value relating to the additional information and optionally one or more other parts of the data packet or unit.
The error check information may be used for checking the integrity of a single header using only information from that header. Alternatively, information from a plurality of headers may be assembled and checked. In that situation, the error check (or part thereof) situation may be introduced into all headers - or into specific ones.
In a ninth aspect, the invention relates to a plurality of data packets or units each comprising: a header portion comprising first, additional data, and a data portion comprising data,
wherein the first, additional data of the plurality of data packets or units may be assembled to form a single piece of information and error check data corresponding to the single piece of information on which a predetermined mathematical operation has been performed.
Thus, this plurality of data packets may be transmitted using the method of the first aspect and/or the system according to the second aspect. The data packets or units carry additional information, which may, subsequent to transmission, be reassembled, and error checked with error check information carried in the reassembled additional data.
In this situation, the error check data may be present (or part thereof) in each header portion or in specific packets or units.
In a tenth aspect, the invention relates to a plurality of data packets or units each comprising: a header portion comprising first, additional data, and second, error check information and a data portion comprising data,
wherein the first, additional data of the plurality of data packets or units may be assembled to form a single piece of information and the error check information may be assembled to error check data corresponding to the single piece of information on which a predetermined mathematical operation has been performed.
In accordance to this aspect, the transmitted reassembled additional data is error checked with error check information carried along side the additional data in the headers of the data packets or units.
In this situation, the first data of each header portion may be checked prior to assembly thereof. Alternatively, the additional data of all packets/units may be assembled and then checked vis-a-vis the error check information - which may then also be assembled from all headers prior to the check.
In any of the ninth and tenth aspects, preferably each of the plurality of data packets or units has a number of data fields which, apart from the header portion, conform to a standard having one or more address fields, at least one data field and a header having a predetermined bit pattern. Standards of this type may be as the Ethernet standard, the standards of IEEE 802.1 , 802.3, Token Ring, or FDDI. When the overall length of headers corresponds to that described by the protocol in question, re-establishment thereof and processing of the packet or unit is simplified.
In the following, preferred embodiments of the invention will be described with reference to the drawing wherein:
- Fig. 1 illustrates standard Ethernet frame,
Fig. 2 illustrates the frame of Fig. 1 with an altered header position comprising additional data,
Fig. 3 illustrates the data frame of Fig. 2 now also comprising error correction data, - Fig. 4 is an overall block diagram of the system according to the invention, and Fig. 5 illustrates a splitting up of a larger piece of data and introduction into a plurality of header portions.
Fig. 1 illustrates a data frame in accordance with the Ethernet standard used for transmitting data for example through a network such as a local area network (LAN), metropolitan area network (MAN), wide area network (WAN) or an internetwork (Internet). Ethernet is a widely spread communication medium compatible with a wide multiplicity of types of central processing units. Further, the Ethernet is a good and cheap alternative to normal central processing unit busses such as PCI based solutions, when several physically widely distributed chips or system elements need to be controlled.
The data frame, shown in Fig. 1 and designated in its entirety by reference numeral 50, comprises several separate fields. The first field designated the header or the 'Preamble' field generally carries a 7 BYTE sequence of alternating "1" and "0" values originally used for synchronization between receiver and transmitter. The 'Preamble' field serves to give devices in a network time to detect the presence of a signal of a new data frame on the network.
A start frame delimiter designated by 'S' and following the 'Preamble' field in Fig. 1 provides one BYTE of a particular bit sequence recognised by devices in the network as a beginning of a new data frame.
A destination MAC address designated by 'DA' and following the 'S' field of the data frame shown in Fig. 1 comprises a 6 BYTE address identifying the device or devices that are to receive the data frame.
A source MAC address designated by 'SA' and following the 'DA' field of the data frame shown in Fig. 1 comprises a 6 BYTE address identifying the device originating the data frame.
The IEEE 802.3 standard permits the source and destination address fields to have a length of either 2 BYTES or 6 BYTES, but virtually all Ethernet implementations used today apply the 6 BYTE address. A destination address 'DA' may specify either an address of a single receiving device, a multicast address of a multiplicity of devices, or a broadcast address identifying all devices in a network. A length/type field designated by T and following the 'SA' field shown in Fig. 1 comprises 2 BYTES indicating either the length of the subsequent number of BYTES of the following MAC client data field or the nature of the MAC client protocol (protocol type). The value of the length/type field determines when the length/type field should be understood as a length of the MAC client data field and when the length/type field should be understood as a type of the MAC client protocol.
As described above the MAC client data field designated by 'DATA' in Fig. 1 follows the T field and contains the data to be transferred from the originating device to the receiving device or devices. The 'DATA' field has a maximum length of 1500 BYTES and a minimum length of 46 BYTES. In case the 'DATA' field is shorter than 46 BYTES padding is incorporated so as to obtain a 'DATA' field having the minimum length.
A frame check sequence designated by 'FCS' and following the 'DATA' field shown in Fig. 1 comprises a 4 BYTE cyclical redundancy check (CRC) value used for error checking. As a source device assembles a data frame, it performs a CRC calculation on all the bits in the data frame from the destination MAC address through possible padding (that is, all fields except the preamble, start frame delimiter, and frame check sequence). The source device stores the calculated value in the 'FCS' field and thus transmits the value as part of the data frame. When the data frame is received at the destination device or devices, then the receiving device performs an identical calculation and checks if the received value is equal to the new calculated value. If the calculated value does not match the value in the 'FCS' field, the receiving device will assume an error has occurred
In Fig. 2, part(s) of the preamble or header of the standard frame 50 - the altered frame being identified by 70 - has been replaced by additional data 71. In this manner, synchronization may still be possible using the smaller header - but especially when using higher bandwidth communication these headers are, in fact, not used whereby this replacement has no other effect than more data being carried by the frame 70. Due to the fact that the header/preamble is easily re-established after transmission, the data 71 may be retrieved from the transmitted frame 70 and the header/preamble re-established before further transmission or use of the frame (the unaltered or re-established frame being named 50). It is desired that the additional information 71 , as the data portion of the frame, is protected by error protection information. Thus, as may be seen in Fig. 3, error detection data 92 may be added to the frame 70, now identified by 90. These error detection data 92 are calculated on the basis of the additional data 71 and optionally any other part(s) of the frames 50, 70, or 90. This calculation is predetermined so that a receiving means may perform the same calculation on the same data in order to determine whether this data has been transferred correctly. As may be seen, also these error detection data 92 are positioned in the header/preamble in order to not alter any other part of the frame 90 - including the overall length of the frame 90 compared to the frames 50 and 70.
In the presently preferred embodiment, a total of 5 bytes of additional data 71 are introduced into the header or preamble and 1 bytes of error check data 92, determined as a CRC of the additional data 71 is used.
Fig. 4 illustrates an overall system 10, comprising a communication link 20 established between two network units 14 and 18. The communication link 20 may be any communication link such as an optical fibre, a copper-based communication cable, an aggregated link or a trunk link.
The communication link may be adapted to provide data transfer of at least 10 Mbps, such as at least 100 Mbps, preferably at least 1 Gbps, such as at least 10 Gbps.
The unit 14 comprises a number of ports P14 (1) .. P-|4 (n) communicating via data connections 12 with a number of data networks etc. 13p1 (1) .. 13p14(n). Data received from these ports is aggregated by an aggregator/de-aggregator 22 and further fed to a MAC 26, and from the MAC 26 to the trunk link 20. In addition, the unit 14 may comprise an input for receiving data from an external unit 40.
An alternative to this would be providing two switches communicating over the link 20.
In the unit 18, data received from the link 20 is fed to a MAC 28 and further on to a aggregator/de-aggregator 24 and there from to a number of ports Pt8(1) ... Pι8(m) and via data connections 16 to a number of data networks 17P 8{1) .. 17P18(m)- Also, the unit 18 may comprise an output for transmitting data to an external unit 50. In fact, as is also illustrated by the arrows, data may flow in both directions in the manner described.
It should be noted that the actual form of the data received from and/or transmitted to the data networks 13P14(1) .. 13P1 (n) and 17P18(1) .. 17P18(m) may have any form, and the individual ports or MAC'S therein - or the aggregators/de-aggregators 22 and 24 may transform this data to the form having a header (if it did not have a header from the beginning) as well as to introduce the additional information.
Thus, the unit 14 is adapted to receive data packets, frames or units on the ports P14 (1) .. P14 (n) and receive additional data on the same ports or the input from the unit 40.
The aggregator/de-aggregator 22 is adapted to introduce into headers of data packets the additional data - subsequent to any splitting up thereof - and to add the error check data. i
Also, the aggregator/de-aggregator 24 is adapted to retrieve the additional data and error check data, reassemble the additional data if required and perform the error check before or after assembling the additional data. Also, data packets received and having regenerated headers (in the aggregator/de-aggregator 24) may be output on the ports P18(1 ) ■•.. Pιs(m), and the additional data may be output on the same ports or on the output to the unit 50.
It is obvious that the re-establishment of the data packets (transfer from frame 70 or 90 to the frame 50) is simple in that the preamble of a standard packet is a standardized bit pattern.
Alternatively, the header portion may be provided with new additional data for transport over a next communication to another hop on the data path.
Also, it is clear that the data derived from one or more frames may be error checked (using the field 92) within each frame (the data of the field 92 relates only to the field 71 and optionally other parts of that frame). In this manner, any reassembly of the additional data is performed subsequently to the error-check of the derived additional data. Alternatively or additionally, reassembled additional data having been transferred in headers of a plurality of frames may be error checked subsequent to reassembly. Thus1, the error check data may be generated from error check data transmitted in the same frames/packets or be a part of the reassembled additional data - such as if the assembled data constituted an IP data frame.
As to the splitting up of the additional data and reassembly thereof, this may be performed in any suitable manner - as long as the aggregator/de-aggregator 24 is able to correctly generate the additional data from correctly transmitted header information 71.
In the following, different embodiments will be described which illustrate particular uses of the present invention. Naturally, each of these embodiments may be used by itself or in a combination with others - such as with an arbiter function defining the priority/timing of data from the individual embodiments.
EMBODIMENT 1 : communication between two additional, external units
In this embodiment, a standard communication is transmitted via the units 14 and 16 via the link 20 - such as for use as a trunk link carrying information from a number of sources to a number of recipients.
The additional bandwidth provided by the invention may be used for communication between two external elements 40 and 50, such as two computers or two data networks. Data from the element 40 will enter the unit 14 at a separate input or one of the ports (P14 (1) .. Pi4(n)). The data generated by element 40 may have any suitable form, such as IP packets or simply a serial flow of data. The aggregator/de-aggregator 22 captures this data and introduces it into headers of data frames received on the connections 12, and the aggregator/de-aggregator 24 derives this data and forwards it to element 50.
The data could be split up as described in embodiment 5.
In this embodiment, a reduced traffic on the link 20 will result in reduced data traffic in the headers. Thus,' the element 40 may provide data in the form of standard IP data packets for transmission over the link 20 when the other traffic thereon is low. When the traffic increases, the unit 14 may start introducing the data from the element 40 in the headers (if the unit 14 stopped doing that). Alternatively, "dummy" data packets may be transmitted from the unit 14 to the unit 16 in order to maintain a minimum number of packets per unit time - and thereby a minimum amount of data in the headers. Such "dummy" packets may be e.g. pause control frames with zero pause value or other frames, which are automatically, discarded by the unit 16 in order to not load any of the ports P18(1 ) ... P18(m), data connections 16 or data networks 17Pι8(i) ■■ 17P18(m).
Naturally, the element 40 may provide data both in the form of standard IP data packets for transmission over the link 20 with altered headers, and data having another format for introduction into headers of IP packets.
In this manner, the communication between the elements 40 and 50 does not impede or reduce the other communication between the networks 13P14(1) .. 13P14(n) and 17P18(1) ..
EMBODIMENT 2: Increasing the maximum bandwidth on a trunk link
Another use of the present invention is one where one or more of the standard IP packets received from links 12 introduced into the header portions of other data packets in order to, in fact, transmit more data packets over the trunk link 20 than it was actually adapted to handle.
The actual selection of which data packets are to be transmitted as altered data packets and which are to be transmitted in the header portions may be made in any suitable manner, such as on the basis the priority of the data packets. Thus, lower priority data packets may be transferred in the header positions, in that these normally would have to be split up and introduced into a number of packets - whereby they will be transmitted slower than single data packets - preferably taking the order or packets or units of the same session into account.
In this manner, the bandwidth of the link 20 is increased simply by splitting up data, which was to be transmitted anyway, and introducing this data in headers of the remaining data packets. Due to the fact that this more laborious type of communication in fact transmits the additional information slower than if it was introduced in standard IP frames, this type of data transfer is preferably only used when the link 20 carries data traffic exceeding a predetermined limit. The determination of the amount of data traffic and the comparison with the limit may be performed in the aggregator/de-aggregator or the MAC in that both these elements have knowledge as to the total number of frames and/or bytes transmitted.
EMBODIMENT 3: Providing a separate channel for networking/routing information
The element 40 may instead represent a source of information normally exchanged between networking units such as routers and switches in order to maintain and update routing information or tables. Normally, this information is transmitted as normal Ethernet frames - and often in a manner taking up quite an amount of bandwidth and often with a high priority even though it is not important that this information reaches its destination swiftly.
Instead, this information may be transmitted in the headers. This manner of transmitting the information is just as safe as that of the normal packets or units - but normally slower. However, the data packets or units may be split up and transmitted without any substantial amendment. Alternatively, due to the fact that these packets normally comprise a lot of padding, this information may be sent in a more concentrated form whereby bandwidth is saved to an even larger degree.
EMBODIMENT 4: Adding error check information
In the last embodiment, it is illustrated that the error check information described with relation to Fig. 3 may be made in any suitable manner and calculated on the basis of the header information and any other suitable part of the packet or unit. The error check information may relate to only data or information of the actual packet or unit or may relate to data/information of a number thereof.
This error check information may be, as is illustrated in Fig. 3, provided in a single block of bits or may be distributed over the header - just as well as the additional data may be provided in a single block or distributed throughout the header. The advantage of distributing the individual pieces of data may be that it is ensured that the bit patterns thereof may be differentiated from other parts of the packet or unit, such as the SFD.
EMBODIMENT 5: Splitting data up and introducing the parts into a plurality of data packets/units
Fig. 5 illustrates how a data element 60 is divided up into a plurality of parts 61 each introduced into a header 63 of a corresponding number of packets or units 62. These packets/units also transport each their data portions 64 which are not altered in this process. The data element 60 may be on any form, such as a data packet or unit of the same type as the packets/units 62 - or a HDLC packet, or a stream of data whereby the length thereof may be infinite - and then number of packets 62 also.
Naturally, the re-assertibly of the data portion 60 is the reverse process.
The data element 60 may comprise error check information (such as a last part thereof), which is also transmitted and used for error checking the data.
If this error check information is provided at the end of the element 60, this information will be transported in the last packets 62. Alternatively, it may be split up into a number of parts and each part being added to a header portion 63.
An alternative to the error checking of the full element 60 is to introduce in each header 63, error check information relating only to the part 61 of that header, whereby that part is error checked before re-assembly into the element 60.

Claims

1. A method of transmitting information from a transmitting means to a receiving means through a communication line, the method comprising:
providing to the transmitting means a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, providing to the transmitting means additional information to be transmitted through the communication line, the additional information having no relation to and is not dependent on the data packets or units, the transmitting means altering the data packets or units by replacing at least part of the header portion of the data packets or units with the additional information, the transmitting means transmitting the altered data packets through the communication line to the receiving means, and after transmission, the receiving means deriving the additional data from the altered data packets or units, and outputting the packets or units.
2. A method according to claiml , further comprising the step of providing a first and a second networking units each being adapted to receive and/or transmit data packets or units to and/or from the communication line and in accordance with congestion information received from one or more other networking units,
the step of providing the additional information comprising the first networking unit providing congestion information for the second networking unit, the first networking unit being adapted to receive the data packets or units and to alter these with the additional information,
the second networking unit being adapted to derive the additional information, and to perform future reception/transmission in accordance with the additional information.
3. A method of transmitting information from a transmitting means to a receiving means through a communication line, the method comprising: providing to the transmitting means a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, providing to the transmitting means additional information to be transmitted through the communication line, the transmitting means altering the data packets or units by dividing the additional information into a number of parts and replacing at least part of the header portion of each of the data packets with a part of the additional data, the transmitting means transmitting the altered data packets through the communication line to the receiving means, and after transmission, the receiving means deriving the parts of the additional data from the altered data packets or units, assembling the additional data, and outputting the packets or units.
4. A method of transmitting information from a transmitting means to a receiving means through a communication line, the method comprising:
providing to the transmitting means a first and a second group of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, providing to the transmitting means additional information to be transmitted through the communication line, the additional data comprising the data packets or units of the first group when an amount of bandwidth on the communication line exceeds a predetermined limit, - the transmitting means altering the data packets or units of the second group by replacing at least part of the header portion of the data packets or units of the second group with the additional information, the transmitting means transmitting the altered data packets through the communication line to the receiving means, and - after transmission, the receiving means deriving the first group of data packets or units from the altered data packets or units, and outputting the packets or units.
5. A method of transmitting information from a transmitting means to a receiving means through a communication line, the method comprising: providing a transmitting means at one end of the communication line and a receiving means at another end of the communication line, the transmitting means having a number of inputs and an output adapted to transmit data to the communication line, and the receiving means having a number of outputs and an input adapted to receive data from the communication line, receiving, at one or more of the inputs of the transmitting means, a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, receiving, at one or more inputs of the transmitting means, additional information to be transmitted through the communication line, the transmitting means altering the data packets or units by replacing at least part of the header portion of the data packets or units with the additional information, the transmitting means transmitting the altered data packets through the communication line to the receiving means, and - after transmission, the receiving means deriving the additional data from the altered data packets or units, outputting the packets or units or units from one or more outputs thereof, and outputting the transmitted additional data from one or more outputs thereof.
6. A method according to claim 5, wherein the additional data is received at a single input of the transmitting means and wherein the transmitted additional data is output by a single output by the receiving means.
7. A method according to any of the preceding claims, further comprising the step of re- establishing the header portions of the transmitted data packets or units after deriving the additional data and wherein the output step comprises outputting the re-established packets or units.
8. A method according to any of the preceding claims, further comprising the step of: - providing a data providing means for generating the additional information and a data receiving means for receiving the additional information.
9. A method according to claim 8, wherein the step of providing the data packets or units comprises receiving data packets or units provided by the data providing means, and wherein the method further comprises a step of providing corresponding transmitted, reestablished data packets to the data receiving means.
10. A method according to any of the preceding claims, wherein the step of providing the data packets or units comprises providing data packets or units conforming to a standard comprising one or more address fields, at least one data field and a header having a predetermined bit pattern, such as the Ethernet standard, the standards of IEEE 802.1 , 802.3, Token Ring, or FDDI.
11. A method according to any of the preceding claims, wherein the step of altering the data packets or units comprises replacing the part of the header portion with additional data and optionally error correction data having the same size.
12. A method according to any of the preceding claims, wherein:
the step of altering the data packets or units comprises also replacing part of the header portion with error check information relating to the additional information provided in the header portion, and the step of deriving the additional data from the altered data packets or units comprises also deriving the error check information and determining, from the derived additional data and the derived error check information, whether the additional data has been transferred correctly through the communication line.
13. A method according to claim 12, wherein the step of providing the error check information comprises providing a cyclical redundancy check value relating to the additional information and optionally one or more other parts of the data packet or unit.
14. A system for transmitting information through a communication line, the system comprising: ' means for receiving a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, means for providing additional information to be transmitted through the communication line, the additional information having no relation to and not being dependent on the data packets or units, means for altering the data packets or units by replacing part of the header portion of the data packets or units with the additional information, means for transmitting the altered data packets through the communication line, and means for receiving transmitted data packets or units, and for deriving the additional data from the altered data packets or units.
15. A system according to claim 14, wherein: a first network unit comprises: the means for receiving the number of data packets or units, the means for providing the additional information, - the means for altering the data packets or units, and the means for transmitting the altered data packets, and
a second network unit comprises: the means for receiving the transmitted data packets or units and - the means for deriving the additional data from the altered data packets or units,
each of the first and second network units being adapted to receive and/or transmit data packets or units to and/or from the communication line and in accordance with congestion information received from one or more other network units,
the first networking unit being adapted to provide congestion information for the second network unit, the first network unit being adapted to receive the data packets or units and to alter these with the congestion information as at least part of the additional information,
the second network unit being adapted to derive the network information from received data packets or units and to provide future reception/transmission in accordance with the congestion information derived.
16. A system for transmitting information through a communication line, the system comprising: means for receiving a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, - means for providing additional information to be transmitted through the communication line, means for altering the data packets or units by dividing the additional information into a number of parts and replacing at least part of the header portion of each of the data packets with a part of the additional data, - means for transmitting the altered data packets through the communication line, and means for receiving transmitted data packets or units, and for deriving the additional data from the altered data packets or units, the deriving means being adapted to derive the parts of the additional data from the data packets or units and reassemble the additional data.
17. A system for transmitting information through a communication line, the system comprising:
- means for receiving a first and second group of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, means for determining when an amount of bandwidth on the communication line exceeds a predetermined limit and to, then, output a signal, - means for providing additional information to be transmitted through the communication line, means for altering the data packets or units by replacing part of the header portion of the data packets or units of the second group with the additional information, the altering means being adapted to receive the signal from the determining means and, in response thereto, alter the data packets or units by replacing part of the header portion of the data packets or units of the second group with one or more parts of the data packets or units of the first group, means for transmitting the altered data packets through the communication line, and means for receiving transmitted data packets or units, and for deriving the data packets or units of the first group from the altered data packets or units.
18. A system for transmitting information through a communication line, the system comprising:
means for receiving a number of data packets or units to be transmitted through the communication line, each data packet or unit comprising a header portion and a data portion, - means for providing additional information to be transmitted through the communication line, means for altering the data packets or units by replacing part of the header portion of the data packets or units with the additional information, means for transmitting the altered data packets through the communication line, the transmitting means: o having a number of inputs and an output adapted to transmit data to the communication line, and o being adapted to receive the data packets or units at one or more of its inputs and the additional data at one or more of its inputs, and - means for receiving transmitted data packets or units, and for deriving the additional data from the altered data packets or units, the receiving means: o having a number of outputs and an input adapted to receive data from the communication line, and o being adapted to output the transmitted data packets or units from one or more of its outputs and to output the transmitted additional data from one or more of its outputs.
19. A system according to claim 18, wherein the transmitting means is adapted to receive the additional data at a single input and wherein the receiving means is adapted to output the transmitted additional data form a single of its outputs.
20. A system according to any of claims 14-20 further comprising means for reestablishing the header portions of the transmitted data packets or units, and wherein the outputting means are adapted to output the re-established data packets or units.
21. A system according to any one of claims 14-20, further comprising a data providing means for generating the additional information and a data receiving means for receiving the additional information.
22. A system according to claim 21 , further comprising means for transferring data packets or units from the data providing means to the transmitting means, and means for transferring data packets or units from the receiving means to the data receiving means.
23. A system according to any of claims 14-22, wherein: - the means for receiving the number of data packets or units, the means for altering the data packets or units, the means for transmitting the altered data packets, the means for receiving the transmitted data packets or units, the means for deriving the additional data from the altered data packets or units, and the means for re-establishing the header portions thereof,
are adapted to act on data packets or units conforming to a standard comprising one or more address fields, at least one data field and a header having a predetermined bit pattern, such as the Ethernet standard, the standards of IEEE 802.1 , 802.3, Apple Talk, Token Ring, Frame Relay, or FDDI.
24. A system according to any of claims 14-23, wherein the altering means are adapted to replace the part of the header portion with additional data and optionally error correction data having the same size.
25. A system according to any of claims 14-24, wherein:
the means for altering the data packets or units are adapted to also replace part of the header portion with error check information relating at least to the additional information provided in the header portion, and the means for deriving the additional data from the altered data packets or units is also adapted to derive the error check information and determine, from at least the derived additional data and the derived error check information, whether the additional data has been transferred correctly through the communication line.
26. A system according to claim 25, wherein the altering means are adapted to provide a cyclical redundancy check value relating to the additional information and optionally one or more other parts of the data packet or unit.
27. A plurality of data packets or units each comprising:
a header portion comprising first, additional data, and a data portion comprising data,
wherein the first, additional data of the plurality of data packets or units may be assembled to form a single piece of information and error check data corresponding to the single piece of information on which a predetermined mathematical operation has been performed.
28. A plurality of data packets or units each comprising:
a header portion comprising first, additional data and second, error check information and - a data portion comprising data,
wherein the first, additional data of the plurality of data packets or units may be assembled to form a single piece of information and the error check information may be assembled to error check data corresponding to the single piece of information on which a predetermined mathematical operation has been performed.
29. A plurality of data packets or units according to claim 27 or 28, each having a number of data fields which, apart from the header portion, conform to a protocol having at least one address field, at least one data field and a header having a predetermined bit pattern, such as the Ethernet standard, the standards of IEEE 802.1 , 802.3, Token Ring, or FDDI.
PCT/US2002/006886 2001-03-09 2002-03-08 A method and a system for transmitting information through a communication line WO2002073908A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002245612A AU2002245612A1 (en) 2001-03-09 2002-03-08 A method and a system for transmitting information through a communication line

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US27424501P 2001-03-09 2001-03-09
US27424701P 2001-03-09 2001-03-09
US60/274,245 2001-03-09
US60/274,247 2001-03-09

Publications (2)

Publication Number Publication Date
WO2002073908A2 true WO2002073908A2 (en) 2002-09-19
WO2002073908A3 WO2002073908A3 (en) 2003-04-10

Family

ID=26956694

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/006886 WO2002073908A2 (en) 2001-03-09 2002-03-08 A method and a system for transmitting information through a communication line

Country Status (2)

Country Link
AU (1) AU2002245612A1 (en)
WO (1) WO2002073908A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10212589A1 (en) * 2002-03-15 2003-10-09 Siemens Ag Transmission of useful data within internet protocol packet, inserts additional useful data in packet header field
EP1890412A1 (en) * 2006-08-16 2008-02-20 Nokia Siemens Networks Gmbh & Co. Kg Method of signaling the occurence or the state of control data in a bit sequence and devices therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751723A (en) * 1996-07-01 1998-05-12 Motorola, Inc. Method and system for overhead bandwidth recovery in a packetized network
US5944843A (en) * 1997-08-21 1999-08-31 Hewlett-Packard Company Method and apparatus for using the unused bits of a data packet to transmit additional information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751723A (en) * 1996-07-01 1998-05-12 Motorola, Inc. Method and system for overhead bandwidth recovery in a packetized network
US5944843A (en) * 1997-08-21 1999-08-31 Hewlett-Packard Company Method and apparatus for using the unused bits of a data packet to transmit additional information

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
K. RAMAKRISHNAN, S. FLOYD: "A proposal to add Explicit Congestion Notification (ECN) to IP" IETF RFC 2481, [Online] January 1999 (1999-01), pages 1-25, XP002224129 Retrieved from the Internet: <URL:http://www.ietf.org/rfc/rfc2481.txt?n umber=2481> [retrieved on 2002-12-09] *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10212589A1 (en) * 2002-03-15 2003-10-09 Siemens Ag Transmission of useful data within internet protocol packet, inserts additional useful data in packet header field
DE10212589B4 (en) * 2002-03-15 2007-06-06 Siemens Ag Method for transmitting user data by means of an IP packet and IP packet
EP1890412A1 (en) * 2006-08-16 2008-02-20 Nokia Siemens Networks Gmbh & Co. Kg Method of signaling the occurence or the state of control data in a bit sequence and devices therefor

Also Published As

Publication number Publication date
AU2002245612A1 (en) 2002-09-24
WO2002073908A3 (en) 2003-04-10

Similar Documents

Publication Publication Date Title
US8462814B2 (en) Internet protocol using ethernet first mile physical layer
US5918022A (en) Protocol for transporting reservation system data over a TCP/IP network
JP4829896B2 (en) Method, system and article for improved network performance by avoiding data corruption
EP1214819B1 (en) Circuit emulation service over an internet protocol network
US20030185201A1 (en) System and method for 1 + 1 flow protected transmission of time-sensitive data in packet-based communication networks
US8249107B2 (en) Method and apparatus for frame relay
US9479619B2 (en) Transmission apparatus, transmission system, and transmission method
Chitre et al. Asynchronous transfer mode (ATM) operation via satellite: Issues, challenges and resolutions
US7359964B2 (en) Method and equipment for providing a signaling channel for performing signaling functions at an ethernet level
EP3605963B1 (en) Data processing method and apparatus
JP3539551B2 (en) Frame and transmission device for accommodating heterogeneous data traffic on common carrier
CN113438182A (en) Flow control system and flow control method based on credit
US20050249247A1 (en) Methods and apparatus for multiplexing multiple signal sources over a single full duplex ETHERNET link
US11902172B2 (en) Device and method for transferring identification and/or data flow control information between devices
WO2002073908A2 (en) A method and a system for transmitting information through a communication line
US8515283B2 (en) Transparent fiber channel link management for protocol transport
US7590135B2 (en) Methods and apparatus to perform security related operations on received signals
CN114422445B (en) Method for realizing load balancing and disordered recombination
US10727978B2 (en) Method and apparatus for transmitting control messages in an optical transmission network
JP3539556B2 (en) Heterogeneous client data transfer method on common carrier, ATM / frame multiplex transmission apparatus and router configuration
EP2048828B1 (en) Method and systems for data transmission over packet networks, corresponding computer program product
WO2003065664A1 (en) A networking element adapted to receive and output also preambles of data packets or frames
JPWO2004064341A1 (en) Non-instantaneous transfer method in case of line failure in IP network
CN117544572A (en) Message slicing method, device, system and storage medium
Jiang et al. Flexible ip encapsulation for ip over atm with atm shortcuts

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ CZ DE DE DK DK DM DZ EC EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP