US20110035806A1 - Time based content management for disconnected devices - Google Patents
Time based content management for disconnected devices Download PDFInfo
- Publication number
- US20110035806A1 US20110035806A1 US12/895,721 US89572110A US2011035806A1 US 20110035806 A1 US20110035806 A1 US 20110035806A1 US 89572110 A US89572110 A US 89572110A US 2011035806 A1 US2011035806 A1 US 2011035806A1
- Authority
- US
- United States
- Prior art keywords
- time
- digital content
- electronic device
- computer
- disconnected
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/101—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
Definitions
- a concern with electronic delivery of media content is the enforcement of access restrictions stipulated by license agreements associated with the media content, such as time based access restrictions.
- technologies have been developed for enforcing access restrictions on playback devices having persistent or intermittent contact with a data network.
- the time maintained by an internal clock of the playback device may be synchronized with a clock maintained by the network in order to allow the playback device to correctly measure time and to enforce access restrictions based upon such time measurements.
- disconnected devices are unable to enforce time based access restrictions under circumstances where a time based licensing restriction is measured with respect to a clock that is different than that of the disconnected devices.
- disconnected devices are subject to timing errors due to clock drift, power outages, and user manipulation.
- FIG. 1 is a block diagram of an illustrative operating environment for enforcing time based access restrictions on digital content that is used on electronic devices lacking an intermittent or persistent connection to a reference time keeping device;
- FIGS. 2A through 2E are block diagrams of illustrative operation of a digital content service and a disconnected electronic device during a time calibration process performed within the operating environment of FIG. 1 ;
- FIGS. 3A through 3C are pictorial diagrams of illustrative user interfaces generated by the digital content service for assisting a user during setup and digital content transfer procedures;
- FIG. 4 is a flowchart depicting illustrative operation of the digital content service during distribution of digital media content to a portable data transfer device
- FIG. 5 is a flowchart depicting illustrative operation of the disconnected electronic device upon receipt of digital media content from the digital content service via the portable data transfer device.
- a calibration process is developed for disconnected electronic devices that employs a digital content service in communication with the reference time keeping device.
- the calibration process allows the calculation of time calibration values that, when applied to a time measured by disconnected electronic devices, yields a modified time that is approximately equal to that measured by the reference time keeping device.
- use of the time calibration values substantially synchronizes the disconnected devices and the reference time keeping device.
- Time calibration values and other calibration information for one or more disconnected electronic devices may be stored by the digital content service.
- the service identifies the disconnected devices associated with the user and provides the calibration time values and other calibration information for the user's disconnected devices.
- the provided calibration values and other information may be transferred to a portable data transfer device for delivery to the disconnected devices. In this manner, digital content may be consumed by a user on a plurality of disconnected electronic devices without violating license agreements associated with the digital content.
- Embodiments of the portable data transfer device may include dumb or passive data transfer devices.
- Examples of passive data transfer devices may include, but are not limited to, flash memory devices and rewritable optical and magnetic media. These portable data transfer devices may lack their own time keeping device and/or internal power source. These portable data transfer devices may also lack the ability to perform substantive processing operations by themselves. Compatibility with such dumb or passive data transfer devices allows the systems and methods disclosed herein to be used with the large base of portable data transfer devices available for consumer use.
- FIG. 1 depicts an embodiment of an operating environment 100 including a digital content service 102 and license enforcement component 114 for use in the implementation of time based access restrictions of digital content.
- the digital content service 102 and the license enforcement component 114 are configured to perform a time calibration process for one or more disconnected electronic devices 104 that lack the ability to communicate with a selected reference time keeping device.
- the time calibration process generates a time calibration value for the disconnected electronic device 104 that, when combined with a device time measured by the same electronic device 104 , yields a modified device time that approximates the time measured by the reference time keeping device.
- the digital content service 102 may provide digital content 126 having time based access restrictions for use with the calibrated electronic device 104 .
- These access restrictions are enforceable by the license enforcement component 114 of the electronic devices 104 and may include restrictions such as fixed calendar dates or time windows that are measured with respect to the time at which an action is taken by a user of the electronic device 104 , such as the time when the digital content is first accessed.
- the license enforcement component 114 Upon an attempt to access the digital content with a disconnected device 104 , the license enforcement component 114 is configured to identify the access restrictions associated with the digital content, modify the measured device time according to the time calibration value received for the disconnected device 104 , and permit or deny access to the digital content based upon whether the time based restrictions are satisfied.
- disconnected device 104 may include one or more hardware or software components capable of receiving digital content and outputting the digital content 126 in a format perceivable by a user of the disconnected devices 104 .
- Such output of digital content may also be interchangeably referred to as access, use, consumption, and/or playback of digital content.
- the disconnected electronic device 104 may include, but are not limited to, personal computers, mobile phones, terminals, electronic book readers, laptop computers, digital media players, set top boxes, video game players, and personal digital assistants. Further examples of the disconnected electronic device 104 may include, but are not limited to, CD and DVD players, digital audio players (e.g., MP3 players), digital video players, and the like.
- the disconnected devices may further include the license enforcement component 114 , a device clock 120 , and a device ID 122 .
- the device clock 120 is a time keeping device that is internal to the disconnected device 104 .
- the device clock 120 may be different than a clock displayed to a user of the electronic device 104 and further may be substantially inaccessible to a user of the disconnected device 104 .
- a drift rate of the device clock 120 may also be known and stored by the disconnected device 104 .
- the device clock 120 may generate an index, referred to herein as a clock index.
- the clock index is a number that changes whenever the device clock 120 is reset, such as when the disconnected device 104 experiences a power interruption or reboot.
- the clock index is an integer representing the number of times that the device clock 120 has been reset.
- the clock index may be the output of a function that changes upon reset of the device clock 120 .
- the device ID 122 may include a static identifier that uniquely identifies a disconnected device 104 .
- the device ID 122 may also be queryable, allowing a disconnected device 104 to share the device ID 122 to provide an identification of itself.
- the license enforcement component 114 may be stored in the memory of, and executed by a processing unit of, the disconnected electronic device 104 .
- the license enforcement component 114 is configured to respond to requests for information from the digital content service 102 regarding the disconnected electronic device 104 in which it is executed.
- the license enforcement component 114 is further configured to receive time based access restrictions and time calibration information, such as time calibration values and clock index values, from the digital content service 102 .
- the time calibration information may be tailored to a specific disconnected device 104 .
- the time calibration information may be specific to a group of common disconnected devices 104 , for example, a specific model of disconnected device 104 .
- the license enforcement component 114 employs the time access restrictions and the time calibration information specific to the disconnected electronic device 104 in which it is executed to permit or deny access to digital content received by that disconnected electronic device 104 .
- the license enforcement component 114 communicates with the digital content service 102 via a portable data transfer device 106 in order to generate the time calibration information specific to its disconnected electronic device 104 , as well as to provide digital content.
- the portable data transfer device 106 may include portable data storage media capable of being written to and read.
- the portable data transfer device 106 may be referred to in the context of universal serial bus (USB) memory devices. It may be understood, however, that USB devices represent one illustration of the portable data transfer device 106 .
- Other examples of the portable data transfer device 106 may include, but are not limited to, flash memory cards, magnetic media, and optical media, such as rewriteable CDs and DVDs.
- the portable data transfer device 106 may be directly connected to the disconnected electronic device 104 or connected to another device that is in communication with the disconnected electronic device 104 in order to transfer information between disconnected device 104 and the portable data transfer device 106 .
- the portable data transfer device 106 may communicate the information to the digital content service 102 via one or more network access points 118 and a network 112 .
- the network access point 118 may include a computing device in communication with the network 112 and capable of receiving data from the portable data transfer device 106 .
- one or more of the operations described herein as being performed by the digital content service 102 may be performed by a combination of the digital content service and the network access point 118 or, alternatively, by the network access point 118 alone.
- the network access point 118 may include, but are not limited to, personal computers, mobile phones, terminals, electronic book readers, laptop computers, digital media players, set top boxes, video game players, or personal digital assistants.
- the network 112 is the Internet. It may be understood, however, that the network 112 may be a local area network (LAN), wide area networks (WAN), a personal area network (PAN), landline telephone network, cellular telephone network, cable network, and/or any combination thereof. Embodiments of the network 112 may be further implemented through wired or wireless transmission mechanisms. Because protocols for network communications, such as TCP/IP are well known to those skilled in the art of computer networks, further description of these protocols and other methods used to implement the network are not provided herein.
- the operating environment 100 depicted in FIG. 1 is illustrated as a distributed computing environment including several computer systems that are interconnected using one or more computer networks. However, it will be appreciated by those skilled in the art that the operating environment 100 could have fewer or greater components than are illustrated in FIG. 1 . For example, the operating environment 100 could include various web services components and/or peer-to-peer network configurations. Thus, the depiction of the operating environment in FIG. 1 should be taken as illustrative and not limiting to the present disclosure.
- the digital content service 102 may be implemented by a single computing device, such as a server. However, those skilled in the art will appreciate that the digital content service 102 may be embodied in a plurality of servers, each executing an instance of the digital content service 102 .
- the server may include a network interface, memory, processing unit, and computer readable medium drive, all of which may communicate with one another by way of a communication bus.
- the network interface may provide connectivity to the network 112 and/or other networks or computing systems.
- the processing unit may communicate to and from memory, which contains computer program instructions that the processing unit executes in order to operate the digital content service 102 .
- the memory generally includes RAM or ROM and/or other persistent and auxiliary memory.
- the memory may include a user interface component 128 that generates user interfaces and/or instructions therefore, such as those illustrated in FIGS. 3A-3C , for display.
- the user interface component 128 may be displayed upon the network access point 118 .
- the digital content service 102 may include a time calibration component 124 and the user interface component 128 .
- the digital content service 102 may further be in communication with one or more data stores 126 that contain digital content.
- the time calibration component 124 is configured to generate time calibration values for the disconnected electronic devices 104 .
- the time calibration component 124 may communicate with a reference time keeping device, such as network time resource 110 maintained within the network 112 , or alternatively by the digital content service 102 itself, to obtain a reference time.
- the time keeping device may be implemented in hardware, software, firmware, or a combination thereof.
- the time calibration component 124 may further issue requests to the disconnected electronic devices 104 during the time calibration process to provide device information, including, but not limited to, the device time measured according to the device clock 120 , the device ID 122 , and the clock index. This device information allows the time calibration component 124 to determine correction factors that, when summed, provide the time calibration value. These correction factors may include a device time correction, a synchronization time correction, and a drift correction.
- the device time correction represents an adjustment that facilitates an approximate synchronization of the time measured by the disconnected electronic device 104 with the network time resource 110 .
- the device time correction is specific to a particular disconnected electronic device 104 because, after distribution from the manufacturer, each disconnected electronic device 104 is likely to experience different events (e.g., power interruptions, reboot) at different times that change the time measurements provided by the device clock 120 with respect to time measurements provided by the network time resource 110 .
- the device time correction may be calculated by taking the difference between the reference time and the device time (Equation 1):
- the correction factors include the synchronization time correction, a correction that accounts for the fact that the device time and the reference time are not measured at about the same moment in time, with respect to the reference time keeping device. Rather, the reference time is measured, then the device time is measured at a later time, and then the device time is reported to the digital content service 102 at an even later time, referred to herein as the reconnection time.
- the synchronization time correction may be given by the difference between the reference time and the reconnection time (Equation 2):
- the synchronization time correction is specific to a particular disconnected electronic device 104 , and even specific to a particular calibration process, as it depends upon how long the user takes to record the reference time, obtain the device time, and return the device time to the digital content service 102 .
- the synchronization time correction represents an overestimation of the time taken to obtain the device time, as the synchronization time correction is calculated using the reconnection time, which occurs later than the time at which the device time is measured, with respect to the reference time keeping device.
- the time calibration value overestimates the time difference between the reference time keeping device and the disconnected electronic device, resulting in a modified device time that is ahead of the time measured according to the reference timekeeping device.
- access to digital content expires in advance of the actual reference time specified by the access restrictions, substantially ensuring that the restrictions are not violated by the disconnected electronic device 104 .
- the correction factors include the clock drift correction.
- the clock drift correction accounts for the fact that the error in measurement of the device time varies with time.
- the drift rate may be mathematically approximated from empirical data.
- the drift rate may be taken to be approximately constant.
- the drift rate may be selected or measured by a manufacturer of the disconnected electronic devices 104 .
- the clock drift correction may be calculated by multiplying the drift rate by the time elapsed from the last calibration of the disconnected electronic device 104 (Equation 3):
- the clock drift correction is specific to a particular instance of the calibration process as it depends on the time since last calibration.
- the calculated device time correction and synchronization time correction may be stored for later use by the time calibration component 124 .
- the digital content service 102 may store these data in an electronic device data store 130 A in communication with the digital content service 102 .
- the time calibration component 124 may obtain one or more correction factors from the manufacturer of the disconnected electronic device 104 .
- the manufacturer may measure a manufacturer time correction during manufacture of the disconnected electronic device.
- the device time correction may be measured directly, without the need for the synchronized time correction.
- the time calibration value may be determined from the manufacturer time correction measurement and the drift correction.
- the manufacturer may further assign a manufacturer clock index that corresponds to the manufacturer time correction.
- the manufacturer may store the manufacturer time correction, manufacturer clock index, and/or the drift corrections associated with one or more disconnected electronic device 104 in a location that may be accessed by the digital content service 102 .
- the manufacturer may operate a manufacturer service 132 in communication with the network 112 that provides access to a manufacturer data store 130 B containing the manufacturer time correction.
- the digital content service 102 may be further configured to respond to requests for digital content from a user.
- the digital content may include, but is not limited to text, audio, video, and software applications, such as video games.
- the digital content may be distributed for rental.
- the digital content may further include one or more time based access restrictions.
- the access restrictions may include permission to use the digital content only within a selected window of time from when the digital content is provided by the digital content service 102 (e.g., 30 days).
- the access restrictions may include permission to use the digital content only within a selected window of time from first use, for example, 24 hours from when the digital content is first played.
- the access restrictions may include permission to use the digital content only before a selected date.
- the digital content is stored within a data store 126 in communication with the digital content service 102 .
- this data store may be in direct communication with the digital content service 102 .
- this data store may be accessed by the digital content service through the network 112 .
- the digital content may be communicated to the digital content service 102 and subsequently transmitted to the network access point 118 for conveyance to the disconnected electronic device 104 via the portable data transfer device 106 .
- users may interact with the digital content service 102 via user interfaces generated by the user interface component 128 .
- the digital content service 102 may enable a user to create a user account that distinguishes the user during access of the digital content service 102 .
- Such a distinguishable, or registered, user may further designate one or more disconnected electronic devices 104 that they wish to be associated with a user account.
- the device ID 122 of a disconnected electronic device 104 may be provided when the user, employing their user account, performs a time calibration for that disconnected electronic device 104 .
- the user's disconnected electronic devices 104 may be identified.
- the user may also employ the digital content service 102 to browse and request digital content accessible by the digital content service 102 .
- the digital content service 102 may transfer digital content information to the network access point 118 .
- the digital content information may include, inter alia, the requested digital content itself, time based access restrictions associated with the requested digital content, and the time calibration information for the specific disconnected electronic devices 104 associated with the user making the request.
- the portable data transfer device 106 may be employed to transfer the digital content information to the disconnected electronic device 104 for playback.
- FIGS. 2A through 2E are block diagrams of embodiments of the operation of the digital content service 102 and the license enforcement component 114 within the operating environment 100 shown in FIG. 1 .
- FIGS. 2A through 2E will be further described in conjunction with FIGS. 3A and 3C , which illustrates embodiments of user interfaces generated by the user interface component 128 for display to the user during the time calibration process.
- the user is welcomed to the digital content service 102 and prompted to login or create an account in user interface 300 .
- the digital content service 102 may identify the disconnected devices 104 calibrated by the user, allowing the user to recall any previously generated time calibration values and avoid the need to repeat the calibration process, unless a disconnected device 104 has not yet been calibrated or the calibration is found to be invalid.
- the user is prompted to connect his or her portable data transfer device 106 to the network access point 118 to begin the calibration process.
- a user request FIG. 2A
- the time calibration component 124 of the digital content service 102 acquires the reference time from the network time resource 110 and generates the synchronization ID and date for the ongoing time calibration process.
- the time calibration component 124 further generates a registration request that instructs the disconnected electronic device 104 to provide information for the digital content service 102 .
- This information is then transferred for storage and communication with the disconnected device 104 .
- the reference time and synchronization ID and date are transferred to the data store 130 A for storage.
- the synchronization ID and registration request are transferred to the portable data transfer device 106 via the network access point 118 .
- a user interface 304 may be displayed that informs the user to wait while the reference time, synchronization ID and registration request are copied to their portable data transfer device 106 .
- the user is prompted in user interface 306 to remove the portable data transfer device 106 from the network access point 118 and connect the portable data transfer device 104 to the disconnected electronic device 104 in user interface 310 .
- the license enforcement component 114 of the disconnected electronic device upon connection of the portable data transfer device 106 to the disconnected electronic device 104 , the license enforcement component 114 of the disconnected electronic device obtains the registration request, and transmits the requested information about the disconnected device 104 to the portable data transfer device 106 .
- the information requested of the disconnected electronic device 104 may include, but is not limited to, the device ID 122 , the current time measured by the device clock 120 , also referred to as the device time, the clock index, and the drift rate of the disconnected electronic device 104 .
- the user may be prompted in user interface 312 to re-insert the portable data transfer device 106 in the network access point 118 so that the requested information about the disconnected device 104 may be retrieved from the portable data transfer device 106 and transferred to the time calibration component 124 of the digital content service 102 via the network access point 118 as shown in FIG. 2C .
- the disconnected device information (e.g., device ID, clock index, device time, and drift rate) is transferred to the digital content service 102 , which in turn, stores the information in the electronic device data store 130 A.
- the user may also be prompted to input information to the network access point 118 to assist the digital content service 102 in detecting that the portable data transfer device 106 has been returned.
- a corresponding user interface 314 may be displayed to confirm that the information stored on the portable data transfer device 106 is being transferred.
- the time calibration component 124 of the digital content service 102 may also acquire and record the time of receipt of the registration data (i.e., the reconnection time) from the network time resource 110 .
- the device time correction and synchronization time correction may be calculated by the time calibration component 124 of the digital content service 102 in accordance with Equations 1 and 2 as set forth above. These calculated values may also written to the electronic data store 130 A and correlated with the device ID 122 and synchronization ID of the disconnected electronic device 104 for future use.
- the user may then be informed, in an illustrative user interface 316 , that the calibration process is complete.
- the user interface 128 may further indicate that the user may now proceed to transfer digital content to their portable data transfer device 106 for use with their disconnected electronic device 104 .
- the digital content service 102 may obtain the device time correction from a network resource, instead of through the calibration process discussed above. This process is referred to herein as the manufacturer calibration process.
- the network resource may include data store 130 B.
- the network resource may be maintained by a manufacturer of the disconnected electronic device, such as a manufacturer service 132 .
- the device time correction so obtained is referred to herein as a manufacturer time correction.
- the user may identify themselves to the digital content service 102 in user interface 320 .
- the digital content service 102 may prompt the user, via user interface 322 , to provide the device ID 122 for the disconnected device 104 to the time calibration component 124 .
- the user may enter the device ID manually.
- the device ID 122 may be obtained from a record provided with a purchased disconnected electronic device 104 , such as a piece of paper packaged with the disconnected electronic device 104 .
- the device ID 122 may be displayed for recordation by the user in response to commands input by the user through a user interface of the disconnected electronic device 104 .
- the user may employ the portable data transfer device 106 to transfer the device ID 122 from the disconnected device 104 .
- the user may connect the portable data transfer device 106 to the disconnected device 104 and instruct the disconnected device 104 to transfer the device ID to the portable data transfer device 106 , such as through the user interface of the disconnected device 104 .
- the portable data storage device 106 may be connected to the network access point 118 for transfer of the device ID 122 to the time calibration component 124 .
- user interface 324 may instruct the user to wait for the digital content service 102 to register the disconnected electronic device 104 .
- the time calibration component 124 may send a request for the manufacturer time correction to data store 130 B, either directly or via the manufacturer service 132 .
- This manufacturer time correction request may include transmission of the device ID 122 so as to identify the disconnected electronic device 104 .
- the data store 130 B may return the manufacturer time correction, and an associated manufacturer clock index, to the time calibration component 124 of the digital content service 102 .
- the manufacturer clock index represents a clock index for the disconnected electronic device 104 that is set by the manufacturer upon fabrication and may be employed in the same manner as the clock index obtained from the disconnected electronic device 104 .
- the data store 130 B may return the drift time of the disconnected electronic device 104 .
- the manufacturer time correction, manufacturer clock index, and drift rate may be transferred to the data store 130 A.
- the illustrative user interface 330 may further inform the user that the disconnected electronic device 104 is now registered for use.
- the user may proceed to obtain digital content from the digital content service 102 for use on one or more disconnected electronic device 104 .
- the user may employ a user interface 330 to identify his or herself to the time calibration component 102 .
- the user may further employ a user interface 332 that allows the user to browse and select from the digital content maintained by the digital content service 102 . For example, a list of digital content purchased by the user may be displayed to the user for retrieval.
- the user identification and the request for digital content are transmitted to the time calibration component 124 , which gathers the digital content and calibration information (e.g. time calibration value, clock index, synchronization date) specific to the disconnected devices associated with the user from data stores 126 , 130 A.
- the user may be prompted to connect their portable data transfer device 106 to the network access point 118 and wait in order to transfer the digital content and calibration information to the portable data transfer device 106 .
- user interface 340 may instruct the user to remove their portable data transfer device from the network access point 118 and connect it to their disconnected electronic device 104 for playback.
- FIG. 4 is a flow diagram 400 depicting an illustrative process implemented by the digital content service 102 to provide digital content to calibrated, disconnected electronic devices 104 .
- the digital content service 102 identifies the user, such as through validation of a username and password provided by the user, via a user interface, as discussed above.
- decision block 404 upon identifying the user, the digital content service 102 determines whether the user has registered, and thus calibrated, any disconnected electronic devices 104 for use with the digital content service 102 . If not, the digital content service 102 prompts the user, via the user interface, to perform the calibration process.
- the digital content service 102 provides the digital content that has been selected by the user and its associated time based restrictions in block 406 .
- the digital content service 102 retrieves the digital content selected by the user, and its associated time based restrictions from the digital content data store 126 , and transfers it to the portable data transfer device 106 via the network access point 118 .
- the digital content and associated time based restrictions are already stored on the disconnected electronic device 104 , and thus, need not be provided by the digital content service 102 .
- the digital content service 102 also provides the portable data transfer device 106 with the time calibration information for the disconnected electronic devices 104 via the network 112 . Accordingly, the user may be prompted to remove the portable data transfer device 106 from the network access point 118 and connect the portable data transfer device 106 to the disconnected electronic device 104 for purposes of calibrating the disconnected electronic device 104 .
- FIG. 5 is a flow diagram 500 depicting an illustrative disconnected electronic device 104 during playback of digital content.
- the license enforcement component 114 accesses the time calibration information from the reconnected portable data transfer device 106 in communication with the disconnected electronic device 104 .
- the clock index provided with the time calibration information may be compared with the clock index of the disconnected electronic device 104 for verification in a decision block 504 .
- the license enforcement component 114 prompts the user to perform the device calibration process in block 506 , such as via the user interface of the disconnected electronic device 104 ,.
- the process proceeds to blocks 510 - 520 , where the license enforcement component 114 examines the time based access restrictions associated with the digital content to determine whether the disconnected electronic device 104 is permitted to use the digital content. In one embodiment, the license enforcement component 114 obtains a time period during which access to the digital content is permitted, T, with respect to the network time resource 110 , in block 510 . In block 512 , the license enforcement component 114 further obtains the current device time from the device clock 120 and the time calibration information and converts the current device time into an approximate current time, t, as measured with respect to the network time resource 110 .
- the license enforcement component 114 denies the disconnected electronic device 104 permission to use the received digital content in Block 516 .
- the license enforcement component 114 permits the disconnected electronic device 104 to use the received digital content in block 520 .
- the process repeats the blocks 512 - 516 , as discussed above, and allows playback the digital content. As time continues to advance during this process, there will eventually come a time at which t is not within T, and the process moves to block 516 denying playback of the digital content.
- the time calibration information may also be used to convert times measured with respect to the reference time keeping device into times measured with respect to the device clock 120 .
- the time period T may be converted into a time period T′ with respect to the device clock 120 and the time t may remain unchanged for purposes of making a comparison as to whether t is within T′ in decision block 514 .
- the access restrictions may be updated, as necessary. For example, assume that the access restrictions include a selected time period that begins upon first use of the digital content and a user wishes to employ the digital content on more than one disconnected electronic device 104 . If first use occurs in block 520 , the process may move to decision block 522 to determine whether use of the digital content is stopped after first playback is initiated. If no stop in the use of the digital content is detected, the process moves to block 512 and continues as discussed above. If a stop in use of the digital content is detected, the process moves to block 524 , where an updated time T′ for license expiration, with respect to the reference time keeping device is calculated and provided to the portable data storage device 106 . The user may then transfer the portable data storage device 106 to another disconnected electronic device 106 to continue playback and the process resumes at block 502 , where the process now employs time T′ in block 510 .
- public key encryption methods may also be used to preserve the privacy of communications between the disconnected electronic devices 104 and the digital content service 102 .
- such encryption decreases the likelihood that third parties may intercept and modify the information exchanged between the disconnected electronic devices 104 and the digital content service 102 and circumvent the time based access restrictions intended to be in force when using of the digital content.
- Public key (PK) methods require that the two parties, such as the disconnected electronic devices 104 and the digital content service 102 , each have a key pair, where one of the keys is designated public and the other private. Messages encrypted with the public key of a key pair are decrypted using the corresponding private key, and vice versa. The private key cannot be determined from its corresponding public key, so the public key may be freely distributed in the clear to any party who wishes to send an encrypted message to its owner.
- each can pass messages securely to the other by first encrypting the message with the recipient's public key.
- the message's encrypted bits may be accessible to any reader, while in transit but it is rendered unintelligible by the encryption scheme.
- PK methods also reveal whether or not the content has been changed in any way during transit.
- Unencrypted messages may altered, particularly if sent in human readable form as files on the portable data transfer device 106 , such as XML files.
- the digital content service 102 has access to third party resources that might be used to independently verify the identity of the disconnected electronic device 104 .
- the disconnected electronic device 104 itself has no immediate mechanism to confirm that message purporting to be from the digital content service 102 was in fact authored and sent by the digital content service 102 .
- a first authentication message may be sent from the digital content service 102 to the disconnected electronic device 104 via the portable data transfer device 106 .
- the license enforcement component 114 detects and replies to the first authentication message.
- the disconnected electronic device 104 authors a reply including a second authentication message, which is also written to the portable data transfer device 106 .
- the time calibration component 124 , user interface component 128 , or another component of the digital content service 102 reads the second authentication message from the disconnected electronic device 104 .
- the digital content service 102 does not know the public key of the disconnected electronic device 104 device at the start of the authentication session, the first authentication is written in the clear. In order to maintain the integrity of the exchange, several risks are of concern:
- two cryptographic methods can be used in tandem to address the first two risks.
- the first applying a digital signature to the authentication messages, enables the recipient to confirm, using the sender's public key, that the message has not been changed after having been signed using the sender's private key.
- the challenge response technique can be used to verify the identity of an authentication message sender, when the recipient has access to an independent source of the correct response to the challenge.
- a challenge including a random sequence of characters, used only once, can be sent to the disconnected electronic device 104 , that should respond with a message that proves it is in possession of the appropriate private key.
- the recipient of an authentication message could confirm the message sender is legitimate by having provided the correct response to the challenge, and the rest of message has not been altered in any way in transit.
- the response from the disconnected electronic device 104 could also include a challenge from the disconnected electronic device 104 to the digital content service 102 .
- the correct response to disconnected electronic device 104 challenge could be based on the disconnected electronic device's 104 private key, which the disconnected electronic device 104 may reliably presume could only have been written by a legitimate service to have access to the private keys of its disconnected electronic devices 104 .
- the next message of the digital content service 102 to the disconnected electronic device 104 could include a reply, encrypted using the disconnected electronic device's 104 public key that includes the correct response to the disconnected electronic device's 104 challenge.
- both the digital content service 102 and the disconnected electronic device 104 can be assured that they have authenticated each other's identity, and can communicate using standard PK methods.
- the third risk can be addressed by establishing a communication protocol that requires responses to include a Request ID which uniquely identifies each request issued by the Request's sender. For example, if the digital content service 102 issues a request to reply with the current time on the disconnected electronic device's 104 device clock 120 , a user could attempt to reply to the request by replacing the supplied response file with one containing the response from the previous day. If, however, the message contains both the response from the disconnected electronic device's 104 , along with corresponding Request ID supplied by the digital content service 102 , the digital content service 102 could determine that the supplied response is actually a replay rather than a response to the request it just issued.
- the following non-limiting example presents an illustration of how embodiments of the time based content management system of the present disclosure may be employed to determine whether digital content is permitted to be used by disconnected devices 104 .
- the example illustrates how the time based content management system can accommodate the use of digital content with one or more disconnected electronic devices 104 , as well as the seamless manner in which an expiration date may be determined when the disconnected electronic devices 104 do not measure time with respect to a common reference time keeping device are employed. It may be understood that this example is provided for illustrative purposes and should not be construed to limit the scope of the disclosed embodiments.
- the user had begun playback of a movie at about 11:40 AM that same day on an electronic device with a connection to the network time resource 110 , such as a personal computer. Assuming a 24 hour period is permitted by the time based access restrictions, the time of expiration of the digital content is about 11:40 AM on Jul. 1, 2008, with respect to time measured according to the network time resource 110 . If the user transfers the movie to their portable data transfer device 106 for playback on a disconnected electronic device 104 , such as a stand-alone DVD player, at what time, according to the internal clock of the DVD player, should playback be disabled?
- a disconnected electronic device 104 such as a stand-alone DVD player
- the license enforcement component 114 of the disconnected electronic device 104 may determine the answer to this question by employing the time calibration information stored by the portable data transfer device 106 .
- An example of such time calibration information is illustrated in Table I.
- the device time correction may be applied to a known expiration date in the frame of reference of the network time resource 110 to obtain a first expiration date (Expiration date 1) for the digital content.
- Expiration date 1 represents the expiration date after the device time correction has been applied.
- the calibration information of Table I indicates that the device time correction is ⁇ 00:03:10:10 with respect to the network resource time, the expiration date is modified with respect to the device time by subtracting this amount of time to the expiration date in the frame of reference of the network time resource 110 .
- the synchronization time correction may be applied to Expiration date 1, as Expiration date 1 is accurate to within the about the Synch Time Correction, 00:00:07:05.
- the synch time correction is subtracted from Expiration date 1 to yield Expiration date 2:
- the drift correction may be calculated from the date of last calibration (synchronization date).
- the drift rate may be obtained from the disconnected device 104 .
- the drift rate may be included in the time calibration information of Table I. Assuming, for example, that the drift rate is 2 seconds per day and the last calibration, as shown in Table I, was performed on Mar. 1, 2008 at 18:00:00, as measured with respect to the reference time keeping device. As shown in Table I, 123 days will have passed from the date of calibration to the present date, Jul. 1, 2008.
- Expiration date 3 Using all three of the correction factors in the calculation of Expiration date 3 provides a conservative estimate of the expiration date that substantially ensures that the conditions of the rental license of the digital content are not violated.
- a time calibration process is developed for disconnected electronic devices 104 that employs a digital content service 102 in communication with a reference time keeping device, such as network time resource 110 .
- the calibration process allows the calculation of time calibration values that, when applied to a device time measured by disconnected electronic devices 104 , provides the devices 104 with modified device times that are approximately equal to that of a reference time keeping device.
- the time calibration value and other time calibration information for the plurality of disconnected electronic devices 104 may be stored by the digital content service 102 and written to portable data transfer device 106 for use by the disconnected electronic devices 104 .
- the calibration process may further employ verification protocols to inhibit invalid time calibration values from being used to circumvent the time based access restrictions placed upon the digital content.
- digital content may be consumed by a user on a plurality of disconnected electronic devices 104 without violating license agreements associated with the digital content.
- All of the processes described herein may be embodied in, and fully automated via, software code modules executed by one or more general purpose computers or processors.
- the code modules may be stored in any type of computer-readable medium or other computer storage device. Some or all the methods may alternatively be embodied in specialized computer hardware.
- the components referred to herein may be implemented in hardware, software, firmware or a combination thereof.
- Conditional language such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood with the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements, and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features elements, and/or steps are included or are performed in any particular embodiment.
Abstract
Systems and methods for time based management of digital content used with electronic devices lacking a connection to a common reference time keeping device are provided. Timing calibrations are used that, when applied to times measured by such disconnected electronic devices, allow the devices to calculate modified time measurements that are approximately equal to that of the reference time keeping device. The calibration time and other calibration information for the disconnected electronic devices may be stored by a digital content service and conveyed with digital content transferred from the digital content service to the disconnected electronic devices via portable data storage devices. In this manner, digital content may be consumed by a user on a plurality of disconnected electronic devices without violating license agreements associated with the digital content.
Description
- This application is a divisional of and claims the benefit of priority to U.S. application Ser. No. 12/165,536, filed Jun. 30, 2008, and entitled, “TIME BASED CONTENT MANAGEMENT FOR DISCONNECTED DEVICES,” the entirety of which is incorporated herein by reference.
- The delivery of media content through data networks has become increasingly popular in recent years. Advances in technology allow for large catalogs of media content to be viewed for selection by a user and delivered, on an ad-hoc basis, without requiring the user to wait or travel to obtain their selection.
- A concern with electronic delivery of media content, however, is the enforcement of access restrictions stipulated by license agreements associated with the media content, such as time based access restrictions. To address these issues, technologies have been developed for enforcing access restrictions on playback devices having persistent or intermittent contact with a data network. For example, the time maintained by an internal clock of the playback device may be synchronized with a clock maintained by the network in order to allow the playback device to correctly measure time and to enforce access restrictions based upon such time measurements.
- One problem, among others, with these approaches is their lack of applicability to disconnected electronic devices that do not possess persistent or intermittent contact with the reference time keeping device. In one aspect, disconnected devices are unable to enforce time based access restrictions under circumstances where a time based licensing restriction is measured with respect to a clock that is different than that of the disconnected devices. In a further aspect, disconnected devices are subject to timing errors due to clock drift, power outages, and user manipulation.
- The foregoing aspects and many of the attendant advantages of this disclosure will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
-
FIG. 1 is a block diagram of an illustrative operating environment for enforcing time based access restrictions on digital content that is used on electronic devices lacking an intermittent or persistent connection to a reference time keeping device; -
FIGS. 2A through 2E are block diagrams of illustrative operation of a digital content service and a disconnected electronic device during a time calibration process performed within the operating environment ofFIG. 1 ; -
FIGS. 3A through 3C are pictorial diagrams of illustrative user interfaces generated by the digital content service for assisting a user during setup and digital content transfer procedures; -
FIG. 4 is a flowchart depicting illustrative operation of the digital content service during distribution of digital media content to a portable data transfer device; and -
FIG. 5 is a flowchart depicting illustrative operation of the disconnected electronic device upon receipt of digital media content from the digital content service via the portable data transfer device. - Systems and methods for enforcing time based access restrictions associated with digital content used with electronic devices lacking a connection to a reference time keeping device are provided. As discussed herein, such electronic devices may be interchangeably referred to as “disconnected electronic devices” or simply “disconnected devices.” A calibration process is developed for disconnected electronic devices that employs a digital content service in communication with the reference time keeping device. The calibration process allows the calculation of time calibration values that, when applied to a time measured by disconnected electronic devices, yields a modified time that is approximately equal to that measured by the reference time keeping device. Thus, use of the time calibration values substantially synchronizes the disconnected devices and the reference time keeping device.
- Time calibration values and other calibration information for one or more disconnected electronic devices may be stored by the digital content service. When a user requests digital content from the digital content service, the service identifies the disconnected devices associated with the user and provides the calibration time values and other calibration information for the user's disconnected devices. The provided calibration values and other information may be transferred to a portable data transfer device for delivery to the disconnected devices. In this manner, digital content may be consumed by a user on a plurality of disconnected electronic devices without violating license agreements associated with the digital content.
- Embodiments of the portable data transfer device may include dumb or passive data transfer devices. Examples of passive data transfer devices may include, but are not limited to, flash memory devices and rewritable optical and magnetic media. These portable data transfer devices may lack their own time keeping device and/or internal power source. These portable data transfer devices may also lack the ability to perform substantive processing operations by themselves. Compatibility with such dumb or passive data transfer devices allows the systems and methods disclosed herein to be used with the large base of portable data transfer devices available for consumer use.
-
FIG. 1 depicts an embodiment of anoperating environment 100 including adigital content service 102 andlicense enforcement component 114 for use in the implementation of time based access restrictions of digital content. Thedigital content service 102 and thelicense enforcement component 114 are configured to perform a time calibration process for one or more disconnectedelectronic devices 104 that lack the ability to communicate with a selected reference time keeping device. The time calibration process generates a time calibration value for the disconnectedelectronic device 104 that, when combined with a device time measured by the sameelectronic device 104, yields a modified device time that approximates the time measured by the reference time keeping device. - In further embodiments, the
digital content service 102 may providedigital content 126 having time based access restrictions for use with the calibratedelectronic device 104. These access restrictions are enforceable by thelicense enforcement component 114 of theelectronic devices 104 and may include restrictions such as fixed calendar dates or time windows that are measured with respect to the time at which an action is taken by a user of theelectronic device 104, such as the time when the digital content is first accessed. Upon an attempt to access the digital content with adisconnected device 104, thelicense enforcement component 114 is configured to identify the access restrictions associated with the digital content, modify the measured device time according to the time calibration value received for thedisconnected device 104, and permit or deny access to the digital content based upon whether the time based restrictions are satisfied. - As illustrated in
FIG. 1 ,disconnected device 104 may include one or more hardware or software components capable of receiving digital content and outputting thedigital content 126 in a format perceivable by a user of thedisconnected devices 104. Such output of digital content, as discussed herein, may also be interchangeably referred to as access, use, consumption, and/or playback of digital content. The disconnectedelectronic device 104 may include, but are not limited to, personal computers, mobile phones, terminals, electronic book readers, laptop computers, digital media players, set top boxes, video game players, and personal digital assistants. Further examples of the disconnectedelectronic device 104 may include, but are not limited to, CD and DVD players, digital audio players (e.g., MP3 players), digital video players, and the like. The disconnected devices may further include thelicense enforcement component 114, adevice clock 120, and adevice ID 122. - The
device clock 120 is a time keeping device that is internal to thedisconnected device 104. In certain embodiments, thedevice clock 120 may be different than a clock displayed to a user of theelectronic device 104 and further may be substantially inaccessible to a user of thedisconnected device 104. A drift rate of thedevice clock 120 may also be known and stored by thedisconnected device 104. - In further embodiments, the
device clock 120 may generate an index, referred to herein as a clock index. In one embodiment, the clock index is a number that changes whenever thedevice clock 120 is reset, such as when thedisconnected device 104 experiences a power interruption or reboot. In one embodiment, the clock index is an integer representing the number of times that thedevice clock 120 has been reset. In other embodiments, the clock index may be the output of a function that changes upon reset of thedevice clock 120. - The
device ID 122 may include a static identifier that uniquely identifies adisconnected device 104. Thedevice ID 122 may also be queryable, allowing adisconnected device 104 to share thedevice ID 122 to provide an identification of itself. - The
license enforcement component 114 may be stored in the memory of, and executed by a processing unit of, the disconnectedelectronic device 104. In one embodiment, thelicense enforcement component 114 is configured to respond to requests for information from thedigital content service 102 regarding the disconnectedelectronic device 104 in which it is executed. Thelicense enforcement component 114 is further configured to receive time based access restrictions and time calibration information, such as time calibration values and clock index values, from thedigital content service 102. In one embodiment, the time calibration information may be tailored to a specificdisconnected device 104. In alternative embodiments, the time calibration information may be specific to a group of commondisconnected devices 104, for example, a specific model ofdisconnected device 104. As discussed below, thelicense enforcement component 114 employs the time access restrictions and the time calibration information specific to the disconnectedelectronic device 104 in which it is executed to permit or deny access to digital content received by that disconnectedelectronic device 104. - In one embodiment, the
license enforcement component 114 communicates with thedigital content service 102 via a portabledata transfer device 106 in order to generate the time calibration information specific to its disconnectedelectronic device 104, as well as to provide digital content. The portabledata transfer device 106 may include portable data storage media capable of being written to and read. In the discussion below, the portabledata transfer device 106 may be referred to in the context of universal serial bus (USB) memory devices. It may be understood, however, that USB devices represent one illustration of the portabledata transfer device 106. Other examples of the portabledata transfer device 106 may include, but are not limited to, flash memory cards, magnetic media, and optical media, such as rewriteable CDs and DVDs. - The portable
data transfer device 106 may be directly connected to the disconnectedelectronic device 104 or connected to another device that is in communication with the disconnectedelectronic device 104 in order to transfer information betweendisconnected device 104 and the portabledata transfer device 106. Upon receipt of information from the disconnectedelectronic device 104, the portabledata transfer device 106 may communicate the information to thedigital content service 102 via one or morenetwork access points 118 and anetwork 112. In one embodiment, thenetwork access point 118 may include a computing device in communication with thenetwork 112 and capable of receiving data from the portabledata transfer device 106. In further embodiments, one or more of the operations described herein as being performed by thedigital content service 102 may be performed by a combination of the digital content service and thenetwork access point 118 or, alternatively, by thenetwork access point 118 alone. Examples of thenetwork access point 118 may include, but are not limited to, personal computers, mobile phones, terminals, electronic book readers, laptop computers, digital media players, set top boxes, video game players, or personal digital assistants. - In one embodiment, the
network 112 is the Internet. It may be understood, however, that thenetwork 112 may be a local area network (LAN), wide area networks (WAN), a personal area network (PAN), landline telephone network, cellular telephone network, cable network, and/or any combination thereof. Embodiments of thenetwork 112 may be further implemented through wired or wireless transmission mechanisms. Because protocols for network communications, such as TCP/IP are well known to those skilled in the art of computer networks, further description of these protocols and other methods used to implement the network are not provided herein. - The operating
environment 100 depicted inFIG. 1 is illustrated as a distributed computing environment including several computer systems that are interconnected using one or more computer networks. However, it will be appreciated by those skilled in the art that the operatingenvironment 100 could have fewer or greater components than are illustrated inFIG. 1 . For example, the operatingenvironment 100 could include various web services components and/or peer-to-peer network configurations. Thus, the depiction of the operating environment inFIG. 1 should be taken as illustrative and not limiting to the present disclosure. - Now that the
license enforcement component 114 has been described, thedigital content service 102 will now be described in more detail. Thedigital content service 102 may be implemented by a single computing device, such as a server. However, those skilled in the art will appreciate that thedigital content service 102 may be embodied in a plurality of servers, each executing an instance of thedigital content service 102. The server may include a network interface, memory, processing unit, and computer readable medium drive, all of which may communicate with one another by way of a communication bus. The network interface may provide connectivity to thenetwork 112 and/or other networks or computing systems. The processing unit may communicate to and from memory, which contains computer program instructions that the processing unit executes in order to operate thedigital content service 102. The memory generally includes RAM or ROM and/or other persistent and auxiliary memory. For example, in one embodiment, the memory may include auser interface component 128 that generates user interfaces and/or instructions therefore, such as those illustrated inFIGS. 3A-3C , for display. In one embodiment, theuser interface component 128 may be displayed upon thenetwork access point 118. - In one embodiment, the
digital content service 102 may include atime calibration component 124 and theuser interface component 128. Thedigital content service 102 may further be in communication with one ormore data stores 126 that contain digital content. Thetime calibration component 124 is configured to generate time calibration values for the disconnectedelectronic devices 104. In one example, thetime calibration component 124 may communicate with a reference time keeping device, such asnetwork time resource 110 maintained within thenetwork 112, or alternatively by thedigital content service 102 itself, to obtain a reference time. The time keeping device may be implemented in hardware, software, firmware, or a combination thereof. In another example, thetime calibration component 124 may further issue requests to the disconnectedelectronic devices 104 during the time calibration process to provide device information, including, but not limited to, the device time measured according to thedevice clock 120, thedevice ID 122, and the clock index. This device information allows thetime calibration component 124 to determine correction factors that, when summed, provide the time calibration value. These correction factors may include a device time correction, a synchronization time correction, and a drift correction. - In one embodiment, for example, the device time correction represents an adjustment that facilitates an approximate synchronization of the time measured by the disconnected
electronic device 104 with thenetwork time resource 110. The device time correction is specific to a particular disconnectedelectronic device 104 because, after distribution from the manufacturer, each disconnectedelectronic device 104 is likely to experience different events (e.g., power interruptions, reboot) at different times that change the time measurements provided by thedevice clock 120 with respect to time measurements provided by thenetwork time resource 110. The device time correction may be calculated by taking the difference between the reference time and the device time (Equation 1): -
Device Time Correction=Reference Time−Device Time (1) - In another embodiment, the correction factors include the synchronization time correction, a correction that accounts for the fact that the device time and the reference time are not measured at about the same moment in time, with respect to the reference time keeping device. Rather, the reference time is measured, then the device time is measured at a later time, and then the device time is reported to the
digital content service 102 at an even later time, referred to herein as the reconnection time. The synchronization time correction may be given by the difference between the reference time and the reconnection time (Equation 2): -
Synchronization Time Correction=Reference Time−Reconnection Time (2) - The synchronization time correction is specific to a particular disconnected
electronic device 104, and even specific to a particular calibration process, as it depends upon how long the user takes to record the reference time, obtain the device time, and return the device time to thedigital content service 102. - It may be noted that the synchronization time correction represents an overestimation of the time taken to obtain the device time, as the synchronization time correction is calculated using the reconnection time, which occurs later than the time at which the device time is measured, with respect to the reference time keeping device. By including the synchronization time correction in the time calibration value, the time calibration value overestimates the time difference between the reference time keeping device and the disconnected electronic device, resulting in a modified device time that is ahead of the time measured according to the reference timekeeping device. Thus, in one embodiment, when the time based access restrictions are enforced using the modified device time as a substitute for the reference time keeping device, access to digital content expires in advance of the actual reference time specified by the access restrictions, substantially ensuring that the restrictions are not violated by the disconnected
electronic device 104. - In a further embodiment, the correction factors include the clock drift correction. The clock drift correction accounts for the fact that the error in measurement of the device time varies with time. In certain embodiments, the drift rate may be mathematically approximated from empirical data. In further embodiments, the drift rate may be taken to be approximately constant. In other embodiments, the drift rate may be selected or measured by a manufacturer of the disconnected
electronic devices 104. The clock drift correction may be calculated by multiplying the drift rate by the time elapsed from the last calibration of the disconnected electronic device 104 (Equation 3): -
Clock Drift Correction=Drift Rate*Time Since Last Calibration (3) - The clock drift correction is specific to a particular instance of the calibration process as it depends on the time since last calibration.
- The calculated device time correction and synchronization time correction, along with the
device ID 122, the clock index, the time/date of the calibration (referred to herein as a synchronization time), and a synchronization ID that identifies the specific calibration performed, may be stored for later use by thetime calibration component 124. In one embodiment, thedigital content service 102 may store these data in an electronicdevice data store 130A in communication with thedigital content service 102. - In an alternative embodiment, the
time calibration component 124 may obtain one or more correction factors from the manufacturer of the disconnectedelectronic device 104. For example, the manufacturer may measure a manufacturer time correction during manufacture of the disconnected electronic device. Notably, as the manufacturer may have direct access to thedevice clock 120 of the disconnectedelectronic device 104, the device time correction may be measured directly, without the need for the synchronized time correction. Thus, the time calibration value may be determined from the manufacturer time correction measurement and the drift correction. The manufacturer may further assign a manufacturer clock index that corresponds to the manufacturer time correction. - In further embodiments, the manufacturer may store the manufacturer time correction, manufacturer clock index, and/or the drift corrections associated with one or more disconnected
electronic device 104 in a location that may be accessed by thedigital content service 102. For example, the manufacturer may operate amanufacturer service 132 in communication with thenetwork 112 that provides access to amanufacturer data store 130B containing the manufacturer time correction. - The
digital content service 102 may be further configured to respond to requests for digital content from a user. The digital content may include, but is not limited to text, audio, video, and software applications, such as video games. In certain embodiments, the digital content may be distributed for rental. The digital content may further include one or more time based access restrictions. In one embodiment, the access restrictions may include permission to use the digital content only within a selected window of time from when the digital content is provided by the digital content service 102 (e.g., 30 days). In another embodiment, the access restrictions may include permission to use the digital content only within a selected window of time from first use, for example, 24 hours from when the digital content is first played. In a further embodiment, the access restrictions may include permission to use the digital content only before a selected date. Those skilled in the art will appreciate that other access restrictions may be provided without departing from the scope of the present disclosure. Thus, the foregoing examples should not be construed as limiting. - In the illustrated embodiment of
FIG. 1 , the digital content is stored within adata store 126 in communication with thedigital content service 102. For example, this data store may be in direct communication with thedigital content service 102. Alternatively, this data store may be accessed by the digital content service through thenetwork 112. The digital content may be communicated to thedigital content service 102 and subsequently transmitted to thenetwork access point 118 for conveyance to the disconnectedelectronic device 104 via the portabledata transfer device 106. - In one aspect, users may interact with the
digital content service 102 via user interfaces generated by theuser interface component 128. For example, thedigital content service 102 may enable a user to create a user account that distinguishes the user during access of thedigital content service 102. Such a distinguishable, or registered, user may further designate one or more disconnectedelectronic devices 104 that they wish to be associated with a user account. For example, thedevice ID 122 of a disconnectedelectronic device 104 may be provided when the user, employing their user account, performs a time calibration for that disconnectedelectronic device 104. Thus, by identifying a user account and adevice ID 122, the user's disconnectedelectronic devices 104 may be identified. - Once the
time calibration component 124 has identified the user and theirelectronic devices 104, the user may also employ thedigital content service 102 to browse and request digital content accessible by thedigital content service 102. Upon receiving a registered user's request for digital content, thedigital content service 102 may transfer digital content information to thenetwork access point 118. The digital content information may include, inter alia, the requested digital content itself, time based access restrictions associated with the requested digital content, and the time calibration information for the specific disconnectedelectronic devices 104 associated with the user making the request. Subsequently, the portabledata transfer device 106 may be employed to transfer the digital content information to the disconnectedelectronic device 104 for playback. -
FIGS. 2A through 2E are block diagrams of embodiments of the operation of thedigital content service 102 and thelicense enforcement component 114 within the operatingenvironment 100 shown inFIG. 1 .FIGS. 2A through 2E will be further described in conjunction withFIGS. 3A and 3C , which illustrates embodiments of user interfaces generated by theuser interface component 128 for display to the user during the time calibration process. - As shown in
FIG. 3A , the user is welcomed to thedigital content service 102 and prompted to login or create an account inuser interface 300. By using a personalized account, thedigital content service 102 may identify the disconnecteddevices 104 calibrated by the user, allowing the user to recall any previously generated time calibration values and avoid the need to repeat the calibration process, unless adisconnected device 104 has not yet been calibrated or the calibration is found to be invalid. - In
user interface 302, the user is prompted to connect his or her portabledata transfer device 106 to thenetwork access point 118 to begin the calibration process. Upon connection of the portabledata transfer device 106 to thenetwork access point 118, a user request (FIG. 2A ) to initiate the time calibration process is sent to thedigital content service 102 from thenetwork access point 118. In response to receipt of the user request, thetime calibration component 124 of thedigital content service 102 acquires the reference time from thenetwork time resource 110 and generates the synchronization ID and date for the ongoing time calibration process. Thetime calibration component 124 further generates a registration request that instructs the disconnectedelectronic device 104 to provide information for thedigital content service 102. - This information is then transferred for storage and communication with the
disconnected device 104. In one embodiment, the reference time and synchronization ID and date are transferred to thedata store 130A for storage. In another embodiment, the synchronization ID and registration request are transferred to the portabledata transfer device 106 via thenetwork access point 118. - As the
digital content service 102 acquires the reference time, generates the synchronization ID, etc., auser interface 304 may be displayed that informs the user to wait while the reference time, synchronization ID and registration request are copied to their portabledata transfer device 106. When these actions are complete, the user is prompted inuser interface 306 to remove the portabledata transfer device 106 from thenetwork access point 118 and connect the portabledata transfer device 104 to the disconnectedelectronic device 104 inuser interface 310. - As shown in
FIG. 2B , upon connection of the portabledata transfer device 106 to the disconnectedelectronic device 104, thelicense enforcement component 114 of the disconnected electronic device obtains the registration request, and transmits the requested information about thedisconnected device 104 to the portabledata transfer device 106. In one embodiment, the information requested of the disconnectedelectronic device 104, referred to herein as disconnected device information, may include, but is not limited to, thedevice ID 122, the current time measured by thedevice clock 120, also referred to as the device time, the clock index, and the drift rate of the disconnectedelectronic device 104. - It will also be appreciated that following disconnection of the portable
data transfer device 106 from thenetwork access point 118, the user may be prompted inuser interface 312 to re-insert the portabledata transfer device 106 in thenetwork access point 118 so that the requested information about thedisconnected device 104 may be retrieved from the portabledata transfer device 106 and transferred to thetime calibration component 124 of thedigital content service 102 via thenetwork access point 118 as shown inFIG. 2C . Accordingly, upon detection by thedigital content service 102 that the portabledata transfer device 106 has been returned to thenetwork access point 118, the disconnected device information (e.g., device ID, clock index, device time, and drift rate) is transferred to thedigital content service 102, which in turn, stores the information in the electronicdevice data store 130A. In one embodiment, the user may also be prompted to input information to thenetwork access point 118 to assist thedigital content service 102 in detecting that the portabledata transfer device 106 has been returned. In addition, acorresponding user interface 314 may be displayed to confirm that the information stored on the portabledata transfer device 106 is being transferred. - At about the same time that the disconnected device information is being transferred to and stored by the
digital content service 102, thetime calibration component 124 of thedigital content service 102 may also acquire and record the time of receipt of the registration data (i.e., the reconnection time) from thenetwork time resource 110. With the reference time, device time, and reconnection time, the device time correction and synchronization time correction may be calculated by thetime calibration component 124 of thedigital content service 102 in accordance withEquations electronic data store 130A and correlated with thedevice ID 122 and synchronization ID of the disconnectedelectronic device 104 for future use. - The user may then be informed, in an
illustrative user interface 316, that the calibration process is complete. Theuser interface 128 may further indicate that the user may now proceed to transfer digital content to their portabledata transfer device 106 for use with their disconnectedelectronic device 104. - In an alternative embodiment,
FIG. 2D , thedigital content service 102 may obtain the device time correction from a network resource, instead of through the calibration process discussed above. This process is referred to herein as the manufacturer calibration process. In one embodiment, the network resource may includedata store 130B. In further embodiments, the network resource may be maintained by a manufacturer of the disconnected electronic device, such as amanufacturer service 132. The device time correction so obtained is referred to herein as a manufacturer time correction. - As illustrated in
FIGS. 2D and 3B , the user may identify themselves to thedigital content service 102 inuser interface 320. In response to a request to register a disconnected electronic device, thedigital content service 102 may prompt the user, viauser interface 322, to provide thedevice ID 122 for thedisconnected device 104 to thetime calibration component 124. - In one embodiment, the user may enter the device ID manually. For example, the
device ID 122 may be obtained from a record provided with a purchased disconnectedelectronic device 104, such as a piece of paper packaged with the disconnectedelectronic device 104. In another example, thedevice ID 122 may be displayed for recordation by the user in response to commands input by the user through a user interface of the disconnectedelectronic device 104. - In another embodiment, the user may employ the portable
data transfer device 106 to transfer thedevice ID 122 from the disconnecteddevice 104. For example, the user may connect the portabledata transfer device 106 to thedisconnected device 104 and instruct thedisconnected device 104 to transfer the device ID to the portabledata transfer device 106, such as through the user interface of thedisconnected device 104. Subsequently, the portabledata storage device 106 may be connected to thenetwork access point 118 for transfer of thedevice ID 122 to thetime calibration component 124. - Upon receipt of the
device ID 122 by thetime calibration component 124,user interface 324 may instruct the user to wait for thedigital content service 102 to register the disconnectedelectronic device 104. In one embodiment, thetime calibration component 124 may send a request for the manufacturer time correction todata store 130B, either directly or via themanufacturer service 132. This manufacturer time correction request may include transmission of thedevice ID 122 so as to identify the disconnectedelectronic device 104. - In response to the manufacturer time correction request, the
data store 130B may return the manufacturer time correction, and an associated manufacturer clock index, to thetime calibration component 124 of thedigital content service 102. The manufacturer clock index represents a clock index for the disconnectedelectronic device 104 that is set by the manufacturer upon fabrication and may be employed in the same manner as the clock index obtained from the disconnectedelectronic device 104. In further embodiments, thedata store 130B may return the drift time of the disconnectedelectronic device 104. Upon successful return of the manufacturer time correction to thetime calibration component 124, the manufacturer time correction, manufacturer clock index, and drift rate may be transferred to thedata store 130A. Theillustrative user interface 330 may further inform the user that the disconnectedelectronic device 104 is now registered for use. - As shown in
FIG. 2E , once the calibration process is performed, the user may proceed to obtain digital content from thedigital content service 102 for use on one or more disconnectedelectronic device 104. The user may employ auser interface 330 to identify his or herself to thetime calibration component 102. Once identified, the user may further employ auser interface 332 that allows the user to browse and select from the digital content maintained by thedigital content service 102. For example, a list of digital content purchased by the user may be displayed to the user for retrieval. - Once a digital content selection has been made, the user identification and the request for digital content are transmitted to the
time calibration component 124, which gathers the digital content and calibration information (e.g. time calibration value, clock index, synchronization date) specific to the disconnected devices associated with the user fromdata stores user interfaces data transfer device 106 to thenetwork access point 118 and wait in order to transfer the digital content and calibration information to the portabledata transfer device 106. Once the transfer is complete,user interface 340 may instruct the user to remove their portable data transfer device from thenetwork access point 118 and connect it to their disconnectedelectronic device 104 for playback. -
FIG. 4 is a flow diagram 400 depicting an illustrative process implemented by thedigital content service 102 to provide digital content to calibrated, disconnectedelectronic devices 104. In block 402, thedigital content service 102 identifies the user, such as through validation of a username and password provided by the user, via a user interface, as discussed above. Indecision block 404, upon identifying the user, thedigital content service 102 determines whether the user has registered, and thus calibrated, any disconnectedelectronic devices 104 for use with thedigital content service 102. If not, thedigital content service 102 prompts the user, via the user interface, to perform the calibration process. Once calibration and registration are complete, thedigital content service 102 provides the digital content that has been selected by the user and its associated time based restrictions inblock 406. In one embodiment, thedigital content service 102 retrieves the digital content selected by the user, and its associated time based restrictions from the digitalcontent data store 126, and transfers it to the portabledata transfer device 106 via thenetwork access point 118. In another embodiment, the digital content and associated time based restrictions are already stored on the disconnectedelectronic device 104, and thus, need not be provided by thedigital content service 102. - Next, in
block 410, thedigital content service 102 also provides the portabledata transfer device 106 with the time calibration information for the disconnectedelectronic devices 104 via thenetwork 112. Accordingly, the user may be prompted to remove the portabledata transfer device 106 from thenetwork access point 118 and connect the portabledata transfer device 106 to the disconnectedelectronic device 104 for purposes of calibrating the disconnectedelectronic device 104. -
FIG. 5 is a flow diagram 500 depicting an illustrative disconnectedelectronic device 104 during playback of digital content. Inblock 502, thelicense enforcement component 114 accesses the time calibration information from the reconnected portabledata transfer device 106 in communication with the disconnectedelectronic device 104. In one embodiment, the clock index provided with the time calibration information may be compared with the clock index of the disconnectedelectronic device 104 for verification in adecision block 504. In the event that the two indices do not match, thelicense enforcement component 114, prompts the user to perform the device calibration process in block 506, such as via the user interface of the disconnectedelectronic device 104,. - If the clock index is verified in
decision block 504, the process proceeds to blocks 510-520, where thelicense enforcement component 114 examines the time based access restrictions associated with the digital content to determine whether the disconnectedelectronic device 104 is permitted to use the digital content. In one embodiment, thelicense enforcement component 114 obtains a time period during which access to the digital content is permitted, T, with respect to thenetwork time resource 110, inblock 510. In block 512, thelicense enforcement component 114 further obtains the current device time from thedevice clock 120 and the time calibration information and converts the current device time into an approximate current time, t, as measured with respect to thenetwork time resource 110. If t is determined to be outside the time period T indecision block 514, then thelicense enforcement component 114 denies the disconnectedelectronic device 104 permission to use the received digital content in Block 516. Alternatively, if t is determined to be within the time period T indecision block 514, then thelicense enforcement component 114 permits the disconnectedelectronic device 104 to use the received digital content in block 520. - Provided that t is within T, the process repeats the blocks 512-516, as discussed above, and allows playback the digital content. As time continues to advance during this process, there will eventually come a time at which t is not within T, and the process moves to block 516 denying playback of the digital content.
- It may be understood that, in alternative embodiments, the time calibration information may also be used to convert times measured with respect to the reference time keeping device into times measured with respect to the
device clock 120. For example, the time period T may be converted into a time period T′ with respect to thedevice clock 120 and the time t may remain unchanged for purposes of making a comparison as to whether t is within T′ indecision block 514. - In further embodiments, the access restrictions may be updated, as necessary. For example, assume that the access restrictions include a selected time period that begins upon first use of the digital content and a user wishes to employ the digital content on more than one disconnected
electronic device 104. If first use occurs in block 520, the process may move to decision block 522 to determine whether use of the digital content is stopped after first playback is initiated. If no stop in the use of the digital content is detected, the process moves to block 512 and continues as discussed above. If a stop in use of the digital content is detected, the process moves to block 524, where an updated time T′ for license expiration, with respect to the reference time keeping device is calculated and provided to the portabledata storage device 106. The user may then transfer the portabledata storage device 106 to another disconnectedelectronic device 106 to continue playback and the process resumes atblock 502, where the process now employs time T′ inblock 510. - In one embodiment, public key encryption methods may also be used to preserve the privacy of communications between the disconnected
electronic devices 104 and thedigital content service 102. Beneficially, such encryption decreases the likelihood that third parties may intercept and modify the information exchanged between the disconnectedelectronic devices 104 and thedigital content service 102 and circumvent the time based access restrictions intended to be in force when using of the digital content. - Public key (PK) methods require that the two parties, such as the disconnected
electronic devices 104 and thedigital content service 102, each have a key pair, where one of the keys is designated public and the other private. Messages encrypted with the public key of a key pair are decrypted using the corresponding private key, and vice versa. The private key cannot be determined from its corresponding public key, so the public key may be freely distributed in the clear to any party who wishes to send an encrypted message to its owner. - Once public keys have been exchanged between the two parties, each can pass messages securely to the other by first encrypting the message with the recipient's public key. The message's encrypted bits may be accessible to any reader, while in transit but it is rendered unintelligible by the encryption scheme. PK methods also reveal whether or not the content has been changed in any way during transit.
- In the systems and methods described here, however, communication are established before a key exchange can take place, thus such handshake messages are initially sent in the clear or unencrypted. Unencrypted messages may altered, particularly if sent in human readable form as files on the portable
data transfer device 106, such as XML files. Furthermore, of the two parties, thedigital content service 102 has access to third party resources that might be used to independently verify the identity of the disconnectedelectronic device 104. The disconnectedelectronic device 104 itself has no immediate mechanism to confirm that message purporting to be from thedigital content service 102 was in fact authored and sent by thedigital content service 102. - To address this issue, a first authentication message may be sent from the
digital content service 102 to the disconnectedelectronic device 104 via the portabledata transfer device 106. Upon receipt of this first message by disconnectedelectronic device 104, thelicense enforcement component 114 detects and replies to the first authentication message. In one embodiment, the disconnectedelectronic device 104 authors a reply including a second authentication message, which is also written to the portabledata transfer device 106. When the portabledata transfer device 106 is subsequently reconnected to thedigital content service 102, thetime calibration component 124,user interface component 128, or another component of thedigital content service 102 reads the second authentication message from the disconnectedelectronic device 104. - Because the
digital content service 102 does not know the public key of the disconnectedelectronic device 104 device at the start of the authentication session, the first authentication is written in the clear. In order to maintain the integrity of the exchange, several risks are of concern: -
- Man-in-the-Middle attacks, where the authentication messages are altered in transit in either direction, and then passed on.
- Device spoofing, in which a message purporting to be from either the disconnected
electronic device 104 or thedigital content service 102 is actually authored by a malicious user for the purpose of misleading the recipient into either revealing a secret, or gaining unauthorized access to protected assets. - Replay attacks, in which a legitimate message is recorded and replayed at either a later date, or sent to a different recipient than the one for which it was intended.
- In one embodiment, two cryptographic methods can be used in tandem to address the first two risks. The first, applying a digital signature to the authentication messages, enables the recipient to confirm, using the sender's public key, that the message has not been changed after having been signed using the sender's private key. The challenge response technique can be used to verify the identity of an authentication message sender, when the recipient has access to an independent source of the correct response to the challenge. A challenge including a random sequence of characters, used only once, can be sent to the disconnected
electronic device 104, that should respond with a message that proves it is in possession of the appropriate private key. Using the two techniques together, the recipient of an authentication message could confirm the message sender is legitimate by having provided the correct response to the challenge, and the rest of message has not been altered in any way in transit. - These authentication messages enable the disconnected
electronic device 104 to convey to thedigital content service 102 its own public key for future messaging sessions. The response from the disconnectedelectronic device 104 could also include a challenge from the disconnectedelectronic device 104 to thedigital content service 102. The correct response to disconnectedelectronic device 104 challenge could be based on the disconnected electronic device's 104 private key, which the disconnectedelectronic device 104 may reliably presume could only have been written by a legitimate service to have access to the private keys of its disconnectedelectronic devices 104. - The next message of the
digital content service 102 to the disconnectedelectronic device 104 could include a reply, encrypted using the disconnected electronic device's 104 public key that includes the correct response to the disconnected electronic device's 104 challenge. At that point, both thedigital content service 102 and the disconnectedelectronic device 104 can be assured that they have authenticated each other's identity, and can communicate using standard PK methods. - The third risk, that of replay attacks, can be addressed by establishing a communication protocol that requires responses to include a Request ID which uniquely identifies each request issued by the Request's sender. For example, if the
digital content service 102 issues a request to reply with the current time on the disconnected electronic device's 104device clock 120, a user could attempt to reply to the request by replacing the supplied response file with one containing the response from the previous day. If, however, the message contains both the response from the disconnected electronic device's 104, along with corresponding Request ID supplied by thedigital content service 102, thedigital content service 102 could determine that the supplied response is actually a replay rather than a response to the request it just issued. - The following non-limiting example presents an illustration of how embodiments of the time based content management system of the present disclosure may be employed to determine whether digital content is permitted to be used by
disconnected devices 104. The example illustrates how the time based content management system can accommodate the use of digital content with one or more disconnectedelectronic devices 104, as well as the seamless manner in which an expiration date may be determined when the disconnectedelectronic devices 104 do not measure time with respect to a common reference time keeping device are employed. It may be understood that this example is provided for illustrative purposes and should not be construed to limit the scope of the disclosed embodiments. - Assume that it is about 12:00:00 PM, on Jun. 30, 2008 and the user had begun playback of a movie at about 11:40 AM that same day on an electronic device with a connection to the
network time resource 110, such as a personal computer. Assuming a 24 hour period is permitted by the time based access restrictions, the time of expiration of the digital content is about 11:40 AM on Jul. 1, 2008, with respect to time measured according to thenetwork time resource 110. If the user transfers the movie to their portabledata transfer device 106 for playback on a disconnectedelectronic device 104, such as a stand-alone DVD player, at what time, according to the internal clock of the DVD player, should playback be disabled? - The
license enforcement component 114 of the disconnectedelectronic device 104 may determine the answer to this question by employing the time calibration information stored by the portabledata transfer device 106. An example of such time calibration information is illustrated in Table I. -
TABLE I Sample data for expiration date calculation Device Time Synchronization Clock Correction Time Correction Synchronization Synchronization Device ID Index (dd:hh:mm:ss) (dd:hh:mm:ss ID Date Xbrand123 10242 −00:03:10:10 00:00:7:05 AQ3J15ZX22A1 Mar. 1, 2008 18:00
Assuming that the data in Table I for the disconnectedelectronic device 104 is valid, the expiration date calculation may be performed as follows, in any order. - In one embodiment, the device time correction may be applied to a known expiration date in the frame of reference of the
network time resource 110 to obtain a first expiration date (Expiration date 1) for the digital content.Expiration date 1 represents the expiration date after the device time correction has been applied. The calibration information of Table I indicates that the device time correction is −00:03:10:10 with respect to the network resource time, the expiration date is modified with respect to the device time by subtracting this amount of time to the expiration date in the frame of reference of thenetwork time resource 110. -
Expiration date 1=11:40:00 Jul. 1, 2008−(−00:03:10:10)=14:50:10 Jul. 1, 2008 - In another embodiment, the synchronization time correction may be applied to
Expiration date 1, asExpiration date 1 is accurate to within the about the Synch Time Correction, 00:00:07:05. Thus, the synch time correction is subtracted fromExpiration date 1 to yield Expiration date 2: -
Expiration date 2=14:50:10 Jul. 1, 2008−(00:00:07:05)=14:43:05 Jul. 1, 2008 - In a further embodiment, assuming that the drift rate of the disconnected
electronic device 104 is known, the drift correction may be calculated from the date of last calibration (synchronization date). In one aspect, the drift rate may be obtained from the disconnecteddevice 104. In another aspect, the drift rate may be included in the time calibration information of Table I. Assuming, for example, that the drift rate is 2 seconds per day and the last calibration, as shown in Table I, was performed on Mar. 1, 2008 at 18:00:00, as measured with respect to the reference time keeping device. As shown in Table I, 123 days will have passed from the date of calibration to the present date, Jul. 1, 2008. The drift correction at worst, is equal in magnitude to the drift rate multiplied by the number of days which have passed from the date of calibration, i.e., 2 seconds/day×123 days=00:00:04:06. Subtracting the drift correction from theExpiration date 2 yields Expiration date 3: -
Expiration date 3=14:43:05 Jul. 1, 2008−(00:00:04:06)=14:38:59 Jul. 1, 2008 - Using all three of the correction factors in the calculation of
Expiration date 3 provides a conservative estimate of the expiration date that substantially ensures that the conditions of the rental license of the digital content are not violated. - In summary, systems and methods for rights management of digital content used with
electronic devices 104 lacking a connection to a common reference time keeping device are provided. A time calibration process is developed for disconnectedelectronic devices 104 that employs adigital content service 102 in communication with a reference time keeping device, such asnetwork time resource 110. The calibration process allows the calculation of time calibration values that, when applied to a device time measured by disconnectedelectronic devices 104, provides thedevices 104 with modified device times that are approximately equal to that of a reference time keeping device. The time calibration value and other time calibration information for the plurality of disconnectedelectronic devices 104 may be stored by thedigital content service 102 and written to portabledata transfer device 106 for use by the disconnectedelectronic devices 104. The calibration process may further employ verification protocols to inhibit invalid time calibration values from being used to circumvent the time based access restrictions placed upon the digital content. In this manner, digital content may be consumed by a user on a plurality of disconnectedelectronic devices 104 without violating license agreements associated with the digital content. - Embodiments of the present disclosure have been described with reference to the drawings. As will be recognized, many of the features embodied within the disclosed systems and methods may be implemented or used without others. Numerous implementation details have been set forth in the description in order to illustrate, but not limit, the disclosure.
- All of the processes described herein may be embodied in, and fully automated via, software code modules executed by one or more general purpose computers or processors. The code modules may be stored in any type of computer-readable medium or other computer storage device. Some or all the methods may alternatively be embodied in specialized computer hardware. In addition, the components referred to herein may be implemented in hardware, software, firmware or a combination thereof.
- Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood with the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements, and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features elements, and/or steps are included or are performed in any particular embodiment.
- Any process descriptions, elements, or blocks in the flow diagrams described herein, and/or depicted in the attached figures, should be understood as potentially representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternative implementations are included within the scope of the embodiments described herein which elements or functions which may be deleted, executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those skilled in the art.
- It should be emphasized that many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
Claims (30)
1. A computer-readable medium having a computer-executable component for synchronizing time keeping, the computer-executable component comprising:
a time calibration component operative to:
retrieve a first reference time according to a reference time keeping device in response to a time calibration request for a disconnected electronic device;
request a device time maintained by the disconnected electronic device, wherein the request is delivered by a portable data transfer device;
retrieve a second reference time according to the reference time keeping device; and
determine a time calibration value for the disconnected electronic device comprising a function of the first reference time, the second reference time, and the device time.
2. The computer-readable medium of claim 1 , wherein the time calibration component is further operative to provide the time calibration value to the disconnected electronic device via the portable data transfer device.
3. The computer-readable medium of claim 1 , wherein the time calibration request comprises a request from a user.
4. The computer-readable medium of claim 1 , wherein the disconnected electronic device enables a user of the disconnected electronic device to consume digital content.
5. The computer-readable medium of claim 4 , wherein the digital content comprises at least one of text, audio, video, and software applications.
6. The computer-readable medium of claim 1 , wherein the reference time keeping device comprises a network resource.
7. The computer-readable medium of claim 1 , wherein the reference time keeping device comprises a network accessible server that executes the time calibration component.
8. The computer-readable medium of claim 1 , wherein the portable data transfer device comprises at least one of universal serial bus (USB) memory devices, flash memory devices, magnetic media, and optical discs.
9. The computer-readable medium of claim 2 , wherein the disconnected electronic device is capable of using the time calibration value for synchronization with the reference time keeping device.
10. The computer-readable medium of claim 1 , wherein the time calibration value comprises the sum of a device time correction and a synchronization time correction calculated according to:
device time correction=first reference time−device time
synchronization time correction=first reference time−second reference time
device time correction=first reference time−device time
synchronization time correction=first reference time−second reference time
11. A computer-readable medium having a computer-executable component for restricting access to digital content, the computer-executable component comprising:
a license enforcement component configured for integration with an electronic device that enables access to digital content and is not in communication with a reference time keeping device, wherein the license enforcement component is operative to:
identify a first time at which a request for access to a digital content is made, the first time measured according to a time keeping device maintained by the electronic device;
identify a time period during which the electronic device is permitted to access the digital content, the time period measured with respect to the reference time keeping device;
obtain a time calibration value for the electronic device from a portable data transfer device that is capable of transferring information from the reference time keeping device and the electronic device;
determine a second time representing the time at which the request was made with respect to the reference time keeping device by modifying the first time with the time calibration value; and
permit the electronic device to access the digital content if the second time is within the identified time period.
12. The computer-readable medium of claim 11 , wherein the license enforcement component is further operative to obtain a first authentication number maintained by the electronic device that is changed when the time keeping device maintained by the electronic device is reset.
13. The computer-readable medium of claim 12 , wherein the license enforcement component is further operative to deny access to the digital content if the first authentication number and a second authentication number obtained from the portable data transfer device for the time calibration value are not equal.
14. The computer-readable medium of claim 11 , wherein the digital content comprises at least one of text, audio, video, and software applications.
15. The computer-readable medium of claim 11 , wherein the digital content is transferred to the portable data transfer device for delivery to the electronic device.
16. The computer-readable medium of claim 15 , wherein the time period comprises at least one of:
a time period that begins upon first access permitted to the digital content;
a time period that is specified by fixed dates; and
a time period that begins upon transfer of the digital content to the portable data transfer device.
17. The computer-readable medium of claim 11 , wherein the time calibration value comprises a sum of:
a difference between a first time measurement according to the reference time keeping device and a second time measurement according to the electronic device.
an amount of time required to obtain the second time measurement from the first time measurement, as measured with respect to the reference time keeping device.
18. The computer-readable medium of claim 11 , wherein the time calibration value is generated by a manufacturer of the electronic device.
19. A system for synchronization between electronic devices, comprising:
a data store that stores time data; and
a time calibration component in communication with the data store, the time calibration component operative to:
in response to a time calibration request for a disconnected electronic device, retrieve a first reference time according to a reference time keeping device and store the first reference time in the data store;
request a device time maintained by the disconnected electronic device, wherein the request is delivered by a portable data transfer device and is stored in the data store upon receipt;
retrieve a second reference time according to the reference time keeping device and store the second reference time in the data store; and
determine a time calibration value for the disconnected electronic device comprising a function of the stored first reference time, second reference time, and the device time.
20. The system of claim 19 , wherein the time calibration component is further operative to provide the time calibration value to the disconnected electronic device via the portable data transfer device.
21. The computer-readable medium of claim 19 , wherein the disconnected electronic device enables a user of the disconnected electronic device to consume digital content.
22. The computer-readable medium of claim 19 , wherein the reference time keeping device comprises a network resource.
23. The computer-readable medium of claim 19 , wherein the reference time keeping device comprises a network accessible server that executes the time calibration component.
24. The computer-readable medium of claim 20 , wherein the disconnected electronic device is capable of using the time calibration value for synchronization with the reference time keeping device.
25. A computer-implemented for synchronization, the method comprising:
under control of one or more configured computer systems:
retrieving a first reference time according to a reference time keeping device in response to a time calibration request for a disconnected electronic device;
requesting a device time maintained by the disconnected electronic device, wherein the request is delivered by a portable data transfer device;
retrieving a second reference time according to the reference time keeping device; and
determining a time calibration value for the disconnected electronic device comprising a function of the first reference time, the second reference time, and the device time.
26. The computer-implemented method of claim 25 , wherein the time calibration component is further operative to provide the time calibration value to the disconnected electronic device via the portable data transfer device.
27. The computer-implemented method of claim 25 , wherein the electronic device enables a user of the electronic device to consume digital content.
28. The computer-implemented method of claim 25 , wherein the reference time keeping device comprises a network resource.
29. The computer-implemented method of claim 25 , wherein the reference time keeping device comprises a network accessible server that executes the time calibration component.
30. The computer-implemented method of claim 26 , wherein the disconnected electronic device is capable of using the time calibration value for synchronization with the reference time keeping device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/895,721 US20110035806A1 (en) | 2008-06-30 | 2010-09-30 | Time based content management for disconnected devices |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/165,536 US7822876B1 (en) | 2008-06-30 | 2008-06-30 | Time based content management for disconnected devices |
US12/895,721 US20110035806A1 (en) | 2008-06-30 | 2010-09-30 | Time based content management for disconnected devices |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/165,536 Division US7822876B1 (en) | 2008-06-30 | 2008-06-30 | Time based content management for disconnected devices |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110035806A1 true US20110035806A1 (en) | 2011-02-10 |
Family
ID=42987639
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/165,536 Active 2029-04-02 US7822876B1 (en) | 2008-06-30 | 2008-06-30 | Time based content management for disconnected devices |
US12/895,721 Abandoned US20110035806A1 (en) | 2008-06-30 | 2010-09-30 | Time based content management for disconnected devices |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/165,536 Active 2029-04-02 US7822876B1 (en) | 2008-06-30 | 2008-06-30 | Time based content management for disconnected devices |
Country Status (1)
Country | Link |
---|---|
US (2) | US7822876B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130091588A1 (en) * | 2011-10-06 | 2013-04-11 | Mspot, Inc. | Method and apparatus for improved digital rights management |
US8793793B2 (en) | 2011-10-06 | 2014-07-29 | Samsung Information Systems America, Inc. | Method and apparatus for improved digital rights management |
US20160285778A1 (en) * | 2014-05-23 | 2016-09-29 | Fuji Xerox Co., Ltd. | Document management apparatus, terminal apparatus, document management system, document management method, document browsing and editing method, and non-transitory computer readable medium |
US20170013071A1 (en) * | 2012-09-07 | 2017-01-12 | Comcast Cable Communications, Llc | Data Usage Monitoring |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8571994B2 (en) * | 2009-06-26 | 2013-10-29 | Disney Enterprises, Inc. | Method and system for allocating access to digital media content |
US11917032B2 (en) * | 2019-08-07 | 2024-02-27 | Mo-Dv, Inc. | Content delivery system |
CN114553353B (en) * | 2020-11-25 | 2023-09-19 | 成都鼎桥通信技术有限公司 | Timing method and device and vehicle-mounted wireless communication box |
CN113271171A (en) * | 2021-05-14 | 2021-08-17 | 四川虹美智能科技有限公司 | Time calibration method, device and computer readable medium |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5715403A (en) * | 1994-11-23 | 1998-02-03 | Xerox Corporation | System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar |
US20020056042A1 (en) * | 1999-06-23 | 2002-05-09 | Van Der Kaay Erik H. | System and methods for generating trusted and authenticatable time stamps for electronic documents |
US20020129290A1 (en) * | 2001-03-06 | 2002-09-12 | Bruno Couillard | Method and system for time synchronization |
US6677858B1 (en) * | 1999-02-26 | 2004-01-13 | Reveo, Inc. | Internet-based method of and system for monitoring space-time coordinate information and biophysiological state information collected from an animate object along a course through the space-time continuum |
US20070055743A1 (en) * | 2005-09-02 | 2007-03-08 | Pirtle Ross M | Remote control media player |
US20070198706A1 (en) * | 2006-02-09 | 2007-08-23 | Marco Mechelli | Method, system and computer program for collecting information with improved time-stamp accuracy |
US20080015422A1 (en) * | 2005-12-29 | 2008-01-17 | Guidance Interactive Healthcare, Inc. | Combined peripheral and health monitoring devices |
US20080263196A1 (en) * | 2007-04-18 | 2008-10-23 | Microsoft Corporation | Programming techniques for distributed multi-party networks |
US20090161806A1 (en) * | 2007-12-19 | 2009-06-25 | Apple Inc. | Microcontroller clock calibration using data transmission from an accurate third party |
US7685318B2 (en) * | 2002-12-20 | 2010-03-23 | Canon Kabushiki Kaisha | Electronic device and control method thereof |
-
2008
- 2008-06-30 US US12/165,536 patent/US7822876B1/en active Active
-
2010
- 2010-09-30 US US12/895,721 patent/US20110035806A1/en not_active Abandoned
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5715403A (en) * | 1994-11-23 | 1998-02-03 | Xerox Corporation | System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar |
US6677858B1 (en) * | 1999-02-26 | 2004-01-13 | Reveo, Inc. | Internet-based method of and system for monitoring space-time coordinate information and biophysiological state information collected from an animate object along a course through the space-time continuum |
US20020056042A1 (en) * | 1999-06-23 | 2002-05-09 | Van Der Kaay Erik H. | System and methods for generating trusted and authenticatable time stamps for electronic documents |
US20020129290A1 (en) * | 2001-03-06 | 2002-09-12 | Bruno Couillard | Method and system for time synchronization |
US7685318B2 (en) * | 2002-12-20 | 2010-03-23 | Canon Kabushiki Kaisha | Electronic device and control method thereof |
US20070055743A1 (en) * | 2005-09-02 | 2007-03-08 | Pirtle Ross M | Remote control media player |
US20080015422A1 (en) * | 2005-12-29 | 2008-01-17 | Guidance Interactive Healthcare, Inc. | Combined peripheral and health monitoring devices |
US20070198706A1 (en) * | 2006-02-09 | 2007-08-23 | Marco Mechelli | Method, system and computer program for collecting information with improved time-stamp accuracy |
US20080263196A1 (en) * | 2007-04-18 | 2008-10-23 | Microsoft Corporation | Programming techniques for distributed multi-party networks |
US8185599B2 (en) * | 2007-04-18 | 2012-05-22 | Microsoft Corporation | Programming techniques for distributed multi-party networks |
US20090161806A1 (en) * | 2007-12-19 | 2009-06-25 | Apple Inc. | Microcontroller clock calibration using data transmission from an accurate third party |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130091588A1 (en) * | 2011-10-06 | 2013-04-11 | Mspot, Inc. | Method and apparatus for improved digital rights management |
US8793793B2 (en) | 2011-10-06 | 2014-07-29 | Samsung Information Systems America, Inc. | Method and apparatus for improved digital rights management |
US8863310B2 (en) * | 2011-10-06 | 2014-10-14 | Samsung Information Systems America, Inc. | Method and apparatus for improved digital rights management |
US20170013071A1 (en) * | 2012-09-07 | 2017-01-12 | Comcast Cable Communications, Llc | Data Usage Monitoring |
US10659541B2 (en) * | 2012-09-07 | 2020-05-19 | Comcast Cable Communications, Llc | Data usage monitoring |
US11410772B2 (en) * | 2012-09-07 | 2022-08-09 | Comcast Cable Communications, Llc | Data usage monitoring |
US20220344042A1 (en) * | 2012-09-07 | 2022-10-27 | Comcast Cable Communications, Llc | Data Usage Monitoring |
US11823796B2 (en) * | 2012-09-07 | 2023-11-21 | Comcast Cable Communications, Llc | Data usage alerts |
US20160285778A1 (en) * | 2014-05-23 | 2016-09-29 | Fuji Xerox Co., Ltd. | Document management apparatus, terminal apparatus, document management system, document management method, document browsing and editing method, and non-transitory computer readable medium |
US10616307B2 (en) * | 2014-05-23 | 2020-04-07 | Fuji Xerox Co., Ltd. | Document management apparatus, terminal apparatus, document management system, document management method, document browsing and editing method, and non-transitory computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
US7822876B1 (en) | 2010-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110035806A1 (en) | Time based content management for disconnected devices | |
US8539240B2 (en) | Rights object authentication in anchor point-based digital rights management | |
CA2568088C (en) | Method and apparatus for transmitting rights object information between device and portable storage | |
KR101018368B1 (en) | Digital rights management using trusted processing techniques | |
US8656156B2 (en) | Method and terminal for authenticating between DRM agents for moving RO | |
JP6119741B2 (en) | Information processing device, information storage device, server, information processing system, information processing method, and program | |
TW201112656A (en) | Secure time functionality for a wireless device | |
US20110219236A1 (en) | Method and device for managing digital content | |
KR101452708B1 (en) | CE device management server, method for issuing DRM key using CE device management server, and computer readable medium | |
EP3029879B1 (en) | Information processing device, information processing method, and computer program | |
US8234497B2 (en) | Method and apparatus for providing secure linking to a user identity in a digital rights management system | |
Chang et al. | A practical secure and efficient enterprise digital rights management mechanism suitable for mobile environment | |
EP2517431A1 (en) | Usage control of digital data exchanged between terminals of a telecommunications network | |
JP2005128960A (en) | Apparatus and method for reproducing content | |
TWI417729B (en) | Memory device with circuitry for improving accuracy of a time estimate used to authenticate an entity and method for use therewith | |
KR100706085B1 (en) | Method for applying digital rights management to multi devices | |
US20230308296A1 (en) | Method of managing authentication information of certificate independently of certificate authority | |
CN115967495A (en) | Public service application management method and device based on block chain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AMAZON TECHNOLOGIES, INC., NEVADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KRAMER, JOSHUA N.;PALEJA, AMEESH;SIGNING DATES FROM 20080721 TO 20080807;REEL/FRAME:025442/0882 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |