System and method for publishing, distributing, and reading electronic interactive books

A book or other digital content is represented as a set of objects in a relational database schema format called IBF (Interactive Book Format) and the controlling system software. This design provides for viewing books in a manner that coordinates additional information and provides interaction with the original book, while not disturbing the original publication and copyrighted material and even protecting that copyrighted material from piracy by supporting industry standard digital rights management security features. The inventive technique includes the use of conversion engines which will aid publishers in converting existing books into IBF format. The inventive technology further provides the ability to read any book in IBF format on a computer using refreshable Braille display, allowing the reader the advantage of reading all books in this format without having to purchase expensive, specially made Braille books.

DESCRIPTION OF THE INVENTION

1. Field of the Invention

This invention generally relates to electronic publishing and, more specifically, to publishing, distributing, and reading electronic interactive books.

2. Description of the Related Art

The publishing industry is undergoing significant changes due to the emergence of digital printing and digital publishing tools. Most publishers, although using a host of tools that support digital books, are still reluctant to sell their books in electronic format as opposed to bound paper, due to security and piracy issues. These concerns have not been resolved to date sufficiently for publishers to produce their books in a digital format. The book industry is facing the same problems that the online digital music industry faced in the last five years. The majority of books are still produced in paper format which has become increasingly expensive for the publisher and greatly lowers the profit per book.

The reading population does not seem to enjoy reading the currently available digital books. Digital books as currently produced are merely digital representations of the printed versions of books. The popular formats for digital books, the page description languages, are based on printing technology and are still quite static. Also, most of the reading public does not enjoy reading a book on a computer. Readers would still prefer to hold a real book in their hands and would prefer a printed book as evidenced by the book sale statistics over the last ten years.

However, the future readers will desire to use a hand-held device that operates similar to an ordinary book. This device may contain paper-like pages that display simulated ink in such a fashion that it reads like ink on paper. This is sometimes referred to as “eInk” and “ePaper”. This technology is already being created and one day it will become the standard. When the reading public finally accepts and starts buying books in digital format at a fraction of the cost of books in print, then the digital publishing industry will take off. To facilitate this migration, books must be created in a new format utilizing all the advantages of being digitized. Now the reading public may experience additional content and interaction with their books as described in this patent. With the design presented here, the user may actually personalize their book, without disturbing the original copyrighted material.

Accordingly, what is needed is a novel and improved technique for electronic publishing.

SUMMARY OF THE INVENTION

The inventive methodology is directed to methods and systems that substantially obviate one or more of the above and other problems associated with conventional techniques for electronic publishing.

In accordance with one aspect of the inventive concept, there is provided a method, a computer programming product and a computerized system. In accordance with this aspect of the inventive concept, published electronic content is represented in a relational database schema and stored in a relational database. The published electronic content is retrieved from the database using a software system interfacing with the relational database. After the retrieving, the retrieved published electronic content is displayed on a display media. The published electronic content is approved by the respective publisher thereof.

In accordance with another aspect of the inventive concept, there is provided a method, a computer programming product and a computerized system. An inventive system in accordance with this aspect of the inventive concept includes a plurality of federated database servers operable to provide horizontal view to all member servers of a catalogue of electronic material available for download onto an electronic reading system containing a database. The system is further operable to enable user groups to access the electronic material contained in the catalogue and, upon purchase, download the electronic material into at least one electronic reading system of at least one member of the user groups in a seamless manner.

In accordance with yet another aspect of the inventive concept, there is provided a method, a computer programming product and a computerized system for viewing a book in an electronic format on two physically separated electronic devices. A first device displays one page of the book at a time, while a second device displays multiple control menus and additional content associated with the page of the book displayed by the first device.

DETAILED DESCRIPTION

1 Representation of the IBF Book Data

In accordance with an embodiment of the inventive technique, a book is represented as a set of objects in the relational database schema called IBF. As would be appreciated by those of skill in the art, in order to support a dynamic and interactive book which can correlate text, sound, animation, images, and control in a synchronized fashion, the data must be interrelated and easily accessible. The system software developed to manage the book and connect to the underlying embedded relational database will also be described herein.

The IBF data may begin with an IBF Header allowing processing software to recognize it as IBF data. An IBF book or item of digital content would be transmitted via download or loaded from storage media with an IBF Header followed by a series of IBF Objects as described in Section 1.2. Section 1.3 describes the types of data that could appear in the data field of each IBF Object.

Every IBF book or item of digital content must include and start with an IBF Header.

The IBF Header is comprised of:The IBF Header String=the string “Interactive Book Format”The Version field (e.g. Version 1.0.0)The Data Length field is the length of all data following the header.

Please seeFIG. 7for a complete description of an exemplary IBF Header; the field descriptions, lengths, and data. After this header, all data following will be an IBF Object with one of the IBF Object Data types as data.

1.2 The IBF Objects

Once the IBF Header has been parsed, all following data is in the form of an IBF Object. Section 1.2.2 describes an exemplary format of IBF Objects. Some of the Object Data items described below have in their fields an “index” into the database for another type of object. When these objects are first being loaded into the system, this index will represent an offset in bytes from the current position to the object it is referencing in the incoming data stream. Once this IBF book is loaded into the underlying database in the system, this index can become a real index into the embedded relational database.

1.2.1 Object Data Types

An audio file type may include:1. CDA2. MP33. WAV4. OGG5. Other

In this document:TRUE=1FALSE=0

1.2.2 An IBF Object

After the header, all data transmitted may be in the following format of an IBF Object. The IBF Object Title will be one from the list in Section 1.2.3 and the IBF Object Data will be one of those as described in Sections 1.2.4 to 1.2.15.

The IBF Object is comprised of:An object Title is one of the possible list items described in Section 1.2.3.The Pad Length is the length in bytes of a pad at the end of the object to facilitate 64-bit alignment.The Data Length is the length in bytes of the following dataThe actual IBF Object Data, in bytes, and one of the items described in Section 1.3.

Every object in IBF will be indexed in the underlying relational database and available for add, delete, update, and query functions of the database.

Please seeFIG. 8for a complete description of the IBF Object; the field descriptions, lengths, and data.

1.2.3 IBF Object Titles

Each IBF Object may contain one of these enumerated values as the entry in its Title field:1. Library2. Book List3. Book4. Owner5. TOC6. Title Pages7. Chapter8. Page9. Paragraph List10. Paragraph11. Format12. Additional Content13. Image List14. Audio List15. Highlight List16. Notes List17. Drawing List18. Other—Future Development
1.3 IBF Object Data

The following represents the types of data that could appear in the data field of each IBF Object.

The Library Object (seeFIG. 1Aitem #1) is a list of categories and a list of books for each category (items #2and #3). The Library Object is used on the system to hold the list of all books loaded onto the local system.

The Book List field is an index to an IBF Book List Object where the data is described in Section 1.3.2.

Please seeFIG. 9for a complete description of the IBF Library Object Data; the field descriptions, lengths, and data.

1.3.2 Book List

A Book List Object is a list of books. SeeFIG. 1Aitem #3. The Book List refers to a specific instance of an IBF database, however in the case of Federated Servers described in Section 4, it is feasible that a Library Object containing Book Lists may be transmitted between IBF systems that have mirrored databases.

IBF Book List Object Data is comprised of:The Book field is an index into the database to an IBF Book Object Data.

Please seeFIG. 10for a complete description of the IBF Book List Object Data; the field descriptions, lengths, and data.

The data in the IBF Book Object now contains the information associated with the entire book. SeeFIG. 1Aitem #5.

IBF Book Object Data may be comprised of, for example:The Security Key is the valid key derived according to the security description in Section 3.4 and may be used as the unique hash key to the Book.The Title is the actual Book Title as a character string.Language is one of the enumerated types from the Library of Congress MARC code list as shown in the Appendix.The ISBN number is that listed by Bowker's Books in Print database for the book title and publisher.The Owner Field is an index to an IBF Owner Object as described in Section 1.3.4.The Price is an integer.

The Price Format may comprise, for example, one of the following enumerated types:1. USD United States Dollars2. GBP United Kingdom Pounds3. EUR Euro4. JPY Japan Yen5. DEM Germany Deutsche Marks6. FRF France Francs7. NLG Netherlands Guilders8. ITL Italy Lira9. CHF Switzerland Francs10. AUD Australia Dollars11. ATS Austria Schillings12. BEF Belgium Francs13. CAD Canada Dollars14. CLP Chile Pesos15. DKK Denmark Kroner16. NLG Dutch Guilders17. FJD Fiji Dollars18. FIM Finland Markka19. FRD Greece Drachmas20. HKD Hong Kong Dollars21. ISK Iceland Krona22. IDR Indonesia Rupiah23. IEP Ireland Punt24. ILS Israel New Shekels25. KRW Korea (South) Won26. LUF Luxembourg Francs27. MYR Malaysia Ringgit28. NZD New Zealand Dollars29. NOK Norway Kroner30. PHP Philippines Pesos31. PTE Portugal Escudo32. ROL Romania Leu33. RUR Russia Rubles34. SAR Saudi Arabia Riyal35. SGD Singapore Dollars36. KRW South Korea Won37. ESP Spain Pesetas38. SEK Sweden Krona39. CHF Switzerland Francs40. TWD Taiwan Dollars41. THB Thailand Baht42. TRL Turkey Lira43. Other—Future developed Type

The Annotation is an index into the database to an IBF Paragraph Object as described in Section 1.3.10. As a Paragraph Object, the annotation could then contain text, image, and formatting information making this very flexible.

The TOG Object is described in Section 1.3.5.

FIG. 11provides a complete description of the IBF Book Object Data; the field descriptions, lengths, and data.

The Owner Object Data is comprised of all information related to the publisher.

The IBF Owner Object Data contains:Each of the fields in this object is a string of the pertinent information relating to the publisher.

Please seeFIG. 12for a complete description of the IBF Owner Object Data; the field descriptions, lengths, and data.

The TOC or table of contents object for the book is comprised of title pages, the Preface If it exists, and the list of chapter objects. SeeFIG. 1Aitems #6and #7.

The IBF TOC Object Data is comprised of:The Title Pages field is an index into the database to an IBF Title Pages Object as described in Section 1.3.6 seeFIG. 1Aitems #8and #9.The Preface field is an index into the database to an IBF Paragraph Object Data described in Section 1.3.10.Each Chapter listed is an index into the database to an IBF Chapter Object as described in Section 1.3.7. SeeFIG. 1Aitems #10and #11.

Please seeFIG. 13for a complete description of the IBF TOC Object Data; the field descriptions, lengths, and data.

1.3.6 Title Pages

The Title Pages are represented by an object with Title, Copyright page information, Title Image, Logo and Logo Text. This object would contain all the data for the opening pages of a book. SeeFIG. 1Aitem #9.

The IBF Title Pages Object Data contains:The Title is the actual Book Title as a character string.The Copyright field contains the text describing all copyright information.The Title Image Type field is one of the image types from the enumerated list in Section 1.2.1.The Title Image—Length field indicates how large the image is in bytes.The Title Image is the actual image file.The Logo Image Type field is one of the image types from the enumerated list in Section 1.2.1.The Logo Image—Length field indicates how large the image is in bytes.The Logo Image is the actual image file.The Logo Text is the publisher information as a character string with line breaks to be displayed on the title page of the book. This may be the same as the Owner Object Data information or may be different.The Format field is an index into the database to an IBF Object of type Format as described in Section 1.3.11.

Please seeFIG. 14for a complete description of the IBF Title Pages Object Data; the field descriptions, lengths, and data.

A Chapter is an object that holds, a title, title image, and all the pages for that chapter. SeeFIG. 1Aitem #11.

The IBF Chapter Object Data is comprised of:The Title is the Chapter Title in text.Each Page field is an index into the database to an IBF Page Object as described in Section 1.3.8. SeeFIG. 1Aitems #12and #13.The Title Image Type field is one of the image types from the enumerated list in Section 1.2.1.The Title Image—Length field indicates how large the image is in bytes.The Title Image is the actual image file.The Format field is an index into the database to an IBF Object of type Format as described in Section 1.3.11.

Please seeFIG. 15for a complete description of the IBF Chapter Object Data; the field descriptions, lengths, and data.

1.3.8 Page

The Page Object Data holds all the information for a single page at 100% Zoom setting. If the Zoom is changed, more or less data would be displayed, but the object always holds the data for the normal setting.

The IBF Page Object Data contains:The Paragraph List is an index into the database to an IBF Object of type Paragraph List as described in Section 1.3.9. SeeFIG. 1Aitems #14and #15.Zoom Size is an integer representing a percentage in the range from negative to positive and could be greater than 100 or less than −100.

Note: The Zoom could be implemented by a scrolling function that uses an algorithm from the starting Zoom Size to calculate the current.

Pagination On/Off is TRUE or FALSE.

Page Number is the current page number base on the settings of Zoom and Pagination On/Off. If the Pagination is on, the User will see the page numbers displayed where ever they fall on the page according to Zoom setting based on Pages represented at 100% setting. This is useful during a class setting where the instructor says “Turn to page . . . ” However, if the user wants to change the Zoom and does not care about the page number, pagination may be turned off.

Please seeFIG. 16for a complete description of the IBF Page Object Data; the field descriptions, lengths, and data.

1.3.9 Paragraph List

The Paragraph List object holds all the paragraphs for this chapter at 100% Zoom setting. If the user sets the Zoom to something other than 100%, this affects how much data is buffered up to the display driver on the Reading Display and how much text is displayed. However, it does not change the Paragraph entities themselves. SeeFIG. 1Aitem #16.

The IBF Paragraph List Object Data contains:The Paragraph field which is an index into the database to an IBF Paragraph Object as described in Section 1.3.10. SeeFIG. 1Aitems #17and #18. All paragraphs associated to the book will be listed here.

Please seeFIG. 17for a complete description of the IBF Paragraph List Object Data; the field descriptions, lengths, and data.

The Paragraph is the smallest independent object in the schema (seeFIG. 1B). It holds all additional content or data associated with that paragraph. A complete paragraph is always loaded to the text display driver on the Reader Display and the associated additional content is available through the user interface menus on the Navigator Display (See Section 2 describing the User Interface menus). In this way the user can Zoom in and out on text size and still have their additional content loaded in Navigator Display. Many Paragraphs and even full Pages can be buffered up on the Reader Display to improve performance, but the key entity in the IBF design is the Paragraph.

The IBF Paragraph Object Data is comprised of:The Text Length field indicates the number of bytes of text following in the next fieldThe Text field contains the actual text of the paragraph as a character string.The Format field is an index into the database to an IBF Object of type Format as described in Section 1.3.11.Each of the Additional Content fields index into the database to an IBF Object of type Paragraph Object Data. SeeFIG. 1AandFIG. 1B, items #17and #18. Each of these is a link to another paragraph that could hold Historical, Biographical, or Geographical data. This data would be displayed on the Navigator Display Features window in this design. Only the text of the book is shown on the Reader Display (See Section 2).The Image List field is an index into the database to an IBF Image List Object as described in Section 1.3.12.The Audio List field, like the Image List field is an index into the database to an Audio List Object described in Section 1.3.13.The Animation List field is an index into the database to an Animation File List Object described in Section 1.3.14.The Highlight List Field is an index into the database to a Highlight List Object as described in Section 1.3.15.The Notes List field is an index into the database to an IBF Notes Object as described in Section 1.3.16.The Drawing List field is an index into the database to an IBF Notes Object as described in Section 1.3.17.

Please seeFIG. 18for a complete description of the IBF Paragraph Object Data; the field descriptions, lengths, and data.

The IBF Format Object contains formatting information for the text in the paragraph.

The IBF Format Object Data is comprised of:The Font Character Sets types are taken from IANA. As specified by IANA, “These are the official names for character sets that may be used in the Internet and may be referred to in Internet documentation. These names are expressed in ANSI—X3.4-1968 which is commonly called US-ASCII or simply ASCII. The character set most commonly use in the Internet and used especially in protocol standards is US-ASCII, this is strongly encouraged. The use of the name US-ASCII is also encouraged. The character set names may be up to 40 characters taken from the printable characters of US-ASCII. However, no distinction is made between use of upper and lower case letters.”Fonts on the IBF system would be installed as Font packages with the initial setup of the system software. So, fonts would be recognized by font name per Character Set. For instance if the Character set is set to Unicode, the font name should be one chosen from the fonts designed for Unicode. If the font name can not be found on the system, there should be some algorithm to choose one that is close. Presentation on digital devices will be very important to publishers and the reading public. This is an area in which the software can be very complex.

The Font Character Set field indicates one of the following enumerated types:1. US-ASCII2. Unicode3. Window's Character Sets4. Other Manufacturers—list may be extended.

The Font Family Name is recognized from the fonts in Font Character Set by font name.

The Font Pt Size is an integer.

The Type Style is one of the following:1. Regular or Roman2. Italic3. Bold4. Bold Italic5. Underlined

Kerning is an integer. It is often in the range −200 to 200, but could be any value

Vertical Scale is an integer representing a percentage.

Horizontal Scale is an integer representing a percentage.

Tracking is an integer representing a percentage.

Skew is an integer representing degrees—any number from 0 to 100 may be entered into this field.

Language is one of the enumerated types from the Library of Congress MARC code list as shown in the Appendix.

Please seeFIG. 19for a complete description of the IBF Format Object Data; the field descriptions, lengths, and data.

1.3.12 Image List

This is a list of images to be displayed with the text on either the Reader Display, to mimic the original book, or on the Navigator Display as the additional content is displayed in this design. The x,y position gives placement information and the text would be displayed below the image. SeeFIG. 1Bitems #19and #20.

The IBF Image List Object Data contains:The Image—Type field indicates which type of image file it is from the enumerated list in Section 1.2.1.The Image Length field indicates the length of the image file in bytes.The Image—Position x and Position y fields hold the position on the page that the bottom left-hand corner of the image should be placed.The Image field is the actual file.

Please seeFIG. 20for a complete description of the IBF Image List Object Data; the field descriptions, lengths, and data.

1.3.13 Audio List

The Audio List Object contains a list of sound files that could be played out with this paragraph. SeeFIG. 1Bitems #21and #22.

The IBF Audio List Object Data contains:The Audio—Type field indicates which type of image file it is from the enumerated list in Section 1.2.1.The Audio Length field indicates the length of the audio file in bytes.The Audio—Position x and Position y fields hold the position on Reader Display screen that could be used as a trigger to play this file.The Audio—Text field could be used to hold a string of text that would trigger the file to play.

Please seeFIG. 21for a complete description of the IBF Audio List Object Data; the field descriptions, lengths, and data.

1.3.14 Animation List

The Animation List contains animation files to be played out with the paragraph on the Navigator Display menu containing the additional features. SeeFIG. 1Bitems #23and #24.

The IBF Animation List Object Data contains:The Animation—Type field indicates which type of image file it is from the enumerated list in Section 1.2.1.The Animation Length field indicates the length of the animation file in bytes.The Animation—Position x and Position y fields hold the position on the Reader Display screen that could be used as a trigger to play this file.The Animation—Text field could be used to hold a string of text that would trigger the file to play.

Please seeFIG. 22for a complete description of the IBF Animation List Object Data; the field descriptions, lengths, and data.

1.3.15 Highlight List

This is a list of offsets to text that the user has highlighted in this paragraph. SeeFIG. 1Bitems #25and #26.

The IBF Highlight List Object Data contains:The Highlighted Offset is the offset in number of words of text from the beginning of the paragraph for text that is to be highlighted.The Highlighted Length is the number of words of text from the offset position to the end of the highlighted text.

Please seeFIG. 23for a complete description of the IBF Highlight List Object Data; the field descriptions, lengths, and data.

1.3.16 Notes List

The IBF User Notes Object is comprised of a list of notes for the book that is opened. The IBF system software may also display all user notes on a menu display. A Note would be an added feature and could be displayed on the Features Display screen (See Section 2.6.2), or a pop-up window. SeeFIG. 1Bitems #27and #28.

The Notes are another kind of object that not only contains this user's note, but any downloaded notes from secure user sites associated with this book. See Section 1.3.18 for a description of the IBF User Group List Object Data. The User Groups Object information is used to gain access to the User Groups out in the internet and access other notes for this book or share notes with the rest of the users in the group.

The Notes have date and timestamp information associated with them. An example would be a classroom in which the teacher has notes for the students to download associated with various paragraphs of this book. Also the students may be allowed to share notes.

The IBF User Notes Object Data contains:The Note field is text.The Associated Text Offset field is the offset from the beginning of the paragraph to the first word selected that this Note is related to. The user would have highlighted the text and then entered a note. The user may or may not leave the text highlighted, but it is still related here, so that when they reach that word, their note could surface from the list of Notes and be automatically displayed if the auto-play feature is enabled.

Please seeFIG. 24for a complete description of the IBF Notes Object Data; the field descriptions, lengths, and data.

1.3.17 Drawing List

The Drawing field is a user added drawing file from the types of image files. This drawing would be an added feature and could be displayed on the Features Display screen (See Section 2.6.2), another display just for drawings or a pop-up window. SeeFIG. 1Bitems #29and #30.

The IBF Drawing List Object Data contains:The Image—Type field indicates which type of image file it is from the enumerated list in Section 1.2.1.The Image Length field indicates the length of the image file in bytes.The Image field is the actual file.

Please seeFIG. 25for a complete description of the IBF Drawing List Object Data; the field descriptions, lengths, and data.

1.3.18 User Group List

The User Group List Object contains information about the User's group association within the federated server system of User Groups. See Section 4 for more information on the federated server system. The items in this object allow the user to connect to secure sites and participate in group access as in the case of a school classroom group or a subscription membership to a site.

The IBF User Group List Object Data contains:The User Group field is a string containing a URL address to the login page of that User Group.The Username field is the login username for this User Group.The Password field is the login password for this User Group.Other Security is an index into the database for some enhanced Security to be defined by User Groups and not described in detail here.

Please seeFIG. 26for a complete description of the IBF User Group List Object Data; the field descriptions, lengths, and data.

Any objects added to the initial base IBF design will be considered part of the IBF patent, as they could not exist without the basic design.

2 IBF System User Interface Menus

The design presented here for a hand-held device displaying The Interactive Book was done specifically for the IBF technology and is part of this patent. Imagine that these two sides could be merely the display of screens on a laptop or PC, they could actually be a two sided hand-held device, or the screens could be combined for a one-sided, hand-held device with the menu options at the bottom. The system software will load the menus presented here on the any of the options mentioned. Since this is a software driven menu, the only actual hardware buttons are the ones inFIG. 2Aitems #35to #39and items #40to #44. All other tabs presented on the menus are created as images by software and hence are flexible to be added or deleted from the user interface (seeFIG. 2B#45and #46).

The left side, item #31, will be known as the Reader Display with the screen shown in #33and the right side, item #32, is the Navigator Display with the screen shown in #34. Either side may be implemented with touch screen technology to enable use of a stylus rather than a mouse driven selection on the menus.

The buttons shown onFIG. 2for the Navigator Display are as follows:Power On/Off—#35CTRL-ALT-DEL—#36Mute—#37Volume Up—#38Volume Down—#39

The buttons shown onFIG. 2for the Reader Display are as follows:Power On/Off—#40Zoom Out—#41Zoom In—#42Page Back—#43Page Forward—#44
2.1 The Power-On Menu

Upon powering on the user will see some kind of opening screen on the Navigator Display #34. The user then has the option to do one of the following by selecting the tabs on software driven menus. SeeFIG. 2B#45:Go to the Store menu and connect to participating online stores to purchase content in IBF formatOpen the Library of books already loaded onto the device.Open a Book that had been loaded, but the user had gone to another menu tab or screen. This is useful to go back to the last book opened on the system.Go to the System menu and perform any needed system functions. This is useful on the hand-held devices to go back to a Window's desktop interface and perform regular actions.Use the Help menu which includes the search functionality as a query on the underlying relational database. This query can span all books on the system and all elements of a book. SeeFIG. 2B#34
2.2 The System Menu

The System Menu is useful for the hand-held devices and may or may not be present when the software runs on a standard laptop or PC. It will allow the user to access either a Window's Desktop interface directly or manage their software and hardware as one would with the Control Panel on a desktop.

In the case that this type of device may become a standard in schools that wish to use digital textbooks, the device may be developed to prohibit general laptop or PC type access. It may prohibit the students from “surfing the Net” and only allow them to connect to online Stores or User Groups that have been pre-approved by the school. In the scenario, the System menu could provide the equivalent of the Control Panel on a laptop or PC.

The System Menu also allows the user to customize their device, or set of screens and their Library to a certain Theme, similar to customizing the desktop of a PC. Examples of such Themes are “an old fashioned Library look” or “a modern chrome and glass look” or “Art Deco” etc.

2.3 The Help Menu

The Help Menu will provide the user with a Help index of topics that cover:Managing the deviceManaging the software; upgrades, etc.Downloading books and content in IBFLoading books and content in IBF from media like thumb drives or flash cardsManaging the LibraryReading a BookSearch functionality

The Help Menu will also include a separate icon for access the search engine directly, however given the flexibility of software driven menus, this could be a separate tab and menu in itself. SeeFIG. 2B#34.

2.4 The Store Menu

The Store Menu is useful on the hand-held device and especially in the cases that the access is limited, as could be for school children. On a PC or laptop, this menu might just take the user to a browser with a list of available stores. The Store Menu on the device will allow the user to select an online store or one of the enabled user groups selling books and content in IBF format

Once the user selects a store, they will be connected to that store and shown the available books for sale in IBF. The user then selects a book for download and the system manager software handles the purchasing interface. This is where the security aspects come in to play. These will be described in more detail in Section 3.4, but once the user has purchased a book or some content in IBF they can only load the book onto this device or this instance of software running on the PC or laptop. The book can not be loaded into any other device or instance of the software unless a multi-person or multi-instance purchase was made. SeeFIG. 2C#34.

2.5 The Library Menu

The Library Menu shows the categories of types of books or digital content with lists of books per category. The amount of stored books is limited only by the resources of the device. This menu can be customized to organize books by categories like history, fiction, action, or favorites, etc. The added information would be connected to the book and not displayed here. This is not a catalogue of all items loaded onto the device, but a catalogue of books. The additional information is always associated with a particular book and approved by the publisher or owner of the copyrighted material. Although the software could easily query the database for any type of object and come up with a list of all additional content on the system.

IBF content could be in the form of books, magazine articles, papers, or pieces of books like a single chapter. This would be catalogued and available through the system search engine and most probably listed in the Library as well.

2.6 Opening a Book for Reading

The user may click on a book to open it when in the Library Menu. Once the book has been opened, if the user goes to another menu, by selecting the Open Book tab, they will be taken back to their open book at the position in the book that was last open.

The first time a user selects a book from the Library by clicking on it, they will see the book loaded and opened with the text on the Reader Display (SeeFIG. 2Ditems #33). The Reader Display always displays the original book. This side may be on or off, independent of the Navigator Display on the right as shown byFIG. 2Ditem #34.

2.6.1 The TOC Menu

The TOC Menu holds the Table of Contents and supports accessing the book by clicking on one of its entries and jumping to that chapter of the book. This can also be expanded to display each individual page. The user may also just page forward or backward using the buttons on the Reader Display. SeeFIG. 2D#34.

2.6.2 The Features Menu

The Features Menu shows all the additional content associated with this book. This content would have been purchased in IBF binary format and pre-approved by the publisher of the book. No content can be loaded with the book unless it has a security key indicating this approval by the publisher. In this way the original book may be enhanced but can never be detracted from by unsuitable content.

The user can go to the menu while the book is open and see all the additional content, select one and view it at any time on the Navigator Display, seeFIG. 2E#34. However, this content is associated in the database with the smallest unit of the book—a paragraph. So, when the user arrives at the page holding that paragraph on the Reader Display, the feature will automatically play on the Navigator Display. This auto play mechanism may be disabled on the Features Menu. Meanwhile the text of the book itself is always shown on the Reader Display—seeFIG. 2E#33.

Here are some examples of the additional content or Features loaded with the book Sandlot Stories and associated with the story “Little Pirate” that takes place in Pittsburgh, Pa. as shown byFIG. 6, item #33and #34.

2.6.3 The Notes Menu

The user may add notes to any paragraph highlighting the text that the note is associated with and inserting their note on the Navigator Display screen for Notes as shown byFIG. 2F#34. This note is then associated in the database with the current paragraph. The search functionality can show all added notes. The note taking feature could be implemented with text into a pop-up window or could include handwriting recognition software. The user can also recall and display notes as they progress through the book by their association to certain paragraphs.

3 System Software

3.1 Os Independent layer

The user interface presented in Section 2 and the loading and reading of an IBF book will be driven by underlying system software (seeFIG. 3item #47) that should communicate to the operating system (os) through an independent layer (see #49) to facilitate porting to Window's, Linux, or Apple and other operating systems with an interface to the following:Windows or screen presentation—item #51Network Access—TCP/UDP/sockets, etc.—item #52Events, notifications, interrupts—item #53The file system—item #54The embedded relational database add/delete/query/update of IBF content—item #55Drivers—USB or external storage media, display, etc.—#56

The IBF system control software would interface between the display menus and user input from both the Reader Display and the Navigator Display to this os independent layer on both sides and the underlying resources as shown inFIG. 3.

3.2 System Control Software

The IBF System Control Software is designed to run on a distributed system in the hopes that the two-page hand-held electronic readers will become prevalent. With this in mind, there is the idea within the software of the two sides (although they may run on the same computer); the Navigator Display system software (seeFIG. 4item #57) and the Reader Display system software (seeFIG. 4item #58). The Navigator Display system software has much more to do than the Reader Display system software which only has to display the text of the book and respond to movement through the book.

3.2.1 The Navigator Display Control Software

The Navigator Display system software has responsibility to:Load new books into the system database (DB) from the network or storage media—see #57and #61Index and add relationships within the DB for all IBF objects—see #57and #59Perform all add, delete, query, and other DB functions on the embedded DB—see #57and #59Update the system Library with the new book title information—see #57, #60, and #34Interface to the system networking protocols to communicate with the internet and the possibly remote Reader Display control software—FIG. 3#52Handle digital rights management with remote websites and exchanging of security passwords and keys—see #57and #62Communicate with the Central IBF Clearing House to verify keys and licenses—see #57, #62, and #63Extract objects associated with each page of a book from the DB and pass the text and formatting to the Reader Display Control software in response to commands from the Reader Display input—see #57, #58, and #59Display associated features from a page at the user request on the Navigator Display—#34Change menus on the Navigator Display based on user input—#60, #57, and #34Send/Receive commands to/from the OS independent layer to implement all of the Navigator Display control functionality—FIG. 3

3.2.2 The Reader Display Control Software

The Reader Display control software has responsibility to:Receive and respond to commands from the Navigator Display control software over network socket interface—seeFIG. 4#57,58, and #33Buffer and sort incoming data—#58Load the Reader Display driver text data—#58and #33Respond to on/off from a software command or possibly a hardware button—FIG. 2AandFIG. 4items #40to #44Page forward/backward from software command or possibly a hardware button—FIG. 2AandFIG. 4items #43and #44.Zoom out/in from software command or possibly a hardware button—FIG. 2AandFIG. 4items #41and #42Format text according to formatting information associated with the text—as shown inFIGS. 2D and 2E#33

Again, as a series of menus implemented via commands over the OS network socket interface, this design is very flexible to be run on a single computer or split across multiple computers or devices.

3.3 Search Functionality

Because an IBF book is now a collection of small parts called IBF Objects loaded into a relational database, the software can utilize the underlying query mechanism of most databases like SQL. The user interface can provide a search feature that will merely query the database for the indicated item. By relating the different items according to their relationships show inFIGS. 1A and 1B, this search functionality is facilitated. In this way the whole book becomes searchable—all IBF objects along with all the additional information loaded into The Interactive Book.

When a user purchases a book or an item of digital content in IBF format, there are two scenarios:1) The user is purchasing and downloading from an internet website. In this case the participating internet website that wishes to sell books in IBF must include as part of the purchasing process connection to a central IBF clearing house in which the sale of the book is registered for the publisher. If that step is not implemented, the sale can not complete, and the user will not have a valid security key to load their book. SeeFIG. 4items #57, #62, and #63.2) The user buys the book on portable storage media like a flash card in a traditional store. This version of a sale will have been registered with the central IBF clearing house server by the provider of the media or the distributor in the same way that books are sold now through distributors. SeeFIG. 4item #61.

Once the sales process has been successfully completed, each instance of a book or piece of content in IBF format will have a unique security id or key that is a combination and completely unique to the following factors (SeeFIG. 1A#5):The selling storeThe book or content serial number or ISBN numberThe system software serial numberThe number of instances of the book purchasedOther security features like encryption, etc.Any other information associated with the user to inhibit sharing of keys by multiple users (eg. Credit card number)The security key is now a unique security id across all instances of software content.

This instance of the book or content is now part of the embedded database running on the device and can not be shared or given away in the way that files in PDF or Word format can be shared. This is a new concept that a book is now a collection of elements of a database and only the system software can access this underlying database. No user can write external querying software to get these elements of the database because it is embedded in the software.

This protects publishers' content. This gives the publishers a new market to sell digital books at a fraction of the publishing costs of traditional books and feel confident that they will be paid for every item sold. Participating stores, when selling a book in IBF format will register the sale with the Central IBF Clearing House so that the publisher has an accounting of every electronic book sold. SeeFIG. 4items #57, #62, and #63. Currently, online bookstores buy a copy of a book in digital format and are on an honor system to report all sales. There is no way to guarantee how many copies of a digital book the bookstores might make and sell and never report.

3.5 Transmitting and Receiving IBF Books

Because each object contains all the information needed to parse that object as described in Section 1, the only enforced order on the transmitting of IBF information is to send the IBF Header first. However, it would be prudent to send the security key next in the IBF Book Object followed by the IBF Title Pages Object in order to facilitate the process of adding the book to the Library by the system software. All fields that hold an index into the database will be updated at runtime to hold a valid index into the DB. Once the binary file has been created with .ibf extension, this order is not changed, so each index in the incoming data will have meaning and be an offset into the data. When the book is loaded into the database on the system, each index can become a true index into the database.FIG. 4items #57, #59, #60, and #61.

The preferred method for backing up IBF Data would be to retrieve the complete book (including all added features and personalized notes because this is now the book) from the database into IBF binary format as described in Section 1 onto a storage media. If done in this way the book may be reloaded as would any new book. The backup process will contain the security key as it is part of the IBF Book Object. Because each object contains all the information to read that object, there is no enforced order on the sending or backing up of data beyond placing the IBF Header as the first line in the file.

Another method would be to use the embedded database backup functionality. This might be more efficient in a large IBF system—a library system for instance. Section 4 talks about federated servers that have mirrored copies of the same database. In this scenario the backup would be a database backup of all data. By using an embedded database on the IBF local system, the built-in database backup functionality could be used locally as well.

4 Supporting Redundant Federated Servers

Because books are now elements of database, if, for example, an SQL database is used, the features of this technique include failover and redundancy across what is known as “Federated Servers”. This could provide a significant benefit to stores, schools, or companies utilizing the IBF format to share content and books across distributed sites. This enhances the search engine capabilities across all of these servers. SeeFIG. 5.

This distributed system of servers provides a horizontal view allowing each member server to hold an identical representation of the database holding the catalogue of electronic media available for download.

FIG. 5shows redundant servers with mirrored databases for User Groups1to N. Item #68is one of these servers holding a catalogue of IBF books and digital content.

A user (see #64) with an IBF system and membership in one or more of these User Groups would:1. Request a book from one of the User Groups—item #652. Login with their username and password to access their member privileges—#663. Purchase or select the IBF book or content desired from their User Group —#674. The User Group would connect to one of the federated servers available—#685. The Security Key exchange would take place as described in Section 3.4—see item #696. The requested IBF book is downloaded to the user's IBF system from the connected server—#70

The fact that IBF data is comprised of database objects allows these servers to mirror their databases and the User Group could have connected with another of these servers and retrieved the IBF content.

Using federated servers supports the following functionality for User Groups:Each User Group within the system has access to the catalogue through at least one member server.—item #68Each User within a User Group may download media according to the user rules set by that Group for that user—item #69Each user within a User Group may share user generated “Notes” and additional information associated with a book according to the User Group rules and securityA user outside of a User Group may not access any of the privileges of a member of that User Group—item #66Each user can connect to their member server, browse, purchase, and download an electronic book using the Navigator Display user interface menus. This process does not require the user to understand the IBF database schema.

The federated system of servers may be international or local, residing on Internet host servers or intranet servers within a firewall. The model of the system includes security settings for access.

5 Representation of the Book on Physical Media

A book may be stored on a portable storage device and sold separately in stores. This book is entered into the electronic reading system by inserting the portable storage media into the device. The IBF system software will transfer the IBF file into IBF objects stored in the embedded relational database. This is not a representation of a book as in spoken books in audio format. The book is stored in IBF binary format on the physical media and is loaded into the system as described in Section 1. SeeFIG. 4#57, #59, and #61.

Imagine that the books are now sold in bookstores on this type of media. The packaging could display the book cover. This is much the trend that movies have made in going to DVD's and smaller packaging. Bookstores and libraries could hold many, many more titles than they do currently with bound books.

6 Conversion Engines

An embodiment of the inventive methodology provides' a mechanism for books to be converted to IBF format without the Publishers changing their copyrighted material. Most Publishers today have books and “eBooks” existing in formats ranging from PDF files to XML, Word documents, or Microsoft Reader format. They have a huge install base that would be difficult for them to change. SeeFIG. 6.

The inventive technique patent also applies to a conversion engine for each of the major publishing file formats currently in use:PDF—seeFIG. 6#71and #72XML—#73and #74Word—#75and #76QuarkXpress—#77and #78Other

The conversion engine for each popular format that will parse original content from a publisher and convert it to IBF content accordingly. These conversion engines may be implemented as separate software modules; combined into one software module; or implemented in hardware chips. Content could also be converted at download time with hardware support for the conversion engines.

Publishers can license the engines and convert their content ahead of time to be sold from internet websites or through bookstores on portable storage media.

7 Representation of the Book in Braille

The implementation of the Braille device is based on the foregoing description of the IBF objects and the system software. The user interface to the underlying Navigator Display system software and Reader Display system software will be different as described herein.

The Braille Navigator Display will contain a PDA type screen covering approximately ¾ of the surface area SeeFIG. 2Gitem #81. This PDA or touch screen allows the User to interact with the book reader and select menus using a stylus. This minimizes the physical buttons needed on the device and allows for greater freedom by providing most functions through software driven menus.

The Braille version of The Interactive Book may contain a plastic insert over top the PDA touch screen with holes at appropriate places so that a visually impaired person will be able to place the stylus into the holes to select menus on the screen. The Navigator will also speak out the selections so that the user can hear and verify what they have selected. With this interface, the user can select a menu displaying their Library of Books already on their device; they can then choose a book to load for reading. The user can connect to internet websites and download new books. SeeFIG. 2Gitem #81.

When the user selects the Library, that Library Menu then opens on the Navigator Display with the system reading out to the user each selection made with the plastic holes and stylus. The user may also use speech enabled search mechanism to find and load the book they are interested in. When the user selects a book from the Library, that book is then loaded as the book being read and a Table of Contents appears on the Navigator Display for the user to select any page in the book to advance to using the plastic insert with holes and the stylus.

The Reader Display contains a screen covering approximately ¾ of the surface area of refreshable Braille display technology as shown byFIG. 2Gitem #80. This is a dynamic screen that displays one page of text from the book at a time using pins that rise up and down such as tiny solenoids or piezo-electric outputs.

The terrific thing about this is that there is no change in the formatting of the book as provided by the publisher. Any book that can be read on The Interactive Book may be also read in the Braille version. This opens up the world of reading for visually impaired persons to any book in this electronic format. By using The Interactive Book software in this way, The Braille Reader is simply another way of displaying the text, there is really no change to the Navigator Display functions from the original design beyond the plastic insert and a reorganization of the presentation menu to match up with the holes in the plastic insert. There is no change to the IBF formatting of the book or additional content. The only addition is that user would have the sound feature on all the time and the system would speak out each selection the user has made or they could search by speaking to the system.

Today books made in Braille are prohibitively expensive and take a long time to make. Only a fraction of books in the world have been converted to Braille. With this design, the visually impaired person now has all books converted to IBF format available to them to read in Braille.

A Braille display is a tactile device consisting of a row of special ‘soft’ cells. A soft cell has 6 or 8 pins made of metal or nylon; pins are controlled electronically to move up and down to display characters as they appear on the display of the source system—usually a computer or Braille note taker. Soft Braille cells have either 6 or 8 dot pins depending on the model. Advanced Braille code features 8 dot Braille, but most will probably only use the 6 dot code. Dots7and8, if present, can be used to show the position of the cursor in the text or for European 8 dot Braille. They can also be used for advanced math work and for computer coding.

A number of cells are placed next to each other to form a soft or refreshable Braille line. As the little pins of each cell pop up and down they form a line of Braille text that can be read by touch. For the technically minded the pins that rise up and down are either tiny solenoids or piezo-electric outputs.

Some Braille displays also have a router facility. A router button (or sensor) controls the position of the text cursor press on the router button of a cell and the cursor moves directly over that letter in the text.

Soft Braille cells are combined in a line to make up a Braille display, The number of cells in a Braille display has been designed to manufacturers to suit the text modes of computer screens. This is because an important application of Braille displays is to provide access to computer text. Full size Braille lines are 80 cells long—this matches the number of characters across the width of a typical word processor screen.

Braille lines with less than 80 cells cope with an 80 character print line by displaying it in stages, e.g. a 20-cell line would display it in four stages. This is not ideal, but smaller displays are much cheaper than 80 cell lines, and so are therefore a more affordable purchase for many users.