Patent Publication Number: US-6904455-B1

Title: Method and system for providing local content for use in partially satisfying internet data requests from remote servers

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of: (i) U.S. Provisional Patent Application No. 60/167,516, filed Nov. 24, 1999, and entitled “REDUCTION OF DELAY AND BANDWIDTH REQUIREMENTS IN INTERNET DATA TRANSFER,” which is hereby incorporated by reference herein; and (ii) U.S. Provisional Patent Application No. 60/188,982, filed Mar. 13, 2000, and entitled “REDUCTION OF DELAY AND BANDWIDTH REQUIREMENTS IN INTERNET DATA TRANSFER,” which is hereby incorporated by reference herein; and (iii) U.S. Provisional Patent Application No. 60/210,229, filed Jun. 6, 2000, and entitled “METHOD AND SYSTEM FOR PROVIDING LOCAL CONTENT FOR USE IN PARTIALLY SATISFYING INTERNET DATA REQUESTS FROM REMOTE SERVERS.” 
     This application is also related to U.S. Provisional Patent Application No. 60/221,873, filed Jul. 29, 2000, and entitled “METHOD AND SYSTEM FOR FACILITATING USAGE OF LOCAL CONTENT AT CLIENT MACHINE,” and which is hereby incorporated by reference herein. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to networks and, more particularly, to data transmission over networks. 
     2. Description of the Related Art 
     The Internet or the World Wide Web is a global network of interconnected computers. Clients or users can access files or documents, e.g., hypermedia documents, residing on host website computers connected to the Internet through a network browser interface program. Examples of network browser interface program include Netscape Navigator or Microsoft Explorer. One type of hypermedia documents is commonly referred to as web pages. Sites (websites) or documents on the Internet are typically chosen by a user by entering a site address, i.e., a URL (uniform resource locator), or by a selection of a link on a displayed web page. The links are typically associated with an HyperText Markup Language (HTML) environment and can be represented by an image, icon, or text label in a web page. 
     Unfortunately, due to the increased popularity of the Internet and due to the increase in file size of web pages, traffic and congestion on the Internet continue to increase. One reason why web pages being requested are get larger is due the increased use graphic components by websites. It is becoming increasing popular for websites to utilize media-rich web pages. The more media-rich a web page is, the larger its size. Hence, media-rich web pages lead to increased traffic and congestion burdens on various aspects of the Internet and servers coupled thereto. Conventional solutions to these traffic or congestion problems have caused website owners to increase the number of servers they operate and have caused website owners to lease additional bandwidth for coupling their servers to the Internet, both of which are expensive solutions. 
     The increases in the file sizes of web pages also burdens the clients (users) of client machines attempting to obtain web pages from servers over the Internet. Given that client machines couple to the Internet over bandwidth-limited links, clients face increasing delays. Typically, the bandwidth-limited links are provided by an Internet Service Provider (ISP). Examples of the links include plain old telephone (POT) line, ISDN line, DSL line, or cable line. While some links support more bandwidth, the additional bandwidth comes at a cost to the clients. Regardless, of the link, as the size of web pages get larger, the longer it takes to download the files to the client machine. Hence, as files (e.g., web pages) become larger (e.g., more media rich), the longer they take to be downloaded to the client machines. While media-rich web pages offer great ability to hold users&#39; interest, download delays frustrate users and can cause loss of traffic to websites. 
     Therefore, there is a need for improved techniques for efficiently and economically delivering web pages to client machines. 
     SUMMARY OF THE INVENTION 
     Broadly speaking, the invention relates to improved techniques for data delivery from a server machine to client machines through a network. The techniques reduce the demands on connection bandwidth between the client machines and the network, and thus enable media-rich data to be delivered with reduced amounts of network bandwidth. The techniques also reduce the bandwidth demands on network servers and overall network infrastructure. 
     According to one aspect, the invention relates to techniques for efficient delivery of data to local client machines. The invention provides efficient data delivery by subsidizing remotely available content from remote servers on the network with locally available content. The locally available content can be provided to the local client-machines on portable storage media. According the amount of data delivered over the network from the remote servers to the local client machines is reduced to the extent of the availability of the locally available content. The invention is particularly well suited for the delivery of data over the Internet such as from remote servers (web servers) to local client machines. 
     According to another aspect, the invention also relates to techniques for distributing data (locally available content) to local clients for use with local client machines. The locally available content is distributed to the local clients on portable computer readable data storage media. These techniques allow for the improved promotion of goods or services of business entities though rapid availability of images, namely, high resolution graphic images. The invention is particularly well suited for Internet enabled local computers when accessing websites associated with the business entities. 
     The invention can be implemented in numerous ways, including as a computer system, an apparatus, and a method. Several embodiments of the invention are discussed below. 
     Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which: 
         FIG. 1  is a block diagram of a distributed content delivery system according to one embodiment of the invention; 
         FIG. 2  is a block diagram of a distributed content delivery system according to one embodiment of the invention; 
         FIG. 3  is a flow diagram of client-side request processing according to one embodiment of the invention; 
         FIG. 4  is a flow diagram of server-side response processing according to one embodiment of the invention; 
         FIG. 5  is a flow diagram of client-side response processing according to one embodiment of the invention; and 
         FIG. 6  is a flow diagram of a distribution method for portable computer readable storage products. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The invention relates to improved techniques for data delivery from a server machine to client machines through a network. The techniques reduce the demands on connection bandwidth between the client machines and the network, and thus enable media-rich data to be delivered with reduced amounts of network bandwidth. The techniques also reduce the bandwidth demands on network servers and overall network infrastructure. 
     According to one aspect, the invention relates to techniques for efficient delivery of data to local client machines. The invention provides efficient data delivery by subsidizing remotely available content from remote servers on the network with locally available content. The locally available content can be provided to the local client machines on portable storage media. According the amount of data delivered over the network from the remote servers to the local client machines is reduced to the extent of the availability of the locally available content. The invention is particularly well suited for the delivery of data over the Internet such as from remote servers (web servers) to local client machines. 
     According to another aspect, the invention also relates to techniques for distributing data (locally available content) to local clients for use with local client machines. The locally available content is distributed to the local clients on portable computer readable data storage media. These techniques allow for the improved promotion of goods or services of business entities though rapid availability of images, namely, high resolution graphic images. The invention is particularly well suited for Internet enabled local computers when accessing websites associated with the business entities. 
     Embodiments of the invention are discussed below with reference to  FIGS. 1-6 . However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes as the invention extends beyond these limited embodiments. 
       FIG. 1  is a block diagram of a distributed content delivery system  100  according to one embodiment of the invention. The distributed content delivery system  100  includes a web server  102  that controls access to remote content  104 . The web server  102  couples to a data network  106 . In one embodiment, the data network  106  includes the Internet. Typically, the web server  102  couples to the data network  106  over a high speed connection, such as over a leased line (e.g., a T 1  or T 4  line). An Internet Service Provider (ISP)  108  also couples to the data network  106 . Typically, the ISP  108  couples to the data network over a high speed connection, such as over a leased line. The ISP  108  services a plurality of clients, such as client  110  and client  112 . The client  110  is shown as having local content  114  available for use, whereas the client  112  is assumed not to have any such local content available. 
     The distributed content delivery system  100  operates to reduce the data transmission load through the data network  106 . More particularly, during operation of the client  110  and the web server  102 , the local content  114  is utilized to reduce the amount of data (e.g., remote content  104 ) that is transmitted from the web server  102  to the client  110  through the data network  106 . Not only is the data transmission load reduced on the web server  102  and the data network  106 , but also for the ISP  108  and its connections with the data network  106  and the client  110 . 
       FIG. 2  is a block diagram of a distributed content delivery system  200  according to one embodiment of the invention. The distributed content delivery system  200  includes a web server machine  202  and a client machine  204 . The web server machine  202  and the client machine  204  are interconnected through a data network  206 . In one embodiment, the data network  206  includes the Internet. 
     The web server machine  202  includes a HTTP server  208 . The HTTP server  208  controls the web server machine  202  in both receiving a request for content as well as for responding to the request with the delivery of data. The HTTP server  208  couples to a remote content storage device  210  to obtain remote content stored therein. The HTTP server  208  also couples to a local content determination module  212  and a web page content redirection module  214 . Typically, when a request for data is received at the HTTP server  208 , certain remote content is accessed and thereby retrieved from the remote content storage device  210  and then sent back through the data network  206  as a response to the requesting client machine. 
     According to the invention, the HTTP server  208  can make use of the local content determination module  212  and the web page content redirection module  214  to reduce the amount of remote content that needs to be transmitted from the web server machine  202  to the client machine  204 . In this regard, the local content determination module  212  can examine the incoming request, or data (e.g., codes) associated therewith, to determine whether the requesting client machine has local content that can be used to supplant (be used in place of) some of the remote content. When the local content determination module  212  determines that suitable local content is available at the requesting client machine, then the HTTP server  208  can interact with the web page content redirection module  214  to modify, construct or select the response to the client machine  204  so as to reduce the amount of remote data to be sent and to redirect the requesting client machine to access pertinent portions of the local content to supplement the remotely supplied content. 
     The client machine  204  includes a web browser  216 , a cache  218 , and a local content storage product  220 . The web browser  216  is a network browser such as Microsoft Internet Explorer or Netscape Navigator. The cache  218  is used by the web browser  216  to store previously requested remote content that has been received at the client machine  204 . Typically, the web browser  216  stores such previously obtained requested data in the cache  218  on a disk drive associated with the client machine  204 . The local content storage product  220  is typically a portable computer readable medium such as a CD-ROM, floppy disk, data storage card, or any other portable or semi-portable computer readable medium. 
     In the web server machine  202 , the web page content redirection module  214  is able to dynamically modify or produce a reduced size response by referring to local content in place of supplying remote content. The web page content redirection module  214  can also predetermine reduced size responses. For example, web pages stored in the remote content storage device  210  can be processed to produce reduced size versions that refer to local content. When predetermined, the reduced size responses can also be stored in the remote content storage device  210 . Also, when predetermined, the web page content redirection module  214  need only select the reduced size response (instead of a full size response). Still further, the determination of the reduced size versions can be done by a different computer other than the web server machine  202 . 
       FIG. 3  is a flow diagram of client-side request processing  300  according to one embodiment of the invention. The client-side request processing  300  is, for example, performed by the client machine  204  illustrated in  FIG. 2  or the client machine  110  illustrated in FIG.  1 . 
     The client-side request processing  300  begins with a decision  302  that determines whether a request is to be made. When the decision  302  determines that a request does not need to be made, the client-side request processing  300  awaits the need for a request. Once the decision  302  determines that a request is to be made, a decision  304  determines whether local content is available. When the decision  304  determines that local content is not available, then a request is sent  306  to the remote web site (e.g., the web server machine  202 ). Alternatively, when a decision  304  determines that local content is available, then a request together with a local content identifier are sent  308  to the remote web site. Typically, a request operates to request a web page from the remote web site. The local content identifier can identify the local content available at the client machine. For example, the local content can be provided by the local content storage product  220  of the client machine  204  illustrated in FIG.  2 . Following the operations  306  and  308 , the client-side request processing  300  is complete and ends. 
       FIG. 4  is a flow diagram of server-side response processing  400  according to one embodiment of the invention. The server-side response processing  400  is, for example, performed by the web server machine  202  illustrated in  FIG. 2  of the web server  102  illustrated in FIG.  1 . 
     The server-side response processing  400  begins with a decision  402  that determines whether a request has been received. When the decision  402  determines that a request has not been received, then the server-side response processing  400  awaits the receipt of a request. Once the decision  402  determines that a request has been received, the decision  404  determines whether a local content identifier has been provided. Typically, the local content identifier can be provided within the request or be associated with the request. In other embodiments, the local content identifier can be separately requested from the client machine. 
     When the decision  404  determines that a local content identifier has been provided, the availability of local content is determined  406  based on the local content identifier. Next, a decision  408  determines whether the needed local content for at least a portion of the requested content is available. When the decision  408  determines that the needed local content is available, then a response is sent  410  (e.g., from the web server machine  202 ) including local content codes. In one embodiment, the local content codes are embedded in the response. When the local content codes are included in the response, the response has a reduced size because certain remote content that is locally available content is not part of the response and is instead replaced by the local content codes. Alternatively, when the decision  404  determines that no local content identifier has been provided or when the decision  408  determines that the needed local content is not available, then the response is sent  412  without reference to any local content. Following operations  410  and  412 , the server-side response processing  400  is complete and ends. 
       FIG. 5  is a flow diagram of client-side response processing  500  according to one embodiment of the invention. The client-side response processing  500  is, for example, performed by the client machine  204  illustrated in FIG.  2 . 
     The client-side response processing  500  begins with a decision  502  that determines whether a response has been received. When the decision  502  determines that a response has not yet been received, the client-side response processing  500  awaits such a response. Once the decision  502  determines that a response has been received, a decision  504  determines whether local content codes are provided with the response. In one embodiment, the local content codes are embedded in the response. When the decision  504  determines that local content codes are provided with the response, then the utilized local content is obtained  506  based on the local content controls. Here, the local content being utilized with the response, namely, the local content portion of the response, is obtained  506  from the local content storage product, such as the local content storage product  220  of the client machine  204  illustrated in FIG.  2 . In other words, the local content is provided by a portable data storage product. 
     Next, the requested web page (resource) is displayed  508  using at least in part the utilized local content. The web page being displayed is thus the result of remote content obtained from the remote web site (web server) as well as the local content obtained locally such as from the local content storage product associated with the client machine. Following the display of the requested web page, the client-side response processing  500  is complete and ends. Alternatively, when the decision  504  determines that the response does not include local content codes, then instead of operations  506  and  508 , the client-side response processing simply displays  510  of the requested web page provided by the remote web server. Following the operation  510 , the client-side response processing  500  is complete and ends. 
     Accordingly, the invention facilitates the providing users with high resolution graphic images without requiring long user waiting periods for image downloads and without needing to consume large amounts of precious network bandwidth. Hence, users receive high resolution images with fast response times. The high resolution images can be used for many purposes. Some examples of uses for the high resolution images can pertain to advertisements, products, and services. As a particular example, the invention facilitates a website providing an online merchandise catalog having high resolution images that are rapidly retrievable. 
       FIG. 6  is a flow diagram of a distribution method  600  for portable computer readable storage products. The distribution method  600  receives  602  data for distribution from multiple businesses. The data is stored  604  to portable computer readable storage products. In one embodiment, the data includes images or graphics. Images or graphics are commonly used with websites to provide a more interesting or productive user interface. As examples, the images or graphics can pertain to advertising, products, buttons, icons, logos, videos, animations, and the like. Since images or graphics tend to have relatively file sizes (as compared to text), providing images or graphics on portable readable storage products which are locally available can provide significant improvements in responsiveness in accessing (viewing) websites from a browser. After the data is stored  604  to the portable computer readable storage products, the portable computer readable storage products are distributed  606  to users. 
     The portable computer readable storage products can be distributed to uses in a variety of ways. For example, the portable computer readable storage products can be mailed to users. As another example, the portable computer readable storage products can be made available at various locations (e.g., food or retail stores). Still another example is the distribution of the portable computer readable storage products with newspaper delivery. With respect to providing content for advertisements, the portable computer readable storage products can contain basic advertisement components. A manufacturer&#39;s image for a product can be used by multiple retailers or distributors. Hence, this enables inefficiencies that would occur in redundant images were used for each of the retailers and distributors. 
     Thereafter, the users can place the portable computer readable storage product into a data reader of their internet-enabled computing device. For example, the data reader can be associated with a storage medium drive (e.g., card slot controller, CD drive, or floppy drive). Then, when the user requests website content, a portion of the website content that is available locally is obtained from the portable computer readable storage product via the data reader instead of over the network. 
     Since the data (content) on the portable computer readable storage product may become stale or out-dated at some point, the portable computer readable storage products are preferable periodically updated and then re-distributed to the users. The one or more local content identifiers can inform web servers whether the available local content is current (i.e., not stale). 
     Incentives can be provided to encourage users to retrieve or use the portable computer readable storage products. The types of incentives can vary widely and might, for example, include performance improvement (e.g., fast downloads), money, sweepstakes, prices, frequent flyer miles, coupons, rebates, etc. 
     In one embodiment, remote websites are able to control the use of data from clients&#39; local computer readable storage product(s). When local content is available and used by remote websites, such remote websites realize financial benefits by savings on channel bandwidth requirements which are reduced and realize improvements in data transfer speed due to less Internet traffic congestion. The clients realize the benefit of a more reliable data transfer and a much shorter average wait for a medium to large size data transfer. The invention can also improve system reliability of remote web sites during the peak use period due to the reduction in data traffic at its own server system and routers. 
     The data (e.g., images) stored on the portable computer readable product can be compressed. Hence, with compression, the portable computer readable product can store more data. For example, a 1 Gigabyte CD can store 100,000 images compressed to 10,000 bytes. 
     The images stored on the portable computer readable product can be assigned special codes to be used with host websites and web browsers. Generally available merchandise can thus be viewed on a large number of websites and thus all such websites can use the appropriate special codes to access the common images for use as a portion of a web page. In other words, standard codes can assigned to products (e.g., common merchandise) so many websites can use images common images. This facilitates manufacturers and sellers in updating their images at a central location. 
     The host websites that utilize the local content to reduce their bandwidth demands can be charged based on the bytes of data accessed from the portable computer readable storage product. The rate can be significantly less than what host sites will otherwise pay for bandwidth costs. In one embodiment, there would be no charge for re-viewing a web page when the content is retrieved from its cache memory. The host websites can alternatively be charged at a portion of the transaction costs. In one embodiment, the client machine can send information to a transaction monitoring server to notify the transaction monitoring server about the data that has been accessed from the portable computer readable storage product and for what host website, thereby facilitating charging host website based on bytes of data accesses. 
     Still further another aspect of the invention is that when the portable computer readable storage product is being accessed, a small image (e.g., icon) can be displayed on the web page including the data (content) being retrieved from the portable computer readable storage product. The small image serves to providing branding for the website enhancements provided through use of the portable computer readable storage products. 
     The invention is also advantageous when data centers or mirror sites are used by host websites. The invention greatly reduces the amount of data that needs to be retrieved from data center. The response time for retrieving such data can be more relaxed due to smaller amount of data within a certain amount of time. Therefore, the speed and capacity requirements for such storage units at the data center is greatly reduced. At the same time, the amount of data needed to be transmitted to the client users through internet is reduced. 
     The advantages of the invention are numerous. Different embodiments or implementations may yield one or more of the following advantages. One advantage of the invention is that bandwidth is more efficiently utilized. Another advantage of the invention is that local data is made available at client machines (e.g., by way of a portable computer readable storage media) to reduce that amount of data that needs to be transferred over a network. Still another advantage of the invention is that network congestion and traffic as well as server loads are reduced. Yet another advantage of the invention is that the inventive techniques are cost effective and facilitate use of media-rich websites for promotion and sale of good and services. In some cases, the invention can also allow users to get better graphic quality than might be available from the remote host website. 
     The many features and advantages of the present invention are apparent from the written description, and thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.