A system and method where the user can first view information content at a first information appliance at a first location, and instruct the system to pre-load the information content at a second information appliance at a second location prior to second viewing. The pre-loading is accomplished by a plurality of proxy servers associated with a plurality of information appliances at a plurality of locations, a plurality of proxy directories containing information associating the proxy servers to the information appliances, servers containing the information content, and billing servers for generating financial charges. The request to pre-load can be made from the information appliance itself or a communication means associated with a location such as a web page. The request can also be made by a user calendar interface provided by the present system. The calendar is capable of storing a plurality of scheduled events and locations where pre-loading takes place.
|
13. A method for facilitating pre-loading information content to caches for information appliances, comprising:
processing a request to create a new scheduled pre-loading;
executing one or more pre-loadings according to a scheduled table; and
processing a request to delete an existing scheduled pre-loading by
receiving a request to delete a pre-loading, the request containing a unique identifier associated with the pre-loading;
reading the scheduled table to identify an entry with a matching unique identifier;
deleting the identified entry from the scheduled table; and
transmitting an acknowledgement to the requestor.
31. A method for facilitating pre-loading information content to caches for information appliances, comprising:
processing a request to create a new scheduled pre-loading, comprising:
receiving a request to create a pre-loading;
generating a unique identifier associated with the request for pre-loading;
adding the request to the scheduled table; and
transmitting the unique identifier associated with the request for pre-loading and a proxy address where the pre-loading takes place to the requestor; and
processing a request to delete an existing scheduled pre-loading, comprising:
receiving a request to delete a pre-loading, the request containing a unique identifier associated with the pre-loading;
reading the scheduled table to identify an entry with a matching unique identifier;
deleting the identified entry from the scheduled table; and
transmitting an acknowledgement to the requestor; and
executing one or more pre-loads according to a scheduled table.
1. A method for facilitating pre-loading information content to caches for information appliances, comprising:
creating a new scheduled pre-loading upon instruction by a user;
storing information concerning at least one event associated with the scheduled pre-loading, wherein the information comprises at least one of:
the location of the event;
the type of the event; and
the date and time when the event takes place; and
deleting an existing scheduled pre-loading upon instruction by the user, wherein the deleting comprises the steps of:
receiving a request to delete a scheduled pre-loading, wherein the require is associated with an event;
retrieving a network address of a proxy server and a transaction identifier unique to the scheduled pre-loading;
transmitting a request to delete the scheduled pre-loading to the proxy server, wherein the request contains the transaction identifier; and
deleting the network address of the proxy server and the transaction identifier.
19. A method for facilitating pre-loading information content to caches for information appliances, comprising:
creating a new scheduled pre-loading if instructed by a user, wherein the creating step comprises:
receiving a request to create a scheduled pre-loading, wherein the request is associated with an event;
receiving a network address of the information content from a fist information appliance;
receiving a network address of a proxy server, wherein the proxy server contains a cache associated with a second information appliance associated with the event;
transmitting a request to pre-load the information content to the proxy server;
receiving an acknowledging message from the proxy server, wherein the message contains a transaction identifier unique to the request; and
storing the network address of the proxy server and the transaction identifier in association with the event; and
deleting an existing scheduled pre-loading if instructed by the user, wherein the deleting step comprises:
receiving a request to delete a scheduled pre-loading, wherein the request is associated with an event;
retrieving a network address of a proxy server and a transaction identifier unique to the scheduled pre-loading;
transmitting a request to delete the scheduled pre-loading to the proxy server, wherein the request contains the transaction identifier; and
deleting the network address of the proxy server and the transaction identifier.
2. The method of
retrieving a network address of a temporary proxy server if the destination associated with the event was not specified when the pre-loading was scheduled.
3. The method of
receiving a request to create a scheduled pre-loading, wherein the request is associated with an event;
receiving a network address of a proxy server, wherein the proxy server contains a cache associated with a second information appliance associated with the event;
transmitting a request to pre-load the information content to the proxy server;
receiving an acknowledging message from the proxy server, wherein the message contains a transaction identifier unique to the request; and
storing the network address of the proxy server and the transaction identifier in association with the event.
4. The method of
receiving a network address of a temporary proxy server if the destination associated with the event has not yet been specified.
5. The method of
6. The method of
an aircraft;
a hotel;
a rental car;
a location within a university;
an internet service provider; and
an automobile.
7. The method of
name of an airline;
a flight number;
a departure date and time associated with the flight number; and
the associated proxy address.
8. The method of
name of a hotel;
an identifier uniquely associated with a reservation made by a user; and
the associated proxy address.
9. The method of
an identifier uniquely associated with a reservation for the rental car made by a user; and
the associated proxy address.
10. The method of
a name of a university;
a name of a building within the university;
a room number within the building; and
the associated proxy address.
11. The method of
an indicator identifying the user subscribed to the internet service provider; and
the associated proxy address.
12. The method of
an identifier uniquely associated with the automobile; and
the associated proxy address.
14. The method according to
receiving a request to recreate a pre-loading;
generating a unique identifier associated with the request for pre-loading;
adding the request to the scheduled table; and
transmitting the unique identifier associated with the request for pre-loading and a proxy address where the pre-loading takes place to the requestor.
15. The method according to
idling for a predetermined period of time;
setting a counter equal to number of entries in the scheduled table;
reading an entry in the scheduled table at a position equal to the counter; and
reading the indication for status of pre-loading.
16. The method according to
reading the time duration for the information content to be pre-loaded to determine that it is after the current time;
pre-loading the information content;
setting the indication for status of pre-loading to pre-load completed;
decrementing the counter;
reading the counter, wherein if the counter reads less than zero, then returning to idle for a predetermined period of time, and if the counter does not read less than zero, then returning to reading an entry in the scheduled table at a position equal to the counter.
17. The method of
18. The method of
monitoring activities of a plurality of proxy servers; and
generating billing to a user depending on the activities.
20. The method of
retrieving a network address of a temporary proxy server if the destination associated with the event was not specified when the pre-loading was scheduled.
21. The method according to
storing information concerning at least one event associated with the scheduled pre-loading, wherein the information comprises at least one of:
the location of the event;
the type of the event; and
the date and time when the event takes place.
22. The method of
receiving a network address of a temporary proxy server if the destination associated with the event has not yet been specified.
23. The method of
24. The method of
an aircraft;
a hotel;
a rental car;
a location within a university;
an internet service provider; and
an automobile.
25. The method of
name of an airline;
a flight number;
a departure date and time associated with the flight number; and
the associated proxy address.
26. The method of
name of a hotel;
an identifier uniquely associated with a reservation made by a user; and
the associated proxy address.
27. The method of
an identifier uniquely associated with a reservation for the rental car made by a user; and
the associated proxy address.
28. The method of
name of a university;
name of a building within the university;
a room number within the building; and
the associated proxy address.
29. The method of
an indicator identifying that the user is a subscriber of the internet service provider; and
the associated proxy address.
30. The method of
an identifier uniquely associated with the automobile; and
the associated proxy address.
32. The method according to
a unique identifier associated with the pre-loading;
an indicator identifying the user who made the request for the pre-loading;
an address of the information content;
a starting position for pre-loading in the information content;
the time duration for the information content to be pre-loaded; and
an indication for status of pre-loading, comprising at least one of the following indicators:
pre-loading not started;
pre-loading in progress; and
pre-loading completed.
33. The method according to
idling for a predetermined amount of time;
setting a counter to equal to a number of entries in the scheduled table;
reading an entry in the scheduled table at a position equal to the counter; and
reading the indication for status of pre-loading.
34. The method according to
reading the time duration for the information content to be pre-loaded to determine that it is after the current time;
pre-loading the information content;
setting the indication for status of pre-loading to pre-load completed;
decrementing the counter;
reading the counter, wherein if the counter reads less than zero, then returning to idle for a predetermined period of time, and if the counter does not read less than zero, then returning to reading an entry in the scheduled table at a position equal to the counter.
35. The method of
|
The present invention relates to systems for providing an information appliance with information content, including multimedia from a remote, on-line content provider, and more particularly relates to systems for caching information content at intermediate locations readily accessible to the information appliance.
Various information appliances exist that enable customers to be provided with information content. The customers may be mobile, traveling from location to location and utilizing multiple information appliances, such as in the case of a traveling salesperson. Such information appliances include televisions, portable computers and automobile navigational aids, among others. In a conventional system, the information appliance connects to an access node of a network of interconnected servers that are in turn connected to multimedia servers that provide information content. Using an information appliance, a mobile customer is able to download multimedia information content to review news, movies, radio, books and other files containing information of various types and formats. Typically, however, a mobile customer's review of the requested/desired information content is delayed until an entire file or a substantial portion of a file is received at the information appliance. This delay may be significant, as the information appliance may need to access remotely located information content providers via a vast network of interconnected servers. In addition, packet loss during transmission can result in reception of low-quality versions of real-time information content that is to be presented to the mobile customer. Moreover, delay and packet loss are magnified as transmission distance increases and as the number of interconnected servers that are interacted with along the transmission path increases.
In order to reduce delay and packet loss during reception of information content, some information appliances and networks provide cache memories. A cache provides a place to store information more or less temporarily, saving time and reducing the burden of re-obtaining the stored information from a remote location via the network. For example, a web page that has been requested by a conventional web browser is stored in the browser's cache directory on the hard disk of the information appliance. That way, when the mobile customer returns to a recently viewed page, the browser can obtain the web page from the cache rather than the original server, thereby saving time and reducing network traffic.
In the same manner, caching can be implemented on a network by distributing information content to multiple cache servers from which most users would obtain information and by periodically refreshing the information content stored at each cache server. The cache server is located relatively close to information appliances and typically within an enterprise that saves information content that server users have requested so that successive requests for previously requested information content can be satisfied by the cache server rather than requiring an extended use of the network. The cache server not only serves its users by obtaining information more quickly but also reduces network traffic. Thus, a cache server improves the speed and the reliability of the delivery of information content, providing a higher quality of service because information content is not transmitted via congested networks.
Conventional cache systems for mobile customers, however, suffer various deficiencies similar to those described above for non-cache systems. First, content stored in an information appliance at one location may not be available in an information appliance at another location. Second, content stored in a cache at one location may not be stored in a cache at another site. As a result, the mobile customer may be required to wait for information content to download from a remote information content provider. Such an arrangement may also cause the mobile customer to receive a low-quality version of the desired information content. Worse yet, the mobile customer may not be able to access the desired information content. These deficiencies are exacerbated by the mobile customers' need for information at specific locations and times.
The present invention overcomes these deficiencies of the current conventional systems by a system and method for pre-loading information content into caches corresponding to information appliances that the user may use in the near future. An exemplary method for pre-loading information content into a cache include viewing or accessing information content using an information appliance. Then transmitting a request to pre-load the information content to a cache associated with another information appliance. And lasting viewing or accessing the information content at the other information appliance.
In this fashion, the information content will arrive at a particular information appliance prior to the arrival of the user at that information appliance. Waiting by the user for the information content is eliminated. Furthermore, pre-loading greatly increases the allowable data transfer time for the information content. With this increased data transfer time, the information content of the present invention may arrive at a particular information appliance with a higher quality than the same information content of the current conventional systems, since the higher quality version of the information content may have a prohibitively long data transfer time in the current conventional systems.
Another feature of one embodiment of the present invention that facilitates the pre-loading of information content for the user is a user calendar interface. The interface may be, for example, an application running on a computer, or an application running on a personal digital assistant (PDA), or any other number of interfaces. The user calendar stores a plurality of events and locations for any given day. For example, events and locations such as a flight, a hotel, and a rental car can be stored for a typical day, in the user calendar if the user were to go on a business trip. Associated with these events and locations is also the time duration for these events to take place. For the purpose of the present invention, the user can instruct the system to pre-load information content to the various locations where the user will be present. The system then retrieves information on the network address for the information appliances associated with the locations and network addresses of the caches and proxy servers associated with the information appliances. Then the information content is transmitted to the locations specified by the user. Other and further aspects of the present invention will become apparent during the course of following description and by reference to the attached drawings.
In accordance with one embodiment of the present invention, a system is provided that pre-loads information content to caches and information appliances for mobile customers. The system preferably consults a calendar for the mobile customer to determine the identity of the proxy server to pre-load with specified information content at a particular time.
The user calendar also permits the user to perform a variety of functions. The user is first allowed to scroll down the list of scheduled events and select an event from the list, as shown by the box drawn around event 522. The calendar also includes several interface “buttons” that permit the user to add a selected scheduled event 525, change the data associated with a selected scheduled event 526, delete a selected scheduled event 527, and request pre-loading of content to a cache associated with a selected scheduled event 528. The operation of the user calendar when the user selects the content pre-loading button will be discussed in detail hereinafter in connection with
For example in
It should be noted that the user calendar may be presented in several embodiments without departing from the spirit of the present invention. In one embodiment, the user calendar may be a software program installed in a stand-alone hardware device, such as a Personal Digital Assistant (PDA), that is in wireless communication with the proxy servers, the information appliances and other components of the present invention. In another embodiment, the user calendar may be software components or modules installed as parts of a larger software program, such as the user interface provided by an airline mentioned in the discussion for
As shown in
As shown in
Referring to
There are a couple of points in the flowchart of
As discussed above in connection with
It is important to note that at times the actual physical location of the information appliance where the pre-loading takes place may not have been determined at the time a request for pre-loading is made. For example, in the case of a flight, the user may request pre-loading to a specific flight number of a specific airline, but at the time of the request, the airline may have not yet assigned an aircraft to the flight. Similar situations are conceivable for rental cars, hotel rooms, and other locations. In such instances, the present invention will pre-loading the information content into a temporary proxy. When information on the physical location of the information appliance for pre-loading is made available, the Scheduled Pre-load Table (SPT) of the temporary proxy will be transferred to the proxy server associated with the information appliance, so that the information content will be transferred to a cache associated with the information appliance.
Although illustrative embodiments of the present invention and various modifications thereof have been described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to these precise embodiments and the described modifications, and that various changes and further modifications may be effected therein by one skilled in the art without departing from the scope or spirit of the invention as defined in the appended claims.
Patent | Priority | Assignee | Title |
10223160, | Aug 31 2015 | PINNACLE VENTURES, L L C , AS AGENT | Compact schedules for resource-constrained devices |
10261938, | Aug 31 2012 | Amazon Technologies, Inc | Content preloading using predictive models |
10361997, | Dec 29 2016 | RIVERBED TECHNOLOGY LLC | Auto discovery between proxies in an IPv6 network |
10798437, | Dec 29 2017 | Sling Media LLC | Systems and methods for predictive media file transfer to user-carried storage components |
10949255, | Aug 31 2015 | PINNACLE VENTURES, L L C , AS AGENT | Compact schedules for resource-constrained devices |
7433918, | Sep 02 2002 | VALTRUS INNOVATIONS LIMITED | Computer network and method of operating same to preload content of selected web pages |
7613771, | Sep 02 2002 | VALTRUS INNOVATIONS LIMITED | Computer network and method of operating same to preload content of selected web pages |
8510408, | Sep 02 2002 | VALTRUS INNOVATIONS LIMITED | Computer network and method of operating same to preload content of selected web pages |
8938553, | Aug 12 2003 | RIVERBED TECHNOLOGY LLC | Cooperative proxy auto-discovery and connection interception through network address translation |
9172620, | Aug 12 2003 | RIVERBED TECHNOLOGY LLC | Cooperative proxy auto-discovery and connection interception |
Patent | Priority | Assignee | Title |
4843542, | Nov 12 1986 | Xerox Corporation | Virtual memory cache for use in multi-processing systems |
5265235, | Sep 25 1992 | Xerox Corporation | Consistency protocols for shared memory multiprocessors |
5581704, | Dec 06 1993 | Panasonic Corporation of North America | System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client |
5603058, | Sep 08 1994 | GOOGLE LLC | Video optimized media streamer having communication nodes received digital data from storage node and transmitted said data to adapters for generating isochronous digital data streams |
5712976, | Sep 08 1994 | International Business Machines Corporation | Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes |
5978841, | Mar 07 1997 | OATH INC | Look ahead caching process for improved information retrieval response time by caching bodies of information before they are requested by the user |
6016520, | Jul 14 1995 | Microsoft Technology Licensing, LLC | Method of viewing at a client viewing station a multiple media title stored at a server and containing a plurality of topics utilizing anticipatory caching |
6052700, | Sep 17 1998 | Bull HN Information Systems Inc.; BULL INFORMATION SYSTEMS INC | Calendar clock caching in a multiprocessor data processing system |
6065043, | Mar 14 1996 | RPX CLEARINGHOUSE LLC | Systems and methods for executing application programs from a memory device linked to a server |
6098096, | Dec 09 1996 | Amazon Technologies, Inc | Method and apparatus for dynamic cache preloading across a network |
6115741, | Mar 14 1996 | RPX CLEARINGHOUSE LLC | Systems and methods for executing application programs from a memory device linked to a server |
6119203, | Aug 03 1998 | Freescale Semiconductor, Inc | Mechanism for sharing data cache resources between data prefetch operations and normal load/store operations in a data processing system |
6369840, | Mar 10 1999 | AOL Inc | Multi-layered online calendaring and purchasing |
20020016162, | |||
20020161476, | |||
20030158855, | |||
20040133848, | |||
20050021485, | |||
EP1049028, | |||
WO152198, | |||
WO213487, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 25 2002 | O NEIL, JOSEPH THOMAS | AT&T Corp | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012664 | /0038 | |
Feb 27 2002 | AT&T Corp. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Aug 21 2009 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Oct 18 2013 | REM: Maintenance Fee Reminder Mailed. |
Mar 07 2014 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Mar 07 2009 | 4 years fee payment window open |
Sep 07 2009 | 6 months grace period start (w surcharge) |
Mar 07 2010 | patent expiry (for year 4) |
Mar 07 2012 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 07 2013 | 8 years fee payment window open |
Sep 07 2013 | 6 months grace period start (w surcharge) |
Mar 07 2014 | patent expiry (for year 8) |
Mar 07 2016 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 07 2017 | 12 years fee payment window open |
Sep 07 2017 | 6 months grace period start (w surcharge) |
Mar 07 2018 | patent expiry (for year 12) |
Mar 07 2020 | 2 years to revive unintentionally abandoned end. (for year 12) |