Electronic distribution of information has gained in importance with the proliferation of personal computers and has undergone a tremendous upsurge in popularity as the Internet has become widely available. With the widespread use of the Internet, it has become possible to distribute large, coherent units of information using electronic technologies.
Electronic technologies, such as computer technologies, relating to reducing the size and increasing the complexity of electronics have permitted computers to be packaged into smaller and more powerful electronic devices. An electronic device may be used to receive and process information. The electronic device may provide compact storage of the information as well as ease of access to the information. For example, a single electronic device may store a large quantity of information that might be downloaded instantaneously at any time via the Internet.
One example of an electronic device is an electronic book (“e-book”) reader. An e-book reader is a device that may be used to read e-books, which are digital media equivalents of conventional printed books. An e-book reader may also be used to read other types of printed materials, such as newspapers and magazines. E-book readers are becoming quite popular with consumers. As such, benefits may be realized from improved systems and methods related to user interactions with e-book readers.
The present disclosure relates generally to e-books. As indicated above, e-books are digital media equivalents of printed books. E-books may be read on dedicated hardware devices known as e-book readers (or e-book devices), or on other types of computing devices, such as personal computers, laptop computers, personal digital assistants (PDAs), etc.
Under some circumstances, a person may want to share an e-book with others. For example, after reading a novel, a person may think of one or more friends who would also like to read the same novel. As another example, a group of professionals may want to share a set of reference works among themselves. As yet another example, a school may want to loan e-books, which may be textbooks, to its students.
The present disclosure relates to techniques for facilitating the sharing of e-books. As used herein, the term “sharing” refers generally to the situation where two or more people are permitted to have access to the same instance of an e-book. Sharing does not necessarily involve any type of payment, although it may. For example, a person may loan an e-book to his/her friend without requiring payment. Conversely, a business may rent e-books to its customers for a fee. Both of these situations are considered to involve e-book “sharing” as that term is used herein.
The techniques disclosed herein permit restrictions to be placed on the ways that e-books may be shared with others. The restrictions for a particular e-book may be required by one or more individuals and/or entities that were involved in the production of the e-book (e.g., the author, publisher, seller, etc.). For example, there may be restrictions on the number of copies of an e-book that may be loaned to other people at any given time, restrictions on how someone may use an e-book that he/she has purchased while the e-book is being loaned to someone else, etc.
Under some circumstances, the sharing of e-books may be accomplished on a peer-to-peer basis, without the involvement of a separate server. For example, an e-book may be transferred directly from one e-book reader to another. Alternatively, one or more centralized controllers may be utilized to facilitate the sharing of e-books.
In the depicted method 100, the borrowing user's e-book reader 102b may send 104 a request to borrow an e-book to the owning user's e-book reader 102a. In response to receiving the request, the owning user's e-book reader 102a may generate 106 a license for the borrowing user. The license may specify the action(s) that are permitted with respect to the e-book that is being borrowed. The license may also specify the condition(s) associated with those action(s).
The owning user's e-book reader 102a may send 108 the license to the borrowing user's e-book reader 102b. The owning user's e-book reader 102a may also send 110 the e-book to the borrowing user's e-book reader 102b. The borrowing user's e-book reader 102b may then enforce 112 the license.
In the method 100 of
Alternatively, one or more centralized e-book sharing servers may be utilized to facilitate the sharing of e-books. For example, an owning user may send a notice to an e-book sharing server indicating that he/she is willing to share a particular e-book. The owning user may even specify a person (or a group of people) with whom the owning user is willing to share the e-book. In response, the borrowing user may send a request to the e-book sharing server to borrow the e-book. The e-book sharing server may generate the borrowing user's license and send the borrowing user's license to the borrowing user's e-book reader 102b. The e-book that is to be shared may also be sent to the borrowing user's e-book reader 102b from the e-book sharing server. (Additional examples involving an e-book sharing server are discussed below in relation to
The method 200 may include receiving 202 user input regarding the actions that the owning user would like to permit the borrowing user to take with respect to the e-book, and also regarding conditions that are associated with those actions. For example, the owning user may want to permit the borrowing user to read the e-book. This is an example of an action. The owning user may want to place a limit on the length of time that the borrowing user can read the e-book. This is an example of a condition that is associated with the action of reading the e-book.
The method 200 may also include determining 204 restrictions that are associated with the e-book that is going to be shared. For example, there may be restrictions on what the borrowing user may do with the e-book. These restrictions may be required by one or more individuals and/or entities that were involved in the production of the e-book (e.g., the author, publisher, seller, etc.).
The method 200 may also include determining 206 the permitted actions for the borrowing user based on the user input that is received, and also based on the restrictions that are associated with the e-book. For example, if the owning user wants to permit the borrowing user to read the e-book, and there are not any restrictions against this, then this may be one of the permitted actions in the borrowing user's license. However, if the owning user wants to permit the borrowing user to share the e-book with others, but this is prohibited by the restrictions, then this may not be one of the permitted actions in the borrowing user's license.
The method 200 may also include determining 208 the conditions that are associated with the permitted actions based on the user input that is received, and also based on the restrictions that are associated with the e-book. For example, the owning user may want to permit the borrowing user to be able to read the e-book for an unlimited amount of time. However, there may be a restriction which indicates that a borrowing user may only be allowed to borrow an e-book for a limited period of time (e.g., one month). In this example, there may be a condition in the borrowing user's license that the borrowing user is only permitted to read the e-book for the limited period of time that is specified in the restrictions.
The method 300 may include receiving 302 a request from the borrowing user to take an action with respect to an e-book. For example, the borrowing user may make a request to read the e-book, share the e-book with others, annotate the e-book, etc.
The method 300 may also include determining 304 whether the requested action is permitted, i.e., whether the requested action is one of the permitted actions in the borrowing user's license. If it is, then the method 300 may also include determining 306 whether any conditions associated with the action in the borrowing user's license are satisfied. If they are, then the method 300 may include permitting 308 the borrowing user to take the requested action.
However, if it is determined 304 that the requested action is not one of the permitted actions in the borrowing user's license, then the method 300 may include preventing 310 the borrowing user from taking the requested action. Alternatively, if the requested action is permitted, but it is determined 306 that one or more conditions associated with the action in the borrowing user's license are not satisfied, then the method 300 may include preventing 310 the borrowing user from taking the requested action.
In this example, the borrowing user's license is implemented as a token 472 that is associated with the e-book 404 to be shared. The token 472 facilitates access to the e-book 404. In other words, when a user of an e-book reader 402 tries to read an e-book 404, the e-book reader 402 checks to see whether the token 472 is stored on the e-book reader 402. If it is, then the user is permitted to read the e-book 404. However, if the token 472 is not stored on the e-book reader 402, then the user is not permitted to read the e-book 404.
When the copy 404a of the e-book 404 is transmitted to the borrowing user's e-book reader 402b, the owning user's e-book reader 402a may also transmit the token 472 to the borrowing user's e-book reader 402b. When the token 472 is transmitted to the borrowing user's e-book reader 402b, the token 472 may be deleted from the owning user's e-book reader 402a.
The copy 404a of the e-book 404 may be used on the borrowing user's e-book reader 402b as long as the token 472 is stored on the borrowing user's e-book reader 402b. Because the token 472 has been deleted from the owning user's e-book reader 402a, the owning user may not be permitted to read the e-book 404 while the e-book 404 is being loaned to the borrowing user. When the borrowing user is finished with the e-book 404, the token 472 may be sent back to the owning user's e-book reader 402a so that the owning user may once again read (or otherwise make use of) the e-book 404.
A license 542 that enforces restrictions that are related to the owning user of the e-book 504 may be provided. The owning user's license 542 may include a first permitted action 544a. The first permitted action 544a may be that the owning user may read the e-book 504. A condition 546a may be associated with the first permitted action 544a. The condition 546a may be that the owning user may read the e-book 504 only when the e-book 504 is not currently being loaned to someone else.
The owning user's license 542 may also include a second permitted action 544b. The second permitted action 544b may be that the owning user may loan the e-book 504 to another person. A condition 546b may be associated with the second permitted action 544b. The condition 546b may be that the owning user may loan the e-book 504 only when the e-book 504 is not currently on loan to someone else (i.e., the owning user may not loan the e-book 504 to more than one person at a time).
A license 548 that enforces restrictions that are related to the borrowing user of the e-book 504 may also be provided. The borrowing user's license 548 may include a permitted action 550. The permitted action 550 may be that the borrowing user may read the e-book 504. A condition 552 may be associated with the permitted action 550. The condition 552 may be that the borrowing user may read the e-book 504 only for a limited period of time.
Status information 574 may be stored in the memory of the owning user's e-book reader 502a. The status information 574 may indicate whether the e-book 504 is currently on loan or not. In this example, the status information 574 may indicate that the e-book 504 is currently on loan for the period of time that the borrowing user is allowed to read the e-book 504 (e.g., until Sep. 31, 2009).
A license 642 that enforces restrictions that are related to the owning user of the e-book 604 may be provided. The owning user's license 642 may include a permitted action 644. The permitted action 644 may be that the owning user may loan the e-book 604 to other people. A condition 646 may be associated with the permitted action 644. The condition 646 may be that there may not be more than a certain number of copies 604a of the e-book 604 that are loaned at a particular time.
A license 648 that enforces restrictions that are related to the borrowing user of the e-book 604 may be provided for each borrowing user. The borrowing user's license 648 may include a permitted action 650. The permitted action 650 may be that the borrowing user may read the e-book 604. A condition 652 may be associated with the permitted action 650. The condition 652 may be that the borrowing user may read the e-book 604 only for a limited period of time. In a school environment, the limited period of time may correspond to the duration of a class (e.g., one semester). In a library environment, the limited period of time may correspond to the period of time that a library patron is allowed to check out regular books.
Status information 674 may be stored in the memory of the owning user's e-book reader 602a. The status information 674 may indicate how many copies 604a of the e-book 604 are currently on loan. When an attempt is made to loan a copy 604a of the e-book 604 to another person, the status information 674 may be checked to verify that loaning another copy 604a of the e-book 604 would not cause the condition 646 in the owning user's license 642 to be violated.
Reference is now made to
An owning user's e-book reader 702 is shown with an e-book 704 stored on the reader 702. The e-book 704 is shown with a first portion 706 and a second portion 708. The different portions 706, 708 of the e-book may represent different chapters of the e-book 704. As another example, suppose that the e-book 704 is an electronic newspaper. The first portion 706 of the electronic newspaper may correspond to a news section, and the second portion 708 of the electronic newspaper may correspond to a sports section.
Alternatively, however, both the first portion 706 and the second portion 708 of the e-book 704 may be transmitted to the borrowing user's e-book reader 710, and a borrowing user's license 712 may enforce the rule that only the second portion 708 of the e-book 704 may be viewed on the borrowing user's e-book reader 710. In other words, both the first portion 706 and the second portion 708 of the e-book 704 may be stored on the borrowing user's e-book reader 710, but the borrowing user's license 712 may prevent the borrowing user from viewing the first portion 706 of the e-book 704.
Reference is now made to
In many of the examples discussed above, e-book 804 sharing was accomplished by means of peer-to-peer distribution of e-books 804. However, as an alternative to peer-to-peer distribution, e-book 804 sharing may be accomplished by means of an e-book sharing server 802.
In the depicted example, the borrowing list 806 includes a first e-book 804a and a second e-book 804b. Initially, a borrowing user may receive the first e-book 804a in the borrowing list 806 and a borrowing user's license 812 to accompany the first e-book 804a. The borrowing user may make use of the first e-book 804a in accordance with the terms of the borrowing user's license 812. When the borrowing user is finished with the first e-book 804a, or when the terms of the borrowing user's license 812 indicate that the user may no longer make use of the first e-book 804a, then the next e-book 804b in the borrowing list 806 (i.e., the second e-book 804b) may be provided to the borrowing user (e.g., sent to the borrowing user's e-book reader 810), along with a borrowing user's license 812 for the second e-book 804b.
Advantageously, the second e-book 804b may be provided to the borrowing user's e-book reader 810 automatically, without additional user action. For example, immediately after the borrowing user's license 812 indicates that the first e-book 804a may no longer be used on the borrowing user's e-book reader 810, the second e-book 804b may be automatically sent to the borrowing user's e-book reader 810, without the user having to request the second e-book 804b from the e-book sharing server 802. The e-book sharing server 802 is shown with an automatic distribution module 814. The automatic distribution module 814 may be configured to automatically distribute e-books 804 in the borrowing list 806 in this manner.
Reference is now made to
In
For example, an e-book 904 associated with the waiting list 906 that is shown in
The e-book reader 1002 includes a processor 1006. The processor 1006 may be a general purpose single- or multi-chip microprocessor (e.g., an ARM), a special purpose microprocessor (e.g., a digital signal processor (DSP)), a microcontroller, a programmable gate array, etc. The processor 1006 may be referred to as a central processing unit (CPU). Although just a single processor 1006 is shown in the e-book reader 1002 of
The e-book reader 1002 also includes memory 1008. The memory 1008 may be any electronic component capable of storing electronic information. The memory 1008 may be embodied as random access memory (RAM), read only memory (ROM), magnetic disk storage media, optical storage media, flash memory devices in RAM, on-board memory included with the processor, EPROM memory, EEPROM memory, registers, and so forth, including combinations thereof.
Data 1010 and instructions 1012 may be stored in the memory 1008. The instructions 1012 may be executable by the processor 1006 to implement various functions, including the methods described herein. Executing the instructions 1012 may involve the use of the data 1010 that is stored in the memory 1008.
The e-book reader 1002 may also include a transmitter 1014 and a receiver 1016 to allow transmission and reception of data between the e-book reader 1002 to/from a remote location. The transmitter 1014 and receiver 1016 may be collectively referred to as a transceiver 1018. An antenna 1020 may be electrically coupled to the transceiver 1018. The e-book reader 1002 may also include (not shown) multiple transmitters 1014, multiple receivers 1016, multiple transceivers 1018 and/or multiple antenna 1020.
The e-book reader 1002 may also include one or more communication ports 1022 for communicating with other electronic devices. Communication with other electronic devices may occur directly and/or via a computer network. Some examples of communication ports 1022 include Ethernet ports, Universal Serial Bus (USB) ports, parallel ports, serial ports, etc.
The e-book reader 1002 may also include one or more input devices 1024. Examples of input devices 1024 include a keyboard, mouse, remote control device, microphone, button, joystick, trackball, touchpad, lightpen, etc.
The e-book reader 1002 may also include a display 1026. A display controller 1028 may also be provided, for converting data 1010 stored in the memory 1008 into text, graphics, and/or moving images (as appropriate) shown on the display 1026.
The display 1026 may be an electronic paper display, which is a display that is capable of holding text and images indefinitely without drawing electricity, while allowing the text and images to be changed later. There are several different technologies that may be used to create an electronic paper display, including electrophoretic display technology, bistable liquid crystal display (LCD) technology, cholesteric LCD display technology, etc. Alternatively, the display 1026 may utilize another image projection technology, such as liquid crystal display (LCD), gas plasma, light-emitting diode (LED), etc. One or more other output devices 1030, such as audio speakers, may also be included in the e-book reader 1002.
The various components of the e-book reader 1002 may be coupled together by one or more buses, which may include a power bus, a control signal bus, a status signal bus, a data bus, etc. For the sake of clarity, the various buses are illustrated in
The data 1010 in the memory 1008 may include one or more e-books 1004. An e-book 1004 is the digital media equivalent of a conventional printed book.
The instructions 1012 in the memory 1008 may include instructions 1033 that, when executed by the processor 1006, permit a user of the e-book reader 1002 to purchase e-books 1004. When a user of the e-book reader 1002 purchases an e-book 1004, the e-book reader 1002 may connect to a payment processing server so that the user can arrange to pay for the purchase of the e-book 1004. When payment has been arranged, the e-book reader 1002 may download the purchased e-book 1004 from a content server. The e-books 1004 that are purchased may be stored on the e-book reader 1002.
The instructions 1012 in the memory 1008 may also include instructions 1034 that, when executed by the processor 1006, permit a user of the e-book reader 1002 to read the e-books 1004 that are stored on the e-book reader 1002. When a user reads an e-book 1004, the pages of the e-book 1004 may be shown on the display 1026. The user may be permitted to navigate to different parts of the e-book 1004 (e.g., different pages, chapters, etc.) via the input devices 1024 and/or via user interface controls that are shown on the display 1026.
The instructions 1012 in the memory 1008 may also include instructions 1036 that, when executed by the processor 1006, permit the user of the e-book reader 1002 to share e-books 1004 that are stored on the e-book reader 1002 with other people, as described herein.
The instructions 1012 in the memory 1008 may also include instructions 1040 that, when executed by the processor 1006, enforce the sharing restrictions 1038 described herein. In other words, these instructions 1040 may facilitate digital rights management (DRM) that is related to the sharing of e-books 1004.
To enforce the sharing restrictions 1038 related to the sharing of a particular e-book 1004, licenses may be created. As discussed above, there may be owning user's licenses 1042 that enforce restrictions 1038 that are related to the owning user of the e-book 1004. Such licenses 1042 may specify permitted actions 1044, and there may be conditions 1046 associated with the permitted actions 1044. There may also be borrowing user's licenses 1048 that enforce restrictions 1038 that are related to the borrowing user of the e-book 1004. These licenses 1048 may also specify permitted actions 1050 and associated conditions 1052.
The e-book sharing DRM instructions 1040 may include instructions 1054 that may be executed by the processor 1006 to create owning user's licenses 1042 and/or borrowing user's licenses 1048. The e-book sharing DRM instructions 1040 may also include instructions 1056 that may be executed by the processor 1006 to enforce the licenses 1042, 1048 that are created.
E-book readers 1102 may be configured to enforce the restrictions related to the sharing of e-books without the involvement of a DRM server 1170. In other words, the sharing of e-books may be accomplished on a peer-to-peer basis, rather than a server-client basis. Alternatively, e-book readers 1102 may be in electronic communication with a DRM server 1170 that performs some or all of the functions associated with enforcing the sharing restrictions.
As used herein, the term “determining” encompasses a wide variety of actions and, therefore, “determining” can include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, “determining” can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” can include resolving, selecting, choosing, establishing and the like.
The phrase “based on” does not mean “based only on,” unless expressly specified otherwise. In other words, the phrase “based on” describes both “based only on” and “based at least on.”
As used herein, the terms “code” and “instructions” should be interpreted broadly to include any type of computer-readable statement(s). For example, the terms “code” and “instructions” may refer to one or more applications, programs, routines, sub-routines, functions, procedures, etc.
The various illustrative logical blocks, modules and circuits described herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array signal (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core or any other such configuration.
The steps of a method or algorithm described herein may be embodied directly in hardware, in a software module executed by a processor or in a combination of the two. A software module may reside in any form of storage medium that is known in the art. Some examples of storage media that may be used include RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM and so forth. A software module may comprise a single instruction, or many instructions, and may be distributed over several different code segments, among different programs and across multiple storage media. An exemplary storage medium may be coupled to a processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is required for proper operation of the method that is being described, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.
The functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions on a computer-readable medium. A computer-readable medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, a computer-readable medium may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray® disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.
Software or instructions may also be transmitted over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of transmission medium.
Functions such as executing, processing, performing, running, determining, notifying, sending, receiving, storing, requesting, and/or other functions may include performing the function using a web service. Web services may include software systems designed to support interoperable machine-to-machine interaction over a computer network, such as the Internet. Web services may include various protocols and standards that may be used to exchange data between applications or systems. For example, the web services may include messaging specifications, security specifications, reliable messaging specifications, transaction specifications, metadata specifications, XML specifications, management specifications, and/or business process specifications. Commonly used specifications like SOAP, WSDL, XML, and/or other specifications may be used.
It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes and variations may be made in the arrangement, operation and details of the systems, methods, and apparatus described herein without departing from the scope of the claims.
Number | Name | Date | Kind |
---|---|---|---|
5986690 | Hendricks | Nov 1999 | A |
6901386 | Dedrick et al. | May 2005 | B1 |
7139977 | Russell | Nov 2006 | B1 |
7260646 | Stefanik et al. | Aug 2007 | B1 |
7320140 | Boyer et al. | Jan 2008 | B1 |
7509270 | Hendricks et al. | Mar 2009 | B1 |
8095949 | Hendricks et al. | Jan 2012 | B1 |
20020107808 | Dobbelaar | Aug 2002 | A1 |
20040128308 | Obrador | Jul 2004 | A1 |
20050096938 | Slomkowski et al. | May 2005 | A1 |
20050132204 | Gouguenheim et al. | Jun 2005 | A1 |
20060062426 | Levy et al. | Mar 2006 | A1 |
20060075225 | Flynn et al. | Apr 2006 | A1 |
20060161578 | Siegel et al. | Jul 2006 | A1 |
20070162764 | Hass et al. | Jul 2007 | A1 |
20070243860 | Aiello et al. | Oct 2007 | A1 |
20070265977 | Read | Nov 2007 | A1 |
20070298399 | Shao et al. | Dec 2007 | A1 |
20080066181 | Haveson et al. | Mar 2008 | A1 |
20080103977 | Khosravy et al. | May 2008 | A1 |
20080109911 | Tedesco et al. | May 2008 | A1 |
20080114729 | Raman et al. | May 2008 | A1 |
20080250408 | Tsui et al. | Oct 2008 | A1 |
20110045816 | Wang et al. | Feb 2011 | A1 |
20110314556 | Dicke et al. | Dec 2011 | A1 |
Number | Date | Country |
---|---|---|
2373609 | Sep 2002 | GB |
WO 9936917 | Jul 1999 | WO |
WO 0175582 | Oct 2001 | WO |