A METHOD AND APPARATUS FOR COMMUNICATING BETWEEN NODES IN A COMMUNICATIONS NETWORK

Abstract: The invention provides a method and apparatus for communicating over a communications network (1) comprising determining a time delay between transmission and reception of data block between nodes (A, B, C, D) in the network (1) and controlling the amount of data transmitted in each of the data blocks in accordance with the determined time delay. By controlling the amount of data transmitted in the data blocks according to the determined time delay, the time delay produced by assembling the data blocks is modified thereby controlling the overall system time delay which comprises a transmission path delay and a delay caused by the assembly of the data block by the network nodes (A, B, C, D).

Description: A Method And Apparatus For Communicating Between Nodes In A Communications Network This invention relates to a method and apparatus for communicating between nodes in a communications network, particulary, but not exclusively, an asynchronous transfer mode network for communicating delay sensitive low rate isochronous services such as voice data. Asynchronous transfer mode (ATM) networks operate in the following manner. A node on the network is allocated a particular time slot during which it may transmit data to another node in the network. It should be understood that the data within the time slot comprises data from more than one source and each slot may be allocated to a particular service. Each time slot is loaded into a cell which travels through the network. Taking, for example, a single telephone source or a number of telephone sources, the data will comprise regularly taken samples of the analogue voice information which is digitised. Once a buffer in the node has sufficient information to fill the time slot the data block or cell is transmitted to the other node. Subsequent time slots are then filled in a similar manner and transmitted to the other node. It will be appreciated that the voice information from one telephone conversation may be split up into samples which are transmitted during different time slots and time delays which are perceivable by telephone user can occur because of the need for each node to "gather" or receive enough information to fill a given time slot. The time delays manifest themselves as echoing, and although echo cancelling equipment is available which can alleviate this problem, such equipment is expensive and not always reliable. This has lead to the belief that ATM is not a suitable technology to serve voice traffic or other delay sensitive low rate isochronous services. The present invention arose from a realisation by the inventor that the currently perceived requirement to fill each time slot with data does not need to be a rigid requirement. By only partially filling a time slot with data, it would be possible to reduce the time delay introduced into the communications network by the buffering process used by each transmitting node. For example, it would be possible for a node to utilise one time slot to transmit just one digitized sample from one telephone conversation. This would, of course, lead to an excessive load on the asynchronous transfer mode network because the other information that would have been carried by that time slot would now have to be carried by other time slots. According to the invention there is provided a method of communicating between nodes in a communications network comprising determining a time delay between transmission and reception of data blocks between nodes, controlling the amount of data in each of the data blocks in accordance with the determined time delay and transmitting the data block from at least one node to another node in the communi ations network. By determining the time delay between transmission and reception of data blocks between nodes and controlling the amount of data in each of the data blocks in accordance with the determined time delay it is possible to compromise between the load on the network and the time delay introduced by the node assembling the data into a data block prior to transmission. For example, where the network has a low transmission path delay it may by tolerable to use a node' s full buffer capacity to ensure that the amount of data in each data block is the maximum that can be contained before the data block is transmitted. If the transmission path has a relatively large time delay, in order to improve the quality of service by reducing performance factors like echo, it will be possible to reduce the amount of data carried in each data block so allowing the data block to be transmitted without having to wait for the buffer to fill to full capacity. By data block it is meant a discrete block, packet or collection of data rather than a continuous data stream. Preferably, a set of time delays and corresponding data amount transmission factors is provided and the determined time delay compared with the set to select an appropriate factor for controlling the amount of data transmitted. The set may, conveniently, be provided as a lookup table. In some networks, the time delay may comprise a delay induced by a transmission path from a first node to a second node alone or this delay doubled to take into account the return path. Preferably, the time delay is determined for a communication path comprising a path from a first node to a second node and a path from the second node to first node. Thus, the outgoing and return path of the network is considered. The path may be direct between the nodes or via other network nodes. The path could be the same for both directions or different. For example, the return path could involve more nodes in the network than the outward path or vice versa. Preferably, the transmission protocol used by the communications network is an asynchronous transfer mode protocol. Conveniently, the respective data blocks are transmitted in respective allocated time slots. Preferably, each data block includes information indicating the amount of data contained by the block. Thus, for a data block which occupies a given interval or cell of time, it will be possible for the receiving node to determine the last item of data in the data block and to differentiate between that last piece of data and that part of the data block which is empty. Alternatively, the data block could include information indicating the location of the data within the data block. Thus, the data block may be organised time wise such that information would be within the leading portion of the data block which would point to the location of the data within the rest of the data block. The advantage of this will be appreciated when consideration is given to the processing of a received data block which is not a "full" data block. In such a data block there will be a part which contains useful data and a part which is "empty" in the sense that it does not contain useful data (although it could contain "dummy" non-useful data present just to fill the block). It will thus save processing time if the "empty" part can be discarded and the useful data processed without delay. According to a second aspect of the invention there is provided communication apparatus, for use, in a communications network of which the apparatus will comprise a node , which apparatus comprising: means to determine a time delay between transmission and reception of data blocks between nodes; means to transmit data blocks and means for controlling the amount of data in each data block transmitted in accordance with the determined time delay. A specific embodiment of the invention will now be described, by way of example only, with reference to and as illustrated by the drawings in which: - Figure 1 shows a communications network comprising a number of nodes and transmission path links in schematic form; Figure 2 shows in schematic block diagram form a node of the network shown in figure 1; and Figures 3 to 5 show in schematic form data blocks transmitted by nodes on the network shown in figure 1. Figure 1 shows a communications network 1 comprising network nodes A, B, C and D linked together by transmission paths 2, 3, 4 and 5. Nodes A and B are linked together by transmission path 2; node B is linked by transmission path 3 to node C; node C is linked by transmission path 4 to node D; node D is linked by transmission path 5 to node A. The transmission paths are formed from optical fibre in a manner well known to a man skilled in the art of communications. The communications network 1 operates in Asynchronous Transfer Mode (ATM). The nodes A, B, C and D are all nominally identical. As is shown in figure 2, each node comprises a node manager 6 linked by a data bus 7 of known type to a buffer 8. The buffer 8 has a data input 9 and output 10. The data input 9 is connected to a telephone network 100 served by node A in a known manner and permits voice data to enter the buffer 8 from the telephones in that network after a data mapping operation by an application layer such as AAL-1. AAL-1 is a process well known to those versed in the art of communications. Data output 10 provides a transmission path for the data to be transmitted as a data block from the node onto one of the transmission paths to which the node has access. The data block is transmitted by means of a transmitter receiver unit 22. The node manager 6 is also connected to a lookup table 11 by means of a data bus 12 and by a data bus 13 to a transmission path time delay determining means 14. The time delay determining means 14 has an input 15 and output 16 connected to the transmitter receiver unit 22 and a further databus connected to a node clock 23. The lookup table 11 comprises a data store containing a set of time delays and associated appropriate cell filling factors. Let us suppose that node A wishes to communicate with node B. From figure 1, it will be readily appreciated that the communication can take place by a direct path 2, direct in the sense that it has few intervening nodes and a short transmission path, or by a longer path comprising paths 4, 3, 5, node C and node D. The first stage in the communication process is for node A to determine the time delay introduced by the chosen transmission path. The node manager 6 instructs the time delay determining means 14 to send a test data block in an ATM cell from node A to node B from the transmitter and receiver unit 22. This cell contains data representative of the time of its transmission from node A by the transmitter and receiver unit 22 which is written into the cell by the time delay determining means 14 after reference to a local clock 23. When this cell is received by node B it is immediately returned to node A. The time delay determining means 14 notes the time of receipt of this cell with reference to the clock 23 and determines the time delay of the transmission path between node A and node B by finding the difference between the noted time of receipt and the time of transmission which is recorded in the data carried by the cell. The determined timed delay is then passed back to the node manager 6 which compares it with various time delays stored in the look-up table 11 in order to select a suitable cell filling factor. The buffer 8 is then controlled by the node manager 6 in accordance with the factor to assemble or load voice data received from the network 100 into the next ATM time division or cell in the following manner. Voice data derived from one of the telephones served by the node A is mapped by an adaptation layer, for example AAL-1, in a manner well known to those skilled in the art into a form suitable for loading into a segmentation and reassembly protocol data unit (SAR-PDU). The SAR-PDU in a typical network will be 48 octets in length, with 47 octets usable by data. The SAR-PDU travels through the network in the cell. The loading process is carried out by the buffer 8 under the control of the node manager 6. The SAR-PDU is shown in figure 3 and it can be seen that it comprises a unit header 17, a fill level indicator field 18, and a user data field 19, a portion 19A of which is unused. The fill level indicator field 18 and the user data field 19 may occupy up to 47 octets and can be thought of as the payload of the SAR-PDU. The header 17 is one octet in length and the 48 octet SAR-PDU is preceded in the ATM cell by a cell header 20. The fill level indicator field 18 contains a fill level indicator which is derived by the node manager 6 from the fill level factor obtained from the lookup table and passed to the buffer 8 for loading into the SAR-PDU. Typically this will be 1 to 46 decimal or 000000001 to 00101110 binary. The purpose of the fill level indicator is to indicate how much or rather how many octets of data are included in the SAR-PDU. Thus, the end of the user data 19 and the beginning the unused portion 19a can be readily determined by the receiving node, node B which can then verify that it has received all the data and that the SAR-PDU has not been corrupted during transmission. Figure 3 shows the type of SAR-PDU that would be transmitted from node A if there was a relatively large time delay in the transmission path to node B. This could be the case when the transmission path includes nodes D and C. If a lower time delay path is chosen for the communications circuit between node A and node B, for example, if path 2 is chosen, then a longer buffer generated time delay is acceptable and more voice data may be packed into the SAR- PDU. The fill level indicator is recorded as a larger number reflecting an expansion of the user data area and a corresponding contraction of the unused portion 19A. Such a situation is illustrated in figure 4. In an alternative embodiment of the invention, the SAR-PDU is configured in a slightly different way. As is shown in figure 5, where like reference numerals are used to signify like fields of the SAR-PDU generated in the earlier described embodiment, the unit has a header 17 a portion of user data 19 and an unused data storage area 19A. However, it will be seen that the user data is located towards the tail of the SAR-PDU with the unused data portion in front of it. Instead of a fill level indicator field 18 there is a pointer field 21 within which is stored a pointer to the location of the start of the user data 19. Again this is generated by the node manager 6 from the cell fill factor and loaded by the buffer 8. The user data area 19 can expand and contract to cater for different transmission path time delays in a similar manner to the earlier described embodiment. The pointer byte requires a value from 0 to 45 decimal that is 0000 0000 to 0010 1101 binary. When the SAR-PDU is received by the node B, the cell fill indicator or the pointer will be used by that node to determine the amount of data it transmits in each data block in each ATM cell back to node A. Alternatively, node B could derive the appropriate cell filling factor in the same way as node A described above or it could be read from an initial connection set up data block, that is to say, a block not containing data concerned with user traffic but set up data, such as an appropriate cell filling factor derived by node A. This could be sent to node B prior to transmission of a block containing the data concerned with user traffic. In alternative embodiments, the lookup table may be updated by a network manager in order to modify the network performance in the light of the network' s current efficiency. In some networks, where there is a danger of data corruption, a number of test cells may be sent to determine to transmission path time delay and the average or majority time delay used.

Claims: CL I S Claim 1. A method of communicating between nodes in a communications network comprising determining a time delay between transmission and reception of data blocks between nodes, controlling the amount of data in each of the data blocks in accordance with the determined time delay and transmitting the data block from at least one node to another node in the communications network. Claim 2. A method as claimed in claim 1 wherein the amount of data transmitted in each of the data blocks is increased if the determined time delay decreases and is decreased if the time delay increases. Claim 3. A method as claimed in claim 1 or claim 2 wherein a set of time delays and corresponding data amount transmission factors is provided and the determined time delay compared with the set to select an appropriate factor for controlling the amount of data transmitted in a data block. Claim 4. A method as claimed in claims 1 or 2 or 3 wherein the time delay is determined for a communication path comprising a path from a first node to a second node and a path from the second node to the first node. Claim 5. A method as claimed in any preceding claim wherein the communications network operates in asynchronous transfer mode. Claim 6. A method as claimed in claim 5 wherein respective data blocks are transmitted in respective allocated time slots. Claim 7. A method as claimed in any preceding claim wherein the data block includes information indicating the amount of data contained in the data block. Claim 8. A method as claimed in any preceding claim wherein the data block includes information indicating the location of the data within the data block. Claim 9. A method as claimed in any preceding claim wherein the time of transmission of a data block from a first node is entered into the data block, the time of reception by the data block by the first node after reception and retransmission by a second node back to the first node is determined; and the time delay for the transmission path determined by comparison of transmission time recorded in the data block and the determined arrival time at the first node. Claim 10. Communication apparatus, for use, communicating between nodes in a communications network of which the apparatus will comprise a node, which apparatus comprising: means to determine a time delay between transmission and reception of data blocks between nodes; means to transmit data blocks and means for controlling the amount of data in each data block transmitted in accordance with the determined time delay. Claim 11. Apparatus as claimed in claim 10 wherein the means for controlling the amount of data in each data block transmitted increases the amount of data if the determined time delay decreases and decreases the amount of data if the determined time delay increases. Claim 12. Apparatus as claimed in claim 10 or claim 11 comprising memory means for, in use, storing a set of time delays and corresponding data amount transmission factors. Claim 13. Apparatus as claimed in claim 12 comprising means for selecting from the memory means an appropriate data amount transmission factor and wherein the means for controlling the amount of data in each data block does so in accordance with the selected factor. Claim 14. Apparatus as claimed in any preceding claim for use in an asynchronous transfer mode communications network. Claim 15. Apparatus as claimed in claim 14 wherein respective data blocks are transmitted in respective allocated time slots. Claim 16. Apparatus as claimed in any preceding claim including means to load into the or each data block information indicating the amount of data contained in the data block. Claim 17. Apparatus as claimed in any preceding claim including means to load into the or each data block information indicating the location of the data with the data block.

Inventors: ORGAN RUPERT JOHN EWART, ORGAN, RUPERT, JOHN, EWART
Applicants: BRITISH TELECOMM, ORGAN RUPERT JOHN EWART, BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY, ORGAN, RUPERT, JOHN, EWART
Application year: 1995
Main classification: H04L12
IPC codes: H04L12, H04M3, H04Q3, H04Q11