[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

EPA-Patent auf Dateneinsparung bei mobiler TCP-Kommunikation



EP0823173 
Method and apparatus of using virtual sockets for reducing data transmitted 
over a wireless communication link between a client web browser and a 
host web server using a standard TCP protocol
IBM (US)


   Claims
   
   That which is claimed is:
   1. A method of reducing the data transmitted over a communication link
   from a first application resident in a first computer and to a second
   application resident in a second computer wherein the data is
   transmitted over an external communication link from the first
   computer to the second computer utilizing the TCP communication
   protocol, the method comprising:
   establishing a first virtual socket in the first computer in response
   to each connection request by the first application for receiving
   request data originated by the first application;
   establishing a first real socket in the first computer and a second
   real socket in the second computer to connect the first computer to
   the second computer over the external communication link
   establishing in the second computer a second virtual socket for each
   connection request by the first application wherein the second virtual
   socket corresponds to a first virtual socket established in the first
   computer in response to a connection request by the first application;
   multiplexing request data associated with a first virtual socket onto
   the first real socket;
   transmitting the multiplexed request data over the external
   communication link utilizing the TCP protocol to the second real
   socket;
   receiving the multiplexed request data from the external communication
   link;
   demultiplexing the request data received by the second real socket
   from the external communication link;
   providing the demultiplexed request data to the second virtual socket
   which corresponds to the first virtual socket established in response
   to the request from the first application;
   providing the request data received by the second virtual socket to
   the second application; and
   maintaining the first and second real sockets until the request data
   corresponding to a request from the first application which
   established a first virtual socket has been provided to the second
   application.

Mit diesem Hauptanspruch ist IBM in Europa zum Eigentuemer des Problems
der Dateneinsparung durch Buendelung mehrerer Anfragen auf einem Kanal bei
Internet-Verbindungen geworden.  Dies ist besonders fuer die mobile
Kommunikation bei geringen Datenuebertragungsraten hilfreich.  Jeder
diesbezuegliche Standard wird also entweder mit langsamer Uebertragung
vorlieb nehmen oder dem Willen von IBM unterworfen sein.

Oder habe ich etwas uebersehen?

   2. The method of claim 1 further comprising the steps of:
   receiving response data from the second application in response to a
   request from the first application at the second virtual socket
   associated with the request from the first application;
   multiplexing the response data received by the second virtual socket
   onto the second real socket;
   transmitting the multiplexed response data over the external
   communication link utilizing the TCP communication protocol to the
   first real socket;
   receiving the multiplexed response data from the external
   communication link;
   demultiplexing the response data received by the first real socket;
   providing the demultiplexed response data to the first virtual socket
   which corresponds to the request from the first application as the
   response to the request from the first application; and
   providing the response data received by the first virtual socket to
   the first application.
   3. The method of claim 2 further comprising the steps of:
   closing the second virtual socket after the response data is
   multiplexed; and
   closing the first virtual socket after the response data is provided
   to the first application.
   4. The method of claim 3 wherein said maintaining step comprises
   closing the first and second real sockets when all first virtual
   sockets are closed.
   5. The method of claim 3 wherein said maintaining step comprises
   maintaining the first and second real sockets for a predetermined time
   after all first virtual sockets are closed.
   6. The method of claim 1 wherein the first application comprises a web
   server and the second application comprises a web browser.
   7. The method of claim 1 wherein the external communication link
   comprises a wireless communication link.
   8. An apparatus for reducing the data transmitted over a communication
   link from a first application resident in a first computer and to a
   second application resident in a second computer wherein the data is
   transmitted over an external communication link from the first
   computer to the second computer utilizing the TCP communication
   protocol, the apparatus comprising:
   means for establishing a first virtual socket in the first computer in
   response to each connection request by the first application for
   receiving request data originated by the first application;
   means for establishing a first real socket in the first computer and a
   second real socket in the second computer to connect the first
   computer to the second computer over the external communication link
   means for establishing in the second computer a second virtual socket
   for each connection request by the first application wherein the
   second virtual socket corresponds to a first virtual socket
   established in the first computer in response to a connection request
   by the first application;
   means for multiplexing request data associated with a first virtual
   socket onto the first real socket;
   means for transmitting the multiplexed request data over the external
   communication link utilizing the TCP protocol to the second real
   socket;
   means for receiving the multiplexed request data from the external
   communication link;
   means for demultiplexing the request data received by the second real
   socket from the external communication link;
   means for providing the demultiplexed request data to the second
   virtual socket which corresponds to the first virtual socket
   established in response to the request from the first application;
   means for providing the request data received by the second virtual
   socket to the second application; and
   means for maintaining the first and second real sockets until the
   request data corresponding to a request from the first application
   which established a first virtual socket has been provided to the
   second application.
   9. The apparatus of claim 8 further comprising the steps of:
   means for receiving response data from the second application in
   response to a request from the first application at the second virtual
   socket associated with the request from the first application;
   means for multiplexing the response data received by the second
   virtual socket onto the second real socket;
   means for transmitting the multiplexed response data over the external
   communication link utilizing the TCP communication protocol to the
   first real socket;
   means for receiving the multiplexed response data from the external
   communication link;
   means for demultiplexing the response data received by the first real
   socket;
   means for providing the demultiplexed response data to the first
   virtual socket which corresponds to the request from the first
   application as the response to the request from the first application;
   and
   means for providing the response data received by the first virtual
   socket to the first application.
   10. The apparatus of claim 9 further comprising the steps of:
   means for closing the second virtual socket after the response data is
   multiplexed; and
   means for closing the first virtual socket after the response data is
   provided to the first application.
   11. The apparatus of claim 10 wherein said means for maintaining
   comprises means for closing the first and second real sockets when all
   first virtual sockets are closed.
   12. The apparatus of claim 10 wherein said means for maintaining
   comprises means for maintaining the first and second real sockets for
   a predetermined time after all first virtual sockets are closed.
   13. The apparatus of claim 8 wherein the first application comprises a
   web server and the second application comprises a web browser.
   14. The apparatus of claim 8 wherein the external communication link
   comprises a wireless communication link.
   15. A computer program product for reducing the data transmitted over
   a communication link from a first application resident in a first
   computer and to a second application resident in a second computer
   wherein the data is transmitted over an external communication link
   from the first computer to the second computer utilizing the TCP
   communication protocol, the computer program product comprising:
   a computer-readable storage medium having computer-readable program
   code means embodied in said medium, said computer-readable program
   code means comprising:
   computer readable program code means for establishing a first virtual
   socket in the first computer in response to each connection request by
   the first application for receiving request data originated by the
   first application;
   computer readable program code means for establishing a first real
   socket in the first computer and a second real socket in the second
   computer to connect the first computer to the second computer over the
   external communication link computer readable program code means for
   establishing in the second computer a second virtual socket for each
   connection request by the first application wherein the second virtual
   socket corresponds to a first virtual socket established in the first
   computer in response to a connection request by the first application;
   computer readable program code means for multiplexing request data
   associated with a first virtual socket onto the first real socket;
   computer readable program code means for transmitting the multiplexed
   request data over the external communication link utilizing the TCP
   protocol to the second real socket;
   computer readable program code means for receiving the multiplexed
   request data from the external communication link;
   computer readable program code means for demultiplexing the request
   data received by the second real socket from the external
   communication link;
   computer readable program code means for providing the demultiplexed
   request data to the second virtual socket which corresponds to the
   first virtual socket established in response to the request from the
   first application;
   computer readable program code means for providing the request data
   received by the second virtual socket to the second application; and
   computer readable program code means for maintaining the first and
   second real sockets until the request data corresponding to a request
   from the first application which established a first virtual socket
   has been provided to the second application.
   16. The computer program product of claim 15 further comprising the
   steps of:
   computer readable program code means for receiving response data from
   the second application in response to a request from the first
   application at the second virtual socket associated with the request
   from the first application;
   computer readable program code means for multiplexing the response
   data received by the second virtual socket onto the second real
   socket;
   computer readable program code means for transmitting the multiplexed
   response data over the external communication link utilizing the TCP
   communication protocol to the first real socket;
   computer readable program code means for receiving the multiplexed
   response data from the external communication link;
   computer readable program code means for demultiplexing the response
   data received by the first real socket;
   computer readable program code means for providing the demultiplexed
   response data to the first virtual socket which corresponds to the
   request from the first application as the response to the request from
   the first application; and
   computer readable program code means for providing the response data
   received by the first virtual socket to the first application.
   17. The computer program product of claim 16 further comprising the
   steps of:
   computer readable program code means for closing the second virtual
   socket after the response data is multiplexed; and
   computer readable program code means for closing the first virtual
   socket after the response data is provided to the first application.
   18. The computer program product of claim 17 wherein said computer
   readable program code means for maintaining comprises computer
   readable program code means for closing the first and second real
   sockets when all first virtual sockets are closed.
   19. The computer program product of claim 17 wherein said computer
   readable program code means for maintaining comprises computer
   readable program code means for maintaining the first and second real
   sockets for a predetermined time after all first virtual sockets are
   closed.
   20. The computer program product of claim 15 wherein the first
   application comprises a web server and the second application
   comprises a web browser.
   21. The computer program product of claim 15 wherein the external
   communication link comprises a wireless communication link.
     _________________________________________________________________
   
   Data supplied from the esp@cenet database - l2