WO2000046669A1 - Internet par satellite - Google Patents
Internet par satellite Download PDFInfo
- Publication number
- WO2000046669A1 WO2000046669A1 PCT/US2000/002891 US0002891W WO0046669A1 WO 2000046669 A1 WO2000046669 A1 WO 2000046669A1 US 0002891 W US0002891 W US 0002891W WO 0046669 A1 WO0046669 A1 WO 0046669A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- gateway
- connection
- protocol
- satellite
- client
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/18578—Satellite systems for providing broadband data service to individual earth stations
- H04B7/18589—Arrangements for controlling an end to end session, i.e. for initialising, synchronising or terminating an end to end link
Definitions
- the present invention relates to telecommunications devices, systems and techniques. More particularly, the present invention provides devices, systems and methods for managing memory and/or transmitting information using a TCP connection over a satellite system for use in a wide area network of computers such as the Internet.
- the present invention provides a high speed and quality transmission of signals to a distant location over a satellite system using an Xpress Transport Protocol (herein "XTP") protocol, for example.
- XTP Xpress Transport Protocol
- the present invention also provides a controlled memory management in equipment for high speed and quality transmission of signals to a distant location over a satellite system using an XTP protocol, for example.
- the Internet is an international "super-network" connecting together millions of individual computer networks and computers.
- the Internet is generally not a single entity. It is an extremely diffuse and complex system over which no single entity has complete authority or control.
- the Internet is widely known for one of its ways of presenting information through the World Wide Web (herein "Web"), there are many other services currently available based upon the general Internet protocols and infrastructure.
- the Web is generally easy to use for people inexperienced with computers.
- Information on the Web can be presented on "pages" of graphics and text that contain "links" to other pages either within the same set of data files (i.e., Web site) or within data files located on other computer networks. Users often access information on the Web using a "browser” program such as one made by Netscape Communications Corporation of Mountain Niew, California or Microsoft Corporation of Redmond, Washington.
- Web sites process information from Web sites and display the information using graphics, text, sound, and animation. Accordingly, the Web has become a popular medium for advertising goods and services directly to consumers.
- the Internet supports many other forms of communication.
- the Internet allows one-to-one communication via electronic mail, which is commonly known as "e-mail.”
- the Internet also has "bulletin boards” which are used by users to post colorful text and graphics for others to read and respond to.
- the Internet has "chat rooms” and the like, which allow users to communicate to each other by way of typed messages.
- the Internet can also be used for voice communication between users. All of these forms of communication are possible, at least in part, by way of an important connection, which allows information to be transmitted from many different servers on the Internet.
- the internet is based on the TCP/IP protocol suite. At the network layer, and Internet Protocol, which is known as LP, provides a mechanism to deliver packets addressed to individual computers.
- the Internet has a plurality of computer systems implementing IP, which are generally interconnected to each other using local area networks and dedicated transmission lines to form a wide area network of computers.
- LP packets are delivered on a best effort basis and are not guaranteed to arrive at their intended destination, which is known as "unreliable" service.
- TCP Transmission Control Protocol
- TCP has a variety of desirable characteristics that allows it to be suitable for communication over the Internet. For example, TCP considers the data size or best sized segment of data to send from a transmitting server over the communication medium to a receiving server. Additionally, TCP maintains a timer, which waits for the receiving server to send an acknowledgement of the reception of the data segment from the transmitting server. If the timer times out before the acknowledgement is received, TCP resends the data segment, which provides reliability in the communication. TCP also maintains a checksum on its header and data, which monitors any modification in the data in transit.
- TCP discards the data and does not acknowledge receiving the data. If data segments arrive out of order, TCP can also recombine the segments in order at the receiving server. Furthermore, TCP provides flow control, which only allows a finite amount of data to be sent to a buffer on the receiving server. This prevents a fast server computer from overflowing all the buffers on a slower server computer.
- TCP has been well suited for transmitting Internet data between a plurality of servers, which are coupled to each other by way of conventional telephone systems and lines with similar characteristics
- TCP has many limitations.
- TCP is suitable for "short hops" but often slows down communication over extremely long distances which can have significant latency (e.g., transcontinental hops via satellite).
- the flow control and acknowledgment features take too long to send and receive, which make communication slow.
- opportunities for gains in efficiency still exist.
- TCP has been found to be slow and cumbersome for transmission of Internet data over a satellite network, for example.
- high speed transmission of Internet data over a satellite network for example, to a relatively slower recipient, such as modem, and the like, can cause congestion.
- the present invention provides apparatus, systems and methods for converting information using a TCP connection to an Xpress Transport Protocol (herein "XTP") connection, for example, which is more suitable for transmission over a wireless network system such as a satellite system.
- XTP Xpress Transport Protocol
- the present invention provides methods and systems for controlling the buffering of information and/or the rate that information flows over a TCP connection to an Xpress Transport Protocol (herein "XTP") connection, for example.
- XTP Xpress Transport Protocol
- the present invention provides a communication apparatus for transmitting information over a satellite link.
- the apparatus includes a TCP interface coupled to a satellite gateway interface for providing a bi-directional flow of information, which has data and a header, using a TCP connection.
- the bi-directional flow of information can be from the Internet or internet-like network of computers or any network using TCP/IP protocols.
- the apparatus also includes a processor for converting the information, using the TCP connection, into a satellite protocol for transmission over a satellite link.
- the satellite protocol has suitable characteristics for transmission of such information over a satellite link.
- the protocol can include, among others, XTP, XTP-like protocols, and the like.
- the present invention provides a communication apparatus for establishing a plurality of connections for transmission of information using a TCP connection over a satellite link.
- the apparatus includes a TCP interface for forming a first communication connection between a first client (e.g., user computer) to a first satellite gateway.
- the apparatus also includes a satellite gateway interface for forming a second communication connection between the first satellite gateway to a second satellite gateway that is over a satellite link.
- Information describing characteristics (e.g., source and destination IP addresses and port numbers) of the first connection is transmitted to the second satellite gateway.
- a third communication connection is formed between the second satellite gateway and the destination server. A combination of these connections forms a transparent connection from the original first client to the destination server.
- the present invention provides a communication system for transmitting information over a satellite link.
- the system includes a first gateway having code for providing a bi-directional flow of information, which has data and a header, the first gateway being coupled to a TCP connection.
- the bi-directional flow of information can be from the Internet or internet-like network of computers or any network using TCP/IP protocols.
- the system also includes code for converting the information from the TCP protocol into a satellite protocol for transmission over a satellite link
- the system also includes a second gateway for receiving the information from the first gateway over a satellite link.
- the second gateway can include code for converting the information from a satellite protocol, that has suitable characteristics for transmission over a satellite link, to a TCP protocol.
- the satellite protocol can include, among others, XTP, XTP-like protocols, and the like.
- the present invention provides a communication system capable of establishing a plurality of connections for transmission of information using a TCP connection over a satellite link.
- the system includes code for intercepting a first communication connection between a first client (e.g., user computer) to a first satellite gateway.
- the system also includes code for forming a second communication connection between the first satellite gateway to a second satellite gateway that is over a satellite link.
- Information describing characteristics (e.g., source and destination LP addresses and port numbers) of the first connection is transmitted to the second satellite gateway.
- a third communication connection is formed between the second satellite gateway and the destination server. A combination of these connections forms a transparent connection from the original first client to the destination server.
- the present invention provides a communication method for transmitting information over a satellite link.
- the method includes providing a bi-directional flow of information, which has data and a header, using a TCP connection.
- the bi-directional flow of information can be from the Internet or internet-like network of computers or any network using TCP/IP protocols.
- the method also includes converting the information, using the TCP connection, into a satellite protocol for transmission over a satellite link
- the satellite protocol has suitable characteristics for transmission of such information over a satellite link.
- the protocol can include, among others, XTP, XTP-like protocols, and the like.
- the present invention provides a communication method for establishing a plurality of connections for transmission of information using a TCP connection over a satellite link.
- the method includes intercepting a first communication connection between a first client (e.g., user computer) to a first satellite gateway.
- the method also includes forming a second communication connection between the first satellite gateway to a second satellite gateway that is over a satellite link.
- Information describing characteristics (e.g., source and destination LP addresses and port numbers) of the first connection is transmitted to the second satellite gateway.
- a third communication connection is formed between the second satellite gateway and the destination server. A combination of these connections forms a transparent connection from the original first client to the destination server.
- the present invention provides a method for managing memory for buffering information communicated over an internet connection established across a satellite link.
- the method can be operable on a large variety of systems, such as a system comprising one or more clients, one or more servers, a first gateway connected to at least one client, a second gateway connected to at least one server, and a wireless telecommunications link between these gateways.
- the method includes intercepting a connection attempt with a server initiated by a client.
- the client will attempt a connection that will have a first characteristic data rate.
- a connection can be established between a first gateway and a second gateway over the telecommunications link, that can be a satellite link or the like. This connection will have a second characteristic data rate.
- the first gateway can include a buffer for storing information received over the telecommunications link from the second gateway and a buffer for storing information to be sent to the client.
- the method can perform a step of determining a state in the receive buffer. The state can indicate whether the characteristic data rate in the telecommunications link is substantially greater than the characteristic data rate for the client.
- a step of setting a receive window size for the client at the first gateway to reduce an amount of data received over the telecommunications link for the client can also be part of the method. The combination of these steps can provide a method for managing memory for buffering information coming from the telecommunications link in the first gateway.
- a system for controlling the flow of information over a satellite is provided.
- the system can include at least one client, selected from a plurality of potential clients and at least one server, selected from a plurality of potential servers.
- the system can also include a first gateway, connected to the client by a first telecommunications link, and a second gateway, connected to the server by a second telecommunications link.
- a third telecommunications link connecting the first gateway to the second gateway can also be part of the system.
- the system is operative to intercept a connection attempt with the server initiated by the client at a first characteristic data rate.
- the system can then establish a connection between the first gateway and the second gateway over the third telecommunications link. This connection will have a second characteristic data rate.
- the first buffer stores information received over the third telecommunications link and the second buffer stores information to be sent to the client.
- the system can determine a state in the first buffer.
- the state indicates that the second characteristic data rate in the third telecommunications link is greater than the first characteristic data rate for the client.
- the system can also set a receive window size for the client at the first gateway to reduce an amount of data received over the third telecommunications link for the client.
- a computer program product for controlling the flow of information over a wireless data link.
- the data link can comprise one or more connections.
- the computer program product comprises a computer readable storage medium for holding a plurality of code.
- Code for intercepting a connection attempt with a server initiated by a client at a first characteristic data rate is included in the program product. Further, code for establishing a connection between a first gateway and a second gateway over a telecommunications link at a second characteristic data rate is also included.
- a first buffer in the first gateway stores information received over the telecommunications link and a second buffer stores information to be sent to the client.
- the product can also include code for determining a state in the first buffer.
- the state indicates a condition where the characteristic data rate of the telecommunications link is substantially greater than that of the client. If this condition is detected, then the product invokes code for setting a receive window size for the client at the first gateway to reduce an amount of data received over the telecommunications link for the client.
- the present invention provides a method for controlling the flow of information over an internet connection established across a satellite link.
- the method can be operable on a large variety of systems, such as a system comprising one or more clients, one or more servers, a first gateway connected to at least one client, a second gateway connected to at least one server, and a wireless telecommunications link between these gateways.
- the method includes intercepting a connection attempt with a server initiated by a client.
- a connection can be established between a first gateway and a second gateway over the telecommunications link, that can be a satellite link or the like.
- the method can include a step of determining a round trip time for data to travel from the client to the server over the connection.
- a data rate for the connection can also be determined.
- a bandwidth delay product can be determined by the method.
- the method can also deteirnine a flow control limit for the connection from the bandwidth delay product.
- a step of limiting data transfer over the connection based upon the flow control limit can be part of the method. The combination of such steps as these can provide a method for controlling the flow of TCP data over networks spanning large geographical regions using a wireless communication media, and the like.
- the present invention can select from among connections, ones that can benefit available system resources by being flow controlled. Some embodiments can screen for flow control those connections that are not initializing, or are transferring data in blocks below a threshold value, or above a threshold value and the like.
- a bandwidth delay product for the connection can be determined by multiplying round trip time and data rate.
- a flow control limit for a connection can be determined by multiplying bandwidth delay product by a scaling factor and dividing by a number of connections for the link.
- a system for controlling the flow of information over a satellite can include at least one client, selected from a plurality of potential clients and at least one server, selected from a plurality of potential servers.
- the system can also include a first gateway, connected to the client by a first telecommunications link, and a second gateway, connected to the server by a second telecommunications link.
- a third telecommunications link connecting the first gateway to the second gateway can also be part of the system.
- the system is operative to determine a round trip time for data to traverse from the client over the first telecommunications link, the second telecommunications link and the third telecommunications link to the server over a connection.
- the system can determine a data rate for the connection.
- the system can determine a bandwidth delay product from the round trip time and the data rate.
- the system can determine a flow control limit for the connection from the bandwidth delay product and limit data transfer over the connection based upon the flow control limit. Limiting data transfer in such a manner can interface relatively fast data transfer on the telecommunications links to a relatively slower data transfer rate in the client, for example.
- a computer program product for controlling the flow of information over a wireless data link.
- the data link can comprise one or more connections.
- the computer program product comprises a computer readable storage medium for holding a plurality of code. Code for determining a round trip time for data to traverse the wireless data link over a connection can be part of the product. Further, the computer program product can include code for determining a data rate for the connection. Code for determining a bandwidth delay product from the round trip time and the data rate can also be included. Code for determining a flow control limit for the connection from the bandwidth delay product and code for limiting data transfer over the connection based upon the flow control limit can also be part of the computer program product.
- the present invention provides rate control to maintain a suitable or predetermined data rate over the satellite device.
- the rate control provides a plurality of queues for buffering incoming data. Incoming data are checked against a predetermined length. Data in excess of the predetermined length are stored in the queues. At predetermined intervals, information is taken from one or more queues and transmitted along the outgoing data path. This processing can enable systems according to the present invention to provide for data rate control across a particular point of interest along the network, such as a satellite link.
- a method of converting a communications system for providing transport of packetized information in a TCP protocol between a client and a server to a system for providing transport of packetized information in a satellite protocol between the client and the server includes a step of installing a first gateway operatively disposed to intercept connections from the client to the server. The first gateway is further able to convert the packetized information from TCP protocol to satellite protocol. A step of installing a second gateway capable of establishing a connection with the server and further operatively disposed to convert packetized information from satellite protocol to TCP protocol is also included in the method. The first gateway and the second gateway are able to establish a connection over a common telecommunications link.
- the combination of these elements can provide a method for converting a system for TCP telecommunications to satellite protocol communications. Numerous benefits are achieved by way of the present invention over conventional techniques. In a specific embodiment, the present invention provides a higher throughput than conventional systems. Additionally, the present invention provides for a way to transparently improve TCP performance over a satellite network. In other embodiments, the present invention provides for a novel protocol which is suitable for long latency, high loss, asymmetric bandwidth conditions, which are typical of satellite communications.
- the techniques according to the present invention can quickly resize the receive window to achieve a match between the data rate of a sender and the data rate of a receiver of a TCP connection over a satellite link.
- the techniques of the present invention can be applied to each satellite connection separately, so that one slow receiver will not degrade performance of other connections over the same link.
- the present invention provides for a management of buffer memory in a novel protocol which is suitable for long latency, high loss, asymmetric bandwidth conditions, which are typical of satellite communications.
- the present invention provides a more even distribution of network resources than conventional systems. Many embodiments according to the present invention provide for sharing a network satellite link between connections.
- the present invention provides for data flow control in a long latency, high loss, asymmetric bandwidth communications medium, which is typical of satellite communications.
- the present invention also provides for relatively easy implementation into, or interface with, a conventional satellite system. Depending upon the embodiment, one or more of these benefits can be present.
- FIG. 1 is a simplified diagram of a satellite system according to an embodiment of the present invention
- Figs. 2 and 2A are simplified diagrams of system architectures according to embodiments of the present invention
- Figs. 3A-3J are simplified diagrams of process diagrams according to embodiments of the present invention.
- Figs. 4-6 are simplified diagrams of experimental data according to embodiments of the present invention.
- Fig. 7 is a simplified diagram of a gateway interface according to an embodiment of the present invention. DESCRIPTION OF THE SPECIFIC EMBODIMENTS Before discussing the various embodiments, it may assist the reader to more fully understand the limitations of using TCP over a satellite network. Some of these limitations are described more fully below.
- TCP In order to avoid the possibility of congestive network meltdown, TCP generally assumes that all data loss is caused by congestion and responds by reducing the transmission rate. Over satellite links, however, TCP often misinterprets the long round trip time and bit errors as congestion and responds inappropriately. Similarly, the TCP "Slow Start" algorithm, which over the terrestrial infrastructure prevents new connections from flooding an already congested network, over satellites forces an excessively long ramp-up for each new connection. While these congestion avoidance mechanisms are important in routed environments, they are often ill-suited to satellite links.
- the simple, heuristic data acknowledgment scheme used by TCP generally does not adapt well to long latency or highly asymmetric bandwidth conditions.
- the TCP receiver often constantly sends acknowledgments for the data received back the sender.
- the sender generally does not assume any data is lost or corrupted until a multiple of the round trip time has passed without receiving an acknowledgment. If a packet is lost or corrupted, TCP can retransmit all of the data starting from the first missing packet.
- the algorithm may not respond well over satellite networks where the round trip time is long and error rates are high. Further, the constant stream of acknowledgments frequently wastes precious back channel bandwidth. If the back channel bandwidth is small, the return of the acknowledgments to the sender can become the system bottleneck in some cases.
- TCP utilizes a sliding window mechanism to limit the amount of data in flight. When the window becomes substantially full, the sender stops transmitting data until it receives new acknowledgments from the destination server. Over satellite networks, where acknowledgments are slow to return, the TCP window size generally sets a hard limit on the maximum data throughput rate.
- TCP/IP Transmission Control Protocol/IP
- a maximum window size of 64 KB and many common operating systems use a default window size of only 8 KB, imposing a maximum throughput rate over a satellite link of only 128 Kbps per connection, regardless of the bandwidth of the data pipe.
- the present invention provides apparatus, systems and methods for converting information using a TCP connection to an XTP connection, which is more suitable for transmission over a wireless network system such as a satellite system.
- the present invention provides methods and systems for controlling the flow of information and/or memory management for buffering information transmitted over a TCP connection to an XTP connection, which is more suitable for transmission over a wireless network system such as a satellite system. Details of the present invention are described throughout the present specification and more particularly below.
- Fig. 1 is a simplified diagram of a satellite system 100 according to an embodiment of the present invention.
- the system 100 includes a satellite network system, which has satellite(s) 101.
- the satellite 101 receives and transmits information between a plurality of ground stations 107, 108 or satellite dishes.
- Each satellite ground station includes a satellite dish, and a satellite modem 109A, 109B or other form of receiver such as a NSAT indoor unit, which is coupled, directly or indirectly to a satellite gateway 111 A, 11 IB.
- Satellite antenna 108 receives and transmits signals 103 through satellite
- Satellite antenna 108 connects to satellite gateway 11 IB that couples to a wide area network such as the internet 129 or an internet, which is coupled to a server 131.
- the gateway 11 IB also couples through satellite modem 109B.
- the server and the Internet communication occur in a common protocol such as TCP/IP, UDP/IP or the like.
- the satellite gateway will be described in more detail below.
- Satellite antenna 107 receives and transmits signals 105 through satellite 101. Satellite antenna 107 connects to satellite gateway 111A that couples to a local area network such as Ethernet, Token Ring, FDDI, or others 121, which is coupled to computer terminals 123 or clients.
- satellite gateway couples to laptop 117, which is coupled through modem 119.
- the client, the laptop, and the local area network use a common connection format such as TCP/TP, LPX/SPX, or the like.
- the satellite gateway will be described in more detail below.
- satellite gateway 111 A intercepts a TCP connection from a client and converts data 105 to a satellite protocol for transmission over satellite 101.
- the gateway 111 A also couples through satellite modem 109 A, which transmits data to satellite 101.
- the satellite gateway 11 IB on the opposite side of the satellite link translates the data in the satellite protocol back to TCP for communications with the server 131.
- the present invention provides improved performance over conventional techniques. Additionally, techniques of the present invention remain substantially transparent to an end user and is fully compatible with the Internet or an internet infrastructure. In many, if not all aspects, no substantial changes are required to the client or server. In preferred embodiments, applications continue to function without substantial hardware and/or software modifications.
- the present satellite gateway can be one "hub" or central gateway that serves a plurality of remote gateways. Each of the remote gateways is connected to the central gateway to create an individual satellite link. Other common network topologies can also be used. Further, in some embodiments, different telecommunications links can be used to carry forward and backward paths of a connection. For example, a satellite link can be used to carry data on the forward path, while telephone line can be used for the backward path. Other types of telecommunications hardware may be substituted for the example hardware described here without departing from the scope of the present invention.
- the present satellite gateway is generally described as a stand alone unit. It will be recognized, however, that the present gateway can be implemented or integrated into a client machine.
- the present gateway can be implemented on a personal computer using a satellite card, which can be inserted into a WindowsTM 98 machine.
- the present gateway can also be implemented on other operating systems such as Windows NT, MacOS, and Linux. Of course, the exact manner of implementation will depend upon the application.
- the present satellite gateway may be integrated into a standalone satellite modem, NSAT hardware, router or other network devices.
- the present invention includes a novel satellite protocol, which provides improved throughput for satellite networks.
- the present protocol can be designed to respond efficiently to typical satellite latency, bit errors, and asymmetric bandwidth conditions.
- the present protocol also can take advantage of optimizations possible on a point-to-point link with fixed bandwidth.
- satellite protocols such as XTP
- Tim Strayer "A Brief Introduction to the Xpress Transport Protocol” which is incorporated herein by reference in its entirety for all purposes.
- the present protocol utilizes an efficient selective retransmission algorithm for the acknowledgment of data. Because the hop over the satellite is a point- to-point link with no intermediate routing, any gaps in the packet sequence can be assumed to be data loss due to corruption.
- the receiving satellite gateway requests retransmission immediately upon detection of the missing data from the transmitting satellite gateway.
- the present protocol is substantially free from the frequent acknowledgment features of conventional TCP. In some embodiments, the present protocol does not use acknowledgments as the primary means of identifying lost data. In these embodiments, the present protocol needs only infrequent acknowledgments to confirm data arrival and clear buffers. (Conventional TCP sends a constant stream of acknowledgments over the reverse channel.) The present protocol reduces back channel usage by 70% or more, thereby increasing the performance of networks where limited back channel bandwidth is the system bottleneck.
- the present protocol offers adequately large window sizes for transmission of data between the satellite gateways. Because the bandwidth-delay product over the satellite between the satellite gateways is much larger than that from the satellite gateway to the end node, the large present protocol window enables the bandwidth-delay product to window size ratio to remain relatively constant.
- the present gateway becomes a buffer for the network, allowing high throughput independent of the window size of the clients and servers.
- the present protocol generally does not use unnecessary congestion avoidance mechanisms for the hop over the satellite between the satellite gateways.
- the present system continues to use "Slow Start” and all other standard TCP congestion avoidance algorithms for the terrestrial connections between the present gateways and the end nodes.
- the present protocol also uses a streamlined handshake mechanism to reduce the number of round-trip times required for connection set-up.
- the present apparatus, systems and methods can run over IP for compatibility with routed networks. Alternatively, it can run directly over the link layer for substantially improved performance in most instances. Depending upon the embodiment one or more of these features can be available.
- the present invention provides an "Xpress Transport Protocol,” which is commonly known as XTP.
- XTP provides orthogonal protocol functions for separation of implementation from policy, separation of rate and flow control, explicit first-class support for multicast, and data delivery service independence.
- XTP has a variety of suitable characteristics for transmission of data over a satellite link, which are described more fully below.
- the present protocol includes a set of mechanisms whose functionality is orthogonal.
- XTP separates communication mechanism (e.g., data-gram, virtual circuit, transaction, etc) from an error control policy employed (fully reliable through uncorrected).
- flow and rate control as well as error control can be tailored to the communication at hand. If desired, any set of these control procedures can be turned off.
- the present protocol also provides for separation of rate and flow control.
- flow control operates on end-to-end buffer space.
- Rate control is a producer/consumer concept that considers processor speed and congestion.
- TCP does not provide rate control, and combats congestion with slow-start and other heuristics.
- XTP provides mechanisms for shaping rate control and flow control independently.
- the present protocol provides explicit multicast support.
- multicast is not an afterthought in XTP.
- Each mechanism used for uni-cast communications is available for multicast use as well.
- the present protocol also has data delivery service independence.
- XTP is a transport protocol, yet with the advent of switched networks rather than routed networks, a traditional network layer service may not be appropriate in every instance.
- XTP generally requires that the underlying data delivery service provides framing and delivery of packets from one XTP-equipped host to another. This could be raw MAC or IP or AAL5.
- XTP also employs parametric addressing, allowing packets to be addressed with any one of several standard addressing formats.
- Other features of XTP include, among others, implicit fast connection setup for virtual circuit paradigm; key- based addressing lookups; message priority and scheduling; support for encapsulated and convergence protocols; selective retransmission and acknowledgment; and fixed-size 64- bit aligned frame design.
- XTP defines the mechanisms necessary for delivering user data from one end system to one or more other end systems.
- Each XTP implementation maintains the state of each of its communications.
- Well-defined packet structures, containing user data or control information, are exchanged in order to effect the user data transfer.
- the control information is used to provide the requested layer of correctness and to assist in making the transfer efficient. Assurance of correctness is done via error control algorithms and maintenance of a connection state machine. Flow and rate control algorithms, certain protocol modes, and traffic shaping information are used to provide the requested quality of service as efficiently as possible.
- the collection of information comprising the XTP state at an end system is called a context. This information represents one instance of an active communication between two (or more) XTP endpoints.
- a context should be created, or instantiated, before sending or receiving XTP packets.
- Each context manages both an outgoing data stream and an incoming data stream.
- a data stream is an arbitrary length string of sequenced bytes, where each byte is represented by a sequence number. The aggregate of a pair of active contexts and the data streams between them is called an association.
- a context at an end system is initially in a quiescent state.
- a user in need of communication services requests that the context be placed into the listening state.
- the FIRST packet is the initial packet of an association. It contains explicit addressing information. The user should provide all of the necessary information for XTP to match an incoming FIRST packet with the listening context. At another end system a user requests communication service from XTP.
- the active context constructs a FIRST packet, complete with explicit addressing information from the user.
- the FIRST packet is sent via the underlying data delivery service.
- the address is compared against all listening contexts. If a match is found, the listening context moves to the active state. From this point forward an association is established, and communication can be completely symmetric since there are two data streams, one in each direction, in an association. Also, no other packet during the lifetime of the association will carry explicit addressing information. Rather, a unique "key" is carried in each packet that maps the packet to the appropriate context.
- Fifteen flags are defined, including bit flags to control connection shutdown, bit flags to control the acknowledgment policy, and bit flags that are markers in the data stream.
- the remaining bit flags control the end-to-end operating modes. Examples include enabling or disabling error control or flow control, or enabling multicast mode.
- XTP flow control is based on 64-bit sequence numbers and a 64-bit sliding window. XTP also provides rate control whereby an end system or intermediate system can specify the maximum bandwidth and burst size it will accept on a connection.
- Traffic Segment provides a means for specifying the shape of the traffic so that both end systems and intermediate systems can manage their resources and facilitate service quality guarantees.
- Error control in XTP incorporates positive and, when appropriate, negative acknowledgment to effect retransmission of missing or damaged data packets.
- Retransmission may be either go-back-N or selective.
- the retransmission algorithms are conservative: only data that is shown to be missing via control messages may be transmitted. This avoids spurious and possible congestion-causing retransmissions.
- the error control algorithm while basically conservative, can also be aggressive: systems, techniques and methods for a quick-acting error notification are provided.
- XTP also specifies techniques for extending error control to a multicast environment.
- the error control algorithm in multicast is identical to the uni-cast algorithm, although additional sophistication is required to manage state variables and achieve continuous streaming. Accordingly, XTP is a preferred satellite protocol according to the present invention.
- the protocol can be a modified TCP, a modified XTP, and others. Additionally, the protocol can be any that is suitable for transmission over a satellite link. Additionally, one of ordinary skill in the art would recognize other variations, modifications, and alternatives.
- Fig. 2 is a simplified diagram of system architecture 200 according to an embodiment of the present invention. This diagram is merely an illustration and should not limit the scope of the claims herein. One of ordinary skill in the art would recognize other variations, modifications, and alternatives.
- the system architecture 200 includes at least a client 201, which is coupled to a satellite gateway 203, which transmits and receives information via satellite link 209 from a satellite gateway 205. Satellite gateway 205 couples to server 207. Satellite gateway and server couple to each other through the internet or an internet-like network of computers.
- Client 201 can be represented in multiple layers, including application and physical layers.
- the layers may include a browser 211.
- the browser 211 allows a user to communicate information from an application layer to a physical layer for transmission to a gateway.
- the browser 211 is generally in the application layer, which provides the information.
- the browser can be one of suitable design made by a company called Netscape Communications Corporation of Mountain View, California or Microsoft Corporation of Redmond, Washington or others.
- other TCP applications including FTP file transfers, may also be used to communicate between clients and servers.
- the information goes through the transport layer (e.g., TCP) 213 and then through the IP layer 215, which is the networking layer.
- the transport layer provides a flow of data between the client and the gateway.
- the IP layer handles movement of data comprising packets between the client and the gateway, or other network.
- the information is sent through the physical layer, which includes a driver 217.
- the driver 217 transmits the information to the gateway 203 through hardware 219 connected to gateway 203 via a telecommunications link 221, which can be a wire, cable, fiber optic, or other physical communication medium.
- the driver 217 receives information from the gateway 203 via link 221 and hardware219.
- the driver can be a network operating system with a network interface card in the client computer, for example.
- the gateway From the physical connection 221, the information traverses to the gateway 203.
- the gateway has a physical layer 223, which interacts with driver 225.
- the gateway also includes a networking layer 227 and a transport layer 229, which is coupled to a translation module 231.
- the networking layer 227 determines whether the information can be routed over the satellite protocol. If so, the data is passed up to the transport layer 229. If not, the data is immediately forwarded out to the rate control module 234 for delivery to the satellite link 239 in non-translated form.
- the translation module 231 converts the information into a satellite protocol 233, which is suitable for use over a satellite link.
- a rate control module 234 determines whether the information can be passed immediately to the satellite connection or be queued for later delivery.
- the satellite connection is coupled to a physical layer 237 by a driver 235, which transmits information to and from satellite 209. The information traverses to and from the satellite in a wireless medium, 239, 241.
- the satellite gateway 205 which includes multiple layers, physical and others.
- the physical layer 243 couples to driver 245.
- the networking and transport layer include a satellite protocol 247 and a rate control 244.
- the network and transport layers connect to a session layer which comprises translation module 249.
- the translation module converts the information using the satellite protocol back to TCP/IP.
- the information traverses through the transport layer (i.e., TCP) 251 and the networking layer (i.e., LP) 253.
- Information from the satellite gateway 205 enters a physical layer 257 through driver 255.
- the driver transmits the information to a server 207 over telecommunications link 259.
- Driver 255 can also receive information from server 207 in the backward path.
- the information is sent to driver 263 in the server 207 via physical layer 261.
- the information traverses from the driver to a networking layer, which includes IP 265.
- the information also traverses from the networking layer to a transport layer, which includes TCP 267.
- the information is delivered to a Web server application 269, for example.
- a gateway such as gateway 203, 205 at the network layer, bypassing the transport and application layers altogether.
- information can enter from client 201 via telecommunications link 221.
- Physical layer 223 passes the information to driver 225.
- driver 225 passes the information to network layer 227.
- Network layer 227 can route the information to its destination using IP.
- the information then flows from network layer 227 to driver 235.
- Driver 235 interacts with physical layer 237 to pass the information along to satellite 209 via telecommunications link 239.
- the translation module converts information using a TCP connection to a suitable connection for transmission over a satellite system.
- the suitable connection for the satellite is generally resilient to transmission over a wireless network such as a satellite network, e.g., Orion WorldcastTM or PanAmSatTM SpotBytesTM services, and the like.
- the connection should also be suitable for long latency, high loss, and asymmetric bandwidth conditions.
- the connection should also be transparent to the end user at the client or server location.
- the long latency is typically about 200 milliseconds to about 700 milliseconds, per satellite hop but is not limited to such values.
- the present translation module converts information using a TCP connection into an XTP, modified TCP or XTP-like protocol for transmission over a satellite link, which is illustrated by Fig. 2A, for example.
- the TCP module receives information 350 including the TCP connection.
- the information includes data 333, a TCP header 335, and an JP header 337.
- the TCP module removes the TCP header from the information such that the information 351 includes substantially all data 333 and passes the data, along with certain TCP header information, to the translation module.
- the translation module passes the data or portions of data to the satellite protocol module where a satellite protocol header 339 is prepended onto the data.
- the header is an XTP header or like.
- the information 352 now includes the XTP header, which is suitable for transmission over the satellite link.
- the XTP header and data may also be prepended with an IP header for transmission over the satellite link.
- the information is transferred to the physical layer and the driver.
- the driver and physical layer send the information to a receiving satellite gateway, which may prepend additional headers.
- the information including the XTP header enters a receiving XTP module.
- the receiving XTP or satellite protocol module removes the XTP header from the information, leaving data 353.
- the receiving satellite protocol module passes the data to the translation module, which can be a routing module used to route data to the proper protocol.
- the translation module then passes the data to the TCP module.
- the receiving TCP module attaches a TCP header 343 and IP header 341 onto the data to form information that is now ready for transmission over a network to a receiving server destination.
- the information using the TCP connection traverses through a network to the destination server.
- the translation module can also convert a portion of the information including the data and TCP/IP headers to information using the XTP protocol.
- the translation module can convert more than one segment of information including multiple TCP/IP headers into a single piece of information including the XTP header for transmission over a satellite link.
- the translation module can convert the information including the TCP connection into any one or any combination of the above. Further details of these techniques, and others, are described in more detail below.
- Figs. 3A and 3B are simplified diagrams of process diagrams according to embodiments of the present invention. These diagrams are merely illustrations and should not limit the scope of the claims herein. One of ordinary skill in the art would recognize other variations, modifications, and alternatives.
- the present invention uses a connection process 300, which is illustrated by Fig. 3A.
- the connection process uses a plurality of separate connections using a "handshaking routine" in the satellite system to provide a transparent TCP connection to an end user.
- the satellite system can be similar to the one described herein, but is not limited.
- the present process begins at start, step 301.
- a plurality of connections are provided.
- the present process provides a first connection, step 303.
- the first connection is a TCP connection between a client and a client side gateway, which interfaces to a satellite link.
- the present process provides a second connection, step 305, which provides a connection between the client side gateway and a destination gateway over a wireless (e.g., satellite) link.
- the connection between the wireless link can be any suitable connection such as XTP or XTP-like connection.
- the present process provides a third connection, step 307, which forms a TCP connection between the destination gateway to the destination server, which can traverse through the Internet or an internet. Once these connections have been made they are maintained, step 309.
- the present process ends at stop 311, which terminates all three connections.
- the present process occurs by way of a selected sequence of steps.
- TCP SYN packets are intercepted transparently by a satellite gateway.
- the satellite gateway establishes a new XTP connection across the satellite link to the other satellite gateway.
- Information, including IP addresses and port numbers, about the requesting client and the destination server is transferred across the satellite link to the other satellite gateway.
- the destination gateway sets up a TCP connection with the destination server, using the client's addressing information so that the server sees the TCP connection as being the same as if the client itself had established the connection.
- the satellite gateway makes routing decisions based upon source and destination addresses in the IP header of packets entering the gateway in order to determine whether the packets should be routed over the satellite telecommunications link.
- the destination gateway communicates back to the sending gateway, which then acknowledges the connection with the client.
- this sequence of steps has advantages.
- the client does not believe the connection is established until the server has accepted this connection, which tends to reduce or even eliminate false indications of successful connection establishment.
- both the client and server see the connection as happening immediately between the two of them, without detecting that the satellite connection is happening in between the client and the server . That is, the present invention substantially preserves "end-to-end semantics" of the connection.
- the connectivity is symmetric.
- clients may exist on either side of the satellite link
- servers may exist on either side. Systems on either side may request connections to systems on the other side, and the satellite gateways will intercept the connections.
- Fig. 3B illustrates a simplified flowchart of a novel routing process 320 in a specific embodiment according to the present invention that begins with a starting step 321.
- This diagram is merely an example which should not limit the scope of the claims herein.
- a client host sends a TCP packet destined for a particular IP address to a satellite gateway.
- the satellite gateway can be similar to the one 111 A described above, but can also be others.
- the satellite gateway receives the packet and determines whether the packet is to be carried over an XTP connection prior to transmission.
- An example of an XTP protocol has been described herein, but should not limit the scope of the claims.
- any suitable satellite protocol can be used according to certain embodiments of the present invention. If the destination address of the TCP packet is configured to be converted to the XTP protocol format, then the packet is converted into the XTP protocol in a step 331. Otherwise, the packet is transmitted in its TCP format via an alternative branch to step 327.
- the present invention is useful for sites where a single satellite gateway communicates with multiple remote sites, some of which have gateways that are compatible with XTP protocol while other sites do not contain corresponding gateways. Additionally, the present invention allows specific addresses to be configured for protocol translation and other addresses to be configured for no translation, based on policy decisions of the network administrator.
- the present invention also provides a rate control step (step 327).
- a step 327 processing is performed to maintain a suitable or predetermined data rate over the satellite device.
- the processing of step 327 may require buffering of packets in order to avoid overloading the satellite link, such as 105 and 103 in Fig. 1. This can be accomplished using the process depicted by Figs. 3C-3D, but is not limited to this process.
- the packet is transmitted along a connection transmitted from the sending satellite gateway across the satellite link.
- the packet is converted back to TCP, if it was converted to XTP protocol in step 331.
- the packet is routed to its remote destination.
- the present invention is especially useful for sites where a single satellite gateway communicates with multiple remote gateways, some of which are compatible with XTP protocol while others of the remote gateways are not. Some configurations may have multiple remote sites per satellite gateway. Some of these remote sites may have a satellite gateway installed, while others do not. Thus, there may be no satellite gateway on the remote side, just a LP routing configuration.
- the process completes routing (step 335) when the information enters a destination server 131, which transfers the information to a destination client.
- the process stops (step 337) when the connection is terminated.
- TCP connections at times pass a piece of information in the protocol header which must be delivered as soon as possible to the destination side of the connection.
- the TCP implementation that is part of the client-side satellite gateway can extract this urgent pointer from the TCP header.
- a TCP module such as TCP module 229 of Fig. 2, for example, can extract the urgent pointer and pass it to a satellite gateway translation module, which can be satellite gateway translation module 231 of Fig. 2, or an equivalent.
- the urgent pointer is passed down to a satellite protocol module, such as satellite protocol module 233 of Fig. 2, or an equivalent.
- the urgent pointer can then be carried in the satellite protocol header to a satellite gateway, such as satellite gateway 205 of Fig. 2, or any other receiving satellite gateway.
- the urgent pointer can be extracted by a satellite protocol module, such as satellite protocol module 247 of Fig. 2, and passed up to a translation module, such as translation module 249, or another satellite translation module, which can deliver it to a TCP module, such as TCP module 251.
- the TCP module then incorporates the urgent pointer in its target field in the TCP header for immediate delivery to an end server, such as end server 207.
- This header for delivery to the server refers to the point in the data stream that has not yet arrived at the second satellite gateway machine.
- appropriate urgent pointer processing can alleviate malfunctions.
- Fig. 3C illustrates a simplified flowchart of a data rate control process such as data rate control step 327 in Fig. 3B in a specific embodiment according to the present invention.
- This diagram is merely an example which should not limit the scope of the claims herein.
- Fig. 3C shows a first decisional step 341 of determining whether queues are empty when an incoming packet arrives.
- there are two queues one for queuing high priority (HLPRI) traffic and one for queuing "normal" traffic.
- HLPRI high priority
- Decisional step 343 determines whether the current system clock tick count is the same as a stored clock tick count. If the system clock tick and the stored clock tick are the same, then processing continues with decisional step 349, which determines whether a byte counter and a length of an incoming packet are greater than a predetermined maximum, based on the desired transmission rate, denoted here as "MAX”. If the maximum would not be exceeded, then processing continues with step 355, in which the packet is sent and the byte counter is incremented by the packet length. Otherwise, if the maximum would be exceeded in step 349, then processing continues with a step 357, in which the difference between MAX and the current value of the byte counter is stored as "EXTRA", and a timer can be started.
- a predetermined maximum based on the desired transmission rate
- step 345 Processing then continues at step 345. Otherwise, if step 343 determines that the clock tick and stored clock tick are different, processing continues with a step 347 in which a byte counter is cleared and the stored clock tick is updated. Processing then continues with a step 355, as described above.
- decisional step 341 determines that at least one of the queues is not empty, or if the packet length would have increased the byte counter beyond MAX in step 349, then in a decisional step 345, a determination is made whether the incoming packet is a retransmission. If the packet is a retransmission, then in a step 351, the packet is added to the high priority (HLPRI) queue. Otherwise, in a step 353, the packet is added to the normal queue.
- HLPRI high priority
- Fig. 3D illustrates a simplified flowchart of a timer service process useful in conjunction with data rate control process illustrated by Fig. 3C in a specific embodiment according to the present invention.
- This diagram is merely an example which should not limit the scope of the claims herein.
- Fig. 3D shows a step 361 invoked whenever a timer set in step 357 expires.
- step 341 the byte counter is cleared and the local maximum is set to the maximum MAX added toEXTRA.
- the high priority (HLPRI) queue is checked to determine whether packets are on the queue. If there are packets on the HLPRI queue, then processing continues with a decisional step 365.
- HLPRI high priority
- processing continues with a decisional step 367. If there are packets on the HIPRI queue, then in a decisional step 365, a determination is made whether the byte counter and the packet length are less than a local maximum. If this is indeed the case, then processing continues with a step 369 in which the packet is dequeued from the HLPRI queue and sent. Also, the byte counter is incremented to reflect the length of the data in the packet. Otherwise, if decisional step 365 determines that the byte counter and the packet length exceed the local maximum, then in a step 371 the timer is restarted and processing returns to the invoking process. Processing can continue when the timer expires.
- decisional step 367 determines whether there are packets on the normal queue. If there are no packets on the normal queue, then processing continues with a step 375, in which the current clock tick is stored in a global cell. Otherwise, if decisional step 367 determines that packets are on the normal queue, then processing continues with a decisional step 373, in which a determination is made whether the byte counter and the packet length are less than the local maximum. If this is indeed the case, then processing continues with a step 377, in which the packet is dequeued from the normal queue and sent.
- the byte counter is incremented to reflect the length of the data in the packet. Otherwise, if decisional step 373 determines that if the byte counter and the packet length exceed the local maximum, then in a step 379 the timer is restarted and processing returns to the invoking process. Processing can continue when the timer expires.
- Fig. 3E illustrates a representative system overview in a particular embodiment according to the present invention. This diagram is merely an example which should not limit the scope of the claims herein. One of ordinary skill in the art would recognize other variations, modifications, and alternatives.
- a client 380 initiates a connection request to a TCP server 388.
- Satellite gateway 384 intercepts the connection request and establishes a second connection 385 with a second Satellite gateway 386. The second satellite gateway 386 then initiates a third connection 387 with the server 388. Once connection 387 is established and that information has been communicated back to the satellite gateway 384, the first TCP connection 383 can be confirmed between the client 380 and satellite gateway 384.
- a data flow control process 382 useful for limiting an aggregate amount of data buffered by satellite gateway 384 and/or satellite gateway 386 for TCP connections sending data to client 380 is provided.
- Select embodiments can control data flow on a TCP connection when data has been buffered for a client on that connection, for example.
- the first TCP connection 383 can be confirmed between the client 380 and satellite gateway 384 via data flow control process 382.
- data flow control process 382 can limit the amount of memory that a client TCP connection, such as client TCP connection 383, can send to a satellite gateway, such as satellite gateway 384, in order to control the amount of data stored on the satellite gateways 384 and satellite gateway 386 on either side of connection 385.
- a client TCP connection such as client TCP connection 383
- satellite gateway 384 can be embodied in other forms.
- control process 382 can be co-located with first satellite gateway within client 380's machine, or can reside with first satellite gateway 384 in a separate machine, and the like.
- first gateway 384 and second gateway 386 can be connected by a wireless network and the like.
- Fig. 3G illustrates a simplified flowchart of a connection flow control selection process in a particular embodiment according to the present invention. This diagram is merely an example which should not limit the scope of the claims herein. One of ordinary skill in the art would recognize other variations, modifications, and alternatives.
- Fig. 3G illustrates an input data flow 390.
- a decisional step 391 determines whether the connection on which input data flow 390 is received is a new connection. If this is so, the new connection is not marked for flow control. Otherwise, in a decisional step 392, a size of the contents of a buffer associated with the connection is checked against a threshold. If the contents of the buffer exceeds the threshold, then in a step 393, the connection is selected for the flow control limit calculation.
- connection is not selected for flow control.
- the steps illustrated in Fig. 3G can provide embodiments with the capability to screen out connections that are initializing or which are transferring data intermittently. Such connections need not be selected for the flow control limit calculation because they do not consume sufficiently large system resources. New connections need not be selected for the flow control limit calculation until a threshold amount of data has been buffered for the new connection. In a presently preferable embodiment, the threshold is reached if the connection buffers the threshold amount of data in memory. In this particular embodiment, a connection that sends less than the threshold amount, waits, and then sends more data, need not be selected for the flow control limit calculation because not all of the threshold amount of data resided in memory at one time.
- the threshold limit can be 50 Kbytes.
- those of ordinary skill in the art can readily apply the methods and systems of the present invention to other threshold values.
- Fig. 3H illustrates a simplified flowchart of a data flow control process useful in conjunction with the satellite gateway system illustrated by Fig. 3F in a specific embodiment according to the present invention.
- This diagram is merely an example which should not limit the scope of the claims herein.
- Fig. 3H illustrates an input data flow 394 for a particular connection.
- a decisional step 395 determines whether the connection corresponding to input data 394 is being flow controlled. If this is so, then in a step 396, a round trip time (RTT) to send a byte of data across the link and back for the connection can be determined.
- RTT round trip time
- Round trip time can be determined by input from a user, or automatically determining the time for a sample piece of data to traverse the link, and the like. Then in a step 397, a data rate, or bandwidth, for the connection is determined. Data rate can be determined by input from a user, or automatically with a sample piece of data, and the like. In a present embodiment, the user enters the rate and round-trip time as separate inputs. However, other embodiments can allow the user to enter a pre-computed bandwidth-delay product or can determine the round-trip time by probing the link. Then, in a step 398, a bandwidth delay product can be determined by multiplying the bandwidth of the link, in bytes, by the round-trip time.
- a flow control limit can be determined for the connection.
- a flow control limit can be an amount of data to buffer for the connection, or the like.
- the flow control limit can be an amount of memory allocated to each active data connection selected during the processing detailed in Fig. 3G.
- the flow control limit can be computed by multiplying the bandwidth-delay product by a scaling factor and then dividing that total by the number of active data connections.
- the scaling factor is chosen to permit sufficient data to be buffered in order to keep the network link fully utilized.
- a scaling factor of eight is chosen. However, embodiments can use other scaling factors, or scaling functions, or the combination of multiple scaling factors without departing from the scope of the present invention.
- data on the connection can be limited by buffering incoming data on the connection up to the limit determined in step 399. The system can refrain from buffering more data than there is allocated space available in physical system memory.
- Fig. 31 illustrates a simplified structure component diagram of a representative buffer architecture of a particular embodiment according to the present invention.
- Fig. 31 illustrates a satellite gateway 384.
- Satellite gateway 384 comprises a TCP buffer 405, that interfaces with a client, such as client 380 of Fig. 3E via connection 383.
- satellite gateway 384 comprises a satellite protocol buffer 406, that interfaces with a satellite, such as satellite 101 of Fig. 3E via connection 385.
- TCP over satellite systems can temporarily store data in one or more buffers controlled by the TCP protocol layer and the satellite protocol layer in satellite gateway 384. Data to an endpoint, such as client 380 of Fig.
- a satellite gateway such as satellite gateway 384 can feed data to a plurality of modems.
- the modem links cannot accept data at the same rate as the satellite link. In such a situation, techniques according to the present invention can circumvent expending relatively large amounts of buffer space for holding data for the modems.
- Fig. 3J illustrates a simplified flowchart of a connection memory management process in a particular embodiment according to the present invention.
- This diagram is merely an example which should not limit the scope of the claims herein.
- Fig. 3 J illustrates output data 402, that can reside in satellite protocol buffer 406 of Fig. 31, for example.
- congestion in the satellite link can occur. This congestion can be detected by the satellite protocol in a decisional step 403, wherein the satellite protocol determines whether a state of the satellite protocol buffer 406 has become saturated.
- a threshold can be established for the buffer. Exceeding this threshold can indicate a saturation condition is present.
- the satellite protocol reduces a maximum receive window for data that will be accepted across the satellite link 385 by a reduction factor.
- a reduction factor of 50% can be used.
- an minimum value for the receive window can be configured to assure that the window is not reduced to zero. Otherwise, if a client is receiving at a data rate comparable to the data rate of the system, then the saturation condition will not be reached.
- a connection to a receiver such as client 384, for example, that has a relatively slow data rate
- a connection to a receiver can start with a full-sized receive window.
- the receive window can be resized to achieve a match between the data rate of the sender and the data rate of the receiver.
- new connections can have the capability of consuming a full window of memory before the system detects the lower data rate condition and restricts how much additional new data will be buffered for the connection.
- the techniques of the present invention can be applied to each satellite connection separately, so that one slow receiver will not degrade performance of other connections over the same link.
- Fig. 7 illustrates a representative apparatus in a particular embodiment according to the present invention. This diagram is merely an example which should not limit the scope of the claims herein. One of ordinary skill in the art would recognize other variations, modifications, and alternatives.
- Fig. 7 depicts a block diagram of a protocol gateway in a particular embodiment according to the present invention, such as protocol gateway 111 A, or the like.
- Protocol gateway 111A includes a bus 112 which interconnects major subsystems such as a central processor 114, a system memory 116 (typically RAM), and a number of optional external devices such as a display screen 124 via a display adapter 126, a keyboard 132 and a mouse 146 via an I/O controller 118, a floppy disk drive 136 operative to receive a floppy disk 138.
- Storage Interface 134 may act as a storage interface to a fixed disk drive 144.
- An optional CD-ROM player 140 operative to receive a CD-ROM 142 can also be included.
- Other forms of storage such as a flash memory 147 can also be included.
- a network interface 148 A can provide a direct connection to a remote server via a telephone link or to the Internet using a common protocol such as TCP/TP or the like.
- Network interface 148 A can interface to one or more outside networks, which can employ any network format known in the art, such as Ethernet, Token Ring, ATM, LEEE 802.3, X.25, Serial Link Internet Protocol (SLIP), FDDI and the like.
- Network interface 148B may also connect to a satellite gateway, such as satellite gateway 109 A, or other network interconnecting devices or computer systems.
- Network interface 148A can interface to one or more outside networks, which can employ any network format known in the art, such as Ethernet, Token Ring, ATM, IEEE 802.3, X.25, Serial Link Internet Protocol (SLLP), FDDI and the like. Many other devices or subsystems (not shown) may be connected in a similar manner. Also, it is not necessary for all of the devices shown in Fig. 7 to be present to practice the present invention, as discussed below. The devices and subsystems may be interconnected in different ways from that shown in Fig. 7 in various embodiments. Code to implement the present invention, may be operably disposed or stored in computer- readable storage media such as system memory 116, fixed disk 144, CD-ROM 140, or floppy disk 138.
- System 111A is merely one example of a configuration that embodies the present invention. It will be readily apparent to one of ordinary skill in the art that many system types, configurations, and combinations of the above devices are suitable for use in light of the present disclosure.
- the present invention has a much broader range of applicability.
- the present invention is not limited to satellite telecommunications, but can be applied to any networking situation where an improved or optimized protocol is desired for use over a specific portion of the network, and the end systems cannot be updated to use the improved protocol.
- satellite gateways could provide access to wireless or cabled networks and internetworks of all kinds.
- one of ordinary skill in the art would recognize other variations, modifications, and alternatives.
- a network which used the present system was able to fully saturate the link at low error rates and delivered 2.7 Mbps even at an error rate of 1.0 x 10 "5 .
- various modifications, alternative constructions and equivalents may be used.
- the above has generally been described in terms of using XTP as a satellite protocol.
- Other types of protocols may be available.
- the protocol can include a modified TCP or the like. Therefore, the above description and illustrations should not be taken as limiting the scope of the present invention which is defined by the appended claims.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Radio Relay Systems (AREA)
Abstract
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002361433A CA2361433A1 (fr) | 1999-02-02 | 2000-02-02 | Internet par satellite |
AU28697/00A AU2869700A (en) | 1999-02-02 | 2000-02-02 | Internet over satellite |
EP00907155A EP1151375A4 (fr) | 1999-02-02 | 2000-02-02 | Internet par satellite |
PCT/US2000/002891 WO2000046669A1 (fr) | 1999-02-02 | 2000-02-02 | Internet par satellite |
IL14465800A IL144658A0 (en) | 1999-02-02 | 2000-02-02 | Internet over satellite |
JP2000597684A JP3814678B2 (ja) | 1999-02-02 | 2000-02-02 | サテライトを介するインターネット |
IL144658A IL144658A (en) | 1999-02-02 | 2001-07-31 | Internet over satellite |
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11822799P | 1999-02-02 | 1999-02-02 | |
US60/118,227 | 1999-02-02 | ||
US09/243,554 | 1999-02-02 | ||
US09/243,554 US6584083B1 (en) | 1999-02-02 | 1999-02-02 | Internet over satellite method |
US09/243,185 | 1999-02-02 | ||
US09/243,185 US6529477B1 (en) | 1999-02-02 | 1999-02-02 | Internet over satellite system |
US09/306,678 US6460085B1 (en) | 1999-02-02 | 1999-05-06 | Method and system for managing memory in an internet over satellite connection |
US09/306,236 | 1999-05-06 | ||
US09/306,678 | 1999-05-06 | ||
US09/306,236 US6654344B1 (en) | 1999-02-02 | 1999-05-06 | Method and system for controlling data flow in an internet over satellite connection |
US09/493,338 US6934255B1 (en) | 1999-02-02 | 2000-01-28 | Internet over satellite apparatus |
US09/493,338 | 2000-01-28 | ||
PCT/US2000/002891 WO2000046669A1 (fr) | 1999-02-02 | 2000-02-02 | Internet par satellite |
Publications (3)
Publication Number | Publication Date |
---|---|
WO2000046669A1 true WO2000046669A1 (fr) | 2000-08-10 |
WO2000046669A8 WO2000046669A8 (fr) | 2001-03-22 |
WO2000046669A9 WO2000046669A9 (fr) | 2001-09-07 |
Family
ID=27557925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/002891 WO2000046669A1 (fr) | 1999-02-02 | 2000-02-02 | Internet par satellite |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1151375A4 (fr) |
JP (1) | JP3814678B2 (fr) |
CA (1) | CA2361433A1 (fr) |
IL (1) | IL144658A0 (fr) |
WO (1) | WO2000046669A1 (fr) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2358776A (en) * | 1999-12-18 | 2001-08-01 | Roke Manor Research | Applying TCP congestion control to a wired portion of a communication path, but not to a wireless portion of the path |
WO2001080452A1 (fr) * | 2000-04-14 | 2001-10-25 | Hughes Electronics Corporation | Interfaces entre utilisateurs de terminaux, satellites et stations pivot dans un systeme satellite bidirectionnel |
WO2002045353A1 (fr) * | 2000-11-30 | 2002-06-06 | Inalambrica.Net Costa Rica Sociedad Anonima | Systeme integre de reception et de distribution de donnes a grande vitesse |
JP2002215482A (ja) * | 2000-11-02 | 2002-08-02 | Fisher Rosemount Syst Inc | データ送信方法及びシステム |
US6441782B2 (en) | 2000-04-14 | 2002-08-27 | Hughes Electronics Corporation | Method and system of directing an antenna in a two-way satellite system |
WO2003056718A1 (fr) * | 2002-01-04 | 2003-07-10 | Klaus Rock | Procede pour reduire le temps d'attente lors d'une communication de donnees interactive sur un reseau de transmission par satellite |
JP2003256149A (ja) * | 2002-02-27 | 2003-09-10 | Nec Corp | データコピーシステムにおけるデータ転送方法とディスクアレイ装置 |
US6650869B2 (en) | 2000-04-14 | 2003-11-18 | Hughes Electronics Corporation | System and method for managing return channel bandwidth in a two-way satellite system |
JP2004529410A (ja) * | 2001-02-02 | 2004-09-24 | オープンティブイ・インコーポレーテッド | インタラクティブ・テレビ用のサービス・ゲートウェイ |
JP2004530362A (ja) * | 2001-04-20 | 2004-09-30 | スウェーディッシュ サテライト システムズ アーベー | 通信装置及び衛星通信用リンクシステム |
WO2004088949A2 (fr) * | 2003-04-02 | 2004-10-14 | Rock Technologies Limited | Procede pour reduire le temps d'attente lors de la communication de donnees interactive entre un serveur de terminaux et un ordinateur client de serveur de terminaux dans un reseau de satellites geostationnaires |
US6965581B2 (en) | 2000-04-14 | 2005-11-15 | Hughes Electronics Corp. | Transceiver in a two-way satellite system |
US6987741B2 (en) | 2000-04-14 | 2006-01-17 | Hughes Electronics Corporation | System and method for managing bandwidth in a two-way satellite system |
US7054902B2 (en) | 2001-10-23 | 2006-05-30 | Packeteer, Inc. | Multicast delivery systems and methods |
EP1671453A2 (fr) * | 2003-09-10 | 2006-06-21 | Hyperdata Technologies, Inc. | Optimiseur de protocole internet |
US7164661B2 (en) | 2000-04-14 | 2007-01-16 | Hughes Networks Systems, Llc | System and method for providing a two-way satellite system |
US7359395B2 (en) * | 2003-06-16 | 2008-04-15 | Packeteer, Inc. | Pre-fetch communication systems and methods |
US7463582B2 (en) | 2000-04-14 | 2008-12-09 | Hughes Network Systems, Llc | System and method for scaling a two-way satellite system |
EP2007032A2 (fr) * | 2007-05-21 | 2008-12-24 | The Boeing Company | Système et procédé de partage global de gestion aérienne de systèmes de données ou autres fichiers de plates-formes aériennes ou autres sources mondiales |
US8811419B2 (en) | 2011-07-26 | 2014-08-19 | Hitachi, Ltd. | Communication device |
DE102004048343B4 (de) | 2004-10-01 | 2022-09-22 | Satcloud Ip Holding Llc | Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal Server und einem Terminal-Server Client in einem Telekommunikationsnetzwerk, insbesondere einem GSM oder einem UMTS Netzwerk |
CN116248172A (zh) * | 2023-05-08 | 2023-06-09 | 银河航天(北京)网络技术有限公司 | 基于tcp/ip协议和ccsds协议的数据传输方法、装置及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5699985B2 (ja) * | 2012-05-29 | 2015-04-15 | 三菱電機株式会社 | Tcp通信高速化装置 |
CN105897665B (zh) * | 2015-01-26 | 2020-01-14 | 中兴通讯股份有限公司 | 一种卫星网络环境下实现tcp传输的方法及相应的网关 |
JP2018157483A (ja) * | 2017-03-21 | 2018-10-04 | 株式会社富士通アドバンストエンジニアリング | 接続制御装置およびネットワークシステム |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163046A (en) * | 1989-11-30 | 1992-11-10 | At&T Bell Laboratories | Dynamic window sizing in a data network |
US5426635A (en) * | 1993-09-08 | 1995-06-20 | At&T Corp. | Method for adaptive control of windows and rates in networks |
US5594490A (en) * | 1994-05-23 | 1997-01-14 | Cable Services Technologies, Inc. | System for distributing video/audio files from central location to a plurality of cable headends |
US5850517A (en) * | 1995-08-31 | 1998-12-15 | Oracle Corporation | Communication link for client-server having agent which sends plurality of requests independent of client and receives information from the server independent of the server |
US5852721A (en) * | 1994-06-08 | 1998-12-22 | Hughes Electronics Corporation | Method and apparatus for selectively retrieving information from a source computer using a terrestrial or satellite interface |
US5896558A (en) * | 1996-12-19 | 1999-04-20 | Globalstar L.P. | Interactive fixed and mobile satellite network |
US6038216A (en) * | 1996-11-01 | 2000-03-14 | Packeteer, Inc. | Method for explicit data rate control in a packet communication environment without data rate supervision |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572530A (en) * | 1994-10-07 | 1996-11-05 | Comsat Corporation | Technique for efficient integration of integrated services digital network (ISDN) into satellite system |
FI100684B (fi) * | 1995-11-30 | 1998-01-30 | Nokia Oy Ab | Pakettivälitteisen tiedonsiirtomuodon pakettitunnisteiden käyttö vasta anottajien osoittamiseen |
JP2001504308A (ja) * | 1996-11-12 | 2001-03-27 | スターガイド デジタル ネットワークス | インターネットの接続へのアクセスを行うユーザへデジタルデータをマルチキャストする方法およびip内容の分配のシステム |
DE69702308T2 (de) * | 1997-07-11 | 2000-12-28 | Ico Services Ltd., London | Web-Zugang für Benutzer in einem Fahrzeug |
-
2000
- 2000-02-02 IL IL14465800A patent/IL144658A0/xx active IP Right Grant
- 2000-02-02 WO PCT/US2000/002891 patent/WO2000046669A1/fr not_active Application Discontinuation
- 2000-02-02 JP JP2000597684A patent/JP3814678B2/ja not_active Expired - Lifetime
- 2000-02-02 EP EP00907155A patent/EP1151375A4/fr not_active Ceased
- 2000-02-02 CA CA002361433A patent/CA2361433A1/fr not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163046A (en) * | 1989-11-30 | 1992-11-10 | At&T Bell Laboratories | Dynamic window sizing in a data network |
US5426635A (en) * | 1993-09-08 | 1995-06-20 | At&T Corp. | Method for adaptive control of windows and rates in networks |
US5594490A (en) * | 1994-05-23 | 1997-01-14 | Cable Services Technologies, Inc. | System for distributing video/audio files from central location to a plurality of cable headends |
US5852721A (en) * | 1994-06-08 | 1998-12-22 | Hughes Electronics Corporation | Method and apparatus for selectively retrieving information from a source computer using a terrestrial or satellite interface |
US5968129A (en) * | 1994-06-08 | 1999-10-19 | Hughes Electronics Corporation | Method and apparatus for selectively retrieving information from a source computer using a terrestrial or satellite interface |
US5850517A (en) * | 1995-08-31 | 1998-12-15 | Oracle Corporation | Communication link for client-server having agent which sends plurality of requests independent of client and receives information from the server independent of the server |
US6038216A (en) * | 1996-11-01 | 2000-03-14 | Packeteer, Inc. | Method for explicit data rate control in a packet communication environment without data rate supervision |
US5896558A (en) * | 1996-12-19 | 1999-04-20 | Globalstar L.P. | Interactive fixed and mobile satellite network |
Non-Patent Citations (1)
Title |
---|
See also references of EP1151375A4 * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2358776A (en) * | 1999-12-18 | 2001-08-01 | Roke Manor Research | Applying TCP congestion control to a wired portion of a communication path, but not to a wireless portion of the path |
US6965581B2 (en) | 2000-04-14 | 2005-11-15 | Hughes Electronics Corp. | Transceiver in a two-way satellite system |
US6650869B2 (en) | 2000-04-14 | 2003-11-18 | Hughes Electronics Corporation | System and method for managing return channel bandwidth in a two-way satellite system |
US7164661B2 (en) | 2000-04-14 | 2007-01-16 | Hughes Networks Systems, Llc | System and method for providing a two-way satellite system |
US6441782B2 (en) | 2000-04-14 | 2002-08-27 | Hughes Electronics Corporation | Method and system of directing an antenna in a two-way satellite system |
WO2001080452A1 (fr) * | 2000-04-14 | 2001-10-25 | Hughes Electronics Corporation | Interfaces entre utilisateurs de terminaux, satellites et stations pivot dans un systeme satellite bidirectionnel |
US6987741B2 (en) | 2000-04-14 | 2006-01-17 | Hughes Electronics Corporation | System and method for managing bandwidth in a two-way satellite system |
US7463582B2 (en) | 2000-04-14 | 2008-12-09 | Hughes Network Systems, Llc | System and method for scaling a two-way satellite system |
JP4535655B2 (ja) * | 2000-11-02 | 2010-09-01 | フィッシャー−ローズマウント システムズ, インコーポレイテッド | データ送信方法及びシステム |
JP2002215482A (ja) * | 2000-11-02 | 2002-08-02 | Fisher Rosemount Syst Inc | データ送信方法及びシステム |
WO2002045353A1 (fr) * | 2000-11-30 | 2002-06-06 | Inalambrica.Net Costa Rica Sociedad Anonima | Systeme integre de reception et de distribution de donnes a grande vitesse |
US10826748B2 (en) | 2001-02-02 | 2020-11-03 | Opentv, Inc. | Service gateway for interactive television |
US7961743B2 (en) | 2001-02-02 | 2011-06-14 | Opentv, Inc. | Service gateway for interactive television |
JP2004529410A (ja) * | 2001-02-02 | 2004-09-24 | オープンティブイ・インコーポレーテッド | インタラクティブ・テレビ用のサービス・ゲートウェイ |
US9369330B2 (en) | 2001-02-02 | 2016-06-14 | Opentv, Inc. | Service gateway for interactive television |
US7484236B2 (en) | 2001-02-02 | 2009-01-27 | Opentv, Inc. | Service gateway for interactive television |
JP2004530362A (ja) * | 2001-04-20 | 2004-09-30 | スウェーディッシュ サテライト システムズ アーベー | 通信装置及び衛星通信用リンクシステム |
US7054902B2 (en) | 2001-10-23 | 2006-05-30 | Packeteer, Inc. | Multicast delivery systems and methods |
WO2003056718A1 (fr) * | 2002-01-04 | 2003-07-10 | Klaus Rock | Procede pour reduire le temps d'attente lors d'une communication de donnees interactive sur un reseau de transmission par satellite |
JP2003256149A (ja) * | 2002-02-27 | 2003-09-10 | Nec Corp | データコピーシステムにおけるデータ転送方法とディスクアレイ装置 |
WO2004088949A2 (fr) * | 2003-04-02 | 2004-10-14 | Rock Technologies Limited | Procede pour reduire le temps d'attente lors de la communication de donnees interactive entre un serveur de terminaux et un ordinateur client de serveur de terminaux dans un reseau de satellites geostationnaires |
WO2004088949A3 (fr) * | 2003-04-02 | 2005-01-27 | Klaus Rock | Procede pour reduire le temps d'attente lors de la communication de donnees interactive entre un serveur de terminaux et un ordinateur client de serveur de terminaux dans un reseau de satellites geostationnaires |
US7359395B2 (en) * | 2003-06-16 | 2008-04-15 | Packeteer, Inc. | Pre-fetch communication systems and methods |
EP1671453A4 (fr) * | 2003-09-10 | 2010-01-20 | Hyperdata Technologies Inc | Optimiseur de protocole internet |
US8553572B2 (en) | 2003-09-10 | 2013-10-08 | Hyperdata Technologies, Inc. | Internet protocol optimizer |
EP1671453A2 (fr) * | 2003-09-10 | 2006-06-21 | Hyperdata Technologies, Inc. | Optimiseur de protocole internet |
DE102004048343B4 (de) | 2004-10-01 | 2022-09-22 | Satcloud Ip Holding Llc | Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation zwischen einem Terminal Server und einem Terminal-Server Client in einem Telekommunikationsnetzwerk, insbesondere einem GSM oder einem UMTS Netzwerk |
EP2007032A3 (fr) * | 2007-05-21 | 2011-08-31 | The Boeing Company | Système et procédé de partage global de gestion aérienne de systèmes de données ou autres fichiers de plates-formes aériennes ou autres sources mondiales |
EP2007032A2 (fr) * | 2007-05-21 | 2008-12-24 | The Boeing Company | Système et procédé de partage global de gestion aérienne de systèmes de données ou autres fichiers de plates-formes aériennes ou autres sources mondiales |
US8811419B2 (en) | 2011-07-26 | 2014-08-19 | Hitachi, Ltd. | Communication device |
CN116248172A (zh) * | 2023-05-08 | 2023-06-09 | 银河航天(北京)网络技术有限公司 | 基于tcp/ip协议和ccsds协议的数据传输方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP3814678B2 (ja) | 2006-08-30 |
CA2361433A1 (fr) | 2000-08-10 |
EP1151375A1 (fr) | 2001-11-07 |
EP1151375A4 (fr) | 2003-10-22 |
IL144658A0 (en) | 2002-05-23 |
WO2000046669A8 (fr) | 2001-03-22 |
WO2000046669A9 (fr) | 2001-09-07 |
JP2004520725A (ja) | 2004-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6654344B1 (en) | Method and system for controlling data flow in an internet over satellite connection | |
US6934255B1 (en) | Internet over satellite apparatus | |
US6584083B1 (en) | Internet over satellite method | |
US6529477B1 (en) | Internet over satellite system | |
US6460085B1 (en) | Method and system for managing memory in an internet over satellite connection | |
JP3814678B2 (ja) | サテライトを介するインターネット | |
EP0829986B1 (fr) | Système visant à améliorer le débit d'une connexion réseau TCP/IP avec un canal retour lent | |
US6757248B1 (en) | Performance enhancement of transmission control protocol (TCP) for wireless network applications | |
US6091733A (en) | Communication device using communication protocol including transport layer and communication method using communication protocol including transport layer | |
US6741555B1 (en) | Enhancement of explicit congestion notification (ECN) for wireless network applications | |
US6831912B1 (en) | Effective protocol for high-rate, long-latency, asymmetric, and bit-error prone data links | |
EP2086187B1 (fr) | Procédé de transmission d'un flux de données avec anticipation des acquittements, dispositif d'entrée correspondant, produit de programme informatique et moyen de stockage | |
US20030131079A1 (en) | Performance enhancing proxy techniques for internet protocol traffic | |
US20020038373A1 (en) | Method and system for improving network performance enhancing proxy architecture with gateway redundancy | |
JP4648457B2 (ja) | 適当な通信プロトコルを用いてメッセージ送信を提供する方法 | |
JPH09510596A (ja) | ハイブリッドネットワークアクセスのための装置および方法 | |
US7480301B2 (en) | Method, system and article for improved TCP performance during retransmission in response to selective acknowledgement | |
EP1232628B1 (fr) | Procédé d'amelioration des capacités | |
US20030046336A1 (en) | Persistent link for broadband mobile platform communicatons systems using proxy servers | |
Wang et al. | Use of TCP decoupling in improving TCP performance over wireless networks | |
EP1052812A2 (fr) | Procédé d'equilibrage de charge de trafic Internet sur un réseau hybride asymetrique terrestre et satellite | |
Peng et al. | Cross‐layer enhancement of TCP split‐connections over satellites links | |
Alfredsson et al. | TCP-L: Allowing bit errors in wireless TCP | |
CA2422919A1 (fr) | Configuration dynamique du protocole tcp pour trafic voix/donnees a faible temps de latence | |
IL144658A (en) | Internet over satellite |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US US US US US US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
AK | Designated states |
Kind code of ref document: C1 Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US US US US US US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: C1 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
CFP | Corrected version of a pamphlet front page | ||
CR1 | Correction of entry in section i |
Free format text: PAT. BUL. 32/2000 UNDER (30) AND (63) REPLACE "NOT FURNISHED" BY "09/493338" |
|
WWE | Wipo information: entry into national phase |
Ref document number: 144658 Country of ref document: IL |
|
ENP | Entry into the national phase |
Ref document number: 2361433 Country of ref document: CA Ref country code: CA Ref document number: 2361433 Kind code of ref document: A Format of ref document f/p: F |
|
ENP | Entry into the national phase |
Ref country code: JP Ref document number: 2000 597684 Kind code of ref document: A Format of ref document f/p: F |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2000907155 Country of ref document: EP |
|
AK | Designated states |
Kind code of ref document: C2 Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US US US US US US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: C2 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
COP | Corrected version of pamphlet |
Free format text: PAGES 1/16-16/16, DRAWINGS, REPLACED BY NEW PAGES 1/16-16/16; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE |
|
WWP | Wipo information: published in national office |
Ref document number: 2000907155 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWR | Wipo information: refused in national office |
Ref document number: 2000907155 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2000907155 Country of ref document: EP |