Nova Patents
EP1151375A1

Internet over satellite

Abstract

This record has no abstract on file.

Term

Term ended

Projected expiry passed 2 February 2020, 6.6 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

99 claims: 17 independent, 82 dependent

  1. 1
    Claims of equivalent WO 0046669 A1 WHAT IS CLAIMED IS:1. A communication apparatus for transmitting packetized information, said information comprising a plurality of packets, each of said packets comprising data and a header, over a satellite link in a telecommunications system, said system comprising a client, selected from a plurality of potential clients, a server, selected from a plurality of potential servers, a first gateway, connected to said client by a first telecommunications link, a second gateway, connected to said server by a second telecommunications link, a third telecommunications link connecting said first gateway to said second gateway, said apparatus comprising: a network interface for linking said first gateway with said client;a satellite gateway interface;a system memory;and a bus interconnecting said network interface, said satellite gateway interface, and said system memory with a processor, said processor operatively disposed to: intercept a connection with said server, said communication initiated by said client;establish a connection between said first gateway and said second gateway over said telecommunications link;provide a bi-directional flow of information from said client to said server and from said server to said client using said connection between said first gateway and said second gateway, wherein said providing a bi-directional flow occurs transparently to said client and said server.
  2. 5
    A communication apparatus comprising:a TCP interface;a satellite gateway interface;a system memory;a bus interconnecting said TCP interface, said satellite gateway interface and said system memory with a processor, said processor operatively disposed to: intercept a first communication connection between a client and a server;form a second communication connection between a first satellite gateway and a second satellite gateway that is over a satellite link;transmit information describing said first connection to said second satellite gateway;and form a third communication connection between said second satellite gateway and a destination server using said information describing said first connection wherein said forming said second connection and forming said third connection occur transparently to said client and said server.
  3. 10
    A apparatus for establishing a communication between a first computer and one of a plurality of second computers, said apparatus comprising:a network interface;a satellite gateway interface;a system memory;a bus interconnecting said network interface, said satellite gateway interface and said system memory with a processor, said processor operatively disposed to: provide a first protocol and a second protocol, wherein at least one of said plurality of second computers is able to communicate with said first computer using said first protocol and at least one of said plurality of second computers is able to communicate with said first computer using said second protocol;determine whether a connection can be established between said first computer and at least one of said plurality of second computers using said first protocol;if said connection cannot be established, then establish a connection between said first computer and said at least one of said plurality of second computers using said second protocol.
  4. 17
    In a communications system for providing transport of packetized information in a TCP protocol between a client and a server, a method of converting said system to a system for providing transport of packetized information in a satellite protocol, said method comprising:installing a first gateway, said first gateway operatively disposed to intercept connections from said client to said server;said first gateway further operatively disposed to convert said packetized information from TCP protocol to satellite protocol;installing a second gateway, said second gateway disposed to establish a connection with said server, said second gateway further operatively disposed to convert said packetized information from satellite protocol to TCP protocol, said first gateway and said second gateway operatively disposed to establish a connection over a common telecommunications link.
  5. 18
    A communication system for transmitting packetized information, said information comprising a plurality of packets, each of said packets comprising data and a header, over a satellite link, said system comprising:a client, selected from a plurality of potential clients;a server, selected from a plurality of potential servers;a first gateway, connected to said client by a first telecommunications link;a second gateway, connected to said server by a second telecommunications link;a third telecommunications link connecting said first gateway to said second gateway;code for intercepting a connection attempt with said server, said connection attempt initiated by said client;code for establishing a connection between said first gateway and said second gateway over said third telecommunications link;code for providing a bi-directional flow of information from said client to said server and from said server to said client using said connection between said first gateway and said second gateway, wherein said providing a bi-directional flow occurs transparently to said client and said server;and a computer readable storage medium for storing said codes.
  6. 24
    A communication system comprising:code for intercepting a first communication connection between a client and a server;code for forming a second communication connection between a first satellite gateway and a second satellite gateway that is over a satellite link;code for transmitting information describing said first connection to said second satellite gateway;code for forming a third communication connection between said second satellite gateway and a destination server using said information describing said first connection wherein said code for forming said second connection and code for forming said third connection execute transparently to said client and said server;and a computer readable storage medium for holding said codes.
  7. 26
    A system for establishing a communication between a first computer and one of a plurality of second computers, said system comprising:code for providing a first protocol and a second protocol, wherein at least one of said plurality of second computers is able to communicate with said first computer using said first protocol and at least one of said plurality of second computers is able to communicate with said first computer using said second protocol;code for determining whether a connection can be established between said first computer and at least one of said plurality of second computers using said first protocol;code for establishing a connection between said first host computer and said at least one of said plurality of second host computers using said second protocol, if said code for determining determines that a connection cannot be established between said first computer and said second computer using said first protocol;and a computer readable storage medium for holding said codes.
  8. 30
    A communication method for transmitting information, said information comprising a plurality of packets, each of said packets comprising data and a header, in a system comprising a client, selected from a plurality of potential clients; a server, selected from a plurality of potential servers; a first gateway, connected to said client by a first telecommunications link; a second gateway, connected to said server by a second telecommunications link; a third telecommunications link connecting said first gateway to said second gateway, said method comprising:intercepting a connection attempt with said server, said connection attempt initiated by said client;establishing a connection between said first gateway and said second gateway over said third telecommunications link;providing a bi-directional flow of information from said client to said server and from said server to said client using said connection between said first gateway and said second gateway, wherein said providing a bi-directional flow occurs transparently to said client and said server.
  9. 38
    A communication method comprising:intercepting a first communication connection between a client and a server;forming a second communication connection between a first satellite gateway and a second satellite gateway that is over a satellite link;transmitting information describing said first connection to said second satellite gateway;and forming a third communication connection between said second satellite gateway and a destination server using said information describing said first connection wherein said forming said second connection and forming said third connection occurs transparently to said client and said server.
  10. 43
    A method for establishing a communication between a first computer and one of a plurality of second computers, said method comprising:providing a first protocol and a second protocol, wherein at least one of said plurality of second computers is able to communicate with said first computer using said first protocol and at least one of said plurality of second computers is able to communicate with said first computer using said second protocol;determining whether a connection can be established between said first computer and at least one of said plurality of second computers using said first protocol;establishing a connection between said first computer and said at least one of said plurality of second computers using said second protocol if said determining step determines that a connection cannot be established between said first computer and said second computer using said first protocol.
  11. 48
    A method for managing memory for buffering information, said information comprising a plurality of packets, each of said packets comprising data and a header, in a system comprising a client, selected from a plurality of potential clients; a server, selected from a plurality of potential servers; a first gateway, connected to said client by a first telecommunications link, said first gateway comprising a first buffer and a second buffer; a second gateway, connected to said server by a second telecommunications link; a third telecommunications link connecting said first gateway to said second gateway, said method comprising:intercepting a connection attempt with said server, said cormection attempt initiated by said client, said client capable of establishing connections at a first characteristic data rate;establishing a connection between said first gateway and said second gateway over said third telecommunications link, said connection having a second characteristic data rate;wherein said first buffer stores information received over said third telecommunications link and said second buffer stores information for said client;determining a state in said first buffer, said state indicating that said second characteristic data rate in said third telecommunications link is greater than said first characteristic data rate for said client;and setting a receive window size for said client at said first gateway to reduce an amount of data received over said third telecommunications link for said client.
  12. 55
    A computer program product for managing memory for buffering information, said information comprising a plurality of packets, each of said packets comprising data and a header, in a system comprising a client, selected from a plurality of potential clients; a server, selected from a plurality of potential servers; a first gateway, connected to said client by a first telecommunications link, said first gateway comprising a first buffer and a second buffer; a second gateway, connected to said server by a second telecommunications link; a third telecommunications link connecting said first gateway to said second gateway, said computer program product comprising:code for intercepting a connection attempt with said server, said connection attempt initiated by said client, said client capable of establishing connections at a first characteristic data rate;code for establishing a connection between said first gateway and said second gateway over said third telecommunications link, said connection having a second characteristic data rate;wherein said first buffer stores information received over said third telecommunications link and said second buffer stores information for said client;code for determining a state in said first buffer, said state indicating that said second characteristic data rate in said third telecommunications link is greater than said first characteristic data rate for said client;code for setting a receive window size for said client at said first gateway to reduce an amount of data received over said third telecommunications link for said client;and a computer readable storage medium for holding the codes.
  13. 62
    A system for managing memory for buffering a flow of information over a satellite, said system comprising:a client, selected from a plurality of potential clients;a server, selected from a plurality of potential servers;a first gateway, connected to said client by a first telecommunications link, said first gateway comprising a first buffer and a second buffer;a second gateway, connected to said server by a second telecommunications link;a third telecommunications link connecting said first gateway to said second gateway;wherein said first gateway is operatively disposed to: intercept a connection attempt with said server, said connection attempt initiated by said client, said client capable of establishing connections at a first characteristic data rate;establish a connection between said first gateway and said second gateway over said third telecommunications link, said connection having a second characteristic data rate;wherein said first buffer stores information received over said third telecommunications link and said second buffer stores information for said client;determine a state in said first buffer, said state indicating that said second characteristic data rate in said third telecommunications link is greater than said first characteristic data rate for said client;and set a receive window size for said client at said first gateway to reduce an amount of data received over said third telecommunications link for said client.
  14. 69
    A method for controlling the flow of information, said information comprising a plurality of packets, each of said packets comprising data and a header, in a system comprising a client, selected from a plurality of potential clients; a server, selected from a plurality of potential servers; a first gateway, connected to said client by a first telecommunications link; a second gateway, connected to said server by a second telecommunications link; a third telecommunications link connecting said first gateway to said second gateway, said method comprising:intercepting a connection attempt with said server, said connection attempt initiated by said client;establishing a connection between said first gateway and said second gateway over said third telecommunications link;determining a round trip time for data to travel from said first gateway to said second gateway over said connection;determining a data rate for said connection;determining a bandwidth delay product from said round trip time and said data rate;determining a flow control limit for said connection from said bandwidth delay product;and limiting data transfer over said connection based upon said flow control limit.
  15. 79
    A system for controlling the flow of information over a satellite, said system comprising:a client, selected from a plurality of potential clients;a server, selected from a plurality of potential servers;a first gateway, connected to said client by a first telecommunications link;a second gateway, connected to said server by a second telecommunications link;a third telecommunications link connecting said first gateway to said second gateway;wherein said client is operatively disposed to determine a round trip time for data to traverse from said first gateway over said third telecommunications link to said second gateway over a connection;determine a data rate for said connection;determine a bandwidth delay product from said round trip time and said data rate;determine a flow control limit for said connection from said bandwidth delay product;and limit data transfer over said connection based upon said flow control limit.
  16. 89
    A computer program product for controlling the flow of information over a data link, said data link having at least one of a plurality of connections, said computer program product comprising:code for determining a round trip time for data to traverse said data link on said connection;code for determining a data rate for said connection;code for determining a bandwidth delay product from said round trip time and said data rate;code for determining a flow control limit for said connection from said bandwidth delay product;code for limiting data transfer over said connection based upon said flow control limit;and a computer readable storage medium for containing the codes.
  17. 99
    A method for controlling the flow of information over a satellite data link, said satellite data link having at least one of a plurality of connections, said method comprising:determining a round trip time for data to travel from a first node on said satellite data link to a second node on said satellite data link over said connection;determining a data rate for said connection;determining a bandwidth delay product from said round trip time and said data rate;determining a flow control limit for said connection from said bandwidth delay product;and limiting data transfer over said connection based upon said flow control limit.
Independent claims17