The present invention relates generally to synchronizing content with a collection of networked devices, and more particularly, to synchronizing content among a collection of always-on and intermittently connected devices in a home network.
With the proliferation of content bearing devices such as devices in a home network, of synchronizing content on such networks it is becoming increasingly important. A home network typically includes devices such as TVs, DVD players, Camcorders, PCs, appliances, etc.
Conventional approaches for synchronizing content on home networks includes mechanisms and frameworks that utilize fixed configurations. Such fixed configurations are typically between a single device and selected applications. Examples of such configurations include those between an Apple™ iPod™ device and iTunes™ application, and Palm/PocketPC™ devices and PC desktop productivity applications.
Features of these conventional frameworks include two-way synchronization between devices and applications, such that changes made on either are reflected to the other upon synchronization. Synchronization can be initiated via user commands, or automatically when an application-host system detects the presence of a device in the network, or vice-versa.
However, a shortcoming of such conventional approaches is that users must set up configurations between fixed devices and application counterparties, resulting in tightly coupled devices and application. Further, in such conventional approaches, synchronized content does not adapt to the capabilities and limitations of the target counterparty.
The present invention addresses the above shortcomings. In one embodiment, the present invention provides a method and apparatus that eases the steps which users and software developers must take in order to synchronize content among a collection of devices in a network such as a home network. The present invention allows simplified set up and simplified steps associated with synchronization between devices and applications, and enables synchronization to occur in an intelligent, flexible manner.
Accordingly, in one version the present invention one or more synchronization controllers in the home network, wherein each synchronization controller comprises a media directory that includes a table (directory) of all the content available on the various devices in the home network.
The directory includes identification and location information for each content unit in the network. The identification information can comprise unique identification information for the content unit, such as content title, version number, creation date, etc. The location information can include a unique identification, such as URI for accessing the content unit therein for synchronization.
The synchronization controller further comprises a content manager and a device communication driver. The device communication driver provides protocol conversion for communication between an always-on device in the home network and an intermittently connected device. The content manager performs content synchronization utilizing the media directory and the device communication driver.
In one embodiment, when the content manager identifies an intermittently connected device for content synchronization with the home network and begins the synchronization process, the content manager attempts to match the external device's content with content available in the home network. When there is a mismatch, the content manager starts a synchronization session to transfer content from the intermittently connected device to the home network, or vice versa. During this process, the intermittently connected device need not know which always-on device it synchronized to, nor does it need to know what kind of format the content is stored in.
The device communication driver provides protocol conversion for inter-network and device communication such as communication between an intermittently connected device and an always-on device in the network. For example, if the home network comprises a 1394 network and the intermittently connected network comprises a non-1394 network, the device communication driver provides protocol conversion for a 1394 device in the home network to communicate with a non-1394 intermittently connected device, to perform content synchronization.
Preferably, the device communication driver includes multiple protocol conversion methods to enable devices in the home to communicate with various intermittently connected devices that use a different communication protocol than the devices in the home network. As such, the device communication driver determines the protocol conversion necessary for communication between an always-on device (e.g., in the home network) and an intermittently connected device, and provides the necessary protocol conversion processing to enable communication between an always-on device and an intermittently connected device. The device communication driver can further facilitate intra-network communication between the devices in the network as necessary.
As such, the present invention allows simplified set up and simplified steps associated with synchronization between devices and applications, providing content synchronization in an intelligent, flexible manner.
Other embodiments, features and advantages of the present invention will be apparent from the following specification taken in conjunction with the following drawings.
Further, one or more synchronization controllers 35 can be logical devices and may be included in the client and/or server devices 20.
In this example, the devices 20 and 35 implement the HTTP protocol for communication and protocol therebetween. Though in the example described herein the HTTP protocol is utilized by the network 10, those skilled in the art will recognize that the present invention is useful with other network communication protocols that utilize the client-server model.
The synchronization controller 35 in network 10 simplifies the steps which users and software developers must take in order to synchronize content among the collection of devices in the network 10. The present invention provides simplified set up and simplified steps associated with synchronization between devices and applications. The present invention further enables synchronization to occur in an intelligent, flexible manner.
Accordingly, applications and devices in the network 10 can automatically synchronize with content located on other, multiple, arbitrary applications and devices, rather than with content located within a fixed, preconfigured counterparty. Further, synchronization can occur in a manner which takes into account the capabilities of the counterparties, and the preferences of the user. For example, the process of synchronizing video content between two devices that support different video formats would include a step which transcodes the video from the source device's format to that of the destination device.
In one aspect the present invention enables devices 25 intermittently connected (foreign) to the home network 10, to synchronize content with the home network 10 without the knowledge of which device 20 are connected in the home network 10. Unlike conventional approaches where an external device may not be able to synchronize to devices that do not employ the same protocols as the intermittently connected device, the present invention assures compatibility because a home network 10 according to the present invention is capable of multiple content access protocols.
In another aspect the present invention provides a method of bridging the difference between an intermittently connected device 25 and a target device 20 in the home network 10 with respect to content access protocols and content capabilities, and triggering the network 10 to perform certain synchronization actions. For example, when the network synchronizes a PDA's calendar to a desktop PC and finds that there is a meeting at 8:00 am the next day, the network synchronizes the alarm clock about this as well such that an alarm could be set at 7:00 am on the alarm clock.
Accordingly, in one embodiment the network includes one or more synchronization controllers 35, wherein each synchronization controller 35 hides device details from devices 20 in the network 10 and from devices 25. Each synchronization controller 35 implements a mapping method that maps a synchronization request to operations to devices 20, 30 within the network 10. This mapping method describes how, when, what needs to be synchronized between the intermittently connected device and the content in the network.
In one example, the mapping method includes meta data descriptions (e.g., content title, content creation date, content format, content location, etc.) of every piece of content and device in each synchronization controller 35, such that each synchronization controller 35 can choose the right content and device to synchronize without requiring manual operation by the user. Although there can be multiple controllers in the network, in this embodiment the synchronization process between the intermittently connected device and the network is by one controller only, and only when the controller fails, the process fails over to another controller.
The identification information can comprise meta data, unique identification information such as content name, date of last update, size, etc. The location information can be a unique identification, such as URI for accessing the content unit therein for synchronization.
The content manager 65 includes synchronization processing 80 that is responsible for content synchronization. When the content manager 65 identifies an intermittently connected device for content synchronization with the home network 60 and begins the synchronization processing 80, the content manager 65 attempts to match the content in the device 25 with content available in the home network 60.
If there is a mismatch, the content manager 65 transfers content from the external device 35 to the home network 10, vice versa, or both. Because the media directory 85 contains most updates, the media directory 85 has the information regarding content in the network. The media directory is also updated to indicate the content in the network that was synchronized in the network. When a content is synchronized, the information in the media directory 85 is also updated.
In one example, the content manager 65 performs content matching by comparing date and size of an identified content unit in the home network 60 with the date and size of a corresponding identified content unit in the external device 25. When there is a mismatch, the content manager 65 starts a synchronization session to transfer content from the external device 25 to the home network 60, or vice versa.
During the synchronization process, the intermittently connected device 25 need not know to which home device 20 the intermittently connected device is synchronized to (transparent to the intermittently connected device), nor does the intermittently connected device 25 need to know what kind of format the content is stored in (transparent to the intermittently connected device). The meta data of the content and of the home network devices 20, which the content manager 65 uses to make decisions, is managed by the media directory 85 and the device communication driver 75, respectively.
The device communication driver 75 provides protocol conversion for inter-network protocol and device communication such as communication between an intermittently connected device 25 and a device 20 and/or 35 in the network 60. For example, the home network 60 can comprise a 1394 network and the external device 25 can comprise a non-1394 device on a non-1394 network, wherein the device communication driver 75 provides protocol conversion for a 1394 device in the home network to communicate with a non-1394 external device 25, to perform content synchronization.
Preferably, the device communication driver 75 includes multiple protocol conversion methods 90 to enable devices in the network 60 to communicate with various devices 25 that use a different communication protocol than the devices in the home network 60. As such, the device communication driver 75 determines the protocol conversion necessary for communication between a device 20 in the home network 60 and an intermittently connected device 25, and provides the necessary protocol conversion processing to enable communication between a device 20 in the network 60 and an intermittently connected device 25.
The device communication driver 75 can further facilitate intra-network communication between the devices in the network 60 as necessary. As such, the content manager 65 can also provide content synchronization between the devices in the home network 60 in a similar manner as discussed above for an intermittently connected device. Although embodiment describes content synchronization among always-on devices and intermittently connected devices, the same method and apparatus can be used for synchronization among always-on devices within the network. Further, the content manager 65 allows a user to select the content unit that is to be synchronized and portions of that content unit that the user wants the content manager to synchronize thereafter. Further, the media directory 70 can store such selection information to be used by the content manager 65 when synchronizing each content unit.
While this invention is susceptible of embodiments in many different forms, there are shown in the drawings and will herein be described in detail, preferred embodiments of the invention with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the broad aspects of the invention to the embodiments illustrated. The aforementioned example architectures above according to the present invention, can be implemented in many ways, such as program instructions for execution by a processor, as logic circuits, as ASIC, as firmware, etc., as is known to those skilled in the art. Therefore, the present invention is not limited to the example embodiments described herein.
The present invention has been described in considerable detail with reference to certain preferred versions thereof; however, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein.