New! View global litigation for patent families

US20030131079A1 - Performance enhancing proxy techniques for internet protocol traffic - Google Patents

Performance enhancing proxy techniques for internet protocol traffic Download PDF

Info

Publication number
US20030131079A1
US20030131079A1 US10292899 US29289902A US2003131079A1 US 20030131079 A1 US20030131079 A1 US 20030131079A1 US 10292899 US10292899 US 10292899 US 29289902 A US29289902 A US 29289902A US 2003131079 A1 US2003131079 A1 US 2003131079A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
packet
tcp
pep
connection
acknowledgement
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US10292899
Inventor
Jason Neale
Andrew Pether
Abdul-Kader Mohsen
Guy Begin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ADVANTECH SATELLITE NETWORKS Inc
Original Assignee
EMS Technologies Inc
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

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/16Transmission control protocol/internet protocol [TCP/IP] or user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18578Satellite systems for providing broadband data service to individual earth stations
    • H04B7/18582Arrangements for data linking, i.e. for data framing, for error recovery, for multiple access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. van Duuren system ; ARQ protocols
    • H04L1/1829Arrangements specific to the receiver end
    • H04L1/1832Details of sliding window management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. van Duuren system ; ARQ protocols
    • H04L1/1829Arrangements specific to the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. local area networks [LAN], wide area networks [WAN]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents
    • H04L29/02Communication control; Communication processing contains provisionally no documents
    • H04L29/06Communication control; Communication processing contains provisionally no documents characterised by a protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/14Flow control or congestion control in wireless networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/19Flow control or congestion control at layers above network layer
    • H04L47/193Flow control or congestion control at layers above network layer at transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/29Using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/30Flow control or congestion control using information about buffer occupancy at either end or transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/32Packet discarding or delaying
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/36Evaluation of the packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/04Network-specific arrangements or communication protocols supporting networked applications adapted for terminals or networks with limited resources or for terminal portability, e.g. wireless application protocol [WAP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/16Transmission control protocol/internet protocol [TCP/IP] or user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/16Transmission control protocol/internet protocol [TCP/IP] or user datagram protocol [UDP]
    • H04L69/163Adaptation of TCP data exchange control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/16Transmission control protocol/internet protocol [TCP/IP] or user datagram protocol [UDP]
    • H04L69/165Transmission control protocol/internet protocol [TCP/IP] or user datagram protocol [UDP] involving combined use or selection criteria between TCP and UDP protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/16Transmission control protocol/internet protocol [TCP/IP] or user datagram protocol [UDP]
    • H04L69/166IP fragmentation or TCP segmentation aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. van Duuren system ; ARQ protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32High level architectural aspects of 7-layer open systems interconnection [OSI] type protocol stacks
    • H04L69/322Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer, i.e. layer four
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32High level architectural aspects of 7-layer open systems interconnection [OSI] type protocol stacks
    • H04L69/322Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer, i.e. layer seven
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATIONS NETWORKS
    • H04W72/00Local resource management, e.g. wireless traffic scheduling or selection or allocation of wireless resources
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation where an allocation plan is defined based on the type of the allocated resource
    • H04W72/0453Wireless resource allocation where an allocation plan is defined based on the type of the allocated resource the resource being a frequency, carrier or frequency band
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATIONS NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation, e.g. WAP [Wireless Application Protocol]
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATIONS NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/06Airborne or Satellite Networks

Abstract

Methods and systems are described that may be used in the context of a Performance Enhancing Proxy architecture for Internet traffic. A method of accelerated connection opening with error handling is disclosed. Also, a method of handling the Path MTU Discovery mechanism in the context of a distributed connection splitting PEP is described. A novel packet format for a proprietary inter-PEP protocol is described which allows for low packet header overhead. A new acknowledgement scheme that adapts to packet loss conditions to minimize bandwidth consumption by selecting an acknowledgement type from several possibilities is also detailed. A method whereby potentially spurious retransmissions are minimized by timing every transmission and retransmission is also described.

Description

    CROSS-REFERENCE TO RELATED APPLICTIONS
  • [0001]
    This application claims priority to U.S. Provisional Application No. 60/333,608 to Jason D. Neale et. al., entitled “Performance Enhancing Proxies for Satellite Transmission Control Protocols,” filed on Nov. 13, 2001.
  • BACKGROUND OF THE INVENTION
  • [0002]
    1. Field of the Invention
  • [0003]
    The invention relates to the field of multiplex communications techniques. More particularly, the invention provides methods and systems for improving the performance, efficiency and user experience of systems transporting Internet Protocol (IP) traffic, by the use of Performance Enhancing Proxies (PEPs).
  • [0004]
    2. Background of the Invention
  • [0005]
    The Internet is a world-wide computer super-network, which is made up of a large number of component networks and their interconnections. Computer networks may consist of a wide variety of connected paths or network links serving to transport user information in the form of data between a diverse array of computer end systems. Different network links are more or less suitable for different network requirements. For example, a fiber optic cable typically provides a high bandwidth, low per bit cost, low error rate and low delay point-to-point network link. Alternatively, for example, a satellite link typically provides a lower bandwidth, higher per bit cost, higher error rate and longer delay point-to-multi-point network link. The wide variety of links and thus link characteristics encountered on the Internet, or other private (IP) based networks, have a variety of effects on the behavior of protocols in the IP suite.
  • [0006]
    IP primarily provides the routing functionality for packets (bits or bytes of data) over a network. It acts at the network layer to direct packets from their sources to their destinations. Transmission Control Protocol (TCP) is the reliable transport layer protocol of the IP suite of protocols and as such, layers on top of IP, provides reliability to applications, and builds on IP's unreliable datagram (packet) service. TCP underlies the vast majority, estimated to be around 90%, of all the traffic on the Internet. TCP supports the World Wide Web (WWW), electronic mail (email) and file transfers, along with other common applications. TCP was introduced in 1981 and since then has evolved in many ways, but today still provides reliable and largely efficient service over a wide variety of links as evidenced by its omnipresent nature. However, there are a variety of conditions under which TCP may perform below expectations, geosynchronous satellite links being one prime example. The problems of TCP over satellites has been previously documented. TCP performance is typically degraded to some extent in terms of lowered throughput and link utilization by, but not limited to, the following link characteristics: long delay, high bandwidth, high error rate, link asymmetry and link variability, all of which may be encountered on satellite and similar links.
  • [0007]
    In response to the established use of TCP and also of certain link types (such as satellite) which are not ideal for TCP, Performance Enhancing Proxies (PEPs) have been introduced. PEPs may function as one or more devices or pieces of software placed in the end-to-end path that suffers TCP performance degradation. PEP units may, for example, surround a satellite link. PEPs modify the traffic flow in an attempt to alleviate the issues of TCP traffic on a specific link. PEPs may use many methods, either alone or in concert, to enhance performance.
  • [0008]
    One type of PEP, known as a distributed, connection splitting PEP is commonly chosen due to that fact that it allows for the use of a proprietary protocol across the satellite link. This protocol can then be chosen or designed to mitigate problems specific to the link. A distributed PEP uses more than one PEP device in an end-to-end connection, often two PEP devices are used. If two PEP devices are used, the end-to-end connection may be split into 3 connection segments. The end connections must remain TCP for compatibility, but the inter-PEP connection may be any protocol. Several protocols are available for use on the satellite link that provide improved performance over that of TCP. Examples of these protocols are Xpress Transport Protocol (XTP), Satellite Transport Protocol (STP), Space Communications Protocol Standards—Transport Protocol (SCPS-TP), standard or enhanced User Datagram Protocol (UDP) or even non-standard (modified) TCP. In addition to the protocol used, there are also many ways in which a PEP device may handle processing between connection segments in this type of system.
  • [0009]
    One of the link characteristics that affects TCP performance is delay. Links such as those over GEO satellites have long delays, for example, around 500 ms or more. Several TCP mechanisms that control connection setup, flow control and error correction through retransmission may be adversely affected by long delay links.
  • [0010]
    For transfers that are typically short in duration, such as web pages, the delays involved in establishing TCP connections make a proportionally larger contribution to the transfer time, and therefore to the mean data throughput rate. Additionally, a user typically begins to view a web page as it is downloading so an initial delay before any material is displayed may frustrate a user and also consequently, potentially cause re-requests which lower system efficiency.
  • [0011]
    The delay in connection opening is caused by a mechanism known as the TCP Three Way Handshake (3WHS). The purpose of this exchange of messages is to ensure that the other end point is present, and thereby to promote the reliability of a transfer. A connection initiator sends a packet with the SYN (synchronize) flag set. A responding system sends back a packet with the SYN and ACK (acknowledgement) flags set. The ACK flag acknowledges the initiator's SYN. The initiator then sends a final ACK packet acknowledging the responder's SYN. From this point on the initiator may send data. Thus, the delay from initiation to sending data on a TCP connection is a whole RTT [Note to inventor—please define RTT].
  • [0012]
    When opening a TCP connection in a distributed split-connection PEP implementation, there are two main options and then variants thereof. For preserving end-to-end behavior of the connection and reliability, the connection should be opened end-to-end and the connection should be opened by the endpoints and not the PEP devices. Although more reliable than alternatives, however, this method involves a full RTT of overhead during which no data is transferred. An alternative method involves accelerating the opening of certain connections, such as web connections, which are of short duration and thus more heavily affected by extra RTTs.
  • [0013]
    An initiator sends a SYN packet to a PEP and the PEP responds locally with the SYN/ACK packet to the initiator. The initiator then responds with the ACK packet and the first data packet, which in the case of a web transfer is an HTTP request packet. The PEP then combines the original SYN packet (which it has held) and the first data packet and sends them over the satellite link to the other PEP device. The lower RTT on the terrestrial link means that the time taken to send the first request is reduced.
  • [0014]
    A problem with the above accelerated opening is that it is possible to open a connection locally that might then fail to establish end-to-end, resulting in a desynchronized state. This state will eventually time-out. However, during the time that the two endpoints are desynchronized, the user will be confused, as the connection appears to be established but no data will be transferred, which again could lead to the user re-attempting the connection several times and wasting bandwidth.
  • [0015]
    As described earlier, the Internet is a collection of networks and interconnections. These interconnections and network links each have their own characteristics. One characteristic is the Maximum Transmission Unit (MTU) size. This value, often expressed in bytes, is the maximum data payload that may be encapsulated and carried over the OSI/ISO 7-layer model link layer without being broken down into a smaller unit. Two common technologies for LAN links are Ethernet and the similar, but not identical, IEEE 802.3 standards. Ethernet allows for the encapsulation of a 1500 byte IP packet (1500 byte MTU) while 802.3 encapsulation allows for a 1492 byte MTU. It can be imagined that in a network of heterogeneous links there will, sometimes, not be one common MTU for any path between points A and B in a given network or path through the Internet.
  • [0016]
    In response to the recognition that any given path through a network may not have a consistent MTU for all hops, the IP protocol allows for fragmentation of IP packets. If the IP layer at a host or router is unable to send a packet of the desired size onto the link, the IP layer will split that packet up into several smaller packets. When this behavior occurs at a router between ports, it is known as fragmentation and is commonly recognized to have detrimental side effects, such as lowering maximum data rate (through additional header bytes and also packet processing overhead at network nodes) and impacting efficiency. However, fragmentation is necessary to allow the data to pass end-to-end.
  • [0017]
    In an attempt to avoid fragmentation, the process of Path MTU Discovery (PMTUD) was introduced. The purpose of this process is to try to detect the minimum MTU in the path from source to destination. This value is dynamic if the route changes. The IP header has a flag, which may be set to inform intermediate network nodes (i.e. any devices in the network between the source and destination) not to fragment a packet. This flag is known as the Don't Fragment (DF) flag. When the DF flag is set, a router should discard the packet if it is too large to forward on the outgoing interface. The router should also send an Internet Control Message Protocol (ICMP) Can't Fragment (ICMP type 3 [destination unreachable], code 4 [fragmentation needed but don't-fragment bit set]) message back to the originator of the packet. This packet should contain the MTU of the outgoing interface on the router to inform the sender of the limiting MTU. Through this mechanism, a sender may adapt to the path MTU and avoid fragmentation. This mechanism is therefore desirable for efficiency reasons.
  • [0018]
    Currently, there is little guidance on how PMTUD should function in the presence of PEPs. In the absence of guidance, it is currently left to the decision of each PEP designer or manufacturer on how to handle the PMTUD mechanism at a PEP. One solution requires that ICMP messages pass through its PEP devices without modification. This allows for the sender to adapt its path MTU estimate and send smaller packets in the future.
  • [0019]
    However, a problem exists in a connection-splitting distributed PEP, due to the fact that the PEP devices are often buffering packets that are in transit between the endpoints. These packets have been acknowledged to the sending endpoint and are, therefore, no longer buffered by the endpoint itself for retransmission. Therefore, if a router drops a packet after the second PEP in the connection and an ICMP Can't Fragment message is sent to the originator, a problem occurs. The originator is able to lower the Path MTU estimate but cannot retransmit the data in the original packet. The second PEP in the connection has a copy of the packet buffered so may retransmit when no TCP acknowledgement arrives, but will not understand that the packet must be resized to a smaller packet to arrive successfully at the destination. Therefore, a deadlock may occur until several retransmissions of the packet have failed and the connection has to be reset.
  • [0020]
    One solution to this problem is that PMTUD may be disabled when a PEP is included in the end-to-end connection to allow the connections using the PEP to function correctly. This however is not ideal for the reasons stated above. Hence, problems exist in the current technique for PMTUD when PEPs are used.
  • [0021]
    Each protocol used on the Internet has its own packet format, which specifies the way that information is encoded in headers and where data begins in a packet, among other things. The TCP packet format includes the TCP header and space in the header for optional fields known as TCP options. Distributed connection splitting PEPs may use other (non-TCP) standard protocols and possibly proprietary protocols between the two PEP devices. These non-TCP protocols are used to gain performance advantages over end-to-end TCP and even split connection TCP, performance however is only one, although the most important, aspect of a PEP. A PEP must also be compatible with the end hosts and the TCP protocol. If the PEP to PEP protocol does not support the transfer of certain TCP information from end-to-end then functionality will be lost; the TCP urgent pointer which is used to expedite transfer of portions of the data stream being one example.
  • [0022]
    When choosing or designing a protocol for the problematic link there is, therefore, a tradeoff between efficiency and compatibility. If using an entirely different protocol, it may be necessary to carry the TCP information in extra header structures, which may increase the packet overhead on each packet. Increasing packet overhead may also trigger IP fragmentation for packets that were originally the maximum size for the link; this should be avoided. Also, the end-to-end path over which the connection travels may have intermediate equipment that does not know how to handle unknown protocols. For example, Network Address Translation (NAT) devices may perform translation of the IP address fields and sometimes layer 4 protocol port numbers also. These types of operations can then require the checksum fields to be updated. If a protocol is not recognized, it may not be able to function properly at, for example, the NAT device or packets may pass the NAT device but be unrecognizable at the receiver. Additionally, the functionality of a newly designed protocol will impose constraints on the information that must be carried in each packet. For the proprietary protocol chosen for use with the PEP design of this invention, no pre-existing packet structure was considered appropriate.
  • [0023]
    For problematic links, TCP has been improved by several different mechanisms to address different issues. For the case of packet and acknowledgement loss, TCP has been improved by the addition of the Selective Acknowledgement (SACK) option. This allows TCP packet headers to carry information on contiguous blocks of packets that have been successfully received. This mechanism adds overhead to each packet and although the overhead is only a small percentage on large packets (around 1% on a 1500 byte packet), the percentage overhead on a standard acknowledgement packet is much larger. For a 40-byte packet, an extra 12 to 20 bytes of SACK information is between an extra 30 and 50% of the original packet size. More seriously, if the TCP acknowledgements are carried over a link layer protocol such as Asynchronous Transfer Mode (ATM), a TCP acknowledgement with SACK information may no longer fit within a single ATM cell. If, instead, two cells are required for the acknowledgement then acknowledgement traffic volume is, in effect, doubled. If, for example, this is the return channel on a satellite system such as the Digitial Video Broadcast-Return Channel Satellite (DVB-RCS) where most traffic may be acknowledgement traffic, then the total traffic volume may also be nearly doubled.
  • [0024]
    TCP also uses a cumulative acknowledgement scheme to signal correct reception of packets to the sender. Optionally, TCP may use the SACK option described earlier if higher packet loss rates are expected, as may often be the case over satellite links, for example. Whether standard TCP acknowledgements are used or whether the SACK option is used, the same method of acknowledgement must be used throughout the duration of the connection. If the error conditions on the link change during the course of the transfer, the connection performance may be adversely impacted if an inappropriate acknowledgement method is chosen. For example, if the standard TCP acknowledgement scheme is selected, the TCP transfer may suffer very poor performance or even failure under heavy error conditions. If the SACK scheme is chosen, the additional overhead, as described above, may be incurred even if the SACK scheme is not needed. TCP is unable to adapt the acknowledgement scheme to changing error conditions during the course of the connection. This problem exists with the conventional systems in the area of acknowledgement of packets.
  • [0025]
    TCP also uses a timer as one method of detecting lost packets and triggering retransmissions. However, in the conventional systems, only one timer is used regardless of how many packets are being sent. TCP uses the timer in the following manner. When there are no packets in transit, the timer is off. When the first packet is transmitted, the timer is set. When a packet is acknowledged and other packets are still in transit, the timer is reset. Therefore it may take different amounts of time to detect a packet loss depending upon which packet in a group is lost. In the worst case it may take up to the timer timeout value plus the round trip time to detect a loss. This time period may be almost twice as long as the detection period for loss of the first packet. In the ideal case, every loss should be detected as quickly as possible.
  • [0026]
    Additionally, and perhaps more importantly, if an acknowledgement scheme is used in which repeated retransmission triggers occur for the same packet, the single packet timer provides no indication of how long an individual packet has been in transit. This means that it is not possible to know if a transmitted packet has had time to be acknowledged or not. In this case, it is possible to retransmit a packet before it has bad time to reach the destination and an acknowledgement be returned and received. This scenario lowers the efficiency of the link as packets are transmitted multiple times unnecessarily. This is a problem in the conventional systems related to controlling or limiting unnecessary retransmissions.
  • SUMMARY OF THE INVENTION
  • [0027]
    The invention provides solutions to the problems of the conventional systems as described above in the following areas: connection opening, path MTU discovery, satellite protocol packet format, acknowledgement of satellite protocol packets and unnecessary re-transmissions. The invention provides systems and methods for connection opening in a distributed split-connection PEP implementation. The systems and methods in accordance with the invention use an accelerated opening that allows for minimizing the time spent in the desynchronized state to avoid unnecessary re-request transfers in the case where the connection does not establish properly. When a connection attempt fails, the current invention intercepts the commonly resulting ICMP messages at the PEP, and handles them to provide a faster tear down of the failed connection. This minimizes the time the endpoints spend in a desynchronized state and reduces the period in which a user may become frustrated and generate multiple re-requests. Thus, one aspect of the invention is to reduce unnecessary request transmissions, for example for web pages, and to improve the user experience by avoiding long idle or dead periods which cause the connection to seem to have stopped responding.
  • [0028]
    The invention also provides a solution to the problems regarding the use of the PMTUD mechanisms in the presence of PEPs, specifically where the PEPs locally acknowledge packets and buffer them for retransmission. The invention offers a system and method where the PEPs involved in an end to end connection filter for ICMP “Can't Fragment” messages for the PEP enhanced TCP connections “If Can't Fragment” messages are received then the path MTU estimate at the PEP is adjusted and the data contained in the dropped packet is locally retransmitted in multiple subsequent packets. This avoids a potential deadlock that may prove fatal to affected connections. Therefore, a further aspect of the invention is to provide a reduction of unnecessary processing and retransmissions from the PEP devices.
  • [0029]
    The invention also provides a novel packet structure to support the unique needs and functionality of a proprietary protocol designed to mitigate certain detrimental link characteristics. The packet structure in accordance with the invention is compact, being the same size as the minimal TCP header, which also means that fragmentation is avoided between the PEP devices. The inventive packet structure supports some of the TCP functionality and also new features of the proprietary protocol. The protocol uses the TCP protocol type in the IP header so that it will be treated like TCP by intermediate equipment such as routers and NATs.
  • [0030]
    The port numbers are not altered, as they are used by both TCP and the proprietary protocol for connection identification. The port numbers may be modified by a NAT device if necessary, as they are located at the same place in the packet structure. The TCP checksum is also used, again for compatibility, primarily with NAT devices. Sequence and acknowledgement numbers are modified to allow for behaviour different to TCP. The TCP flags are shared by both the TCP end connections and the proprietary protocol. The TCP reserved field is maintained for compatibility with future uses. The TCP window size field is reused for communicating a satellite protocol PEP-to-PEP flow control window. The urgent pointer is maintained.
  • [0031]
    A packet number field which is 24-bits in length replaces the TCP sequence number field. An acknowledgement number field is also included which is also 24-bits in length. The additional spared bits from the packet and acknowledgement fields are used for identifying acknowledgement type, and also as bit flags to represent packets being acknowledged. Each bit flag indicates the presence or absence of a packet at the receiver. Depending on the value of the TCP acknowledgement flag and the acknowledgement type flag, different acknowledgement formats may be used. The acknowledgement scheme also allows for sending multiple acknowledgements in one packet, without the need for a larger packet header, through the use of options.
  • [0032]
    The invention also offers a system and method whereby a proprietary protocol may use several different types of acknowledgement packets. The packet types allow for positively, and possibly negatively, acknowledging a different number and pattern of received and possibly missing packets. Additionally, a method for choosing the most suitable acknowledgement to use each time an acknowledgement is sent is described, with the intention of reducing the volume of bytes transmitted to acknowledge a pattern of received and lost or errored packets. This scheme allows for the possibility of dynamically adapting to packet loss conditions to lower the volume of acknowledgement bytes otherwise necessary. The scheme also has lower overhead than schemes in protocols such as TCP. The inventive scheme may also employ an acknowledgement timer to ensure a minimum rate of acknowledgements and an upper bound to the real RTT.
  • [0033]
    The invention also allows for the timing of every packet in transit. Each time a packet is transmitted, a copy is buffered to allow for retransmission if necessary. Each buffered copy of a packet has, stored with it, a timestamp that records the time of transmission. Alternatively, the buffered copy of the packet may have stored with it a timestamp indicating the expected time of acknowledgement. In the first scheme, the stored timestamp may be compared against the current time to see if the time difference is greater than the expected roundtrip time, including all delays. In the second scheme, the current time is compared against the stored time to see if an acknowledgement for the packet was expected by this time. Both methods, therefore, can be used to prevent re-transmitting a packet if a copy of the packet is already in transit on the link or an acknowledgement is in transit in the return direction. The units of time used may be real or pseudo time units. When packets are retransmitted the timestamps are updated.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0034]
    The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention. Together with the written description, these drawings serve to explain the principles of the invention. In the drawings:
  • [0035]
    [0035]FIG. 1 shows a block diagram of an exemplary PEP deployment with the connections and equipment involved;
  • [0036]
    [0036]FIG. 2 shows a split-connection, distributed PEP implementation in accordance with an embodiment of the invention;
  • [0037]
    [0037]FIG. 3 illustrates the system for reducing desynchronised time by handling ICMP messages at the PEPs in accordance with an embodiment of the invention;
  • [0038]
    [0038]FIG. 4 shows PEP intervention in the Path MTU Discovery mechanism in accordance with an embodiment of the invention; and
  • [0039]
    [0039]FIG. 5 shows the proprietary protocol packet format in accordance with an embodiment of the invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • [0040]
    This application incorporates by reference the disclosures of provisional patent application No. 60/333,608, entitled “Performance Enhancing Proxies For Satellite Transmission Control” from which this application claims priority, an application entitled “Flow Control Between Performance Enhancing Proxies Over Variable Bandwidth Split Links” and an application entitled “Performance Enhancing Proxies” both of which are concurrently filed herewith on Nov. 13, 2002 and have common ownership.
  • [0041]
    [0041]FIG. 1 illustrates a simplified view of a system 100 that includes equipment and links involved in a PEP deployment in a satellite environment in accordance with an embodiment of the invention. It is important to note that the use of a satellite is merely illustrative of one embodiment of the invention and that the invention is applicable to both terrestrial hard-wired and terrestrial wireless applications. In FIG. 1, a client 101 will make a connection attempt to server a 107 via a satellite 104. The client 101 is connected by a LAN segment 108 to a first or terminal side PEP1 102 and the PEP1 102 is connected by another LAN segment 109 to a satellite terminal 103 (or alternatively a satellite modem of some form). Traffic from the terminal 103 passes over communications links 110 and 111 via the satellite 104 to the gateway 105 (alternatively central hub equipment or another satellite modem). Traffic leaving the gateway passes via LAN segment 112 to a gateway side or second PEP2 106. This second or gateway side PEP2 106 then sends the traffic via a WAN such as part of the Internet 113 to a server 107. The traffic may be a client request, which could generate server response traffic in the reverse direction. It should also be recognized that the terminal side or first PEP1 102 could be combined with terminal device 103.
  • [0042]
    [0042]FIG. 2 shows a split connection PEP implementation 200. In FIG. 3, a client 201 connects to a first PEP1 203 via a first TCP connection 202. The PEP1 203 then connects to a second PEP2 205 via a proprietary protocol connection 204. The PEP2 205 then connects to a server 207 via a second TCP connection 206.
  • [0043]
    [0043]FIG. 3 shows a system of handling ICMP messages 300 to reduce desynchronized time in the event of the failure of the accelerated connection establishment method in accordance with an embodiment of the invention. In FIG. 3, a client 301 attempts to establish a TCP connection to a server 305 via a distributed PEP implementation that includes a first PEP1 302 and a second PEP2 303. Other network equipment may be present such as a router 304 between the second PEP2 303 and the server 305. The client 301 initiates the request with a TCP SYN segment 306 addressed to the server. The PEP1 302 intercepts this segment and replies to the client 301 with the standard TCP SYN/ACK segment 307. The original TCP SYN segment is now converted to a connection-opening packet for the satellite protocol 309 and sent over the satellite link. While the satellite protocol is opening its connection, the TCP 3WHS completes with the sending of a TCP ACK segment 308 addressed to the server and intercepted by the PEP1 302. At this point, the local TCP connection from the client 301 to the PEP1 302 is now fully open and the client 301 perceives that the connection has been established to the server 305.
  • [0044]
    The process continues when the proprietary protocol connection-opening packet arrives at the PEP2 303. The PEP2 303 then converts back to a TCP SYN segment 310 and attempts to open a second TCP connection, this time from the PEP2 303 to the server 305. After sending the second TCP SYN to the server, the PEP2 303 monitors for ICMP message 311 related to that TCP connection. At this point a variety of responses may be obtained. If the connection sets up successfully, none will be received. If the connection fails, an ICMP message may be received from a router 304, or from the server 305 itself if, for example, the TCP protocol is not implemented.
  • [0045]
    The process then concludes by the PEP2 303 forwarding the received ICMP message 312 to the PEP1 302. The PEP1 302 then forwards the ICMP message 314 once more, to the client 301 for informational and diagnostic purposes and its receipt may also trigger connection teardown depending upon the implementation of the ICMP protocol at the client 301. When the PEP2 303 detects an ICMP error message 311 for one of its connections, it may also generate a satellite protocol reset packet 313 to send over the satellite link, following the ICMP message. This packet will close down the satellite protocol connection and then be converted to a TCP reset packet 315 to guarantee teardown of the desynchronised TCP connection. After receiving the ICMP message, the PEP2 303 will close both the TCP and satellite protocol connections.
  • [0046]
    Variations of the above mechanism include the PEP2 303 only forwarding the ICMP packet or only a reset packet to reduce mechanism overhead bytes on the inter-PEP link, but at the expense of information as to the cause of the error or certainty as to the reaction of the client 301. Alternatively, the PEP2 303 may forward the ICMP packet to the PEP1 302 and the PEP1 302 may also detect ICMP messages from the satellite link direction that are related to its connections. Then the PEP1 302 may generate a TCP reset locally and send it to the client 301. In this last case, the PEP2 303 would close the second TCP connection and the related satellite connection and the PEP1 302 would use the ICMP message passing through to close the first TCP connection. Should the ICMP message be lost, the client 301 will not receive the diagnostic information it contains, but the reset packets will ensure all points close the connection segments end-to-end. Should one or all reset packet(s) be lost, mechanisms in the PEPs and endpoints will detect this and teardown the connections end-to-end.
  • [0047]
    [0047]FIG. 4 depicts a mechanism 400 by which the invention interacts with a PMTUD mechanism in accordance with an embodiment of the invention. In FIG. 4, a client 401 is attempting to transfer data to a server 405 through two PEPs, a first PEP1 402 and a second PEP2 403 in a path that includes a router 404 with differing input interface and output interface MTUs. The client 401 is using the PMTUD mechanism so each IP header has the DF bit set to avoid fragmentation and provide ICMP feedback from intermediate devices. The client 401 sends packet 406 to the server 405. The packet 406 is intercepted by the PEP1 402 and converted to a satellite protocol packet 407 which is received by the PEP2 403 and converted back to a TCP packet 408, which is sent by the PEP2 403 and intended for the server 405. The router 404, however, cannot forward the packet because it is not allowed to fragment it, soothe router 404 drops the packet and sends back an ICMP “Can't fragment” message 409 to the client. The PEP2 403 intercepts this message and removes it from the data stream. The PEP2 403 reduces its path MTU estimate and retransmits the data in smaller packets 410 to the server 405, which can now be forwarded by the router 404.
  • [0048]
    This method by which the original packet is segmented and re-packetized has two possible variants in accordance with the invention. The first variant involves merely segmenting the original large packet into multiples of the new path MTU and a remainder number of bytes. The second variant involves the PEP devices treating the data in the packets as a byte stream and combining any remainder, as described immediately above, with data bytes from the next packet in the data stream to form the maximum number of new path MTU estimate sized packets. This second variant may also be combined with a timer which controls the maximum time a remainder of a large packet may remain buffered while waiting for a following contiguous packet to arrive.
  • [0049]
    [0049]FIG. 5 shows the overall inventive protocol packet format 500 according to an embodiment of the invention. The packets are the same size as TCP packets without TCP options. Two 16-bit port numbers, a source port number 501 and a destination port number 502, are used at the beginning of the packet. These port numbers take the same format as the TCP port numbers. A header length field 503 taking the same format as TCP is included. This is followed by a reserved field 504, which again preserves the TCP packet format. An urgent flag 505 is preserved from TCP. An acknowledgement flag 506 is reused by the inventive protocol. A push flag 507 is also preserved from TCP. A reset flag 508 may be preserved from TCP or reused by the inventive protocol. A synchronise flag 509 is preserved from TCP. A finish flag 510 is also preserved from TCP.
  • [0050]
    A 16-bit TCP window field (not shown) is reused by the inventive protocol as an inter-PEP flow-control window field 511. A 16-bit TCP checksum 512 functions in the same way as the TCP checksum. An urgent pointer 513 is preserved from TCP. In order to distinguish between the multiple different acknowledgement types, an acknowledgement type bit flag 514 is used along with the acknowledgement flag. Packet bit flags, for example 515, are used to indicate the receipt or loss of individual packets. A 24-bit protocol packet number 516 is used when the packet contains data. If the packet is a pure acknowledgement packet, the bits of the 24-bit packet number field may instead be used as further bit flags for indicating the loss or receipt of packets. An inventive protocol acknowledgement field 517 is used as a reference point for the individual bit flags. For example, this acknowledgement field may indicate the newest packet acknowledged (highest packet number) or the oldest packet acknowledged (lowest packet number) and the bit fields could indicate contiguous packets, older or newer, than this value, respectively.
  • [0051]
    In accordance with the embodiments of the invention, when a data packet arrives at its receiver, an acknowledgement packet is formed if one is not already being constructed. For each subsequent received packet, the acknowledgement packet is updated with positive and negative acknowledgement information from the packets received or missing. On a point-to-point link, missing packets may be assumed to have been lost. A timer may be used to bound the RTT and generate a minimum acknowledgement rate. If the timer expires, the acknowledgement will be sent. Each time a new acknowledgement is constructed, the most efficient format for the current pattern of packets received and missing will be chosen. As other packets are received or found to be missing, the acknowledgement format will be changed so as to always use the most efficient format according to current information. Once an acknowledgement can hold no more information, it is sent.
  • [0052]
    For every inventive protocol packet transmitted between PEPs, a copy must be buffered in a retransmission buffer to allow for retransmission, if necessary. This scheme allows for reliable transfer of data from end to end. For each buffered packet in the transmission buffer, a timestamp is also stored, the timestamp being based on any real or pseudo time clock with fine enough resolution. When a packet is retransmitted, the timestamp is updated.
  • [0053]
    The operation of the invention is now described in greater detail. The connection-opening mechanism for minimizing periods of endpoint desynchronization would operate in the following manner, as shown in FIG. 1. The client 101 and the first PEP1 102 would complete the local TCP 3WHS; the TCP SYN segment being converted to the satellite protocol and sent across the satellite link. The second PEP2 106 would initiate the second TCP connection and monitor for any ICMP messages in response. If an ICMP message were detected, it would be forwarded across the satellite link and the second TCP connection closed at the second PEP2 106. The ICMP message would again be processed, this time by the PEP1 102, which would forward the message, and then send a following TCP reset segment to guarantee the connection teardown at the client 101. This provides the client 101 with the maximum information while minimizing the packets over the satellite link.
  • [0054]
    One embodiment of the invention would also include the method by which the PEP devices interact with the PMTUD mechanism. In this embodiment, remainders of packets may be combined with data bytes from following packets to maximize the number of path MTU estimate sized packets transmitted. The combination of this treatment of the packet stream as a byte stream at the PEP devices and a timer to wait for following packets should minimize further small (less than path MTU estimate) packets being sent. The result would be increased efficiency due to less header overhead and, consequently, improved throughput. Other node processing would also be reduced.
  • [0055]
    The inventive packet format may be used with the acknowledgement number as either the newest or oldest packet acknowledged with very little difference in performance. If the acknowledgement number is the newest packet being acknowledged, then the bit flags represent older packets and may re-acknowledge already acknowledged packets which may increase processing at the acknowledgement receiver. If the acknowledgement number used is the oldest, then a convention must be established as to which bit flag acknowledges the newest packet. For example, a timer may limit the maximum time between acknowledgements so that there may not be enough packets to be positively or negatively acknowledged to require all the packet bit flags. In this case, if there were no convention as to which of the bit flags were valid, the acknowledgement could trigger the retransmission of any packets not yet received.
  • [0056]
    One embodiment of the invention utilizes an acknowledgement scheme that uses a timer to guarantee a minimum acknowledgement rate and a maximum RTT. A value of between 200 and 500 ms, for example, would be typical, adding minimal time to the RTT but enough time to allow an acknowledgement to acknowledge multiple packets.
  • [0057]
    The time-stamping mechanism to prevent unnecessary retransmissions may be used with either a time of transmission or expected time of acknowledgement, with very little difference. If the expected time of acknowledgement is calculated and then stored, a direct comparison may be made to the current time which may be more efficient computationally than storing the time of transmission and making a calculation and comparison each time the packet must be checked.
  • [0058]
    It will be apparent to those skilled in the art that various modifications and variations can be made to this invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention covers the modifications and variations of this invention provided that they come within the scope of any claims and their equivalents.

Claims (18)

  1. 1. A method for accelerating an opening of a connection in a communications system for transmitting and receiving data packets, the method comprising the steps of:
    intercepting a TCP SYN connection request from a client, the TCP SYN intercepted by a first Performance Enhancing Proxy (PEP);
    responding to the intercepted TCP SYN connection with a TCP SYN/ACK, the step of responding performed by the client;
    responding to the first PEP with the TCP ACK, the responding step performed by the client;
    converting the TCP SYN to another protocol and sending a message over a link, the converting and sending steps performed by the first PEP;
    receiving the message over a link and converting it back to the TCP SYN, the receiving and converting steps performed by the second PEP;
    sending the TCP SYN to a server, the sending step perfomed by the second PEP; and
    listening for ICMP messages generated in response to the TCP SYN, the listening step performed by the second server.
  2. 2. The method of claim 1, further comprising the steps of:
    receiving the ICMP message related to a connection that is currently being established, the receiving step performed by the second PEP;
    removing said ICMP message from the network; generating a reset message;
    forwarding the reset message to the first PEP; and
    forwarding the reset message to the client, the forwarding step performed by the first PEP.
  3. 3. The method of claim 1, further comprising the steps of:
    receiving an ICMP message related to a connection that is currently being established, the ICMP message received by the second PEP;
    forwarding the ICMP message to the first PEP; and
    forwarding the ICMP message to said client, the ICMP message forwarded by the first PEP.
  4. 4. The method of claim 3, further comprising the steps of:
    generating a reset packet and sending it over the link to the first PEP, the generating and sending steps performed by the second PEP; and
    forwarding the reset message upon returning the ICMP message to the client, the forwarding step performed by the first PEP.
  5. 5. The method of claim 3, further comprising the steps of:
    generating a reset message upon receiving the ICMP message, the generating step performed by the first PEP; and
    sending the reset message to the client after the forwarding of the ICMP message, the sending step performed by the first PEP.
  6. 6. A method of supporting an end-to-end PMTUD mechanism in a communications system for transmitting and receiving data packets, comprising the steps of:
    identifying messages to intercept via a destination IP address and an encapsulated packet fragment;
    intercepting incoming ICMP “Fragmentation Needed, DF Set” messages from a TCP end connection;
    re-sizing a path MTU estimate for an indicated destination IP address at a PEP to a value indicated by the ICMP messages or if no value is indicated to a default of 576 bytes; and
    re-packetizing an original packet according to a newly set path MTU estimate; and
    re-transmitting from PEP previously discarded data.
  7. 7. The method of claim 6, wherein the step of re-packetizing further comprises:
    dividing data of a packet requiring subdivision into path MTU sized portions and a possible remainder of less than path MTU bytes;
    creating a new set of TCP headers for subdivisions of the original packet that preserve TCP connection information contained in the original packet; and
    creating a new set of IP headers for the subdivisions of the original packet that preserve the IP information contained in the original packet.
  8. 8. The method of claim 6, wherein the step of re-packetizing futher comprises:
    treating the data as a byte stream; and
    combining portions of multiple large packets into smaller packets.
  9. 9. A packet header for transmitting and receiving data packets in a communications system for transmitting and receiving data packets, comprising:
    a first field containing a source port number;
    a second field containing a destination port number;
    a third field comprising 8 individual bit flags;
    a forth field containing a packet number;
    a fifth flag field;
    a sixth field including either 0 or more individual bit flags;
    a seventh, field containing an acknowledgement number;
    an eighth field containing the header length in units of 4 bytes;
    a ninth reserved field;
    a tenth flag field;
    an eleventh flag field;
    a twelfth flag field;
    a thirteenth flag field;
    a fourteenth flag field;
    a fifteenth flag field;
    a sixteenth field containing an advertised window size;
    a seventeenth checksum field; and
    an eighteenth field containing an urgent pointer.
  10. 10. The packet header in accordance with claim 9, wherein the fourth header field is no greater than 31 bits and the seventh header field is no greater than 31 bits.
  11. 11. The packet header in accordance with claim 9, wherein the fourth field is utilized as 24 1-bit flags for acknowledging individual packets.
  12. 12. A method for use in a communications system for sending and receiving data packets for acknowledging a plurality of data packets to automatically reduce the number of acknowledgement packets under differing link conditions, the method comprising the steps of:
    constructing an acknowledgement packet having a first format;
    updating the acknowledgement packet as the packets are considered at least one of received or missing;
    converting the acknowledgement packet to an alternative format in order to minimize the packets required to be sent; and
    sending the packet when it is full.
  13. 13. The method of claim 12, further comprising the step of using a timer to limit a maximum delay between the acknowledgement packets.
  14. 14. A method for maintaining information on transmitted packets in a communications system for sending and receiving data packets, the method comprising the steps of:
    transmitting a packet;
    locally storing a timestamp representing a time of transmission of the packet;
    determining a packet loss; and
    determining if a retransmission may take place based upon the determined packet loss.
  15. 15. The method of claim 14, wherein the timestamp represents an expected time of reception of a confirmation of a successful receipt.
  16. 16. The method of claim 14, wherein the step of determining a packet loss entails a failure to receive an acknowledgment as indicated by the expiration of a timer or receipt of a negative acknowledgement or an acknowledgement for a later packet.
  17. 17. The method of claim 14, further comprising the step of determining which packet to retransmit.
  18. 18. The method of claim 17, wherein the step of determining which packet to retransmit further includes the step of finding all packets where a packet number is less than the packet determined missing and a time stamp indicates that an acknowledgement should have been received.
US10292899 2001-11-13 2002-11-13 Performance enhancing proxy techniques for internet protocol traffic Abandoned US20030131079A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US33360801 true 2001-11-13 2001-11-13
US10292899 US20030131079A1 (en) 2001-11-13 2002-11-13 Performance enhancing proxy techniques for internet protocol traffic

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10292899 US20030131079A1 (en) 2001-11-13 2002-11-13 Performance enhancing proxy techniques for internet protocol traffic

Publications (1)

Publication Number Publication Date
US20030131079A1 true true US20030131079A1 (en) 2003-07-10

Family

ID=23303516

Family Applications (3)

Application Number Title Priority Date Filing Date
US10292899 Abandoned US20030131079A1 (en) 2001-11-13 2002-11-13 Performance enhancing proxy techniques for internet protocol traffic
US10292900 Expired - Fee Related US6975647B2 (en) 2001-11-13 2002-11-13 Enhancements for TCP performance enhancing proxies
US10292901 Abandoned US20030123394A1 (en) 2001-11-13 2002-11-13 Flow control between performance enhancing proxies over variable bandwidth split links

Family Applications After (2)

Application Number Title Priority Date Filing Date
US10292900 Expired - Fee Related US6975647B2 (en) 2001-11-13 2002-11-13 Enhancements for TCP performance enhancing proxies
US10292901 Abandoned US20030123394A1 (en) 2001-11-13 2002-11-13 Flow control between performance enhancing proxies over variable bandwidth split links

Country Status (4)

Country Link
US (3) US20030131079A1 (en)
EP (1) EP1446931A1 (en)
CA (1) CA2473863A1 (en)
WO (3) WO2003043288A1 (en)

Cited By (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050005024A1 (en) * 2002-10-30 2005-01-06 Allen Samuels Method of determining path maximum transmission unit
US20050058131A1 (en) * 2003-07-29 2005-03-17 Samuels Allen R. Wavefront detection and disambiguation of acknowledgments
US20050063303A1 (en) * 2003-07-29 2005-03-24 Samuels Allen R. TCP selective acknowledgements for communicating delivered and missed data packets
WO2005045639A2 (en) 2003-11-05 2005-05-19 Juniper Networks, Inc. Transparent optimization for transmission control protocol initial session establishment
US20050122977A1 (en) * 2003-12-05 2005-06-09 Microsoft Corporation Efficient download mechanism for devices with limited local storage
US20050185664A1 (en) * 2004-02-25 2005-08-25 Nokia Corporation Method and apparatus providing a protocol to enable a wireless TCP session using a split TCP connection
US20060031571A1 (en) * 2004-04-29 2006-02-09 International Business Machines Corporation Data communications through a split connection proxy
US20060029062A1 (en) * 2004-07-23 2006-02-09 Citrix Systems, Inc. Methods and systems for securing access to private networks using encryption and authentication technology built in to peripheral devices
US20060039684A1 (en) * 2004-08-23 2006-02-23 Lu-Kang Mao Player and method for processing a file with vector-based format
US20060069668A1 (en) * 2004-09-30 2006-03-30 Citrix Systems, Inc. Method and apparatus for assigning access control levels in providing access to networked content files
US20060184664A1 (en) * 2005-02-16 2006-08-17 Samsung Electronics Co., Ltd. Method for preventing unnecessary retransmission due to delayed transmission in wireless network and communication device using the same
US20060239298A1 (en) * 2005-04-22 2006-10-26 Cisco Technology Inc. Techniques for encapsulating point to point protocol (PPP) over Ethernet frames
US20070245409A1 (en) * 2006-04-12 2007-10-18 James Harris Systems and Methods for Providing Levels of Access and Action Control Via an SSL VPN Appliance
US20070248090A1 (en) * 2006-04-25 2007-10-25 Haseeb Budhani Virtual inline configuration for a network device
US20080034110A1 (en) * 2006-08-03 2008-02-07 Citrix Systems, Inc. Systems and methods for routing vpn traffic around network disruption
US20080034072A1 (en) * 2006-08-03 2008-02-07 Citrix Systems, Inc. Systems and methods for bypassing unavailable appliance
US20080031265A1 (en) * 2006-08-03 2008-02-07 Amarnath Mullick Systems and methods for using a client agent to manage icmp traffic in a virtual private network environment
US20080034416A1 (en) * 2006-08-03 2008-02-07 Arkesh Kumar Methods and systems for routing packets in a vpn-client-to-vpn-client connection via an ssl/vpn network appliance
US20080043760A1 (en) * 2006-08-21 2008-02-21 Citrix Systems, Inc. Systems and Methods of Providing Server Initiated Connections on a Virtual Private Network
US20080141344A1 (en) * 2006-12-08 2008-06-12 Samsung Electronics Co., Ltd. Pana authentication method and system
WO2008070660A2 (en) * 2006-12-04 2008-06-12 D & S Consultants, Inc. Integrated quality of service and resource management in a network edge device
US20080212609A1 (en) * 2007-03-02 2008-09-04 Hitachi Communication Technologies, Ltd. ICMP translator
US20090067440A1 (en) * 2007-09-07 2009-03-12 Chadda Sanjay Systems and Methods for Bridging a WAN Accelerator with a Security Gateway
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US7698453B2 (en) 2003-07-29 2010-04-13 Oribital Data Corporation Early generation of acknowledgements for flow control
US7748032B2 (en) 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US7760729B2 (en) 2003-05-28 2010-07-20 Citrix Systems, Inc. Policy based network address translation
US20110040882A1 (en) * 2009-08-13 2011-02-17 Verizon Patent And Licensing, Inc. Dynamic handler for sip max-size error
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US8014421B2 (en) 2004-07-23 2011-09-06 Citrix Systems, Inc. Systems and methods for adjusting the maximum transmission unit by an intermediary device
US8024568B2 (en) 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US20120151087A1 (en) * 2010-12-14 2012-06-14 Nuvel, Inc. System and method for providing a network proxy data tunnel
US8204080B2 (en) 2005-04-22 2012-06-19 Cisco Technology, Inc. Techniques for encapsulating point to point (PPP) over Ethernet frames
US8233392B2 (en) 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US8238241B2 (en) * 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US8261057B2 (en) 2004-06-30 2012-09-04 Citrix Systems, Inc. System and method for establishing a virtual private network
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
CN102739569A (en) * 2011-04-01 2012-10-17 中国科学院空间科学与应用研究中心 Gateway used in satellite communication and method for enhancing TCP performance
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US20120290727A1 (en) * 2009-12-31 2012-11-15 Bce Inc. Method and system for increasing performance of transmission control protocol sessions in data networks
US20130077611A1 (en) * 2011-09-28 2013-03-28 Furquan Shaikh Tunneled Direct Link Setup Systems And Methods With Consistent Link Information Maintenance
US20130094501A1 (en) * 2011-10-14 2013-04-18 David Anthony Hughes Processing data packets in performance enhancing proxy (pep) environment
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8499057B2 (en) 2005-12-30 2013-07-30 Citrix Systems, Inc System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8533846B2 (en) 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8613048B2 (en) 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US20140185460A1 (en) * 2012-12-27 2014-07-03 Furuno Electric Co., Ltd. Satellite communication device and satellite communication system
US8856777B2 (en) 2004-12-30 2014-10-07 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US9160553B2 (en) 2013-11-27 2015-10-13 Architecture Technology Corporation Adaptive multicast network communications
US9191377B2 (en) * 2013-11-27 2015-11-17 Architecture Technology Corporation Method for network communication past encryption devices
US9253277B2 (en) 2007-07-05 2016-02-02 Silver Peak Systems, Inc. Pre-fetching stored data from a memory
US9264365B2 (en) 2012-07-31 2016-02-16 International Business Machines Corporation Split transport control protocol (TCP) flow control management in a cellular broadband network
CN105491016A (en) * 2015-07-21 2016-04-13 成都理工大学 Method for hiding network TCP port
US9363309B2 (en) 2005-09-29 2016-06-07 Silver Peak Systems, Inc. Systems and methods for compressing packet data by predicting subsequent data
US9363248B1 (en) 2005-08-12 2016-06-07 Silver Peak Systems, Inc. Data encryption in a network memory architecture for providing data based on local accessibility
US9397951B1 (en) 2008-07-03 2016-07-19 Silver Peak Systems, Inc. Quality of service using multiple flows
US9438538B2 (en) 2006-08-02 2016-09-06 Silver Peak Systems, Inc. Data matching using flow based packet data storage
US20160316022A1 (en) * 2015-04-23 2016-10-27 Fujitsu Limited Communication device, communication processing method, and storage medium
US9549048B1 (en) 2005-09-29 2017-01-17 Silver Peak Systems, Inc. Transferring compressed packet data over a network
US9584403B2 (en) 2006-08-02 2017-02-28 Silver Peak Systems, Inc. Communications scheduler
US9613071B1 (en) 2007-11-30 2017-04-04 Silver Peak Systems, Inc. Deferred data storage
US9626224B2 (en) 2011-11-03 2017-04-18 Silver Peak Systems, Inc. Optimizing available computing resources within a virtual environment
US9712463B1 (en) 2005-09-29 2017-07-18 Silver Peak Systems, Inc. Workload optimization in a wide area network utilizing virtual switches
US9717021B2 (en) 2008-07-03 2017-07-25 Silver Peak Systems, Inc. Virtual network overlay
US9875344B1 (en) 2014-09-05 2018-01-23 Silver Peak Systems, Inc. Dynamic monitoring and authorization of an optimization device
US9887974B2 (en) 2013-11-27 2018-02-06 Architecture Technology Corporation Method for network communication past encryption devices

Families Citing this family (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001080033A3 (en) 2000-04-17 2002-10-03 Circadence Corp System and method for implementing application -independent functionality within a network infrastructure
US8996705B2 (en) * 2000-04-17 2015-03-31 Circadence Corporation Optimization of enhanced network links
US6850732B2 (en) * 2001-03-30 2005-02-01 Wengen Wireless Llc Scalable satellite data communication system that provides incremental global broadband service using earth-fixed cells
US6778825B2 (en) * 2001-05-08 2004-08-17 The Boeing Company Path discovery method for return link communications between a mobile platform and a base station
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7320833B2 (en) * 2001-11-07 2008-01-22 E.I. Du Pont De Nemours And Company Electroluminescent platinum compounds and devices made with such compounds
US7389533B2 (en) * 2002-01-28 2008-06-17 Hughes Network Systems, Llc Method and system for adaptively applying performance enhancing functions
DE60322988D1 (en) * 2002-01-28 2008-10-02 Hughes Network Systems Llc Method and apparatus for integrating functions to improve performance in a virtual private network (VPN)
US8976798B2 (en) 2002-01-28 2015-03-10 Hughes Network Systems, Llc Method and system for communicating over a segmented virtual private network (VPN)
EP1335289A1 (en) * 2002-02-07 2003-08-13 Siemens Aktiengesellschaft Method for software downloads in a radio communications system
US7042857B2 (en) 2002-10-29 2006-05-09 Qualcom, Incorporated Uplink pilot and signaling transmission in wireless communication systems
EP1652087B1 (en) * 2003-07-29 2015-07-08 Citrix Systems, Inc. Flow control architecture
JP4283589B2 (en) * 2003-03-25 2009-06-24 株式会社エヌ・ティ・ティ・ドコモ Communication device, a communication control method, and program
US7349400B2 (en) * 2003-04-29 2008-03-25 Narus, Inc. Method and system for transport protocol reconstruction and timer synchronization for non-intrusive capturing and analysis of packets on a high-speed distributed network
US7177297B2 (en) * 2003-05-12 2007-02-13 Qualcomm Incorporated Fast frequency hopping with a code division multiplexed pilot in an OFDMA system
US20040236855A1 (en) * 2003-05-23 2004-11-25 Amir Peles Multi-link tunneling
WO2004107185A1 (en) 2003-05-27 2004-12-09 Macdonald, Dettwiler And Associates Ltd. Satellite communications system for providing global, high quality movement of very large data files
FI20030929A (en) * 2003-06-19 2004-12-20 Nokia Corp The method and arrangements for carrying out wireless data transmission means of transport
US20040264368A1 (en) * 2003-06-30 2004-12-30 Nokia Corporation Data transfer optimization in packet data networks
US8275910B1 (en) 2003-07-02 2012-09-25 Apple Inc. Source packet bridge
US7665132B2 (en) * 2003-07-04 2010-02-16 Nippon Telegraph And Telephone Corporation Remote access VPN mediation method and mediation device
US7385937B2 (en) * 2003-07-23 2008-06-10 International Business Machines Corporation Method and system for determining a path between two points of an IP network over which datagrams are transmitted
US7460472B2 (en) * 2003-07-25 2008-12-02 Nokia Corporation System and method for transmitting information in a communication network
US7286476B2 (en) * 2003-08-01 2007-10-23 F5 Networks, Inc. Accelerating network performance by striping and parallelization of TCP connections
KR100506529B1 (en) 2003-08-06 2005-08-03 삼성전자주식회사 Apparatus, system and method for path mtu discovery in data communication network
US7376418B2 (en) * 2003-09-08 2008-05-20 Wells Loren L System and method for multiple access control in satellite communications system
US8553572B2 (en) * 2003-09-10 2013-10-08 Hyperdata Technologies, Inc. Internet protocol optimizer
US7496097B2 (en) * 2003-11-11 2009-02-24 Citrix Gateways, Inc. System, apparatus and method for establishing a secured communications link to form a virtual private network at a network protocol layer other than at which packets are filtered
US7760636B1 (en) * 2004-01-26 2010-07-20 Cisco Technology, Inc. Retransmission and flow control in a logical network tunnel
US8611283B2 (en) * 2004-01-28 2013-12-17 Qualcomm Incorporated Method and apparatus of using a single channel to provide acknowledgement and assignment messages
US7792147B1 (en) * 2004-02-09 2010-09-07 Symantec Corporation Efficient assembly of fragmented network traffic for data security
US7360083B1 (en) 2004-02-26 2008-04-15 Krishna Ragireddy Method and system for providing end-to-end security solutions to aid protocol acceleration over networks using selective layer encryption
US7895648B1 (en) * 2004-03-01 2011-02-22 Cisco Technology, Inc. Reliably continuing a secure connection when the address of a machine at one end of the connection changes
US20050210121A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated Satellite anticipatory bandwith acceleration
US20050210122A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated HTTP acceleration over a network link
US7539176B1 (en) * 2004-04-02 2009-05-26 Cisco Technology Inc. System and method for providing link, node and PG policy based routing in PNNI based ATM networks
WO2005114960A1 (en) * 2004-05-19 2005-12-01 Computer Associates Think, Inc. Method and apparatus for low-overhead service availability and performance moniroring
US8416694B2 (en) * 2004-06-22 2013-04-09 Telefonaktiebolaget Lm Ericsson (Publ) Network feedback method and device
CN102104632B (en) 2005-01-24 2012-08-22 茨特里克斯系统公司 Systems and methods for performing caching of dynamically generated objects in a network
US8891349B2 (en) 2004-07-23 2014-11-18 Qualcomm Incorporated Method of optimizing portions of a frame
KR20070083482A (en) 2004-08-13 2007-08-24 사이트릭스 시스템스, 인크. A method for maintaining transaction integrity across multiple remote access servers
US8224966B2 (en) * 2004-08-24 2012-07-17 Cisco Technology, Inc. Reproxying an unproxied connection
US7895431B2 (en) * 2004-09-10 2011-02-22 Cavium Networks, Inc. Packet queuing, scheduling and ordering
US20060056379A1 (en) * 2004-09-14 2006-03-16 Motorola, Inc. System and method for network-assisted connection in a wireless environment
US7975064B2 (en) * 2004-09-16 2011-07-05 International Business Machines Corporation Envelope packet architecture for broadband engine
US7769863B2 (en) 2004-11-19 2010-08-03 Viasat, Inc. Network accelerator for controlled long delay links
KR20080042764A (en) * 2004-11-24 2008-05-15 아이에스티 인터내셔널 인코포레이티드 Methods and apparatus for estimating bandwidth of a data network
US7515566B2 (en) * 2004-12-09 2009-04-07 Viasat, Inc. Partial mesh communication in hub based system
US7551620B1 (en) * 2004-12-15 2009-06-23 Orbital Data Corporation Protecting data integrity in an enhanced network connection
US7480301B2 (en) * 2004-12-16 2009-01-20 International Business Machines Corporation Method, system and article for improved TCP performance during retransmission in response to selective acknowledgement
US8831115B2 (en) 2004-12-22 2014-09-09 Qualcomm Incorporated MC-CDMA multiplexing in an orthogonal uplink
US7453849B2 (en) * 2004-12-22 2008-11-18 Qualcomm Incorporated Method of implicit deassignment of resources
US8238923B2 (en) 2004-12-22 2012-08-07 Qualcomm Incorporated Method of using shared resources in a communication system
US7581005B2 (en) * 2005-01-20 2009-08-25 Citrix Systems, Inc. Systems and methods for preserving transport layer protocol options
US8077632B2 (en) * 2005-01-20 2011-12-13 Citrix Systems, Inc. Automatic LAN/WAN port detection
US7664857B2 (en) * 2007-01-26 2010-02-16 Citrix Systems, Inc. Systems and methods of using an IP ID field for automatic WAN/LAN detection
US9118717B2 (en) * 2005-02-18 2015-08-25 Cisco Technology, Inc. Delayed network protocol proxy for packet inspection in a network
JP4785551B2 (en) * 2005-03-07 2011-10-05 キヤノン株式会社 Executable by the communication apparatus and communication method, and computer program
US9055088B2 (en) * 2005-03-15 2015-06-09 International Business Machines Corporation Managing a communication session with improved session establishment
WO2006099883A1 (en) * 2005-03-23 2006-09-28 Telefonaktiebolaget Lm Ericsson (Publ) System and method for transporting data units through a communication network
US7697524B2 (en) * 2005-04-05 2010-04-13 Cisco Technology, Inc. Method and system for determining path maximum transfer unit for IP multicast
US7535907B2 (en) * 2005-04-08 2009-05-19 Oavium Networks, Inc. TCP engine
WO2007084177A3 (en) * 2005-05-06 2007-12-21 California Inst Of Techn Efficient loss recovery architecture for loss-decoupled tcp
US8675486B2 (en) * 2005-05-17 2014-03-18 Hughes Network Systems, Llc Method and system for efficient flow control in a spot beam satellite system
US7706314B2 (en) * 2005-05-20 2010-04-27 Cisco Technology, Inc. Approach for implementing IPsec in performance enhancing proxy (PEP) environments
KR101114737B1 (en) * 2005-05-31 2012-02-29 삼성전자주식회사 Method for reporting packet received result in a mobile communication system
US8370583B2 (en) * 2005-08-12 2013-02-05 Silver Peak Systems, Inc. Network memory architecture for providing data based on local accessibility
DE602005017782D1 (en) * 2005-09-22 2009-12-31 Alcatel Lucent Network device to improve the transmission efficiency by treating the TCP segments
US7940713B2 (en) * 2005-12-08 2011-05-10 Electronics And Telecommunications Research Institute Apparatus and method for traffic performance improvement and traffic security in interactive satellite communication system
EP1798890B1 (en) * 2005-12-15 2009-03-18 Nokia Corporation Methods, device and computer program product for maintaining mapping relationship
US8406220B2 (en) * 2005-12-30 2013-03-26 Honeywell International Inc. Method and system for integration of wireless devices with a distributed control system
US20070156879A1 (en) * 2006-01-03 2007-07-05 Klein Steven E Considering remote end point performance to select a remote end point to use to transmit a task
US8605730B2 (en) * 2006-04-13 2013-12-10 Directpacket Research, Inc. System and method for multimedia communication across disparate networks
US7894509B2 (en) * 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
GB0611249D0 (en) * 2006-06-07 2006-07-19 Nokia Corp Communication system
US20070291767A1 (en) * 2006-06-16 2007-12-20 Harris Corporation Systems and methods for a protocol transformation gateway for quality of service
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US8064464B2 (en) 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US7916626B2 (en) 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
KR101298265B1 (en) * 2006-07-07 2013-08-22 삼성전자주식회사 Method for receiving and sending packets
US20100241759A1 (en) * 2006-07-31 2010-09-23 Smith Donald L Systems and methods for sar-capable quality of service
US8300653B2 (en) 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
DE602007006322D1 (en) * 2006-08-18 2010-06-17 Koninkl Philips Electronics Nv decoupled connections
US8493858B2 (en) 2006-08-22 2013-07-23 Citrix Systems, Inc Systems and methods for providing dynamic connection spillover among virtual servers
US8312120B2 (en) * 2006-08-22 2012-11-13 Citrix Systems, Inc. Systems and methods for providing dynamic spillover of virtual servers based on bandwidth
US8655357B1 (en) * 2006-08-22 2014-02-18 At&T Mobility Ii Llc Systems and methods for identifying applications on a communications device
US7933257B2 (en) * 2006-09-20 2011-04-26 Cisco Technology, Inc. Using QoS tunnels for TCP latency optimization
EP2074769A2 (en) * 2006-10-06 2009-07-01 ViaSat, Inc. Dynamic feedback for outbound link rate adjustment in multi-rate downstream
EP1912402A1 (en) * 2006-10-10 2008-04-16 Mitsubishi Electric Information Technology Centre Europe B.V. Protection of the data transmission network systems against buffer oversizing attacks
US7646728B2 (en) * 2006-10-13 2010-01-12 SafeMedia Corp. Network monitoring and intellectual property protection device, system and method
US8102768B2 (en) * 2006-10-18 2012-01-24 D & S Consultants, Inc. Method and system for traffic flow control in a communication network
US20080137863A1 (en) * 2006-12-06 2008-06-12 Motorola, Inc. Method and system for using a key management facility to negotiate a security association via an internet key exchange on behalf of another device
DE102007012143A1 (en) 2007-03-12 2008-09-18 Viprinet Gmbh Arrangement and method for communicating a data stream over bonded network access lines, as well as transmitting and receiving auxiliary apparatus and method for transmitting and receiving
US7796510B2 (en) 2007-03-12 2010-09-14 Citrix Systems, Inc. Systems and methods for providing virtual fair queueing of network traffic
US7760642B2 (en) 2007-03-12 2010-07-20 Citrix Systems, Inc. Systems and methods for providing quality of service precedence in TCP congestion control
US7706266B2 (en) * 2007-03-12 2010-04-27 Citrix Systems, Inc. Systems and methods of providing proxy-based quality of service
US7743160B2 (en) * 2007-03-29 2010-06-22 Blue Coat Systems, Inc. System and method of delaying connection acceptance to support connection request processing at layer-7
WO2008143871A1 (en) 2007-05-15 2008-11-27 Radioframe Networks, Inc. Transporting gsm packets over a discontinuous ip based network
US8171238B1 (en) 2007-07-05 2012-05-01 Silver Peak Systems, Inc. Identification of data stored in memory
US8997115B2 (en) * 2007-08-31 2015-03-31 International Business Machines Corporation Method for data delivery in a network
WO2009055061A1 (en) 2007-10-25 2009-04-30 Trilliant Networks, Inc. Gas meter having ultra-sensitive magnetic material retrofitted onto meter dial and method for performing meter retrofit
US8305896B2 (en) * 2007-10-31 2012-11-06 Cisco Technology, Inc. Selective performance enhancement of traffic flows
EP2215556A4 (en) 2007-11-25 2011-01-19 Trilliant Networks Inc System and method for power outage and restoration notification in an advanced metering infrastructure network
WO2009067254A1 (en) * 2007-11-25 2009-05-28 Trilliant Networks, Inc. System and method for operating mesh devices in multi-tree overlapping mesh networks
EP2257884A4 (en) 2007-11-25 2011-04-20 Trilliant Networks Inc System and method for transmitting and receiving information on a neighborhood area network
EP2215550A1 (en) 2007-11-25 2010-08-11 Trilliant Networks, Inc. Energy use control system and method
US8138934B2 (en) 2007-11-25 2012-03-20 Trilliant Networks, Inc. System and method for false alert filtering of event messages within a network
US7970928B2 (en) * 2007-12-17 2011-06-28 Microsoft Corporation Transparent auto-discovery of network devices logically located between a client and server
US8442052B1 (en) 2008-02-20 2013-05-14 Silver Peak Systems, Inc. Forward packet recovery
US7965721B1 (en) * 2008-03-21 2011-06-21 Nextel Communications Inc. System and method of transferring communications between networks
US7991008B2 (en) * 2008-06-26 2011-08-02 Dell Products L.P. Method for identifying the transmission control protocol stack of a connection
WO2010027495A1 (en) 2008-09-04 2010-03-11 Trilliant Networks, Inc. A system and method for implementing mesh network communications using a mesh network protocol
US8958363B2 (en) * 2008-10-15 2015-02-17 Viasat, Inc. Profile-based bandwidth scheduler
US8387112B1 (en) 2008-10-29 2013-02-26 Juniper Networks, Inc. Automatic software update on network devices
US8560908B2 (en) * 2008-11-06 2013-10-15 Qualcomm Incorporated Methods and systems for ARQ feedback message improvement
US8140687B2 (en) * 2008-11-13 2012-03-20 Hughes Network Systems, Llc Performance enhancing proxy handover
US8289182B2 (en) 2008-11-21 2012-10-16 Trilliant Networks, Inc. Methods and systems for virtual energy management display
US8891338B2 (en) 2009-01-29 2014-11-18 Itron, Inc. Measuring the accuracy of an endpoint clock from a remote device
EP2406778A4 (en) 2009-03-11 2014-06-25 Trilliant Networks Inc Process, device and system for mapping transformers to meters and locating non-technical line losses
US8374091B2 (en) * 2009-03-26 2013-02-12 Empire Technology Development Llc TCP extension and variants for handling heterogeneous applications
US8325601B2 (en) * 2009-05-08 2012-12-04 Canon Kabushiki Kaisha Reliable network streaming of a single data stream over multiple physical interfaces
US8880716B2 (en) * 2009-05-08 2014-11-04 Canon Kabushiki Kaisha Network streaming of a single data stream simultaneously over multiple physical interfaces
US8396960B2 (en) * 2009-05-08 2013-03-12 Canon Kabushiki Kaisha Efficient network utilization using multiple physical interfaces
WO2010151496A1 (en) * 2009-06-22 2010-12-29 Citrix Systems, Inc. Systems and methods for platform rate limiting
US8781462B2 (en) 2009-09-28 2014-07-15 Itron, Inc. Methodology and apparatus for validating network coverage
US8780823B1 (en) 2009-10-08 2014-07-15 Viasat, Inc. Event driven grant allocation
US20110134930A1 (en) * 2009-12-09 2011-06-09 Mclaren Moray Packet-based networking system
US8745209B2 (en) * 2009-12-18 2014-06-03 Google Inc. Matching encoder output to network bandwidth
US9137166B2 (en) * 2010-01-28 2015-09-15 Brocade Communications Systems, Inc. In-order traffic aggregation with reduced buffer usage
US8356109B2 (en) 2010-05-13 2013-01-15 Canon Kabushiki Kaisha Network streaming of a video stream over multiple communication channels
US9294506B2 (en) * 2010-05-17 2016-03-22 Certes Networks, Inc. Method and apparatus for security encapsulating IP datagrams
WO2012027634A1 (en) 2010-08-27 2012-03-01 Trilliant Networkd, Inc. System and method for interference free operation of co-located tranceivers
CA2813534A1 (en) 2010-09-13 2012-03-22 Trilliant Networks, Inc. Process for detecting energy theft
US8832428B2 (en) 2010-11-15 2014-09-09 Trilliant Holdings Inc. System and method for securely communicating across multiple networks using a single radio
US20120131245A1 (en) * 2010-11-19 2012-05-24 Silicon Image, Inc. Transfer of control bus signaling on packet-switched network
US8364641B2 (en) * 2010-12-15 2013-01-29 International Business Machines Corporation Method and system for deduplicating data
US20120163167A1 (en) * 2010-12-27 2012-06-28 Symbol Technologies, Inc. Transmission control protocol optimization systems and methods for wireless networks
US9282383B2 (en) 2011-01-14 2016-03-08 Trilliant Incorporated Process, device and system for volt/VAR optimization
US8970394B2 (en) 2011-01-25 2015-03-03 Trilliant Holdings Inc. Aggregated real-time power outages/restoration reporting (RTPOR) in a secure mesh network
EP3288236A1 (en) 2011-02-10 2018-02-28 Trilliant Holdings, Inc. Device and method for facilitating secure communications over a cellular network
US9041349B2 (en) 2011-03-08 2015-05-26 Trilliant Networks, Inc. System and method for managing load distribution across a power grid
US20130128809A1 (en) * 2011-05-19 2013-05-23 Qualcomm Incorporated Apparatus and methods for media access control header compression
US9515925B2 (en) 2011-05-19 2016-12-06 Qualcomm Incorporated Apparatus and methods for media access control header compression
JP5258938B2 (en) * 2011-07-26 2013-08-07 株式会社日立製作所 Communication device
JP5264966B2 (en) * 2011-07-26 2013-08-14 株式会社日立製作所 Communication device
US9001787B1 (en) 2011-09-20 2015-04-07 Trilliant Networks Inc. System and method for implementing handover of a hybrid communications module
CN103188727B (en) 2011-12-30 2016-08-24 财团法人工业技术研究院 Communication system and method to assist tcp packet transmission
CN103200622A (en) * 2012-01-09 2013-07-10 株式会社Ntt都科摩 Communication handling method, device and gateway equipment
US9025475B1 (en) * 2012-01-16 2015-05-05 Amazon Technologies, Inc. Proactively retransmitting data packets in a low latency packet data network
US9742732B2 (en) * 2012-03-12 2017-08-22 Varmour Networks, Inc. Distributed TCP SYN flood protection
US8938804B2 (en) * 2012-07-12 2015-01-20 Telcordia Technologies, Inc. System and method for creating BGP route-based network traffic profiles to detect spoofed traffic
US9236936B2 (en) * 2012-08-31 2016-01-12 Hughes Network Systems, Llc System and method for low-complexity, high-speed preprocessing of encapsulated packets in a broadband communications network
US9258335B1 (en) 2012-09-17 2016-02-09 Amazon Technologies, Inc. Connection-aggregation proxy service
CN103795632B (en) 2012-10-31 2017-02-22 华为技术有限公司 A data packet transmission method and related apparatus, systems
US9413652B2 (en) 2013-02-19 2016-08-09 Dell Products L.P. Systems and methods for path maximum transmission unit discovery
US9887925B2 (en) * 2013-03-04 2018-02-06 Gilat Satellite Networks Ltd. Network performance enhancement
US9549371B2 (en) 2013-03-14 2017-01-17 Qualcomm Incorporated Access point proxy and multi-hop wireless communication
US9282172B2 (en) * 2013-05-10 2016-03-08 Blackberry Limited System and method for relaying data based on a modified reliable transport protocol
US9491261B1 (en) * 2013-07-29 2016-11-08 Amazon Technologies, Inc. Remote messaging protocol
US9565618B1 (en) 2013-10-09 2017-02-07 Satcom Direct, Inc. Air to ground management of multiple communication paths
US9553658B1 (en) 2013-10-09 2017-01-24 Satcom Direct, Inc. Router for aircraft communications with simultaneous satellite connections
US9577742B1 (en) * 2013-10-10 2017-02-21 Satcom Direct, Inc. Data compression and acceleration for air to ground communications
JP2015095680A (en) * 2013-11-08 2015-05-18 株式会社日立製作所 Communication device and communication system
US9635114B2 (en) * 2014-01-24 2017-04-25 Netapp, Inc. Externally initiated application session endpoint migration
US9009332B1 (en) 2014-07-18 2015-04-14 Kaspersky Lab Zao Protection against network-based malicious activity utilizing transparent proxy services
US9554275B1 (en) 2014-10-19 2017-01-24 Satcom Direct, Inc. Voice and SMS communication from a mobile device over IP network and satellite or other communication network
WO2016100890A1 (en) * 2014-12-19 2016-06-23 Nokia Solutions And Networks Oy Smooth bandwidth-delay product variation inside wireless networks
US9503362B2 (en) * 2015-01-07 2016-11-22 Vmware, Inc. Reverse path maximum transmission unit (PMTU) discovery
US9525697B2 (en) 2015-04-02 2016-12-20 Varmour Networks, Inc. Delivering security functions to distributed networks
US9491282B1 (en) * 2015-05-13 2016-11-08 Cisco Technology, Inc. End-to-end call tracing
US9819602B2 (en) * 2015-07-27 2017-11-14 Qualcomm Incorporated Efficient datagram segmentation and reassembly for packet-switched networks
US20170041066A1 (en) * 2015-08-06 2017-02-09 Space Systems/Loral, Llc Reverse wireless broadband system
US9483317B1 (en) 2015-08-17 2016-11-01 Varmour Networks, Inc. Using multiple central processing unit cores for packet forwarding in virtualized networks
WO2017053964A1 (en) 2015-09-25 2017-03-30 Fsa Technologies, Inc. Data flow prioritization system and method

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6273622B1 (en) * 1997-04-15 2001-08-14 Flash Networks, Ltd. Data communication protocol for maximizing the performance of IP communication links
US6327626B1 (en) * 1998-09-15 2001-12-04 Alteon Networks, Inc. Method and apparatus for MSS spoofing
US6341129B1 (en) * 1998-04-03 2002-01-22 Alteon Networks, Inc. TCP resegmentation
US20020071436A1 (en) * 2000-07-21 2002-06-13 John Border Method and system for providing connection handling
US6496505B2 (en) * 1998-12-11 2002-12-17 Lucent Technologies Inc. Packet tunneling optimization to wireless devices accessing packet-based wired networks
US6526056B1 (en) * 1997-12-23 2003-02-25 Cisco Technology, Inc. Virtual private network employing tag-implemented egress-channel selection
US6529516B1 (en) * 1996-06-20 2003-03-04 Fourelle Systems, Inc. Gateway architecture for data communication over bandwidth-constrained and charge-by-use networks
US20030079022A1 (en) * 2001-10-23 2003-04-24 Mentat Inc. Multicast delivery systems and methods
US20030112772A1 (en) * 2000-02-15 2003-06-19 Spacenet, Inc. System and method for acceleration of a secure transmission over satellite
US6654344B1 (en) * 1999-02-02 2003-11-25 Mentat Inc. Method and system for controlling data flow in an internet over satellite connection
US6741555B1 (en) * 2000-06-14 2004-05-25 Nokia Internet Communictions Inc. Enhancement of explicit congestion notification (ECN) for wireless network applications
US6763005B1 (en) * 1999-10-01 2004-07-13 Nortel Networks Limited Satellite traffic routing
US20050027859A1 (en) * 2000-01-18 2005-02-03 Lorenzo Alvisi Method, apparatus and system for maintaining connections between computers using connection-oriented protocols

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69739398D1 (en) * 1996-03-15 2009-06-25 Juniper Networks Inc Design of a closed control loop for operating ABR
US6415329B1 (en) * 1998-03-06 2002-07-02 Massachusetts Institute Of Technology Method and apparatus for improving efficiency of TCP/IP protocol over high delay-bandwidth network
US6594701B1 (en) * 1998-08-04 2003-07-15 Microsoft Corporation Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data
US6215769B1 (en) * 1998-10-07 2001-04-10 Nokia Telecommunications, Inc. Enhanced acknowledgment pacing device and method for TCP connections
US6460085B1 (en) * 1999-02-02 2002-10-01 Mentat Inc. Method and system for managing memory in an internet over satellite connection
US6584083B1 (en) * 1999-02-02 2003-06-24 Mentat Inc. Internet over satellite method
US6529477B1 (en) * 1999-02-02 2003-03-04 Mentat Inc. Internet over satellite system
US6438108B1 (en) * 1999-03-11 2002-08-20 Telefonaktiebolaget L M Ericsson (Publ) System for improved transmission of acknowledgements within a packet data network
US6553032B1 (en) * 1999-09-01 2003-04-22 Tantivy Communications, Inc. Packeting timeout spoofing in a wireless data communications network
EP1240753A1 (en) * 1999-12-13 2002-09-18 Nokia Corporation Congestion control method for a packet-switched network
US7082467B2 (en) * 2000-02-10 2006-07-25 Hughes Network Systems Method and device for selective transport level spoofing based on information in transport level packet
US8359405B1 (en) * 2000-02-28 2013-01-22 John Border Performance enhancing proxy and method for enhancing performance
US20030069926A1 (en) * 2001-10-09 2003-04-10 Weaver Jeffrey Charles System and method for managing an exchange between a gateway server and a client-side module

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529516B1 (en) * 1996-06-20 2003-03-04 Fourelle Systems, Inc. Gateway architecture for data communication over bandwidth-constrained and charge-by-use networks
US6273622B1 (en) * 1997-04-15 2001-08-14 Flash Networks, Ltd. Data communication protocol for maximizing the performance of IP communication links
US6526056B1 (en) * 1997-12-23 2003-02-25 Cisco Technology, Inc. Virtual private network employing tag-implemented egress-channel selection
US6341129B1 (en) * 1998-04-03 2002-01-22 Alteon Networks, Inc. TCP resegmentation
US6327626B1 (en) * 1998-09-15 2001-12-04 Alteon Networks, Inc. Method and apparatus for MSS spoofing
US6496505B2 (en) * 1998-12-11 2002-12-17 Lucent Technologies Inc. Packet tunneling optimization to wireless devices accessing packet-based wired networks
US6654344B1 (en) * 1999-02-02 2003-11-25 Mentat Inc. Method and system for controlling data flow in an internet over satellite connection
US6763005B1 (en) * 1999-10-01 2004-07-13 Nortel Networks Limited Satellite traffic routing
US20050027859A1 (en) * 2000-01-18 2005-02-03 Lorenzo Alvisi Method, apparatus and system for maintaining connections between computers using connection-oriented protocols
US20030112772A1 (en) * 2000-02-15 2003-06-19 Spacenet, Inc. System and method for acceleration of a secure transmission over satellite
US6741555B1 (en) * 2000-06-14 2004-05-25 Nokia Internet Communictions Inc. Enhancement of explicit congestion notification (ECN) for wireless network applications
US20020071436A1 (en) * 2000-07-21 2002-06-13 John Border Method and system for providing connection handling
US20030079022A1 (en) * 2001-10-23 2003-04-24 Mentat Inc. Multicast delivery systems and methods

Cited By (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7542471B2 (en) * 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
US8553699B2 (en) 2002-10-30 2013-10-08 Citrix Systems, Inc. Wavefront detection and disambiguation of acknowledgements
US9008100B2 (en) 2002-10-30 2015-04-14 Citrix Systems, Inc. Wavefront detection and disambiguation of acknowledgments
US7969876B2 (en) 2002-10-30 2011-06-28 Citrix Systems, Inc. Method of determining path maximum transmission unit
US8411560B2 (en) 2002-10-30 2013-04-02 Citrix Systems, Inc. TCP selection acknowledgements for communicating delivered and missing data packets
US8259729B2 (en) 2002-10-30 2012-09-04 Citrix Systems, Inc. Wavefront detection and disambiguation of acknowledgements
US9496991B2 (en) 2002-10-30 2016-11-15 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US20050005024A1 (en) * 2002-10-30 2005-01-06 Allen Samuels Method of determining path maximum transmission unit
US7760729B2 (en) 2003-05-28 2010-07-20 Citrix Systems, Inc. Policy based network address translation
US20100251335A1 (en) * 2003-05-28 2010-09-30 Pyda Srisuresh Policy based network address translation
US8194673B2 (en) 2003-05-28 2012-06-05 Citrix Systems, Inc. Policy based network address translation
US8233392B2 (en) 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US8310928B2 (en) 2003-07-29 2012-11-13 Samuels Allen R Flow control system architecture
US8238241B2 (en) * 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US7630305B2 (en) * 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US7698453B2 (en) 2003-07-29 2010-04-13 Oribital Data Corporation Early generation of acknowledgements for flow control
US8462630B2 (en) 2003-07-29 2013-06-11 Citrix Systems, Inc. Early generation of acknowledgements for flow control
US9071543B2 (en) 2003-07-29 2015-06-30 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US20050063303A1 (en) * 2003-07-29 2005-03-24 Samuels Allen R. TCP selective acknowledgements for communicating delivered and missed data packets
US20050058131A1 (en) * 2003-07-29 2005-03-17 Samuels Allen R. Wavefront detection and disambiguation of acknowledgments
US8824490B2 (en) 2003-07-29 2014-09-02 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US7616638B2 (en) * 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
EP1690391A4 (en) * 2003-11-05 2010-01-06 Juniper Networks Inc Transparent optimization for transmission control protocol initial session establishment
WO2005045639A2 (en) 2003-11-05 2005-05-19 Juniper Networks, Inc. Transparent optimization for transmission control protocol initial session establishment
EP1690391A2 (en) * 2003-11-05 2006-08-16 Juniper Networks, Inc. Transparent optimization for transmission control protocol initial session establishment
US8559449B2 (en) 2003-11-11 2013-10-15 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US20050122977A1 (en) * 2003-12-05 2005-06-09 Microsoft Corporation Efficient download mechanism for devices with limited local storage
US20050185664A1 (en) * 2004-02-25 2005-08-25 Nokia Corporation Method and apparatus providing a protocol to enable a wireless TCP session using a split TCP connection
US7616644B2 (en) 2004-02-25 2009-11-10 Nokia Corporation Method and apparatus providing a protocol to enable a wireless TCP session using a split TCP connection
WO2005083974A1 (en) * 2004-02-25 2005-09-09 Nokia Corporation Method and apparatus providing a protocol to enable a wireless tcp session using a split tcp connection
US20060031571A1 (en) * 2004-04-29 2006-02-09 International Business Machines Corporation Data communications through a split connection proxy
US8261057B2 (en) 2004-06-30 2012-09-04 Citrix Systems, Inc. System and method for establishing a virtual private network
US8726006B2 (en) 2004-06-30 2014-05-13 Citrix Systems, Inc. System and method for establishing a virtual private network
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8291119B2 (en) 2004-07-23 2012-10-16 Citrix Systems, Inc. Method and systems for securing remote access to private networks
US20060029062A1 (en) * 2004-07-23 2006-02-09 Citrix Systems, Inc. Methods and systems for securing access to private networks using encryption and authentication technology built in to peripheral devices
US8014421B2 (en) 2004-07-23 2011-09-06 Citrix Systems, Inc. Systems and methods for adjusting the maximum transmission unit by an intermediary device
US8046830B2 (en) 2004-07-23 2011-10-25 Citrix Systems, Inc. Systems and methods for network disruption shielding techniques
US8351333B2 (en) 2004-07-23 2013-01-08 Citrix Systems, Inc. Systems and methods for communicating a lossy protocol via a lossless protocol using false acknowledgements
US8634420B2 (en) 2004-07-23 2014-01-21 Citrix Systems, Inc. Systems and methods for communicating a lossy protocol via a lossless protocol
US8897299B2 (en) 2004-07-23 2014-11-25 Citrix Systems, Inc. Method and systems for routing packets from a gateway to an endpoint
US8363650B2 (en) 2004-07-23 2013-01-29 Citrix Systems, Inc. Method and systems for routing packets from a gateway to an endpoint
US8019868B2 (en) 2004-07-23 2011-09-13 Citrix Systems, Inc. Method and systems for routing packets from an endpoint to a gateway
US9219579B2 (en) 2004-07-23 2015-12-22 Citrix Systems, Inc. Systems and methods for client-side application-aware prioritization of network communications
US8914522B2 (en) 2004-07-23 2014-12-16 Citrix Systems, Inc. Systems and methods for facilitating a peer to peer route via a gateway
US7978714B2 (en) 2004-07-23 2011-07-12 Citrix Systems, Inc. Methods and systems for securing access to private networks using encryption and authentication technology built in to peripheral devices
US8892778B2 (en) 2004-07-23 2014-11-18 Citrix Systems, Inc. Method and systems for securing remote access to private networks
US20060039684A1 (en) * 2004-08-23 2006-02-23 Lu-Kang Mao Player and method for processing a file with vector-based format
US8286230B2 (en) 2004-09-30 2012-10-09 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US20060069668A1 (en) * 2004-09-30 2006-03-30 Citrix Systems, Inc. Method and apparatus for assigning access control levels in providing access to networked content files
US7870294B2 (en) 2004-09-30 2011-01-11 Citrix Systems, Inc. Method and apparatus for providing policy-based document control
US7865603B2 (en) 2004-09-30 2011-01-04 Citrix Systems, Inc. Method and apparatus for assigning access control levels in providing access to networked content files
US8065423B2 (en) 2004-09-30 2011-11-22 Citrix Systems, Inc. Method and system for assigning access control levels in providing access to networked content files
US20060074837A1 (en) * 2004-09-30 2006-04-06 Citrix Systems, Inc. A method and apparatus for reducing disclosure of proprietary data in a networked environment
US9401906B2 (en) 2004-09-30 2016-07-26 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US7748032B2 (en) 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US7711835B2 (en) 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US20060075463A1 (en) * 2004-09-30 2006-04-06 Citrix Systems, Inc. Method and apparatus for providing policy-based document control
US8613048B2 (en) 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US9311502B2 (en) 2004-09-30 2016-04-12 Citrix Systems, Inc. Method and system for assigning access control levels in providing access to networked content files
US8352606B2 (en) 2004-09-30 2013-01-08 Citrix Systems, Inc. Method and system for assigning access control levels in providing access to networked content files
US8856777B2 (en) 2004-12-30 2014-10-07 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8848710B2 (en) 2005-01-24 2014-09-30 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US8788581B2 (en) 2005-01-24 2014-07-22 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8312261B2 (en) 2005-01-28 2012-11-13 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US8024568B2 (en) 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US20060184664A1 (en) * 2005-02-16 2006-08-17 Samsung Electronics Co., Ltd. Method for preventing unnecessary retransmission due to delayed transmission in wireless network and communication device using the same
US7965698B2 (en) * 2005-02-16 2011-06-21 Samsung Electronics Co., Ltd. Method for preventing unnecessary retransmission due to delayed transmission in wireless network and communication device using the same
US20060239298A1 (en) * 2005-04-22 2006-10-26 Cisco Technology Inc. Techniques for encapsulating point to point protocol (PPP) over Ethernet frames
US7525972B2 (en) 2005-04-22 2009-04-28 Cisco Technology, Inc. Techniques for encapsulating point to point protocol (PPP) over Ethernet frames
US8204080B2 (en) 2005-04-22 2012-06-19 Cisco Technology, Inc. Techniques for encapsulating point to point (PPP) over Ethernet frames
WO2006115881A3 (en) * 2005-04-22 2007-10-11 Cisco Tech Inc Techniques for encapsulating point to point protocol (ppp) over ethernet frames
US9363248B1 (en) 2005-08-12 2016-06-07 Silver Peak Systems, Inc. Data encryption in a network memory architecture for providing data based on local accessibility
US9549048B1 (en) 2005-09-29 2017-01-17 Silver Peak Systems, Inc. Transferring compressed packet data over a network
US9712463B1 (en) 2005-09-29 2017-07-18 Silver Peak Systems, Inc. Workload optimization in a wide area network utilizing virtual switches
US9363309B2 (en) 2005-09-29 2016-06-07 Silver Peak Systems, Inc. Systems and methods for compressing packet data by predicting subsequent data
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US8499057B2 (en) 2005-12-30 2013-07-30 Citrix Systems, Inc System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US8886822B2 (en) 2006-04-12 2014-11-11 Citrix Systems, Inc. Systems and methods for accelerating delivery of a computing environment to a remote user
US8151323B2 (en) 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US20070245409A1 (en) * 2006-04-12 2007-10-18 James Harris Systems and Methods for Providing Levels of Access and Action Control Via an SSL VPN Appliance
US20070248090A1 (en) * 2006-04-25 2007-10-25 Haseeb Budhani Virtual inline configuration for a network device
US8004973B2 (en) 2006-04-25 2011-08-23 Citrix Systems, Inc. Virtual inline configuration for a network device
US9100449B2 (en) 2006-04-25 2015-08-04 Citrix Systems, Inc. Virtual inline configuration for a network device
US9584403B2 (en) 2006-08-02 2017-02-28 Silver Peak Systems, Inc. Communications scheduler
US9438538B2 (en) 2006-08-02 2016-09-06 Silver Peak Systems, Inc. Data matching using flow based packet data storage
US20080034416A1 (en) * 2006-08-03 2008-02-07 Arkesh Kumar Methods and systems for routing packets in a vpn-client-to-vpn-client connection via an ssl/vpn network appliance
US8621105B2 (en) 2006-08-03 2013-12-31 Citrix Systems, Inc. Systems and methods for routing VPN traffic around network distribution
US8677007B2 (en) 2006-08-03 2014-03-18 Citrix Systems, Inc. Systems and methods for bypassing an appliance
US20080034110A1 (en) * 2006-08-03 2008-02-07 Citrix Systems, Inc. Systems and methods for routing vpn traffic around network disruption
US20110222535A1 (en) * 2006-08-03 2011-09-15 Josephine Suganthi Systems and Methods for Routing VPN Traffic Around Network Distribution
US7953889B2 (en) 2006-08-03 2011-05-31 Citrix Systems, Inc. Systems and methods for routing VPN traffic around network disruption
US8572721B2 (en) 2006-08-03 2013-10-29 Citrix Systems, Inc. Methods and systems for routing packets in a VPN-client-to-VPN-client connection via an SSL/VPN network appliance
US20080031265A1 (en) * 2006-08-03 2008-02-07 Amarnath Mullick Systems and methods for using a client agent to manage icmp traffic in a virtual private network environment
US9246878B2 (en) 2006-08-03 2016-01-26 Citrix Systems, Inc. Methods and systems for routing packets in a VPN-client-to-VPN-client connection via an SSL/VPN network appliance
US7907621B2 (en) 2006-08-03 2011-03-15 Citrix Systems, Inc. Systems and methods for using a client agent to manage ICMP traffic in a virtual private network environment
US20080034072A1 (en) * 2006-08-03 2008-02-07 Citrix Systems, Inc. Systems and methods for bypassing unavailable appliance
US20080043760A1 (en) * 2006-08-21 2008-02-21 Citrix Systems, Inc. Systems and Methods of Providing Server Initiated Connections on a Virtual Private Network
US7769869B2 (en) 2006-08-21 2010-08-03 Citrix Systems, Inc. Systems and methods of providing server initiated connections on a virtual private network
US20100281162A1 (en) * 2006-08-21 2010-11-04 Charu Venkatraman Systems and methods of providing server initiated connections on a virtual private network
US8271661B2 (en) 2006-08-21 2012-09-18 Citrix Systems, Inc. Systems and methods of providing server initiated connections on a virtual private network
US8533846B2 (en) 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
US9401931B2 (en) 2006-11-08 2016-07-26 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
WO2008070660A3 (en) * 2006-12-04 2008-08-28 D & S Consultants Inc Integrated quality of service and resource management in a network edge device
WO2008070660A2 (en) * 2006-12-04 2008-06-12 D & S Consultants, Inc. Integrated quality of service and resource management in a network edge device
US20080141344A1 (en) * 2006-12-08 2008-06-12 Samsung Electronics Co., Ltd. Pana authentication method and system
US8132007B2 (en) * 2006-12-08 2012-03-06 Samsung Electronics Co., Ltd. PANA authentication method and system
US20080212609A1 (en) * 2007-03-02 2008-09-04 Hitachi Communication Technologies, Ltd. ICMP translator
US8477804B2 (en) * 2007-03-02 2013-07-02 Hitachi, Ltd. ICMP translator
US9253277B2 (en) 2007-07-05 2016-02-02 Silver Peak Systems, Inc. Pre-fetching stored data from a memory
US20090067440A1 (en) * 2007-09-07 2009-03-12 Chadda Sanjay Systems and Methods for Bridging a WAN Accelerator with a Security Gateway
US8908700B2 (en) 2007-09-07 2014-12-09 Citrix Systems, Inc. Systems and methods for bridging a WAN accelerator with a security gateway
US9613071B1 (en) 2007-11-30 2017-04-04 Silver Peak Systems, Inc. Deferred data storage
US9397951B1 (en) 2008-07-03 2016-07-19 Silver Peak Systems, Inc. Quality of service using multiple flows
US9717021B2 (en) 2008-07-03 2017-07-25 Silver Peak Systems, Inc. Virtual network overlay
US20110040882A1 (en) * 2009-08-13 2011-02-17 Verizon Patent And Licensing, Inc. Dynamic handler for sip max-size error
US8589570B2 (en) * 2009-08-13 2013-11-19 Verizon Patent And Licensing Inc. Dynamic handler for SIP max-size error
US20120290727A1 (en) * 2009-12-31 2012-11-15 Bce Inc. Method and system for increasing performance of transmission control protocol sessions in data networks
US20120151087A1 (en) * 2010-12-14 2012-06-14 Nuvel, Inc. System and method for providing a network proxy data tunnel
CN102739569A (en) * 2011-04-01 2012-10-17 中国科学院空间科学与应用研究中心 Gateway used in satellite communication and method for enhancing TCP performance
US9736876B1 (en) 2011-09-28 2017-08-15 Marvell International Ltd. Method and apparatus for establishing links and maintaining consistent link information between stations
US9167614B2 (en) * 2011-09-28 2015-10-20 Marvell International Ltd. Tunneled direct link setup systems and methods with consistent link information maintenance
US20130077611A1 (en) * 2011-09-28 2013-03-28 Furquan Shaikh Tunneled Direct Link Setup Systems And Methods With Consistent Link Information Maintenance
US20130094501A1 (en) * 2011-10-14 2013-04-18 David Anthony Hughes Processing data packets in performance enhancing proxy (pep) environment
US9906630B2 (en) 2011-10-14 2018-02-27 Silver Peak Systems, Inc. Processing data packets in performance enhancing proxy (PEP) environment
US9130991B2 (en) * 2011-10-14 2015-09-08 Silver Peak Systems, Inc. Processing data packets in performance enhancing proxy (PEP) environment
US9626224B2 (en) 2011-11-03 2017-04-18 Silver Peak Systems, Inc. Optimizing available computing resources within a virtual environment
US9264365B2 (en) 2012-07-31 2016-02-16 International Business Machines Corporation Split transport control protocol (TCP) flow control management in a cellular broadband network
US9544791B2 (en) * 2012-12-27 2017-01-10 Furuno Electric Co., Ltd. Satellite communication device and satellite communication system
US20140185460A1 (en) * 2012-12-27 2014-07-03 Furuno Electric Co., Ltd. Satellite communication device and satellite communication system
US9160553B2 (en) 2013-11-27 2015-10-13 Architecture Technology Corporation Adaptive multicast network communications
US9602296B2 (en) 2013-11-27 2017-03-21 Architecture Technology Corporation Adaptive multicast network communications
US9191377B2 (en) * 2013-11-27 2015-11-17 Architecture Technology Corporation Method for network communication past encryption devices
US9887974B2 (en) 2013-11-27 2018-02-06 Architecture Technology Corporation Method for network communication past encryption devices
US9875344B1 (en) 2014-09-05 2018-01-23 Silver Peak Systems, Inc. Dynamic monitoring and authorization of an optimization device
US20160316022A1 (en) * 2015-04-23 2016-10-27 Fujitsu Limited Communication device, communication processing method, and storage medium
CN105491016A (en) * 2015-07-21 2016-04-13 成都理工大学 Method for hiding network TCP port

Also Published As

Publication number Publication date Type
EP1446931A1 (en) 2004-08-18 application
CA2473863A1 (en) 2003-05-22 application
WO2003043289A3 (en) 2004-01-29 application
US6975647B2 (en) 2005-12-13 grant
US20030123481A1 (en) 2003-07-03 application
WO2003043288A1 (en) 2003-05-22 application
WO2003043285A2 (en) 2003-05-22 application
US20030123394A1 (en) 2003-07-03 application
WO2003043285A3 (en) 2004-06-10 application
WO2003043289A2 (en) 2003-05-22 application

Similar Documents

Publication Publication Date Title
Barakat et al. On TCP performance in a heterogeneous network: a survey
Allman et al. Enhancing TCP over satellite channels using standard mechanisms
Stewart et al. SCTP: new transport protocol for TCP/IP
Fairhurst et al. Advice to link designers on link Automatic Repeat reQuest (ARQ)
US7389533B2 (en) Method and system for adaptively applying performance enhancing functions
US6487689B1 (en) Receiver initiated recovery algorithm (RIRA) for the layer 2 tunneling protocol (L2TP)
Montenegro et al. Long thin networks
US7542471B2 (en) Method of determining path maximum transmission unit
US7656799B2 (en) Flow control system architecture
McCann et al. Path MTU Discovery for IP version 6
US7502860B1 (en) Method and apparatus for client-side flow control in a transport protocol
US6118765A (en) System method and computer program product for eliminating unnecessary retransmissions
US7698453B2 (en) Early generation of acknowledgements for flow control
US20020010792A1 (en) Method and system for improving network performance by utilizing path selection, path activation, and profiles
US20030177395A1 (en) Method and system for integrating performance enhancing functions in a virtual private network (VPN)
US20030172264A1 (en) Method and system for providing security in performance enhanced network
US6654344B1 (en) Method and system for controlling data flow in an internet over satellite connection
US6091733A (en) Communication device using communication protocol including transport layer and communication method using communication protocol including transport layer
Ghani et al. TCP/IP enhancements for satellite networks
US20050074007A1 (en) Transaction boundary detection for reduction in timeout penalties
US7369498B1 (en) Congestion control method for a packet-switched network
US6694471B1 (en) System and method for periodic retransmission of messages
US20050063302A1 (en) Automatic detection and window virtualization for flow control
US20040001444A1 (en) Packet fragmentation prevention
US20050063303A1 (en) TCP selective acknowledgements for communicating delivered and missed data packets

Legal Events

Date Code Title Description
AS Assignment

Owner name: EMS TECHNOLOGIES, INC., GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NEALE, JASON;PETHER, ANDREW M.;MOHSEN, ABDUL-KADER;AND OTHERS;REEL/FRAME:013830/0834;SIGNING DATES FROM 20030224 TO 20030303

AS Assignment

Owner name: SUNTRUST BANK, GEORGIA

Free format text: SECURITY INTEREST;ASSIGNOR:EMS TECHNOLOGIES, INC.;REEL/FRAME:015484/0604

Effective date: 20041210

AS Assignment

Owner name: EMS TECHNOLOGIES CANADA, LTD, CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EMS TECHNOLOGIES, INC.;REEL/FRAME:016896/0627

Effective date: 20050726

AS Assignment

Owner name: ADVANTECH SATELLITE NETWORKS INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EMS TECHNOLOGIES CANADA, LTD.;REEL/FRAME:017783/0275

Effective date: 20060309