The present invention relates to the field of proxy management. In particular the present invention discloses a proxy system that allows multiple sources of data to be accessed.
The Internet has become a major source of news and information for very large numbers of people. In particular, millions of Internet users browse the World Wide Web (WWW) to obtain HyperText Markup Language (HTML) documents using the HyperText Transport Protocol (HTTP). Many people now receive more news and information from the Internet WWW sites than from traditional information sources such as television. The WWW portion of the Internet is an excellent medium for news and information since the WWW Internet sites can provide information to users on-demand. Specifically, Internet users can immediately request the exact information they are interested in when ever they wish from WWW Internet sites.
However, the use of the Internet WWW as a news distribution does suffer from a number of deficiencies. One serious problem is that the limited bandwidth of most Internet connections severely limits the amount of information delivered. Most Internet users access the Internet through a telephone-based dial-up modem at speeds of 56 kps per second or less. With such limited bandwidth available, most Internet based WWW sites only deliver text and static images. When video information delivered through 56K Internet connections, the video information is compressed so heavily such that only small low-resolution video images are delivered at a low frame rate. For users that are more familiar to broadcast quality television video, highly compressed Internet distributed video is not worth viewing unless the content is extremely desirable.
To improve upon the performance of the Internet, many telecommunication providers are now offering high-bandwidth connections for the “last mile” to an Internet user's residence. Cable television providers are now offering cable modem Internet service that use cable television wiring to deliver broadband Internet service. Similarly, telephone companies are rolling out Digital Subscriber Line (DSL) services that provide broadband Internet service. Although these broadband data connections provide additional bandwidth, such broadband connections only address the “last mile” bandwidth problem associated with sending rich multi-media information across the Internet. Many other problems will continue to exist. For example, the point-to-point nature of Internet communication limits large-scale video deliver. Most Internet communication occurs in a unicast manner wherein a unique communication connection is established between each information server and each Internet client. Since each Internet client requires its own connection, the bandwidth requirement for serving information grows linearly with the number of Internet clients being served. Furthermore, each Internet client that requests service adds additional load to the server systems that service information. To serve rich multimedia information to a large number of client systems, a large powerful server farm is required. It is therefore quite expensive from the server end in both communication costs and computer costs to serve large amounts of rich multi-media information.
Due to the above-described problems associated with Internet delivery of multimedia information, additional data deliver systems are being developed. An example of another data delivery system can be found in the patent application entitled “A Broadband Data Broadcasting Service”, filed on Apr. 16, 1999, having Ser. No. 09/293,594. Although such systems provide highly desirable features, the Internet will still remain an interesting medium. It would therefore be desirable to provide a multi-media rich information system that is similar to the Internet in terms of on-demand access of interesting information but without the bandwidth problems associated with the Internet network system.
The present invention discloses a proxy management system that allows a browser program to access multiple different data services using a personal proxy server. The personal proxy server accesses the browser program's Internet settings to determine the current environment. The personal proxy server stores those settings so that they may be restored at a later time. The personal proxy server then changes the browser program's Internet settings such that the browser program directs future requests to the personal proxy program. The personal proxy program then accepts requests from the browser program. When the personal proxy program receives a request, the personal proxy program examines the request and selects an appropriate handler. The personal proxy program then directs the request to the appropriate handler. The appropriate handlers may include the originally specified Internet settings, a local cache program, a data appliance peripheral, or any other data service.
Other objects, features, and advantages of present invention will be apparent from the company drawings and from the following detailed description.
The objects, features, and advantages of the present invention will be apparent to one skilled in the art, in view of the following detailed description in which:
A proxy management system is disclosed. In the following description, for purposes of explanation, specific nomenclature is set forth to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that these specific details are not required in order to practice the present invention. For example, the present invention has been described with reference to a wireless datacasting service that is cached on a local device. However, the same proxying techniques can easily be applied to other types of data communication systems.
There are a number of different ways of connecting a personal computer system to the global Internet. Each different method has its own advantages and disadvantages.
Direct Internet Connections
Indirect Internet Connections
To protect computers from Internet attacks and conserve address space, many personal computer systems are coupled to the Internet using some type of indirect Internet connection.
In the indirect Internet connection embodiment of
In the indirect Internet connection embodiment of
The present invention integrates the various direct and indirect Internet communication. systems of
The wireless multimedia receiver/server device is not limited to usage by personal computer systems.
A Data Broadcast Receiver System
The extracted packets are passed to a packet routing system 330. The packet routing system 330 routes the received packets appropriate destinations. The packet routing system 330 may route other data packets to client system 399 coupled to the multimedia receiver/server system 300 through computer interface 390. In such operations, the multimedia receiver/server system 300 acts as a packet router to deliver packets broadcast over a broadcast medium.
The data broadcast receiver/server system 300 may also be used to provide useful data services by locally caching information. Specifically, one or more caching applications 345 receive data packets from the packet routing system 330 and caches information from those packets into a file system 350. In one embodiment, the caching application 345 may request to receive packets addressed to one or more designated addresses that carry multimedia information and accompanying descriptors. The caching application 345 selectively captures multimedia information and stores that multimedia content information 353 in a file system 350. The caching application 345 may create multimedia information directory 355 such that the cached multimedia information may be quickly searched and accessed. The multimedia information may consist of anything that can be expressed in digital form including audio, video, text, web pages, and computer programs.
The data broadcast receiver/server system 300 may present the cached multimedia information in a number of different ways. However, one of the most popular current methods of presenting information is in the form of World Wide Web (WWW) pages formatted in HyperText Markup Language (HTML) or eXtensible Markup Language (XML). One embodiment of the data broadcast receiver/server system 300 uses a web page constructing application 360 to create WWW pages 359 that may be presented to the client system 399. A web server application 381 serves the created web pages 359 to client systems that request the web pages 359. Due to the caching of rich multimedia information, the web server 3781 may be aided by one or more file streaming applications 382 and 383. The file streaming applications 382 and 383 may stream rich multimedia information such as videos and audio.
The data broadcast receiver/server system 300 of
As illustrated in
The present invention introduces a method of allowing a common Internet browser program be used to access multiple different data services. Specifically, the present invention introduces a “personal proxy server.” The personal proxy server responds to requests from an Internet browser and then handles those requests using an appropriated data service.
Referring to
In the embodiment of
Once the personal proxy server 420 has determined which data service to handle a particular request, the personal proxy server 420 may simply relay the request on to the proper data service. For example, if the personal proxy server 420 receives an HTTP “GET” request for an Internet site, the personal proxy server 420 may simply pass the HTTP “Get” request to the Internet service using the Internet connection.
It should be emphasized that the personal proxy server 420 can handle many different data services. Furthermore, other types of data systems may be provided. For example,
As previously set forth with references to
Direct Internet, Packet Filtering Routers, or Simple Proxy Firewall Connections
At step 630, the personal proxy server 520 changes the Internet settings of the Internet browser 510 such that the Internet browser 510 will access the personal proxy server 520 for future requests. Specifically, the personal proxy server 520 instructs the Internet browser 510 to access the personal proxy server 520 as proxy server for all future requests of designated types. In one embodiment, the personal proxy server 520 only handles HyperText Transport Protocol (HTTP) requests.
After setting the Internet browser's settings, the personal proxy server 520 is ready to accept requests at step 640. When the personal proxy server 520 receives a request, the personal proxy server 520 determines the appropriated handler to handle the request at step 650. As previously set forth, the personal proxy server 520 may determine the proper handler by examining the URL in the request. After determining the proper handler, the personal proxy server 520 directs the request to the proper handler at step 660.
If the appropriate handler is the local cache or data broadcast service, then the personal proxy server 520 proceeds to steps 690 or 680, respectively, to handle the request. If the Internet should handle the received request, then the personal proxy server 520 proceeds to step 670 where it uses the stored Internet settings. If the stored Internet settings indicate a direct connection, then the request is relayed onto the Internet. If the stored Internet settings indicate a proxy server connection, then the personal proxy server 520 communicates with the Internet through the specified proxy connection. In such an environment, there is a double layer proxy.
AutoConfig Proxy Firewall Connections
Certain firewalls implement a sophisticated proxying system known as an autoconfig proxy. An autoconfig proxy system uses a file that automatically configures the client system. In an environment that uses an autoconfig proxy, each client system is formed where the autoconfig file may be found. Each client fetches that autoconfig file and uses that autoconfig file to determine how browser requests should be handled. In many embodiments, the autoconfig file contains a short JavaScript program that contains function FindProxyForURL( ) that returns an access method for a particular protocol.
To fully describe how the personal proxy server 720 modifies an autoconfig rile, an example will be provided. A sample autoconfig file may contain the following JavaScript code:
The personal proxy server 720 modifies an autoconfig file by renaming an original “FindProxyForURL” procedure and replacing it with a revised FindProxyForURL that directs http requests to the personal proxy server 720 that monitors TCP port 1166. The modified autoconfig file is shown below:
After modifying the autoconfig file (if there was one), the personal proxy server 720 sets the Internet browsers settings to access the personal proxy server 720. If the original settings specified an autoconfig file, then the personal proxy server 720 specifies that the Internet browser 710 should access the personal proxy server 720 to obtain an autoconfig file. When the Internet browser subsequently requests the autoconfig file, the personal proxy server 720 supplies the modified autoconfig file. The Internet browser 710 will use the supplied autoconfig file to determine how requests should be handled. Certain requests will be directed to the personal proxy server 720.
After setting the Internet browser's settings, the personal proxy server 720 is ready to accept requests at step 850. When the personal proxy server 720 receives a request, the personal proxy server 720 determines the appropriated handler to handle the request at step 860. As previously set forth, the personal proxy server 720 may determine the proper handler by examining the URL in the request. After determining the proper handler, the personal proxy server 720 directs the request to the proper handler at step 870. If the appropriate handler is the local cache or data broadcast service, then the personal proxy server 720 proceeds to steps 887 or 883, respectively, to handle the request.
If the Internet should handle the received request, then the personal proxy server 720 proceeds to step 890 where the personal proxy server 720 runs the original autoconfig file. The personal proxy server 720 then uses the results from that original autoconfig file to handle the requests as specified in step 895.
The foregoing has described a multiple source proxy management system. It is contemplated that changes and modifications may be made by one of ordinary skill in the art, to the materials and arrangements of elements of the present invention without departing from the scope of the invention.
This patent application is related to a patent application entitled “A Broadband Data Broadcasting Service”, filed on Apr. 16, 1999, having Ser. No. 09/293,594.
Number | Name | Date | Kind |
---|---|---|---|
4944008 | Piosenka et al. | Jul 1990 | A |
4958230 | Jonnalagadda et al. | Sep 1990 | A |
5029003 | Jonnalagadda | Jul 1991 | A |
5146325 | Ng | Sep 1992 | A |
5184218 | Gerdes | Feb 1993 | A |
5200715 | Gerdes et al. | Apr 1993 | A |
5230019 | Yanagimichi et al. | Jul 1993 | A |
5247575 | Sprague et al. | Sep 1993 | A |
5327237 | Gerdes et al. | Jul 1994 | A |
5351293 | Michener et al. | Sep 1994 | A |
5371551 | Logan et al. | Dec 1994 | A |
5387941 | Montgomery et al. | Feb 1995 | A |
5410360 | Montgomery | Apr 1995 | A |
5437714 | Engel et al. | Aug 1995 | A |
5444491 | Lim | Aug 1995 | A |
5495246 | Nichols et al. | Feb 1996 | A |
5515373 | Lynch et al. | May 1996 | A |
5550576 | Klosterman | Aug 1996 | A |
5557333 | Jungo et al. | Sep 1996 | A |
5559559 | Jungo et al. | Sep 1996 | A |
5572247 | Montgomery et al. | Nov 1996 | A |
5574964 | Hamlin | Nov 1996 | A |
5577042 | McGraw et al. | Nov 1996 | A |
5584023 | Hsu | Dec 1996 | A |
5585858 | Harper et al. | Dec 1996 | A |
5615264 | Kazmierczak et al. | Mar 1997 | A |
5615338 | Poole et al. | Mar 1997 | A |
5617148 | Montgomery | Apr 1997 | A |
5617565 | Augenbraun et al. | Apr 1997 | A |
5631651 | Nichols et al. | May 1997 | A |
5632007 | Freeman | May 1997 | A |
5634074 | Devon et al. | May 1997 | A |
5636211 | Newlin et al. | Jun 1997 | A |
5650831 | Farwell | Jul 1997 | A |
5671283 | Michener et al. | Sep 1997 | A |
5671377 | Bleidt et al. | Sep 1997 | A |
5684525 | Klosterman | Nov 1997 | A |
5691986 | Pearlstein | Nov 1997 | A |
5701580 | Yamane et al. | Dec 1997 | A |
5708476 | Myhrvold et al. | Jan 1998 | A |
5708960 | Kamisaka et al. | Jan 1998 | A |
5721727 | Ashi et al. | Feb 1998 | A |
5721827 | Logan et al. | Feb 1998 | A |
5724091 | Freeman et al. | Mar 1998 | A |
5727233 | Lynch et al. | Mar 1998 | A |
5731841 | Rosenbaum et al. | Mar 1998 | A |
5732216 | Logan et al. | Mar 1998 | A |
5734589 | Kostreski et al. | Mar 1998 | A |
5734862 | Kulas | Mar 1998 | A |
5737107 | Umeda | Apr 1998 | A |
5739866 | Kim et al. | Apr 1998 | A |
5742357 | Griesbaum | Apr 1998 | A |
5745185 | Portron et al. | Apr 1998 | A |
5748789 | Lee et al. | May 1998 | A |
5758258 | Shoff et al. | May 1998 | A |
5761606 | Wolzien | Jun 1998 | A |
5764762 | Kazmierczak et al. | Jun 1998 | A |
5774172 | Kapell et al. | Jun 1998 | A |
5774664 | Hidary et al. | Jun 1998 | A |
5778181 | Hidary et al. | Jul 1998 | A |
5778187 | Monteiro et al. | Jul 1998 | A |
5781228 | Sposato | Jul 1998 | A |
5790198 | Roop et al. | Aug 1998 | A |
5793413 | Hylton et al. | Aug 1998 | A |
5797001 | Augenbraun et al. | Aug 1998 | A |
5799190 | Lynch et al. | Aug 1998 | A |
5805763 | Lawler et al. | Sep 1998 | A |
5815145 | Matthews, III | Sep 1998 | A |
5815195 | Tam | Sep 1998 | A |
5819298 | Wong et al. | Oct 1998 | A |
5825927 | Boyce et al. | Oct 1998 | A |
5828839 | Moncreiff | Oct 1998 | A |
5828945 | Klosterman | Oct 1998 | A |
5831679 | Montgomery et al. | Nov 1998 | A |
5838873 | Blatter et al. | Nov 1998 | A |
5857185 | Augenbraun et al. | Jan 1999 | A |
5861881 | Freeman et al. | Jan 1999 | A |
5861906 | Dunn et al. | Jan 1999 | A |
5862220 | Perlman | Jan 1999 | A |
5867657 | Bolosky et al. | Feb 1999 | A |
5870477 | Sasaki et al. | Feb 1999 | A |
5874985 | Matthews, III | Feb 1999 | A |
5883869 | Tamai et al. | Mar 1999 | A |
5892536 | Logan et al. | Apr 1999 | A |
5896414 | Meyer et al. | Apr 1999 | A |
5896444 | Perlman et al. | Apr 1999 | A |
5900905 | Shoff et al. | May 1999 | A |
5903563 | Rashid et al. | May 1999 | A |
5903673 | Wang et al. | May 1999 | A |
5903816 | Braodwin et al. | May 1999 | A |
5907323 | Lawler et al. | May 1999 | A |
5913038 | Griffiths | Jun 1999 | A |
5918002 | Klemets et al. | Jun 1999 | A |
5918013 | Mighdoll et al. | Jun 1999 | A |
5923328 | Griesmer | Jul 1999 | A |
5923362 | Klosterman | Jul 1999 | A |
5926624 | Katz et al. | Jul 1999 | A |
5929850 | Broadwin et al. | Jul 1999 | A |
5931949 | Perlman et al. | Aug 1999 | A |
5938748 | Lynch et al. | Aug 1999 | A |
5940073 | Klosterman | Aug 1999 | A |
5945987 | Dunn | Aug 1999 | A |
5953012 | Veghte et al. | Sep 1999 | A |
5959508 | Aitken | Sep 1999 | A |
5963909 | Warren et al. | Oct 1999 | A |
5966637 | Kanungo et al. | Oct 1999 | A |
5974496 | Miller | Oct 1999 | A |
5978381 | Perlman et al. | Nov 1999 | A |
5983005 | Monteiro et al. | Nov 1999 | A |
5983273 | White et al. | Nov 1999 | A |
5986692 | Logan et al. | Nov 1999 | A |
5987518 | Gotwald | Nov 1999 | A |
6005938 | Banker et al. | Dec 1999 | A |
6006256 | Zdepski et al. | Dec 1999 | A |
6014693 | Ito et al. | Jan 2000 | A |
6014694 | Aharoni et al. | Jan 2000 | A |
6021419 | Clarke, Jr. et al. | Feb 2000 | A |
6023585 | Perlman et al. | Feb 2000 | A |
6026079 | Perlman | Feb 2000 | A |
6044396 | Adams | Mar 2000 | A |
6049694 | Kassatly | Apr 2000 | A |
6064796 | Nakamura et al. | May 2000 | A |
6226241 | D'Amato et al. | May 2000 | B1 |
6072872 | Chang et al. | Jun 2000 | A |
6073168 | Mighdoll et al. | Jun 2000 | A |
6084583 | Gerszberg et al. | Jul 2000 | A |
6088455 | Logan et al. | Jul 2000 | A |
RE36801 | Logan et al. | Aug 2000 | E |
6108422 | Newby et al. | Aug 2000 | A |
6118498 | Reitmeir | Sep 2000 | A |
6134590 | Perlman | Oct 2000 | A |
6138147 | Weaver et al. | Oct 2000 | A |
6141356 | Gorman | Oct 2000 | A |
6141693 | Perlman et al. | Oct 2000 | A |
6169879 | Perlman | Jan 2001 | B1 |
6188397 | Humpleman | Feb 2001 | B1 |
6199076 | Logan et al. | Mar 2001 | B1 |
6199114 | White et al. | Mar 2001 | B1 |
6230168 | Unger et al. | May 2001 | B1 |
6233389 | Barton et al. | May 2001 | B1 |
6286031 | Waese et al. | Sep 2001 | B1 |
6345303 | Knauerhase et al. | Feb 2002 | B1 |
6349410 | Lortz | Feb 2002 | B1 |
6360368 | Chawla | Mar 2002 | B1 |
6366699 | Kuwano et al. | Apr 2002 | B1 |
6366731 | Na et al. | Apr 2002 | B1 |
6374402 | Schmeidler et al. | Apr 2002 | B1 |
6408128 | Abecassis | Jun 2002 | B1 |
6412008 | Fields et al. | Jun 2002 | B1 |
6505299 | Zeng et al. | Jan 2003 | B1 |
6519771 | Zenith | Feb 2003 | B1 |
6526580 | Shimomura et al. | Feb 2003 | B1 |
6532495 | Welles et al. | Mar 2003 | B1 |
6557756 | Smith | May 2003 | B1 |
6559882 | Kerchner | May 2003 | B1 |
6578070 | Weaver et al. | Jun 2003 | B1 |
6603488 | Humpleman et al. | Aug 2003 | B1 |
6611503 | Fitzgerald et al. | Aug 2003 | B1 |
6614843 | Gordon et al. | Sep 2003 | B1 |
6665687 | Burke | Dec 2003 | B1 |
6675387 | Boucher et al. | Jan 2004 | B1 |
6686936 | Nason et al. | Feb 2004 | B1 |
6886013 | Beranek | Apr 2005 | B1 |
20010003823 | Mighdoll et al. | Jun 2001 | A1 |
20020120790 | Schwalb | Aug 2002 | A1 |
Number | Date | Country |
---|---|---|
0 346 700 | Dec 1989 | EP |
0 364 229 | Apr 1990 | EP |
0 512 398 | Nov 1992 | EP |
0 666 694 | Aug 1995 | EP |
0 676 761 | Oct 1995 | EP |
0 693 727 | Jan 1996 | EP |
0 714 204 | May 1996 | EP |
0 749 244 | Dec 1996 | EP |
0 753 964 | Jan 1997 | EP |
0 756 393 | Jan 1997 | EP |
0 773 681 | May 1997 | EP |
0 903 738 | Mar 1999 | EP |
0 911 962 | Apr 1999 | EP |
0 971 358 | Jan 2000 | EP |
1 018 835 | Jul 2000 | EP |
1 032 195 | Aug 2000 | EP |
1 056 279 | Nov 2000 | EP |
01 079 581 | Feb 2001 | EP |
1 143 722 | Oct 2001 | EP |
2 333 017 | Jul 1999 | GB |
WO 9933265 | Jul 1991 | WO |
WO 9922513 | May 1999 | WO |
WO 0001149 | Jan 2000 | WO |
WO 0051129 | Aug 2000 | WO |
WO 0104893 | Jan 2001 | WO |
WO 0111865 | Feb 2001 | WO |
WO 0137546 | May 2001 | WO |
WO 0174079 | Oct 2001 | WO |