Much like an ordinary printed book, electronic books (“eBooks”) can be used to present text and pictures to readers. Instead of ink and paper, however, an electronic book is a collection of digital data that software, known as an electronic book reader, can interpret and present on a display. A variety of devices run electronic book reader software such as personal computers, handheld personal digital assistants (PDAs), cellular phones with displays, and so forth.
Electronic books can offer a variety of features not traditionally associated with print books. For example, instead of text and pictures, an electronic book may also store data used to present sound such as music and speech. Further, instead of still pictures, an electronic book can also present animated images. Additionally, by transmitting eBook data over a computer network, eBooks can be delivered to remote locations almost instantaneously.
Unfortunately, in many ways, copying data is easier than photocopying pages of a book. To protect the rights of those trying to sell or otherwise limit access to electronic books from pirating, companies have developed a wide variety of digital rights management (DRM) systems. For example, Microsoft currently offers a “Digital Asset Server” that guards against unauthorized user access to Microsoft Reader eBooks. Similarly, Adobe offers a number of different DRM solutions such as Adobe Content Server.
DRM solutions differ significantly in their approaches to the task of controlling access to eBooks. For the purposes of illustration, however,
In general, in one aspect, the disclosure describes a method of processing content for distribution over a computer network. The method includes receiving submitted electronic content, accessing identification of at least one of a set of more than one electronic book digital rights management (DRM) systems, and automatically generating an electronic book from the received electronic content for distribution in accordance with the identified electronic book digital rights management system(s).
Embodiments may include one or more of the following features. The electronic content may be received over a network. The method may also include receiving metadata for the electronic content such as an author, a subject, a publisher, and/or a summary; hard copy printing information such as a number of pages, a cover size, and/or a type of binding; and distribution information such as the identification of the DRM(s), street date, and/or authorized retailers. The DRMs may be digital rights management systems offered by non-affiliated vendors. The method may also include transmitting user interface instructions (e.g., markup language instructions) to the network client that enables a submitter to identify electronic content.
In general, in another aspect, the disclosure describes a computer program product, disposed on a computer readable medium, for processing content for distribution over a computer network. The program includes instructions for causing a processor to receive electronic content, access identification of at least one of a set of more than one electronic book DRM systems, and automatically generate an electronic book from the received electronic content for distribution in accordance with the identified electronic book DRM system(s).
In general, in another aspect, the disclosure describes a server that includes at least one network connection, at least one processor, and at least one computer readable medium storing instructions for processing by the processor. The computer readable medium stores instructions corresponding to a set of more than one electronic book digital rights management systems. The medium also stores instructions for receiving electronic content over the at least one network connection, receiving metadata corresponding to the electronic content over the network connection that identifies of at least one of the set of more than one electronic book digital rights management systems, and automatically generating an electronic book from the received electronic content corresponding to the identified electronic book DRM system.
I. Introduction
As shown in
The publisher client 204 can also submit information about the content known as “metadata”. The metadata can include identifier information such as the ISBN, UPC, or DOI of the work; pricing information for one or more markets in which the work may be sold; bibliographic information such as the author and title of the work; distribution information such as identification of territories where selling the work is authorized, retailers authorized to sell the work, and/or identification of one or more digital rights management systems for protecting the work when distributed electronically; and/or manufacturing information, such asia printing and/or binding specifications, for use in the preparation of hard copies of the work.
The server 210 can automatically prepare the content for distribution. For example, for electronic distribution, the server 210 can automatically format eBook information for distribution of the title in accordance with one or more selected digital rights management systems. For hard copy manufacturing and distribution, the server 210 can automatically prepare the content for printing, for example, by extracting a cover page for color printing and generating bit-map images of book pages.
In addition to the behind-the-scenes work of preparing content for distribution, the server 210 may also provide information to retailers 206, such as Amazon.com and BarnesandNoble.com, to help display and sell titles. For example, the server 210 may use collected metadata to generate a customized catalog file 224 of content authorized for sale by a retailer 206. The catalog file 224 can include author names, a summary, and/or selected images (e.g., book cover thumbnails). A retailer 206 can use the catalog file 224 to automatically update its web-site's offerings. For example, Amazon.com can automatically generate web-pages for newly available titles identified in the catalog file 224.
The server 210 can also insulate retailer 206 from the technical details of title distribution across multiple digital rights management systems. For example, after a consumer 208 selects an ebook from the retailer's 206 web-site 226, the server 210 can distribute 228 the title to a consumer 208 in accordance with a digital rights management system selected for the content. This frees the retailer 206 from the burden of setting-up, integrating, and maintaining a host of different digital rights management systems that different eBook formats may require. Similarly, for a hard copy, the server 210 can offer a “print-on-demand” service that produces a hard copy of a title for delivery to a consumer or retailer.
Though
While the description above highlights a few features offered by the server 210, the server 210 can also offer a wide array of other services such as providing reports (e.g. usage reports, title demand reports, retailer invoices, and publisher compensation) to retailers 206 and publishers 204. A server 210 may offer all of the features described above or only support a limited subset of these services. These and other features are described in greater detail below.
II. Content Submission
The server 210 can use the received content 230 and metadata 232 to automatically generate distribution versions of the content. For example, for electronic distribution, the server 210 can automatically prepare a version of the content for distribution in accordance with the identified DRM scheme(s). Similarly, for hard copy printing, the server 210 can automatically generate a version of the content, for example, by preparing an image of each page to be printed.
As shown in
As shown, the server 210 may also include web server instructions 212 that make these features available to a publisher 204 via an Internet web-site. In technical terms, the web server instructions 212 handle HTTP (HyperText Transfer Protocol) messages exchanged with network clients (e.g., web browsers). These messages can include, for example, instructions for presenting a user interface that transmits information collected from a remote user back to the server 210. Such user interface instructions may be encoded in a variety of ways such as SGML (Structured Generalized Markup Language) instructions (e.g., HTML (HyperText Markup Language) and XML (extensible Markup Language)) or instructions that include conditional statements (e.g., “IF” statements) such as an applet.
As shown in
As shown in
As shown, the user interface also enables a publisher to select a method of delivering content 278 to the server. For example, a publisher can select file upload over the Internet, physical delivery of a computer readable medium (e.g., a CD-ROM or floppy), or a hard copy for scanning or other conversion into electronic form. The publisher can similarly specify 279 a mechanism for uploading a book cover image.
Other screens may collect other information from a publisher. For example, other screens may collect an edition number or description, an indication of whether the edition is an abridged edition, whether the content is “large print”, a series ID and/or number, one or more subject matter categories, an audience age range or reading level, and one or more identification codes (e.g., a Library of Congress card number, a Dewey Decimal Classification No., a UPC [Universal Product Code] code, and so forth).
As shown in
The information collected from a publisher may differ depending on the distribution methods selected. For example,
The user interface shown in
Based on the rating, the server may determine a fee for processing the content. Additionally, the server can use the rating to determine whether a requested format may be a poor selection. For example, Adobe PDF format provides a fixed page layout regardless of display device and may not be appropriate for materials having many columns.
As shown in
Again, after receiving the metadata entered by the publisher and the content, the server can automatically prepare the content for distribution in the publisher selected format(s). After doing so, the server may generate one or more “proofing” copies of the distribution version(s) of the content. For example, the server may prepare and transmit an eBook to the publisher or, in the case of “print-on-demand” content, the server may prepare an Adobe PDF (Portable Document Format) file featuring images of the pages as they would be printed. In either case, as shown in
As shown in
As shown, the process 240 may validate 243 received metadata. For example, the process 240 may ensure that no metadata specifies a wholesale discount over %50. The process 240 may also validate an ISBN number, for example, by verifying the number's check digit. A wide number of other metadata validations may take place such as a request of payment authorization from a publisher's credit source.
After receipt 241 of the content and metadata, the process 240 automatically checks (“pre-flights”) the content for numerous issues which might prevent accurate automatic preparation of a title. For example, the process 240 may verify receipt of all image files and required fonts. Should an error be encountered, the server can automatically notify the publisher and await resubmission.
Assuming the metadata validation 243 and pre-flighting proceeded without significant error, the process 240 can continue converting the received content to selected distribution format(s), for example, by reflowing and repaginating text, replacing images, and so forth.
If the selected distribution format(s) include hard copy distribution 245, the process 240 can automatically perform a number of tasks that prepare the content for printing. For example, for text submissions, the process 240 can parse the content to construct 247 a table of contents. The process 240 can also perform a wide variety of other tasks such as analyzing the structure of text to indent the first paragraph of a new chapter more than other paragraphs. Similarly, the process 240 may alter text, for example, by compressing three consecutive periods into a single ellipses character or using an elongated dash instead of using a simple “-” character. The process 240 may also perform other tasks, such as extracting a cover image from the content.
As shown, the process 240 can calculate 249 a spine width for a manufactured book based on page thickness and the number of pages. The process 240 can also determine a spine image for the binding, for example, by creating an image of the title in a font that fits the spine width.
After automatically generating information for printing the content, the process 240 can generate 250 a proof copy, for example, by e-mailing images of the pages to be printed or by sending a hard copy of the title for publisher review. After review, the process 240 can send 251 the generated information for the title to a manufacturing engine that can control printing of the title on demand, for example, by printing a color cover, printing a book block, and binding the printed cover and book block.
A different sequence may occur if the selected distribution format(s) include electronic book distribution 253. For example, the process 240 may process the content to generate 255 one or more Open eBook (OEB) files. For instance, the process 240 may include extraction of a cover page from submitted content and/or lossy compression of submitted images to reduce the size of any distribution files.
Based on these OEB files, the process 240 may generate 257 DRM specific files. Generation of DRM specific files may include DRM specific conversions. For example, for an Adobe eBook generation may include construction of an Adobe style hyperlinked table of contents, a copyright page updated to include eBook ISBN, and logical page numbers that permit eBook pages to match a title page numbering sequence. For a Microsoft eBook, generation may include construction of a Microsoft style floating hyperlinked table of contents, a copyright page updated to include eBook ISBN, and conversion of non-supported book layouts (e.g., marginal notes, floating art, cross spread images or boxes, conversion of footnotes to endnote, placement of footnote as display text, and placement of images or graphics close to, but not preceding, the callout). Additional advanced features may also be available at the option of the publisher. These can include linked index entries, removal of blank pages, cross-referencing, contextual links, listings of figures and tables, and links from text reference of a figure to the figure or a footnote text reference to an endnote. After proofing 259, the completed DRM specific file is posted 261 to a DRM Engine (described below) for subsequent distribution.
As shown, after generation of a title in the selected distribution format(s), the process 240 may store 260 the title's metadata in a database of metadata corresponding to different titles. As described below, this stored metadata can be used to construct a catalog of titles for a retailer.
III. Catalogs
Retailers often play an important role in publication sales, for example, by handling the tasks of promoting publications. For instance, Amazon.com promotes most of its available publications with a web-page providing a cover image, summary, and reader reviews. Some retailers provide libraries of over one million titles making the maintenance of their offerings a potentially time consuming task.
As shown in
For example, metadata records 302 and 306 designate “Amazon” as an authorized retailer for eBooks of John Grisham's “The Firm” 302 and “The Chamber” 306. Thus, the catalog 300 generated by the process 308 can include records for these titles, for example, as a result of an SQL (Structured Query Language) query for records listing “Amazon” as an authorized retailer.
While the metadata records shown specify individual retailers, a publisher may identify a group of retailers by attributes or a grouping code (e.g., “E-Commerce Vendors”). Additionally, a default set of retailers may apply to metadata records that do not specify a particular set of retailers.
Since different retailers may use different software and/or data formats to process title records, the process 308 can customize the catalog 300 file generated for a particular retailer by using customized formatting information 312. Such formatting information 312 can specify the metadata to include in the catalog 300 and the arrangement and encoding of included metadata. For example, as shown, the catalog 310 features a semi-colon delimited record for each title. That is, a semi-colon separates different fields of the record. Alternatively, catalog 300 records can be encoded in a markup language for easy incorporation into a retailer's web-pages. For example, a record of “<TITLE>The Firm</TITLE><AUTHOR>Grisham</AUTHOR>” includes <TITLE> and <AUTHOR> markup tags that identify the information included in the record.
In addition to text and other data, a retailer may also prefer to receive an image of a book cover for display by their web-pages. Such images may be included as data within a catalog, for example, as JPEG (Joint Picture Experts Group) or GIF (Graphics Interchange Format) image data. Alternatively, each title may have corresponding images stored at a FTP (File Transfer Protocol) site in accordance with a naming convention such as title_xpixelsize_x_ypixelsize.format (e.g., TheFirm—600_x—400.jpeg).
The authorization filters can test for a variety of conditions that may prevent inclusion of a work in a retailer's catalog. For example, the filters may eliminate a work from a catalog if the retailer is outside the territory in which the work is authorized to be sold. Similarly, the filters may eliminate a title from inclusion in a catalog if the title has not yet been priced for sale or if the work has not yet been proofed by the publisher.
The “retailer defined filters” enable a retailer to specify characteristics of works that the retailer does not want to sell or promote. For instance, “Bob's Sci-Fi eBook Store” may only be interested in publications categorized as science or science fiction. Thus, in this example, the process 330 may check to limit titles included in a Bob's catalog to only include titles in these categories. Similarly, a retailer, for example, may request only those titles approved by some organization.
As described above, information for titles selected for inclusion in the catalog may be formatted 334 according to retailer preference. After completing the selection 332 and formatting 334, the catalog may be transmitted 336 to the retailer. Transmission may occur, for example, via e-mail or a sequence of HTTP messages. Transmission may alternatively occur by storing the catalog in an FTP (File Transfer Protocol) directory accessible by the retailer. This latter option enables the retailer to control when and how often the catalog information is received.
The process 330 shown in
IV. Fulfillment
A server 210 may provide a web-site that enables consumers and/or publishers to request electronic books or “print-on-demand” hard copies of a title. However, as described above, retailers often handle the task of presenting titles to consumers for purchase. For example, Amazon.com allows consumers to search lists and descriptions of different available eBooks. In the case of eBooks, fulfilling purchase requests can add the burden of DRM system maintenance and support to a retailers responsibilities.
As shown in
As shown in
When activated, the link directs a secure message 326 to the server 210. The message 326 encodes identification of the title ordered and identification of the retailer. For example, a consumer may receive a URL having the following format:
As shown in
As shown in
As shown, the server 210 supports multiple DRM systems. While each DRM system may operate differently, many share a similar sequence. In a typical scenario, DRM distribution of a title begins when a DRM system attempts to connect to the consumer's 208 reader software. If the reader software is not installed, the system can guide the consumer through a download/installation process. The DRM system then requests credentials (e.g. computer ID, reader software ID) and uses these credentials to “lock” a copy of the ordered title for that consumer. Such locking may occur by encrypting a copy of the title or providing an encrypted voucher needed by the reader software to open a generically encrypted copy of the title. A “locked” copy of the title is then sent to the consumer 208. The consumer's 208 device then automatically launches the reader software associated with the DRM scheme used and loads and presents the title. While the process described above may seem complex, the entire process happens in real-time and, typically, does not take more time than loading a standard web page.
The scheme described above can offer a number of potential benefits. Again, by server 210 handling fulfillment, retailers need not be aware that DRMs are even being used. Additionally, while
The server 210 may implement DRM handling by bundling instructions for different DRM systems into a DRM Processing Engine. The server 210 may include many different DRM Processing Engines operating in parallel. This technique can permit load balancing between the DRM Processing Engines and provide scalability as the number of fulfillment operations increases. Additionally, new DRM Processing Engines can be added or removed at any time without impacting system availability.
As shown in
After business rule application, the process 350 may determine 362 a DRM system selected for the title. For example, server instructions may use the received retailer ID and the title ID of the request to perform a table lookup of DRM systems associated with the title by the retailer. Thereafter, the title can be distributed 364 in accordance with the determined DRM. As specified by a DRM or business rule, successful downloading of titles may be noted to prevent the consumer from re-downloading the same eBook using the original URL link. Failed downloads may not be recorded to enable a consumer to attempt to re-download in the event of a bad Internet connection.
As shown, the process 350 may log 366 information describing a transaction, for example, by logging information used in billing, determining publisher compensation, business rule audits, determining DRM usage fees, and so forth.
Again, throughout the process 350 illustrated in
Again, the process 350 may provide retailers with status information such as confirmation of an order. For example, a server may transmit a confirmation message to a retailer that encrypts the order tracking number, time stamp, and other information.
V. Implementations
The techniques described herein are not limited to any particular hardware or software configuration; they may find applicability in any computing or processing environment. The techniques may be implemented in hardware or software, or a combination of the two. Preferably, the techniques are implemented in computer programs executing on programmable computers that each include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices.
Each program is preferably implemented in high level procedural or object oriented programming language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case the language may be compiled or interpreted language.
Each such computer program is preferably stored on a storage medium or device (e.g., CD-ROM, hard disk, or magnetic disk) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the procedures described herein. The system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner.
Other embodiments are within the scope of the following claims.
This application claims priority from co-pending U.S. provisional application Ser. No. 60/243,259, filed Oct. 25, 2000, entitled “Systems and Methods for Digital Content Submission, Management and Distribution”, which is incorporated by reference in its entirety herein. This application relates to U.S. patent application Ser. No. ______, filed on the same day as the present application, entitled “Electronic Content Distribution”; and U.S. patent application Ser. No. ______, filed on the same day as the present application, entitled “Fulfilling a Request for an Electronic Book”.
Number | Date | Country | |
---|---|---|---|
60243259 | Oct 2000 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09906428 | Jul 2001 | US |
Child | 11264823 | Oct 2005 | US |