|Publication number||US7707603 B2|
|Application number||US 11/045,848|
|Publication date||Apr 27, 2010|
|Filing date||Jan 28, 2005|
|Priority date||Jan 28, 2005|
|Also published as||CN1812393A, CN1812393B, EP1686497A2, EP1686497A3, US20060174008, US20100274854|
|Publication number||045848, 11045848, US 7707603 B2, US 7707603B2, US-B2-7707603, US7707603 B2, US7707603B2|
|Original Assignee||Microsoft Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (11), Non-Patent Citations (2), Referenced by (23), Classifications (20), Legal Events (3)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This invention relates to transferring data such as digital media from one computing device to another computing device.
Due to the advance of digital media technology and decreasing price of computer storage, users increasingly store digital media collections on their main personal computers (PC). Digital media includes music, pictures, videos and the like. However, not all consumption or use of digital media occurs on a user's main PC. Increasingly users are transferring all or some of their collection to portable computing devices such as personal media players (e.g. portable music players), personal digital assistants (PDA), and laptop computers. Transferring allows the user to enjoy the media without being tied to the user's main PC.
With larger collections of digital media and the advent of high capacity storage on portable computing devices, filling portable computing devices with a meaningful subset of a user's digital media collection can be a laborious task. This is especially the case when the user's digital media collection on the main PC is larger than the storage available on the portable computing device.
Conventionally, the user is left to manually manage this problem. If the collection of digital media on a source device (e.g., main personal computer) exceeds the storage capacity of a target device (e.g., a portable computing device), the user manually selects which items to include (and/or exclude) in a transfer to the target device.
Furthermore, in conventional approaches, the user may have to remove digital media from an otherwise full memory of the target device when the user wishes to replace such digital media with new digital media from the collection resident at the source device.
A source computing device connects with a target computing device and determines the storage capacity of the target device to receive a collection of digital media stored at the source computing device. The digital media at the source computing device can be rated by user and points assigned to the digital media. Furthermore, criteria may be applied to add points to the digital media where such criteria are based on user behavior or action as to the digital media. Based on the points of the digital media, a transfer list of digital media may be sent from the source computing device to the target computing device.
The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference number in different figures indicates similar or identical items.
The following disclosure describes techniques in which digital media is transferred to one computing device such as a main personal computer (PC) to another computing device such as a portable media player. The transferring is based on user ratings and criteria based on user behavior as to the digital media.
Target device storage sync manager 115 may be embodied on one or more processor-readable media (such as a computer storage or memory 120). Target device storage sync manager 115 operates on source device 105 and may be implemented as part of a multimedia software product, an operating system, or a dedicated multimedia appliance.
The exemplary target device storage sync manager 115 provides a user-configurable model for facilitating transfer of a subset of a user's collection of digital media to the target device 110 from the source device 105. Some digital media in the collection may be more important to the user than others. Importance of specific digital media may be based on a set of criteria and user rating. Examples of digital media in a digital collection may include audio (e.g., music), video (e.g. digital television), text, or image files.
In at least one embodiment, digital media that matter most to the user are prioritized based on a set of criteria. Points may be assigned to each digital media based such criteria and may be combined with points from a user rating as to each of the digital media. If memory space in the target device 110 allows, digital media having lower points may be used to fill the remaining memory space in target device 110. Digital media that the user does not want (i.e., very low points) on the target device 110 may not be transferred.
The scenario 100 shows a transfer interface 130 between the source device 110 and target device 120. Transfer interface 130 may be wired or wireless. Examples of a wired interface include USB, IEEE 1394, IEEE 1284 (“parallel” connection), RS-232 Serial connection, and/or Ethernet, Token Ring, and similar networks. Examples of a wireless interface include Bluetooth; Infra-Red (IR); 802.11a, b, or g; GPRS, CDMA, EVDO, EDGE, and other related wireless telephony data-transmission standards. In some implementations, transfer interface 130 may provide for data transfer over a short distance (e.g., measured in a few feet) or over a long distance (e.g., measured in miles).
From the highest to lowest priority (i.e., highest points to lowest points), digital media are transferred from the source device 105 to the target device 110 via the interface 130. This transfer occurs until the collection is exhausted or the storage capacity of the target device 110 is consumed. Assuming that the storage capacity of the target device 110 is less than that which would be consumed by an entire digital collection resident at source device 105, this action stores the most user-desirable (i.e., highest points) digital media from the digital collection.
The transfer of digital media from the source device 105 to the target 110 may be called “synchronization”. As the collection on the source device 105 changes (e.g.; items removed, items added, and/or digital media rating changes), the subset of the collection which is stored on the target device 110 changes with each synchronization. If storage space on the target device 110 is limited, digital media may be removed from the target device 110 during synchronization and replaced with new digital media from the digital collection on the source device 105 which have higher points. Typically, the synchronization process will remove the lowest point digital media in bottom-up fashion until sufficient space is cleared to store higher priority digital media that have not yet been synchronized with the target device 110.
A user may assign points to digital media. These points may be combined with points derived from a set of criteria that is based on user behavior. For example, there may be a criteria that assigns more points to recently added (i.e., newer) digital media than older digital media. Other exemplary criteria are further described in detail below.
The source device 105 is depicted as a desktop personal computer. However, in other implementations, the source device 105 may be a portable laptop computer, a portable computing device, a mini-computer, a mainframe computer, a server, a storage system, a dedicated digital appliance, or another device having a storage sub-system configured to store a digital collection of digital media.
The target device 110 is depicted as a portable computing device, such as a portable media player. However, in other implementations, the target device 110 may be a non-portable computer, a portable laptop computer, a mini-computer, a mainframe computer, a server, a storage system, a dedicated digital appliance, or another device having a storage sub-system configured to store a digital collection of digital media.
Digital media of a collection may include any type of independently addressable unit of digital data which is typically stored within a computer memory or storage system. Examples of such digital media include, but are not limited to: music, image, video, text documents, hypertext document, documents of any format, applications, spreadsheets, graphics, play-lists, and data. Furthermore, digital media may include a collection of other digital media. In examples below, music files are used as a particular example of digital media.
Computer 105 includes a user input device such as keyboard 200. Keyboard 200 may include another user input device such as a mouse (not shown). In certain implementations, the input devices are separate of one another. The input devices specifically are used to maneuver an on-screen pointing icon 205. The pointing icon 205 is used to select particular elements in user interface 125.
In this example, user interface 125 includes a hierarchical structure of files that describe music albums that contain songs. The top element of the user interface 125 is “music albums” 210. A user may select “music albums” 210. The selection may open a list of elements described as “albums”. Shown in the list of albums are “album 1” 215, “album 2” 220 and “album N” 225. The user may select an album from the list of albums. The example shows “album 2” 220 selected by the user. The selection of “album 2” 220 opens a list of songs which are included in “album 2” 220.
The songs in “album 2” 220 (and other albums) are presented in two columns. Column 230 identifies particular songs by name. It is contemplated that particular songs may be included in multiple albums. A unique name or identifier is used to distinguish specific songs. Column 235 identifies user defined ratings for each song. The user through an input device such as keyboard 200 may select a song in column 230 and assign a priority or rating value to the song. In this example, a rating system using stars or asterisks is used. The user may assign a value of zero to five stars (asterisks) to songs, with five stars (asterisks) being the highest priority or rating. The values may be translated to points which can be combined with points derived by other criteria to arrive at an overall point total for the songs (i.e., digital media)
Computer 105 includes a central processing unit (CPU) or processor 305 and a memory 310. In one embodiment, processor 305 accesses memory 310 through a system bus (not shown). The memory 310 includes a collection or database of digital media, and in this example it is a “music albums database” 315.
Memory 310 includes a transfer list 320 which includes a list of songs (i.e., digital media) to be transferred to another computing device such as target device 110. In certain embodiments, transfer list 320 includes more than one record (list) to be transferred or has been transferred to more than one target device. In this example, transfer list 320 includes a particular list that will be transferred to a target device.
Memory 310 further includes “criteria” 325 which includes a set of criteria that are applied to particular digital media (i.e., songs) based on a user's behavior. User behavior may include actions performed by a user on computer 105, where such actions are tracked. Criteria 325 applies criteria (rules), from which points are derived. Such points are assigned to the digital media and may be combined with points from a user rating. Examples of particular criteria are described below.
As discussed above, computer 105 includes a target device storage sync manager 115 that may be stored in a separate memory 120. In certain embodiments, the target device storage sync manager 115 may be stored in memory 310. In addition to functions described above, target device storage sync manager 115 receives from a target device (e.g., target device 110) a current transfer list of songs resident in the target device.
Computer 105 further includes a user input interface 330 configured to communicate with memory 310 and processor 305. The user input interface 330 may receive inputs from input device such as keyboard 200 described above in order to enter a rating for each of the particular digital media. Such ratings may translate to points. The input from the user input interface may be manifested in a user interface such as user interface 125 described above.
Computer 105 includes a display output interface 335 configured to communicate with a display as described above. In particular, the display output interface 335 provides a user interface (e.g., user interface 125) that allows a user to enter priorities or ratings of songs. Such ratings may be used to generate points for each particular song.
In addition to points that are generated by user rating, points may be generated by the following criteria:
Furthermore, overall points for the digital media (i.e., songs) may be based on a weighted factor for each of the criteria. In other words, particular criteria may provide higher points than other criteria.
The process 400 is described with reference to computer 105 that implements the music albums database 315, the transfer list 320, criteria 325 and the target device storage sync manager 115 described above. Although described as a flowchart, it is contemplated that certain processes may take place concurrently or in a different order.
At block 405, a connection is established with a target device such as target device 110. The connection may be through a transfer interface such as transfer interface 130 and as described above may be through a wired/wireless interface or connection.
At block 410, the source device receives or gets the storage capacity of the target device. In specific, the storage capacity relates to the amount of digital media (e.g., songs) the target device is able to hold. Furthermore, it may be determined as to how much storage capacity is available and how much storage capacity is left.
If the storage capacity at the target device is equal or greater than the collection of digital media to be transferred from the source device (i.e., following the YES branch of block 415), at block 420 the collection of digital media is transferred to the target device. The transfer is of the entire collection of the digital media.
If the storage capacity at the target device is not equal or greater than the collection of digital media to be transferred from the source device (i.e., following the NO branch of block 415), the user may be given a choice as to transferring digital media.
If the user does not decide to apply a points system (i.e., following the NO branch of block 425), at block 430 transfer of digital media may occur by simply transferring digital media by the most recently added or recorded at the source device. The transfer takes place and continues until the storage capacity or space in the target device is exhausted.
If the user decides to apply a points system (i.e., following the YES branch of block 425), at block 435 media in a collection are assigned points based on criteria which may or may not include points from a user rating.
At block 440, the digital media is sorted in descending order. Digital media with higher points are placed in a higher order.
At block 445, a transfer list is created. The transfer list may be based on the capacity of the target device. The transfer list is created with digital media with higher points at the top of the transfer list.
At block 450, the transfer list may be shortened based on the storage capacity of the target device. In other embodiments, digital media from the transfer list is sent until the storage capacity of the target device is exhausted.
At block 455, the transfer list is sent to the target device. This step may be performed through the transfer interface 130 described above.
The process 500 is illustrated as a collection of blocks in a logical flow graph, which represent a sequence of operations that can be implemented in hardware, software, firmware, or a combination thereof. In the context of software, the blocks represent computer instructions that, when executed by one or more processors (e.g., processor 305), perform the recited operations. The process 500 is described with reference to computer 105 that implements the music albums database 315, the transfer list 320, criteria 325 and the target device storage sync manager 115 described above. Although described as a flowchart, it is contemplated that certain processes may take place concurrently or in a different order.
At block 505, a connection is established with a target device such as target device 110. The connection may be through a transfer interface such as transfer interface 130 and as described above may be through a wired/wireless interface or connection.
At block 510, the source device gets roundtrip criteria of digital media that is stored in the source device and the target device. In particular, criteria describe rules that are applied to digital media from which points are derived. Such criteria may change from prior connections between the source device and target device.
At block 515, the collection of digital media is recalculated based on the roundtrip criteria. In specific, the digital media of the collection are given new points based on the roundtrip criteria.
At block 520, a new transfer list is created. The new transfer list of digital media is based on the new point values of the digital media as derived at block 515.
At block 525, an intersection of digital media from the old transfer list and the new transfer list are kept. In other words digital media that are common on both the old and new transfer list are kept and transferred over to the target device.
At block 530, a determination is made as to digital media that are on the target device and compared to the new transfer list. Digital media that are on the target device and not on the new transfer list are deleted from the target device. This frees up storage space on the target device.
At block 535, digital media that is not on the target device, but is on the new transfer list is transferred to the target device. This allows new higher priority digital media to be transferred to the target device.
The computer 105 may be configured with a Windows® brand operating system. The computer 105 includes processing unit or processor 305 described above, a system memory or memory 310 also described above, and a system bus 615 that interconnects various system components, including the memory 310 to the processing unit or processor 305. The system bus 615 may be implemented as any one of several bus structures and using any of a variety of bus architectures, including a memory bus or memory controller, a peripheral bus, and a local bus.
The memory 310 includes read only memory (ROM) 620 and random access memory (RAM) 625. A basic input/output system 630 (BIOS) is stored in ROM 620.
The computer 105 has one or more of the following drives: a hard disk drive 630 for reading from and writing to a hard disk or hard disk array, a magnetic disk drive 635 for reading from or writing to a removable magnetic disk 640, and an optical disk drive 645 for reading from or writing to a removable optical disk 650 such as a CD ROM or other optical media. The hard disk drive 630, magnetic disk drive 635, and optical disk drive 645 are connected to the system bus 615 by a hard disk drive interface 660, a magnetic disk drive interface 665, and an optical drive interface 670, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for computer 105.
Although hard disk 630, removable magnetic disk 635, and removable optical disk 650 are described, other types of computer readable media can be used to store data. Other such media include magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROMs), and the like. Additionally, the computer 105 may be configured to serve data stored on an independent system, such as a RAID (redundant array of independent disks) storage system, particularly when implemented as a terminal server.
A number of program modules may be stored on the hard disk 630, magnetic disk 635, optical disk 650, ROM 620, or RAM 625. The programs include a server operating system 675, one or more application programs 680, other program modules 682 which include “music albums database” 315, transfer list 320, and automatic priority rules 325.
A user may enter commands and information into the computer 105 through input devices such as keyboard 200 and a mouse 688. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, and the like. These and other input devices are connected to the processing unit 305 through a serial port interface 690 that is coupled to the system bus 615, but may alternatively be connected by other interfaces, such a parallel port, game port, or a universal serial bus (USB).
Display 605 or other type of display is also connected to the system bus 615 via an interface, such as a video adapter card 694 (or display output 335 as described above). The computer 105 has a network interface or adapter 696, a modem 698 or other means for establishing communications over network 699, such as an Internet connection. The modem 698 may also facilitate connection from a protocol decoder device.
The above-described computer and associated methods describe transferring selected digital media from a source device to a target device based on user behavior. Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed; as exemplary forms of implementing the claimed invention.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5798785 *||Dec 2, 1993||Aug 25, 1998||Discovery Communications, Inc.||Terminal for suggesting programs offered on a television program delivery system|
|US5920700 *||Sep 6, 1996||Jul 6, 1999||Time Warner Cable||System for managing the addition/deletion of media assets within a network based on usage and media asset metadata|
|US6898762 *||Aug 13, 1999||May 24, 2005||United Video Properties, Inc.||Client-server electronic program guide|
|US20020078075 *||Dec 15, 2000||Jun 20, 2002||Colson James C.||System, method, and program product for prioritizing synchronizable data|
|US20030079038 *||Oct 21, 2002||Apr 24, 2003||Apple Computer, Inc.||Intelligent interaction between media player and host computer|
|US20030217057 *||May 7, 2003||Nov 20, 2003||Nec Corporation||Contents using method, contents using system, contents using program, and server and electronic device used in same system|
|US20030217121 *||Aug 30, 2002||Nov 20, 2003||Brian Willis||Dynamic presentation of personalized content|
|US20030225777 *||May 31, 2002||Dec 4, 2003||Marsh David J.||Scoring and recommending media content based on user preferences|
|US20050147130 *||Dec 23, 2003||Jul 7, 2005||Intel Corporation||Priority based synchronization of data in a personal area network|
|US20050235015 *||Mar 31, 2004||Oct 20, 2005||Microsoft Corporation||User-configurable device storage synchronization manager|
|WO2002052540A1||Dec 21, 2001||Jul 4, 2002||Connectedmedia Corporation||Program selector and guide system and method|
|1||Abanami; "Crystal Media Profile Manager Scenarios Overview"; Mar. 18, 2003; http://team/sites/crystal; Microsoft Crystal Specification Oct. 5, 2004; pp. 1-8.|
|2||EP Search Report for Application No. 05112791.8 mailed on Mar. 6, 2007.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7987148||May 20, 2010||Jul 26, 2011||Strands, Inc.||Systems and methods for prioritizing media files in a presentation device|
|US8090987 *||Mar 23, 2006||Jan 3, 2012||Lg Electronics Inc.||Imaging apparatus having automatic backup function and method for controlling the same|
|US8214315||Jun 23, 2011||Jul 3, 2012||Apple Inc.||Systems and methods for prioritizing mobile media player files|
|US8312017||Jan 11, 2010||Nov 13, 2012||Apple Inc.||Recommender system for identifying a new set of media items responsive to an input set of media items and knowledge base metrics|
|US8356038||Jun 13, 2011||Jan 15, 2013||Apple Inc.||User to user recommender|
|US8477786||May 29, 2012||Jul 2, 2013||Apple Inc.||Messaging system and service|
|US8521611||Mar 6, 2007||Aug 27, 2013||Apple Inc.||Article trading among members of a community|
|US8543575||May 21, 2012||Sep 24, 2013||Apple Inc.||System for browsing through a music catalog using correlation metrics of a knowledge base of mediasets|
|US8583671||Apr 29, 2009||Nov 12, 2013||Apple Inc.||Mediaset generation system|
|US8620919||May 21, 2012||Dec 31, 2013||Apple Inc.||Media item clustering based on similarity data|
|US8671000||Apr 17, 2008||Mar 11, 2014||Apple Inc.||Method and arrangement for providing content to multimedia devices|
|US8983905||Feb 3, 2012||Mar 17, 2015||Apple Inc.||Merging playlists from multiple sources|
|US8996540||Nov 30, 2012||Mar 31, 2015||Apple Inc.||User to user recommender|
|US9225932 *||Nov 12, 2010||Dec 29, 2015||Echostar Uk Holdings Limited||Method and system for automatically deleting stored media content after playback|
|US9262534||Nov 12, 2012||Feb 16, 2016||Apple Inc.||Recommender system for identifying a new set of media items responsive to an input set of media items and knowledge base metrics|
|US9317185||Apr 24, 2014||Apr 19, 2016||Apple Inc.||Dynamic interactive entertainment venue|
|US9576056||Nov 12, 2012||Feb 21, 2017||Apple Inc.||Recommender system for identifying a new set of media items responsive to an input set of media items and knowledge base metrics|
|US20070174675 *||Mar 23, 2006||Jul 26, 2007||Lg Electronics Inc.||Imaging apparatus having automatic backup function and method for controlling the same|
|US20070280636 *||May 16, 2007||Dec 6, 2007||Canon Kabushiki Kaisha||Record/replay apparatus, record/replay method, and program|
|US20080215980 *||Feb 14, 2008||Sep 4, 2008||Samsung Electronics Co., Ltd.||User interface providing method for mobile terminal having touch screen|
|US20100268680 *||May 20, 2010||Oct 21, 2010||Strands, Inc.||Systems and methods for prioritizing mobile media player files|
|US20120301104 *||Nov 12, 2010||Nov 29, 2012||Eldon Technology Limited||Method and system for media content playback and storage|
|US20150324099 *||May 7, 2014||Nov 12, 2015||Microsoft Corporation||Connecting Current User Activities with Related Stored Media Collections|
|U.S. Classification||725/34, 725/16, 725/13, 725/11, 725/14, 725/12, 725/46, 725/10, 725/35, 725/9|
|International Classification||H04N7/10, H04N7/025, H04H60/32, G06F12/00, G06F3/00, H04H60/33|
|Cooperative Classification||G06F17/30029, G06F17/30176|
|European Classification||G06F17/30E2F, G06F17/30F7Y1|
|Mar 7, 2005||AS||Assignment|
Owner name: MICROSOFT CORPORATION, WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ABANAMI, THAMER;REEL/FRAME:015849/0216
Effective date: 20050128
Owner name: MICROSOFT CORPORATION,WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ABANAMI, THAMER;REEL/FRAME:015849/0216
Effective date: 20050128
|Sep 25, 2013||FPAY||Fee payment|
Year of fee payment: 4
|Dec 9, 2014||AS||Assignment|
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034543/0001
Effective date: 20141014