US20120311161A1 - Dual-phase content synchronization - Google Patents
Dual-phase content synchronization Download PDFInfo
- Publication number
- US20120311161A1 US20120311161A1 US13/153,188 US201113153188A US2012311161A1 US 20120311161 A1 US20120311161 A1 US 20120311161A1 US 201113153188 A US201113153188 A US 201113153188A US 2012311161 A1 US2012311161 A1 US 2012311161A1
- Authority
- US
- United States
- Prior art keywords
- network
- remote node
- mobile device
- metadata
- synchronized
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000001360 synchronised effect Effects 0.000 claims abstract description 77
- 238000000034 method Methods 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims 3
- 238000010168 coupling process Methods 0.000 claims 3
- 238000005859 coupling reaction Methods 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 229910000078 germane Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Definitions
- Embodiments of the present invention relate generally to content synchronization of a device. More particularly, embodiments of the invention relate to dual-phase content synchronization of a device.
- Portable devices such as portable media players have come more popular in recent years.
- the capabilities of such devices such as processing and storage capabilities, continue to increase, and many rank-and-file users desire to synchronize their PDAs and similar devices to, for example, their desktop computers.
- Such synchronization is readily available using synchronization software, where every time a device is connected to the computer, or inserted into a cradle, which is connected to a computer, a synchronization dialog starts between the device and the computer, and data can be transferred in both directions.
- FIG. 1 is a block diagram illustrating a system for multiple phase content synchronization according to one embodiment of the invention.
- FIG. 2 is a transactional diagram illustrating transactions of content synchronization according to one embodiment of the invention.
- FIG. 3 is a flow diagram illustrating a method for synchronizing content according to one embodiment of the invention.
- FIG. 4 is a flow diagram illustrating a method for synchronizing content according to one embodiment of the invention.
- FIG. 5 is a block diagram of a data processing system, which may be used with one embodiment of the invention.
- content or data synchronization between a device and a remote node is configured into at least two phases.
- a first phase metadata describing the content or data to be synchronized is synchronized between two endpoints.
- the actual content or data e.g., payloads
- the content synchronization during the second phase is further configured to be carried out in multiple segments. Each segment can be independently or sequentially synchronized over a different period of time, where each segment may be specified by the metadata synchronized during the first phase.
- segments of the content can be synchronized over different network connections and/or different networks, using different communications protocols.
- the segments of content may be synchronized with multiple different servers (e.g., content distribution servers or mirrored servers) dependent upon the circumstances at the point in time (e.g., time, location, and/or bandwidth).
- the segments of content synchronization can also be performed (e.g., “picked up”) automatically without further user intervention, in response to detection of the availability of network connections.
- the overall content synchronization can be started, stopped, and restarted at different time and places, without having to restart the entire content synchronization or resynchronize a segment that has been previously synchronized.
- FIG. 1 is a block diagram illustrating a system for multiple phase content synchronization according to one embodiment of the invention.
- system 100 includes mobile device 101 communicatively coupled to servers 103 - 104 over network 102 .
- Mobile device 101 may be any kind of portable devices such as, for example, a laptop, a tablet, a mobile phone (e.g., Smartphone), a media player, a personal digital assistant (PDA), a gaming device, etc.
- Mobile device 101 may be an iPhoneTM or iPodTM device available from Apple® Inc. of Cupertino, Calif.
- Network 102 may be any kind of network such as, local area network (LAN), wide area network (WAN) such as the Internet, or a combination thereof.
- Servers 103 - 104 may be any kind of servers such as content distribution servers, which may be implemented as part of a cloud or server farms.
- servers 103 - 104 may be part of an iTunesTM Appstore available from Apple Inc.
- mobile device can communicate with servers 103 - 104 over a wireless network via a wireless access point (AP) 106 .
- AP wireless access point
- mobile device 101 can communicate with servers 103 - 104 via a WiFi network provided by a WiFi hub or hotspot, for example, for the purpose of content synchronization.
- mobile device 101 includes cellular communication capability (e.g., a mobile phone or Smartphone), mobile device 101 can also communicate with servers 103 - 104 over a cellular network, for example, for the purpose of content synchronization.
- cellular communication capability e.g., a mobile phone or Smartphone
- device 101 can also communicate, for example, via a universal serial bus (USB), with host 105 for the purpose of content synchronization between device 101 and host 105 , which may be a desktop or laptop operating as a local store.
- USB universal serial bus
- content may refer to any payload data, such as media content (e.g., songs or movies), applications to be installed, or other data files (e.g., documents), etc.
- mobile device 101 includes synchronization module 108 to synchronize content with a remote node.
- synchronization module 108 can communicate with synchronization module 111 of host 105 for content synchronization between mobile device 101 and host 105 .
- synchronization module 108 can communicate with synchronization module 114 of server 103 for content synchronization between mobile device 101 and server 103 , which may be via wireless AP 106 and/or cellular AP 107 .
- mobile device 101 attempts to synchronize content with server 103 over network 102 .
- the content synchronization is performed in multiple phases.
- synchronization module 108 communicates with synchronization module 114 to synchronize metadata 109 and 115 .
- the metadata describes content such as content 110 and content 116 to be synchronized in a subsequent phase or phases.
- the actual content is synchronized between mobile device 101 and server 103 , for example, over different periods of time and/or different network connections.
- the metadata in general has a relatively smaller size, it can be synchronized in a shorter period of time. That is, the metadata is more likely synchronized without interruption.
- the actual content could have a larger size of payload. For example, a movie file may have a larger size and it may take longer time to download from server 103 to mobile device 101 , or vice versa.
- the actual content can be synchronized in multiple segments during the subsequent phase or phases based on the metadata. That is, once the metadata has been synchronized, the actual content can be broken up in multiple segments and individually synchronized over multiple periods of time without having to continuously synchronize the entire content.
- connection particularly a wireless connection
- the synchronization can be subsequently picked up during a subsequent connection session based on the metadata, without having to restart the entire synchronization.
- a user of the device can start interact with at least a portion of the content. For example, the user can view at least some of the music tracks being or to be synchronized.
- a graphical representation e.g., icon or different colors
- content to be synchronized may be prioritized, for example, based on size, type, or user specific configuration. For example, content with a smaller size may be synchronized prior to those with larger sizes.
- FIG. 2 is a transactional diagram illustrating transactions of content synchronization according to one embodiment of the invention.
- node 201 can represent host 105 and/or any of servers 103 - 104 of FIG. 1 .
- node 201 transmits a request for content synchronization to mobile device 101 .
- mobile device 101 can be connected to a host via a local connection such as a universal serial bus (USB), which may be detected by the host. In response to such detection, the host transmits the synchronization request to mobile device 101 .
- USB universal serial bus
- the request may include one or more identifiers (IDs) identifying certain type or types of content (e.g., movies, songs, books, etc.) to be synchronized. For example, a user may wish to synchronize an application with a first device, to synchronize music with a second device, and to synchronize photos with a third device, etc.
- IDs identifiers
- mobile device 101 is configured to invoke one or more appropriate plug-in applications to retrieve or compile metadata representing the content identified by the request that is currently stored in mobile device.
- the content may be audio, video, an application, a game, etc.
- plug-ins include an application plug-in that services applications or a media plug-in that services music, videos, and podcasts, etc.
- mobile device 101 responds with a message indicating that it is ready to synchronize metadata and during transaction 205 , mobile device 101 and node 201 synchronize the metadata.
- the metadata may includes purchasing data for purchasing or downloading an item (e.g., application) from node 201 , a list of media assets stored in mobile device 101 , user edits on mobile device 101 (e.g., playlist, skip, play count), deletion of media content (e.g., song, movie), graphics user interface (GUI) settings (e.g., icon order or arrangement), installed application(s), and previous synchronization status, etc.
- item e.g., application
- GUI graphics user interface
- Metadata can also include library data such as artists, album names, song titles, or collection information such as playlists and their associated tracks, edits applied to photos, asset version and encoding information.
- Transactions 202 - 205 are referred to as first phase 210 of synchronization. Once the metadata has been synchronized, first phase 210 ends.
- Second phase 220 can start any time after first phase 210 ends.
- the content is synchronized via transactions 206 - 207 .
- the content may be synchronized in segments and some of the segments may be synchronized individually over different periods of time, different network connections, different networks, and/or with different content provider sources.
- some segments of the content may be synchronized over a WiFi connection during a first time period based on the metadata.
- some segments e.g., non-overlapped or non-duplicated segments
- Metadata may include a list of asset identifiers (e.g., one for each synchronized asset that should exist on the device), and for each identifier, an indication of whether or not that asset is currently present on the device.
- asset identifiers e.g., one for each synchronized asset that should exist on the device
- an indication of whether or not that asset is currently present on the device e.g., one for each synchronized asset that should exist on the device
- host 105 when user plugs its mobile device 101 into host 105 (e.g., via a USB connection), host 105 automatically detects the presence of mobile device 101 (e.g., using certain plug-and-play handshaking protocols).
- Host 105 starts the first phase of synchronization by synchronizing metadata 112 with metadata 109 of mobile device 101 for the purpose of synchronizing content 113 with content 110 of mobile device 101 .
- Content 110 may have been synchronized with content 116 of server 103 previously, but has not been synchronized with host 105 .
- server 103 may be an application store and content 116 may be the content asset associated with a user of mobile device 101 (e.g., user account). Thus, content 116 may have been purchased or acquired by the user of mobile device 101 .
- the first phase ends and the second phase of the content synchronization may start.
- the second phase may start automatically without user intervention or user knowledge dependent upon the operating condition at the point in time. For example, if connection between mobile device 101 and host 105 is still available after the first phase, the second phase can start immediately without interruption.
- the second phase of content synchronization may be broken up into multiple segments and such segments can be subsequently synchronized at different time and/or places dependent upon the circumstances. For example, during the synchronization of the content of the second phase, mobile device is disconnected from host 105 and as a result, the content synchronization is interrupted. In this example, the uses may walk away from host 105 with mobile device 101 , etc. Thus, only a portion (e.g., first portion or segment) of the content has been synchronized.
- mobile device 101 may be reconnected with host 105 .
- host 105 and mobile device 101 may again perform the handshaking process (e.g., first phase 210 of FIG. 2 ) to determine whether the metadata has been synchronized. If the metadata are still synchronized (e.g., both mobile device 101 and host 105 have similar or identical metadata 109 and 112 ), the content synchronization can be continued (e.g., picked up) from where it has been left off from the previous synchronization session based on the metadata, without the need of restarting the entire content synchronization.
- These detection and/or synchronization processes may be performed automatically without user intervention or knowledge.
- mobile device 101 and host 105 will perform additional first phase synchronization process to synchronize the metadata. This could happen while mobile device 101 is disconnected from host 10 , device 101 performs another content synchronization with server 103 . As a result, metadata 109 and/or content 110 of mobile device may be updated from server 103 , which leads to the discrepancy between metadata 109 and 112 , and/or content 110 and 113 .
- the existing content and/or the new content associated with the new metadata can be synchronized in the continued second phase and/or subsequent phase(s) of content synchronization.
- mobile device 101 may be disconnected from server 103 and roam to another network such as a WiFi network.
- Mobile device 101 can log onto the network via the associated access point 106 and connect with server 103 .
- a user can travel to another location such as a WiFi hotspot and mobile device 101 can reconnect with network 102 via the WiFi network.
- the second phase of content synchronization can continue over the new network connection, based on the metadata that has been synchronized during the first phase.
- mobile device 101 can also continue the second phase of content synchronization over another network such as a cellular network via the associated AP 107 , etc.
- the second phase of content synchronization can be continued or picked up between mobile device 101 and different content distribution servers 103 - 104 .
- servers 103 - 104 may be part of a content distribution cloud or sever farm.
- the content may be synchronized with server 103 .
- the content may be synchronized with server 104 .
- the synchronization of the content may be performed with servers 103 - 104 without overlap.
- At least some of the content is copied to a designated storage location within mobile device 101 (not shown), where the content is transmitted from the designated storage location to a remote node.
- the actual content would still be successfully synchronized from the designated storage location with the remote node.
- a user may issue a purchase order for media content provided by server 103 , where the purchase order is part of the content to be synchronized with server 103 .
- the user may delete the purchase order from its normal place (e.g., AppStore software application) based on the assumption that the purchase has been completed.
- the purchase order data can be subsequently synchronized with server 103 , even though the actual purchase order data has been deleted by the user. This mechanism gives the user an impression that once the first phase is completed, the actual content synchronization will be completed eventually.
- the designated storage location is not user accessible (e.g., invisible to a user).
- FIG. 3 is a flow diagram illustrating a method for synchronizing content according to one embodiment of the invention.
- Method 300 may be performed by system 100 of FIG. 1 , such as mobile device 101 .
- a request for content synchronization is received from a remote node (e.g., host 105 and/or servers 103 - 104 of FIG. 1 ).
- the request may include information identifying the content to be synchronized, where the content may be media content (e.g., a song or movie) or an application to be installed.
- metadata associated with the content to be synchronized is gathered, for example, via the associated plug-ins.
- the metadata is synchronized with the remote node.
- the content is bi-directionally synchronized between a local node and the remote node, where the content is synchronized in segments at different periods of time, connections, and/or locations. Operations involved in blocks 301 - 303 are considered as part of the first phase of the content synchronization while block 304 is considered as part of the second phase of the content synchronization.
- FIG. 4 is a flow diagram illustrating a method for synchronizing content according to one embodiment of the invention.
- Method 400 may be performed by system 100 of FIG. 1 , such as mobile device 101 .
- a network connection is established between a mobile device and a remote node (e.g., content server) over a first network (e.g., WiFi network).
- processing logic determines whether a content synchronization session has been previously started but has not been completed over a second network (e.g., cellular network) based on metadata that has been previously synchronized.
- a second network e.g., cellular network
- the content synchronization session is restarted with the remote node over the first network based on the metadata.
- the remaining content, as well as, any new content identified by the new metadata is bi-directionally synchronized with the remote node without having to resynchronize the content that has been previously synchronized.
- FIG. 5 is a block diagram of a data processing system, which may be used with one embodiment of the invention.
- the system 500 may be used as part of mobile device 101 , host 105 , and/or servers 103 - 104 as shown in FIG. 1 .
- FIG. 5 illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components; as such details are not germane to the present invention. It will also be appreciated that network computers, handheld computers, cell phones and other data processing systems which have fewer components or perhaps more components may also be used with the present invention.
- the computer system of FIG. 5 may, for example, be an Apple Macintosh computer or MacBook, an IBM compatible PC, or a computer server.
- the computer system 500 which is a form of a data processing system, includes a bus or interconnect 502 which is coupled to one or more microprocessors 503 and a ROM 507 , a volatile RAM 505 , and a non-volatile memory 506 .
- the microprocessor 503 is coupled to cache memory 504 .
- the bus 502 interconnects these various components together and also interconnects these components 503 , 507 , 505 , and 506 to a display controller and display device 508 , as well as to input/output (I/O) devices 510 , which may be mice, keyboards, modems, network interfaces, printers, and other devices which are well-known in the art.
- I/O input/output
- the input/output devices 510 are coupled to the system through input/output controllers 509 .
- the volatile RAM 505 is typically implemented as dynamic RAM (DRAM) which requires power continuously in order to refresh or maintain the data in the memory.
- the non-volatile memory 506 is typically a magnetic hard drive, a magnetic optical drive, an optical drive, or a DVD RAM or other type of memory system which maintains data even after power is removed from the system.
- the non-volatile memory will also be a random access memory, although this is not required.
- the present invention may utilize a non-volatile memory which is remote from the system; such as, a network storage device which is coupled to the data processing system through a network interface such as a modem or Ethernet interface.
- the bus 502 may include one or more buses connected to each other through various bridges, controllers, and/or adapters, as is well-known in the art.
- the I/O controller 509 includes a USB (Universal Serial Bus) adapter for controlling USB peripherals.
- I/O controller 509 may include an IEEE-1394 adapter, also known as FireWire adapter, for controlling FireWire devices.
- Embodiments of the invention also relate to an apparatus for performing the operations herein.
- a computer program is stored in a non-transitory computer readable medium.
- a machine-readable medium includes any mechanism for storing information in a form readable by a machine (e.g., a computer).
- a machine-readable (e.g., computer-readable) medium includes a machine (e.g., a computer) readable storage medium (e.g., read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices).
- processing logic that comprises hardware (e.g. circuitry, dedicated logic, etc.), software (e.g., embodied on a non-transitory computer readable medium), or a combination of both.
- processing logic comprises hardware (e.g. circuitry, dedicated logic, etc.), software (e.g., embodied on a non-transitory computer readable medium), or a combination of both.
- Embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of embodiments of the invention as described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Metadata is synchronized between a mobile device and a remote node over a first network, where the metadata specifies media content to be synchronized between the mobile device and the remote node. Subsequently a network connection is established with the remote node over a second network. The media content is bi-directionally synchronized between the mobile device and the remote node over the second network based on the metadata that was synchronized over the first network.
Description
- Embodiments of the present invention relate generally to content synchronization of a device. More particularly, embodiments of the invention relate to dual-phase content synchronization of a device.
- Portable devices such as portable media players have come more popular in recent years. The capabilities of such devices, such as processing and storage capabilities, continue to increase, and many rank-and-file users desire to synchronize their PDAs and similar devices to, for example, their desktop computers. Such synchronization is readily available using synchronization software, where every time a device is connected to the computer, or inserted into a cradle, which is connected to a computer, a synchronization dialog starts between the device and the computer, and data can be transferred in both directions.
- As content or files such as movies become larger and larger, time required for the synchronization becomes longer and longer. Such a long synchronization may easily be interrupted, for example, by poor connection or user interruption, etc. Typically, if the synchronization is interrupted, the entire synchronization has to restart over.
- Embodiments of the invention are illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.
-
FIG. 1 is a block diagram illustrating a system for multiple phase content synchronization according to one embodiment of the invention. -
FIG. 2 is a transactional diagram illustrating transactions of content synchronization according to one embodiment of the invention. -
FIG. 3 is a flow diagram illustrating a method for synchronizing content according to one embodiment of the invention. -
FIG. 4 is a flow diagram illustrating a method for synchronizing content according to one embodiment of the invention. -
FIG. 5 is a block diagram of a data processing system, which may be used with one embodiment of the invention. - Various embodiments and aspects of the inventions will be described with reference to details discussed below, and the accompanying drawings will illustrate the various embodiments. The following description and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of various embodiments of the present invention. However, in certain instances, well-known or conventional details are not described in order to provide a concise discussion of embodiments of the present inventions.
- Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in conjunction with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification do not necessarily all refer to the same embodiment.
- According to some embodiments, content or data synchronization between a device and a remote node (e.g., desktop or server) is configured into at least two phases. During a first phase, metadata describing the content or data to be synchronized is synchronized between two endpoints. Subsequently, during a second phase, the actual content or data (e.g., payloads) is then synchronized based on the metadata. In one embodiment, the content synchronization during the second phase is further configured to be carried out in multiple segments. Each segment can be independently or sequentially synchronized over a different period of time, where each segment may be specified by the metadata synchronized during the first phase.
- In one embodiment, based on the metadata that has been synchronized in the first phase, segments of the content can be synchronized over different network connections and/or different networks, using different communications protocols. The segments of content may be synchronized with multiple different servers (e.g., content distribution servers or mirrored servers) dependent upon the circumstances at the point in time (e.g., time, location, and/or bandwidth). The segments of content synchronization can also be performed (e.g., “picked up”) automatically without further user intervention, in response to detection of the availability of network connections. As a result, the overall content synchronization can be started, stopped, and restarted at different time and places, without having to restart the entire content synchronization or resynchronize a segment that has been previously synchronized.
-
FIG. 1 is a block diagram illustrating a system for multiple phase content synchronization according to one embodiment of the invention. Referring toFIG. 1 ,system 100 includesmobile device 101 communicatively coupled to servers 103-104 overnetwork 102.Mobile device 101 may be any kind of portable devices such as, for example, a laptop, a tablet, a mobile phone (e.g., Smartphone), a media player, a personal digital assistant (PDA), a gaming device, etc. For example,Mobile device 101 may be an iPhone™ or iPod™ device available from Apple® Inc. of Cupertino, Calif. Network 102 may be any kind of network such as, local area network (LAN), wide area network (WAN) such as the Internet, or a combination thereof. Servers 103-104 may be any kind of servers such as content distribution servers, which may be implemented as part of a cloud or server farms. For example, servers 103-104 may be part of an iTunes™ Appstore available from Apple Inc. - In one embodiment, mobile device can communicate with servers 103-104 over a wireless network via a wireless access point (AP) 106. For example,
mobile device 101 can communicate with servers 103-104 via a WiFi network provided by a WiFi hub or hotspot, for example, for the purpose of content synchronization. Furthermore, ifmobile device 101 includes cellular communication capability (e.g., a mobile phone or Smartphone),mobile device 101 can also communicate with servers 103-104 over a cellular network, for example, for the purpose of content synchronization. In addition,device 101 can also communicate, for example, via a universal serial bus (USB), withhost 105 for the purpose of content synchronization betweendevice 101 andhost 105, which may be a desktop or laptop operating as a local store. Throughout this application, the term of “content” may refer to any payload data, such as media content (e.g., songs or movies), applications to be installed, or other data files (e.g., documents), etc. - In one embodiment,
mobile device 101 includessynchronization module 108 to synchronize content with a remote node. For example,synchronization module 108 can communicate withsynchronization module 111 ofhost 105 for content synchronization betweenmobile device 101 andhost 105. Alternatively,synchronization module 108 can communicate withsynchronization module 114 of server 103 for content synchronization betweenmobile device 101 and server 103, which may be viawireless AP 106 and/orcellular AP 107. - For the illustration purpose only, it is assumed
mobile device 101 attempts to synchronize content with server 103 overnetwork 102. In one embodiment, the content synchronization is performed in multiple phases. During a first phase,synchronization module 108 communicates withsynchronization module 114 to synchronizemetadata content 110 andcontent 116 to be synchronized in a subsequent phase or phases. Subsequently, the actual content is synchronized betweenmobile device 101 and server 103, for example, over different periods of time and/or different network connections. - Since the metadata in general has a relatively smaller size, it can be synchronized in a shorter period of time. That is, the metadata is more likely synchronized without interruption. However, the actual content could have a larger size of payload. For example, a movie file may have a larger size and it may take longer time to download from server 103 to
mobile device 101, or vice versa. In one embodiment, the actual content can be synchronized in multiple segments during the subsequent phase or phases based on the metadata. That is, once the metadata has been synchronized, the actual content can be broken up in multiple segments and individually synchronized over multiple periods of time without having to continuously synchronize the entire content. This is very useful when the content file is large and the connection, particularly a wireless connection, to the remote node may be lost during the synchronization. During the content synchronization, if the connection is lost, the synchronization can be subsequently picked up during a subsequent connection session based on the metadata, without having to restart the entire synchronization. - According to one embodiment, once the metadata has been synchronized, a user of the device can start interact with at least a portion of the content. For example, the user can view at least some of the music tracks being or to be synchronized. A graphical representation (e.g., icon or different colors) may be utilized to indicate that the content has not been completely synchronized. For example, a music track that has not been completely transferred may be displayed in gray with a progress indicator indicating that the content synchronization for the associated music is being performed. According to a further embodiment, content to be synchronized may be prioritized, for example, based on size, type, or user specific configuration. For example, content with a smaller size may be synchronized prior to those with larger sizes.
-
FIG. 2 is a transactional diagram illustrating transactions of content synchronization according to one embodiment of the invention. Referring toFIG. 2 ,node 201 can represent host 105 and/or any of servers 103-104 ofFIG. 1 . Initially, whenmobile device 101 is communicatively coupled tonode 201, viatransaction 202,node 201 transmits a request for content synchronization tomobile device 101. For example,mobile device 101 can be connected to a host via a local connection such as a universal serial bus (USB), which may be detected by the host. In response to such detection, the host transmits the synchronization request tomobile device 101. The request may include one or more identifiers (IDs) identifying certain type or types of content (e.g., movies, songs, books, etc.) to be synchronized. For example, a user may wish to synchronize an application with a first device, to synchronize music with a second device, and to synchronize photos with a third device, etc. In response to the synchronization request, via transaction 203,mobile device 101 is configured to invoke one or more appropriate plug-in applications to retrieve or compile metadata representing the content identified by the request that is currently stored in mobile device. The content may be audio, video, an application, a game, etc. Examples of plug-ins include an application plug-in that services applications or a media plug-in that services music, videos, and podcasts, etc. - During
transaction 204,mobile device 101 responds with a message indicating that it is ready to synchronize metadata and duringtransaction 205,mobile device 101 andnode 201 synchronize the metadata. The metadata may includes purchasing data for purchasing or downloading an item (e.g., application) fromnode 201, a list of media assets stored inmobile device 101, user edits on mobile device 101 (e.g., playlist, skip, play count), deletion of media content (e.g., song, movie), graphics user interface (GUI) settings (e.g., icon order or arrangement), installed application(s), and previous synchronization status, etc. Examples of metadata can also include library data such as artists, album names, song titles, or collection information such as playlists and their associated tracks, edits applied to photos, asset version and encoding information. Transactions 202-205 are referred to asfirst phase 210 of synchronization. Once the metadata has been synchronized,first phase 210 ends. -
Second phase 220 can start any time afterfirst phase 210 ends. Duringsecond phase 220, the content is synchronized via transactions 206-207. The content may be synchronized in segments and some of the segments may be synchronized individually over different periods of time, different network connections, different networks, and/or with different content provider sources. For example, duringtransaction 206, some segments of the content may be synchronized over a WiFi connection during a first time period based on the metadata. Duringtransaction 207, some segments (e.g., non-overlapped or non-duplicated segments) may be synchronized over a cellular network during a second or other time periods based on the metadata. For example, metadata may include a list of asset identifiers (e.g., one for each synchronized asset that should exist on the device), and for each identifier, an indication of whether or not that asset is currently present on the device. When a synchronization session needs to resume in the second phase, the metadata can be scanned, and any identifiers that are not present on the device are assets that still need to be requested. - Referring back to
FIG. 1 , for example, when user plugs itsmobile device 101 into host 105 (e.g., via a USB connection), host 105 automatically detects the presence of mobile device 101 (e.g., using certain plug-and-play handshaking protocols). Host 105 starts the first phase of synchronization by synchronizingmetadata 112 withmetadata 109 ofmobile device 101 for the purpose of synchronizingcontent 113 withcontent 110 ofmobile device 101.Content 110 may have been synchronized withcontent 116 of server 103 previously, but has not been synchronized withhost 105. In this example, server 103 may be an application store andcontent 116 may be the content asset associated with a user of mobile device 101 (e.g., user account). Thus,content 116 may have been purchased or acquired by the user ofmobile device 101. - After metadata 109 has been synchronized with
metadata 112 ofhost 105, the first phase ends and the second phase of the content synchronization may start. The second phase may start automatically without user intervention or user knowledge dependent upon the operating condition at the point in time. For example, if connection betweenmobile device 101 andhost 105 is still available after the first phase, the second phase can start immediately without interruption. - As described above, the second phase of content synchronization may be broken up into multiple segments and such segments can be subsequently synchronized at different time and/or places dependent upon the circumstances. For example, during the synchronization of the content of the second phase, mobile device is disconnected from
host 105 and as a result, the content synchronization is interrupted. In this example, the uses may walk away fromhost 105 withmobile device 101, etc. Thus, only a portion (e.g., first portion or segment) of the content has been synchronized. - Subsequently, when the user comes back,
mobile device 101 may be reconnected withhost 105. Oncemobile device 101 has been detected byhost 105,host 105 andmobile device 101 may again perform the handshaking process (e.g.,first phase 210 ofFIG. 2 ) to determine whether the metadata has been synchronized. If the metadata are still synchronized (e.g., bothmobile device 101 and host 105 have similar oridentical metadata 109 and 112), the content synchronization can be continued (e.g., picked up) from where it has been left off from the previous synchronization session based on the metadata, without the need of restarting the entire content synchronization. These detection and/or synchronization processes may be performed automatically without user intervention or knowledge. - If during the first phase process after
mobile device 101 reconnects withhost 105, it is detected that themetadata mobile device 101 and host 105 will perform additional first phase synchronization process to synchronize the metadata. This could happen whilemobile device 101 is disconnected from host 10,device 101 performs another content synchronization with server 103. As a result,metadata 109 and/orcontent 110 of mobile device may be updated from server 103, which leads to the discrepancy betweenmetadata content - In another scenario, after the metadata has been synchronized between
mobile device 101 and server 103 during the first phase,mobile device 101 may be disconnected from server 103 and roam to another network such as a WiFi network.Mobile device 101 can log onto the network via the associatedaccess point 106 and connect with server 103. For example, after disconnectingmobile device 101 from server 103 via a first network connection, a user can travel to another location such as a WiFi hotspot andmobile device 101 can reconnect withnetwork 102 via the WiFi network. According to one embodiment, the second phase of content synchronization can continue over the new network connection, based on the metadata that has been synchronized during the first phase. Similarly,mobile device 101 can also continue the second phase of content synchronization over another network such as a cellular network via the associatedAP 107, etc. - According to another embodiment, dependent upon the location of
mobile device 101 at the point in time, the second phase of content synchronization can be continued or picked up betweenmobile device 101 and different content distribution servers 103-104. For example, servers 103-104 may be part of a content distribution cloud or sever farm. At a first point in time, the content may be synchronized with server 103. At a second point in time, the content may be synchronized withserver 104. The synchronization of the content may be performed with servers 103-104 without overlap. - According to a further embodiment, prior to the second phase, at least some of the content is copied to a designated storage location within mobile device 101 (not shown), where the content is transmitted from the designated storage location to a remote node. In this manner, even if the user deletes the content after the first phase, the actual content would still be successfully synchronized from the designated storage location with the remote node. For example, a user may issue a purchase order for media content provided by server 103, where the purchase order is part of the content to be synchronized with server 103.
- After the first phase but before the second phase, the user may delete the purchase order from its normal place (e.g., AppStore software application) based on the assumption that the purchase has been completed. By maintaining a copy of the purchase order in the designated storage location, the purchase order data can be subsequently synchronized with server 103, even though the actual purchase order data has been deleted by the user. This mechanism gives the user an impression that once the first phase is completed, the actual content synchronization will be completed eventually. In one embodiment, the designated storage location is not user accessible (e.g., invisible to a user).
-
FIG. 3 is a flow diagram illustrating a method for synchronizing content according to one embodiment of the invention.Method 300 may be performed bysystem 100 ofFIG. 1 , such asmobile device 101. Referring toFIG. 3 , atblock 301, a request for content synchronization is received from a remote node (e.g., host 105 and/or servers 103-104 ofFIG. 1 ). The request may include information identifying the content to be synchronized, where the content may be media content (e.g., a song or movie) or an application to be installed. In response to the request, atblock 302, metadata associated with the content to be synchronized is gathered, for example, via the associated plug-ins. Atblock 303, the metadata is synchronized with the remote node. Subsequently, atblock 304, the content is bi-directionally synchronized between a local node and the remote node, where the content is synchronized in segments at different periods of time, connections, and/or locations. Operations involved in blocks 301-303 are considered as part of the first phase of the content synchronization whileblock 304 is considered as part of the second phase of the content synchronization. -
FIG. 4 is a flow diagram illustrating a method for synchronizing content according to one embodiment of the invention. Method 400 may be performed bysystem 100 ofFIG. 1 , such asmobile device 101. Referring toFIG. 4 , at block 401, a network connection is established between a mobile device and a remote node (e.g., content server) over a first network (e.g., WiFi network). At block 402, processing logic determines whether a content synchronization session has been previously started but has not been completed over a second network (e.g., cellular network) based on metadata that has been previously synchronized. In addition, if there is any new metadata that is available from the remote node, but is not in the mobile device, the new metadata is also synchronized. At block 403, the content synchronization session is restarted with the remote node over the first network based on the metadata. At block 404, the remaining content, as well as, any new content identified by the new metadata, is bi-directionally synchronized with the remote node without having to resynchronize the content that has been previously synchronized. -
FIG. 5 is a block diagram of a data processing system, which may be used with one embodiment of the invention. For example, thesystem 500 may be used as part ofmobile device 101,host 105, and/or servers 103-104 as shown inFIG. 1 . Note that whileFIG. 5 illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components; as such details are not germane to the present invention. It will also be appreciated that network computers, handheld computers, cell phones and other data processing systems which have fewer components or perhaps more components may also be used with the present invention. The computer system ofFIG. 5 may, for example, be an Apple Macintosh computer or MacBook, an IBM compatible PC, or a computer server. - As shown in
FIG. 5 , thecomputer system 500, which is a form of a data processing system, includes a bus or interconnect 502 which is coupled to one ormore microprocessors 503 and aROM 507, avolatile RAM 505, and anon-volatile memory 506. Themicroprocessor 503 is coupled tocache memory 504. Thebus 502 interconnects these various components together and also interconnects thesecomponents display device 508, as well as to input/output (I/O)devices 510, which may be mice, keyboards, modems, network interfaces, printers, and other devices which are well-known in the art. - Typically, the input/
output devices 510 are coupled to the system through input/output controllers 509. Thevolatile RAM 505 is typically implemented as dynamic RAM (DRAM) which requires power continuously in order to refresh or maintain the data in the memory. Thenon-volatile memory 506 is typically a magnetic hard drive, a magnetic optical drive, an optical drive, or a DVD RAM or other type of memory system which maintains data even after power is removed from the system. Typically, the non-volatile memory will also be a random access memory, although this is not required. - While
FIG. 5 shows that the non-volatile memory is a local device coupled directly to the rest of the components in the data processing system, the present invention may utilize a non-volatile memory which is remote from the system; such as, a network storage device which is coupled to the data processing system through a network interface such as a modem or Ethernet interface. Thebus 502 may include one or more buses connected to each other through various bridges, controllers, and/or adapters, as is well-known in the art. In one embodiment, the I/O controller 509 includes a USB (Universal Serial Bus) adapter for controlling USB peripherals. Alternatively, I/O controller 509 may include an IEEE-1394 adapter, also known as FireWire adapter, for controlling FireWire devices. - Some portions of the preceding detailed descriptions have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the ways used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities.
- It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as those set forth in the claims below, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
- Embodiments of the invention also relate to an apparatus for performing the operations herein. Such a computer program is stored in a non-transitory computer readable medium. A machine-readable medium includes any mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a machine-readable (e.g., computer-readable) medium includes a machine (e.g., a computer) readable storage medium (e.g., read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices).
- The processes or methods depicted in the preceding figures may be performed by processing logic that comprises hardware (e.g. circuitry, dedicated logic, etc.), software (e.g., embodied on a non-transitory computer readable medium), or a combination of both. Although the processes or methods are described above in terms of some sequential operations, it should be appreciated that some of the operations described may be performed in a different order. Moreover, some operations may be performed in parallel rather than sequentially.
- Embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of embodiments of the invention as described herein.
- In the foregoing specification, embodiments of the invention have been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the invention as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
Claims (21)
1. A computer-implemented method, comprising:
synchronizing metadata between a mobile device and a remote node over a first network, the metadata specifying media content to be synchronized between the mobile device and the remote node;
subsequently establishing a network connection with the remote node over a second network; and
bi-directionally synchronizing the media content between the mobile device and the remote node over the second network based on the metadata that was synchronized over the first network, wherein the media content is synchronized in a plurality of segments at different times.
2. The method of claim 1 , wherein the remote node is one of a host computer coupled to the mobile device via a local connection and a content provider server communicatively coupled to the mobile device over the Internet.
3. The method of claim 1 , further comprising downloading at least one of an application, music, a movie, and a book from a remote node over the second network, wherein the at least one of an application, music, a movie, and a book was purchased from the remote node and described by the metadata synchronized over the first network.
4. The method of claim 1 , wherein the first network is a wired connection coupled to a host computer which is communicatively coupled to the remote node over the Internet, and wherein the second network is a wireless network communicatively coupling the mobile device with the remote node.
5. The method of claim 1 , further comprising maintaining a copy of the synchronized metadata in a destination storage area that is invisible to a user of the mobile device, such that the media content synchronization can continue even if an original metadata has been accidentally deleted by the user from a content database of the mobile device.
6. The method of claim 1 , wherein bi-directionally synchronizing the media content comprises:
synchronizing a first portion of the media content with the remote node over the second network based on the metadata prior to an interruption;
subsequently establishing a network connection with the remote node over a third network; and
synchronizing a second portion of the media content with the remote node over the third network based on the metadata, without having to re-synchronizing the first portion of the media content.
7. The method of claim 6 , wherein the network connection of the third network with the remote node is automatically established in response to detecting availability of the third network, and wherein the second portion of the media content is automatically synchronized without user intervention.
8. A computer-readable storage medium having instructions stored therein, which when executed by a computer, cause the computer to perform a method, the method comprising:
synchronizing metadata between a mobile device and a remote node over a first network, the metadata specifying media content to be synchronized between the mobile device and the remote node;
subsequently establishing a network connection with the remote node over a second network; and
bi-directionally synchronizing the media content between the mobile device and the remote node over the second network based on the metadata that was synchronized over the first network, wherein the media content is synchronized in a plurality of segments at different times.
9. The computer-readable storage medium of claim 8 , wherein the remote node is one of a host computer coupled to the mobile device via a local connection and a content provider server communicatively coupled to the mobile device over the Internet.
10. The computer-readable storage medium of claim 8 , wherein the method further comprises downloading at least one of an application, music, a movie, and a book from a remote node over the second network, wherein at least one of an application, music, a movie, and a book was purchased from the remote node and described by the metadata synchronized over the first network.
11. The computer-readable storage medium of claim 8 , wherein the first network is a wired connection coupled to a host computer which is communicatively coupled to the remote node over the Internet, and wherein the second network is a wireless network communicatively coupling the mobile device with the remote node.
12. The computer-readable storage medium of claim 8 , wherein the method further comprises maintaining a copy of the synchronized metadata in a destination storage area that is invisible to a user of the mobile device, such that the media content synchronization can continue even if an original metadata has been accidentally deleted by the user from a content database of the mobile device.
13. The computer-readable storage medium of claim 8 , wherein bi-directionally synchronizing the media content comprises:
synchronizing a first portion of the media content with the remote node over the second network based on the metadata prior to an interruption;
subsequently establishing a network connection with the remote node over a third network; and
synchronizing a second portion of the media content with the remote node over the third network based on the metadata, without having to re-synchronizing the first portion of the media content.
14. The computer-readable storage medium of claim 13 , wherein the network connection of the third network with the remote node is automatically established in response to detecting availability of the third network, and wherein the second portion of the media content is automatically synchronized without user intervention.
15. A data processing system, comprising:
a processor; and
a memory coupled to the processor for storing instructions which when executed from the memory, cause the processor to
synchronize metadata between a mobile device and a remote node over a first network, the metadata specifying media content to be synchronized between the mobile device and the remote node,
subsequently establish a network connection with the remote node over a second network, and
bi-directionally synchronize the media content between the mobile device and the remote node over the second network based on the metadata that was synchronized over the first network, wherein the media content is synchronized in a plurality of segments at different times.
16. The system of claim 15 , wherein the remote node is one of a host computer coupled to the mobile device via a local connection and a content provider server communicatively coupled to the mobile device over the Internet.
17. The system of claim 15 , wherein the first network is a wired connection coupled to a host computer which is communicatively coupled to the remote node over the Internet, and wherein the second network is a wireless network communicatively coupling the mobile device with the remote node.
18. A computer-implemented method, comprising:
in response to establishing a network connection between a mobile device and a remote node over a first network, examining synchronization metadata stored in the mobile device to determine whether a content synchronization session with a remote node was started but was not completed previously over a second network; and
restarting the synchronization session with the remote node based on the synchronization metadata to bi-directionally synchronize remaining content that has not been synchronized over the first network, without having to re-synchronize content that has been previously synchronized over the second network, wherein the media content is synchronized in a plurality of segments at different times.
19. The method of claim 18 , wherein the synchronization metadata was synchronized between the mobile device and the remote node over a third network.
20. The method of claim 18 , wherein synchronization session is restarted automatically based on the synchronization metadata without user intervention, in response to a detection of the network connection with the remote node over the first network.
21. The method of claim 18 , wherein the first network is public network via a WiFi hotspot and the second network is a local network.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/153,188 US20120311161A1 (en) | 2011-06-03 | 2011-06-03 | Dual-phase content synchronization |
US13/250,696 US8255545B1 (en) | 2011-06-03 | 2011-09-30 | Dual-phase content synchronization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/153,188 US20120311161A1 (en) | 2011-06-03 | 2011-06-03 | Dual-phase content synchronization |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/250,696 Continuation US8255545B1 (en) | 2011-06-03 | 2011-09-30 | Dual-phase content synchronization |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120311161A1 true US20120311161A1 (en) | 2012-12-06 |
Family
ID=46689908
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/153,188 Abandoned US20120311161A1 (en) | 2011-06-03 | 2011-06-03 | Dual-phase content synchronization |
US13/250,696 Expired - Fee Related US8255545B1 (en) | 2011-06-03 | 2011-09-30 | Dual-phase content synchronization |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/250,696 Expired - Fee Related US8255545B1 (en) | 2011-06-03 | 2011-09-30 | Dual-phase content synchronization |
Country Status (1)
Country | Link |
---|---|
US (2) | US20120311161A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11973829B2 (en) * | 2014-09-19 | 2024-04-30 | Netapp, Inc. | Techniques for coordinating parallel performance and cancellation of commands in a storage cluster system |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10631019B2 (en) * | 2013-06-18 | 2020-04-21 | Vecima Networks Inc. | Remote storage digital video recording optimization method and system |
US9996547B2 (en) * | 2013-07-25 | 2018-06-12 | Dropbox, Inc. | Prioritizing content item synchronization based on sharing |
US9749408B2 (en) | 2013-07-30 | 2017-08-29 | Dropbox, Inc. | Techniques for managing unsynchronized content items at unlinked devices |
US9442944B2 (en) | 2013-11-12 | 2016-09-13 | Dropbox, Inc. | Content item purging |
US9658904B2 (en) * | 2014-07-08 | 2017-05-23 | Netapp, Inc. | Methods and systems for inter plug-in communication |
KR20160112143A (en) | 2015-03-18 | 2016-09-28 | 삼성전자주식회사 | Electronic device and method for updating screen of display panel thereof |
CN106557364A (en) * | 2015-09-24 | 2017-04-05 | 阿里巴巴集团控股有限公司 | A kind of method of data synchronization and system |
US9749412B1 (en) * | 2016-09-21 | 2017-08-29 | International Business Machines Corporation | Predictive file synchronization |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060161635A1 (en) * | 2000-09-07 | 2006-07-20 | Sonic Solutions | Methods and system for use in network management of content |
US20100257281A1 (en) * | 2009-04-03 | 2010-10-07 | Microsoft Corporation | Peer Connections Over Alternative Communication Mechanisms |
US20110167462A1 (en) * | 2006-12-04 | 2011-07-07 | Digitalsmiths | Systems and methods of searching for and presenting video and audio |
US20110208831A1 (en) * | 2007-01-08 | 2011-08-25 | Mspot, Inc. | Method and apparatus for aggregating user data and providing recommendations |
US20120062732A1 (en) * | 2010-09-10 | 2012-03-15 | Videoiq, Inc. | Video system with intelligent visual display |
US20120078712A1 (en) * | 2010-09-27 | 2012-03-29 | Fontana James A | Systems and methods for processing and delivery of multimedia content |
US20120226769A1 (en) * | 2011-03-03 | 2012-09-06 | At&T Intellectual Property I, L.P. | Peer to Peer Metadata Distribution |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6574239B1 (en) * | 1998-10-07 | 2003-06-03 | Eric Morgan Dowling | Virtual connection of a remote unit to a server |
US7576752B1 (en) | 2000-10-04 | 2009-08-18 | Shutterfly Inc. | System and method for manipulating digital images |
US7225260B2 (en) * | 2001-09-28 | 2007-05-29 | Symbol Technologies, Inc. | Software method for maintaining connectivity between applications during communications by mobile computer terminals operable in wireless networks |
US7209466B2 (en) * | 2002-06-06 | 2007-04-24 | Symbol Technologies, Inc. | Software method utilizing gateways for maintaining connectivity during communications over distinct wireless networks by mobile computer terminals |
US7925790B2 (en) | 2003-09-17 | 2011-04-12 | Sony Corporation | Middleware filter agent between server and PDA |
US20060224461A1 (en) | 2005-02-24 | 2006-10-05 | Memory Matrix, Inc. | Systems and methods for providing client based photo user interface |
US8799219B2 (en) | 2008-11-11 | 2014-08-05 | Microsoft Corporation | Selection of media content item having preferred instance attributes |
US8812699B2 (en) * | 2008-12-04 | 2014-08-19 | Lenovo (Singapore) Pte. Ltd. | Apparatus, system, and method for data synchronization in a multi-path environment |
-
2011
- 2011-06-03 US US13/153,188 patent/US20120311161A1/en not_active Abandoned
- 2011-09-30 US US13/250,696 patent/US8255545B1/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060161635A1 (en) * | 2000-09-07 | 2006-07-20 | Sonic Solutions | Methods and system for use in network management of content |
US20110167462A1 (en) * | 2006-12-04 | 2011-07-07 | Digitalsmiths | Systems and methods of searching for and presenting video and audio |
US20110208831A1 (en) * | 2007-01-08 | 2011-08-25 | Mspot, Inc. | Method and apparatus for aggregating user data and providing recommendations |
US20100257281A1 (en) * | 2009-04-03 | 2010-10-07 | Microsoft Corporation | Peer Connections Over Alternative Communication Mechanisms |
US20120062732A1 (en) * | 2010-09-10 | 2012-03-15 | Videoiq, Inc. | Video system with intelligent visual display |
US20120078712A1 (en) * | 2010-09-27 | 2012-03-29 | Fontana James A | Systems and methods for processing and delivery of multimedia content |
US20120226769A1 (en) * | 2011-03-03 | 2012-09-06 | At&T Intellectual Property I, L.P. | Peer to Peer Metadata Distribution |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11973829B2 (en) * | 2014-09-19 | 2024-04-30 | Netapp, Inc. | Techniques for coordinating parallel performance and cancellation of commands in a storage cluster system |
Also Published As
Publication number | Publication date |
---|---|
US8255545B1 (en) | 2012-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8255545B1 (en) | Dual-phase content synchronization | |
JP6557380B2 (en) | Media application background processing | |
US8655840B2 (en) | Method, apparatus and computer program product for sub-file level synchronization | |
CN105893459B (en) | Media content playback system and method | |
KR102013634B1 (en) | Method and apparatus for transferring digital content from a computer to a mobile handset | |
US10552384B2 (en) | Synchronizing media files available from multiple sources | |
US8725680B2 (en) | Media content location awareness and decision making | |
KR102084577B1 (en) | Activity continuation between electronic devices | |
EP2527999A1 (en) | Method and apparatus for splitting media files | |
CN109033759B (en) | Network performance based management of downloads from a network-based digital data repository | |
US9122709B2 (en) | Management of media files | |
JP2009277218A (en) | Management of media file using metadata injection | |
JP2014518410A (en) | Network-based digital data repository management | |
JP2009277219A (en) | Management of media file from two or more resource | |
CN103946845A (en) | Client application file access | |
KR20130019039A (en) | Method and apparatus for transferring digital content from a personal computer to a mobile handset | |
US7953822B2 (en) | Method of and apparatus for downloading data | |
CN105893458B (en) | Media content playback system and method | |
US20170091197A1 (en) | Multimedia Display Method, Apparatus, and Device | |
WO2019051628A1 (en) | File distribution method, file download method, distribution server, client, and system | |
BR112012002388B1 (en) | CONTENT DELIVERY METHOD AND CONTENT SHARING SYSTEM WITH A NETWORK STORAGE DEVICE AND A CONTENT PROVISION DEVICE | |
KR20180038522A (en) | Forward activity-related information from the source electronic device to the companion electronic device | |
US20130110979A1 (en) | Remote access from mobile devices | |
EP2787739A1 (en) | Media storage and management system | |
CA2744464C (en) | Management of media files |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: APPLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SCHMIDT, EDWARD T.;FREEDMAN, GORDON J.;GANATRA, NITIN K.;AND OTHERS;REEL/FRAME:026417/0579 Effective date: 20110601 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |