Portable devices, such as cellular telephones, personal digital assistants, portable computers, digital media players for example, are used to store ever increasing amounts of information. Memory capacities of portable devices are increasing rapidly. However, the capacity to load information onto portable devices is not increasing at a corresponding rate. Wide area wireless networks used by portable devices have lower bandwidths than corresponding wired or wireless local networks or wired links. In addition, portable devices have limited battery life, so time is not available to load large amounts of data when the device is operating in a portable mode.
When a user of portable device views information, such as videos or web pages for example, rendered on the portable device, the information may reference other information that can be downloaded. There may be too much information for the portable device to download while operating in a portable mode.
One approach to this problem is for the user of the portable device to record the information for future loading onto the portable device. However, this may not always be convenient. In addition, it is difficult to record the context in which the information was displayed (for example, the currently and previously displayed websites). Further, when the user downloads the information at future time, the user will still have to wait for the information to be retrieved from a server over a network.
Another approach to loading content onto a portable is to use a load point device, such as a personal computer. The user first loads the content onto the load point device and then transfers the content to the portable device. A major disadvantage of this approach is that the information cannot be selected from a remote location using the portable device.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as the preferred mode of use, and further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawing(s), wherein:
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail one or more specific embodiments, with the understanding that the present disclosure is to be considered as exemplary of the principles of the invention and not intended to limit the invention to the specific embodiments shown and described. In the description below, like reference numerals are used to describe the same, similar or corresponding parts in the several views of the drawings.
In further prior art approach, information is downloaded directly to the portable device 202 from the server 106 via the network 108. This approach works well for small amounts of information, but is less successful for large amounts of information due to the unreliability, cost and limited bandwidth of the network link to the portable device and limited battery life of the portable device. In particular, the storage capacity of portable devices is increasing at a faster rate than communication bandwidth.
If a user of the portable device 202 wishes to access the associated information object, rather than requesting the information object from the server, the user may cause the portable device 202 to transmit metadata 304 to one or more load point devices 102. A load point device is a device (such as personal computer or television set top box) at a location where the user will bring the portable device to load the information object. The load point device is selected by the user and may be at a location remote from the user. For example, the load point device could be a home computer or an office computer. Multiple load point devices may be selected. The user may select different load point devices for different information objects.
Metadata is data that describes an information object (which itself is data). Metadata may include, for example, the location, content, context and structure of the information object. For example, when hypertext document is downloaded via the Internet to a portable device and viewed using a browser, the metadata may include the URL of a link (the location of the information object), a description (such as the URL or title) of the hypertext document being viewed (the context of the information document) and an identifier of the portable device (more context of the information object). The structure and content of the information object may be included implicitly via the file extension and filename in the URL link of the information object.
It will be apparent to those of ordinary skill in the art that any object-based protocol may be used over any transport to transfer the metadata from the portable device to the load point device. Object protocols include XMPP, HTTP and OBEX. For example, the metadata may be sent as an event over an XMPP instant messaging server to the load point device. This approach may be useful if the load point device is behind a firewall (which is common). Another way to send the metadata is to upload the metadata to a syndication server and have the load point device occasionally poll the syndication server for the content to load. This approach also works for load points behind firewalls, but uses an external server. If the load point is not behind a firewall, then an HTTP POST operation over any IP network (such as a WAN or LAN) could be used. When in a local environment, another way to send the metadata is to use a Bluetooth object push (OBEX over Bluetooth), or simply to synchronize the metadata back to the load point using USB (OBEX/SyncML over USB). In all of these approaches the metadata is transferred to the load point device.
In prior approaches, such as “podcasting”, information is selected from the load point device, rather than from the portable device and cannot be selected remotely.
Each load point device may transfer different information to the portable device, depending on what it was requested to load. The transfer may be subject to a security model. For example, each load point device may be authentication bonded with the portable device (or other portable device if transitive trust is used). The authentication bonding allows the load point device to ensure that the request to load content was received from a trusted device. Likewise, the portable device can validate the content signature before loading the information to ensure that the information is what was requested. Such security models are well known to those of ordinary skill in the art.
Once the information is loaded, the portable device can again be used in a portable mode of operation. The process can then begin again, with the user requesting more information associated with the downloaded information. Thus, the process is cyclic.
The metadata may be sent from the portable device using a push protocol in which the portable device opens a connection with the load point device and then sends the metadata. Alternatively, the metadata may be stored in the portable device or on an intermediate server and then periodically retrieved by the load point device using a pull protocol.
It will be apparent to those of ordinary skill in the art that various type of information objects may be loaded in the manner described above. For example, the load point device may retrieve both non-rights-protected content and right-protected, encrypted content from the server.
The network connection between the load point device and the server may be a wide-area network.
Metadata may be sent from the portable device to the load point via a local network.
The metadata may include instructions to load a specific information object, plus any objects that are associated with the specific information object. Since information objects are often linked in a hierarchical tree structure, the instructions may specify how many levels of the hierarchy are to be loaded.
The present invention, as described in embodiments herein, is implemented using a programmed processor executing programming instructions that are broadly described above in flow chart form that can be stored on any suitable electronic storage medium. However, those skilled in the art will appreciate that the processes described above can be implemented in any number of variations and in many suitable programming languages without departing from the present invention. For example, the order of certain operations carried out can often be varied, additional operations can be added or operations can be deleted without departing from the invention. Error trapping can be added and/or enhanced and variations can be made in user interface and information presentation without departing from the present invention. Such variations are contemplated and considered equivalent.
While the invention has been described in conjunction with specific embodiments, it is evident that many alternatives, modifications, permutations and variations will become apparent to those of ordinary skill in the art in light of the foregoing description. Accordingly, it is intended that the present invention embrace all such alternatives, modifications and variations as fall within the scope of the appended claims.
This application is related to U.S. application No. 11/188317 filed Jul. 25, 2005 and titled “Method and Apparatus for Providing Protected Digital Content”, which is hereby incorporated herein by reference.