MESSAGE PIGGYBACKING DURING TRANSPORT MEDIUM CONGESTION

Abstract: A computer (30(1)) detects congestion (50, 80) on a network transport medium (32) and in response thereto refrains from sending any packets containing messages. These to be transmitted messages are instead stored (56, 84) by the computer in memory (40). In one embodiment, each message addressed to the same destination addressee computer is stored (84) in a common buffer (38), with a different buffer being allocated to each identified destination addressee computer (30(2) and 30(3)) for the to be transmitted messages. In another embodiment, each such message is encapsulated (54) into a single packet (36) that is stored (56) in the reserved portion. When the congestion condition on the transport medium subsides (58, 86), the one or more messages stored within a given buffer are retrieved from memory and encapsulated (104) within a single packet (36) addressed to the destination addressee computer associated with that given buffer. Alternatively, the stored single packet is retrieved from memory. That single packet is then sent (76, 106) over the transport medium to the identified destination addressee computer.

Description: MESSAGE PIGGYBACKING DURING TRANSPORT MEDIUM CONGESTION BACKGROUND OF THE INVENTION Technical Field of the Invention The present invention relates to network connected computers and, in particular, to an improved scheme for networked computer communications during instances of communications medium congestion. Description of Related Art Packet communications protocols are commonly utilized to handle data communications between network connected computers. More likely than not, average packet length for such inter-computer communications is relatively short. One problem that has been noted with respect to such short packet length communications is that both computer central processing unit (CPU) capacity and transport medium bandwidth tend to be poorly utilized. This situation is further aggravated when the transport medium becomes congested (e.g., due to ethernet packet collisions). The reason for this is that the basic CPU and transport medium circuit work effort required to send each packet must be repeated for each packet send attempt, regardless of whether the send attempt is successful. More specifically, this work load includes a fixed part associated with each packet send that always has to be performed, irrespective of packet length. When the average message length is short, as is the common occurrence for network connected computer data communications, the handling of this fixed part represents the dominant part of the workload being performed with respect to each transmission attempt. There would accordingly be an advantage to reducing this workload, especially in situations where congestion is detected in the transport medium. At the transport layer of the OSI reference model, it is known that the transport-control protocol (TCP) includes a feature wherein the computer transmission of a generated user information message is delayed for a period of time in order to allow subsequent user information messages generated by the same computer port and addressed to the same destination node as that first user information message to be collected together into a single packet for transmission. Activation of this message- delaying feature of TCP is optional. In accordance with this approach, all generated user information messages are held back by TCP at the transport layer for a period of time regardless of whether the transmission medium is congested. After the delay period of time expires, collected user information messages generated by the same computer port and addressed to the same destination node are transmitted within a single packet, while user information messages addressed to different destination computer, or originated from different ports of the computer and addressed to the same destination computer, are transmitted within separate packets. Since the transmission of all generated user information messages is delayed by TCP at the transport layer regardless of whether the transmission medium is congested, this feature is poorly suited for real-time applications. SUMMARY OF THE INVENTION When a computer detects congestion on a network transport medium, it refrains from sending packets. Instead, the computer stores any to be transmitted messages in memory. All to be transmitted messages addressed to the same destination addressee computer are stored in the same buffer. Alternatively, each of the messages is encapsulated into a single packet, and that packet is stored in the buffer. In either case, a different buffer is allocated to each identified destination addressee computer for the to be transmitted messages. When the congestion condition on the transport medium subsides, the one or more messages stored within a given buffer are retrieved from memory and encapsulated within a single packet addressed to the destination addressee computer associated with that given buffer. Alternatively, the stored single packet is retrieved from memory. That packet is then sent over the transport medium to the identified destination addressee computer. BRIEF DESCRIPTION OF THE DRAWINGS A more complete understanding of the method and apparatus of the present invention may be acquired by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings wherein: FIGURE 1 is a block diagram of a network connected computer system illustrating a prior art message transmission scheme; FIGURE 2 is a block diagram of a network connected computer system illustrating a message transmission scheme in accordance with a first embodiment of the present invention; FIGURE 3 is a block diagram of a network connected computer system illustrating a message transmission scheme in accordance with a second embodiment of the present invention; FIGURES 4A-4D are flow diagrams illustrating operation of the sending computer in accordance with the message transmission schemes of the present invention; and FIGURE 5 is a message flow process diagram illustrating the port independence of the FIGURES 3C-3D process of the present invention. DETAILED DESCRIPTION OF THE DRAWINGS Congestion is a relatively common occurrence within the transport media that interconnect network connected computers. When such congestion occurs, message delivery fails, and the sending computer must resend the failed message. In the meantime, the sending computer buffers the message in a reserved portion of memory dedicated to that particular message. If the congestion event causes the failure of several different message delivery events, the computer buffers each such failed message in a separate reserved portion of the memory. This commonly utilized technique for computer generated message transmission is illustrated in FIGURE 1 wherein there is shown a block diagram of a network connected computer system. A plurality of computers 10(l)-10(n) are interconnected to each other in a network configuration by at least one transport medium 12. First computer 10(1) desires to send a plurality of messages 14(1)-14(5) to several ones of the other computers 10(2)-10(3). A first of the messages 14(1), for example addressed to computer 10(2), is encapsulated in a packet 16 and sent from the first computer 10(1), but fails to be delivered to the addressee computer 10(2) due to congestion currently being experienced on the transport medium 12. Responsive to such a failure, the first computer 10(1) buffers the message 14(1) in a reserved portion 18(1) of its memory 20. The first computer then delays for a certain amount of time before retrieving the message 14(1) from memory 20 and attempting a re-send of the packet 16. In the meantime, the first computer 10(1) may have other messages 14(2)- 14(5) to send, and similarly makes unsuccessful attempts (due to continued congestion) at packet 16 transmissions to the respective addressee computers 10(2)- 10(3). With each such failed attempt at transmission, the first computer 10(1) buffers the messages 14(2)- 14(5), each in a separate reserved portion 18(2)- 18(5), respectively, of its memory 20, and delays for the specified certain amount of time before attempting a packet 16 re- send. Once the specified certain amount of time for each respective message expires, the first computer 10(1) retrieves the messages from memory 20 and attempts a re- send. These attempts are made sequentially starting with the first message 14(1) that was stored, and continuing (in accordance with the specified delay time) until a re-send attempt has been made for each message. If the congestion condition has dissipated, these re-send attempts are likely to be successful. In the event, however, that congestion still exists, these re-send attempts may fail. If that happens, the buffering and delay procedure of the prior art transmission scheme is repeated over again until each message is successfully sent. As discussed previously, the prior art transmission scheme illustrated in FIGURE 1, although eventually securing delivery of each message, leaves much to be desired in terms of efficiency. Whether the transmission attempt is successful or not, a fixed amount of work effort must be expended by the first computer 10(1) and the transport medium 12 for each attempt. When the messages (and hence their corresponding packets) are short in length, the handling of this fixed portion often represents the dominant part of the expended workload, all of which is wasted when delivery fails. A more efficient transmission scheme is accordingly needed to address the re-sending of failed message deliveries caused by media congestion. Reference is now made to FIGURE 2 wherein there is shown a block diagram of a network connected computer system illustrating a message transmission scheme in accordance with a first embodiment of the present invention. A plurality of computers 30(l)-30(3) are interconnected to each other in a network configuration by at least one transport medium 32. First computer 30(1) has a need over a period of time to send a plurality of messages 34(l)-34(5) to several ones of the other computers 30(2)-30(3). A first one of the messages 34(1), for example addressed to computer 30(2), is encapsulated in a packet 36 and sent from the first computer 30(1) and is successfully delivered by the transport medium 32 to the addressee second computer 30(2). A second one of the messages 34(2), again for example addressed to computer 30(2), is then encapsulated in a packet 36 and sent from the first computer 30(1), but fails to be delivered to the addressee computer 30(2) due to congestion currently being experienced on the transport medium 32. Responsive to such a failure, the first computer 30(1) buffers the message 34(2) in a reserved portion 38(1) of its memory 40 allocated for second computer 30(2) addressed messages. The size of the allocated buffer portion 38(1) in memory 40 is much larger than is necessary to hold the message 34(2), and in fact is preferably large enough to store several messages. The first computer 30(1) then delays for a requisite amount of time necessary to accomplish two goals. The primary goal is let the congestion condition on the transport medium 32 subside before attempting a re-send. The secondary goal is to wait during the experienced congestion condition to see if the first computer 30(1) needs to send during the congestion period any other messages 34 also addressed to the second computer 30(2), and if so to then include those messages (as will be discussed in more detail below) in a single packet re-send to the second computer. A third one of the messages 34(3), addressed for the third computer 30(3), next needs to be sent by the first computer 30(1). Recognizing the continued existence of the congestion condition on the transport medium 32, the first computer 30(1) buffers the message 34(3) in a reserved portion 38(2) of its memory 40 allocated for third computer 30(3) addressed messages. The size of the allocated buffer portion 38(2) in memory 40 is much larger than is necessary to hold the message 34(3), and in fact is preferably large enough to store several messages. Again, the first computer 30(1) then delays for the requisite amount of time necessary to accomplish above-mentioned two goals with respect to the third message 34(3). A fourth one of the messages 34(4), addressed for the second computer 30(2), next needs to be sent by the first computer 30(1). Recognizing the continued existence of the congestion condition on the transport medium 32, the first computer 30(1) buffers the message 34(4) in the previously reserved portion 38(1) of its memory 40 allocated for second computer 30(2) addressed messages. Thus, the message 34(4) is stored in memory 40 in the same reserved portion 38(1) with the previously stored second message 34(2) that is also addressed for the second computer 30(2). Again, the first computer 30(1) then delays for the requisite amount of time necessary to accomplish above-mentioned two goals with respect to the stored second and fourth messages 34(2) and 34(4), respectively. A fifth one of the messages 34(5), again addressed for the second computer 30(2), next needs to be sent by the first computer 30(1). Recognizing the continued existence of the congestion condition on the transport medium 32, the first computer 30(1) buffers the message 34(5) in the previously reserved portion 38( 1 ) of its memory 40 allocated for second computer 30(2) addressed messages. Thus, the message 34(5) is stored in memory 40 in the same reserved portion 38(1) with the previously stored second and fourth messages 34(2) and 34(4) which are also addressed for the second computer 30(2). Again, the first computer 30(1) then delays for the requisite amount of time necessary to accomplish above-mentioned two goals with respect to the second, fourth and fifth messages 34(2), 34(4) and 34(5), respectively. At this point in time, the first computer 30(1) detects that the congestion condition on the transport medium 32 has subsided. Thus, the primary goal of the delay period has been satisfied. It is also noted that the secondary goal of the delay period has been satisfied with respect to messages addressed for the second computer 30(2). In this regard, reserved portion 38(1) of the memory 40 for buffering messages 34 addressed for the second computer 30(2) contains the second, fourth and fifth messages 34(2), 34(4) and 34(5). Although the secondary goal of the delay period has not been satisfied with respect to messages 34 addressed for the third computer 30(3), this is of little concern as there is no loss in efficiency with respect to re-sending the single buffered message 34(3) addressed for the third computer 30(3), but a significant efficiency advantage is incurred with respect to a single packet resend of the stored second, fourth and fifth messages 34(2), 34(4) and 34(5). Responsive to the detected non-congested condition of the transport medium 32, the first computer 30(1) retrieves the messages 34(2), 34(4) and 34(5) from the reserved portion 38(1) of the memory 40, encapsulates them into a single packet 36 addressed to the second computer 30(2), and (assuming no new congestion is encountered) successfully sends the packet over the transport medium 32. In this way, the messages 34(2), 34(4) and 34(5) are in essence "piggybacked" into a single packet transmission. Advantageously, this single packet requires the use of much less CPU and transport medium work effort to send than would have been expended had the messages been sequentially sent in separate packets as taught by the prior art scheme illustrated in FIGURE 1. The first computer 30(1) further retrieves the message 34(3) from the reserved portion 38(2) of the memory 40, encapsulates it into a single packet 36 addressed to the third computer 30(3), and successfully sends the packet over the transport medium 32. Reference is now made to FIGURE 3 wherein there is shown a block diagram of a network connected computer system illustrating a message transmission scheme in accordance with a second embodiment of the present invention. A plurality of computers 30(l)-30(3) are interconnected to each other in a network configuration by at least one transport medium 32. First computer 30(1) has a need over a period of time to send a plurality of messages 34(l)-34(5) to several ones of the other computers 30(2)-30(3). A first one of the messages 34(1), for example addressed to computer 30(2), is encapsulated in a packet 36 and sent from the first computer 30(1) and is successfully delivered by the transport medium 32 to the addressee second computer 30(2). A second one of the messages 34(2), again for example addressed to computer 30(2), is then encapsulated in a packet 36 and sent from the first computer 30(1), but fails to be delivered to the addressee computer 30(2) due to congestion currently being experienced on the transport medium 32. Responsive to such a failure, the first computer 30(1) encapsulates the message 34(2) into a packet 36(1) and stores that packet in a reserved portion 38(1) of its memory 40 allocated for second computer 30(2) addressed messages. The size of the allocated portion 38(1) in memory 40 is much larger than is necessary to hold the packet 36(1) containing only message 34(2), and in fact is preferably large enough to store a packet containing several messages. The first computer 30(1) then delays for a requisite amount of time necessary to accomplish two goals. The primary goal is let the congestion condition on the transport medium 32 subside before attempting a re-send. The secondary goal is to wait during the experienced congestion condition to see if the first computer 30(1) needs to send during the congestion period any other messages 34 also addressed to the second computer 30(2), and if so to then include those messages (as will be discussed in more detail below) in a single packet re-send to the second computer. A third one of the messages 34(3), addressed for the third computer 30(3), next needs to be sent by the first computer 30(1). Recognizing the continued existence of the congestion condition on the transport medium 32, the first computer 30(1) encapsulates the message 34(3) into a packet 36(2) and stores that packet in a reserved portion 38(2) of its memory 40 allocated for third computer 30(3) addressed messages. The size of the allocated portion 38(2) in memory 40 is much larger than is necessary to hold the packet 36(1) containing only message 34(3), and in fact is preferably large enough to store apacket containing several messages. Again, the first computer 30(1) then delays for the requisite amount of time necessary to accomplish above-mentioned two goals with respect to the third message 34(3). A fourth one of the messages 34(4), addressed for the second computer 30(2), next needs to be sent by the first computer 30(1). Recognizing the continued existence of the congestion condition on the transport medium 32, the first computer 30(1) encapsulates the message 34(4) with previous message 34(2) into the packet 36(1) stored in the previously reserved portion 38(1) of its memory 40 allocated for second computer 30(2) addressed messages. Thus, the message 34(4) is stored in memory 40 in the same reserved portion 38(1) with the previously stored second message 34(2) that is also addressed for the second computer 30(2). Again, the first computer 30(1) then delays for the requisite amount of time necessary to accomplish above-mentioned two goals with respect to the stored second and fourth messages 34(2) and 34(4), respectively. A fifth one of the messages 34(5), again addressed for the second computer 30(2), next needs to be sent by the first computer 30(1). Recognizing the continued existence of the congestion condition on the transport medium 32, the first computer 30(1) encapsulates the message 34(5) with previous messages 34(2) and 34(4) into the packet 36(1) stored in the previously reserved portion 38( 1 ) of its memory 40 allocated for second computer 30(2) addressed messages. Thus, the message 34(5) is stored in memory 40 in the same reserved portion 38(1) with the previously stored second and fourth messages 34(2) and 34(4) which are also addressed for the second computer 30(2). Again, the first computer 30(1) then delays for the requisite amount of time necessary to accomplish above-mentioned two goals with respect to the second, fourth and fifth messages 34(2), 34(4) and 34(5), respectively. At this point in time, the first computer 30(1) detects that the congestion condition on the transport medium 32 has subsided. Thus, the primary goal of the delay period has been satisfied. It is also noted that the secondary goal of the delay period has been satisfied with respect to messages addressed for the second computer 30(2). In this regard, reserved portion 38(1) of the memory 40 for buffering messages 34 addressed for the second computer 30(2) contains the second, fourth and fifth messages 34(2), 34(4) and 34(5). Although the secondary goal of the delay period has not been satisfied with respect to messages 34 addressed for the third computer 30(3), this is of little concern as there is no loss in efficiency with respect to re-sending the single buffered message 34(3) addressed for the third computer 30(3), but a significant efficiency advantage is incurred with respect to a single packet resend of the stored second, fourth and fifth messages 34(2), 34(4) and 34(5). Responsive to the detected non-congested condition of the transport medium 32, the first computer 30(1) retrieves the packet 3(1) containing messages 34(2), 34(4) and 34(5) from the reserved portion 38(1) of the memory 40, and successfully sends the packet over the transport medium 32 to the second computer. In this way, the messages 34(2), 34(4) and 34(5) are in essence "piggybacked" into a single packet transmission. Advantageously, this single packet requires the use of much less CPU and transport medium work effort to send than would have been expended had the messages been sequentially sent in separate packets as taught by the prior art scheme illustrated in FIGURE 1. The first computer 30(1) further retrieves the packet 36(2) containing message 34(3) from the reserved portion 38(2) of the memory 40, and successfully sends the packet over the transport medium 32 to the third computer. Reference is now made to FIGURES 4A-4D wherein there are shown flow diagrams illustrating operation of the sending computer in accordance with the message transmission schemes of the present invention. Reference is first made to FIGURES 4A-4B. In FIGURE 4 A, the computer checks in decision step 50 whether there is any congestion on the transmission medium that would preclude successful delivery of the message. If yes (path 52), the message is encapsulated into a packet in step 54 addressed to the destination computer for that message (along with any other previously processed messages also addressed to the same destination) and the packet is stored in step 56. The process then returns. If no (path 58), message is transmitted in step 60. It should be noted here that the action of transmitting in step 60 may include the use of zero or more encapsulations. The process then returns. If congestion has ended (path 62), the process moves to FIGURE 4B. In FIGURE 4B, a determination is made at step 64 as to whether there are any unsent and stored messages. If not (path 66), the process returns. If yes, (path 68), a determination is made in step 70 as to whether any new congestion condition has arisen that would prevent transmission of the messages. If yes (path 72), the process returns. If no (path 74), the packets previously encapsulated and stored messages are retrieved and the associated packet(s) is/are transmitted in step 76. It should be noted here that the action of transmitting in step 76 may include the use of zero or more encapsulations. The process then returns (path 78) and repeats until all buffered messages have been transmitted (or a new congestion condition arises that would preclude transmission) by sending their associated packets. Reference is next made to FIGURES 4C-4D. In FIGURE 4C, the computer checks in decision step 80 whether there is any congestion on the transmission medium that would preclude successful delivery of the message. If yes (path 82), the message is stored in step 84 along with any other previously stored messages addressed to the same destination computer. The process then returns. If no (path 86), message is transmitted in step 88. It should be noted here that the action of transmitting in step 88 may include the use of zero or more encapsulations. The process then returns. If congestion has ended (path 90), the process moves to FIGURE 4D. In FIGURE 4D, a determination is made at step 92 as to whether there are any unsent and stored messages. If not (path 94), the process returns. If yes, (path 96), a determination is made in step 98 as to whether any new congestion condition has arisen that would prevent transmission of the messages. If yes (path 100), the process returns. If no (path 102), the messages previously stored and addressed to the same destination are retrieved and encapsulated into a packet in step 104, and that packet is transmitted in step 106. It should be noted here that the action of transmitting in step 106 may include the use of zero or more additional encapsulations. The process then returns (path 108) and repeats until all buffered messages have been transmitted (or a new congestion condition arises that would preclude transmission) by sending their associated packets. In accordance with the well known OSI model for communications systems, the FIGURES 4A-4D illustrated process of the present invention is preferably implemented at the link layer level rather than at the transport layer level as is experienced with the previously mentioned prior art TCP service. With such a configuration, messages addressed to the same destination computer may be piggybacked together in a single packet irrespective of their particular origination port within the sending computer or destination port within the destination computer. This advantage is illustrated in the message flow process diagram of FIGURE 5 wherein: a first message 100(1) originated at port one 102(1) of a sending computer 104(1) is addressed to port one 102(1) of a certain destination computer 104(2); and a second message 100(2) originated at port two 102(2) of the sending computer 104(1) is addressed to port two 102(2) of the certain destination computer 104(2). In accordance with the process of FIGURES 4C-4D, and responsive to a congestion condition on a transport medium 106 connecting the sending computer 104(1) to the destination computer 104(2), the sending computer buffers the messages 100(1) and 100(2) in a reserved portion 108(1) of its memory 110 allocated for destination computer 104(2) addressed messages. The size of the allocated buffer portion 108(1) in memory 110 is typically much larger than is necessary to hold the two messages 100(1) and 100(2), and in fact is preferably large enough to store several more messages if necessary. It should also be noted that the messages 100(1) and 100(2) are stored in the reserved portion 108(1) together because they are addressed to the same destination computer 104(2) and in spite of the fact that they originated at different ports 102 of the sending computer 104(1) and are destined for delivery to different ports 102 of the destination computer 104(2). The sending computer 104(1) then delays for the requisite amount of time necessary to accomplish above-mentioned two goals. Responsive to the detected non-congested condition of the transport medium 106, the sending computer 104(1) retrieves the messages 100(1) and 100(2) from the reserved portion 108(1) of the memory 110, encapsulates them into a single packet 112 addressed to the destination computer 104(2), and successfully sends the packet over the transport medium 106. This operation is performed at the link layer level of the OSI model within the sending computer 104(1). At the destination computer 104(2), and also at its link layer level of the OSI model, the received packet 112 is split into its two message components, and the first message 100(1) is delivered to the first port 102(1) and the second message is delivered to the second port 102(2). It will, of course, be understood that the process of FIGURES 4A-4B for encapsulating into packets at first computer storage may alternatively be used in the context of the multi-port transport illustrated in FIGURE 5. Although illustrated and described herein in the context of a single transport medium connected the network connected plurality of computers, it will be understood that the present invention may be practiced in networking configurations wherein plural transport media are utilized to interconnect a plurality of computers. In such a configuration, the test for congestion is performed with respect to each transport media, and the transmission scheme for buffering similarly addressed messages for subsequent piggybacked delivery within a single packet is implemented only with respect to the medium that is detected as being congested. Conventional processing and message handling is implemented with respect to all other messages being conveyed over non-congested media. Although preferred embodiments of the method and apparatus of the present invention have been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims.

Claims: WHAT IS CLAIMED IS: 1. A method for having a sending computer send messages over a transport medium comprising the steps of: detecting a congestion condition on the transport medium; responsive thereto, buffering plural computer generated messages addressed to a same destination computer in a reserved portion of sending computer memory allocated to store messages addressed to that destination computer; detecting a non-congestion condition on the transport medium; responsive thereto, retrieving the plural messages from the reserved portion of sending computer memory; encapsulating the retrieved plural messages within a single packet addressed to that destination computer; and sending the single packet over the transport medium to that destination computer. 2. The method as in claim 1 wherein at least two of the plural messages are originated at different ports within the sending computer. 3. The method as in claim 1 wherein at least two of the messages are destined for delivery to different ports within the destination computer. 4. The method as in claim 1 wherein the step of encapsulating is performed within the sending computer at OSI link layer level. 5. A message sending computer connected to a transport medium, comprising: a port for originating plural computer generated messages addressed to a same destination computer; a memory within the computer including a reserved portion allocated to store the plural messages addressed to that destination computer in response to a detected congestion condition on the transport medium; and means, responsive to detection of a non-congestion condition on the transport medium, for: retrieving the plural messages from the reserved portion of sending computer memory; encapsulating the retrieved plural messages within a single packet addressed to that destination computer; and sending the single packet over the transport medium to that destination computer. 6. The computer as in claim 5 further including a plurality of ports for originating plural computer generated messages addressed to the same destination computer, those plural messages generated at different ports being stored in the reserved portion of the memory allocated to that destination computer. 7. The computer as in claim 6 wherein at least two of the messages are destined for delivery to different ports within the destination computer. 8. The computer as in claim 5 wherein action for encapsulating is performed within the sending computer at OSI link layer level. 9. A method for having a sending computer send messages over a transport medium comprising the steps of: detecting a congestion condition on the transport medium; responsive thereto, encapsulating plural computer generated messages addressed to a same destination computer in a single packet and storing that packet in a reserved portion of sending computer memory allocated to store packets addressed to that destination computer; detecting a non-congestion condition on the transport medium; responsive thereto, retrieving the stored single packet from the reserved portion of sending computer memory; and sending the single packet over the transport medium to that destination computer. 10. The method as in claim 9 wherein at least two of the plural messages are originated at different ports within the sending computer. 11. The method as in claim 9 wherein at least two of the messages are destined for delivery to different ports within the destination computer. 12. The method as in claim 9 wherein the step of encapsulating is performed within the sending computer at OSI link layer level. 13. A message sending computer connected to a transport medium, comprising: a port for originating plural computer generated messages addressed to a same destination computer; a memory within the computer including a reserved portion allocated to store a single packet encapsulating the plural messages addressed to that destination computer in response to a detected congestion condition on the transport medium; and means, responsive to detection of a non-congestion condition on the transport medium, for: retrieving the stored single packet from the reserved portion of sending computer memory; and sending the single packet over the transport medium to that destination computer. 14. The computer as in claim 13 further including a plurality of ports for originating plural computer generated messages addressed to the same destination computer, those plural messages generated at different ports being encapsulated into a single packet that is stored in the reserved portion of the memory allocated to that destination computer. 15. The computer as in claim 13 wherein at least two of the messages are destined for delivery to different ports within the destination computer. 16. The computer as in claim 13 wherein action for encapsulating is performed within the sending computer at OSI link layer level.

Inventors: MALOY JON, MALOY, JON
Applicants: ERICSSON TELEFON AB L M, TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Application year: 2000
Main classification: H04L12
IPC codes: H04L12, H04L29