interactive internet activities are a very popular means for gathering information for business, personal, medical, entertainment and other purposes. Most internet interaction is asymmetrical in nature in that a client's requests for information are much smaller (in data size) than the resulting information delivered by the server. Although the client/internet link is inherently asymmetrical, there remains a great deal of interaction and overhead required between the client and the server that increases the bandwidth needs for the client's upstream request channel. There are many advantages to reducing this upstream traffic volume and thereby making the internet interaction even more asymmetrical. Such compression of request data could allow more clients to utilize a single upstream data path instead of separate paths.
|
0. 17. A method of reducing upstream request data from a client to request information from a server, the method comprising:
receiving a compressed upstream request according to a connection-oriented communication protocol, the compressed upstream request being compressed using an internet driver, wherein a ratio of downstream channel traffic to upstream channel traffic exceeds a ratio of 20:1;
decompressing said compressed upstream request to reconstruct an upstream request from the client;
outputting the upstream request upon a communications network; and
automatically generating a new data request for a given user.
0. 6. A method of reducing upstream request data from a client to request information from a server, the method comprising:
receiving an upstream request;
compressing the upstream request data using an internet driver, thereby generating a compressed upstream request; and
outputting the compressed upstream request using a connection-oriented communication protocol, wherein the compressed upstream request is output on an upstream channel and the requested information is received on a downstream channel having a substantially larger capacity than the upstream channel, wherein a ratio of downstream channel traffic to upstream channel traffic is increased beyond a 20:1 ratio.
0. 29. A client processor for requesting information from a server in a communications network, the client processor comprising a compression unit configured to receive an upstream request, to compress the received request using an internet driver, thereby generating a compressed upstream request, and to output the compressed upstream request using a connection-oriented communication protocol, wherein client processor is connected to an upstream and a downstream channel, and the compressed upstream request is output on the upstream channel and the requested information is received on the downstream channel and a ratio of downstream traffic to upstream traffic is increased beyond a 20:1 ratio.
0. 42. An upstream processor coupled to a client processor via an upstream channel and to a server via a communication network, the upstream processor comprising a decompression unit configured to receive from the client processor a compressed upstream request for information from the server, the compressed upstream request being compressed using an internet driver, wherein a ratio of downstream channel traffic to upstream channel traffic exceeds a ratio of 20:1, and to decompress the compressed upstream request to reconstruct an upstream request from the client, wherein the decompression unit is configured to receive the compressed upstream request according to a connection-oriented communication protocol, wherein said decompression unit is configured to automatically generate a new data request for a given user.
0. 55. In an interactive internet information distribution system in which user stations are connected to the internet by an internet server through an upstream gateway for transmission of information requests to said internet server and downstream gateways for transmission of information from the internet server to the user stations, the improvement wherein each user station includes a processor, said processor including:
(a) an internet browser module,
(b) internet driver means connected to said internet browser module,
(c) compression module connected to said internet driver means for reducing the upstream traffic whereby the ratio of downstream to upstream channel traffic is increased beyond a 20:1 ratio and wherein said upstream gateway includes means for storing a profile of the users connected thereto.
0. 57. In an interactive internet information distribution system in which user stations are connected to the internet by an internet server through an upstream gateway for transmission of information requests to said internet server and downstream gateways for transmission of information from the internet server to the user stations, the improvement wherein each user station includes a processor, said processor including:
(a) an internet browser module,
(b) internet driver means connected to said internet browser module,
(c) compression module connected to said internet driver means for reducing the upstream traffic whereby the ratio of downstream to upstream channel traffic is increased beyond a 20:1 ratio and wherein said upstream gateway includes means for automatically generating a new data request for a given user.
0. 56. In an interactive internet information distribution system in which user stations are connected to the internet by an internet server through an upstream gateway for transmission of information requests to said internet server and downstream gateways for transmission of information from the internet server to the user stations, the improvement wherein each user station includes a processor, said processor including:
(a) an internet browser module,
(b) internet driver means connected to said internet browser module,
(c) compression module connected to said internet driver means for reducing the upstream traffic whereby the ratio of downstream to upstream channel traffic is increased beyond a 20:1 ratio and wherein said upstream gateway is adapted to perform protocol overhead functions and includes means for storing a profile of the users connected thereto.
1. In an interactive internet information distribution system in which user stations are connected to the internet by an internet server through an upstream gateway for transmission of information requests to said internet server and downstream gateways for transmission of information from the internet server to the user stations, the improvement wherein each user station includes a processor, said processor including:
(a) means for interfacing with the user,
(b) an internet browser module connected to said interfacing means,
(c) internet driver means connected to said internet browser means,
(d) compression module connected to said internet driver means for reducing the upstream traffic whereby the ratio of downstream to upstream channel traffic is increased beyond a 20:1 ratio and wherein said upstream gateway includes means for storing a profile of the users connected thereto.
3. In an interactive internet information distribution system in which user stations are connected to the internet by an internet server through an upstream gateway for transmission of information requests to said internet server and downstream gateways for transmission of information from the internet server to the user stations, the improvement wherein each user station includes a processor, said processor including:
(a) means for interfacing with the user,
(b) an internet browser module, connected to said interfacing means,
(c) internet driver means connected to said internet browser means,
(d) compression module connected to said internet driver means for reducing the upstream traffic whereby the ratio of downstream to upstream channel traffic is increased beyond a 20:1 ratio and wherein said upstream gateway includes means for automatically generating a new data request for a given user.
2. In an interactive internet information distribution system in which user stations are connected to the internet by an internet server through an upstream gateway for transmission of information requests to said internet server and downstream gateways for transmission of information from the internet server to the user stations, the improvement wherein each user station includes a processor, said processor including:
(a) means for interfacing with the user,
(b) an internet browser module connected to said interfacing means,
(c) internet driver means connected to said internet browser means,
(d) compression module connected to said internet driver means for reducing the upstream traffic whereby the ratio of downstream to upstream channel traffic is increased beyond a 20:1 ratio and wherein said upstream gateway is adapted to perform protocol overhead functions and includes means for storing a profile of the users connected thereto.
4. The information distribution system defined in
5. The information distribution system defined in
0. 7. The method of
0. 8. The method of
0. 9. The method of
0. 10. The method of
0. 11. The method of
0. 12. The method of
0. 13. The method of
0. 14. The method of
0. 15. The method of
0. 16. The method of
0. 18. The method of
0. 19. The method of
0. 20. The method of
0. 21. The method of
0. 22. The method of
0. 23. The method of
0. 24. The method of
0. 25. The method of
receiving the information from the server in response to outputting the upstream request;
generating a request for additional information based on a reference identified within the received information;
outputting the generated request upon said communications network.
0. 26. The method as defined in
0. 27. The method of
0. 28. The method of
0. 30. The client processor of
0. 31. The client processor of
0. 32. The client processor of
0. 33. The client processor of
0. 34. The client processor of
0. 35. The client processor of
0. 36. The client processor of
0. 37. The client processor of
0. 38. The client processor of
0. 39. The client processor of
0. 40. The client processor of
0. 41. The client processor of
0. 43. The upstream processor of
0. 44. The upstream processor of
0. 45. The upstream processor of
0. 46. The upstream processor of
0. 47. The upstream processor of
0. 48. The upstream processor of
0. 49. The upstream processor of
0. 50. The upstream processor of
0. 51. The upstream processor of
means for receiving the information from the server in response to outputting the upstream request;
means for generating a request for additional information based on a reference within the received information; and
means for outputting the generated request upon said communications network.
0. 52. The upstream processor of
0. 53. The upstream processor of
0. 54. The upstream processor of
|
This invention relates to interactive information requests over the internet.
To gain access to the internet, a client (user) will typically login into an Internet Service Provider (ISP) via a telephone or ISDN modem. This connection is typically a medium data rate (i.e., 9.6 to 28.8 kbps), symmetrical connection. However, the client is typically searching for information, which leads to asymmetric communications. For example, a client (user) requesting a file download will send a small upstream request (e.g., 200 bytes) but receive a large file (e.g. 200 kbytes) in return from the server. In these types of connection the downstream channel (i.e., return link) is the bottleneck.
The typical volume of downstream data to upstream data ratio is from 10:1 to 20:1. Currently, asymmetrical channel services are being deployed (e.g., satellite broadcast, cable modems, ADSL, etc.) to take advantage of this ratio and reduce this downstream bottleneck. These services typically increase the downstream channel capacity by using a media with wider bandwidth (e.g., co-axial cable), and maintain or allocate a smaller bandwidth connection for the upstream user request channel. In some cases (such as satellite broadcast), an upstream channel path, independent of the downstream channel path, is utilized.
The Internet is a packet switch network, where the defacto protocol standard is TCP/IP. The Internet Protocol (IP) provides the basic addressing scheme for internet routing (where the information goes). Transmission Control Protocol (TCP) is very robust protocol designed for error-free bulk data transfer and error detection and correction. On top of TCP/IP, an additional serial interface, protocol (e.g., PPP or SLIP) is used for connection with an ISP. From the standpoint of upstream channel efficiency, a typical internet request has a high degree of packet overhead to accommodate the layers of protocol, the error correction, and the data coding scheme.
Browsing on the World Wide Web (WWW) (one of the most popular activities on the internet) also leads to inefficient use of the upstream channel. This browsing is based on the HyperText Transfer Protocol (HTTP). Typically, a user sends an HTTP request for a Web Page to a particular server on the internet and the server responds with requested information. This transaction takes several phases (i.e., Connect, Request, Response, Close) to complete. In addition, the requested information from the server is most commonly an HTTP file which references graphical images, audio files, and/or additional text. The browser will then automatically request the additional information (unless the user has manually selected to filter out certain high bandwidth file requests from being made). It is not uncommon for an initial request of a web page to trigger 20 more requests which are required to complete the transaction and build the image seen through the browser.
Although the implementation of asymmetrical internet connections has made internet interaction more efficient, there is yet more compression that can occur to make the upstream channel even more compact.
In this invention, the upstream traffic between the Client and the Upstream Gateway is compressed and reduced with the bulk of the internet communication performed at the Upstream and (in some cases) Downstream Gateway. This allows more users to be placed on multiple access upstream channels and/or reduce the user cost on a charge-by-the-byte upstream channel. This invention exploits the architecture of the Indirect Network Connection that is utilized in an asymmetrical internet connection as well as the characteristic that the upstream channel from the Client to the Upstream Gateway is a point-to-point connection.
This invention utilizes four types of compression to reduce upstream channel traffic so that the ratio of downstream to upstream channel traffic is increased significantly beyond the 20:1 ratio that is now experienced:
(1) Format compression of request packets.
The typical browser request contains ASCII symbols with characters and patterns that are commonly repeated. For example, in the request:
http://www.cnn.com/SPORTS/FOOTBALL/college/96/news.usarate.html
“/” and “.” are the most common characters. Patterns like “http://”, “www”, “.com”, and “.html” are also common. A simple statistical compression or linear predication scheme could reduce the number of bytes required for a request and would be appropriate for this real-time compression application.
Software running at the Client site could operate beneath the browser to compress the ASCII text requests prior to their TCP/IP formatting and the full, uncompressed, request would be regenerated at the Upstream Gateway.
(2) Perform TCP and IP packetizinq at the Upstream Gateway rather than at the Client:
Since the upstream channel between the Client and the Upstream Gateway is a point-to-point link, the packet overhead of TCP and IP are not necessarily required. Software running at the Client site would operate beneath the browser to bypass the TCP/IP packet formation after the initial connection is established. The Upstream Gateway would then take the requests and add the TCP/IP overhead prior to transmission to the Internet.
(3) Keep a User Profile at the Upstream Gateway:
A large database could be implemented at the Upstream Gateway which stores a Client's previous data requests. Software running at the Client site would operate beneath the browser to send a short address reference message to the Upstream Gateway to indicate a previously requested site instead of sending an entire request sequence. The Upstream Gateway, in turn, would look up the short address reference in the database for that Client in order to send out the complete data request to the Internet. This could be implemented with a “Go back “N” requests” scheme or a Bookmark scheme similar to those on a typical browser.
(4) Automatically generate additional HTTP requests:
The fact that a single web page likely requires multiple data requests from the Client is the largest contributor to upstream data traffic. Instead of the Client system sending the automatic subsequent requests for additional data (referenced by the initial HTTP file delivered from the Server), the gateways could be programmed to receive the first request response from a server and automatically make all of the subsequent file requests for the Client. Each of the requested files would then be downloaded to the Client on the downstream channel as they are received. This makes it possible to have only one data request to be sent by the Client on the upstream channel (instead of a multitude) to assemble a web page.
In addition to the higher HTTP level compression, the gateways could also handle the lower HTTP level of connection, request, response, and close messages with the Internet so that the Client would not be required to send all of these separate messages on the upstream channel.
The Upstream and Downstream Gateways could operate in concert for this service, or they could operate independently with one gateway or the other managing the proxy requests.
Software running at the Client site would operate beneath the browser to manage these compression functions. In addition, should the Client wish to filter out the request of certain files (e.g. to speed up their internet session or to reduce downstream bandwidth), the compression management software could send a message to the gateways to indicate this and only the desired files would be automatically requested by the gateways.
The above and other objects, advantages and features of the invention will become more clear when considered with the following description and accompanying drawings, wherein:
The upstream channel traffic from a Client can be significantly reduced, increasing the number of users on a multiple access upstream channel or reducing the required bandwidth for a single user. This is accomplished by:
One or more of these techniques may be used to “compress” data traffic on the upstream request channel.
While the invention has been described in relation to preferred embodiments of the invention, it will be appreciated that other embodiments, adaptations and modifications of the invention will be apparent to those skilled in the art.
Smallcomb, Joseph, Daniel, Ray Allen
Patent | Priority | Assignee | Title |
10659558, | Nov 16 2012 | International Business Machines Corporation | Saving bandwidth in transmission of compressed data |
Patent | Priority | Assignee | Title |
5136291, | Nov 30 1990 | UNISYS CORPORATION, A CORP OF DE | Transmitting binary data files using electronic mail |
5307413, | Jul 19 1991 | CLUSTER, LLC; Optis Wireless Technology, LLC | Method and apparatus for adding data compression and other services in a computer network |
5534913, | Mar 31 1994 | THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT | Apparatus and method for integrating downstream data transfer over a cable television channel with upstream data carrier by other media |
5535199, | Sep 06 1994 | Sun Microsystems, Inc | TCP/IP header compression X.25 networks |
5555377, | Dec 20 1993 | IBM Corporation | System for selectively compressing data transferred in network in response to produced first output when network utilization exceeds first threshold and data length over limit |
5557749, | Oct 15 1992 | Micron Technology, Inc | System for automatically compressing and decompressing data for sender and receiver processes upon determination of a common compression/decompression method understood by both sender and receiver processes |
5627829, | Oct 07 1993 | SAMSUNG ELECTRONICS CO , LTD | Method for reducing unnecessary traffic over a computer network |
5668737, | Mar 22 1995 | Qualcomm Incorporated | High-speed data processor and coding method |
5673322, | Mar 22 1996 | RAKUTEN, INC | System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks |
5673392, | Apr 26 1994 | Murata Mfg. Co., Ltd. | Method of executing communication program in modem apparatus |
5732216, | Oct 02 1996 | PERSONAL AUDIO LLC | Audio message exchange system |
5732219, | Mar 17 1995 | Microsoft Technology Licensing, LLC | Computer system and computer-implemented process for remote editing of computer files |
5742773, | Apr 18 1996 | Microsoft Technology Licensing, LLC | Method and system for audio compression negotiation for multiple channels |
5867112, | May 14 1997 | Software method of compressing text and graphic images for storage on computer memory | |
6115384, | Jun 20 1996 | VENTURI WIRELESS, INC | Gateway architecture for data communication bandwidth-constrained and charge-by-use networks |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 15 2001 | ITT Manufacturing Enterprises, Inc. | (assignment on the face of the patent) | / | |||
Mar 22 2013 | Exelis Inc | RPX Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 030146 | /0905 |
Date | Maintenance Fee Events |
Feb 20 2007 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Feb 27 2007 | ASPN: Payor Number Assigned. |
Feb 17 2011 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Apr 24 2013 | ASPN: Payor Number Assigned. |
Apr 24 2013 | RMPN: Payer Number De-assigned. |
Date | Maintenance Schedule |
Mar 14 2009 | 4 years fee payment window open |
Sep 14 2009 | 6 months grace period start (w surcharge) |
Mar 14 2010 | patent expiry (for year 4) |
Mar 14 2012 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 14 2013 | 8 years fee payment window open |
Sep 14 2013 | 6 months grace period start (w surcharge) |
Mar 14 2014 | patent expiry (for year 8) |
Mar 14 2016 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 14 2017 | 12 years fee payment window open |
Sep 14 2017 | 6 months grace period start (w surcharge) |
Mar 14 2018 | patent expiry (for year 12) |
Mar 14 2020 | 2 years to revive unintentionally abandoned end. (for year 12) |