METHODS AND APPARATUS FOR SHARING, TRANSFERRING AND REMOVING PREVIOUSLY OWNED DIGITAL MEDIA
20170249447 · 2017-08-31
Inventors
- Lawrence S. Rogel (Brookline, MA)
- John M. Ossenmacher (Balboa Island, CA, US)
- Micha Moffie (Somerville, MA, US)
- Amihai Viks (Ramat Gan, IL)
Cpc classification
G06F21/10
PHYSICS
H04L2463/101
ELECTRICITY
G06F21/604
PHYSICS
International classification
Abstract
The invention provide systems and methods for management of digital media objects, comprising first and second client digital data processors (e.g., personal (or private) computers, laptops, dedicated music devices, electronic book readers, and so forth) that are in communications coupling with one or more stores (e.g, dedicated disk drives, flash drives, cloud storage, etc.). At least one digital media object (DMO) or copy thereof is stored in one or more of those stores and is accessible by at least one of the first and second client digital data processors.
Claims
1. A system for management of digital media objects, comprising: A. first and second client digital data processors, B. the first and second client digital data processors being in communications coupling with one or more stores, C. at least one of a digital media object and a copy thereof stored in one or more of the stores and accessible by at least one of the first and second client digital data processors, D. during a first period of time, the first client digital data processor being substantially free of discouragement from accessing at least one of said digital media object and copy thereof by management logic at least one of executing on and in communications coupling with the first client digital data processor, E. said management logic selectively discouraging the first client digital data processor from accessing at least one of said digital media object and copy thereof, the management logic performing such selective discouragement during a second period of time that is mutually exclusive of the first period of time, wherein the management logic being in communications coupling with at least the first client digital data processor during at least a second period of time, F. during the second period of time, the second client digital data processor being substantially free of discouragement from accessing at least one of said digital media object and copy thereof by said management logic.
2. The system of claim 1, wherein the digital media object is any of a digital song, a video, a movie, an electronic book, a digital story, a digital article, a digital document, a digital still image, a digital game, or a portion thereof.
3. The system of claim 1, wherein the digital media object is a digital file representing any of a digital song, a video, a movie, an electronic book, a digital story, a digital article, a digital document, a digital still image, a digital game, or a portion thereof.
4. The system of claim 1, wherein said management logic assigns said digital media object and any said copy thereof a common, unique fingerprint.
5. The system of claim 4, wherein said management logic selectively discouraging the first client digital data processor from accessing any of a said digital media object and copy thereof having said common, unique fingerprint.
6. The system of claim 1, wherein management logic effects such selective discouragement in response to a transfer-ownership event.
7. The system of claim 6, comprising a server digital data processors that is in communication coupling with at least the first client digital data processor and that effects the transfer-ownership event.
8. The system of claim 7, wherein at least one of the first client digital data processor at least assents to a transfer of ownership of the digital media object.
9. The system of claim 8, wherein the first client digital data processor requests to transfer ownership of the digital media object.
10. The system of claim 9, wherein the management logic responds to a said request by confirming that the first client digital data processor owns said digital media object.
11. The system of claim 9, wherein the first client digital data processor requests to sell the digital media object.
12. The system of claim 9, wherein the first client digital data processor requests to gift the digital media object.
13. The system of claim 7, wherein the second client digital data processor at least assents to a transfer of ownership of the digital media object
14. The system of claim 13, wherein the second client digital data processor requests to buy the digital media object.
15. The system of claim 13, wherein the second client digital data processor requests to be gifted the digital media object.
16. A system for management of digital media objects, comprising: A. first and second client digital data processors, B. the first and second client digital data processors being in communications coupling with one or more stores, C. at least one of a digital media object and a copy thereof stored in one or more of the stores and accessible by at least one of the first and second digital data processors, D. during a first period of time, the first client digital data processor being substantially free of discouragement from accessing at least one of said digital media object and copy thereof by management logic at least one of executing on and in communications coupling with the first client digital data processor, E. said management logic selectively discouraging the first client digital data processor from accessing at least one of said digital media object and copy thereof, the management logic performing such selective discouragement during a second period of time that is mutually exclusive of the first period of time, wherein the management logic being in communications coupling with at least the first client digital data processor during at least a second period of time, F. during the second period of time, the second client digital data processor being substantially free of discouragement from accessing at least one of said digital media object and copy thereof by said management logic, G. a server digital data processor that is in communication coupling with at least the first client digital data processor and that executes said management logic, and H. the management logic effecting selective discouragement in response to a request by the first digital data processor to transfer ownership of the digital media object.
17. The system of claim 16, A. wherein said management logic effects such selective discouragement in response to a transfer-ownership event, and B. said server digital data processors effects the transfer-ownership event.
18. The system of claim 16, wherein the management logic responds to a said request by confirming that the first client digital data processor owns said digital media object.
19. The system of claim 16, wherein said server digital data processor makes at least one of said digital media object and copy thereof accessible to the second client digital data processor on at least one of the stores during said second period of time.
20-24. (canceled)
25. A method for management of digital media objects, comprising: A. storing at least one of a digital media object and a copy thereof in one or more stores accessible by at least one of first and second client digital data processors, B. executing management logic, C. during a first period of time, freeing the first client digital data processor from discouragement by management logic from accessing at least one of said digital media object and copy thereof, D. with the management logic, selectively discouraging the first client digital data processor from accessing at least one of said digital media object and copy thereof during a second period of time that is mutually exclusive of the first period of time, E. during the second period of time, freeing the second client digital data processor from discouragement by management logic from accessing at least one of said digital media object and copy thereof.
26-41. (canceled)
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0060] A more complete understanding of the invention may be attained by reference to the drawings, in which:
[0061]
[0062]
[0063]
[0064]
DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENT
[0065] Introduction
[0066] Digital media objects, such as digital songs, movies, electronic books, mimic many features and aspects of their corresponding physical objects, although, to date there are significant ways in which they still differ. In particular, there is no common way to resell a digital media object. To do so, a system is needed that can verify that someone owns a object before selling it, and that after selling it, they no longer have it. This document describes a way to do just that.
Terminology
[0067] First it is helpful to define some terminology.
[0068] The term DMO or dmo as used herein denotes a “Digital Media Object.” A DMO is usually a file, but it could also be part of a file or it can be replicated in multiple files, that contains a creative work subject to protection by methods and systems according to the invention. These can be, by way of non-limiting example, digital songs, videos, movies, electronic books, stories, articles documents, still images, video games, software applications and so forth—just to name a few.
[0069] We use the term play to cover the broad category of what a device does to a digital media object for the use by the user or owner. In the case of a digital music or video object, play is the correct term. For a digital picture, render is the term used to display the picture, but for uniformity, we will say that a computer or digital picture frame will play the picture. Similarly for a digital book. We say that an e-book reader device will play the electronic or digital book object.
[0070] The term User generally refers to the user of methods and systems according to the present invention and or their respective digital data processors. The person will, for example, buy and sell DMO's with that digital data processor.
[0071] A file system or filesystem is a method of organizing computer files to make it easy to find and access them. File systems may use a data storage device, such as a hard disk, CD-ROM, flash storage device, and can involve maintaining the physical location of the files. File systems may be local or remote. File systems may also be maintained in a single location or distributed among multiple locations.
[0072] The term volume or disk volume is a technical computer term referring to a single accessible storage area within a single file system, typically resident on a single partition of a hard disk. As above, a volume may be local or remote and/or maintained in a single location or distributed among multiple locations.
[0073] A fingerprint of a computer file or of a digital media object is a bit string (typically, a short bit string) that uniquely identifies the original data, of a much larger size, for all practical purposes just as human fingerprints uniquely identify people for practical purposes. Fingerprints are typically used to avoid the comparison and transmission of bulky data. Fingerprint functions are related to (and sometimes confused with) checksums, hash functions, cryptographic hash functions, and digital signatures.
[0074] Digital Media Objects
[0075] Our era of computers has seen the “digitalization” of many different media. Digital cameras have transformed the world of photography. Film is no longer used to capture a picture, rather a picture is captured with a digital camera and the image is recorded as a series of pixels, or numbers/bits. A digital picture is a collection of bits that encode the image in a certain may and packaged together as a computer file. The pixels of the image are arranged in a rectangle with a certain number of columns and rows. Thus somewhere in the beginning of the file, are these two numbers. There is much more information that can be specified about the picture. This information is often stored in the header of the file before the actual bits of the image. The information in the header is sometimes referred to as “meta-data” since it describes things about the image but not the image itself.
[0076] Meta-data in the header may specify information such as the camera, the shutter speed, time and date, the place or GPS coordinate as to where the picture was taken, and other things about the image. In addition, other information can be stored in this header, such as the photographer, the owner of the image, or a unique id representing a particular purchase of the image. The header might be sealed using encryption techniques to prevent others from changing this information. The image may be compressed using one of the standard techniques such as jpeg, tiff, postscript, bitmap, and many others. The image may or may not be encrypted.
[0077]
[0078] Music has seen a similar transformation. Music is no longer recorded on a paper-roll, record or tape. It too has been digitized and a recording placed in a file with a header similar to that of digital pictures. The music encoding, number of bits per second of playback, pitch, volume, Dolby encoding, and the dynamic range. Other information may also be placed in the header, again, such as the owner, producer, song title, and a whole lot more.
[0079] Pictures, music, and other digital media often contain more precision than can be observed, heard, or sensed by people or by the rendering technology. Consequently, variations in the bits specifying the object may not be noticeable. Two images may appear identical even though their bit representations differ slightly. One the one hand, this provides a challenge when trying to identify an image from its file representation. On the other-hand, it permits embedding information directly into the image or music that is not noticeable but can be used to watermark the object.
[0080] Of course, movies, which essentially are a combination of images and sound have been digitized and wrapped in a file or multiple files with detailed meta-data. There are many different formats for movies as well. Since movies require a large number of bits, they are often stored in multiple files but usually within one main directory representing the entire movie.
[0081] Computers have been used as “word processing” devices or desktop publishing for many years. More recently, there has been an increase in electronic books, or e-books. Again, the contents of a book are recorded digitally usually in a file or multiple files within a directory. Once again, there is metadata associated with the e-book, that may contain the title, author, number of pages, and much more information.
[0082] Many other types of media are similarly treated. Computer games, 3-D or holographic movies, karaoke, rock-band, maps, slide shows, maps, and more. We shall refer to all of these as “digital media objects.”
[0083] Since digital media objects are just a file of binary data they can be easily copied. Unlike the physical counterparts, the copies are usually identical in that their binary specification are exactly the same. The meta-data may be the same or may differ depending on how the copy was made.
[0084] Typical Organization
[0085]
[0086] There are many ways to install, maintain, distribute, sell, and other operations involving DMO's and their use. In a typical use case (see
[0087] For a DMO to be offered for sale, it is first copied to the remote server and stored on the disk. The user's account points to the place on the disk where the DMO is stored. All copies of the DMO must be purged from the user's private computer. When this is confirmed, the DMO can be offered for sale.
[0088] To buy a DMO 28a, a user places an order. When a matching DMO is offered for sale a transaction occurs, that involves an exchange of money and the pointer to the object is moved from the previous owner to the new owner. The new owner's private computer 22 will download the object 28a from the remote server 20 and store it on the local hard drive 30 of the private computer 22. Later, the DMO player 32 is connected to the private computer 22 and the DMO 28a is copied to that device 32.
[0089] Referring to
[0090] When the dedicated device, e.g., 34, directly communicates with a remote server 20, that server 20 can usually control the objects on the device, e.g., 34, including remotely deleting them. When the digital media objects are played on a computer 22 or when dedicated devices, e.g., 32, connects or communicates with a private computer 22, then DMO management software which is resident on the private computer 22 (and which can exchange status information with the server regarding DMOs owned, sold, awaiting sale, etc., by the user of that computer) manages the content on the device, e.g., 32. That management software is referred to alternatively herein the “Manager Application,” the “management system,” the “management software,” and the like.
[0091] Ownership Concerns
[0092] Physical objects can be lent to friends, used, and then returned or resold. Ownership of an object often means physical possession. Owning an object often implies that one can sell that object. In the prior art, ownership of digital objects do not have this feature. It is easy to make an unlimited number of copies, sell these away and still have the original. Systems according to the invention overcome this by ensuring that, when a user sells a DMO, he/she is divested of all current and future copies—until he/she buys another. Thus, systems according to the invention allows one to buy, sell, return, and transfer digital objects in very much the same way as physical ones.
[0093] Functional Description
[0094] The following is a functional description of the invention as it pertains to an exemplary system for music management, sometimes referred to herein as ReDigi™. In alternate embodiments, similar systems can manage other types of digital media, such as, by way of non-limiting example, digital songs, videos, movies, electronic books, stories, articles documents, still images, and so forth—just to name a few.
[0095] In one exemplary embodiment, illustrated in
[0096] A Recycled Digital Media Store
[0097] A registered member of a recycled digital media “store” that operates according to the invention has numerous benefits. Members can access a catalogue of recycled, licensed, digital media. Music, movie, book and game fans will enjoy their favorite artists, actors and authors showcased in a high-quality application that is easy and fun to use. The net result is a low cost unparalleled user experience and a compelling legal alternative to piracy.
[0098] Members can transfer unwanted digital media to the store in exchange for purchase credit. This media is re-inventoried in the store. A member can buy any media listed there with these credits. Such a system can provide the ability to get music, books, movies, and games with no cash out of pocket. In some embodiments, if the account does not have sufficient credits to cover a purchase, the purchase can be completed in the traditional way, e.g., by credit card, etc.
[0099] Individual artist, author and producer areas allow members to build a direct relationship with fans, old and new, across the world. This service facilitates the development of revenue streams through the sale of downloads, merchandising, concert tickets and more, as well as, earning a share of the revenues created through advertising and premium businesses. Powerful, real-time, in-depth reporting is standard to participating labels and artists, authors, etc. [0100] The Market for Digital Media has grown rapidly in the digital music space and is growing even faster with the introduction of digital movie downloads and digital books. Historically, all forms of media have moved to the “used” or “re-sale” marketplace. [0101] Why re-sale? Typically the markets for resale are driven by VALUE, those purchasing in that category are most often driven by the ability to save money while getting the exact product they want, not an imitation, rendition or low quality copy. [0102] Digital fingerprinting technology is used to identify and tag uploaded media, thereby securely removing all synced copies of the same file(s).
Embodiment
[0103] In some embodiments, management software (e.g., the aforementioned Manager Application) can run on a personal computer or laptop 22 that has connections to the internet 26. For example, there can be one or more remote servers 20 providing the service of purchasing, selling, inventory, and re-inventory of new and used digital media objects 28. There can also be remote servers that provide digital fingerprinting and identification services.
[0104] In some embodiments, a personal computer 22 can be used by a user to buy, sell, and/or manage his or her DMOs 28. Dedicated music players 32, movie viewers, e-book readers 34, and the like, can connect to the personal computer 22 for DMO uploading and downloading. When each of these devices, e.g., 32-34, are attached to the personal computer 22, they can appear as a removable file system to the computer.
[0105] In some embodiments, the systems and methods of the present invention, e.g., the management software embodying the features disclosed herein, can run on portable digital devices, such as smart phones, or PDA's, or can execute on remote servers that control the content of dedicated devices. The modifications necessary to achieve these modifications are within the scope of this invention. An exemplary embodiment of which is described below.
[0106] For example, digital media objects can reside on “read-only” physical media, such as a CD, DVD, ROM, photographic paper, or physical book. They can also reside on more volatile devices such as RAM, disks, SSD, or flash memories. The digital data or bits of such volatile memory devices can be easily written or re-written many times. A digital media object can reside on any or all of these forms of data storage. Such data storage, especially flash memory can be found in all sorts of consumer devices. A single digital media object, say a digital song, can reside in a computers hard disk in one or more files, but can also reside in the flash memory of a portable music player, as well as on a backup disk drive or external flash memory.
[0107] In preparation to offer a digital media object for sale, the goal is to delete, expunge, remove, or disable all of the copies of this digital media object that are owned by seller so that there is only a single copy of the DMO whose ownership will be transferred during the sale. While it may be impossible to delete the copy of a digital media object that is stored on a disconnected, powered off disk drive, the management system software makes a best effort to remove all copies. To this end, the management system software preferably remembers the sale of this digital media object so that any time in the future, when a disconnected device is reconnected, the system will retry to remove it as well. A fingerprint of the DMO is used so that even if the metadata of a file containing the DMO is modified, it will still be recognized as a copy of the object sold or offered for sale. Similarly for portable digital music players; whenever they are connected to the computer, the manager will attempt to remove copies as well.
[0108] The working of an exemplary management system is described in two parts. The first part is the typical execution and assumes everything has been setup and initialized. The second part is the initial setup and handling other cases. The management system software runs on the private computer, smartphone, or other personal computing device. It communicates over the internet with the servers. The working of an exemplary server-side system is described as well.
[0109] Typical Operation
[0110] In one exemplary embodiment, the manager system uses the contents of several tables in order to know what actions need to be taken when a file is created, deleted, or modified. These tables are maintained on the local personal computer and can be mirrored on a remote server. When not in use, the tables are encrypted to prevent easy manipulation by rogue processes. Although not absolutely necessary, the private keys should be backed up on a remote server. In addition, the servers maintain a list of DMO's that have been bought or sold by the user. These lists are periodically sent to the management system software on the private computer to ensure they are up-to-date.
[0111]
[0112] Each entry of the tables can contain the globally unique identity of the DMO. This is known to the remote server, which has a more detailed set of features and identifying markers for the object. Some objects can also have a decryption key. The entry for a DMO can also contain a fingerprint of the file, e.g. the MD5 sum as well as a list of files that represent or “contain” this DMO. It may also contain other identifying features that depend on the actual media type.
[0113] Some of the tables are as follows (see
[0120] In some embodiments, whenever a file is created, deleted, or modified, a maintenance function of the management software is invoked. This invocation works in the same way as virus protection software. Under the Microsoft Windows operating system, it is possible to register a routine to be invoked on all these operations. Under the Macintosh Operating System, a similar mechanism exists for the file indexing service, “spotlight” If other operating systems do not provide this ability, then a periodic scan over all the files in the system can be performed in the background to detect the status off all the files.
[0121] In the Microsoft Windows operating systems, care is needed to avoid excessive invocation of this routine. When making a copy of a file, the routine will be called numerous times, as the new file is continually updated. Even worse is what happens when an entire directory, containing many files, is copied. To avoid numerous calls, a delay in inserted. It is not necessary for the management software to immediately check each new file creation or modification. All that is necessary is for each file to eventually be checked.
[0122] On each invocation the following actions occur. Note that the first action is to fingerprint the file using MD5 (message digest 5)—hash value of the entire file (very fragile). Thus, if the owner makes a copy of a file, we will be able to notice that the files are the same.
TABLE-US-00001 DMO-Owned DMO-Bought DMO-Sold None Creation add to increase delete file add to owned count or issue scanned warning Accessed delete file or issue warning Deletion remove decrease rescind any add to from owned count outstanding scanned warning Modification treat as if delete file add to delete then or issue scanned create warning Purchase add to bought Sell/gift add to sold
[0123] Actions in Response to a File Creation Notification
[0124] In some embodiments, since a user can make multiple copies of any DMO's that he or she owns, each copy should be recorded in the DMO-Owned or DMO-Bought table and checked against the DMO-sold. Although it is not necessary to record this information for DMO's that are owned, it makes the task of offering a DMO for sale much faster. If a DMO has been sold, the newly created file must be removed from the system either under management control or by issuing a notification warning the user that the DMO has been sold and the file must be deleted. The exception is when the user has access to a DMO but does not have sufficient computer privileges to delete the file. For example, there are two users who share the same personal computer. Each user may be able to access files in the other's account but does not have permission to delete those files. Every modern, advanced operating system has a set of read, write, and deletion permissions associated with every file and every user account. Anyone skilled in the art of computer programming knows how to check these permissions.
[0125] It is possible that the file creation is the result of a copy from a removable device containing that file, in such a case, both the new and the old DMO files must be deleted. A DMO file found on device that has just been attached is considered to be a file creation, and will be either recorded or deleted depending on it being identified as owned or sold. If Non-DMO files or DMO files that cannot be validated as resulting from an on-line download purchase are ignored since they cannot be sold in the future and are assumed not to be part of the system of objects being tracked. A methodology for carrying out these steps is illustrated, by way of non-limiting example, in the code that follows,
TABLE-US-00002 def on_file_creation(file_id): (file_name, file_meta_data) = file_id if (dmo_id = contained_in_table(DMO_owned, file_id )): add_to_owned( dmo_id, file_id) elif (dmo_id = contained_in_table(DMO_sold, file_id )): popup_query_to_user(”The_contents_of_the_object_in_file” , file_name, ”_has_already_been_sold\n_Will_remove_file.\n”, ”_If_this_is_in_error,_please_contact_re-digi.com”) remove_file(file_id) else: add_to_files_scanned(file_scanned, file_id)
[0126] Actions in Response to a File Deletion Notification
[0127] In one embodiment, the response to a file deletion, does not depend on the number of copies of a DMO; the record of the deleted file associated with a DMO is removed and the count is decreased. When the count goes to 0, however, the DMO record remains in the table. If a DMO is owned it should continue to be tracked since it can be created again. For example, the file could have been deleted in order to save storage space. It could still be sold in the future. If the DMO was sold, then this deletion is just the right action to be taken. If the file was neither bought nor sold, it is not part of those that are tracked. A methodology for carrying out these steps is illustrated, by way of non-limiting example, in the code that follows,
TABLE-US-00003 def on_file_deletion(file_id): (file_name, file_meta_data) = file_id if (dmo_id = contained_in_table( DMO_owned , file_id )): removed_from_owned( dmo_id, file_id) elif (dmo_id = contained_in_table( DMO_sold , file_id )): decrease_file_count(dmo_id)
[0128] Actions in Response to a File Modification Notification
[0129] In one embodiment, a file that is modified can be treated as a deletion followed by a creation. There are optimizations but they make the code harder to understand and maintain. It is assumed that once a file has been modified, it is still possible to recreate the old, non-modified file. Actually, all that is needed is the fingerprints of the original file. This is already in the tables. A methodology for carrying out these steps is illustrated, by way of non-limiting example, in the code that follows,
TABLE-US-00004 def on_file_modification(file_id): old_file_id = temp_create_file_from_backup(file_id) on_file_deletion(old_file_id) on_file_creation(file_id) delete_file(old_file_id)
[0130] Actions performed by the user through the management system Using an embodiment of the management system discussed in more detail above, there are at least two things a user can do. He or she can purchase a new digital music object. In this case, there will be a download of the DMO just purchased. The user can create many copies of the object. He or she can get rid of such an object, either by selling it or by passing it on to someone else. In this case, all copies of the object must be removed or delete. Actually, it should be passed on (the bits passed) to the new copyright owner.
[0131] When an object is purchased, a file is usually downloaded to the computer or device. It is the job of the manager to verify both the identify of the digital media object and ownership. The most straightforward way is when the digital media object seller will verify the transaction.
[0132] Before a DMO is sold, it must be checked for validity. It must be in the owned table. Then it all depends on the object type and its protection, drm, etc. A methodology for carrying out these steps is illustrated, by way of non-limiting example, in the code that follows,
TABLE-US-00005 # assume dmo_id is an entry owned. # account is id of user (from whence it was bought) def confirm_ownership(dmo_id): for file_id in file_list_in_owned(dmo_id): account = get_account_field_from_bought(dmo_id) # find at least one file with this dmo with valid ownership if (redigi_uid = get_redigi_uid_from_file_id(file_id)): if redigi_server_confirm_ownership( redigi_uid , account ): return TRUE #remote server confirms ownership else: return FALSE # server indicates different ownership elif known_standard_encrypted_file( file_id ): key = get_key_field_from_bought(dmo_id) (header,body) = decrypt_file( key, file_id ) if account in header: return TRUE # header continues correct account id return FALSE # could not confirm ownership
[0133] The confirm ownership routine is used when offering a DMO for sale. A methodology for carrying out these steps is illustrated, by way of non-limiting example, in the code that follows,
TABLE-US-00006 # dmo_id is a record that contains most of the fields in the dmo_owned # table entry def on_purchase(dmo_id): add_to_owned( dmo_id , null ) add_to_bought( dmo_id , null ) # assume this is called only once dmo_id is confirmed # to be in owned table. def on_sell(dmo_id) if confirm_ownership(dmo_id) == FALSE: return FALSE add_to_sold(dmo_id) for file_id in file_list_in_owned(dmo_id): remove_file(file_id) removed_from_owned( dmo_id, file_id) return TRUE
[0134] Preventing or Discouraging Access to DMO that has been Sold
[0135] In one embodiment using the detection scheme described above, there are several actions that are taken to prevent or discourage access or use by a user of a DMO that the user has sold. For customers in good standing a warning message is flashed on the screen and a notification message issued is enough of a discouragement. The user may have simply not known that he or she still had access to a DMO copy that he or she has sold. Repeated access and playing of a song that the user has sold requires stronger action on the part of the management system. Since the identification might be in error, the file may be moved to a special quarantine directory making access difficult. Upon further infractions, the user is prevented from any further offers for sale of DMO's. An even further discouragement is possible by freezing the user's account.
[0136] Initialization
[0137] In some embodiments, the initialization phase goes through all the files owned by the user and classifies their content and places these results in a set of tables. For example, this is similar in function to virus detection software. It first does a full scan of all the files. Later, it is only concerned with new and modified files.
[0138] In one exemplary embodiment, when a new file system or file volume is attached to the computer, the initialization routine scans though all the files on it. Thus, the initialization phase may be invoked many times (as devices attach and reattach).
[0139] Exactly which DMO's found in files are classified as “owned” is a policy decision. A liberal policy is to assume every DMO was legally acquired. A highly restrictive policy assumes that only DMO's with DRM that restrict playing to this device are legally owned and all others are not and may not be resold.
[0140] A methodology for carrying out these steps is illustrated, by way of non-limiting example, in the code that follows,
TABLE-US-00007 # This examines a file def scan_file(file_id): (file_name , file_meta_data) = file_id if is_redigi_file(file_name): dmo_id = extract_dmo_id(file_name) add_to_owned( dmo_id, file_id, ’redigi’ ) elif is_ordinary_media_file(file_name , media_type): header_info = extract_header(file_name) dmo_id = looup_object_from_header_info( header_info) add_to_owned( dmo_id, file_id , ’ordinary’ ) elif guess_media_type( file_name ) == media_type: dmo_it = guess_dmo_id( file_name) add_to_owned( dmo_id, file_id , ’guessed’ ) else: add_to_ignored( file_id) add_to_scanned( file_id)
[0141] The Server Side
[0142] The management system software communicates with the server software. A web browser can also be used to communicate and interact with the server software.
[0143] The server controls and maintains a set of databases that are used to support various functions such as: user accounts, DMO maintenance, deep verification, bookkeeping of credits and financials, uploading and downloading of DMOs, and matching offers to sell with requests to buy particular DMOs.
[0144] Maintaining user accounts is required for the system to work but the particulars, such as account creation, verification, login, session-ids, cookies, etc., are well known. What is relevant to one embodiment is the additional information kept with the account, outlined below, in a way of a non-limiting example.
TABLE-US-00008 Field Description Preferences The length of time a DMO that has been offered for sale will remain for sale or an offer to buy will remain in place. When the purchase of a DMO succeeds, the DMO can be automatically downloaded to one or more of the user's private computer or devices. Box Size, Box capacity, Box The box is a collection of the DMO's owned by the account and location currently residing on the server dedicated to the exclusive use by this account. There is a capacity both in the number of DMO's and in their total size. DMO identities used This field is used to detect fraud. DMO's purchased on-line often have an identify, email, username, or some other customer identification stored in the meta-data. A user who has an excessive number of such identifies is a warning signal of potentially trying to sell DMO's that he or she does not own. Similarly identities that are also found in other user accounts raise similar warnings. IP addresses of machines with Each machine with a working cop of the management system management system software software can download a copy of a purchased DMO. Consequently, the server limits the number of machines on which the management system software installed. Also monitored is the number of times the management software is installed and uninstalled. Number of Infractions An infraction is a violation of the legal use of the system, such as non-deletion of DMO's offered for sale, multiple attempts to offer non-verifiable DMO's for sale, or exceeding the limits of identities or machines as recorded in the above two fields.
[0145] The BOX
[0146] In one embodiment, DMO's can be uploaded to or downloaded from the server. A table containing pointers to the DMO's is referred to as a box. Each DMO is owned by used one user and at any time, there is only one box that points to a DMO. There are several operations that can be performed on a box, including those in the following list:
TABLE-US-00009 statusOfBox( ) This returns the objects, their type, size, and status - for sale, recently purchased, exclusive copy (e.g. there are no known copies on any of the user's devices or machines). putFileIntoBox( file, nickname ) The management system software uses this interface to upload a copy of a DMO to the server. getFileFromBox ( nickname ) The management system software uses this interface to download a copy of a DMO. The server then records the fact that this DMO is no longer exclusive on the server. This is also used when a DMO is purchased from another user. insertFileIntoBox( nickname ) This is part of the process of transferring ownership from one user to another. In one atomic transaction, a pointer to an instance of a DMO is deleted from one box and inserted into another box. deleteFileFromBox( nickname ) This is part of the process of transferring ownership from one user to another. It can also be invoked from the management system software.
[0147] DMO Verification
[0148] In one embodiment, verification of a DMO offered for sale is necessary in order to ensure that the meta-data that identifies the contents of the DMO is correct. There are two aspects to the verification process. One is to verify that the DMO was purchased by the user. The second is that the digital object is what it claims to be. For example, a devious user may try to sell a song that appears to be the Beatles' song “Yesterday” but when played, the music is an advertisement for some product.
[0149] In one embodiment, verification of ownership is based on a set of criteria and characteristics of the DMO, each of which either increases or decrease the level of confidence in ownership. Some, but not all characteristics are:
TABLE-US-00010 User identification Many sites store one or more versions that identify the user account that did an on-line purchase of the DMO. If this user identification matches those of other DMO's owned by this user, then increase confidence of ownership. If the user identification is similar to the user account name on this seller, then also increase confidence. For example, if the user name for an iTunes purchased song matches the user name of the reseller's account name for this service, give extra bonus in confidence. Exclusive use of There are no other users in the system that have ever had a DMO with this identification. user identification. No obvious signs of Many programs allow one to edit the metadata of a DMO Some of these metadata editing programs add fields to the metadata that state the program used to edit the metadata. Valid proprietary Many online DMO retailers insert special hidden fields to show that they fields inserted by the sold the file. Examining a large number of DMO's can be used to identify distributor their special hidden fields.
[0150] Upon transfer of ownership of used DMO's that are sold through the service are first stripped of all identifying marks and fields in the metadata. The new owner will not be able to tell who was the previous owner. Then, identifying marks of the new owner is inserted into the DMO metadata. Finally, special watermarks identifying this transaction and this service provider are inserted into the DMO itself. For example, in the case of a digital song, a digital watermark is inserted by modifying the music in an inconspicuous manner.
[0151] A DMO that was purchased as a used DMO through this service will thus contain a recognizable watermark, perhaps acoustic in the case of songs and movies or graphical in the case of e-books or pictures. Any DMO containing such watermarks can be easily verified as to the true owner of the DMO making verification of such DMOs very easy and straightforward.
[0152] The second type of verification, that of ensuring the metadata correctly identifies the content of the DMO, can be accomplished, in one embodiment, by the use of a master fingerprint table. Each instance of a DMO contains a copy of the same contents as the master copy. For example, the music of any instance of the same digital song should sound the same. We assume that different encodings of the same DMO contents sound, look, or render in a similar way. A fingerprint of the content is stored on the server. Every work offered for sale is verified as follows. A fingerprint of the content is generated. This fingerprint is compared to the fingerprint on file in the server of the work that corresponds to the work's identification as specified in the metadata. For example, if the metadata of a song claims it is the Beatles' song “Yesterday” then a acoustic fingerprint is generated of the music in the DMO. This fingerprint is compared to the fingerprint that was generated from a known valid DMO of the same song. The fingerprint need not match exactly, but should be close enough. Note that this task is significantly simpler than the task of identifying a DMO without knowing what it is. For example there are many services that can identify a song from just a few seconds of its playing. That requires comparing the fingerprint of a few seconds of music with an entire collection of millions of songs. There are many ways to generate fingerprints. A common approach is to apply a Fourier Transform to the signal mapping it from the time domain to the frequency domain. Characteristics of the resulting frequencies, such as max, min, average values, signal entropy can be used along with other more typical music features such as timbre, The verification task using fingerprints is much easier than identification since it need only ensure that the fingerprint match the fingerprint of what the DMO claims to be.
[0153] The Matching
[0154] In some embodiments, the matching between DMO's offers for sale and request for purchase consists of the following actions making by the servers and making use of its internal tables. A DMO can be offered for sale before, during, or after there is a corresponding request for purchase. Consider each case separately. Before delving into the details, it is necessary to describe how a DMO can be identified.
[0155] In the case of digital songs, each song requires a unique representation. A song is often identified by a quadruple of Title, Artist, Album, and Year released. Unfortunately, not all songs fit this identification model. Some songs are released as singles and are not associated with an album. Some songs may have multiple release dates. Yet other songs may have slightly different ways of writing the title, depending on the language of the consumer, e.g. A French as well as an English title, or a title that is transliterated using a different alphabet. In addition, classical music may be specified by both the orchestra and the conductor.
[0156] In some embodiments, a standard database is used that provides a unique number or identifier for each unique musical composition. The database can be searched using a partial specification of the object and can also assign the same identifier to the same musical composition even when there are multiple titles, release dates, etc. Given a DMO, the metadata must specify these fields in sufficient detail to uniquely identify the object. These fields are used as search terms for the database. Any DMO offered for sale, will first have these fields extracted from the metadata, a search performed on the database, and its unique identifier then used as an internal DMO identifier.
[0157] When a DMO is offered for sale before there is a request for a purchase, the server updates the available inventory for this particular object based on its identifier as described above.
[0158] A buyer will specify some or all of the search terms. This produces a list of identifiers that match the search terms. For each of these identifiers, a list is presented to a potential buyer with a notation of which objects have non-zero inventory. When the potential purchaser indicates a willingness to buy the used DMO, the inventory is searched and an atom database transaction will exchange coupons, credits, cash, as well as exchanging ownership.
[0159] There may be items on the list that have no inventory but that a user wishes to purchase. This is a case of a buy request occurring before an offer to sell has been made. The inventory table entry for this object indicates this fact. As soon as there is an offer to sell this object, the server checks the inventory and will see the request to buy. A match occurs and an atomic database transaction will exchange coupons, credits, cash, as well as exchanging ownership.
[0160] The third possibility is that there are no requests to buy nor offers to sell for a particular object but at roughly the same time, a request and an offer are made by two different users. A naïve implementation could result in a situation in which the offer to sell fails to see that there is a request to buy and the request to buy fails to see the offer to sell and both get placed in a wait queue and no match occurring until some future request or offer is occurs. Note that the buyer has already seen an empty inventory and so is expecting to wait for an offer to sell. So, whenever a request to buy is placed in the wait queue, a timer is set so that the request to buy will check the sell queue again in the near future. This ensures that a match will always occur no matter what the timing.
[0161] Gifting
[0162] In one embodiment, an exchange of ownership and corresponding monetary instruments can take place between three users, when there the transaction supports gifting. The match process described above involves a database atomic transaction that atomically performs several database updates. The pointer to the DMO is switched from one user's box to another user's box. The price of the DMO is subtracted from one user's account and added partially to another user's account and the remaining to the media store's account. To support the ability to gift a DMO, the atomic database transaction involve the database accounts of three user's in a manner that will be evident to those skilled in the art in view of the teachings hereof.
[0163] Increasing the Chance of Matching
[0164] In some embodiments, provisions are made to give a seller a better chance to have his or her DMO's bought. One way is to help the seller to offer the DMO's in the right time. There are three subsystems.
[0165] One subsystem uploads DMO's to the box, purges them from the private computer, and then offers them for sale. This process can be under direct control of the seller. But if the seller wishes to offer many DMO's for sale and there is insufficient room in the box for all of them, some of this process can be automated.
[0166] The user specifies all the DMO's that are offered for sale using a second subsystem. This subsystem sends the list to the server. Any DMO's for which there are buyers waiting, are automatically uploaded to the box, purged, offered for sale by making use of subsystem one, however under the control of subsystem two. If there is still room in the box, DMO's that have been recently been involved in transactions and then offered for sale, again sing subsystem one. The server knows current and past demand and can accurately priority order the DMO's so that the most likely ones to be bought are the first to be offered for sale.
[0167] Based on the set of DMO's offered for sale (accumulated via subsystems one and/or two), it is possible to infer what other DMO's a user may have on his or her private computer. Correlating these with known demand of requests to buy, a third subsystem can send a list of DMO's to the management system software on the personal computer to see if there are any DMO's there. If so, the user is asked if he or she would like to offer them for sale. This works in much the same way as a recommendation system, however, it is based on what a user wishes to sell rather what the user wishes to buy.
[0168] Optimizations
[0169] Optimizations of the foregoing are discussed below. These may be employed individually and/or in combination with one or more of the teachings above.
[0170] The file size can be an easy filter to quickly eliminate files from consideration. Movies are at least dozens of megabytes in size. Songs are smaller. E-books are not dozens of kilobytes in size. Pictures usually larger.
[0171] The file extensions can be an excellent first level indicator but should never be trusted. It identifies the first thing to try.
[0172] The tables are best organized as hash tables to quickly find records. When more than half the entries are occupied, the table size can be doubled and the entries re-mapped.
[0173] Rather than uploading a DMO that is sold, in some situations, it may be sufficient to simply notify the remote server by sending the ID of the object. This can be considered a highly compressed version of sending the whole object.
[0174] When several users upload the same DMO to the server, it may be possible for the server to store only a single copy of the DMO and have each user's box point to this single copy. It is a legal decision whether or not the server must maintain distinct instances of each DMO.
[0175] To identify the DMO contained in a file, there are three cases to consider: The file is encrypted in its original form. The file is unencrypted and unmodified. The file is unrecognized and requires more elaborate fingerprinting.
[0176] The match is much easier since the database size is smaller than the usual complete contents. The match is against only those DMO's that have been sold. Two steps: when sold and when any file is created for first seen, e.g. device is connected.
[0177] When scanning all files. For each file, do deep search (fingerprint) to have table of owned objects and the files in which they reside. (can do this lazily) Whenever a new drive or device is connected, do a deep scan
[0178] Maintain fingerprint (features) in the owner table (or even unclassified table). When an object is offered for sale, we download the features and match it against all the objects in the table. It is easier to match a particular song rather than to identify the song.
[0179] Described above are systems and methods meeting the objects set forth herein. It will be appreciated that the embodiments illustrated and described herein are merely examples of the invention and that other embodiments incorporating changes thereto fall within the scope of the invention.
[0180] In view of the foregoing, what we claim is set forth beginning on the pages entitled “Claims,” following Appendix A.
APPENDIX A
Executive Summary
ReDigi™—The Worlds First Recycled Digital Media Store™
[0181] ReDigi™ users access the world's only catalogue of re-cycled, licensed, digital media.
Music, movie, book and game fans will enjoy their favorite artists, actors and authors showcased in a high-quality application that is easy and fun to use. The net result is a low cost unparalleled user experience and a compelling legal alternative to piracy.
Members can transfer no longer used digital media to the ReDigi™ store in exchange for purchase credit.
ReDigi™ members can earn ReDigiBucks™ by inventorying their unused music on ReDigi™, by searching from ReDigi™, by Shopping on ReDigi™—then buy any media listed on ReDigi™ with credit from their ReDigi™ Bank account—all very cool, get music, books, movies, games with no cash out of pocket, or if the ReDigi™ account is a little low, its ok to purchase the traditional way.
Promoting media on ReDigi™ is free, individual artist, author and producer areas allow members to build a direct relationship with fans, old and new, across the world. ReDigi™ facilitates the development of revenue streams through the sale of downloads, merchandising, concert tickets and more, as well as, earning a share of revenues ReDigi™ creates through our advertising and premium businesses. Powerful, real-time, in-depth reporting is standard to participating labels and artists, authors, etc.
What is ReDigi™
[0182] ReDigi™ is short for Recycled Digital Media. [0183] The Market for Digital Media has grown rapidly in the digital music space and is growing even faster with the introduction of digital movie downloads and digital books. Historically, all forms of media have moved to the “used” or “re-sale” marketplace. This is the primary market which ReDigi™ has targeted. [0184] Why re-sale? Typically the markets for resale are driven by VALUE, those purchasing in that category are most often driven by the ability to save money while getting the exact product they want, not an imitation, rendition or low quality copy. [0185] ReDigi™ uses proprietary digital fingerprinting technology (ReDigiPrint™) to identify and tag uploaded media, thereby securely removing all synced copies of the same ReDigiPrinted™ file(s). [0186] ReDigi™ uses a proprietary ReDigiPrint™, DPP, tag that allows legal transfer and sharing of media files.
Cool ReDigi™ Features
Accessibility & Purchasing Options:
Mobile Access
Online Access
Recycled
New
Cool User Features
[0187] Great credit for used digital media
Save money on digital media purchases (Discounted New/Used Prices)
Fun and easy to use
Integration with FanAction™ Tickets, find events that match ReDigi™ music purchases in the users area and provides easy digital ticket purchase.
ReDigi™ Benefits
[0188] Significant Increased Income per unit sold—New & Recycled media Purchase
Brand Leader in the “used/recycled” marketplace
Increased user marketing data/opportunities
Added Features not seen with ANY other digital media site
Reduces illegal media downloading
Partnership provides total scalability instantly
Latest generation database technology
ReDigi™ Solution
Dynamic Digital Rights Tracking (DDRT) Technology
Dynamic Inventory Management (DIM)
[0189] Supplemental Profit Allocation—and instant view back office
Total Media life cycle control and information tracking [0190] Typical length of ownership, genre, quantity, etc. [0191] Automated Music preferences algorithm provides suggested items to member
ReDigi™ Features:
[0192] Trade-in, Earn & Purchase Digital Media [0193] Swap-Me™ Trade-in media that has been legally purchased/downloaded with an attached DRM or L Code [0194] Algorithm provides instant credit allocation to member based on Billboard top 100, Amazon top 50 Video Games, NY times bestsellers. [0195] Identifier scans all Swap-Me™ files for ReDigi™ tags, (Media previously purchased new from ReDigi™ gets additional Swap-Me™ credit). [0196] Digi Bucks™ Home Page Designed with Digi Bucks Search Bar—SEARCH to earn credits toward purchases. [0197] ReDigi™ refer friends and when they sign up and make first purchase, win credits. [0198] Its-Hot see what your ReDigi™ friends are buying when looking for media, purchase (preferences allow member to block friends view). [0199] Gotta-Have-It™ tag(s) recycled media that you want but currently not in inventory, member is notified via email/Text as soon as ReDigi™ has inventory. [0200] If member connects to the link and inventory has been sold a Gotta Have It™ discount is provided on a new copy, as long as, member purchases within 20 minutes of logging in. Available for 2 hours after text/email delivery. [0201] Turn-Me-On™ sends your friends a quick clip of media you love, (includes an easy purchase link) [0202] Guess-What-I-Got™ Single touch notifier tells “friends” what you just purchased and provides an instant purchase link.
Additional Cool Features
[0203] Gift Media™ Allows members to select from listed charities and donate all or a portion of their proceeds to charity
MediaAllocator™ automatically allocates all sales to the appropriate parties including ReDigi™, Label, Artist, etc. (provides real time back office view)
ReDigi Bot™—cleans all donated digital media files using ReDigiPrint™ technology from all of the members synced and or connected devices, stringent privacy agreement.
Automated owner authenticity.
Media Direct™ provides Instant Links with major social network sites including Myspace, FaceBook, Twitter, Artist etc. for ease of purchasing awareness.
Data Collection/Marketing
[0204] Members [0205] Members Network