WO2000002143A1 - Digital publishing and dynamic integration - Google Patents

Digital publishing and dynamic integration Download PDF

Info

Publication number
WO2000002143A1
WO2000002143A1 PCT/IL1999/000372 IL9900372W WO0002143A1 WO 2000002143 A1 WO2000002143 A1 WO 2000002143A1 IL 9900372 W IL9900372 W IL 9900372W WO 0002143 A1 WO0002143 A1 WO 0002143A1
Authority
WO
WIPO (PCT)
Prior art keywords
book
books
user
electronic
media
Prior art date
Application number
PCT/IL1999/000372
Other languages
French (fr)
Inventor
Harry Fox
Jacob Benjamin
Shlomit Becker
Shimon Shore
Daniel Brody
Jeffrey Kramer
Jonathan Holland
Ranah Livnat
Roni Wolfson
Yair Simon
Yehuda Frumkin
Original Assignee
Versaware Technologies, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Versaware Technologies, Ltd. filed Critical Versaware Technologies, Ltd.
Priority to EP99929672A priority Critical patent/EP1097422A1/en
Priority to AU46448/99A priority patent/AU4644899A/en
Priority to CA002336715A priority patent/CA2336715A1/en
Publication of WO2000002143A1 publication Critical patent/WO2000002143A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data

Definitions

  • the present invention relates to apparatus and methods for referencing information.
  • Microsoft markets a CD-ROM reference library entitled “Microsoft Encarta Reference Suite 98” which allows a user thereof to “learn proper research methods”.
  • the Library has a Search by Keyword feature and a Browse by Category feature in which all books matching the selected category or categories are displayed.
  • Amazon.com! is posted on the Internet and is self-described as a bookstore.
  • the present invention is in the general field of reference software, more specifically in the field of multimedia reference software. More particularly the present invention relates a multimedia reference software product which, provides a method and system for building and maintaining a dynamic library of books, provides a method to incorporate more media items, and which allows for efficient queries to be performed across any number of books in real-time.
  • Multimedia reference software products are becoming more and more numerous as home computers are becoming a standard means by which to perform research. It is common for multimedia reference software products to contain a pre-defined number of books to perform research on, and a pre-defined number of media items that can be viewed.
  • the system of the present invention includes the following features:
  • the formatted digital books are the input data for the library research engine 150 of Fig. 1.
  • the library research engine 150 is typically not dependent on any particular book. It can service any book in the digital format.
  • Data can include query results and media items .
  • an electronic library system including an electronic bookstore storing a multiplicity of electronic books, and a plurality of personal electronic libraries associated with a corresponding plurality of workstations, each individual personal electronic library including a library builder operative to download selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library, and a library research engine operative to search a plurality of books in the individual personal electronic library.
  • the library research engine is operative to accept a user's definition of a subset of books in the user's personal electronic library and to search only the subset of books.
  • an electronic information reservoir including a multiplicity of books each of which is stored as a separate object, and a research engine including a book searcher operative to search individual ones of the multiplicity of books and to generate a book search output, and a booksearch merger operative to merge book search outputs of a plurality of searches performed by the book searcher on a plurality of user-selected books from among the multiplicity of books, thereby to generate a global search output.
  • an electronic library system including an electronic bookstore storing a multiplicity of electronic books, and a plurality of personal electronic libraries associated with a corresponding plurality of workstations, each individual personal electronic library including a library builder operative to download selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library, and a book updater operative to perform an automatic background update of at least a portion of at least one electronic book in the individual personal electronic library which has become outdated.
  • each electronic book is organized as a hierarchy of book portions each including a meaningful portion of the contents of an electronic book and wherein the book updater, when updating an electronic book, is operative to update only those portions of the electronic book which have become outdated.
  • the system also includes a network site which posts an update of at least a portion of at least one electronic book which has become outdated and the book updater is operative to automatically dial the network site.
  • an electronic book storage system including a first plurality of electronic books of a first content type, and a second plurality of electronic books of a second content "type, wherein all of the first and second pluralities of electronic books are organized in a single hierarchical format such that a single hierarchical level within the single hierarchical format stores meaningful chunks of information of the first content type, each chunk including a meaningful portion of an individual one of the first plurality of electronic books of a first content type, and meaningful chunks of information of the second content type, each chunk including a meaningful portion of an individual one of the second plurality of electronic books of a second content type.
  • the first and pluralities of electronic books include books of any of the following content types: cookbooks, road atlases, dictionaries, encyclopedias, telephone books, picture books, novels, catalogs, instruction manuals, newspapers, and newsmagazines.
  • a multimedia book generating system including a multimedia database storing a multiplicity of multimedia elements, and a digital book generator operative to generate a digital book including text and at least one link from a location in the text to at least one of the multiplicity of multimedia elements in the multimedia database.
  • an electronic research method including storing a multiplicity of electronic books in an electronic bookstore, and associating a plurality of personal electronic libraries with a corresponding plurality of workstations, including downloading selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library, and searching a plurality of books in the individual personal electronic library.
  • the searching step includes searching all books in the individual personal electronic library in a single search operation.
  • the searching step includes accepting a user's definition of a subset of books in the user's personal electronic library and searching only the subset of books.
  • a method for searching through electronic information including storing a multiplicity of books each as a separate object, and performing an electronic researching operation including searching individual ones of the multiplicity of books and generating a book search output, and merging book search outputs of a plurality of searches performed by the book searcher on a plurality of user-selected books from among the multiplicity of books, thereby to generate a global search output.
  • an electronic library updating method including storing a multiplicity of electronic books in an electronic bookstore, and associating a plurality of personal electronic libraries with a corresponding plurality of workstations, including, for each individual personal electronic library, downloading selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library, and performing an automatic background update of at least a portion of at least one electronic book in the individual personal electronic library which has become outdated.
  • each electronic book is organized as a hierarchy of book portions each including a meaningful portion of the contents of an electronic book and wherein the update performing step, when updating an electronic book, includes updating only those portions of the electronic book which have become outdated.
  • the method also includes posting, on a network site, an update of at least a portion of at least one electronic book which has become outdated and wherein the update performing step includes automatically dialing the network site.
  • a method for storing electronic books including storing a first plurality of electronic books of a first content type, and storing a second plurality of electronic books of a second content type, wherein the stored information is organized in a single hierarchical format such that a single hierarchical level within the single hierarchical format stores meaningful chunks of information of the first content type, each chunk including a meaningful portion of an individual one of the first plurality of electronic books of a first content type and meaningful chunks of information of the second content type, each chunk including a meaningful portion of an individual one of the second plurality of electronic books of a second content type.
  • the first and pluralities of electronic books include books of any of the following content types: cookbooks, road atlases, dictionaries, encyclopedias, telephone books, picture books, novels, catalogs, instruction manuals, newspapers, and newsmagazines.
  • a method for multimedia book generation the method including storing a multiplicity of multimedia items in a multimedia database, and generating a digital book including text and at least one link from a location in the text to at least one of the multiplicity of multimedia elements in the multimedia database.
  • the system of the present invention includes a Library Builder operative to add additional content at any time without recompiling the index.
  • the system provides a Book Integrity feature whereby books remain modular objects even after they are integrated into a user's library.
  • the system is operative to perform dynamic media retrieval such that linked media can sit anywhere (including CD, hard drive and Internet) and be displayed transparently to the end user.
  • linked media can sit anywhere (including CD, hard drive and Internet) and be displayed transparently to the end user.
  • the system typically provides an Auto-update feature which updates all content modularly, typically totally in the background.
  • An optional Book Preview feature allows a book cover, specification and other contents to be viewed both on and off line.
  • the system of the present invention preferably provides a plurality of templates each of which describes the behavior of a class of book categories.
  • the template properties typically include page presentation as well as types of queries.
  • a cookbook template may support ingredient queries and may have a page layout in which ingredients and methods are displayed in different fonts and styles.
  • the system preferably includes a template sensor which automatically detects a template associated with books and changes the display on the fly without having to restart the application.
  • a template sensor which automatically detects a template associated with books and changes the display on the fly without having to restart the application.
  • One objective of a preferred embodiment of the system of the present invention is to provide for the consumer a dynamic library of books, and a strong search engine with the capability of searching for specific items within any or all of the books in the library.
  • the present invention also provides a method for publishers to turn their regular printed books into electronic books, which can then be added to a digital library.
  • the original digital library comprises reference type books .
  • the present invention permits users to view electronic, multimedia books in their own, customized, personal library.
  • the library is only be able to contain books that reside on the user's local hard drive or on an original DVD disk or CD. Future versions are to add support for books that are located on the Internet. Users are able to search within their library to locate the information they want.
  • each book The structure of each book is defined by each publisher. This means that the publisher decides how to divide up the book's contents, including the organization of text and the addition of multimedia items.
  • the User system is preferably able to create and manage a personal library and to enable a user to get to desired information quickly.
  • An optional Publisher's tool (Fig. 63) provides the ability for publishers to create electronic books and allows publishers to add multimedia Elements to their books.
  • the user's system may be delivered on a DVD disk or CD.
  • a DVD disk or CD On this DVD disk or CD there may be provided an added value item such as an encyclopedia and/or an atlas or dictionary. Additional books are typically available from the Internet, or CD-ROM's.
  • the DVD disk or CD contains a media database 170 that is used both by the original set of books and by additional books that are created using the Publisher's tool (Fig. 63).
  • the present invention is based on the typical research process .
  • the user selects a set of books to research.
  • the user searches within this set of books and notes the articles that interest him.
  • the user reviews more carefully the selected articles keeping the articles that most interest him, and then makes his report.
  • the system of the present invention models the typical research process.
  • the Library allows the user to search for desired books.
  • the Research Center which is the main part of the program, contains many ways for the user to search within his chosen books for the information that he wants. The user then adds any desired items to the Binder, and then he can go to the Binder view and concentrate more carefully on his chosen items.
  • the user has the choice of working in a standard Windows environment, or he can choose to work with a rich, full window, graphical interface.
  • the user can organize his library. He is able to group books together in bookshelves as desired. An important part of the functionality of this library is that the user is able to choose his own set of books in the library that he wants to work at any time. This set of books selected in the library forms the basis for his research in the Research Center.
  • the Research Center In the Research Center the user searches the books in his library to locate those articles and media items that interest him.
  • the Research Center has two main components, a Browser List and a Display Area.
  • the Browser List is used to browse the book titles and select individual articles or media for dis- play. The user is also be able to find any information that he wants in searching by keyword, full text, topic or media. After activating a query only those articles or media that result are displayed. Selecting an article or media in the Browser List causes it to be displayed in the Display Area. As the user finds items that he would like to save for further viewing, he is able to press the Add to Binder button, which adds the item to a list to be opened up in the Binder.
  • the Binder contains those books, chapters, articles or multimedia items that the user chooses to Add to Binder.
  • the user is easily able to switch between the Binder and the other modes in the Research Center, allowing the quick addition of new items to a binder.
  • the system of the present invention supports a variety of templates.
  • the templates allow customization of the system's engine for different types of books.
  • the templates can specify, among other things, the layout of the articles, the look of the Display Area, the topics for the book and query options. Templates are discussed in more detail hereinbelow.
  • each book is completely definable by the publisher using the publisher's tool of Fig. 63.
  • a book can be one flat list of articles.
  • the publisher also decides which if any multimedia items are to be added to his book, and to where they are placed in the book.
  • the publisher preferably is able to choose a format that represents the information in the most meaningful way.
  • the Book Divisions A general structure exists for the divisions of a book that the publisher can choose to use. The book is at the top level (the root of the tree). All publishers have this "book" level, but what is below this level is what the publisher defines. The terms for these different divisions are Media Groups 204, Media Elements 202, Media Back Matter 203 and Associated Media 205.
  • Media Data Objects 202, 203 and 204 are used to give the Book its hierarchical structure. They can be sections, parts, chapters or sub-chapters in a book, depending on what is relevant for each book.
  • the Media Data objects may have displayable data attached to them, such as text and/or other types of media, which can be viewed in the Display Area (in the main Media Window). Or a media data object may just be a section to divide the book up with no displayable data attached to it, such as a chapter title that has nothing to display in the Display Area.
  • Multimedia data may be embedded in Media Data Objects 202, 203 and 204 of type text.
  • the embedded media items are usually also Associated Media Items 205 in their own right.
  • the publisher may have embedded media that is also an Associated Media Item 205 for something like a formula.
  • Associated Media Items 205 are the multimedia or text elements in the book that come to elaborate on the Media Data Object 202, 203 or 204. Every Associated Media Item 205 is directly connected to its parent Media Data Object, and can be displayed either by choosing it in the Browser List or by choosing it from the toolbar in its parent Media Element window.
  • Associated Media Items 205 typically have displayable data attached to it (such as text, pictures, videos, sounds, animations etc.).
  • An example of an associated media item is picture of a flag of Canada, which has as its parent media element an article about Canada.
  • Media Objects Collectively, Media Containers 201, Media Elements 202, Media Groups 204, Media Back Matter 203 and Associated Media Items 205 are known as Media Objects.
  • Fig. 5 illustrates other types of media objects, comprising data presented and processed by the system.
  • the system of the present invention may be multilingual.
  • Multilingual versions may have a single language user interface, defined at startup but are able to display books in multiple languages simultaneously.
  • the design and programming are based on the UNICODE character set to support multilingual operation.
  • the system of the present invention preferably allows a set of users to communicate while collaborating on a research project.
  • Fig. 1 is a simplified functional block diagram of a digital book processing system constructed and operative in accordance with a preferred embodiment of the present invention
  • Fig. 2 is a diagram of the functional layers of the library research engine of Fig. 1;
  • Fig. 3 is a functional block diagram of the data layer of Fig. 2;
  • Fig. 4 is a diagram illustrating a representation of a book as a hierarchy of digital media objects
  • Fig. 5A is a diagram of a representation of a user's briefcase as a hierarchy of digital data objects
  • Fig. 5B is a diagram of a representation of a user's bookcase as a hierarchy of digital data objects
  • Fig. 5C is a diagram of a representation of the query hierarchical ID table of Fig. 6 as a hierarchy of digital data objects
  • Fig. 6 is a diagram illustrating dataflow between tables stored in the system of Fig. 1,
  • Fig. 7 is a diagram illustrating dataflow between the data layer of Fig. 2, and the GUI/navigator interface of Fig. 2, via the navigator layer of Fig. 2;
  • Fig. 8 is a diagram illustrating navigators and containers interacting in accordance with a preferred embodiment of the present invention.
  • Fig. 9 is a diagram illustrating a merging process performed by the navigator level of Fig. 2, in accordance with a preferred embodiment of the present invention.
  • Figs . 10 - 60 are screen displays generated by a preferred embodiment of the present invention.
  • FIG. 61 - 62 taken together, form a simplified flowchart illustration of an example of a work- session using the system of the present invention
  • Fig. 63 is a flowchart illustration of a preferred method of operation for a publisher's tool constructed and operative in accordance with a preferred embodiment of the present invention
  • Fig. 64 is a screen display of the main contents of the book entitled “Treating Asthma, Allergies, and Food Sensitivities” by Alan Pressman and Herbert D. Goodman, Philip Lief Group, Berkeley, 1997, to which tables in the specification pertain;
  • Fig. 65 is a simplified block diagram illustration of the book creation tool of Fig. 1;
  • Fig. 66 is a simplified flowchart illustration of a preferred method of operation for the book compiler of Fig. 65. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • Fig. 1 is a simplified functional block diagram of a digital book processing system constructed and operative in accordance with a preferred embodiment of the present invention.
  • the top-level functional block diagram of Fig. 1 includes the following elements:
  • the system receives, from an external electronic medium, book data 180 which may include multimedia data and which may be provided in any suitable format such as HTML format.
  • a book creation tool 120 then transforms the book data into a uniform hierarchical format described in detail below.
  • the output of the book creation tool 120 typically comprises uniformly hierarchically formatted book data 100, as described in detail below with reference to Figs. 65 - 66.
  • the digital book 100 may be delivered to users by any suitable means such as by posting on a network web server such as an Internet site 130.
  • a network web server such as an Internet site 130.
  • the uniformly hierarchically formatted books may be physically delivered to users, e.g. by conventional retail sale in digital form, such as DVD form and/or in the form of a CD-ROM 50 as shown.
  • An end-user system 135 typically includes a library database 160 and a book accessor and manipulator 150, also termed herein "the library research engine”. According to one embodiment of the present invention, books are downloaded from the Internet 130 to the library database 160 in the user system 135. Alternatively, however, the user system 135 may remotely access the books via the Internet in which case the library database 160 may reside on an Internet server or may even be omitted.
  • a universal media database 170 which stores a multiplicity of multimedia elements 110 such as photographs, videos, sounds and anima- tions . These multimedia elements are linked to a plurality of books by the book creation tool 120.
  • the universal media database may reside either locally or remotely, on an Internet server, or portions of the database may reside locally and other portions or the database in its entirety may reside on the Internet server. Additionally or alternatively, each book may be linked to its own individual media database (not shown).
  • a particular advantage of provision of a universal media database is reduction of costs for preparing digital books since preparation of the multimedia components of a book is frequently a very costly component of the preparation process as a whole.
  • Another advantage is that multimedia elements which are frequently used by a reservoir of books may be stored centrally to enable reuse in conjunction with more than one book, or in conjunction with more than one location in the same book, thereby reducing the total size of the reservoir.
  • the media database 170 stores a media database table 460 (Fig. 6) and also knowledge of how to access and use the data in table 460.
  • the media database 170 is created by a media database creation tool 190 which inputs multimedia elements 110 from external sources, using conventional methods.
  • a commercially available media database may be employed which may be created using any off-the-shelf database package such as Oracle (marketed by Corporate HQ 500 Oracle Parkway Redwood Shores CA 94065) or Jasmin (marketed by Computer Associates International Inc., One Computer Associates Plaza, Islandia NY). If this is the case, the media is typically converted into, and stored in, a format which the library research engine 150 can understand.
  • each individual digital book does not contain any media in its own right. Instead each book retrieves its media from a centralized place on the DVD disk or CD.
  • This 'database' contains a very wide variety of media that may be used by many different digital books. Each digital book accesses media via a Unique ID that recognizes the media sitting on the DVD.
  • Books 100 are prepared in the digital format through a Book Creation tool 120 by taking HTML pages 180 and integrating search data and multimedia into the book.
  • Media 110 are compressed, organized and packaged into a Media Database 170 using a Media Database Creation Tool 190.
  • the digital book is supplied via the Internet 130 or CD-ROM 140 to end-users.
  • the library research engine 150 has the ability to download books from the Internet. Th engine 150 accesses, from a DVD/CD-ROM and/or the user hard disk, a set of books to form a personal library 160.
  • Multimedia associated with books reside on the user's DVD or CD-ROM in a Media Database 170. If not there then the engine 150 goes to a predefined site on the Internet 130 to find multimedia.
  • the Media Database resides on the main DVD disk or CD along with the digital book Viewer, and contains thousands of various multimedia elements that can be displayed using the digital book viewer.
  • the multimedia items are of a rich variety and high quality.
  • the type of multimedia elements which are included here include animations, flags, maps, media albums/slide shows, music, photos, speeches and videos.
  • Media Elements 202 and Associated Media Items 205 that are of multimedia nature are not actual media but point to the media which may be in the overall media database on the DVD or CD or may be in a media database that is particular to the book.
  • Several Media Elements 202 and/or Associated Media Items 205 may point to the same picture, video, etc. The idea here is to save disk space and downloading time from the Internet, since the user already has all of the multimedia located on his local system.
  • the system allows publishers to append media to the overall media database for use in several of their books or by other publishers.
  • the system of the present invention supports a dynamic library. This means that the user chooses which books he wants to have in his library. Books may be added or removed from this library, and a user can organize his library using shelves. A user could have individual shelves for each member of his family, or a separate shelf set aside exclusively for cookbooks.
  • the “Research Desk” are the books that appear in the Research Center to work with. This means that the user can choose to work with all of the books in his library at a given time, or he can choose to work only with a certain shelf of books or a combination of books from different shelves. All of the books chosen, whether they are from a set shelf, or made up of a custom set of books, appear in the "Research Desk” list. These books appear in the Browser List in the Research Center.
  • the user When the user first installs the system of the present invention, all of the books in his library appear on the "Shelve Book" list. The user then has two options. The first option is to have the librarian shelve a new book, which places it on a pre-defined shelf. The second option is for the user to choose a shelf to place the book on.
  • the functions of the library regarding books 160 preferably include:
  • Adding ( Purchasing) Books The user has the ability to add books from the following sources: Internet, and/or CD-ROM/DVD. All books that are added are loaded onto the user's local hard disk. Alternatively, books may be physically located at a remote site. Books can be added in the standard library dialog box by clicking on the "Add Book" button. A dialog box appears asking the user whether he wants to add a book from a CD/DVD or from the Internet. In following the directions the book can be added. Books can also be added from the File menu on the top of the program.
  • Deleting Books The user is able to remove books from the library that are no longer being used. Deleting a book deletes all the associated data from the hard disk. If the user has loaded the book from a CD-ROM he may re-add the book at a later time. If the user has downloaded the book from the Internet then the book would have to be re-downloaded if the user wants to get back the book .
  • Shelving Books When the user adds a new book to the library that book is preferably placed on a shelf. If there are new books that need to be shelved, the "Shelve Books" button is available. In addition to new books, any other unshelved books appear in this list. These are books that were once shelved but the user at one point removed them from all of the shelves. There is a way to identify which of these books are new (for now this may be having the word New in brackets next to the name of the book. If there are no new books or other unshelved books to be shelved then the "Shelve Books" button is disabled.
  • the user can choose a book (or multiple books or a shelf) and press on the "Copy” button or on the "Move” button to the other shelf.
  • the user can choose a book (or multiple books or a shelf) and press on the "Copy" button. If the Research Desk tab is selected then the move button is disabled, since a book cannot be moved from a shelf to the research desk, it can only be copied to there.
  • Sorting/Searching for Books When choosing which books the user would like to work with (place on his Research Desk), the user is able to perform a search on the books in his library to find the books that meet certain criteria. Then he could choose which of these books he wants to work with.
  • the user is able to temporarily add new books to the library by leasing them. This is done through the Internet.
  • This feature permits users to add books to the library that do not reside on the local machine, such as a book on the Internet or on an external drive. In this case the book would never be downloaded to the user's hard drive, but the user would be able to view the book in the system's Viewer.
  • Such a feature is especially useful when supporting Network Computers, since the local machine does not contain a hard disk.
  • Book Properties Optionally, the user is able to view certain properties of a book such as: the book cover, a short description of the book, the publisher, the date of publication, copyright information.
  • the user is optionally able to back up a book to a zip drive.
  • FIG. 60 A preferred embodiment of the bookcase 602 of Fig. 3 is now described.
  • the user When the user first adds a book to his library he has the choice of either having the librarian place the book on a shelf or he can place the book on a shelf that he chooses. If the user has the librarian place the book on a shelf then that book gets placed on a pre-defined shelf, which was preferably defined in the Publisher's Tool (Fig. 63). If the user would like to choose a shelf for the book then he can either place it on an existing shelf or create a new shelf to put it on.
  • the user can choose to view any of the previously created shelves from the drop down list box of shelves.
  • the user chooses a shelf then all of the books that reside on that shelf appear in the list box below.
  • New Shelf A new shelf can be added to the bookcase by clicking on the "New Shelf” button. For example if the user is working on a term paper then he could create a new bookshelf called “Stephen's Term Paper", and copy into that bookcase only those books that he needs for his term paper.
  • Delete Shelf The user can delete a shelf by clicking on the "Delete Shelf” button and choosing a shelf to delete. If the user chooses to delete a shelf, and there is a book or books on that shelf which do not reside on any other shelf, then those books would appear on the "Shelve Books" list, and that button is available.
  • Remove a Book From a Shelf The user can select a book or a number of books in the currently displayed shelf and remove them from that shelf using the "Remove Book” button.
  • the term “Research Desk” refers to the collection of all active books and is represented in the screen display of Fig. 41.
  • the "Research Desk” list contains all of the active books that appear in the Browser List of the Research Center.
  • the books in this list can be all of the books in one shelf, or a combination of books from different shelves.
  • Add Book( s ) The user can add a single book to the "Research Desk” list, or he can choose a whole bookcase and add all of its books to this list. In the standard library dialog box the user can choose a book from the shelves/books list on the left and click on the "Copy" button to add it to the "Research Desk” list.
  • Remove Book( s) The user can remove a single book from the "Research Desk” list, or he can remove all of the books from this list at one time. In the standard library he can click on one or more books and click the "Remove Book” button below.
  • Fig. 2 is a diagram of the functional layers of the library research engine 150 of Fig. 1.
  • the library research engine 150 is the socket that displays the books that exist in the user's system. It is divided into five layers. Within each of these layers exist sets of objects that interact with each other .
  • These layers preferably comprise the following:
  • Database Wrapper 210 The Database wrapper is a very thin layer that hides the actual database implementation from the rest of the program. Using this data structure makes it possible to change the data storage methodology to other technologies in the future. It is also possible to have different books use different database technologies.
  • Database layer 211 The database layer 211, also termed herein “the data layer", is the layer that manages all the raw elements of any digital book in the system. Its aim is to supply requested data to higher layers. This requested data can be, but is not limited to, any of the following: media from the media database 170, HTML text 180 (Fig. 1), digital books from the library 160; search results.
  • the data layer accesses its lowest level data via the database wrapper class 210.
  • Navigator 212 The aim of the navigator 212 is to manage lists of data objects (Figs. 4 and 5) that it receives from Data Layer 211, and to permit the GUI/navigator interface layer 213 to access this data as required via simple list type calls such as GetNextObject and GetPreviousOb ect .
  • the navigator 212 mainly deals with lists of information. These lists can potentially be very large (e.g.. The results of a query.) It is the navigators' 212 task to make sure that the data is accessed and supplied efficiently to the end user, as described in detail below. Decisions pertaining to caching of results, and 'when to access' the data are preferably made by the navigator 212.
  • the navigator 212 also merges data from different books in the user's library. For example, a search may be performed on each of 3 different books, yielding three separate alphabetical lists. These lists are typically merged to obtain a query result including a single alphabetical list.
  • GUI/navigator interface 213 The aim of the GUI/navigator interface 213 is to supply a set of objects for a User interface 214. The aim is to package the contents of layers 210, 211 and 212 into a set of API ' s such that any User Interface 214 can ask for information and present the information to the end user.
  • the GUI/navigator interface 213 works together with navigators 212. As described in detail below, Navigator 212 supplies lists of a very basic type of class called a Data Object (Figs. 4 and 5). There are many different types of data objects (HTML data objects, video data objects, etc. ) each of which may be viewed differently by the system. Each type of data object may have different properties that the GUI/navigator interface 213 recognizes for handing over to the GUI .
  • Data objects are typically created in the Data layer 211 responsive to a request, from GUI 214, for a data objector a set of data objects such as a query.
  • the data layer 211 receives the request, prepares a data object or list of data objects accordingly, and supplies this through an object termed herein Data Supplier 704 (Figs. 7 and 9).
  • the Navigator 212 manages the resulting lists, including, for example, merging of several lists pertaining respectively to several books associated with a single query.
  • the Navigator 212 sometimes requests more Data Objects from the data suppliers 704 when required.
  • the Navigator feeds information to the GUI/Navigator Interface 213 responsive to GetNext and GetPrevious requests, i.e. GUI/Navigator Interface 213 can get data objects by requesting them from navigator 212.
  • GUI Graphical User Interface 214: The GUI is shown in Figs. 10 - 60.
  • the research center preferably includes the following components: a. Browser list -- list of information items currently available to user as shown on left half of screen in Fig. 20, b. Display area -- displays an information item accessed by the user by selection from the browser list or by hyperlinking or by manipulating the article navigation bar in top right hand side of Fig. 20 c. Status and system navigation bars -- as shown on bottom and left, respectively, of screen display of Fig. 20, the status and navigation bars allow user to view and change his or her status within his or her library and to move easily to different locations in the system.
  • the User interface layer 214 is the presentation layer of the system. It presents information from the interface 213 as well as accepts User request from the user to get or alter data from the GUI/Navigator interface 213.
  • Fig. 3 is a simplified functional block diagram of the Data Layer 211 of Fig. 2.
  • the system of the present invention includes one or more digital books 100.
  • the list of books is stored in the Library 160.
  • Books can be added from a Internet Bookstore 175 or CDs. Updates can also be received from an Internet Bookstore 175.
  • the user is able to organize his books in a Bookcase 602.
  • Each book supports a set of queries 604 as defined by the template 608 and a hierarchical view of articles 606.
  • the user may bookmark particular articles and place them in a binder in his Briefcase 603.
  • Articles 606 may also be linked to media from the Media Database 170.
  • Each book has a set of attributes 612, including attributes data and procedures for manipulating this data.
  • the attributes data are typically stored in Attributes table 427 of Fig. 6.
  • Bookcase 602 typically stores a bookcase table 473 (Fig. 6) and also knowledge of how to access and use the data in table 473.
  • a "binder” is a collection of articles which the user has chosen to group together.
  • the user's "briefcase” is the collection of all the binders that the user has defined.
  • a briefcase 603 typically stores a briefcase table 449 (Fig. 6) and also knowledge of how to access and use the data in table 449.
  • the library 160 is used to keep information in the system of the present invention about all the books that a user owns.
  • the database tables 401, 423, 427, 430, 440, 485 and 490 (Fig. 6) for each of the books may reside on the user hard disk or CD-ROM/DVD. The library 160 then points to the location of each book.
  • the Library 160 is the gateway to the Data layer 211. It is the first object created and the last to be deleted. When the Library is created it creates objects for the Bookcase 602, Briefcase 603 and each of the books 100 in the system. The Library 160 maintains a complete list of books 100 in the Library Table 493. Adding and deleting books is done by updating the Library Table 493.
  • the Library Table 493 is also used to maintain an active set of books.
  • the active set is the set currently being queried. All other books are stagnant.
  • the library is the gateway for accessing files and getting information from specific books. All requests for data are channeled through the Library to the appropriate book.
  • the user can organize the books in her library into bookshelves which need not be mutually exclusive as to the books placed on them.
  • bookshelves which need not be mutually exclusive as to the books placed on them.
  • there may be a shelf for encyclopedias a shelf for old books and a shelf for Judaica and an old edition of the Judaica encyclopedia may be positioned on all of these shelves.
  • the Bookcase manages the set of bookshelves.
  • Each Bookshelf comprises one or more books.
  • a book may appear on multiple bookshelves and may be freely moved between bookshelves.
  • a Bookshelf has a name, an optional user defined description, a list of books that are on that bookshelf.
  • the Briefcase 603 stores a series of binders. Binders allow the user to organize articles into projects or topics of interest. Each binder can have articles, media or Internet sites inside.
  • the Media Database 170 is the central storage site for media shared across books. This enables multiple books to share one physical piece of media and saves on disk space.
  • the Media Database 170, or parts of it, may reside on the CD/DVD, Hard Disk or Internet. Media is first looked for on the hard disk, then on the CD/DVD and finally on the Internet.
  • the media database 170 stores a media database table 460 (Fig. 6) and also knowledge of how to access and use the data in table 460.
  • Bookcase 602 typically stores a bookcase table 473 (Fig. 6) and also knowledge of how to access and use the data in table 473.
  • a briefcase 603 typically stores a briefcase table 449 (Fig. 6) and also knowledge of how to access and use the data in table 449.
  • Templates 608 are preferably provided which define certain characteristics that are common to a set of books. Common characteristics include the media formats and how to display them, the defined query types and the global set of valid values for searches on a predefined set of items such as media types or subjects.
  • a "template” is defined for each type of book accommodated by the system.
  • the system may have a separate template for each of the following: cookbooks, children's picture books, atlases, reference books, novels, catalogs, art books.
  • the template for an individual book type defines the types of query that can be performed for a book of that type and the types of media that can be associated with a book of that type.
  • the digital library database 160 of Fig. 1 typically stores the following three "template tables" for each template defined: a. Query types table 445 b. Query ID table 420 c. Query hierarchical ID table 467
  • the query types table 445 defines the types of query available in a particular template. For each query type, a language-specific name is provided, an internal system name is provided and the implementation method for the query type. For example, the system may support four possible implementation methods such as ID, hierarchical ID, string and section.
  • ID -- There is a predetermined set of valid responses.
  • a media query may have only the following as valid responses: photo, animation, video, speech, sound, music, map, flag.
  • Hierarchical ID -- Like ID except that the valid responses are organized into a hierarchical tree for the purposes of display to a user.
  • a subject search query may have a very large predetermined set of valid responses which are displayed to the user in hierarchical groups such that the user would encounter a "history” entry which, if selected, would cause the following entries to be displayed: French history, American history, British history, etc. Similarly, the user would encounter an "animals” entry which, if selected, would cause the following entries to be displayed: mammals, reptiles etc. and if "reptiles" is selected then the following entries would be displayed: snake, lizard, etc.
  • String -- A valid response is any of a plurality of strings of characters corresponding to the user's current set of active books.
  • the plurality of strings are typically predefined by defining one or more strings for each article in each book, resulting in predefinition of the valid responses once the user has selected a given set of active books.
  • the string or strings defined for each article typically comprise keywords in that article or other strings of characters in that article which are considered crucial by a producer.
  • the input to the book compiler 120 also termed herein the "book creation tool”
  • the book creation tool includes the string or strings defined for each article in the book is to be compiled.
  • Section -- A full text search of a user-selected section of an article typically includes markings for certain sections within a book, typically within each article of the book.
  • the input for a cookbook typically includes a marking of the ingredient section of each recipe ( article ) in the cookbook such that the Section query type implementation method can be used to perform an ingredient search.
  • the input for substantially any book typically includes a marking of titles such that the Section query type implementation method can be used to perform a title search.
  • the Query ID table 420 stores information pertaining to the predetermined set of valid responses for an ID implementation method. For each valid response, the table 420 stores an ID and an associated name.
  • a media query may have 8 valid responses having the following names: photo, animation, video, speech, sound, music, map, flag. Each valid response also has an ID such as the numbers from 1 to 8 respectively.
  • Query hierarchical ID table 467 Stores information pertaining to the predetermined set of valid responses for a hierarchical ID implementation method. The table is similar to table 420 except that it also includes hierarchical information for each valid response such as the following: the ID of the valid response's parent, the number of sons which the valid response has and the position of the valid response in the list of valid responses which are the sons of the valid response ' s parent .
  • templates 608 in Fig. 3 are now described. Provision of templates allows a variety of types of books to be displayed differently and have some different functionality, all within the same digital book viewer. This allows for a large selection of different types of books to exist in the system of the present invention.
  • Each type of book preferably has a template. Initially only a general reference template, appropriate for encyclopedias, dictionaries and the like and an atlas template may be provided. Optionally, other templates may be provided, such as one for cookbooks. Every book is preferably defined to use one template. Some specialized templates may require an update to the program.
  • the template typically comprise the following: a.
  • the subject list table (the set of topics and sub-topics that can be assigned to a Media object)
  • Items like the GUI layout, active set of books, current Media Element 202 and Associated Media Item 205 are preferably stored when the user exits the program and reloaded when the program is restarted.
  • Each Digital Book 100 preferably comprises: a. a plurality of articles 606 arranged in a hierarchy; b. a query system 604 defining the types of query which can be performed on the articles, where "article” is a general term referring to a meaningful portion of a book existing within a breakdown of a book into a hierarchy of meaningful portions; and c. attributes 612, typically stored in Attributes table 427 of Fig. 6, which include information relating to the book as a whole which are not defined as articles. Attribute information includes, for example, publishing information, author and title, book classification information such as ISDN, Dewey Decimal class and Library of Congress number, information regarding the book's appearance such as font, etc.
  • Each book 100 preferably comprises all information required for browsing, searching and displaying the book. This information, for each individual book, is stored in some or all of the following tables, also termed herein the "book tables" (Fig. 6): tree table 401, viewdata table 430, attributes table 427, query ID results table 440, query string results table 423, liben- try table 485, query hierarchical ID results table 490 and library table 493.
  • the choice of tables selected to store information for a particular book depend on the types of query which is it desired to provide for that book, as described herein with reference to the book creation tool of Fig. 1.
  • EXAMPLE In a book about a medical disorder, two types of query were provided: media query and keyword query.
  • the query information was stored in the following tables: query ID results 440, query string results 423.
  • query ID results 440 In an encyclopedia, the following types of query were provided: media query, keyword query and subject query.
  • the query information was stored in the following tables: query ID results 440, query string results 423, query hierarchical ID results 490.
  • Each book stores its query data separately.
  • the Query System can also provide a list of which items are present in a book for a particular type of query. For example if there is a query that displays media items according to their type, the query system knows in advance which media types are present in the book.
  • the results of any query typically comprise a list of articles that satisfy the query.
  • the library research engine 150 presents to the user the available queries according to his current active set of books.
  • queries There are typically five different types of queries: Full text, section, string, ID AND hierarchical ID.
  • Full text is a standard full text search.
  • Selection search does a full text type search on only a section of each article e.g. the title or an ingredient).
  • String search works on an unlimited set of strings that are assigned to an article, such as a keyword).
  • ID search works on an unlimited set of IDs that are assigned to an article (e.g. media type).
  • Hierarchical ID search works on an unlimited set of IDs that are assigned to an article where the IDs are organized in a hierarchical manner, e.g. a hierarchy of subjects.
  • Each book also has a set of attributes 612 such as author, publisher, page formatting and so on that is stored for the overall book as attributes, typically in Attributes table 427 of Fig. 6.
  • attributes 612 such as author, publisher, page formatting and so on that is stored for the overall book as attributes, typically in Attributes table 427 of Fig. 6.
  • the system preferably supports many books in a virtual library that are only related to each other in that they are in the digital object-oriented format of the present invention. Users may build a virtual library of books and choose any number of books from that library to research at any given time. Therefore the system preferably supports the ability to add and delete books from this library.
  • a book table compressing format (also termed herein the VEB format) is used to compress the components of the book (typically comprising the "book tables" of Fig. 6 and the book's template and any fonts used by the book) into a single file. Since the components of the book are compressed, the size of the books is considerably smaller, thereby facilitating the downloading process over the Internet.
  • the compression procedure may, for example, be implemented using a Crusher!, Version 3.2 compression package, marketed by DC Micro Development, POB 54588, Lexington, KY, USA.
  • the engine 150 has the ability to link to any number of virtual bookstores over the Internet. These bookstores contain libraries of digital books in VEB format that are available for downloading and purchasing. Each electronic bookstore 175 includes a database of books which contains pricing and updating information as well as a query database that allows for searching for books .
  • the Internet bookstore is accessed from an embedded WEB browser from within the library research engine 150.
  • the WEB site points the user to a URL (universal resource location) at which the selected book is located. This is typically a file in the VEB format. E.g. www. bookstore. acmebooks ⁇ books ⁇ bl2345.veb.
  • the embedded WEB browser checks each hyperlink for a link that has a suffix containing the letters 'VEB'. When found the browser does not navigate to the link but takes control away to perform the following tasks.
  • Book Update engine 611 The library research engine 150 has the ability to update digital books. New articles and media may be added, modified and deleted. Updates come in the form of packets. Each packet contains a list of tables containing the content and instructions for that update. An update packet is typically downloaded from the Internet although it is possible to receive a packet file (with extension VEU) from a floppy disk or CD which can then be installed with a double-click or when passed as a parameter to the library research engine 150.
  • a packet file with extension VEU
  • Updates can be initiated from a number of points in the library research engine 150.
  • Each book has its own schedule of when or how often to be updated.
  • the GUI/navigator interface 213 includes an update scheduler (not shown) which checks, for each book, to see if it is time for a new update packet to be available. If so, it tries to find, download and install the packet.
  • the update scheduler can be called automatically or manually. If it is set to run automatically, the update scheduler is run every time the library research engine 150 is started.
  • Book update attributes Typically, there are a number of attributes, i.e. options, which control the book update process and are typically stored in Attributes Table 427 of Fig. 6. Some of the attributes are specific to each book and some relate to all books.
  • the book specific attributes preferably include one, some or all of the following: 1) Last update: The creation date of the most recent update packet for this book that the user has installed.
  • Last check The last date on which the Internet was checked for the next update packet.
  • Next scheduled The date of the next expected update. There are typically two items referred to as the Next scheduled data. One is a field that is stored in the book's attributes table 427. This date either comes with a new book or was downloaded when checking the Internet for updates, or possibly comes inside an update packet. The other "Next scheduled" is the one that is displayed. This date comes from one of several date fields.
  • Updates Server The site from which to download the update packet.
  • Version # The update version number. (Updated by packet. )
  • the attributes related to all books typically include the following:
  • Enable automatic book update Turn on or off automatic (scheduled) updating for all books. (Those books whose updating is individually turned off remains off even if this attribute is turned on. ) and/or
  • Updates scheduling can be set to run automatically every time the library research engine 150 is run. Alternatively, the user can choose to start the update scheduling process.
  • the scheduler in the GUI/navigator interface 213 of Fig. 2 has the following tasks:
  • Stage (3) is preferably repeated, to provide the possibility of installing the update that already exists on the user's disk and then downloading and installing an even newer update, if one exists.
  • the user enjoys the benefit of updating books, with packets already sitting on his disk, as soon as possible.
  • a new report is created every time the scheduled process is run. If any new update packets were found or any packet downloads or installs were attempted during the scheduled updating then at the end of the update process a summary of all modifications to the book is displayed to the user.
  • a tab is added to the book attributes dialog for book updates. It typically comprises the following:
  • Last update The date that the most recent update packet, for the given book, on the user's machine was created. (Updated by packet. )
  • Next scheduled The date of the next expected update. There are actually two items referred to as the Next scheduled data. One is a field that is stored in the book's attributes table. This date either comes with a new book or was downloaded when checking the Internet for updates, or possibly comes inside an update packet. The other Next scheduled is the one that is displayed. This date comes from one of several date fields:
  • Last check The last date on which the Internet was checked for the next update packet.
  • Need to check Internet Status is set to "Need to check Internet” based on the following:
  • Packet downloaded The packet was downloaded but the user did not want to install the packet at that time.
  • Updates Server The site from which to download the update packet.
  • the program When the "Update book now” button is pressed the program first checks if there is already an update for this book on the users disk to install. Then it looks for a new update packet for the book to download and install disregarding the update dates (Last check, etc.) At the end of the process, if a packet has been installed, a publisher's report of all update changes made to this book is displayed in a web browser window with the most recent changes appearing first. The "Update book now" process currently takes place completely in the foreground.
  • Global Scheduling Options typically include the following:
  • Book List List of all books. When a book name is selected the book attributes dialog box for that book appears with the book update tab on top.
  • the updating process begins each time the user runs Versabook.exe (Appendix A) provided that (a) the user has checked off the "Enable automatic book update” checkbox (b) updates have not been turned off by way of the Product.ini file and (c) the user is registered for updates.
  • a low priority background thread (scheduler) controls the initial stages of updating. These stages include checking the book update status ' , checking for updates on the Internet, downloading, and decompressing packets. The stage that would most likely be done in the foreground would be the actual installing of the packets. For the installation phase to take place in the background, the user might not be allowed to activate the book in the "List of books” dialog box, or to access items in a binder from that book, etc.
  • the tasks of the scheduler are the following:
  • the update packet that should be downloaded for the book is the one that matches the "Version #" (the update version number) of the book; for example, a person who had already installed update #2 wants to download 2.veu (update file. )
  • This file may include updates #3, or #3 and #4, or #3 and #4 and #5, etc.
  • Accessing the file to download is done through a CGI (for example, ⁇ www. versabook.com ⁇ update cgi>:%ISBN %update packet.
  • CGI for example, ⁇ www. versabook.com ⁇ update cgi>:%ISBN %update packet.
  • a new report is created every time the scheduled process is run. If any new update packets were found or any packet downloads or installs were attempted during the scheduled updating then at the end of the update process a summary of what took place is displayed to the user. This report can also be viewed by clicking on the "View Report" button of the user options updates tab.
  • a Data Object is a generalized base object for representing one logical piece of data, for example an article, a media item, a book, a keyword etc.
  • Each data object has a name, which may be a title, as in the case of a Book Data Object 512 or Media Data Object, or just a string as in a Query String Data Object 542.
  • Every Data Object has at least two functions, Loaddata and Savedata.
  • Loaddata is the function that tells a Data Object to read its data from a record in any of the tables of Fig. 6.
  • Savedata tells the Data Object to write its data to a record in an individual one of the tables of Fig. 6.
  • Data Objects get a pointer to that table after the current record in the table is positioned correctly.
  • a digital book is viewed as a hierarchical set of objects or articles.
  • Each object in a book is referred to as a Media Object, also termed herein a "Media Data Object".
  • a media data object typically stores the title for an article in a book, the content of the article, a user defined note and other information for managing and defining the book.
  • each media data object is represented by a record in each of two tables: Tree table 401 and Viewdata table 430 (Fig. 6).
  • each of the tables 401 and 430 includes data regarding a multiplicity of objects or articles.
  • the records in the two tables which correspond to the same object are identified by their common ID (fields 402 and 431 in tables 401 and 430 respectively).
  • Fig. 4 is a representation of a typical book as a hierarchy of objects, also termed herein "media data objects” or “media objects”. As shown, there are five different types of Media Objects: Media Containers 201, Media Elements 202, Media Element BackMatter 203, Media Element Groups 204 and Associated Media Items 205.
  • Media Elements 202 form the core of the book. They may represent any meaningful portion of the book (also termed herein "article” ). Depending on the book type, each article may comprise a volume, part, section, chapter, picture or encyclopedia article.
  • each article may comprise a single recipe.
  • Sections of the cookbook may also be considered "articles", each of which comprises a plurality of recipe-articles.
  • each article may comprise a single map.
  • each article may comprise a chapter or a step in an instruction sequence.
  • each word entry may comprise an article.
  • each encyclopedia article may comprise an "article", and each subsection in each article may also comprise an article.
  • each subscriber record may comprise an article.
  • each page may comprise an article.
  • each chapter may comprise an article.
  • each article may comprise an “article” and subsections within an article may also comprise “articles”.
  • Media Elements 202 may or may not have viewable data attached to them.
  • the sons of a Media Element 202 may be other Media Elements 202 or they may be Associated Media Items 205.
  • An Media Element Back Matter 203 is similar to a Media Element 202 except that it is disregarded by a query.
  • a Media Element Group (MG) 204 is similar to a Media Element 202 in that it is not disregarded for the query. However, the article represented by the media element group is not merged with its sons when it is displayed.
  • Associated Media Elements 205 are typically in a different medium than are the majority of media elements. Typically, for conventional books, all of the media elements are text and the associated media elements are non-text elements which may, for example, be imported from the media database 170 of Fig. 1. However, if the "book" is an atlas, each map might be defined as a media element whereas country facts or other non-map, minority elements in the atlas might be defined as associated media elements.
  • Associated Media Items 205 are always the sons of Media Elements 202 and, unlike ordinary media elements, never have any sons of their own.
  • Fig. 5A is a diagram of a representation of a typical user's briefcase 603 (Fig. 3 ) as a hierarchical tree of digital data objects.
  • the root of the tree is a Root Data Object
  • Each binder is represented by a Binder Data Object
  • the Binder Data Object 503 holds a name to identify each binder and an optional user attached note.
  • the items in a Binder are either articles or Web Pages. Articles are represented by Media Data Objects 504 and Web Pages by URL Data Objects 505.
  • Fig. 5B is a diagram of a representation of a typical user's bookcase 602 (Fig. 3 ) as a hierarchical tree of digital data objects.
  • the root of the tree is a Root Data Object 502.
  • Each bookshelf is represented by a Bookshelf Data Object 511.
  • Bookshelf Data Objects hold the name of the bookshelf, an optional user defined note and an optional bitmap, bookshelf type (librarian, recy- cle bin or normal) and an internal name.
  • the items on a Bookshelf are Books and are represented by Book Data Objects 512.
  • Book Data Objects hold their name, the status of the book (active, inactive) ISBN, information for accessing the book and the book attributes 612.
  • a book is "active" if it has been selected by the user from the shelves and placed on the Research Desk. All books designated as active are searched for each query, unless a subset of active books is indicated in the definition of the query, whereas inactive books are not searched.
  • the Media Database 170 typically comprises a list of Media Database Data Objects which store Items Format information, as defined below and also information describing how to locate the actual media.
  • Items Format describes the encoding method or media format of a particular item of media, such as JPEG, MPEG1, MPEG2, GIF, Shockwave flash, quicktime, flashpix, and son.
  • the queries 604 supported by a book are represented by a list of Query Type Data Objects 531.
  • Each Query Type Data Object holds an Internal name, external name and an implementation type.
  • the external name is for display and the internal name is for implementing the query.
  • the implementation type defines the method used for implementing the search, e.g. "string”, “section”, “query hierarchical ID”, “query ID”, etc.
  • Query Results Data Objects 541, 542 and 543 there are three different Query Results Data Objects 541, 542 and 543, one for each of the query types that have a predefined set of valid query items, i.e. Query String, Query Hierarchical ID and Query ID.
  • Hierarchical ID Data Objects 541 are used to define the complete hierarchical tree for the query and the items that are attached to articles in the book.
  • String Data Objects 542 are used to define the items that are attached to articles in the book.
  • Query ID Data Objects 543 are used to define the complete set of valid response for the query and the items that are attached to articles in the book.
  • Query Results Data Objects hold a count as described in detail herein.
  • Query Hierarchical ID Data Objects and Query ID Data Objects hold IDs
  • Query String Data Objects holds a name.
  • Fig. 6 illustrates data tables provided in accordance with a preferred embodiment of the present invention.
  • the data tables include "book tables” 401, 423, 427, 430, 440, 485 and 490 for each book in the user's library, "general tables” 449, 473, 493 and 804 which store general information used by the user ' s system 135, "template tables” 420, 445 and 467 which store information pertaining to templates 608 and a "media database” table 460 storing information pertaining to the user's media database 170.
  • the template and book tables are stored in digital book library database 160 of Fig. 1
  • the general tables are stored in library research engine 150 of Fig. 1
  • the media database table is stored in media database 170 of Fig. 1.
  • Library Table 493 stores all the data relevant to the library 160 (Fig. 3). It contains the data for various manipulations of books 100 in the library and in the current active set of books in the library, such as data for the following manipulations: deleting books, adding books, getting book names.
  • the data in the Library table 493 is read by a Book Data Object 512.
  • Library table 493 preferably includes the following fields: a. Book ID 494: unique ID for each book assigned when the book is installed. Book IDs are assigned sequentially starting with 1. b. Title 495: String containing the title of the book. c. Book Status 496:
  • On/Off/Unreachable/Purged, etc. "On” means that the book is part of an active set, “off” means that the book is not part of an active set, “unreachable” means that the book is on an Internet site that cannot be reached and “purged” means that the book has been deleted from the system. These values are updated and maintained by the library research engine 150. Typically, books are "placed” on a recycle shelf after they have been deleted and until they are actually purged from the system. d. New Status 497: Flag indicating if this book is a newly bought book. Typically, this flag is permanently changed to OFF as soon as a new book has been first placed on a bookshelf. e. Book Path 498: The book path indicates where the data files for the book are stored. All the book tables (Fig. 6) for a book typically have standard names and are stored such that there is a different base directory for each book.
  • the present invention preferably provides two base directories for storing the tables of Fig. 6.
  • One base directory points to a location on the user's hard disk.
  • the other base directory points to a location on the DVD or CD.
  • the user When installing the program of the present invention the user preferably transfer all non-viewable data for DVD or CD books to his hard disk for speed purposes. This results in part of a book being on the local disk and part on the DVD or CD.
  • the system looks on the hard disk first and then on the DVD or CD.
  • the BookCase Table 473 holds all information for bookcase 602 and the list of books on a bookshelf.
  • the data in the Bookcase table 473 is read by Bookshelf Data Objects 511 and Book Data Objects 512.
  • the Bookcase table 473 preferably includes the following fields: a. Bookshelf ID 474: Unique ID assigned when the bookshelves are created or a book is placed on a bookshelf.
  • Name 475 The displayable name for a bookshelf either assigned by user or standard name for a standard bookshelf. The user may modify the name of this bookshelf at any time.
  • Internal Name 476 Name for bookshelf used to keep track of a bookshelf even if the user has modified the name . d.
  • Parent ID 477 Pointer to parent Bookshelf Object. Needed to move up in the tree.
  • Number of Sons 478 Integer indicating the total number of direct sons the Bookshelf Object has. This is useful in allowing the title browser to determine the weight of a Bookshelf Object and to determine what to display without actually traversing the tree. It is also used in the traversal of the tree to determine the last son.
  • Son Number 479 Integer indicating the position of the Bookshelf Object in the list of sons for the parent. There is an index on this field combined with the Parent ID field. This allows random access to a specific son of a bookshelf object.
  • Data Ob ect Type 480 Field indicating the type of data object to be created to hold the information in this row of the Bookcase table 473 (e.g. BookshelfDO or BookDO ) .
  • Book ID 481 Reference to a book from the Library Table 493.
  • Deletable 482 This flag indicates whether the user can delete the bookshelf. Standard bookshelves are not deletable as that is the location that new books are placed when first being installed.
  • Shelf Type 483 Is used to define special types of bookshelves. Currently there are two special bookshelves - librarian & recycle. The librarian is used to hold new books that have never been assigned to a bookshelf. The recycle shelf is used to hold books after they have been deleted before they are purged from the system.
  • Description 484 User defined textual description of a bookshelf.
  • the Briefcase Table 449 holds all information for briefcase 603 and the items in a binder.
  • the data in the Briefcase table 449 is read by Binder Data Objects 503, Media Data Objects 504 or URL Data Objects 505.
  • the Briefcase table preferably includes the following fields: a. ID 450 : unique ID for each Binder Item b.
  • Name 451 Name of the binder if the record represents a binder. If the item is Media Object then this entry could be used to allow the user to customized the name of the Media Object.
  • Parent ID 452 Pointer to parent Book- Shelf Object. Needed to move up in the tree. d.
  • Sons 453 Integer indicating the total number of direct sons the Bookshelf Object has. This is useful for the title browser in determining the weight of a Bookshelf Object and to determine what to display without actually traversing the tree. It is also used in the traversal of the tree to determine the last son.
  • Son Number 454 Integer indicating the position of the Bookshelf Object in the list of sons for the parent. There is an index on this field combined with the Parent ID field. This allows random access to a specific son of a bookshelf object. f .
  • Data Object Type 455 Field indicating the type of data object to be created to hold the information in this row of the Briefcase table 449 e.g.BinderDO, MediaDO or URLMediaDO ) .
  • Book ID 456 ID to indicate which book the media object comes from. Only used in records that represent entries in a binder.
  • Media Object ID 457 ID to indicate the media object that was placed in the binder. Used in combination with the book ID field to uniquely identify a media object in the library. Only used in records that represent entries in a binder.
  • Description 458 User defined note attached to binder or binder entry. .
  • URL 459 The URL address for a Web Page when it is added to the binder.
  • the Media Database 170 gets the actual media from the Media Database Table 460 using the Media Data- base ID 461.
  • the data in the Media database table 460 is read by Media Database Data Objects 521 or Media Database Data Objects 504.
  • the Media Database 460 typically includes the following fields: a.
  • Media Database ID 461 Unique ID for identifying objects in media database 170.
  • Location 462 This field indicates if the actual data is stored in the Viewable Data field of the Media database table 460 or in a file.
  • c. Format 463 The format of the media (e.g. jpg, gif, flash, mpeg2 d.
  • Viewable Data 464 If the data is stored in the Media database table 460 then this field contains the actual viewable data.
  • Copyright ID 465 Optional index into an optional copyright table (not shown) which indicates particulars of the copyright holder for this media.
  • Photographer ID 466 Optional index into an optional photographer table (not shown) to indicate the photographer/artist who created the media.
  • the Tree Table 401 provides and stores the information on the hierarchical structure of the book. It preferably provides all information with regard to an item in the book except the actual viewable media, which is stored in the viewdata table 430.
  • Associated Media Items 205 typically appear together at the beginning of the list of sons for the Media Objects.
  • Tree Table 401 Following is a preferred list of data fields for the Tree Table 401: a. Media Object ID 402: A unique ID assigned to each Media Object. b. Sort Name 403: Title of Media Objects with all HTML tags and special characters removed. This field allows the indexing facility of any conventional database technology to be used, so as to implement a follow-me on the name of an article. c. Name 404: Title of Media Object. Will be displayed in title browser and when an article is loaded for display. This title includes all HTML codes and special entities that are useful for displaying the name correctly on an HTML page. d. Parent ID 405 : Pointer to parent Media Object. Needed to move up in the tree. e.
  • Son Number 406 Integer indicating the position of the Media Object in the list of sons for the parent. There is an index on this field combined with the Parent ID field. This allows random access to a specific son of a media object.
  • Number of Sons 407 Integer indicating the total number of direct sons the Media Object has. This is useful for the title browser, for determining the weight of a Media Object and to determine what to display without actually traversing the tree. It also allows the last son to be determined.
  • Media Ob ect Type 408 Indicates if media object is the root of the book, a media element, an associated media item, or embedded media. i.
  • Media Type 409 Indicates the type of visual media represented by this media object.
  • Data Object Type 410 Field indicating the type of data object to be created to hold the information in this row of the Tree table 401.
  • User Note 411 User defined note attached to an article. 1.
  • Paragraph Number 412 If the item is an AMI then this field specifies which paragraph of its parent article it should be inserted in. If the paragraph number is zero the media is not embedded in the article.
  • HTML Level 413 The HTML heading tag level to be used to display the title of the article.
  • Language 414 The language of the article.
  • Version 415 Update version of the article. Initially all articles have a version of 0. p.
  • Embed List 416 A list of Media Objects that have embedded this media object in their articles. This is useful in order to know what other articles are affected if this article is deleted.
  • Reference List 417 A list of Media Objects that have hyperlinks to this media object in their articles. This is useful in order to know what other articles are affected if this article is deleted.
  • MediaDB ID 418 If the media for the media object comes from the Media Database 170 then this field is the ID for locating the media in the media database 170. There is an index on this field that allows all articles linked to a specific piece of media to be located.
  • Duplicate 419 This field indicates that this is the first media object in this book to use a given Media Database ID 461. If the media for the media object is not from the Media Database 170 this field is irrelevant. This allows the first use of a media piece in the book to be marked, and consistently used for naming the media in the media search so the results for the media search are in alphabetical order.
  • the Viewable Data Table 430 stores the viewable data associated with Media Objects. There may be two instances of the Viewdata (viewable data) table 430 for a book, one on the hard disk and one on read-only media. Specifically, if the book is delivered and used from some read-only media (i.e. CD-ROM or DVD) then the original Viewdata table 430 is left on the read-only media. Updates are stored in the Viewable Data table 430 on the hard disk. When a Media Object wants to read its viewable data it checks the viewdata table 430 on the hard disk first. If the hard disk version of the viewdata table 430 does not contain a record for the ID then the viewable data is read from the Viewable Data table on the readonly media.
  • Media Object ID 431 The unique ID assigned to each Media Object.
  • Viewable Data 432 Memo field that contains the viewable data such as an HTML file, a GIF or a JPEG. If the viewable data is stored in the media database 170 then this field contains the Media Database ID 461. If the data is stored in a standalone file then this field contains the filename of that file. The actual text of each article of a digital book 100 is typically stored in this field.
  • c. Caption 433 Memo field containing the caption for a picture.
  • Hotspot 434 Memo field containing a hotspot map for the picture.
  • this field contains the Media Database ID 461.
  • Media Format 435 Indicates the format used to store the visual media HTML, GIF, JPG)
  • Location 436 Indicates if the viewable data is stored in the memo field, a separate file, the media database 170 or that there is no viewable data for the item g.
  • Viewable Data 2 437 Memo field that contains the viewable data such as an HTML file, a GIF or a JPEG. If the viewable data is stored in the media database 170 then this field contains the Media Database ID 461. If the data is stored in a standalone file then this field contains the filename of that file. h.
  • Media Format 2 438 Indicates the format used to store the visual media (HTML, GIF, JPG) i.
  • Location 2 439 Indicates if the viewable data is stored in the memo field, a separate file, the media database 170 or that there is no viewable data for the item j .
  • Attributes Table 427 stores attributes that are applicable to the entire book rather than to individual articles therein or portions thereof. This table preferably comprises 2 fields: Name field 428 and value field 429.
  • the types of data preferably comprise the following.
  • a. Merge Level A number, greater to or equal to one, which corresponds to level on the "tree" of the article or media. The root node of the book is on level 1, the main articles of the book are on level 2, etc. There exists a user option "View sub articles with main article” where an article is considered to be a main article if its level is the same as the merge level.
  • b. Copyrights Page # Each book has an added page that contains the copyright information for all of the articles/media of that book. The "Copyrights Page #" is the ID number 402 of the record in the book's tree table 401 which stores the copyright information for the book. When the user is shown a hierarchical view of a book (Fig.
  • the copyright page is typically displayed at the bottom of the list of articles for the book i.e. at the bottom of the browser list.
  • Copyright There is copyright information for the book (as opposed to the article) which can be viewed in the general tab of the book properties ' dialog box.
  • Copyright hyperlink text There is a hyperlink at the end of every article which, when pressed, links to the copyright page for all articles/media of the book. The text of this hyperlink is stored as an attribute for the book.
  • Overview Page # Each digital book generated by the book compiler has an "overview page", which is provided by a user of the book compiler, which contains a short overview for that book such as the promotional material and/or summary that sometimes appears on the back cover of a book.
  • the "Overview Page #" is the ID number 402 of the record in the book ' s tree table 401 which stores the overview page.
  • the overview can be viewed in the book properties' dialog box overview tab.
  • Author The author of the book can be viewed in the general tab of the book properties' dialog box.
  • Publisher The publisher of the book can be viewed in the general tab of the book properties' dialog box.
  • Library of Congress # The Library of Congress number for the book can be viewed in the general tab of the book properties' dialog box.
  • Dewey Decimal # The Dewey Decimal number for the book can be viewed in the general tab of the book properties' dialog box.
  • j Dewey Decimal #
  • Book Version # The version number of the book currently on the user ' s machine can be viewed in the general tab of the book properties' dialog box.
  • Text Date The date that the processing of the text, for the current book on the user's machine, was completed. This can be viewed in the general tab of the book properties' dialog box.
  • Compile Date The date that the compiling of the current book on the user's machine was completed. This can be viewed in the general tab of the book properties' dialog box.
  • m. Default Internal Bookshelf The default (internal) bookshelf determines on which shelf an unshelved book is placed when the user chooses, in one of the library views, to have the book automatically shelved.
  • n. Default Bookshelf The same as the Internal Bookshelf name accept if modified by the user.
  • URL base The basis of the URL to be used to locate Internet media. The book's ISBN number and the media ite ' s ID number are among the parameters added to this URL.
  • Full Text Search Database Type The system of the present invention preferably has the ability to switch between different databases, such as the Verity database, that are used for the various full-text, keyword, and other searches.
  • Media Search Engine The system of the present invention preferably has the ability to switch between different conventional engines for performing media searches, selecting all media by category - video, picture, sound, etc. for all active books. Alternatively, a customized media search engine may be employed which precomputes results to facilitate rapid media searching.
  • Table Type The book tables for each book can be implemented using any conventional database technology such as but not limited to Codebase, Foxpro, SQL server and Access. Typically, all tables for a single book are implemented using a single database technology.
  • Update version # See Updates section Update status - See Updates section Update active status (Automatic update) - See Updates section
  • Updates server name See Updates section Updates URL: The URL site where updates for the book can be found.
  • Updates CGI Path The path to the program that exists at the URL site. This path includes parameters used by the program to find the appropriate updates.
  • Updates Site User Username for URL site.
  • Updates Site Password Password for URL site.
  • Update Filename The name of the update packet name that has been downloaded. This attribute is stored as an update packet may not be installed immediately after being downloaded.
  • Subscription Site The site (CGI path) at which the user can subscribe for updates for a given book. Among the parameters sent to the Subscription Site is the update version number of the book.
  • User turned off update At the beginning of the scheduled updating procedure, a list all books for which it is time to check for an update or for which an update packet needs to be downloaded or to be installed are displayed to the user. The user is then given the choice to exclude books from the update process, in which case the above attribute are set to true.
  • the book tables of Fig. 6 include 3 query result tables 423, 440 and 490. Each of these tables may be defined once or more for each book, and may not be defined at all for some books, all depending on the types of query defined for each book. For example, a popular medical book may have only two types of query defined for it: Media and keyword. Therefore, the popular medical book would have 2 query result tables, namely a Query string result table 423 for the keyword query and a query ID results table 440 for the media query.
  • Each query result table is applicable to one or more query implementation methods.
  • a book includes one instance of each of the 3 types of query result table (i.e. one physical table) for each query type defined for the book which uses the implementation method of that type of query result table.
  • a particular book may have two types of query: country search and keyword search. Both of these queries typically use the same implementation method, i.e. "String". Therefore, the book would have two query string results tables 423 and no other query result tables.
  • the Query Result Tables 423, 440 and 490 provide assistance to the user by presenting a list of items that the user can choose from to execute his query. For example if the book supports a keyword query type then the query string results table 423 implementing the keyword query type holds a list of all the keywords for all the articles in the book. In the case of a search for a string, such as a keyword, the table 423 for the keyword type query allows implementation of a "follow me" by way of the NameSort field 425 of table 423.
  • Each record in a query result table corresponds to a particular query.
  • a query result table may be supplied for all queries whose query type is Country.
  • Each such query such as Australia, Canada, Denmark etc. is a record in the query result table for the Country query type.
  • a reference count (count field) is maintained for each record in each of the query result tables 423, 440 and 490 (numbered as fields 526, 444 and 492 respectively in Fig. 6). These fields store the number of articles that respond to a particular query.
  • the reference count for the Australia record in the query result table for the Country query type stores the number of articles in the book which relate to Australia. The reference counts are useful because if the reference count of, say, the Australia record reaches zero, due to deletion of all articles related to Australia then the Australia record is removed from the query result table.
  • the Query Result tables 423, 440 and 490 also are useful for precomputation of the results for a query item in order to present results to the user very quickly. This is typically only used in the case of a Media search.
  • Name 424 The valid search strings.
  • Name Sort 425 The Sort Name field is only present where the search is for a string such as in the case of keywords. The name has all HTML tags and special characters removed. It is also normalized in lower case. This field allows the indexing facility of any conventional database technology to be used to implement a follow-me on the name of an article.
  • Count 426 The number of Media Objects that respond to a search for that key. This field must be updated whenever the book is updated. When the number of occurrences reaches zero the record may be deleted from the table 423. This field is useful for determining, after deleting an article, if the query value is still valid.
  • ID List 441 This is a field which allows a very fast query to be run. The results for a query can be precomputed and the list of Media Objects that respond to that item can be stored in a list of IDs. This greatly improves the response time but increases the amount of disk space required and increases the compilation time. It is currently only used for media where there are only a few different media types and where speed is very important.
  • Location 442 The location where the ID List is stored. Possible values are "table" or "field”. If the value is "field” then the list is stored in the ID List field. If the value is "table” then ID List typically just points to an optional table (not shown) that holds the ID List, one ID per record.
  • Each very large ID list may be stored in a separate table.
  • c - IP . 443 The valid search strings.
  • d. Count 444 The number of Media Objects that respond to a search for that key. This field must be updated whenever the book is updated. When the number of occurrences reaches zero the record may be deleted from the table 440. This field is useful for determining, after deleting an article, if the query value is still valid.
  • a. ID 491 The valid search strings.
  • b. Count 492 The number of Media Objects that respond to a search for that key. This field must be updated whenever the book is updated. When the number of occurrences reaches zero the record may be deleted from the table 490. This field is useful for determining, after deleting an article, if the query value is still valid.
  • the library research engine 150 preferably uses a suitable conventional database for full text searches which may comprise a commercially available database such as Verity Search '97 Software Developer's Toolkit Version 2.2.3, from Verity Inc., 894 Ross Drive, Sunnyvale, CA, USA. That way if a user wants to search for the existence of any word in any of the books in his system, a particular book is able to respond with its articles that answer the query.
  • a suitable conventional database for full text searches which may comprise a commercially available database such as Verity Search '97 Software Developer's Toolkit Version 2.2.3, from Verity Inc., 894 Ross Drive, Sunnyvale, CA, USA. That way if a user wants to search for the existence of any word in any of the books in his system, a particular book is able to respond with its articles that answer the query.
  • the Query Type Table 445 lists the available query types for the queries 604.
  • the data in the Query Type Table 445 is read by Query Type Data Objects 531.
  • the Query Type table 445 is part of the template 608 and preferably includes the following fields: i. External Name 446: The name of the query as it is seen by the user. ii. Internal Name 447: The name of the query as it is used internally by the data layer 211. iii. Implementation Type 448: The type of the query, e.g. one of the following: Full text, section, string, ID and hierarchical ID.
  • Query Tables 420, 467 define the set of valid items for a given query. These tables are part of the template 608.
  • the Query ID table 420 stores all possible values for a query of type ID. There is a different Query ID table for every query that has an implementation type of ID.
  • the data in the Query ID table 420 is read by Query ID Data Objects 543.
  • Each Query ID table preferably includes the following fields: a. ID 421: Unique ID for each item; and b. Name 422: String to appear in the GUI for this item.
  • the Query Hierarchical ID Table 467 stores all possible values for a query of type Hierarchical ID. There is a different Query Hierarchical ID table for every query that has an implementation type of Hierarchical ID. The data in the table is read by Query Hierarchical ID Data Objects 541.
  • Table 467 preferably includes the following fields: a. ID 468: Unique ID for item b.
  • Parent ID 469 Pointer to parent Subject.
  • Son Number 470 Integer indicating the position of the Subject in the list of sons for the parent. There is an index on this field combined with the Parent ID field. This allows random access d. Number of Sons 471 : Integer indicating the total number of direct sons the Subject has.
  • the Libentry (Library entry) table 485 stores information useful for adding a new book to the Library Table 493.
  • the fields of the Libentry table 485 preferably include the following: a. Tempname 487: The name of the template 608 for the book. This field is copied to Tempname field 551 in the library table 493. b. ISBN 488 : The international standard book number. Copied to ISBN field 553 in Library table 493. c. Name 486 : The title of the book, copied to Name field 495 in library table 493. d. Booktype 489 : Value indicating the implementation method for the book. This value is copied to Booktype field 499 in the Library Table.
  • the preference table 804 stores system-wide settings . Some of these preferences may be set and some may be alterable by the user in the Options Dialog.
  • the preference table 804 preferably includes the following fields: a. Name 805 : The name of the preference. b. Value 806 : The value to be used for the preference.
  • Fig. 7 is a diagram illustrating dataflow between the data layer 211 of Fig. 2, and the GUI/navigator interface 213 of Fig. 2, via the navigator layer 212 of Fig. 2.
  • a Data Supplier 704 is another data structure, which allows for the interaction between the Navigator layer and the Data layer.
  • a Data Supplier is an object that knows how to create Data Objects. There are two basic kinds of Data Suppliers - the Hierarchical Data Supplier and the List Data Supplier.
  • the Data Supplier data structure hides from the Navigator layer all the complexity of the Data layer internal structure.
  • the Hierarchical Data Supplier is operative to create or add a specific Data Object as a son for the given parent Data Object.
  • the son object is identified by its number among all the son objects of the given parent.
  • the Hierarchical Data Supplier also knows to traverse a hierarchical tree including going from leaf to leaf and getting the root and the list of ancestors for a given Data Object. For example if the parent object is a Book 100, the son number 3 of this parent is the third chapter of the Book.
  • GetNext and GetPrevious methods are called from the List Data Supplier to retrieve Data Objects one by one.
  • List Data Suppliers also go to a specific Data Object in the list based on any one of position, the Data Object, or based on a string (for follow Me).
  • a list data supplier may comprise the results of a query.
  • Fig. 8 illustrates data relationships between Navigators 212 and containers 801.
  • the ability to manage all of the books in a user Virtual library and provide real time responses for all books is handled by a layer called the Navigator (layer 212 in Fig. 2).
  • the aim of Navigator is to allow for the presentation of data, possibly merged from multiple books, to display to the Researcher.
  • the Navigator also is responsible for effi- ciently caching and discarding data in order to best utilize memory and give quick response to the user.
  • a Container 801 is a data structure which holds all of the Data Objects that belong to one hierarchy.
  • the Navigator layer is responsible for creating Containers and filling them with Data Objects.
  • the Data Objects which have been placed in a Container, are to be used by the Graphical Interface layer 214 of Fig. 2.
  • An example of where the Graphical Interface Layer 214 displays the Data Objects in a Container 801 is in the Browser window of the Control Pane, i.e. in the window which displays the media item.
  • Each Data Object is represented by a line of text together with a small icon. Some of the lines also have an Expand-Collapse button which indicates that the corresponding Data Object is expandable. If a Data Object is in collapsed state it is regarded as a leaf. If a Data Object is in expanded state is regarded as a branch and the Data Objects which are its sons are shown underneath it.
  • Navigator 212 Within the Navigator layer 212 of Fig. 2 there is an object called a Navigator 212, which holds a position inside a Container.
  • the Graphical Interface layer 214 can retrieve the current Data Object of a Navigator 212.
  • the Navigator performs two very useful methods
  • Interface Layer 214 communicates with the Navigator Layer
  • next data object refers to the first son of a current data object, if the current data object has sons, and otherwise, "next" is the next brother. If there are no next ( “younger” ) brothers then “next” is the next brother of the parent, and so, continuing up the tree until a next brother of some ancestor is found or until the end of the tree is reached in which case there is no “next” data object.
  • Previous refers to the last son of the previous brother. If the previous brother does not have sons then “previous” refers to the previous parent, and so on, until the root of the tree is reached. If the root of the tree is reached, there is no “previous”.
  • the "next" and “previous” data objects for a current data object are typically computed using hierarchical information stored in the parent field 469, number of children field 471 and child number field 470 of the query hierarchical ID table 467 of the current object.
  • the drawing task comprises the following steps (1) to (3):
  • the current Data Object of the Navigator is retrieved and the corresponding line is drawn.
  • the Data Object itself has all the information that is needed to draw the corresponding line, (i.e., initially, the top line ) of the Browser Window showing the hierarchy of the current book.
  • This information comprises the following three items : a) Text - The name of the Data Object. b) Level of current data object in the hierarchy of all data objects held by the navigator This information is important because the hierarchy level determines the offset, from the left edge of the window, at which the current data object is shown. c) Expand-collapse state of the Data Object.
  • one of two possible buttons is drawn at the beginning of the line to indicate that the current data object has children which will or will not be shown. If no button is drawn at the beginning of the line this typically indicates that the current data object does not have children.
  • line refers to content lines or lines of text and does not refer to the rows of pixels which make up the Browser Window.
  • Steps 1) and 2) are repeated until the window is filled.
  • a particular advantage of a preferred embodiment of the present invention which includes the Navigator data structure is that the Graphical Interface layer 214 does not need to be "aware" of containers or "understand” the structure of a Container. Only the Navigator 212 knows how to transverse a Container and retrieves the relevant information directly from the Container.
  • a Container 801 When a Container 801 is created it is not immediately filled with Data Objects 511.
  • the creation of a Data Object 511 is a relatively heavy operation, so a Container 801 is preferably filled with Data Objects only when the user of the navigator 212needs a Data Object.
  • a Container 801 is preferably filled with Data Objects only when the user of the navigator 212needs a Data Object.
  • calling the GetNext method on a Navigator filled the window.
  • Each such call to the GetNext method causes the creation of a Data Object 511. So after the first show there are only about 20 actually loaded Data Objects. All other Data Objects of the Container 801 are logically present in the sense that, for example, the range of the scroll bar takes them in account.
  • the present invention provides a preferred method for searching through electronic information which includes storing a multiplicity of books each as a separate object and performing an electronic researching operation. This operation typically includes searching individual ones of the multiplicity of books and generating a book search output and merging book search outputs of a plurality of searches performed by the book searcher on a plurality of user-selected books from among the multiplicity of books, thereby to generate a global search output. Merging is discussed below with reference to Fig. 9.
  • Fig. 9 illustrates Merging of Lists of Data Suppliers 802 which is typically performed within Navigator Layer 214.
  • each Book would be represented by one List Data Supplier object. All the List Data Suppliers are connected in a List of Data Suppliers object. Here again it is simple to show the few first items in the merged list of results. The first items from each Data Supplier are retrieved and they are added to the Container in correct order. But how can the system scroll to the middle of the merged list? In an example with one Book it is possible to simply call the appropriate method to retrieve a Data Object by its number. In the case of more than one book, the same thing cannot be done. To take an extreme example, each book may contain articles whose names begin with one letter. There is a Book for the letter A, a Book for the letter B and so on. If an article were simply picked from the middle of each Book and the results merged together it would be obviously wrong. To solve this problem an iteration method is used. Merging in few levels. 701
  • a List of Data Suppliers has all the methods that a single List Data Supplier has. So a List Data Supplier is created that is implemented as a List of Data Suppliers. Now again a few such Data Suppliers can be connected to one List of Data Suppliers.
  • the user can see all the media items from all the Books.
  • the List Data Supplier data structure allows the same code to be used for merging at all levels.
  • Fig. 7 demonstrates a preferred flow of infor- mation, comprising data objects, from data layer 211 to navigator/GUI interface layer 213.
  • data objects are shown passing from a book 100 via data suppliers 704 in the data layer 211 to a merge process 701 in the navigator 212.
  • the merge process is operative to receive data objects, from several books 100, which data objects have been passed up to the navigator/GUI interface layer 213.
  • the merge process generates, from these objects, a single unified list of data objects.
  • a preferred embodiment of the merge process 701 is described in detail with reference to Fig. 9. In the example illustrated in Fig.
  • Fig. 8 illustrates a container 801 holding a hierarchical tree of data objects which may have been merged from several books 100.
  • Several navigators 212 point to different current data objects within container 801. This allows the various navigators to share data objects and reduces resources devoted to reading of data objects from the database, thereby conserving memory storage and enhancing speed.
  • Fig. 9 illustrates a two-level merge process in which the container 801 receives data from a list of data suppliers 802 each of which in turn gets its data from a list of data suppliers 802 by way of one or more data suppliers 704.
  • Figs. 10 - 60 are screen display generated by a preferred embodiment of the present invention. Specifically:
  • Fig. 10 is a pictorial illustration of a screen display of a main menu, generated in accordance with a preferred embodiment of the present invention.
  • Fig. 11 is a pictorial illustration of a Search View screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 12 is a pictorial illustration of a Search Full Text screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 13 is a pictorial illustration of a Search Keyword screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 14 is a pictorial illustration of a Search Natural Query screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 15 is a pictorial illustration of a Search By Phrase screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 16 is a pictorial illustration of a Search - Sounds Like screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 17 is a pictorial illustration of a Search By Title screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 18 is a pictorial illustration of a Search By Topic screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 19 is a pictorial illustration of a Media View screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 20 is a pictorial illustration of a Media Animation screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 21 is a pictorial illustration of an Animation -- Full Size screen display, reached from the Media Animation screen of Fig. 20, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 22 is a pictorial illustration of a Media Video screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 23 is a pictorial illustration of a Media Sound screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 24 is a pictorial illustration of a Media Portrait Photo screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 25 is a pictorial illustration of a Media Photo screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 26 is a pictorial illustration of a Media Music screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 27 is a pictorial illustration of a Media Flags screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 28 is a pictorial illustration of a Media Map screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 29 is a pictorial illustration of a Full Screen Map screen display, reached from the Media Map screen of Fig. 28, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 30 is a pictorial illustration of a Book View screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 31 is a pictorial illustration of an Article screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 32 is a pictorial illustration of an Article - Full Screen display, reached from the Article screen display of Fig. 31, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 33 is a pictorial illustration of a Follow Me screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 34 is a pictorial illustration of a Binder screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 35 is a pictorial illustration of a Library -- Graphical Interface screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present inven- tion.
  • Fig. 36 is a pictorial illustration of a Library -- Standard Interface screen display, reached from the Library -- Graphical Interface screen display of Fig. 35, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 37 is a pictorial illustration of a Library -- Standard Interface screen display, reached from the Library -- List of Books screen display of Fig. 35, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 38 is a pictorial illustration of a Digital Book screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 39 is a pictorial illustration of a Bookstore -- Book Information screen display, reached from the Digital Bookstore screen display of Fig. 38, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 40 is a pictorial illustration of a Book Adding screen display, reached from the Bookstore -- Book Information screen display of Fig. 39, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 41 is a pictorial illustration of a Book Download screen display, reached from the Book Adding screen display of Fig. 40, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 41 is similar to Fig. 35 except that the status bar shows that a book is being downloaded from an electronic bookstore into the user's library.
  • Fig. 42 is a pictorial illustration of a New Shelf -- New Book screen display, reached from the Book Download screen display of Fig. 41, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 43 is a pictorial illustration of a New Book In Library screen display, reached from the New Shelf -- New Book screen display of Fig. 42, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 44 is a pictorial illustration of an Article From Book screen display, reached from the New Book In Library screen display of Fig. 43, which is generated in accordance with a preferred embodiment of the present invention.
  • Fig. 45 is a "Book Properties" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60, and then selecting from the resulting View menu, the "Current Book Properties" option.
  • the screen display of Fig. 45 preferably displays general information about a current book, its cover, and an overview of the book.
  • Fig. 46 is a "Book properties -- updates” screen display arrived at by selecting the "Updates” option in the screen display of Fig. 45.
  • the screen display of Fig. 45 display information about the last update of the book.
  • Fig. 47 is an "Options - general" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60, and then selecting from the resulting View menu, the "Options" and subsequently the "general” options.
  • Fig. 48 is an "Options - display” screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60, and then selecting from the resulting View menu, the "Options" and subsequently the "display” options.
  • Fig. 49 is an "Options - search" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60, and then selecting from the resulting View menu, the "Options” and subsequently the "search” options.
  • Fig. 50 is an "Options - bookstore" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60, and then selecting from the resulting View menu, the "Options” and subsequently the "bookstore” options. The user is given an opportunity to change his default bookstore.
  • Fig. 51 is an "Options - Update" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60, and then selecting from the resulting View menu, the "Options” and subsequently the "update” options.
  • Fig. 52 is a screen display arrived at by clicking on the "view” option in the screen display of any of Figs. 22 - 28, 30 - 37, 41 - 51, 53 - 56 or 58 - 60.
  • Fig. 53 is a "File view" screen display arrived at by selecting the File option in substantially any of the screen displays of Figs. 10 - 60.
  • the screen display of Fig. 53 includes a menu offering the user the following options: Internet bookstore (takes the user to his default Internet bookstore), Update from Internet (allows use to update any book in his library), New binder, Print, Page setup (for setting up of a page is to be printed) and Exit.
  • Fig. 54 is an "Edit file" screen display arrived at by selecting the Edit option in substantially any of the screen displays of Figs. 10 - 60. As shown, the screen display of Fig. 54 includes a menu offering the user the following options: Select All (allows user to select entire article) and Copy (allows user to copy whatever has been selected).
  • Fig. 55 is a "menu from article" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60.
  • the screen display of Fig. 55 includes a current article in a window with the menu on the left in another window.
  • the menu offers the user the following options: Previous (view the previous article), Next (view the next article), Binder (add the article to an existing binder or create a new binder). The user can also print the article.
  • Fig. 56 is a "Help menu" screen display arrived at by selecting the Help option in substantially any of the screen displays of Figs. 10 - 60. As shown, the screen display of Fig. 56 includes a menu offering the user the following options: Help topics, User's manual, Tour guide allowing the user to view the help topics, user's manual and tour guide respectively.
  • Fig. 57 is a "Tour guide” screen display arrived at by selecting the "tour guide” option in the menu of Fig. 56;
  • Fig. 58 is a screen display arrived at by pressing the "context" button in the righthand Article window in the screen display of Fig. 55. Pressing the "context” button results in the system showing the user the context of the item display in the window. For example, if the article is a sub-article or a photo, the context option allows the user to see the article which the item is attached to.
  • Fig. 59 is a screen display arrived at by pressing the "related" button in the righthand Article window in the screen display of Fig. 55.
  • the screen display of Fig. 59 displays keywords relating to the article. Choosing one of these keywords initiates a search for all articles with the specified keyword.
  • Fig. 60 is a screen display arrived at by pressing the "media" button in the righthand Article window in the screen display of Fig. 55.
  • the screen display of Fig. 60 lists all media in the currently displayed article. Selection of one of the media in the list results in display of that media.
  • the term "graphical library” refers to the 2D library component of GUI 214.
  • the graphical library is typically a 2-D library.
  • the main elements in the graphical library are a Bookcase with Shelves (with Books), a Research Desk, a Librarian, an Uncatalogued (Unshelved Books) Desk and a Recycled Desk.
  • the minimum screen size of the graphical library where all of the main elements fits in is 400 x 600 pixels. The user is able to make the window smaller that, but then elements are cut off from view.
  • the size of the window that was present for the Research Center remains for the Library. If the Research Center is smaller than 400 x 600 pixels then the full library is not in view and the user stretches the screen to view all of its elements.
  • Bookcase with Shelves There is a bookcase with shelves in a vertical alphabetical scrolling list. Within each shelf the user is able to scroll horizontally to see all of the books in that shelf. The books within each shelf appear in alphabetical order. Each shelf is have a drop down list box on it listing all of the shelves in the bookcase. This list is drop down when the user left clicks on the name of the shelf (there is a down arrow there as well). The user can choose any of these shelves and it appears in that spot replacing the previous shelf that is there. In this case the previous shelf appears in the slot above the new chosen one. This causes the shelves to be out of alphabetical order. The shelves remain in the order that the user has chosen to put them in even between sessions. There is a way for the user to resort the shelves to alphabetical order again if desired.
  • the spines of the books appear on the bookshelves, with the names of the books listed sideways on the spine. (As the user rolls his cursor over the spine of a book a bitmap of the cover of that book pops up, allowing the user to view the title of the book in an easier fashion - this may be chosen from a right-click menu instead - to be decided).
  • the main bitmap of a book spine is stored within the system.
  • the publisher With the Publisher's Tool (Fig. 63), the publisher is to define the color for this spine and the name to appear on the spine.
  • the publisher is also to provide the bitmap for the cover of the book, which has to be made with certain specifications (maximum size, etc. ) .
  • New Shelf The user is able to create a new shelf in the following ways: a. Right click on any shelf has the option of creating a new shelf. b. The librarian's menu has the option of creating a new shelf. c. The drop down list box on each shelf has the option of creating a new shelf in the list.
  • the menu bar on the top of the display screen has the option of creating a new shelf.
  • Delete Shelf The user is able to delete an existing shelf. If the user chooses to delete a shelf and any of its books do not reside on a different shelf as well, then those books appear on the Uncatalogued Book Desk.
  • the user is able to delete a shelf in the following ways:
  • the librarian's menu has the option to delete a shelf.
  • the user is able to right click on a shelf and have the option to view its properties.
  • the properties for now include the name of the book and a description of the book.
  • the user can copy a book to another shelf in the following ways:
  • Right click on a book gives an option to copy a book.
  • the user can then go to the desired destination shelf and paste the book there (with right click Paste or menu item Paste). Or the user can paste the book to the librarian's desk and then to a shelf.
  • Book Properties The user can right click on a book and have the option to view its properties.
  • Book properties could include the Name of the Publisher, the Date of Publication, Copyright information, etc.
  • Book Cover When the user rolls the cursor over a book a picture of the book's cover pops up. Or the user can right click on a book and has the option to view a graphic of its book cover.
  • Add Books to Research Desk The user is able to drag a book from a shelf to the research desk, or he can drag a whole shelf of books to the research desk. If a whole shelf is dragged then all of its books appear on the research desk.
  • Remove Books If the user would like to remove a book from the research desk then he can drag it to the librarian the librarian automatically puts it back on the shelf (or shelves) where it came from. The user can also drag a book back to a shelf where it was before if the shelf is in view.
  • the user can also right click on the Research Desk and their is an option to remove all of its books (clear the desk). If this is done then all of the books would return to the shelves that they were on. If there was a book on the Research Desk that had never been shelved then it would appear on the Uncatalogued Book Desk.
  • the librarian is an animated person who is available to help the user in using the graphical library. During idle time the librarian makes random motions such as yawning or blinking.
  • the librarian If the user would like to get help on a particular area in the library then he is able to do so by dragging the librarian to that place in the library. When the librarian is dragged to the different spots the librarian then offers help information about that particular spot. In the librarian's welcome help the librarian mentions this option. If the user would like to know more about a certain book in the library then he can drag the librarian to that book and the librarian gives a short description of the book. Along with giving a description of the book a picture of the book ' s cover pops up plus the text of what the librarian is saying. When the librarian finishes reading it then the book cover and text disappears.
  • Uncatalogued Books As Shelf -
  • the user has the option of saving all of the books on the Uncatalogued Book Desk as a shelf. These could be new books, other unshelved books or a combination of the two. Once books are saved on a shelf they do not appear anymore on the Uncatalogued Book Desk.
  • the librarian serves as a drop target for books.
  • Uncatalogued Book Desk The Uncatalogued Book Desk is a desk where any new books and other unshelved books reside until the user either has the librarian shelve them or chooses to shelve them himself.
  • Uncatalogued Book Desk may have other unshelved books on it. These would be books that the user has moved from the shelves and has not reshelved, or books that came from a deleted shelf. Like the new books, the user would have the option to shelve the books himself or he could have the librarian auto-shelve the books to their default shelves.
  • Recycled Desk There is a Recycled Desk, which holds books that the user has decided to delete from the library.
  • Books to the Library There is a graphic hotspot allowing the user to add books to the library. Books can also be added to the Library from a menu item. Books can be added either from a CD/DVD or from the Internet.
  • a small window can be brought up with a Web browser in it offering hyperlinks to all of the sites where the user can go to browse/buy a book.
  • This window could be small, expanded to full screen or reduced to an icon for easy re-opening.
  • This window could be a graphic of a small computer screen.
  • the system typically closes down in order to remove the DVD disk and load the CD with the new book on it. Then after choosing a new book the user typically removes the CD, reloads the DVD and start the system again. Or the program could run without its DVD in place, in which case certain features such as graphics from the DVD database would not be available until the DVD was placed in the drive again. If this is the case the user typically gets an appropriate message, recommending that the DVD disk be reloaded.
  • the new book When a new book is added to the library and the system is started up, the new book is present on the Research Desk for immediate viewing. The book is not shelved, and the user has to go to the library to shelve it. Along with residing on the Research Desk, the new book is also on the Librarian's Desk with some sort of label on it identifying it as a new book that has not been shelved. Once a new book is shelved that label disappears. A new book can be shelved either by giving it to the Librarian and having the Librarian shelve it, or by having the user drag it to a shelf.
  • Finding a Book To find where a book resides in the library, that is which shelf or shelves it resides on.
  • the graphical library functionality is typically as follows:
  • Hotspot areas are recognized through a different cursor rollover. There are 2 different types of cursors .
  • the book properties dialog typically comprises a property sheet dialog box with 2 basic pages:
  • This page will contain a mini HTML browser that will show a flash animation of the book. There will be a button to permit the user to go to full screen.
  • Clicking on a Book shelf The following activation methods can be used on a book: Click and drag, and Begin to drag the book shelf.
  • Dragging a shelf In general a shelf can be dragged to any place that a book can be dragged to. The result will be that an enumeration operation will take place. i.e.. The action will take effect on all the books in the shelf.
  • the Research Center component of GUI 214 is now described.
  • the user searches his active set of books for the articles that most interest him. He has several tools to assist him in his search including a keyword search and a sub ect/topic search. He can also view articles, display their associated media and jump between associated articles.
  • the Research Center typically comprises two main components: a. The Browser List which allows him to search for items and select them for viewing, and b. the Display Area where he can view the item.
  • the Browser List has 4 different tabs to choose from. For each tab the information in the Browser List is sorted differently.
  • the icons are: book (closed and opened icons), chapter without information attached to it (closed and opened icons), chapter with information attached to it, text, photo, video, map, speech, music, animation, flag, media album/slide show.
  • the titles displayed in the Browser List are taken from the Media Groups 204, Media Elements 202, Media Back Matter 203 and Associated Media Items 205 for the book.
  • the user can select any Media Group 204, Media Element 202 or Associated Media item 205 to be displayed in the Display Area.
  • the user can also select the book title in which case the book cover is displayed in the display area.
  • the structure of the book that is its breakdown and how it is displayed in the Browser List, is defined by the publisher using the Publisher's Tool of Fig. 63.
  • the Browser List area can be made larger by dragging it to the right with the slide bar (and the Display Area gets smaller in proportion).
  • the Browser List only gets longer, and not wider.
  • the Display Area gets longer and wider.
  • the options include searching by keyword, full text, topic or media.
  • the query system is designed to give meaningful results to the user.
  • the system preferably provides four different choices to choose from in the Search tab, allowing him to search for information in different ways.
  • There are 3 radio button choices allowing the user different ways to perform a search.
  • Full Text Search When the user chooses the full text radio button he is able to type in one or more words, hit the Find button, and see the results in the Browser List in alphabetical order.
  • the Title Browser result list displays all of the items that have the specified word or words within them in any location of the text.
  • a Natural Language Query means that the user can type in a normal question sentence and get all of the items that match the results. For example the user could type into the text box: "What is the longest river in Africa?" The way this search actually works is to take all of tne main words in the sentence and place "and's" between them. For example here the search would really be "Longest and River and Africa". The results in the Title Browser display all of the items that have these 3 words in their text.
  • the drop down list for the Full Text combo box contains the previous Full Text searches performed in this session of using the system of the present invention.
  • Most systems today use full text searches. This method searches for words inside articles, and displays every article that has that word in it. This type of search may not always give the user an accurate result of what is actually being searched for since it is very general. Thus what happens is that the user gets too much information that needs to be filtered.
  • Full word search is provided, but also, preferably, a keyword query, which should give a list containing more refined and accurate results.
  • the full text search has collapse/expand and a follow me on the highest level. If a parent and child items both have certain word appearing in them, then if that word is searched for then only the parent shows in the Title Browser with a plus sign next to it allowing its children to be viewed if desired.
  • the results in the Full Text Browser List can include articles, books, chapters, and other types of multimedia (such as Pictures, if they have that word in their caption).
  • a keyword is a word that describes a main aspect of an item. Keywords are attached to such items as books, chapters, articles or pieces of multimedia. Each keyword is made up of one word only. To implement the keyword query each item, at every level of the hierarchy, is allowed to have one or more keywords attached to it. Each viewable item has at least one keyword attached to it. Parent and child items are not allowed to have the same keyword attached to them. When conducting a query the user is able to use one or more keywords in his search.
  • the user is able to choose a keyword from a dropdown list of keywords. Or he can start to type in the combo list type box and the follow me function works, displaying the closest alphabetical match for that word. It is to be decided if the dropdown list is available for version 1. If it is not ready yet then a regular type box appears and the user can type in any word. If the typed in word does not exactly match a word in the keyword list then the search results are zero. After a keyword is chosen the user then presses the Find button.
  • Version 1 is weighted keywords or not. If weighted keyword exist then the Browser List displays the keyword search results in order of relevance, and not in alphabetical order. Therefore there would be no follow me functionality. If weighted keywords are not available for version 1 then the Browser List displays the keyword search results in alphabetical order, and there is follow me functionality. Both weighted and non-weighted keywords would have the drop down combo box list if it is available.
  • Keywords may be attached using the Publisher's Tool of Fig. 63. There is an initial pre-defined list of keywords for the system, for the publishers to choose from, but the publisher is able to add additional keywords if needed. Keyword is preferably weighted using the Publisher's Tool of Fig. 63. When the publisher attaches keywords to each item he also attaches a number indicating the relevance of the keyword to the item. This provides a weighting system, so when the user searches for a key word the resulting items in the Browser List are listed according to the weighting that the keyword had for each item. This design should give the user a list where the most relevant results are listed first. Both the weighted and not weighted keyword methods would have collapse/expand in the Browser List.
  • Keyword list When new keywords are added to the system then they are added to this keyword list.
  • the list of keywords appearing in the combo box reflects all of the keywords that are used in the current selection of books that the user has chosen. If a keyword has no items attached to it then it does not appear in the list.
  • the Publisher's Tool of Fig. 63 creates key words for items. This technology could include taking main words out of an item's Master Title and out of the book's index to create keywords for each item.
  • Keywords are typically inherited. This means that if someone searches for Animals & Cat and Animals is a keyword attached to the Book and Cat is a keyword attached to a Media Element 202 in the Book then that Media Element 202 is returned. In other words, the article had the keyword Cat attached to it, but not the keyword Animals attached to it. But since the article's parent Book had the keyword Animals attached to it the article met the requirements of both Cat & Animals.
  • stemming dictionary on the DVD that is produced by the editorial staff.
  • This stemming dictionary connects all versions of a word or concept to the same basic keyword (e.g. color and color are connected to the basic keyword: color).
  • the publisher enters a keyword it is translated through the stemming dictionary to the base keyword and that keyword is stored with the book.
  • the user enters a keyword it is translated through the stemming dictionary to the base keyword and that keyword is used to search the book.
  • Keywords are defined in the language appropriate for the book.
  • a French book has French keywords. When doing a query searching for an English keyword does NOT find articles that have the same keyword in French.
  • Topic Search In the topic search the user can browse through a choice of subjects, where related items grouped together. In general a topic differs from a keyword in that it is broader.
  • Topic search the user sees a tree of topics to choose from. He then chooses a topic and open up its tree to view all of the sub-topics for that topic. The user can then select a sub-topic and press on the find button and see the results in the Browser List. Only one item can be chosen here at a time. (More than one topic and/or sub-topic can be chosen in the Advanced Search dialog box).
  • the subject results that are listed in the browser is in alphabetical order and can be of any type, a book, chapter, article or multimedia item. There is collapse/expand here and follow me functionality for the highest level of the tree.
  • Topics can be associated with any type of media, and each media object may have an unlimited number of topics associated with it. A parent and a child media object cannot have the same topic attached to it.
  • Each template defines a superset of topics and sub-topics that are appropriate for books that use that template.
  • Each book then specifies the set of topics that are actually connected to media objects in the book.
  • the list of topics that is presented to him is limited to those topics and subtopics that are attached to media objects in the current selection of books.
  • the user is able to use a combination of requests in his search. He can choose to add as many criteria to his list as he would like.
  • the types of items to choose from are keywords, topics, media, word in text and word in title.
  • the types of media that can be chosen in a search include both articles and all of the other multimedia types in the program.
  • the last list box to the right in the dialog box changes its list depending on which type of item is chosen. For example if keyword is chosen then this list displays all of the keywords available.
  • the chosen search list is always saved when the user activates the search and leaves the search dialog box. (Maybe this is a user option - whether or not the previous search criteria are automatically saved).
  • the "Clear List" button can then be pressed to start a new search.
  • the system provides a way to save multiple lists of search criteria, so the user is able to go back to that search easily.
  • search Methodology With the simple search the default type of search is the keyword query type. If the keyword query does not bring satisfactory results to the user then he may conduct a full word search to get a broader range of results. The idea here is to try to give the user first a list of the most meaningful results for his search, but if he still desires to look further then he can go on to a full text search.
  • the simple search and the search dialog box provides both options, so if the user wants to first do a full text search then he may. Since a preferred aspect of the system of the present invention is to provide a strong search engine, it is desirable to give the user these various options to ensure that he gets the information that he is looking for.
  • each item that satisfies the query is displayed in the browser, along with a weighting that illustrates the rele- vance of the item to the keywords being searched for.
  • Items resulting from a keyword query can be books, chapters, articles or multimedia items.
  • the weighting system cannot be implemented for the first version then the keyword query results is listed in alphabetical order with a follow me type box above the browser list.
  • the display in the browser for both types of searches is a list of all of the items that satisfy the search. Since whole books and chapters can also be the results of a query, these items can be listed here as well, and can be opened up to view their contents with collapse/expand. All of these items are displayed at the highest level (the far left) in the title browser regardless of their type. If the user would like to see the hierarchy of any item, (that is, the book, chapter, etc., from where it comes) then he is able to open up a small box allowing him to see the direct hierarchy for the item. In this small hierarchy the item that comes from the browser appears in a different color text.
  • Media View This view allows the user to see any or all of the multimedia items that are in his current selection of books (the Research Desk). The user is able to filter on and off the different types of media that appears in the Browser List. As of now the list includes 8 types of media. They are: animations, flags, maps, media albums/slide shows, music, photos, speeches and videos. Articles are not included in this view. There is tool tip text as the user rolls the cursor over any of the media buttons telling what the icon stands for. If the current selection of books does not include any items of a certain media type, then that media type (button) is disabled.
  • the Browser List is in alphabetical order, with follow me functionality. There is no collapse/expand function here. All of the items in this list is displayed at the highest level in the browser list, regardless of their type.
  • Each Media Element 202 and Associated Media Item 205 can only be defined to be one type of media.
  • the set of available media that can appear in the Title Browser is determined from the selection of active books.
  • the superset of media types is described by the template. A parent and a child object cannot have the same media item attached to it.
  • This Media view displays only Media Elements 202 or Associated Media Items 205 and not embedded media. If the item is an associated media item then when it is displayed in the Display Area the article that the media item is attached to is displayed behind it in the Media Window.
  • Binder View The Binder is where the user can save any media item or associated media item for future use.
  • a Binder is like a named and saved notebook containing all of the chosen items that the user wants to keep together.
  • the top "Binders" list box contains the names of all of the previously created binders. When the user clicks on one of these binder names, all of the items in that binder appears in the list box below. The user can then choose to view any of these items in the Display Window to the right.
  • the items in a binder can be any type of media object, including books, chapters article or multimedia items.
  • Binder icon At the root of the tree. Next to this icon is written the text "Number of items in this Binder", and the number of items).
  • Binder tab For the first time using the system of the present invention, when the user clicks on the Binder tab there are no binders listed. The user has to create a new binder in order to begin adding items to a binder.
  • Binder tab When the user first views the Binder tab in a session of using the system of the present invention, a list of all of the previously created Binders is displayed in the top list. None of the Binders in this list is selected. When the user double-clicks on a Binder in the list (or single clicks in a Binder in the list and clicks on the Open button) all of the items in that Binder appears in the list box below. Only one Binder may be open at any one time.
  • the Binder contains all of the items that the user has chosen to "Add to Binder” .
  • the user can add an item to a binder from the Browser List through the right click menu.
  • the main way that the user is expected to add an item to the Binder is from the Display Window, where there is an easy to use "Add to Binder" button in the toolbar above all articles and multimedia items.
  • Binder tab Another way the user can choose a binder is to first go into the Binder tab and choose a binder (by either opening an existing one or creating a new one). Then when he adds items to a binder they is automatically added to the chosen binder.
  • that chosen binder is the binder that items are added to when the user adds an item to a binder. If the user would like to add an item to a different binder then he must first go back to the Binder tab and choose a different binder, then any item added to a binder are added to the new chosen binder.
  • Open Binder The user opens a previously saved binder by either by double-clicking on it in the "Binders” list, or by single clicking on it in the "Binders” list and clicking the "Open" button.
  • New Binder The user can create a new binder by clicking on the "New" button. When the new button is clicked a highlighted typing area are available on the top of the binder list allowing the user to type a name for his binder. (Or there can be a dialog box allowing a description of the binder as well, as there is for a new shelf). The bottom list box are then cleared. The user then adds items to that binder by going back to the other tabs and the Display Area items and choosing Add to Binder.
  • Delete Binder This button allows the user to delete a whole existing binder and all of its contents. The user can choose a binder in the "Binders" list and click on the "Delete” button.
  • Save binder Actions are automatically saved in a binder as they are implemented.
  • Delete Item The user can delete an item from a binder by choosing the item in the Browser List and clicking on the "Delete Item" button below the Browser List.
  • Reordering Items The user can reorder items within a binder by choosing an item in a binder and then clicking on the up or down arrows to move that selected item up or down within the list.
  • Print All The user can print the contents of all of the items in a binder by choosing a binder and clicking on the "Print All Items" button below the Browser List.
  • Binder The user can copy or move an item from one binder to another binder.
  • the set of active books may be stored with a Binder and reloaded when the Binder is loaded. This represents the model where a user interrupts his research and then wants to continue.
  • Optional features include:
  • a Binder is able to contain items in it that arrive from outside the system, such as links to the Internet or Word documents. For now if the user has called up a URL to view in the Display Window, then the Add to Binder button is disabled while that item is in the Display Window.
  • the binder when an Internet page is added to a binder, the user to edit the title of the page so it is meaningful to the user when it is in the binder list.
  • An aim for the binder is to be able to include items such as these so the user can create an all-encompassing research project using the system of the present invention.
  • Hierarchy Window After the user conducts a search or views a list of media he can, through the right-click menu, choose to view the hierarchy of any item that is on a lower level than the book level, if its book is not listed above it already. For example this means that if the user receives an article in his search Browser List, then he can use the hierarchy functionality to see which book, chapter, etc. that article came from.
  • Next/Previous The user is able to open up the Media Elements 202 listed in the title browser easily without having to scroll and choose each item in the browser list. This allows the user to examine, in turn, each item that was returned by a query or a set of filters.
  • the main usefulness of this function is when the user has opened a window in his Display Area to be viewed full screen, so the Browser List is not in view to choose an entry. The location of these buttons is therefore be on the Display Area window itself.
  • Add to Binder This function allows the user to add a selected item in the title browser to the Binder. This can include adding a whole book or chapter to the binder.
  • the Display Area is the area that any item chosen in the Browser List can be displayed, including books, chapters, articles and associated media items. If the user chooses to view a Book itself then the book cover is shown.
  • the Display Area window is always opened, and something is always be displayed in it. It can be expanded to fill the whole screen of the system by pressing on the expand button in the title bar. Or it can be dragged to be made larger with the slide bar located between the Display Area and the Browser List (making the Browser List narrower). Or the Display Area window can be changed in size by changing the size of the product window.
  • the internal layout of the Display Area, the graphic behind its toolbar, and its background GIF file is defined by book attributes 612 for the displayed Media Element 202.
  • the cookbook template may define the ingredients to be listed on the top of the Display Window, and the directions below it.
  • the graphic behind the toolbar could be representative of cooking.
  • the cookbook template again could define a button to appear on the display area allow in the user to scale a recipe.
  • the visual transition of the display area is as smooth and unobtrusive as possible. The rest of the interface does not change as the display area changes here.
  • the item being displayed is text (e.g. an article or chapter) then there can also be embedded media inside of it.
  • an embedded media item is also represented as an Associated Media item 205 for that article or chapter then the user can click on the embedded media item to view the Associated Media item 205 of the same piece of media.
  • the Associated Media item 205 is most likely a larger size than the embedded media item and it can also be copied or saved to a binder on its own, whereas an embedded media item cannot ( it is part of the text). Most embedded media items also have an Associated Media item entry as well.
  • the layout of the Display Window includes the Book Title Bar, A Toolbar, an Article/Media Title/History List and a Display Area for the articles and media.
  • Book Title Bar The title of the book here is the book where the currently displayed article or media item comes from. There is an expand button on this title bar to allow the user to expand the Display Window to take up the whole area of the application. When it is expanded the Browser List goes away. When expanded to large size a contract button replaces the space of the previous expand button, allowing the user to view the Browser List again and reduce the size of the Display Window.
  • Toolbar When the user rolls the cursor over one of the toolbar icons then it appears as a button.
  • the user has the option of viewing the toolbar with or without the text below the icons. This change can be made in the User Options dialog box.
  • Previous and Next in Book When the previous and next buttons are pressed then the previous and next items in the current book is displayed in the Display Area. These items would include any item in the tree (e.g. book cover, chapters, articles and associated media) .
  • the rollover text reads "Previous Item in Book” and "Next Item in Book”.
  • the next button is disabled.
  • Associated Media 205 When the user presses on the Media button a drop down (scrolling if needed) list of Associated Media 205 appears. Next to each piece of media is an icon telling which type of media the item is.
  • the user can then choose a media item in this list to view in the Display Area. After viewing a media item the user can go back to an article either by choosing the article from the same drop down list where the media was chosen from, or by clicking on the "Go to Article" hyperlink text displayed in the Display Area.
  • the user can choose to view another media item in the current book.
  • the user can choose another media item from the same drop down list.
  • the user can choose a media item in the tree. Or if relevant the user can click on the previous and next in book buttons if there are other associated media items attached to the chosen article.
  • a media item is usually text and its associated media is usually one of the types of multimedia. But in some cases the media item could be a type of multimedia, such as with an atlas where the main media items could be maps and their associated media items could be text descriptions of the maps.
  • the system of the present invention executes this function by conducting a query using the keywords from the displayed media element.
  • the query is executing using the two highest weighted keywords from the displayed media element joined by an OR.
  • the results of the search is displayed in the Search Browser List with the keyword radio button selected.
  • the Browser List does not show where the currently displayed article or media item is located. If the user would like to have the Browser List display the location of the item in the Display Window then the Context button can be pressed.
  • Add to Binder When the Add to Binder button is pressed the media element or associated media element displayed in the display window is added to the current Binder.
  • Print The user is preferably able to print the contents of the Display Area. Only text, pictures and possibly individual video frames typically have this feature. Optionally, only a selected portion of a text article is printed. Printing can also be done through the menu bar (File-Print).
  • This function comprises a combo box and two arrow buttons.
  • the article title is preferably displayed in the combo box.
  • the user typically is able to click on the arrow of the combo box and choose to display any of the previous items viewed, which acts as a History list.
  • the number of items in this list can be altered as a user option. There is a maximum number for this option.
  • the user is able to click on the back and forward buttons to the left of the combo box, which respectively run through the items in the history list. When the user is viewing the first item in the history list then the back button is disabled, and when the user is viewing the last item in the history list the forward button is disabled.
  • the user is also able to type into the type area of the combo box and conduct a query by pressing on the return bar on the keyboard.
  • a URL can also be typed or pasted into here bringing up a Web page.
  • the item displayed in this area can be a book cover, chapter, article, media or associated media item.
  • the background GIF file behind the text is determined by the book template chosen.
  • the top of the display area has an outline of articles ( and/or media items ) that appear in the next level of the tree under the displayed item.
  • the items in this outline are preferably all hotlinks, which the user can click on to view the items in the display window. This is especially useful for listing the items in a chapter.
  • the item in the display area can contain other hotlinks (text) or hotspots (pictures) which links to other media elements within the same book.
  • Text hotlinks are displayed in a different color, and the cursor changes when it is rolled over them. When the cursor is rolled over a graphic hotspot then it changes as well.
  • the user is able to copy the contents of this to the clipboard. Only text, pictures and possibly individual video frames have this feature. Copying is done through the Edit menu on the clipboard, or with the copy shortcut key.
  • Optional Next/Previous in Browser List Feature The user is able to open up the next or previous media item in the Browser List without having to click on that item in the Browser List.
  • the main advantage of these functions is when the user has expanded the media window to full screen, and the Browser List is not in view.
  • this button When this button is used the next item in the tree is displayed, going through the hierarchy, even if the tree itself is not opened in the Browser List. When the user is viewing the first or last items in the Browser List, then the respective previous and next buttons are disabled.
  • Double Clicking on a Word brings up a query box that allows the user to execute a query based on the word he has double clicked on. Alternatively the appropriate entry in the dictionary is displayed.
  • Status Bar In the Research Center the status bar contains some "quick functions", and other content relevant information.
  • the current functions in the Status Bar are the “Library” button, the “Books” button, standard information and the "Binder” status.
  • the user is able to decide in user options whether this button displays the standard library dialog box or the graphical library.
  • the user is also able to get to either the standard library dialog box or the graphical library from the View menu above.
  • the user can quickly turn additional books on, or turn books off as desired, and this is be reflected in the Browser List.
  • the user After making changes with the Book box here the user is optionally able to save the current set of books in the Browser List as a new shelf.
  • Standard Status Information The status bar also displays standard status bar information.
  • Binder Status This area is a quick way for the user to see which binder is the currently selected binder.
  • Shelf List This is typically a pop-up combo box, which reflects the types of books that currently appear in the Browser List.
  • the choices in this drop-down list are the names of all of the shelves in the library, allowing the user to quickly jump to work with a different set of books.
  • a shelf is chosen all of its books appear in the Browser List by themselves.
  • Stop Button There is typically a stop button on the status bar, which allows the user to stop any action that has been started, such as a search.
  • Menu Bar On the top of the screen there is a standard type menu bar, which appears for all views. The items in this menu bar changes to reflect the view that the user is presently in.
  • Figs. 61 - 62 taken together, form a simplified flowchart illustration of an example of a work- session using the system of the present invention.
  • the Main Menu displays the different options available in the F&W Encyclopedia. To enter, click on one of the following:
  • Search Opens the Research Center with the Search tab selected.
  • search tab selected.
  • the user can choose the search options s/he needs to conduct his or her research.
  • Media Gallery Opens the Research Center with the Media tab selected.
  • a Media Gallery Table of Contents is displayed in the View Pane.
  • Binder Opens the Research Center with the Binder tab selected. Here the user can collect and organize all his or her research in file folders called Binders (collections of articles and websites for specific projects) for future reference.
  • the Research Center is the main Funk & Wagnalls window and is where the user searches, views, organizes and saves articles and media.
  • the window typically comprises three main components:
  • Tabs appear on the Tool Bar above the Control Pane of the Funk & Wagnalls Research Center. They allow the user to display a list of all the books on the user's Research Desk, display the different search capabilities, check out the Media Gallery, and manage the user's Binders.
  • Buttons appear on the Tool Bar in the View Pane of the Research Center. They allow the user to view previous and next articles in the book the user is researching, display associated media, show the user the book in which the article appears, add an article to a Binder, and print a selected article.
  • assisted may carry out other searches by using other options, termed herein "advanced” options, which may for example provide the following options:
  • the user can then sort his or her findings alphabetically or by score (a reflection of how closely the article is related to his or her search request).
  • Binders The user can organize and save all his or her found articles, media items, and even Internet URLs (addresses) in file folders called Binders, for future reference. Binders may be created and reorganized, and their contents printed.
  • the Funk & Wagnalls Unabridged Encyclopedia is packed with thousands of media, which can be selected for viewing through the Media Gallery Table of Contents.
  • a Library Builder allows the user to create his or her own personalized digital Library.
  • Updating books in user's digital Library Every updated article or new book in the user's digital Library is incorporated, sorted, assigned keywords and cataloged for easy searching at a later date. The user can check for updates on a specific book or on all the books in his or her digital Library
  • the digital book system allows the user to purchase and download new books to his or her digital Library from two sources :
  • the user's new book is typically seamlessly integrated into his or her digital Library and placed on his or her Research Desk for immediate use.
  • the digital librarian also termed herein the "bookworm, " sits in the library, waiting to assist the user.
  • the librarian is operative to explain the various features of the Graphical Library or help the user hook up with an Internet bookstore or get back to the Research Center.
  • the user can also have the librarian read him or her a book.
  • the software embodiment of Appendix A may be provided with a CD-ROM encyclopedia with a completely- stocked, fully-searchable, home digital library. Thousands of books can be downloaded from the online digital book store, then seamlessly integrated by a library builder into the user's electronic library. To compile a Book or to compile media, using the software embodiment of Appendix A, the following steps may be performed:
  • the text of the book to be compiled is assumed to exist in the form of one or more electronic Word For Windows documents. Typically, a very lengthy book appears as more than one electronic documents. For example, a book whose text is 100 megabytes long may be represented by 50 2 megabyte documents.
  • Each such document is converted into a Master Document. This is done by converting each Word For Windows document into RTF Winhelp format except that article IDs are stored after the titles, with a style tag called Article ID, rather than having the article ID appearing in a footnote before the article's title as in RTF Winhelp format .
  • VersaBookMakeMasterHTML unit 907 converts Master documents 906 into Master HTML Documents 908. To perform this conversion, using Microsoft Word 97, type in code entitled “VersabookMasterHtml” in Appendix A, into a VBA (Visual Basic Application) and name the VBA "VersaBookMakeMasterHTML".
  • filelist.doc is a list of the master documents characterizing the book being compiled. This step is performed by pressing the buttons [tools] [macro] (choose "VersaBookMakeMasterHTML” ) [run] .
  • Visual Basic 5.0 may be used to run Versabook- CompilerQ2. vbp .
  • Book Tree Processor 909 converts Master HTML Documents 908 to Outline Tree 910 and Mini HTML Documents 911 using article information database 903 for keywords and subjects and using media from conventional media archives such as Archive Photo in New York, ASAP in Tel Aviv, Israel, Bettman Photo in New York.
  • the term “media” may include text.
  • the media database 170 of Fig. 1 may include text although it most typically stores non-text information such as sound and pictures. "Media queries” could search for all types of media items including text.
  • the term “media data objects” refers to both text media items and non-text media items.
  • Fig. 63 is a flowchart illustration of a preferred method of operation for a publisher ' s tool constructed and operative in accordance with a preferred embodiment of the present invention.
  • the publisher's tool also termed herein the “publisher's book digitizing system", is operative to facilitate digitization of a book by a publisher.
  • the source documents of the book are converted into the Master Document format.
  • the source documents can start out in any format.
  • the Master Document format will be HTML and in the future XML. This step typically includes conversion of documents to HTML and organization of HTML documents.

Abstract

An electronic library system comprising an electronic bookstore storing a multiplicity of electronic books, and a plurality of personal electronic libraries associated with a corresponding plurality of workstations, each individual personal electronic library comprising a library builder operative to download selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library, and a library research engine operative to search a plurality of books in the individual personal electronic library.

Description

DIGITAL PUBLISHING AND DYNAMIC INTEGRATION
The present invention relates to apparatus and methods for referencing information.
BACKGROUND OF THE INVENTION
An article entitled " estlaw White Paper Information on Your Terms" describes considerations in providing information, such as information from the Westlaw database, on the user's own terms. The article appeared on Westlaw's Internet site and is marked with a copyright date of 1997.
Microsoft markets a CD-ROM reference library entitled "Microsoft Encarta Reference Suite 98" which allows a user thereof to "learn proper research methods".
IstBooks Library, posted on the Internet and bearing a 1997 copyright date, allows a user to download virtual books directly to the user's computer. The Library has a Search by Keyword feature and a Browse by Category feature in which all books matching the selected category or categories are displayed.
Amazon.com! is posted on the Internet and is self-described as a bookstore.
The disclosures of all publications mentioned in the specification and of the publications cited therein are hereby incorporated by reference.
SUMMARY OF THE INVENTION
The present invention is in the general field of reference software, more specifically in the field of multimedia reference software. More particularly the present invention relates a multimedia reference software product which, provides a method and system for building and maintaining a dynamic library of books, provides a method to incorporate more media items, and which allows for efficient queries to be performed across any number of books in real-time.
Multimedia reference software products are becoming more and more numerous as home computers are becoming a standard means by which to perform research. It is common for multimedia reference software products to contain a pre-defined number of books to perform research on, and a pre-defined number of media items that can be viewed.
One problem, which exists in such reference products, is that the scope of information that is available to perform a query on is limited due to a finite number of information in the product . Some products allow for some sort of Internet connection to be available to allow for more search results, but the method for performing these queries, including the sorting and display of these results, is not organized or efficient.
It should therefore be apparent that a need exists for a multimedia reference software product which provides a method and system to dynamically add and remove books, update these books, and add new media items. There is also a need for this product to provide a method and system for efficient queries to be performed across books and displayed.
Preferably, the system of the present invention includes the following features:
* The ability to support the researching of any variable number of books that exists in the user's system. These books exist in a predefined digital preferably object oriented format as illustrated in Fig. 4. The formatted digital books are the input data for the library research engine 150 of Fig. 1. The library research engine 150 is typically not dependent on any particular book. It can service any book in the digital format.
* It is another object of the present invention to provide a method and system by which data is presented from a multiple number of books in real-time, and the results merged. Data can include query results and media items .
* It is another object of the present invention to provide a method and system to add new books to the end user library via the Internet or CD-ROM. These books may include multi media items.
* It is yet another object of the present invention to provide a method and system to automatically update books via the Internet.
There is thus provided, in accordance with a preferred embodiment of the present invention, an electronic library system including an electronic bookstore storing a multiplicity of electronic books, and a plurality of personal electronic libraries associated with a corresponding plurality of workstations, each individual personal electronic library including a library builder operative to download selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library, and a library research engine operative to search a plurality of books in the individual personal electronic library.
Further in accordance with a preferred embodiment of the present invention, the library research engine is operative to accept a user's definition of a subset of books in the user's personal electronic library and to search only the subset of books.
Also provided, in accordance with a preferred embodiment of the present invention, is an electronic information reservoir including a multiplicity of books each of which is stored as a separate object, and a research engine including a book searcher operative to search individual ones of the multiplicity of books and to generate a book search output, and a booksearch merger operative to merge book search outputs of a plurality of searches performed by the book searcher on a plurality of user-selected books from among the multiplicity of books, thereby to generate a global search output.
Also provided, in accordance with another preferred embodiment of the present invention, is an electronic library system including an electronic bookstore storing a multiplicity of electronic books, and a plurality of personal electronic libraries associated with a corresponding plurality of workstations, each individual personal electronic library including a library builder operative to download selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library, and a book updater operative to perform an automatic background update of at least a portion of at least one electronic book in the individual personal electronic library which has become outdated.
Further in accordance with a preferred embodiment of the present invention, each electronic book is organized as a hierarchy of book portions each including a meaningful portion of the contents of an electronic book and wherein the book updater, when updating an electronic book, is operative to update only those portions of the electronic book which have become outdated.
Still further in accordance with a preferred embodiment of the present invention, the system also includes a network site which posts an update of at least a portion of at least one electronic book which has become outdated and the book updater is operative to automatically dial the network site.
Also provided, in accordance with another preferred embodiment of the present invention, is an electronic book storage system including a first plurality of electronic books of a first content type, and a second plurality of electronic books of a second content "type, wherein all of the first and second pluralities of electronic books are organized in a single hierarchical format such that a single hierarchical level within the single hierarchical format stores meaningful chunks of information of the first content type, each chunk including a meaningful portion of an individual one of the first plurality of electronic books of a first content type, and meaningful chunks of information of the second content type, each chunk including a meaningful portion of an individual one of the second plurality of electronic books of a second content type.
Further in accordance with a preferred embodiment of the present invention, the first and pluralities of electronic books include books of any of the following content types: cookbooks, road atlases, dictionaries, encyclopedias, telephone books, picture books, novels, catalogs, instruction manuals, newspapers, and newsmagazines.
Also provided, in accordance with another preferred embodiment of the present invention, is a multimedia book generating system including a multimedia database storing a multiplicity of multimedia elements, and a digital book generator operative to generate a digital book including text and at least one link from a location in the text to at least one of the multiplicity of multimedia elements in the multimedia database.
Further provided, in accordance with still another preferred embodiment of the present invention, is an electronic research method including storing a multiplicity of electronic books in an electronic bookstore, and associating a plurality of personal electronic libraries with a corresponding plurality of workstations, including downloading selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library, and searching a plurality of books in the individual personal electronic library.
Further in accordance with a preferred embodiment of the present invention, the searching step includes searching all books in the individual personal electronic library in a single search operation.
Still further in accordance with a preferred embodiment of the present invention, the searching step includes accepting a user's definition of a subset of books in the user's personal electronic library and searching only the subset of books.
Also provided, in accordance with a preferred embodiment of the present invention, is a method for searching through electronic information, the method including storing a multiplicity of books each as a separate object, and performing an electronic researching operation including searching individual ones of the multiplicity of books and generating a book search output, and merging book search outputs of a plurality of searches performed by the book searcher on a plurality of user-selected books from among the multiplicity of books, thereby to generate a global search output.
Further provided, in accordance with yet another preferred embodiment of the present invention, is an electronic library updating method including storing a multiplicity of electronic books in an electronic bookstore, and associating a plurality of personal electronic libraries with a corresponding plurality of workstations, including, for each individual personal electronic library, downloading selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library, and performing an automatic background update of at least a portion of at least one electronic book in the individual personal electronic library which has become outdated.
Further in accordance with a preferred embodi- ment of the present invention, each electronic book is organized as a hierarchy of book portions each including a meaningful portion of the contents of an electronic book and wherein the update performing step, when updating an electronic book, includes updating only those portions of the electronic book which have become outdated.
Further in accordance with a preferred embodiment of the present invention, the method also includes posting, on a network site, an update of at least a portion of at least one electronic book which has become outdated and wherein the update performing step includes automatically dialing the network site.
Also provided, in accordance with another preferred embodiment of the present invention, is a method for storing electronic books, the method including storing a first plurality of electronic books of a first content type, and storing a second plurality of electronic books of a second content type, wherein the stored information is organized in a single hierarchical format such that a single hierarchical level within the single hierarchical format stores meaningful chunks of information of the first content type, each chunk including a meaningful portion of an individual one of the first plurality of electronic books of a first content type and meaningful chunks of information of the second content type, each chunk including a meaningful portion of an individual one of the second plurality of electronic books of a second content type.
Further in accordance with a preferred embodiment of the present invention, the first and pluralities of electronic books include books of any of the following content types: cookbooks, road atlases, dictionaries, encyclopedias, telephone books, picture books, novels, catalogs, instruction manuals, newspapers, and newsmagazines. Also provided, in accordance with a preferred embodiment of the present invention, is a method for multimedia book generation, the method including storing a multiplicity of multimedia items in a multimedia database, and generating a digital book including text and at least one link from a location in the text to at least one of the multiplicity of multimedia elements in the multimedia database.
Preferably, the system of the present invention includes a Library Builder operative to add additional content at any time without recompiling the index.
Preferably, the system provides a Book Integrity feature whereby books remain modular objects even after they are integrated into a user's library.
Preferably, the system is operative to perform dynamic media retrieval such that linked media can sit anywhere (including CD, hard drive and Internet) and be displayed transparently to the end user.
The system typically provides an Auto-update feature which updates all content modularly, typically totally in the background.
An optional Book Preview feature allows a book cover, specification and other contents to be viewed both on and off line.
The system of the present invention preferably provides a plurality of templates each of which describes the behavior of a class of book categories. The template properties typically include page presentation as well as types of queries. For example, a cookbook template may support ingredient queries and may have a page layout in which ingredients and methods are displayed in different fonts and styles.
The system preferably includes a template sensor which automatically detects a template associated with books and changes the display on the fly without having to restart the application. One objective of a preferred embodiment of the system of the present invention is to provide for the consumer a dynamic library of books, and a strong search engine with the capability of searching for specific items within any or all of the books in the library.
The present invention also provides a method for publishers to turn their regular printed books into electronic books, which can then be added to a digital library.
The original digital library comprises reference type books . The present invention permits users to view electronic, multimedia books in their own, customized, personal library. In the first version the library is only be able to contain books that reside on the user's local hard drive or on an original DVD disk or CD. Future versions are to add support for books that are located on the Internet. Users are able to search within their library to locate the information they want.
The structure of each book is defined by each publisher. This means that the publisher decides how to divide up the book's contents, including the organization of text and the addition of multimedia items.
The User system is preferably able to create and manage a personal library and to enable a user to get to desired information quickly.
An optional Publisher's tool (Fig. 63) provides the ability for publishers to create electronic books and allows publishers to add multimedia Elements to their books.
The user's system may be delivered on a DVD disk or CD. On this DVD disk or CD there may be provided an added value item such as an encyclopedia and/or an atlas or dictionary. Additional books are typically available from the Internet, or CD-ROM's.
The DVD disk or CD contains a media database 170 that is used both by the original set of books and by additional books that are created using the Publisher's tool (Fig. 63).
The present invention is based on the typical research process . When researching a topic the user selects a set of books to research. The user then searches within this set of books and notes the articles that interest him. The user then reviews more carefully the selected articles keeping the articles that most interest him, and then makes his report.
The system of the present invention models the typical research process. There are preferably three main parts in the system of the present invention. They are the Library, the Research Center and the Binder. The Library allows the user to search for desired books. The Research Center, which is the main part of the program, contains many ways for the user to search within his chosen books for the information that he wants. The user then adds any desired items to the Binder, and then he can go to the Binder view and concentrate more carefully on his chosen items.
In the Library the user has the choice of working in a standard Windows environment, or he can choose to work with a rich, full window, graphical interface. In the Library the user can organize his library. He is able to group books together in bookshelves as desired. An important part of the functionality of this library is that the user is able to choose his own set of books in the library that he wants to work at any time. This set of books selected in the library forms the basis for his research in the Research Center.
In the Research Center the user searches the books in his library to locate those articles and media items that interest him. The Research Center has two main components, a Browser List and a Display Area.
The Browser List is used to browse the book titles and select individual articles or media for dis- play. The user is also be able to find any information that he wants in searching by keyword, full text, topic or media. After activating a query only those articles or media that result are displayed. Selecting an article or media in the Browser List causes it to be displayed in the Display Area. As the user finds items that he would like to save for further viewing, he is able to press the Add to Binder button, which adds the item to a list to be opened up in the Binder.
The Binder contains those books, chapters, articles or multimedia items that the user chooses to Add to Binder. The user is easily able to switch between the Binder and the other modes in the Research Center, allowing the quick addition of new items to a binder.
The system of the present invention supports a variety of templates. The templates allow customization of the system's engine for different types of books. The templates can specify, among other things, the layout of the articles, the look of the Display Area, the topics for the book and query options. Templates are discussed in more detail hereinbelow.
FORMAT FOR DIGITAL BOOKS
Optionally, the structure of each book is completely definable by the publisher using the publisher's tool of Fig. 63. This means that publishers can divide a book into sections, chapters, subchapters and so on if so desired. Alternatively a book can be one flat list of articles. Optionally, the publisher also decides which if any multimedia items are to be added to his book, and to where they are placed in the book. The publisher preferably is able to choose a format that represents the information in the most meaningful way.
The Book Divisions: A general structure exists for the divisions of a book that the publisher can choose to use. The book is at the top level (the root of the tree). All publishers have this "book" level, but what is below this level is what the publisher defines. The terms for these different divisions are Media Groups 204, Media Elements 202, Media Back Matter 203 and Associated Media 205.
Media Data Objects 202, 203 and 204 are used to give the Book its hierarchical structure. They can be sections, parts, chapters or sub-chapters in a book, depending on what is relevant for each book. The Media Data objects may have displayable data attached to them, such as text and/or other types of media, which can be viewed in the Display Area (in the main Media Window). Or a media data object may just be a section to divide the book up with no displayable data attached to it, such as a chapter title that has nothing to display in the Display Area.
Multimedia data may be embedded in Media Data Objects 202, 203 and 204 of type text. The embedded media items are usually also Associated Media Items 205 in their own right. The publisher may have embedded media that is also an Associated Media Item 205 for something like a formula.
Associated Media Items 205 are the multimedia or text elements in the book that come to elaborate on the Media Data Object 202, 203 or 204. Every Associated Media Item 205 is directly connected to its parent Media Data Object, and can be displayed either by choosing it in the Browser List or by choosing it from the toolbar in its parent Media Element window.
Associated Media Items 205 typically have displayable data attached to it (such as text, pictures, videos, sounds, animations etc.).
An example of an associated media item is picture of a flag of Canada, which has as its parent media element an article about Canada. Media Objects: Collectively, Media Containers 201, Media Elements 202, Media Groups 204, Media Back Matter 203 and Associated Media Items 205 are known as Media Objects. Fig. 5 illustrates other types of media objects, comprising data presented and processed by the system.
The system of the present invention may be multilingual. Multilingual versions may have a single language user interface, defined at startup but are able to display books in multiple languages simultaneously. In order to easily flow into a multilingual version the design and programming are based on the UNICODE character set to support multilingual operation.
The system of the present invention preferably allows a set of users to communicate while collaborating on a research project.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be understood and appreciated from the following detailed description, taken in conjunction with the drawings in which:
Fig. 1 is a simplified functional block diagram of a digital book processing system constructed and operative in accordance with a preferred embodiment of the present invention;
Fig. 2 is a diagram of the functional layers of the library research engine of Fig. 1;
Fig. 3 is a functional block diagram of the data layer of Fig. 2;
Fig. 4 is a diagram illustrating a representation of a book as a hierarchy of digital media objects;
Fig. 5A is a diagram of a representation of a user's briefcase as a hierarchy of digital data objects;
Fig. 5B is a diagram of a representation of a user's bookcase as a hierarchy of digital data objects; Fig. 5C is a diagram of a representation of the query hierarchical ID table of Fig. 6 as a hierarchy of digital data objects;
Fig. 6 is a diagram illustrating dataflow between tables stored in the system of Fig. 1,
Fig. 7 is a diagram illustrating dataflow between the data layer of Fig. 2, and the GUI/navigator interface of Fig. 2, via the navigator layer of Fig. 2;
Fig. 8 is a diagram illustrating navigators and containers interacting in accordance with a preferred embodiment of the present invention;
Fig. 9 is a diagram illustrating a merging process performed by the navigator level of Fig. 2, in accordance with a preferred embodiment of the present invention;
Figs . 10 - 60 are screen displays generated by a preferred embodiment of the present invention;
Figs. 61 - 62, taken together, form a simplified flowchart illustration of an example of a work- session using the system of the present invention;
Fig. 63 is a flowchart illustration of a preferred method of operation for a publisher's tool constructed and operative in accordance with a preferred embodiment of the present invention;
Fig. 64 is a screen display of the main contents of the book entitled "Treating Asthma, Allergies, and Food Sensitivities" by Alan Pressman and Herbert D. Goodman, Philip Lief Group, Berkeley, 1997, to which tables in the specification pertain;
Fig. 65 is a simplified block diagram illustration of the book creation tool of Fig. 1; and
Fig. 66 is a simplified flowchart illustration of a preferred method of operation for the book compiler of Fig. 65. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Fig. 1 is a simplified functional block diagram of a digital book processing system constructed and operative in accordance with a preferred embodiment of the present invention. The top-level functional block diagram of Fig. 1 includes the following elements:
The system receives, from an external electronic medium, book data 180 which may include multimedia data and which may be provided in any suitable format such as HTML format. A book creation tool 120 then transforms the book data into a uniform hierarchical format described in detail below. The output of the book creation tool 120 typically comprises uniformly hierarchically formatted book data 100, as described in detail below with reference to Figs. 65 - 66.
The digital book 100 may be delivered to users by any suitable means such as by posting on a network web server such as an Internet site 130. Alternatively, the uniformly hierarchically formatted books may be physically delivered to users, e.g. by conventional retail sale in digital form, such as DVD form and/or in the form of a CD-ROM 50 as shown.
An end-user system 135 typically includes a library database 160 and a book accessor and manipulator 150, also termed herein "the library research engine". According to one embodiment of the present invention, books are downloaded from the Internet 130 to the library database 160 in the user system 135. Alternatively, however, the user system 135 may remotely access the books via the Internet in which case the library database 160 may reside on an Internet server or may even be omitted.
Optionally, a universal media database 170 is provided which stores a multiplicity of multimedia elements 110 such as photographs, videos, sounds and anima- tions . These multimedia elements are linked to a plurality of books by the book creation tool 120. The universal media database may reside either locally or remotely, on an Internet server, or portions of the database may reside locally and other portions or the database in its entirety may reside on the Internet server. Additionally or alternatively, each book may be linked to its own individual media database (not shown). A particular advantage of provision of a universal media database is reduction of costs for preparing digital books since preparation of the multimedia components of a book is frequently a very costly component of the preparation process as a whole. Another advantage is that multimedia elements which are frequently used by a reservoir of books may be stored centrally to enable reuse in conjunction with more than one book, or in conjunction with more than one location in the same book, thereby reducing the total size of the reservoir.
The media database 170 stores a media database table 460 (Fig. 6) and also knowledge of how to access and use the data in table 460.
The media database 170 is created by a media database creation tool 190 which inputs multimedia elements 110 from external sources, using conventional methods. Alternatively, a commercially available media database may be employed which may be created using any off-the-shelf database package such as Oracle (marketed by Corporate HQ 500 Oracle Parkway Redwood Shores CA 94065) or Jasmin (marketed by Computer Associates International Inc., One Computer Associates Plaza, Islandia NY). If this is the case, the media is typically converted into, and stored in, a format which the library research engine 150 can understand.
A preferred embodiment of the media database 170 is now described:
Preferably, each individual digital book does not contain any media in its own right. Instead each book retrieves its media from a centralized place on the DVD disk or CD. This 'database' contains a very wide variety of media that may be used by many different digital books. Each digital book accesses media via a Unique ID that recognizes the media sitting on the DVD.
The following processes typically take place: a. Books 100 are prepared in the digital format through a Book Creation tool 120 by taking HTML pages 180 and integrating search data and multimedia into the book. b. Media 110 are compressed, organized and packaged into a Media Database 170 using a Media Database Creation Tool 190. c. The digital book is supplied via the Internet 130 or CD-ROM 140 to end-users. d. The library research engine 150 has the ability to download books from the Internet. Th engine 150 accesses, from a DVD/CD-ROM and/or the user hard disk, a set of books to form a personal library 160. e. Multimedia associated with books reside on the user's DVD or CD-ROM in a Media Database 170. If not there then the engine 150 goes to a predefined site on the Internet 130 to find multimedia.
A preferred embodiment of Media Database 170 (Figs. 1 and 3) is now described. The Media Database resides on the main DVD disk or CD along with the digital book Viewer, and contains thousands of various multimedia elements that can be displayed using the digital book viewer. The multimedia items are of a rich variety and high quality. The type of multimedia elements which are included here include animations, flags, maps, media albums/slide shows, music, photos, speeches and videos. When the publisher creates a book he is able to attach any item from the media database to any item in the book. The publisher can choose to include as many multimedia items as he would like to his book.
Preferably, Media Elements 202 and Associated Media Items 205 that are of multimedia nature are not actual media but point to the media which may be in the overall media database on the DVD or CD or may be in a media database that is particular to the book. Several Media Elements 202 and/or Associated Media Items 205 may point to the same picture, video, etc. The idea here is to save disk space and downloading time from the Internet, since the user already has all of the multimedia located on his local system.
Videos are stored in separate files with the suffix altered. Optionally, the system allows publishers to append media to the overall media database for use in several of their books or by other publishers.
A preferred embodiment of the user's system 135 of Fig. 1 is now described.
The system of the present invention supports a dynamic library. This means that the user chooses which books he wants to have in his library. Books may be added or removed from this library, and a user can organize his library using shelves. A user could have individual shelves for each member of his family, or a separate shelf set aside exclusively for cookbooks.
As mentioned above, there are both a standard display of the library and a graphical display. When something is altered in one of the views it is automatically adjusted in the other view.
At any time the user has a set of active books, called the "Research Desk", which are the books that appear in the Research Center to work with. This means that the user can choose to work with all of the books in his library at a given time, or he can choose to work only with a certain shelf of books or a combination of books from different shelves. All of the books chosen, whether they are from a set shelf, or made up of a custom set of books, appear in the "Research Desk" list. These books appear in the Browser List in the Research Center.
When the user closes the digital book Viewer, there is a user option allowing him to save the books that he has chosen to be in the Research Desk so that they reappear the next time he opens up the system.
When the user first installs the system of the present invention, all of the books in his library appear on the "Shelve Book" list. The user then has two options. The first option is to have the librarian shelve a new book, which places it on a pre-defined shelf. The second option is for the user to choose a shelf to place the book on.
The functions of the library regarding books 160 preferably include:
Adding ( Purchasing) Books: The user has the ability to add books from the following sources: Internet, and/or CD-ROM/DVD. All books that are added are loaded onto the user's local hard disk. Alternatively, books may be physically located at a remote site. Books can be added in the standard library dialog box by clicking on the "Add Book" button. A dialog box appears asking the user whether he wants to add a book from a CD/DVD or from the Internet. In following the directions the book can be added. Books can also be added from the File menu on the top of the program.
Deleting Books : The user is able to remove books from the library that are no longer being used. Deleting a book deletes all the associated data from the hard disk. If the user has loaded the book from a CD-ROM he may re-add the book at a later time. If the user has downloaded the book from the Internet then the book would have to be re-downloaded if the user wants to get back the book .
Books can be removed in the standard library dialog box by clicking on the "Delete Book" button. A dialog box appears asking the user which book he would like to delete from his library.
There is a strong warning for the user before he permanently deletes the book, reminding the user that once the book is deleted from his library he cannot get it back ( unless the user has a CD of the book that he can reload if needed). Books can also be deleted from the File menu on the top of the program.
Shelving Books: When the user adds a new book to the library that book is preferably placed on a shelf. If there are new books that need to be shelved, the "Shelve Books" button is available. In addition to new books, any other unshelved books appear in this list. These are books that were once shelved but the user at one point removed them from all of the shelves. There is a way to identify which of these books are new ( for now this may be having the word New in brackets next to the name of the book. If there are no new books or other unshelved books to be shelved then the "Shelve Books" button is disabled.
When the user has new books to be shelved he has the choice to have the librarian put the book on a pre-defined shelf (preferably defined by the Publisher's Tool of Fig. 63) or he can choose a shelf to place the book on. If the librarian shelves the book and the default shelf for that book does not exist yet in the library, then that shelf is automatically created and the new book is placed on it. If the user wants to shelve the book himself then he can either place the book on a preexisting shelf in the library, or he can create a new shelf to put the book on.
Here in the standard dialog box the user can choose a book from the list on the left and either:
1. Click on the "Librarian Shelve Book"
2. Choose a shelf from the existing list of shelves and click on the "Shelve" button
3. Click on the "New Shelf" button and create a new shelf, and then choose that shelf in the Shelf list and click on the "Shelve" button. The New Shelf button brings up the Shelf Properties dialog box allowing the user to name the new shelf and write any desired information about that shelf.
Copying and Moving Books Within the Library: Unlike in a real library, in the digital library of the present invention, the user can copy a book from one shelf to another shelf, or from a shelf to the Research Desk.
Copying to the Research Desk
Copying to another Shelf: In the standard library dialog box the user can choose to view the books that he would like to copy either by "Shelves" or by "Books". Viewing by "Shelves" allows the user to see which shelf or shelves a book resides on. It also allows the user to copy a whole shelf of books over the Research Desk or to another shelf at one time. Within a shelf the books are listed in alphabetical order. Viewing by "Books" allows the user to see a straight alphabetical list of all of the books in his library. This can be helpful if the user wants to copy a book but does not know which shelf it resides on. There could be books in this list that are in the library but have not been placed on a shelf yet. Any books that have not been placed on a shelf are listed in the "Shelve Books" list.
To put a book on a different shelf the user can choose a book (or multiple books or a shelf) and press on the "Copy" button or on the "Move" button to the other shelf.
To place a book on the Research Desk the user can choose a book (or multiple books or a shelf) and press on the "Copy" button. If the Research Desk tab is selected then the move button is disabled, since a book cannot be moved from a shelf to the research desk, it can only be copied to there.
Sorting/Searching for Books: When choosing which books the user would like to work with (place on his Research Desk), the user is able to perform a search on the books in his library to find the books that meet certain criteria. Then he could choose which of these books he wants to work with.
When purchasing new books the user is optionally able to search for any compatible books which meet certain criteria before purchasing the books to add to his personal library.
Leasing Books: Optionally, the user is able to temporarily add new books to the library by leasing them. This is done through the Internet.
There is preferably a visual indication when a lease is close to expiration, allowing the user to decide whether to renew it or not. This feature is particularly suitable for embodiments in which the books do not reside locally on the user's disk but can physically remain on the Internet .
Remote Access of Books: This feature permits users to add books to the library that do not reside on the local machine, such as a book on the Internet or on an external drive. In this case the book would never be downloaded to the user's hard drive, but the user would be able to view the book in the system's Viewer.
Such a feature is especially useful when supporting Network Computers, since the local machine does not contain a hard disk.
Updating Books/Articles in the Library: The user is able to update the information in his library as new updates become available.
When an update is available there is a visual indication, so the user knows it is available. There may be an option for updates to occur automatically, without the user having to choose them each time they are available.
Book Properties: Optionally, the user is able to view certain properties of a book such as: the book cover, a short description of the book, the publisher, the date of publication, copyright information.
The user is optionally able to back up a book to a zip drive.
A preferred embodiment of the bookcase 602 of Fig. 3 is now described. When the user first adds a book to his library he has the choice of either having the librarian place the book on a shelf or he can place the book on a shelf that he chooses. If the user has the librarian place the book on a shelf then that book gets placed on a pre-defined shelf, which was preferably defined in the Publisher's Tool (Fig. 63). If the user would like to choose a shelf for the book then he can either place it on an existing shelf or create a new shelf to put it on.
Preferred functions of a shelf are listed below. Most of the functions of a shelf are performed in the "Book Shelves" tab.
In the Shelf tab the user can choose to view any of the previously created shelves from the drop down list box of shelves. When the user chooses a shelf then all of the books that reside on that shelf appear in the list box below.
New Shelf: A new shelf can be added to the bookcase by clicking on the "New Shelf" button. For example if the user is working on a term paper then he could create a new bookshelf called "Stephen's Term Paper", and copy into that bookcase only those books that he needs for his term paper.
When the user creates a new bookshelf a small dialog box appears allowing him to name the bookshelf, and type in a description of that bookshelf if desired. The user can go back to this box at any time and alter the information in it by choosing the bookshelf and clicking on the "Shelf Properties" button.
When the user adds books to a new shelf they are actually books that are copied from another shelf. Books therefore can appear on more than one shelf at a time.
Delete Shelf: The user can delete a shelf by clicking on the "Delete Shelf" button and choosing a shelf to delete. If the user chooses to delete a shelf, and there is a book or books on that shelf which do not reside on any other shelf, then those books would appear on the "Shelve Books" list, and that button is available.
Remove a Book From a Shelf: The user can select a book or a number of books in the currently displayed shelf and remove them from that shelf using the "Remove Book" button.
The term "Research Desk" refers to the collection of all active books and is represented in the screen display of Fig. 41. The "Research Desk" list contains all of the active books that appear in the Browser List of the Research Center. The books in this list can be all of the books in one shelf, or a combination of books from different shelves.
Add Book( s ) : The user can add a single book to the "Research Desk" list, or he can choose a whole bookcase and add all of its books to this list. In the standard library dialog box the user can choose a book from the shelves/books list on the left and click on the "Copy" button to add it to the "Research Desk" list.
Remove Book( s) : The user can remove a single book from the "Research Desk" list, or he can remove all of the books from this list at one time. In the standard library he can click on one or more books and click the "Remove Book" button below.
Save As Shelf: The user is able to save all of the books in his current "Research Desk" list as a new shelf. In the standard library he can click on the "Save As Shelf" button to create a new bookshelf. He then gets the Shelf Properties dialog box displayed above allowing him to name the shelf and add a description to it.
Reference is now made to Fig. 2 which is a diagram of the functional layers of the library research engine 150 of Fig. 1.
The library research engine 150 is the socket that displays the books that exist in the user's system. It is divided into five layers. Within each of these layers exist sets of objects that interact with each other .
These layers preferably comprise the following:
Database Wrapper 210: The Database wrapper is a very thin layer that hides the actual database implementation from the rest of the program. Using this data structure makes it possible to change the data storage methodology to other technologies in the future. It is also possible to have different books use different database technologies.
Database layer 211 : The database layer 211, also termed herein "the data layer", is the layer that manages all the raw elements of any digital book in the system. Its aim is to supply requested data to higher layers. This requested data can be, but is not limited to, any of the following: media from the media database 170, HTML text 180 (Fig. 1), digital books from the library 160; search results. The data layer accesses its lowest level data via the database wrapper class 210.
Navigator 212 : The aim of the navigator 212 is to manage lists of data objects (Figs. 4 and 5) that it receives from Data Layer 211, and to permit the GUI/navigator interface layer 213 to access this data as required via simple list type calls such as GetNextObject and GetPreviousOb ect . The navigator 212 mainly deals with lists of information. These lists can potentially be very large (e.g.. The results of a query.) It is the navigators' 212 task to make sure that the data is accessed and supplied efficiently to the end user, as described in detail below. Decisions pertaining to caching of results, and 'when to access' the data are preferably made by the navigator 212.
The navigator 212 also merges data from different books in the user's library. For example, a search may be performed on each of 3 different books, yielding three separate alphabetical lists. These lists are typically merged to obtain a query result including a single alphabetical list.
GUI/navigator interface 213 : The aim of the GUI/navigator interface 213 is to supply a set of objects for a User interface 214. The aim is to package the contents of layers 210, 211 and 212 into a set of API ' s such that any User Interface 214 can ask for information and present the information to the end user. The GUI/navigator interface 213 works together with navigators 212. As described in detail below, Navigator 212 supplies lists of a very basic type of class called a Data Object (Figs. 4 and 5). There are many different types of data objects (HTML data objects, video data objects, etc. ) each of which may be viewed differently by the system. Each type of data object may have different properties that the GUI/navigator interface 213 recognizes for handing over to the GUI .
Preferred data object types are described herein with reference to Figs. 4 and 5 and may include any element of data used by GUI/navigator interface 213 such as an article, a complete book, a bookshelf, or a multimedia item. Data objects are typically created in the Data layer 211 responsive to a request, from GUI 214, for a data objector a set of data objects such as a query. The data layer 211 receives the request, prepares a data object or list of data objects accordingly, and supplies this through an object termed herein Data Supplier 704 (Figs. 7 and 9).
The Navigator 212 manages the resulting lists, including, for example, merging of several lists pertaining respectively to several books associated with a single query. The Navigator 212 sometimes requests more Data Objects from the data suppliers 704 when required. The Navigator feeds information to the GUI/Navigator Interface 213 responsive to GetNext and GetPrevious requests, i.e. GUI/Navigator Interface 213 can get data objects by requesting them from navigator 212.
Graphical User Interface 214: The GUI is shown in Figs. 10 - 60.
The research center, as shown e.g. in Fig. 20, preferably includes the following components: a. Browser list -- list of information items currently available to user as shown on left half of screen in Fig. 20, b. Display area -- displays an information item accessed by the user by selection from the browser list or by hyperlinking or by manipulating the article navigation bar in top right hand side of Fig. 20 c. Status and system navigation bars -- as shown on bottom and left, respectively, of screen display of Fig. 20, the status and navigation bars allow user to view and change his or her status within his or her library and to move easily to different locations in the system.
The User interface layer 214 is the presentation layer of the system. It presents information from the interface 213 as well as accepts User request from the user to get or alter data from the GUI/Navigator interface 213.
Reference is now made to Fig. 3 which is a simplified functional block diagram of the Data Layer 211 of Fig. 2. The system of the present invention includes one or more digital books 100. The list of books is stored in the Library 160. Books can be added from a Internet Bookstore 175 or CDs. Updates can also be received from an Internet Bookstore 175. The user is able to organize his books in a Bookcase 602. Each book supports a set of queries 604 as defined by the template 608 and a hierarchical view of articles 606. The user may bookmark particular articles and place them in a binder in his Briefcase 603. Articles 606 may also be linked to media from the Media Database 170. Each book has a set of attributes 612, including attributes data and procedures for manipulating this data. The attributes data are typically stored in Attributes table 427 of Fig. 6.
Bookcase 602 typically stores a bookcase table 473 (Fig. 6) and also knowledge of how to access and use the data in table 473.
A "binder" is a collection of articles which the user has chosen to group together.
The user's "briefcase" is the collection of all the binders that the user has defined. A briefcase 603 typically stores a briefcase table 449 (Fig. 6) and also knowledge of how to access and use the data in table 449. The library 160 is used to keep information in the system of the present invention about all the books that a user owns. The database tables 401, 423, 427, 430, 440, 485 and 490 (Fig. 6) for each of the books may reside on the user hard disk or CD-ROM/DVD. The library 160 then points to the location of each book.
The Library 160 is the gateway to the Data layer 211. It is the first object created and the last to be deleted. When the Library is created it creates objects for the Bookcase 602, Briefcase 603 and each of the books 100 in the system. The Library 160 maintains a complete list of books 100 in the Library Table 493. Adding and deleting books is done by updating the Library Table 493.
The Library Table 493 is also used to maintain an active set of books. The active set is the set currently being queried. All other books are stagnant.
The library is the gateway for accessing files and getting information from specific books. All requests for data are channeled through the Library to the appropriate book.
A preferred embodiment of BookCase 602 is now described.
The user can organize the books in her library into bookshelves which need not be mutually exclusive as to the books placed on them. For example, there may be a shelf for encyclopedias, a shelf for old books and a shelf for Judaica and an old edition of the Judaica encyclopedia may be positioned on all of these shelves. The Bookcase manages the set of bookshelves. Each Bookshelf comprises one or more books. A book may appear on multiple bookshelves and may be freely moved between bookshelves. A Bookshelf has a name, an optional user defined description, a list of books that are on that bookshelf.
There is one special purpose bookshelf that cannot be deleted. It is the librarian bookshelf. The librarian is used to hold new books that have never been assigned to a bookshelf. Every book typically appears on at least one bookshelf. If the user deletes a book from all the bookshelves then it appears on the librarian shelf.
The Briefcase 603 stores a series of binders. Binders allow the user to organize articles into projects or topics of interest. Each binder can have articles, media or Internet sites inside.
The Media Database 170 is the central storage site for media shared across books. This enables multiple books to share one physical piece of media and saves on disk space. The Media Database 170, or parts of it, may reside on the CD/DVD, Hard Disk or Internet. Media is first looked for on the hard disk, then on the CD/DVD and finally on the Internet.
This allows overloading of media. If it is desired to update a particular piece of media on the CD/DVD then a record can be added to the media database table 460 of Fig. 6 on the hard disk with the ID for the media and the updated media. Then the program finds the updated media first.
The media database 170 stores a media database table 460 (Fig. 6) and also knowledge of how to access and use the data in table 460. Bookcase 602 typically stores a bookcase table 473 (Fig. 6) and also knowledge of how to access and use the data in table 473. A briefcase 603 typically stores a briefcase table 449 (Fig. 6) and also knowledge of how to access and use the data in table 449.
Templates 608 are preferably provided which define certain characteristics that are common to a set of books. Common characteristics include the media formats and how to display them, the defined query types and the global set of valid values for searches on a predefined set of items such as media types or subjects.
A "template" is defined for each type of book accommodated by the system. For example, the system may have a separate template for each of the following: cookbooks, children's picture books, atlases, reference books, novels, catalogs, art books. The template for an individual book type defines the types of query that can be performed for a book of that type and the types of media that can be associated with a book of that type.
The digital library database 160 of Fig. 1 typically stores the following three "template tables" for each template defined: a. Query types table 445 b. Query ID table 420 c. Query hierarchical ID table 467
The above three template tables are now described in detail: a. The query types table 445 defines the types of query available in a particular template. For each query type, a language-specific name is provided, an internal system name is provided and the implementation method for the query type. For example, the system may support four possible implementation methods such as ID, hierarchical ID, string and section.
The above four query type implementation methods are now described in detail.
ID -- There is a predetermined set of valid responses. For example, a media query may have only the following as valid responses: photo, animation, video, speech, sound, music, map, flag.
Hierarchical ID -- Like ID, except that the valid responses are organized into a hierarchical tree for the purposes of display to a user. For example, a subject search query may have a very large predetermined set of valid responses which are displayed to the user in hierarchical groups such that the user would encounter a "history" entry which, if selected, would cause the following entries to be displayed: French history, American history, British history, etc. Similarly, the user would encounter an "animals" entry which, if selected, would cause the following entries to be displayed: mammals, reptiles etc. and if "reptiles" is selected then the following entries would be displayed: snake, lizard, etc.
String -- A valid response is any of a plurality of strings of characters corresponding to the user's current set of active books. The plurality of strings are typically predefined by defining one or more strings for each article in each book, resulting in predefinition of the valid responses once the user has selected a given set of active books. The string or strings defined for each article typically comprise keywords in that article or other strings of characters in that article which are considered crucial by a producer. Typically, the input to the book compiler 120 (also termed herein the "book creation tool" ) includes the string or strings defined for each article in the book is to be compiled.
Section -- A full text search of a user-selected section of an article. Typically, the input to the book compiler 120 includes markings for certain sections within a book, typically within each article of the book. For example, the input for a cookbook typically includes a marking of the ingredient section of each recipe ( article ) in the cookbook such that the Section query type implementation method can be used to perform an ingredient search. Another example is that the input for substantially any book typically includes a marking of titles such that the Section query type implementation method can be used to perform a title search. b. The Query ID table 420 stores information pertaining to the predetermined set of valid responses for an ID implementation method. For each valid response, the table 420 stores an ID and an associated name. For example, a media query may have 8 valid responses having the following names: photo, animation, video, speech, sound, music, map, flag. Each valid response also has an ID such as the numbers from 1 to 8 respectively. c. Query hierarchical ID table 467: Stores information pertaining to the predetermined set of valid responses for a hierarchical ID implementation method. The table is similar to table 420 except that it also includes hierarchical information for each valid response such as the following: the ID of the valid response's parent, the number of sons which the valid response has and the position of the valid response in the list of valid responses which are the sons of the valid response ' s parent .
A preferred embodiment of the Templates 608 in Fig. 3 are now described. Provision of templates allows a variety of types of books to be displayed differently and have some different functionality, all within the same digital book viewer. This allows for a large selection of different types of books to exist in the system of the present invention. Each type of book preferably has a template. Initially only a general reference template, appropriate for encyclopedias, dictionaries and the like and an atlas template may be provided. Optionally, other templates may be provided, such as one for cookbooks. Every book is preferably defined to use one template. Some specialized templates may require an update to the program.
The template typically comprise the following: a. The subject list table (the set of topics and sub-topics that can be assigned to a Media object) b. The fields for a search
Items like the GUI layout, active set of books, current Media Element 202 and Associated Media Item 205 are preferably stored when the user exits the program and reloaded when the program is restarted.
Each Digital Book 100 preferably comprises: a. a plurality of articles 606 arranged in a hierarchy; b. a query system 604 defining the types of query which can be performed on the articles, where "article" is a general term referring to a meaningful portion of a book existing within a breakdown of a book into a hierarchy of meaningful portions; and c. attributes 612, typically stored in Attributes table 427 of Fig. 6, which include information relating to the book as a whole which are not defined as articles. Attribute information includes, for example, publishing information, author and title, book classification information such as ISDN, Dewey Decimal class and Library of Congress number, information regarding the book's appearance such as font, etc.
Each book 100 preferably comprises all information required for browsing, searching and displaying the book. This information, for each individual book, is stored in some or all of the following tables, also termed herein the "book tables" (Fig. 6): tree table 401, viewdata table 430, attributes table 427, query ID results table 440, query string results table 423, liben- try table 485, query hierarchical ID results table 490 and library table 493. The choice of tables selected to store information for a particular book depend on the types of query which is it desired to provide for that book, as described herein with reference to the book creation tool of Fig. 1.
EXAMPLE: In a book about a medical disorder, two types of query were provided: media query and keyword query. The query information was stored in the following tables: query ID results 440, query string results 423.
In an encyclopedia, the following types of query were provided: media query, keyword query and subject query. The query information was stored in the following tables: query ID results 440, query string results 423, query hierarchical ID results 490.
No combining of "book tables" is done between books. Each book is totally independent of any other book in the system because all information regarding the book is stored in tables which contain no information about any other book .
A preferrer embodiment of Query System 604 is now described. Each book stores its query data separately. In addition to actually performing queries, the Query System can also provide a list of which items are present in a book for a particular type of query. For example if there is a query that displays media items according to their type, the query system knows in advance which media types are present in the book. The results of any query typically comprise a list of articles that satisfy the query.
The library research engine 150 presents to the user the available queries according to his current active set of books. There are typically five different types of queries: Full text, section, string, ID AND hierarchical ID. "Full text" is a standard full text search. "Section search" does a full text type search on only a section of each article e.g. the title or an ingredient). "String search" works on an unlimited set of strings that are assigned to an article, such as a keyword). "ID search" works on an unlimited set of IDs that are assigned to an article (e.g. media type). "Hierarchical ID search" works on an unlimited set of IDs that are assigned to an article where the IDs are organized in a hierarchical manner, e.g. a hierarchy of subjects.
Each book also has a set of attributes 612 such as author, publisher, page formatting and so on that is stored for the overall book as attributes, typically in Attributes table 427 of Fig. 6.
Adding Books to the Virtual library 160: The system preferably supports many books in a virtual library that are only related to each other in that they are in the digital object-oriented format of the present invention. Users may build a virtual library of books and choose any number of books from that library to research at any given time. Therefore the system preferably supports the ability to add and delete books from this library.
In order to facilitate easy download of books from the Internet, a book table compressing format (also termed herein the VEB format) is used to compress the components of the book (typically comprising the "book tables" of Fig. 6 and the book's template and any fonts used by the book) into a single file. Since the components of the book are compressed, the size of the books is considerably smaller, thereby facilitating the downloading process over the Internet. The compression procedure may, for example, be implemented using a Crusher!, Version 3.2 compression package, marketed by DC Micro Development, POB 54588, Lexington, KY, USA.
Internet Bookstore 175 : The engine 150 has the ability to link to any number of virtual bookstores over the Internet. These bookstores contain libraries of digital books in VEB format that are available for downloading and purchasing. Each electronic bookstore 175 includes a database of books which contains pricing and updating information as well as a query database that allows for searching for books . The Internet bookstore is accessed from an embedded WEB browser from within the library research engine 150.
Download and Add process: After a user has chosen a book from the bookstore the WEB site points the user to a URL (universal resource location) at which the selected book is located. This is typically a file in the VEB format. E.g. www. bookstore. acmebooks\books\bl2345.veb. The embedded WEB browser checks each hyperlink for a link that has a suffix containing the letters 'VEB'. When found the browser does not navigate to the link but takes control away to perform the following tasks.
1. Using the HTTP protocol create a connection to the server through the URL.
2. Start downloading the VEB file pointed to by that URL using HTTP.
3. Once on the user's system decompress the book and store to disk.
4. Add an entry to the user library pointing to the new book.
At this point the book is a full member of the user ' s library and can be researched together with all other books.
Book Update engine 611 : The library research engine 150 has the ability to update digital books. New articles and media may be added, modified and deleted. Updates come in the form of packets. Each packet contains a list of tables containing the content and instructions for that update. An update packet is typically downloaded from the Internet although it is possible to receive a packet file (with extension VEU) from a floppy disk or CD which can then be installed with a double-click or when passed as a parameter to the library research engine 150.
Updates can be initiated from a number of points in the library research engine 150.
(A) Update Now: The user can choose to check for, download and install an update for a single book immediately.
( B ) Scheduled Updates : Each book has its own schedule of when or how often to be updated. The GUI/navigator interface 213 includes an update scheduler (not shown) which checks, for each book, to see if it is time for a new update packet to be available. If so, it tries to find, download and install the packet. The update scheduler can be called automatically or manually. If it is set to run automatically, the update scheduler is run every time the library research engine 150 is started.
Book update attributes: Typically, there are a number of attributes, i.e. options, which control the book update process and are typically stored in Attributes Table 427 of Fig. 6. Some of the attributes are specific to each book and some relate to all books.
The book specific attributes preferably include one, some or all of the following: 1) Last update: The creation date of the most recent update packet for this book that the user has installed.
2) Check every: How often to check the Internet based on the expected schedule for this book. Are updates for this book expected quarterly, every six months, or according to some other schedule as defined for the book?
3) Last check: The last date on which the Internet was checked for the next update packet.
4) Next scheduled: The date of the next expected update. There are typically two items referred to as the Next scheduled data. One is a field that is stored in the book's attributes table 427. This date either comes with a new book or was downloaded when checking the Internet for updates, or possibly comes inside an update packet. The other "Next scheduled" is the one that is displayed. This date comes from one of several date fields.
5) After due date, recheck for updates every <number> days: Once the "Check every" period had passed since the last update and the Internet was checked and no new update was found, this attribute defines how often should the system recheck the Internet.
6) Status: The stage in the update process for this book. Preferably, there are 4 stages I - IV:
(I) Not yet time for an update: Have not yet reached time to check the Internet to see whether an update has been posted.
(II) Need to check Internet: Ask Internet site whether or not there is a packet available.
(III) Packet exists on Internet: A new update packet has been found but was not downloaded.
(IV) Packet downloaded: The packet was downloaded but was not installed.
7) Updates Server: The site from which to download the update packet. 8) Version #: The update version number. (Updated by packet. )
9) Automatic update: Turn the whole updating process of the on or off.
The attributes related to all books typically include the following:
1) Enable automatic book update: Turn on or off automatic (scheduled) updating for all books. (Those books whose updating is individually turned off remains off even if this attribute is turned on. ) and/or
2) If Internet line is down when automatically updating: (a) Alert user every time (b) Alert user every <number> days, (c) Never alert user.
The first time, in each session, that the scheduler in the GUI/navigator interface 213 (not shown) needs to access the Internet it attempts to make the connection. If a connection is available, it continues with the updates. Otherwise, depending on the above attribute, the updates either is not continued or the user is prompted that there is no active Internet connection and he/she is given the opportunity to establish the connection and continue with the updates.
Scheduling Updates: Updates scheduling can be set to run automatically every time the library research engine 150 is run. Alternatively, the user can choose to start the update scheduling process.
The scheduler in the GUI/navigator interface 213 of Fig. 2 has the following tasks:
1 ) Loop through attributes of all books and for those books with update status of "Not yet time for an update", check if it is time to try to download the next update. A preferred method for performing this check as follows :
If update exists
Change the status to "Packet exists on Inter- net" .
Else
Change the status to "Not yet time to check for an update" and set "Last check" to today's date.
If a new "Next expected date" is received from the Internet update site
The "Next scheduled" is updated.
"Last check" is set to <blank> after the update packet is installed.
If it is time to download, change the status to "Need to check Internet".
2) From the list of books whose update status is not "Not yet time to check for an update", the user can choose which books to update.
3) Look for all books with update status "Packet downloaded" . Change the status to "Not yet time for an update", and clear out the "Last check" date for each book whose update is installed.
4) Loop through attributes of all books and for those books with update status "Need to check Internet" check for an available update. If the update exists, change the status to "Packet exists on Internet". If the update does not exist, change the status to "Not yet time for an update" and set "Last check" to today's date. If the update Internet site sends back a date on which they expect the next update to be ready then the date is saved.
5) Loop through attributes of all books and for those books with update status "Packet exists on Internet", log onto Internet site, download an appropriate packet, and change status to "Packet downloaded.
6) Stage (3) is preferably repeated, to provide the possibility of installing the update that already exists on the user's disk and then downloading and installing an even newer update, if one exists. In addition, the user enjoys the benefit of updating books, with packets already sitting on his disk, as soon as possible.
A new report is created every time the scheduled process is run. If any new update packets were found or any packet downloads or installs were attempted during the scheduled updating then at the end of the update process a summary of all modifications to the book is displayed to the user.
A preferred embodiment of book update unit 611 of Fig. 3 is now described.
A tab is added to the book attributes dialog for book updates. It typically comprises the following:
1) Last update: The date that the most recent update packet, for the given book, on the user's machine was created. (Updated by packet. )
2) Next scheduled: The date of the next expected update. There are actually two items referred to as the Next scheduled data. One is a field that is stored in the book's attributes table. This date either comes with a new book or was downloaded when checking the Internet for updates, or possibly comes inside an update packet. The other Next scheduled is the one that is displayed. This date comes from one of several date fields:
If (Next Expected field is NOT blank) Use Next Expected field Else
{ If (Last Update is NOT blank)
Use Last Update + Check every... Else
Use Book text compilation date + Check every...
}
3) Last check: The last date on which the Internet was checked for the next update packet.
4) Check every: How often to check the Internet based on the expected schedule for this book. Are updates for this book expected quarterly, every four months, or according to some other schedule defined for the book.
5) After due date, recheck for updates every X days: Once the #4 "Check every" period had passed since the last update and the Internet was checked and no new update was found, this attribute defines how often the system should recheck the Internet.
6 ) Status
* Not yet time to check for an update: Have not yet reached time to check the Internet.
* Need to check Internet: Status is set to "Need to check Internet" based on the following:
If ( Update Status == "Not yet time to check for an update" )
{
If ( "Last check" > Today )
"Last check" = <blank> If ( "Last check" != <blank> && "Last check" >= "Next scheduled" )
{
If ( Today >= "Last check" + "Recheck for updates every. .)" ) Set status to "Need to check Internet".
Else
{
If ( "Next scheduled" != <blank> )
{ If ( Today >= "Next scheduled" )
Set status to "Need to check Internet"
} Else
{ If ( "Last update" != <blank> )
{ If ( Today >= " Last update " + "Check every" )
Set status to "Need to check Internet". }
Else
{ If ( Today >= "Creation date of Book Text" + "Check every" )
Set status to "Need to check Internet".
}
} } }
Once we do actually check for an update:
If ( update exists )
Change the status to "Packet exists on Internet".
Else
{
Change the status to "Not yet time to check for an update" and set "Last check" to today's date.
}
If ( we receive a new next-update-date through the CGI )
The "Next scheduled" is updated.
("Last check" is set to <blank> after the update packet is installed. )
* Packet exists on Internet: A new update packet had already been found but, at the time, the user did not want to download the packet.
* Packet downloaded: The packet was downloaded but the user did not want to install the packet at that time.
7) Updates Server: The site from which to download the update packet.
8) Version #: The update version number. (Updated by packet. ) 9) Automatic update: Turn the whole updating process of the on or off.
10) Most of the above fields are read-only. The user is typically only able to change (5) "After due date, recheck for updates every X days " and (9) "Automatic update" .
When the "Update book now" button is pressed the program first checks if there is already an update for this book on the users disk to install. Then it looks for a new update packet for the book to download and install disregarding the update dates (Last check, etc.) At the end of the process, if a packet has been installed, a publisher's report of all update changes made to this book is displayed in a web browser window with the most recent changes appearing first. The "Update book now" process currently takes place completely in the foreground.
When the "Report" button is pressed the publisher's report is also displayed.
Global Scheduling Options typically include the following:
1) Enable automatic book update: Turn on or off updating for all books (except that books whose updating is individually turned off remain off even if global updating is turned on. )
2 ) [ Last time the user was informed that the Internet line was down: ]
3) How often to bother the user if the Internet line that is down: This is an offset from (2) "Last time the Internet line was down. "
4) Book List: List of all books. When a book name is selected the book attributes dialog box for that book appears with the book update tab on top.
5) Full library update: Runs the scheduling process as described below as when the user runs the exe except that: (a) If the user is not registered for updates they are given the opportunity to register at this point.
(b) The "Enable automatic book update" flag is ignored in this case. It is considered to be checked.
(c) The user is always "bothered" if the Internet connection is necessary and appears to be down, regardless of the settings in the options dialog box.
(d) A report is always displayed even if nothing significant took place during the update process.
6) View Report: A report of the last scheduled update is displayed.
Scheduling: The updating process begins each time the user runs Versabook.exe (Appendix A) provided that (a) the user has checked off the "Enable automatic book update" checkbox (b) updates have not been turned off by way of the Product.ini file and (c) the user is registered for updates. A low priority background thread (scheduler) controls the initial stages of updating. These stages include checking the book update status ' , checking for updates on the Internet, downloading, and decompressing packets. The stage that would most likely be done in the foreground would be the actual installing of the packets. For the installation phase to take place in the background, the user might not be allowed to activate the book in the "List of books" dialog box, or to access items in a binder from that book, etc.
The tasks of the scheduler are the following:
1 ) Loop through attributes of all books and for those books with update status of "Not yet time for an update" check if it is time to try to download the next update using the rules described above under Book Attributes/Status/Need to check Internet. If so change the status to "Need to check Internet".
2 ) Display a dialog box with the names of all books with update statuses other than "Not yet time for an update" - all books for which some significant action may take place. Next to each book is a check box. The user can uncheck any book updates that he chooses and then choose OK to continue or CANCEL to skip all subsequent stages of the update process.
3 ) Look for all books with update status "Packet downloaded". Before a book is updated it is "turned off". It is taken out of the list of books. After the update, the book is turned back on. Change the status to "Not yet time for an update", and clear out the "Last check" date for each book whose update is installed. This stage is performed at the beginning and then again at the end of the update process. In this way there exists the possibility of installing the update that already exists on the user's disk and then downloading and installing an even newer update, if one exists. In addition, the user enjoys the benefit of updating books, with packets already sitting on his disk, as soon as possible.
4) Loop through attributes of all books and for those books with update status "Need to check Internet" check for an available update. If the CGI says that the update ' s subscription has expired then the update process does not continue for this book and the user is notified of the subscription's expiration in the update report. Otherwise, if the update exists, change the status to "Packet exists on Internet" . If the update does not exist, change the status to "Not yet time for an update" and set "Last check" to today's date. If the CGI sends back a date on which they expect the next update to be ready then we save this date.
5 ) Loop through attributes of all books and for those books with update status "Packet exists on Internet", log onto Internet site, download an appropriate packet, and change status to "Packet downloaded. Also, save the name of the packet.
The update packet that should be downloaded for the book is the one that matches the "Version #" (the update version number) of the book; for example, a person who had already installed update #2 wants to download 2.veu (update file. ) This file may include updates #3, or #3 and #4, or #3 and #4 and #5, etc.
Accessing the file to download is done through a CGI (for example, \www. versabook.com\<update cgi>:%ISBN %update packet.
6 ) Look for all books with update status "Packet downloaded". Before a book is updated it is "turned off". It is taken out of the list of books. After the update, the book is turned back on. Change the status to "Not yet time for an update", and clear out the "Last check" date for each book whose update is installed.
A new report is created every time the scheduled process is run. If any new update packets were found or any packet downloads or installs were attempted during the scheduled updating then at the end of the update process a summary of what took place is displayed to the user. This report can also be viewed by clicking on the "View Report" button of the user options updates tab.
The first time, in each session, that the scheduler needs to access the Internet it attempts to make the connection. If a connection is available:
{
Continue with updates.
} Else
{
If the user said to never bother him/her - Skip the update process.
If the user said to always bother him/her - go to ASK
USER.
If the user said to bother him/her after X period...
{
If (2) " Last time the user was informed that the Inter- net line was down " is blank (This should only happen the very first time that the connection is down. ) )
{
Go to ASK USER.
} Else
{
If it is time to prompt the user to connect to the Internet in order to check for an update (If the global scheduling option (3) "How often to bother the user if the Internet line that is down" + (2) is greater than or equal to today's date.) { Go to ASK USER.
} Else
Skip the update process.
ASK USER
Set (2) to today's date.
Display a dialog box that prompts the user to hit the Continue button if he/she has succeeded in setting up the Internet connection or the Cancel button to skip the update process. If there is an Internet connection now:
Continue the update process . Else
Skip the rest of the Internet related functions of the update process.
Data Objects useful in the system of the present invention are now described. A Data Object is a generalized base object for representing one logical piece of data, for example an article, a media item, a book, a keyword etc. Each data object has a name, which may be a title, as in the case of a Book Data Object 512 or Media Data Object, or just a string as in a Query String Data Object 542. Every Data Object has at least two functions, Loaddata and Savedata. Loaddata is the function that tells a Data Object to read its data from a record in any of the tables of Fig. 6. Savedata tells the Data Object to write its data to a record in an individual one of the tables of Fig. 6. Data Objects get a pointer to that table after the current record in the table is positioned correctly.
A digital book is viewed as a hierarchical set of objects or articles. Each object in a book is referred to as a Media Object, also termed herein a "Media Data Object". A media data object typically stores the title for an article in a book, the content of the article, a user defined note and other information for managing and defining the book. In the illustrated embodiment, each media data object is represented by a record in each of two tables: Tree table 401 and Viewdata table 430 (Fig. 6). In other words, each of the tables 401 and 430 includes data regarding a multiplicity of objects or articles. The records in the two tables which correspond to the same object are identified by their common ID (fields 402 and 431 in tables 401 and 430 respectively).
Fig. 4 is a representation of a typical book as a hierarchy of objects, also termed herein "media data objects" or "media objects". As shown, there are five different types of Media Objects: Media Containers 201, Media Elements 202, Media Element BackMatter 203, Media Element Groups 204 and Associated Media Items 205.
There is always one and only one Media Container 201 per book which is at the root of the book hierarchy.
Media Elements 202 form the core of the book. They may represent any meaningful portion of the book (also termed herein "article" ). Depending on the book type, each article may comprise a volume, part, section, chapter, picture or encyclopedia article.
For example, in a cookbook, each article may comprise a single recipe. Sections of the cookbook may also be considered "articles", each of which comprises a plurality of recipe-articles.
In road atlases, each article may comprise a single map.
In instruction manuals, each article may comprise a chapter or a step in an instruction sequence.
In a dictionary, each word entry may comprise an article.
In encyclopedias, each encyclopedia article may comprise an "article", and each subsection in each article may also comprise an article.
In telephone books, each subscriber record may comprise an article.
In picture books, each page may comprise an article.
In novels, each chapter may comprise an article.
In newspapers and newsmagazines, each article may comprise an "article" and subsections within an article may also comprise "articles".
Media Elements 202 may or may not have viewable data attached to them. The sons of a Media Element 202 may be other Media Elements 202 or they may be Associated Media Items 205.
In the illustrated embodiment there are various types of data objects which are differently experienced by the user.
An Media Element Back Matter 203 is similar to a Media Element 202 except that it is disregarded by a query.
A Media Element Group (MG) 204 is similar to a Media Element 202 in that it is not disregarded for the query. However, the article represented by the media element group is not merged with its sons when it is displayed.
Associated Media Elements 205 are typically in a different medium than are the majority of media elements. Typically, for conventional books, all of the media elements are text and the associated media elements are non-text elements which may, for example, be imported from the media database 170 of Fig. 1. However, if the "book" is an atlas, each map might be defined as a media element whereas country facts or other non-map, minority elements in the atlas might be defined as associated media elements. Associated Media Items 205 are always the sons of Media Elements 202 and, unlike ordinary media elements, never have any sons of their own.
Fig. 5A is a diagram of a representation of a typical user's briefcase 603 (Fig. 3 ) as a hierarchical tree of digital data objects.
The root of the tree is a Root Data Object
502. Each binder is represented by a Binder Data Object
503. The Binder Data Object 503 holds a name to identify each binder and an optional user attached note. The items in a Binder are either articles or Web Pages. Articles are represented by Media Data Objects 504 and Web Pages by URL Data Objects 505.
Fig. 5B is a diagram of a representation of a typical user's bookcase 602 (Fig. 3 ) as a hierarchical tree of digital data objects. The root of the tree is a Root Data Object 502. Each bookshelf is represented by a Bookshelf Data Object 511. Bookshelf Data Objects hold the name of the bookshelf, an optional user defined note and an optional bitmap, bookshelf type (librarian, recy- cle bin or normal) and an internal name. The items on a Bookshelf are Books and are represented by Book Data Objects 512. Book Data Objects hold their name, the status of the book (active, inactive) ISBN, information for accessing the book and the book attributes 612.
A book is "active" if it has been selected by the user from the shelves and placed on the Research Desk. All books designated as active are searched for each query, unless a subset of active books is indicated in the definition of the query, whereas inactive books are not searched.
The Media Database 170 typically comprises a list of Media Database Data Objects which store Items Format information, as defined below and also information describing how to locate the actual media. Items Format describes the encoding method or media format of a particular item of media, such as JPEG, MPEG1, MPEG2, GIF, Shockwave flash, quicktime, flashpix, and son.
The queries 604 supported by a book are represented by a list of Query Type Data Objects 531. Each Query Type Data Object holds an Internal name, external name and an implementation type. The external name is for display and the internal name is for implementing the query. The implementation type defines the method used for implementing the search, e.g. "string", "section", "query hierarchical ID", "query ID", etc.
In the illustrated embodiment, there are three different Query Results Data Objects 541, 542 and 543, one for each of the query types that have a predefined set of valid query items, i.e. Query String, Query Hierarchical ID and Query ID.
Query Hierarchical ID Data Objects 541 are used to define the complete hierarchical tree for the query and the items that are attached to articles in the book.
Query String Data Objects 542 are used to define the items that are attached to articles in the book.
Query ID Data Objects 543 are used to define the complete set of valid response for the query and the items that are attached to articles in the book.
All the Query Results Data Objects hold a count as described in detail herein. Query Hierarchical ID Data Objects and Query ID Data Objects hold IDs, Query String Data Objects holds a name.
Fig. 6 illustrates data tables provided in accordance with a preferred embodiment of the present invention. The data tables include "book tables" 401, 423, 427, 430, 440, 485 and 490 for each book in the user's library, "general tables" 449, 473, 493 and 804 which store general information used by the user ' s system 135, "template tables" 420, 445 and 467 which store information pertaining to templates 608 and a "media database" table 460 storing information pertaining to the user's media database 170. Typically, the template and book tables are stored in digital book library database 160 of Fig. 1, the general tables are stored in library research engine 150 of Fig. 1 and the media database table is stored in media database 170 of Fig. 1.
Library Table 493 stores all the data relevant to the library 160 (Fig. 3). It contains the data for various manipulations of books 100 in the library and in the current active set of books in the library, such as data for the following manipulations: deleting books, adding books, getting book names. The data in the Library table 493 is read by a Book Data Object 512.
Library table 493 preferably includes the following fields: a. Book ID 494: unique ID for each book assigned when the book is installed. Book IDs are assigned sequentially starting with 1. b. Title 495: String containing the title of the book. c. Book Status 496:
On/Off/Unreachable/Purged, etc. "On" means that the book is part of an active set, "off" means that the book is not part of an active set, "unreachable" means that the book is on an Internet site that cannot be reached and "purged" means that the book has been deleted from the system. These values are updated and maintained by the library research engine 150. Typically, books are "placed" on a recycle shelf after they have been deleted and until they are actually purged from the system. d. New Status 497: Flag indicating if this book is a newly bought book. Typically, this flag is permanently changed to OFF as soon as a new book has been first placed on a bookshelf. e. Book Path 498: The book path indicates where the data files for the book are stored. All the book tables (Fig. 6) for a book typically have standard names and are stored such that there is a different base directory for each book.
The present invention preferably provides two base directories for storing the tables of Fig. 6. One base directory points to a location on the user's hard disk. The other base directory points to a location on the DVD or CD.
All books added by the user is stored under the base directory on the hard disk. Books on the DVD or CD are stored under the base directory on the DVD or CD.
When installing the program of the present invention the user preferably transfer all non-viewable data for DVD or CD books to his hard disk for speed purposes. This results in part of a book being on the local disk and part on the DVD or CD. When a data file is to be opened the system looks on the hard disk first and then on the DVD or CD.
In the future this book path could point to a URL for remote books that are accessed over the Internet. f . Book Type 499 : Value indicating which type of book object is to be created for this book. g. Data Object Type 550: Field indicating the type of data object to be created to hold the information in this row of the Library table 493. h. Template Name 551 : The name of the template to be used for the book. Template tables are located by appending this name to " <DataPath> /Templates/" where <DataPath> is the overall path for the tables of Fig. 6. i . Tree Table Type 802: Value indicating the type of book table to create for the individual book, i.e. the conventional database technology which is to be used to implement the book tables for the individual book. j . ISBN 553 : International Standard Book Number. Used to uniquely identify any book.
The BookCase Table 473 holds all information for bookcase 602 and the list of books on a bookshelf. The data in the Bookcase table 473 is read by Bookshelf Data Objects 511 and Book Data Objects 512. The Bookcase table 473 preferably includes the following fields: a. Bookshelf ID 474: Unique ID assigned when the bookshelves are created or a book is placed on a bookshelf. b. Name 475 : The displayable name for a bookshelf either assigned by user or standard name for a standard bookshelf. The user may modify the name of this bookshelf at any time. c. Internal Name 476 : Name for bookshelf used to keep track of a bookshelf even if the user has modified the name . d. Parent ID 477: Pointer to parent Bookshelf Object. Needed to move up in the tree. e. Number of Sons 478 : Integer indicating the total number of direct sons the Bookshelf Object has. This is useful in allowing the title browser to determine the weight of a Bookshelf Object and to determine what to display without actually traversing the tree. It is also used in the traversal of the tree to determine the last son. f. Son Number 479 : Integer indicating the position of the Bookshelf Object in the list of sons for the parent. There is an index on this field combined with the Parent ID field. This allows random access to a specific son of a bookshelf object. g. Data Ob ect Type 480: Field indicating the type of data object to be created to hold the information in this row of the Bookcase table 473 (e.g. BookshelfDO or BookDO ) . h. Book ID 481 : Reference to a book from the Library Table 493. i. Deletable 482: This flag indicates whether the user can delete the bookshelf. Standard bookshelves are not deletable as that is the location that new books are placed when first being installed. j . Shelf Type 483: Is used to define special types of bookshelves. Currently there are two special bookshelves - librarian & recycle. The librarian is used to hold new books that have never been assigned to a bookshelf. The recycle shelf is used to hold books after they have been deleted before they are purged from the system. k. Description 484: User defined textual description of a bookshelf.
The Briefcase Table 449 holds all information for briefcase 603 and the items in a binder. The data in the Briefcase table 449 is read by Binder Data Objects 503, Media Data Objects 504 or URL Data Objects 505. The Briefcase table preferably includes the following fields: a. ID 450 : unique ID for each Binder Item b. Name 451 : Name of the binder if the record represents a binder. If the item is Media Object then this entry could be used to allow the user to customized the name of the Media Object. c. Parent ID 452 : Pointer to parent Book- Shelf Object. Needed to move up in the tree. d. Number of Sons 453: Integer indicating the total number of direct sons the Bookshelf Object has. This is useful for the title browser in determining the weight of a Bookshelf Object and to determine what to display without actually traversing the tree. It is also used in the traversal of the tree to determine the last son. e. Son Number 454: Integer indicating the position of the Bookshelf Object in the list of sons for the parent. There is an index on this field combined with the Parent ID field. This allows random access to a specific son of a bookshelf object. f . Data Object Type 455 : Field indicating the type of data object to be created to hold the information in this row of the Briefcase table 449 e.g.BinderDO, MediaDO or URLMediaDO ) . g. Book ID 456 : ID to indicate which book the media object comes from. Only used in records that represent entries in a binder. h. Media Object ID 457: ID to indicate the media object that was placed in the binder. Used in combination with the book ID field to uniquely identify a media object in the library. Only used in records that represent entries in a binder. i. Description 458 : User defined note attached to binder or binder entry. . URL 459: The URL address for a Web Page when it is added to the binder.
The Media Database 170 gets the actual media from the Media Database Table 460 using the Media Data- base ID 461. The data in the Media database table 460 is read by Media Database Data Objects 521 or Media Database Data Objects 504. The Media Database 460 typically includes the following fields: a. Media Database ID 461 : Unique ID for identifying objects in media database 170. b. Location 462: This field indicates if the actual data is stored in the Viewable Data field of the Media database table 460 or in a file. c. Format 463: The format of the media (e.g. jpg, gif, flash, mpeg2 d. Viewable Data 464: If the data is stored in the Media database table 460 then this field contains the actual viewable data. If the data is stored in another file then the path to the data, including the filename, is stored in this field. The path is relative to some base directory for all data in the media database 170. e. Copyright ID 465: Optional index into an optional copyright table (not shown) which indicates particulars of the copyright holder for this media. f. Photographer ID 466 : Optional index into an optional photographer table (not shown) to indicate the photographer/artist who created the media.
The Tree Table 401 provides and stores the information on the hierarchical structure of the book. It preferably provides all information with regard to an item in the book except the actual viewable media, which is stored in the viewdata table 430.
If a Media Object has some sons that are Media Elements 202 and some that are Associated Media Items 205 then the Associated Media Items 205 typically appear together at the beginning of the list of sons for the Media Objects.
Following is a preferred list of data fields for the Tree Table 401: a. Media Object ID 402: A unique ID assigned to each Media Object. b. Sort Name 403: Title of Media Objects with all HTML tags and special characters removed. This field allows the indexing facility of any conventional database technology to be used, so as to implement a follow-me on the name of an article. c. Name 404: Title of Media Object. Will be displayed in title browser and when an article is loaded for display. This title includes all HTML codes and special entities that are useful for displaying the name correctly on an HTML page. d. Parent ID 405 : Pointer to parent Media Object. Needed to move up in the tree. e. Son Number 406: Integer indicating the position of the Media Object in the list of sons for the parent. There is an index on this field combined with the Parent ID field. This allows random access to a specific son of a media object. f . Number of Sons 407: Integer indicating the total number of direct sons the Media Object has. This is useful for the title browser, for determining the weight of a Media Object and to determine what to display without actually traversing the tree. It also allows the last son to be determined. g. Media Ob ect Type 408 : Indicates if media object is the root of the book, a media element, an associated media item, or embedded media. i. Media Type 409: Indicates the type of visual media represented by this media object. Article, Picture, Video j . Data Object Type 410: Field indicating the type of data object to be created to hold the information in this row of the Tree table 401. k. User Note 411 : User defined note attached to an article. 1. Paragraph Number 412 : If the item is an AMI then this field specifies which paragraph of its parent article it should be inserted in. If the paragraph number is zero the media is not embedded in the article. m. HTML Level 413: The HTML heading tag level to be used to display the title of the article. n. Language 414: The language of the article. o. Version 415: Update version of the article. Initially all articles have a version of 0. p. Embed List 416: A list of Media Objects that have embedded this media object in their articles. This is useful in order to know what other articles are affected if this article is deleted. q. Reference List 417: A list of Media Objects that have hyperlinks to this media object in their articles. This is useful in order to know what other articles are affected if this article is deleted. r. MediaDB ID 418 : If the media for the media object comes from the Media Database 170 then this field is the ID for locating the media in the media database 170. There is an index on this field that allows all articles linked to a specific piece of media to be located. s. Duplicate 419 : This field indicates that this is the first media object in this book to use a given Media Database ID 461. If the media for the media object is not from the Media Database 170 this field is irrelevant. This allows the first use of a media piece in the book to be marked, and consistently used for naming the media in the media search so the results for the media search are in alphabetical order.
The Viewable Data Table 430 stores the viewable data associated with Media Objects. There may be two instances of the Viewdata (viewable data) table 430 for a book, one on the hard disk and one on read-only media. Specifically, if the book is delivered and used from some read-only media (i.e. CD-ROM or DVD) then the original Viewdata table 430 is left on the read-only media. Updates are stored in the Viewable Data table 430 on the hard disk. When a Media Object wants to read its viewable data it checks the viewdata table 430 on the hard disk first. If the hard disk version of the viewdata table 430 does not contain a record for the ID then the viewable data is read from the Viewable Data table on the readonly media.
There are two pieces of viewable data. In most cases only the first piece is defined and used. In some cases, such as a sound combined with a picture, both are defined and used.
Following is a preferred list of the data fields included in the viewable data table 430: a. Media Object ID 431 : The unique ID assigned to each Media Object. b. Viewable Data 432: Memo field that contains the viewable data such as an HTML file, a GIF or a JPEG. If the viewable data is stored in the media database 170 then this field contains the Media Database ID 461. If the data is stored in a standalone file then this field contains the filename of that file. The actual text of each article of a digital book 100 is typically stored in this field. c. Caption 433 : Memo field containing the caption for a picture. d. Hotspot 434: Memo field containing a hotspot map for the picture. If the hotspot data is stored in the media database 170 then this field contains the Media Database ID 461. e. Media Format 435: Indicates the format used to store the visual media HTML, GIF, JPG) f. Location 436 : Indicates if the viewable data is stored in the memo field, a separate file, the media database 170 or that there is no viewable data for the item g. Viewable Data 2 437: Memo field that contains the viewable data such as an HTML file, a GIF or a JPEG. If the viewable data is stored in the media database 170 then this field contains the Media Database ID 461. If the data is stored in a standalone file then this field contains the filename of that file. h. Media Format 2 438: Indicates the format used to store the visual media (HTML, GIF, JPG) i. Location 2 439 : Indicates if the viewable data is stored in the memo field, a separate file, the media database 170 or that there is no viewable data for the item j . Attributes Table 427 stores attributes that are applicable to the entire book rather than to individual articles therein or portions thereof. This table preferably comprises 2 fields: Name field 428 and value field 429.
The types of data preferably comprise the following. a. Merge Level : A number, greater to or equal to one, which corresponds to level on the "tree" of the article or media. The root node of the book is on level 1, the main articles of the book are on level 2, etc. There exists a user option "View sub articles with main article" where an article is considered to be a main article if its level is the same as the merge level. b. Copyrights Page #: Each book has an added page that contains the copyright information for all of the articles/media of that book. The "Copyrights Page #" is the ID number 402 of the record in the book's tree table 401 which stores the copyright information for the book. When the user is shown a hierarchical view of a book (Fig. 31), the copyright page is typically displayed at the bottom of the list of articles for the book i.e. at the bottom of the browser list. c. Copyright: There is copyright information for the book (as opposed to the article) which can be viewed in the general tab of the book properties ' dialog box. d. Copyright hyperlink text: There is a hyperlink at the end of every article which, when pressed, links to the copyright page for all articles/media of the book. The text of this hyperlink is stored as an attribute for the book. e. Overview Page # : Each digital book generated by the book compiler has an "overview page", which is provided by a user of the book compiler, which contains a short overview for that book such as the promotional material and/or summary that sometimes appears on the back cover of a book. The "Overview Page #" is the ID number 402 of the record in the book ' s tree table 401 which stores the overview page. The overview can be viewed in the book properties' dialog box overview tab. f. Author: The author of the book can be viewed in the general tab of the book properties' dialog box. g. Publisher: The publisher of the book can be viewed in the general tab of the book properties' dialog box. h. Library of Congress #: The Library of Congress number for the book can be viewed in the general tab of the book properties' dialog box. i . Dewey Decimal #: The Dewey Decimal number for the book can be viewed in the general tab of the book properties' dialog box. j . Book Version # : The version number of the book currently on the user ' s machine can be viewed in the general tab of the book properties' dialog box. k. Text Date: The date that the processing of the text, for the current book on the user's machine, was completed. This can be viewed in the general tab of the book properties' dialog box.
1. Compile Date: The date that the compiling of the current book on the user's machine was completed. This can be viewed in the general tab of the book properties' dialog box. m. Default Internal Bookshelf: The default (internal) bookshelf determines on which shelf an unshelved book is placed when the user chooses, in one of the library views, to have the book automatically shelved. n. Default Bookshelf: The same as the Internal Bookshelf name accept if modified by the user. o. URL base: The basis of the URL to be used to locate Internet media. The book's ISBN number and the media ite ' s ID number are among the parameters added to this URL. p. Full Text Search Database Type: The system of the present invention preferably has the ability to switch between different databases, such as the Verity database, that are used for the various full-text, keyword, and other searches. q. Media Search Engine: The system of the present invention preferably has the ability to switch between different conventional engines for performing media searches, selecting all media by category - video, picture, sound, etc. for all active books. Alternatively, a customized media search engine may be employed which precomputes results to facilitate rapid media searching. r. Table Type: The book tables for each book can be implemented using any conventional database technology such as but not limited to Codebase, Foxpro, SQL server and Access. Typically, all tables for a single book are implemented using a single database technology. The database technology used to implement the tables of an individual book is stored in the Table Type attribute. In other words, if a particular book is implemented in Foxpro, then one of the records of the Attributes Table 427 of that book would include the following information: "name = TABLE TYPE; value = FOXPRO", s. Page formatting attributes: There are a number of attributes that are used to enhance the format of an article or piece of media including determining backgrounds for an article and its caption. t . Update Attributes:
Update creation date (Last update) - See Updates section
Update last checked ( Last check ) - See Updates section
Updates - How often to check (Check every) See Updates section
Updates - How often to recheck (After due date, recheck for updates every <number> days) - See Updates section
Update version # - See Updates section Update status - See Updates section Update active status (Automatic update) - See Updates section
Updates server name - See Updates section Updates URL: The URL site where updates for the book can be found.
Updates CGI Path: The path to the program that exists at the URL site. This path includes parameters used by the program to find the appropriate updates. Updates Site User: Username for URL site. Updates Site Password: Password for URL site. Update Filename: The name of the update packet name that has been downloaded. This attribute is stored as an update packet may not be installed immediately after being downloaded. u. Subscription Site: The site (CGI path) at which the user can subscribe for updates for a given book. Among the parameters sent to the Subscription Site is the update version number of the book. v. User turned off update: At the beginning of the scheduled updating procedure, a list all books for which it is time to check for an update or for which an update packet needs to be downloaded or to be installed are displayed to the user. The user is then given the choice to exclude books from the update process, in which case the above attribute are set to true.
For each of the above parameters (a) - (v) i.e. from "merge level" to "user turned off update", a code indicating the data type is stored in the name field 428 whereas the value is stored in value field 429. for example, if the merge level is 2, there is a record in the table for which "name" is the code for "merge level" and "value" is 2.
The book tables of Fig. 6 include 3 query result tables 423, 440 and 490. Each of these tables may be defined once or more for each book, and may not be defined at all for some books, all depending on the types of query defined for each book. For example, a popular medical book may have only two types of query defined for it: Media and keyword. Therefore, the popular medical book would have 2 query result tables, namely a Query string result table 423 for the keyword query and a query ID results table 440 for the media query.
Each query result table is applicable to one or more query implementation methods. A book includes one instance of each of the 3 types of query result table (i.e. one physical table) for each query type defined for the book which uses the implementation method of that type of query result table.
For example, a particular book may have two types of query: country search and keyword search. Both of these queries typically use the same implementation method, i.e. "String". Therefore, the book would have two query string results tables 423 and no other query result tables.
The Query Result Tables 423, 440 and 490 provide assistance to the user by presenting a list of items that the user can choose from to execute his query. For example if the book supports a keyword query type then the query string results table 423 implementing the keyword query type holds a list of all the keywords for all the articles in the book. In the case of a search for a string, such as a keyword, the table 423 for the keyword type query allows implementation of a "follow me" by way of the NameSort field 425 of table 423.
Each record in a query result table corresponds to a particular query. For example, a query result table may be supplied for all queries whose query type is Country. Each such query, such as Australia, Canada, Denmark etc. is a record in the query result table for the Country query type. A reference count (count field) is maintained for each record in each of the query result tables 423, 440 and 490 (numbered as fields 526, 444 and 492 respectively in Fig. 6). These fields store the number of articles that respond to a particular query. For example, the reference count for the Australia record in the query result table for the Country query type stores the number of articles in the book which relate to Australia. The reference counts are useful because if the reference count of, say, the Australia record reaches zero, due to deletion of all articles related to Australia then the Australia record is removed from the query result table.
The Query Result tables 423, 440 and 490 also are useful for precomputation of the results for a query item in order to present results to the user very quickly. This is typically only used in the case of a Media search.
Preferred data fields for the Query Result Tables 423, 440 and 490 are now described.
DATA FIELDS FOR QUERY RESULT TABLE 423:
a. Name 424: The valid search strings. b. Name Sort 425 : The Sort Name field is only present where the search is for a string such as in the case of keywords. The name has all HTML tags and special characters removed. It is also normalized in lower case. This field allows the indexing facility of any conventional database technology to be used to implement a follow-me on the name of an article. c. Count 426: The number of Media Objects that respond to a search for that key. This field must be updated whenever the book is updated. When the number of occurrences reaches zero the record may be deleted from the table 423. This field is useful for determining, after deleting an article, if the query value is still valid.
DATA FIELDS FOR QUERY ID RESULT TABLE 440:
a. ID List 441 : This is a field which allows a very fast query to be run. The results for a query can be precomputed and the list of Media Objects that respond to that item can be stored in a list of IDs. This greatly improves the response time but increases the amount of disk space required and increases the compilation time. It is currently only used for media where there are only a few different media types and where speed is very important. b. Location 442 : The location where the ID List is stored. Possible values are "table" or "field". If the value is "field" then the list is stored in the ID List field. If the value is "table" then ID List typically just points to an optional table (not shown) that holds the ID List, one ID per record. Each very large ID list may be stored in a separate table. c- IP. 443: The valid search strings. d. Count 444: The number of Media Objects that respond to a search for that key. This field must be updated whenever the book is updated. When the number of occurrences reaches zero the record may be deleted from the table 440. This field is useful for determining, after deleting an article, if the query value is still valid.
DATA FIELDS FOR QUERY RESULT TABLE 490:
a. ID 491 : The valid search strings. b. Count 492: The number of Media Objects that respond to a search for that key. This field must be updated whenever the book is updated. When the number of occurrences reaches zero the record may be deleted from the table 490. This field is useful for determining, after deleting an article, if the query value is still valid.
The library research engine 150 preferably uses a suitable conventional database for full text searches which may comprise a commercially available database such as Verity Search '97 Software Developer's Toolkit Version 2.2.3, from Verity Inc., 894 Ross Drive, Sunnyvale, CA, USA. That way if a user wants to search for the existence of any word in any of the books in his system, a particular book is able to respond with its articles that answer the query.
The Query Type Table 445 lists the available query types for the queries 604. The data in the Query Type Table 445 is read by Query Type Data Objects 531. The Query Type table 445 is part of the template 608 and preferably includes the following fields: i. External Name 446: The name of the query as it is seen by the user. ii. Internal Name 447: The name of the query as it is used internally by the data layer 211. iii. Implementation Type 448: The type of the query, e.g. one of the following: Full text, section, string, ID and hierarchical ID.
Query Tables 420, 467 define the set of valid items for a given query. These tables are part of the template 608.
The Query ID table 420 stores all possible values for a query of type ID. There is a different Query ID table for every query that has an implementation type of ID. The data in the Query ID table 420 is read by Query ID Data Objects 543. Each Query ID table preferably includes the following fields: a. ID 421: Unique ID for each item; and b. Name 422: String to appear in the GUI for this item.
The Query Hierarchical ID Table 467 stores all possible values for a query of type Hierarchical ID. There is a different Query Hierarchical ID table for every query that has an implementation type of Hierarchical ID. The data in the table is read by Query Hierarchical ID Data Objects 541. Table 467 preferably includes the following fields: a. ID 468: Unique ID for item b. Parent ID 469 : Pointer to parent Subject. c. Son Number 470: Integer indicating the position of the Subject in the list of sons for the parent. There is an index on this field combined with the Parent ID field. This allows random access d. Number of Sons 471 : Integer indicating the total number of direct sons the Subject has. This is useful for the title browser in determining the weight of a Subject and to determine what to display without actually traversing the tree. It is also used in the traver- sal of the tree to determine the last son. e. Name 472: String to appear in the GUI for this subject.
The Libentry (Library entry) table 485 stores information useful for adding a new book to the Library Table 493. The fields of the Libentry table 485 preferably include the following: a. Tempname 487: The name of the template 608 for the book. This field is copied to Tempname field 551 in the library table 493. b. ISBN 488 : The international standard book number. Copied to ISBN field 553 in Library table 493. c. Name 486 : The title of the book, copied to Name field 495 in library table 493. d. Booktype 489 : Value indicating the implementation method for the book. This value is copied to Booktype field 499 in the Library Table.
The preference table 804 stores system-wide settings . Some of these preferences may be set and some may be alterable by the user in the Options Dialog. The preference table 804 preferably includes the following fields: a. Name 805 : The name of the preference. b. Value 806 : The value to be used for the preference.
Fig. 7 is a diagram illustrating dataflow between the data layer 211 of Fig. 2, and the GUI/navigator interface 213 of Fig. 2, via the navigator layer 212 of Fig. 2.
A Data Supplier 704 is another data structure, which allows for the interaction between the Navigator layer and the Data layer. A Data Supplier is an object that knows how to create Data Objects. There are two basic kinds of Data Suppliers - the Hierarchical Data Supplier and the List Data Supplier.
The usage of these two data structures, the Hierarchical Data Supplier and the List Data Supplier, enables the same code to be used when dealing with all different kinds of data. An example is the list of query results, or the list of all the videos. The source of the data in these two cases is different, which means that different instances of the List Data Supplier is used. But this is the only difference. The work of the Navigator layer is exactly the same in both of the cases.
The Data Supplier data structure hides from the Navigator layer all the complexity of the Data layer internal structure.
The Hierarchical Data Supplier is operative to create or add a specific Data Object as a son for the given parent Data Object. The son object is identified by its number among all the son objects of the given parent. The Hierarchical Data Supplier also knows to traverse a hierarchical tree including going from leaf to leaf and getting the root and the list of ancestors for a given Data Object. For example if the parent object is a Book 100, the son number 3 of this parent is the third chapter of the Book.
GetNext and GetPrevious methods are called from the List Data Supplier to retrieve Data Objects one by one. List Data Suppliers also go to a specific Data Object in the list based on any one of position, the Data Object, or based on a string (for Follow Me). For example, a list data supplier may comprise the results of a query.
Fig. 8 illustrates data relationships between Navigators 212 and containers 801. The ability to manage all of the books in a user Virtual library and provide real time responses for all books is handled by a layer called the Navigator (layer 212 in Fig. 2). The aim of Navigator is to allow for the presentation of data, possibly merged from multiple books, to display to the Researcher. The Navigator also is responsible for effi- ciently caching and discarding data in order to best utilize memory and give quick response to the user. A Container 801 is a data structure which holds all of the Data Objects that belong to one hierarchy. The Navigator layer is responsible for creating Containers and filling them with Data Objects.
The Data Objects, which have been placed in a Container, are to be used by the Graphical Interface layer 214 of Fig. 2. An example of where the Graphical Interface Layer 214 displays the Data Objects in a Container 801 is in the Browser window of the Control Pane, i.e. in the window which displays the media item. This is where the Data Objects of the Book hierarchy are displayed in a tree format. Each Data Object is represented by a line of text together with a small icon. Some of the lines also have an Expand-Collapse button which indicates that the corresponding Data Object is expandable. If a Data Object is in collapsed state it is regarded as a leaf. If a Data Object is in expanded state is regarded as a branch and the Data Objects which are its sons are shown underneath it.
Within the Navigator layer 212 of Fig. 2 there is an object called a Navigator 212, which holds a position inside a Container. The Graphical Interface layer 214 can retrieve the current Data Object of a Navigator 212.
The Navigator performs two very useful methods
Get Next and Get Previous. These methods change the current Data Object of the Navigator. The Graphical
Interface Layer 214 communicates with the Navigator Layer
212 by using these two methods.
The term "Next" data object refers to the first son of a current data object, if the current data object has sons, and otherwise, "next" is the next brother. If there are no next ( "younger" ) brothers then "next" is the next brother of the parent, and so, continuing up the tree until a next brother of some ancestor is found or until the end of the tree is reached in which case there is no "next" data object. "Previous" refers to the last son of the previous brother. If the previous brother does not have sons then "previous" refers to the previous parent, and so on, until the root of the tree is reached. If the root of the tree is reached, there is no "previous". The "next" and "previous" data objects for a current data object are typically computed using hierarchical information stored in the parent field 469, number of children field 471 and child number field 470 of the query hierarchical ID table 467 of the current object.
As an example, consider the task of painting the content of the Browser Window that shows the hierarchy of a Book. The Graphical Interface layer 214, in this Example, is assumed to hold a Navigator 212 whose current (initial) Data Object corresponds to the top line of the window. In such a case the drawing task comprises the following steps (1) to (3):
1) The current Data Object of the Navigator is retrieved and the corresponding line is drawn. The Data Object itself has all the information that is needed to draw the corresponding line, (i.e., initially, the top line ) of the Browser Window showing the hierarchy of the current book. This information comprises the following three items : a) Text - The name of the Data Object. b) Level of current data object in the hierarchy of all data objects held by the navigator This information is important because the hierarchy level determines the offset, from the left edge of the window, at which the current data object is shown. c) Expand-collapse state of the Data Object. Typically, one of two possible buttons is drawn at the beginning of the line to indicate that the current data object has children which will or will not be shown. If no button is drawn at the beginning of the line this typically indicates that the current data object does not have children.
2) Now the Navigator is moved to the next Data Object (corresponding to the Browser Window line below the line associated with the current Data Object). The Navigator moves to the next Data Object by calling its Get Next method .
The term "line" refers to content lines or lines of text and does not refer to the rows of pixels which make up the Browser Window.
3) Steps 1) and 2) are repeated until the window is filled.
A particular advantage of a preferred embodiment of the present invention which includes the Navigator data structure is that the Graphical Interface layer 214 does not need to be "aware" of containers or "understand" the structure of a Container. Only the Navigator 212 knows how to transverse a Container and retrieves the relevant information directly from the Container.
When a Container 801 is created it is not immediately filled with Data Objects 511. The creation of a Data Object 511 is a relatively heavy operation, so a Container 801 is preferably filled with Data Objects only when the user of the navigator 212needs a Data Object. Returning to the example with the window that shows the hierarchy of a Book, it is seen that calling the GetNext method on a Navigator filled the window. Each such call to the GetNext method causes the creation of a Data Object 511. So after the first show there are only about 20 actually loaded Data Objects. All other Data Objects of the Container 801 are logically present in the sense that, for example, the range of the scroll bar takes them in account. But these Data Objects are not physically created till the user scrolls to the corresponding location. The present invention provides a preferred method for searching through electronic information which includes storing a multiplicity of books each as a separate object and performing an electronic researching operation. This operation typically includes searching individual ones of the multiplicity of books and generating a book search output and merging book search outputs of a plurality of searches performed by the book searcher on a plurality of user-selected books from among the multiplicity of books, thereby to generate a global search output. Merging is discussed below with reference to Fig. 9.
Fig. 9 illustrates Merging of Lists of Data Suppliers 802 which is typically performed within Navigator Layer 214.
When there is just one book on the Research Desk then the corresponding List Data Supplier can give the results one by one. The first few Data Objects can be easily retrieved from the Container.
But what if the user moved the scroll bar thumb to the middle of the result list? How can a Data Object be retrieved from the middle of a result list? Of course it would be possible to retrieve all the Data Objects one by one until reaching the required Data Object. But the list could be very long and preferably, loading Data Objects should be avoided until they are really needed. To take care of this the List Data Supplier has a method to retrieve a Data Object by its sequential number in the list. The total number of Data Objects in the list is known and therefore it is possible to retrieve a Data Object from the middle of the list.
When there is more than one book on the Research Desk then the query results are typically merged into one list to display them to the user. First a List Data Supplier is created for each Book. Since there is more than one book a "List of Data Suppliers" object is also generated.
As an example, each Book would be represented by one List Data Supplier object. All the List Data Suppliers are connected in a List of Data Suppliers object. Here again it is simple to show the few first items in the merged list of results. The first items from each Data Supplier are retrieved and they are added to the Container in correct order. But how can the system scroll to the middle of the merged list? In an example with one Book it is possible to simply call the appropriate method to retrieve a Data Object by its number. In the case of more than one book, the same thing cannot be done. To take an extreme example, each book may contain articles whose names begin with one letter. There is a Book for the letter A, a Book for the letter B and so on. If an article were simply picked from the middle of each Book and the results merged together it would be obviously wrong. To solve this problem an iteration method is used. Merging in few levels. 701
A List of Data Suppliers has all the methods that a single List Data Supplier has. So a List Data Supplier is created that is implemented as a List of Data Suppliers. Now again a few such Data Suppliers can be connected to one List of Data Suppliers.
An example could be when viewing Media. Here the user can see all the media items from all the Books. For each Book there is a Media List for each kind of media, that is a list of Pictures, a list of Videos etc. All of these lists are connected to one Media List of the Book. All of the Media Lists for all of the Books are connected to one Media List. The List Data Supplier data structure allows the same code to be used for merging at all levels.
For clarity, Figs. 7 - 9 are now summarized.
Fig. 7 demonstrates a preferred flow of infor- mation, comprising data objects, from data layer 211 to navigator/GUI interface layer 213. First, data objects are shown passing from a book 100 via data suppliers 704 in the data layer 211 to a merge process 701 in the navigator 212. The merge process is operative to receive data objects, from several books 100, which data objects have been passed up to the navigator/GUI interface layer 213. The merge process generates, from these objects, a single unified list of data objects. A preferred embodiment of the merge process 701 is described in detail with reference to Fig. 9. In the example illustrated in Fig. 7, four dataflows are shown, only one of which (the leftmost dataflow) requires merging because only the leftmost process involves data objects from a plurality of books. For the processes which do not require merging, information typically passes directly from the data layer 211 to the navigator-GUI interface layer 213. For example, book data objects 512 and bookshelf data objects 511 (Fig. 5B) may pass directly from the bookcase 602 to layer 213. Binder data objects, media data objects 503 and URL media data objects 505 (Fig. 5A) may pass directly from the briefcase 603 to layer 213. Book data objects may pass directly from the library 601 to layer 213.
Fig. 8 illustrates a container 801 holding a hierarchical tree of data objects which may have been merged from several books 100. Several navigators 212 point to different current data objects within container 801. This allows the various navigators to share data objects and reduces resources devoted to reading of data objects from the database, thereby conserving memory storage and enhancing speed.
Fig. 9 illustrates a two-level merge process in which the container 801 receives data from a list of data suppliers 802 each of which in turn gets its data from a list of data suppliers 802 by way of one or more data suppliers 704. Figs. 10 - 60 are screen display generated by a preferred embodiment of the present invention. Specifically:
Fig. 10 is a pictorial illustration of a screen display of a main menu, generated in accordance with a preferred embodiment of the present invention.
Fig. 11 is a pictorial illustration of a Search View screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 12 is a pictorial illustration of a Search Full Text screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 13 is a pictorial illustration of a Search Keyword screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 14 is a pictorial illustration of a Search Natural Query screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 15 is a pictorial illustration of a Search By Phrase screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 16 is a pictorial illustration of a Search - Sounds Like screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 17 is a pictorial illustration of a Search By Title screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 18 is a pictorial illustration of a Search By Topic screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 19 is a pictorial illustration of a Media View screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 20 is a pictorial illustration of a Media Animation screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 21 is a pictorial illustration of an Animation -- Full Size screen display, reached from the Media Animation screen of Fig. 20, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 22 is a pictorial illustration of a Media Video screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 23 is a pictorial illustration of a Media Sound screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 24 is a pictorial illustration of a Media Portrait Photo screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 25 is a pictorial illustration of a Media Photo screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 26 is a pictorial illustration of a Media Music screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 27 is a pictorial illustration of a Media Flags screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 28 is a pictorial illustration of a Media Map screen display, reached from the Media View screen of Fig. 19, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 29 is a pictorial illustration of a Full Screen Map screen display, reached from the Media Map screen of Fig. 28, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 30 is a pictorial illustration of a Book View screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 31 is a pictorial illustration of an Article screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 32 is a pictorial illustration of an Article - Full Screen display, reached from the Article screen display of Fig. 31, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 33 is a pictorial illustration of a Follow Me screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 34 is a pictorial illustration of a Binder screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 35 is a pictorial illustration of a Library -- Graphical Interface screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present inven- tion.
Fig. 36 is a pictorial illustration of a Library -- Standard Interface screen display, reached from the Library -- Graphical Interface screen display of Fig. 35, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 37 is a pictorial illustration of a Library -- Standard Interface screen display, reached from the Library -- List of Books screen display of Fig. 35, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 38 is a pictorial illustration of a Digital Book screen display, reached from the main menu of Fig. 10, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 39 is a pictorial illustration of a Bookstore -- Book Information screen display, reached from the Digital Bookstore screen display of Fig. 38, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 40 is a pictorial illustration of a Book Adding screen display, reached from the Bookstore -- Book Information screen display of Fig. 39, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 41 is a pictorial illustration of a Book Download screen display, reached from the Book Adding screen display of Fig. 40, which is generated in accordance with a preferred embodiment of the present invention. Fig. 41 is similar to Fig. 35 except that the status bar shows that a book is being downloaded from an electronic bookstore into the user's library.
Fig. 42 is a pictorial illustration of a New Shelf -- New Book screen display, reached from the Book Download screen display of Fig. 41, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 43 is a pictorial illustration of a New Book In Library screen display, reached from the New Shelf -- New Book screen display of Fig. 42, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 44 is a pictorial illustration of an Article From Book screen display, reached from the New Book In Library screen display of Fig. 43, which is generated in accordance with a preferred embodiment of the present invention.
Fig. 45 is a "Book Properties" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60, and then selecting from the resulting View menu, the "Current Book Properties" option. The screen display of Fig. 45 preferably displays general information about a current book, its cover, and an overview of the book.
Fig. 46 is a "Book properties -- updates" screen display arrived at by selecting the "Updates" option in the screen display of Fig. 45. The screen display of Fig. 45 display information about the last update of the book.
Fig. 47 is an "Options - general" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60, and then selecting from the resulting View menu, the "Options" and subsequently the "general" options.
Fig. 48 is an "Options - display" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60, and then selecting from the resulting View menu, the "Options" and subsequently the "display" options.
Fig. 49 is an "Options - search" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60, and then selecting from the resulting View menu, the "Options" and subsequently the "search" options.
Fig. 50 is an "Options - bookstore" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60, and then selecting from the resulting View menu, the "Options" and subsequently the "bookstore" options. The user is given an opportunity to change his default bookstore.
Fig. 51 is an "Options - Update" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60, and then selecting from the resulting View menu, the "Options" and subsequently the "update" options.
Fig. 52 is a screen display arrived at by clicking on the "view" option in the screen display of any of Figs. 22 - 28, 30 - 37, 41 - 51, 53 - 56 or 58 - 60.
Fig. 53 is a "File view" screen display arrived at by selecting the File option in substantially any of the screen displays of Figs. 10 - 60. As shown, the screen display of Fig. 53 includes a menu offering the user the following options: Internet bookstore (takes the user to his default Internet bookstore), Update from Internet (allows use to update any book in his library), New binder, Print, Page setup (for setting up of a page is to be printed) and Exit.
Fig. 54 is an "Edit file" screen display arrived at by selecting the Edit option in substantially any of the screen displays of Figs. 10 - 60. As shown, the screen display of Fig. 54 includes a menu offering the user the following options: Select All (allows user to select entire article) and Copy (allows user to copy whatever has been selected).
Fig. 55 is a "menu from article" screen display arrived at by selecting the View option in substantially any of the screen displays of Figs. 10 - 60. As shown, the screen display of Fig. 55 includes a current article in a window with the menu on the left in another window. The menu offers the user the following options: Previous (view the previous article), Next (view the next article), Binder (add the article to an existing binder or create a new binder). The user can also print the article.
Fig. 56 is a "Help menu" screen display arrived at by selecting the Help option in substantially any of the screen displays of Figs. 10 - 60. As shown, the screen display of Fig. 56 includes a menu offering the user the following options: Help topics, User's manual, Tour guide allowing the user to view the help topics, user's manual and tour guide respectively.
Fig. 57 is a "Tour guide" screen display arrived at by selecting the "tour guide" option in the menu of Fig. 56;
Fig. 58 is a screen display arrived at by pressing the "context" button in the righthand Article window in the screen display of Fig. 55. Pressing the "context" button results in the system showing the user the context of the item display in the window. For example, if the article is a sub-article or a photo, the context option allows the user to see the article which the item is attached to.
Fig. 59 is a screen display arrived at by pressing the "related" button in the righthand Article window in the screen display of Fig. 55. The screen display of Fig. 59 displays keywords relating to the article. Choosing one of these keywords initiates a search for all articles with the specified keyword.
Fig. 60 is a screen display arrived at by pressing the "media" button in the righthand Article window in the screen display of Fig. 55. The screen display of Fig. 60 lists all media in the currently displayed article. Selection of one of the media in the list results in display of that media.
The term "graphical library" refers to the 2D library component of GUI 214. The graphical library is typically a 2-D library. The main elements in the graphical library are a Bookcase with Shelves (with Books), a Research Desk, a Librarian, an Uncatalogued (Unshelved Books) Desk and a Recycled Desk.
The minimum screen size of the graphical library where all of the main elements fits in is 400 x 600 pixels. The user is able to make the window smaller that, but then elements are cut off from view.
As the user drags the screen to be larger than 400 by 600 pixels parts of the background stretch and the Shelves are able to stretch vertically and horizontally as fitting. As the screen is stretched vertically new shelves are added to the top of the bookcase when there is room for them. As the screen is stretched horizontally each existing shelf gets longer, allowing the user to view more books on the shelves at a time. As the screen gets larger the Bookcase with Shelves always remain left justified and the Research Desk remains right justified.
When the user is in the Research Center and opens the Graphical Library the size of the window that was present for the Research Center remains for the Library. If the Research Center is smaller than 400 x 600 pixels then the full library is not in view and the user stretches the screen to view all of its elements.
The functionality in the graphical library parallels closely the functionality in the standard library dialog box.
Bookcase with Shelves : There is a bookcase with shelves in a vertical alphabetical scrolling list. Within each shelf the user is able to scroll horizontally to see all of the books in that shelf. The books within each shelf appear in alphabetical order. Each shelf is have a drop down list box on it listing all of the shelves in the bookcase. This list is drop down when the user left clicks on the name of the shelf (there is a down arrow there as well). The user can choose any of these shelves and it appears in that spot replacing the previous shelf that is there. In this case the previous shelf appears in the slot above the new chosen one. This causes the shelves to be out of alphabetical order. The shelves remain in the order that the user has chosen to put them in even between sessions. There is a way for the user to resort the shelves to alphabetical order again if desired.
The spines of the books appear on the bookshelves, with the names of the books listed sideways on the spine. (As the user rolls his cursor over the spine of a book a bitmap of the cover of that book pops up, allowing the user to view the title of the book in an easier fashion - this may be chosen from a right-click menu instead - to be decided).
The main bitmap of a book spine is stored within the system. With the Publisher's Tool (Fig. 63), the publisher is to define the color for this spine and the name to appear on the spine. The publisher is also to provide the bitmap for the cover of the book, which has to be made with certain specifications (maximum size, etc. ) .
Optionally, there are different size book spines depending on the length of the title. If this is the case it is to be decided as to whether the Publisher would have the choice of a few different sizes of spines to choose from depending on the length of the title of the book. Or the Publisher would not choose the size of the spine and instead the program would automatically choose the size of the spine depending on the amount of text on it ) .
New Shelf: The user is able to create a new shelf in the following ways: a. Right click on any shelf has the option of creating a new shelf. b. The librarian's menu has the option of creating a new shelf. c. The drop down list box on each shelf has the option of creating a new shelf in the list.
The menu bar on the top of the display screen has the option of creating a new shelf. d. Delete Shelf : The user is able to delete an existing shelf. If the user chooses to delete a shelf and any of its books do not reside on a different shelf as well, then those books appear on the Uncatalogued Book Desk.
The user is able to delete a shelf in the following ways:
Right click on a shelf has the option to delete that shelf.
The librarian's menu has the option to delete a shelf.
Shelf Properties:
The user is able to right click on a shelf and have the option to view its properties. The properties for now include the name of the book and a description of the book.
Copying a Book to Another Shelf: Dragging a book to another location by default copies the book, as opposed to moving the book.
The user can copy a book to another shelf in the following ways:
Select the book and drag it to another shelf by scrolling the book to the desired shelf.
Choose a different shelf in the library and change that shelf to be the desired destination shelf for the book by choosing it in the drop down list box of shelves. Then either: 1. Drag the book from the original shelf to the destination shelf;
2. Right click on the book and choose copy and go to the destination shelf and paste the book; or
3. Select a book, choose copy from the menu above, then go to the destination shelf and paste the book.
Select a book and drag it to the librarian's desk. The user can then drag the book to another shelf, or have the librarian auto shelve the book, which would place the book on its default shelf.
Right click on a book gives an option to copy a book. The user can then go to the desired destination shelf and paste the book there (with right click Paste or menu item Paste). Or the user can paste the book to the librarian's desk and then to a shelf.
Select a book and choose Copy from a menu item. The user can then go to the desired destination shelf and paste the book there (with right click Paste or menu item Paste). Or the user can paste the book to the librarian's desk and then to a shelf.
Moving a Book to Another Shelf: The user can move a book to another shelf in the following ways:
Choose a different shelf in the library and change that shelf to be the desired destination shelf for the book by choosing it in the drop down list box of shelves. Then either:
1. Right click on the book and choose Move and go to the destination shelf and paste the book. Or the user can paste the book to the librarian's desk first and then to a shelf.
2. Select a book, choose Move from the menu above, then go to the destination shelf and paste the book. Or the user can paste the book to the librarian's desk first and then to a shelf.
Remove a Book from a Shelf: The user is able to remove (delete/cut) a book from a shelf in the follow- mg ways:
1. Right click on a book is the option to remove a book from a shelf. If the book does not reside on any other shelf then it appears on the librarian's desk.
Book Properties : The user can right click on a book and have the option to view its properties. Book properties could include the Name of the Publisher, the Date of Publication, Copyright information, etc.
Book Cover: When the user rolls the cursor over a book a picture of the book's cover pops up. Or the user can right click on a book and has the option to view a graphic of its book cover.
Research Desk: This desk contains all of the books that the user wants to use in the Research Center.
When a book is on the research desk then it still appears on the shelf where it came from as well, just the copy on the book on the shelf is grayed out letting the user know that it is on the research desk. If the book resides on more than one shelf, then all of the copies of that book would be grayed out on all of the shelves where it appears.
Add Books to Research Desk: The user is able to drag a book from a shelf to the research desk, or he can drag a whole shelf of books to the research desk. If a whole shelf is dragged then all of its books appear on the research desk.
There is a maximum number of books in view at a time on the Research Desk, depending on the size of the screen. If the number of books goes above this maximum then scroll arrows appear allowing the user to scroll the books .
Remove Books: If the user would like to remove a book from the research desk then he can drag it to the librarian the librarian automatically puts it back on the shelf (or shelves) where it came from. The user can also drag a book back to a shelf where it was before if the shelf is in view.
The user can also right click on the Research Desk and their is an option to remove all of its books (clear the desk). If this is done then all of the books would return to the shelves that they were on. If there was a book on the Research Desk that had never been shelved then it would appear on the Uncatalogued Book Desk.
Save as Shelf: The user can save the current set of books on the Research Desk as a Shelf by choosing this option from the right click menu of the Research Desk. Another option is to allow the user to drag all of the books in the Research Center to the bookcase, which would create a new shelf with these books (not implemented now ) .
The librarian is an animated person who is available to help the user in using the graphical library. During idle time the librarian makes random motions such as yawning or blinking.
Librarian' s Welcome/Help: When the user goes into the graphical library for the first time the Librarian gives an introduction as to what can be done in the library. In this introduction the librarian goes around to all of the places in the library and describe what can be done with them. The next time the user goes into the graphical library this introduction does not automatically appear, but the user has an easy way to view it again if desired.
If the user would like to get help on a particular area in the library then he is able to do so by dragging the librarian to that place in the library. When the librarian is dragged to the different spots the librarian then offers help information about that particular spot. In the librarian's welcome help the librarian mentions this option. If the user would like to know more about a certain book in the library then he can drag the librarian to that book and the librarian gives a short description of the book. Along with giving a description of the book a picture of the book ' s cover pops up plus the text of what the librarian is saying. When the librarian finishes reading it then the book cover and text disappears.
Librarian as Assistant: At any time the user can right click on the librarian to get a pop up list of the things that the librarian can do. The items in this list includes:
Help - to see the main introduction to the library that was mentioned above.
Catalog New Books - To shelve any new books or other unshelved books that reside on the Uncatalogued Book Desk. If the library shelves a book then that book goes onto a predefined shelf, which was preferably defined in the Publisher's Tool of Fig. 63.
Save Uncatalogued Books As Shelf - The user has the option of saving all of the books on the Uncatalogued Book Desk as a shelf. These could be new books, other unshelved books or a combination of the two. Once books are saved on a shelf they do not appear anymore on the Uncatalogued Book Desk.
Add Book - To add a book to the library.
Create a New Shelf - To create a new shelf in the library.
Save Research Desk as Shelf
Remove Book From Library - These books would then go into the Recycled Desk.
Librarian as Drop Target: The librarian serves as a drop target for books.
If a book is dragged onto the librarian from the Research Desk, Uncatalogued Book Desk or from the Recycled Desk then the librarian automatically shelves the books. If the book had previously been shelved then the librarian returns the book to the shelf that it previously resided. If the book had not been previously shelved then the librarian places it on its default shelf.
If a book is dragged from a bookshelf to the librarian then the librarian could ask if the user would like information on the book or if he would like to reshelve the book on its default bookshelf.
Uncatalogued Book Desk: The Uncatalogued Book Desk is a desk where any new books and other unshelved books reside until the user either has the librarian shelve them or chooses to shelve them himself.
When new books are added to the library then they appear on the Uncatalogued Book Desk. The user then has the choice of placing the book on a shelf by himself, or having the librarian automatically place the book on a pre-defined shelf. The user can select a book (or books) and choose to have the librarian shelve the book(s) using the librarian's pop up menu. If the librarian shelves the book and the default shelf for that book does not exist yet in the library, then that shelf is automatically created and the new book is placed on it. If the user would like to shelve the book himself then he may either drag it to a pre-existing shelf, or he may create a new shelf and then drag the book to that shelf.
In addition to new books the Uncatalogued Book Desk may have other unshelved books on it. These would be books that the user has moved from the shelves and has not reshelved, or books that came from a deleted shelf. Like the new books, the user would have the option to shelve the books himself or he could have the librarian auto-shelve the books to their default shelves.
There is a maximum number of books that can appear on the Uncatalogued Book Desk at one time. If the user has put more than the maximum number of books on this desk then arrows for scrolling appear. The books on this desk do not block the view of the shelves with books on it.
Recycled Desk : There is a Recycled Desk, which holds books that the user has decided to delete from the library.
Books can arrive to this desk from the librarian, from a right click choice on a book or from being dragged there. The user has to empty this desk to really delete a book from the library.
Adding Books to the Library: There is a graphic hotspot allowing the user to add books to the library. Books can also be added to the Library from a menu item. Books can be added either from a CD/DVD or from the Internet.
If the user chooses to add a book from the Internet whether or not a small window can be brought up with a Web browser in it offering hyperlinks to all of the sites where the user can go to browse/buy a book. This window could be small, expanded to full screen or reduced to an icon for easy re-opening. This window could be a graphic of a small computer screen.
If the user chooses to add a book from a CD, the system typically closes down in order to remove the DVD disk and load the CD with the new book on it. Then after choosing a new book the user typically removes the CD, reloads the DVD and start the system again. Or the program could run without its DVD in place, in which case certain features such as graphics from the DVD database would not be available until the DVD was placed in the drive again. If this is the case the user typically gets an appropriate message, recommending that the DVD disk be reloaded.
When a new book is added to the library and the system is started up, the new book is present on the Research Desk for immediate viewing. The book is not shelved, and the user has to go to the library to shelve it. Along with residing on the Research Desk, the new book is also on the Librarian's Desk with some sort of label on it identifying it as a new book that has not been shelved. Once a new book is shelved that label disappears. A new book can be shelved either by giving it to the Librarian and having the Librarian shelve it, or by having the user drag it to a shelf.
Finding a Book: To find where a book resides in the library, that is which shelf or shelves it resides on.
In summary , the graphical library functionality is typically as follows:
Right Clicks Book:
- Copy
- Move
- Remove (from a Shelf)
- Remove From Library ( with warnings )
- Properties
- Book Cover
Return to Shelf (from the Research Desk or from the Librarian)
Shelf (on the name of the shelf):
- Copy Shelf
- New Shelf
- Delete Shelf
- Properties (can rename a shelf here)
Librarian:
- See Help introduction sequence
- Add Book to Library
- Shelve All Books (on Unshelved Book Desk)
- Create a New Shelf
- Remove book from Library and Place in Recycle Bin. Uncatalogued Book Desk:
- Save Books as Shelf
- Auto Shelve All Books
Research Desk:
- Save As Shelf
- Return Books to Shelves ( Clear Research Desk )
Menu Items:
- Copy Book
- Remove Book
- Paste Book
- Add Book to Library
- Delete Book From Library
- New Shelf
A preferred embodiment of the 2D library is now described in detail.
Components :
* Librarian
* Research desk
* Shelves
* New book stack
* Recycle bin
* Book
* Add a book button
* Research center button
Hotspot areas
So that the user will know what areas are clickable or usable, all the usable areas will have hotspots. There will be 2 types of hotspot areas.
1. Click for help on the item
2. Click to activate the item Hotspot areas are recognized through a different cursor rollover. There are 2 different types of cursors .
The components are divided up as follows for each of the different rollovers: Click for help on the item
* Research Desk
* New book stack
* Recycle bin
* Non used areas of the shelves
If any of the above items are clicked on, then a context sensitive help dialog pops up.
Click to activate the item
* Librarian
* Book
* Shelf
* Add book button
* Research center button
Some items above also have left click activations, described in detail below.
Clicking on the librarian at any time will provide the following popup menu:
Get a new book from the Internet
Create a new book shelf
Automatically catalog new books Help
Clicking on a Book
General
Books can reside in the following places:
1. Shelf
2. New book stack 3. Research desk
4. Recycle bin
The following activation methods can be used on a book
Click: This will cause the book properties dialog to be displayed
Click and drag: Begin to drag the book
Right click: Will display a popup menu. This menu will vary depending on where the book is located.
Right click and drag
Begin drag. If dropping on a shelf then show a copy/move menu.
Book Drop Targets: Books can be dropped on any of the above mentioned places from any of the above mentioned places.
* When dropped on a book shelf it is placed on that shelf. If dragged from another book shelf then with a left click drag it will be copied to that shelf.
* When dropped on the Recycle bin, it is removed from all shelves and placed in the recycle bin.
* When dropped on the Research desk it is placed on the research desk, and can then be queried and used.
When a book is dropped on the librarian from the following places, then the following popup menus will show: a. From New books stack to librarian:
Read the book
Place book on default shelf
Book properties b. From Research desk to librarian:
Read the book
Place book on default shelf
Return book to shelf (if the book is not on the new stack )
Book properties c. From Shelf to librarian:
Read the book
Place book on default shelf
Return book from Shelf
Book properties
Delete the book d. From Recycle Bin to librarian:
Read the book
Place book on default shelf
Book properties
Right click Menu From Shelf: When a book is on a shelf and the right click button is clicked, then the following popup menu will appear:
Read the book
Copy to clipboard
Delete book from the library
Remove book from the shelf
Book properties
Book cover
Right click Menu from new book stack When a book is on the new book stack and the right click button is clicked, then the following popup menu will appear:
Copy to clipboard
Automatically shelve the book
Delete book from the library
Book properties
Book cover
Right click Menu from research desk: When a book is on the research desk and the right click button is clicked, then the following popup menu will appear:
Copy to clipboard
Return book to shelve
Delete book from the library Book properties Book cover
Right click Menu from Recycle bin: When a book is on the recycle bin and the right click button is clicked, then the following popup menu will appear:
Copy to clipboard
Return book to shelve
Delete book from the library
Book properties
Book cover
The book properties dialog typically comprises a property sheet dialog box with 2 basic pages:
1. General. In this property page there will be all the basic details about the book, e.g., author, Dewey number etc.
2. Cover. This page will contain a mini HTML browser that will show a flash animation of the book. There will be a button to permit the user to go to full screen.
Clicking on a Book shelf: The following activation methods can be used on a book: Click and drag, and Begin to drag the book shelf.
Right click: Displays a popup menu. This menu will vary depending on where the book is located. This will be examined in the next few sections.
Dragging a shelf: In general a shelf can be dragged to any place that a book can be dragged to. The result will be that an enumeration operation will take place. i.e.. The action will take effect on all the books in the shelf.
When a shelf is dragged to the Librarian then the following pop-up menu will show:
Place all books on the Research desk Delete the shelf Shelf properties
Right click menu on a shelf Copy shelf Create a new shelf Delete the shelf Shelf properties
The Research Center component of GUI 214 is now described. In the research center, the user searches his active set of books for the articles that most interest him. He has several tools to assist him in his search including a keyword search and a sub ect/topic search. He can also view articles, display their associated media and jump between associated articles. The Research Center typically comprises two main components: a. The Browser List which allows him to search for items and select them for viewing, and b. the Display Area where he can view the item.
There is also a Status Bar on the bottom of the Research Center with various functionality, and a standard type menu bar at the top of the screen.
The Browser List has 4 different tabs to choose from. For each tab the information in the Browser List is sorted differently.
For most of the tab views there is collapse/expand functionality for the items in the Browser List. The user can expand a book in the browser to view its parts, sections, chapters, chapter sub-headings, articles, and at the lowest level, associated media using a collapse/expand mechanism. Any item that has children in the book hierarchy is able to be clicked on in order to expand the item in the Browser List and display its children. Any item that has children displayed can be collapsed in order to hide the children and not display them in the Browser List.
Books 100 can always be expandable. Media Data Objects 202, 203 and 204 can only be expanded if they have Associated Media Items 205. Associated Media Items 205 typically cannot be expanded.
There are small icons to the left of each item listed in the title browser, telling the user what type of item it is. In one embodiment, the icons are: book (closed and opened icons), chapter without information attached to it (closed and opened icons), chapter with information attached to it, text, photo, video, map, speech, music, animation, flag, media album/slide show. The titles displayed in the Browser List are taken from the Media Groups 204, Media Elements 202, Media Back Matter 203 and Associated Media Items 205 for the book. The user can select any Media Group 204, Media Element 202 or Associated Media item 205 to be displayed in the Display Area. The user can also select the book title in which case the book cover is displayed in the display area.
The structure of the book, that is its breakdown and how it is displayed in the Browser List, is defined by the publisher using the Publisher's Tool of Fig. 63.
The Browser List area can be made larger by dragging it to the right with the slide bar (and the Display Area gets smaller in proportion). When the window of the system is dragged to become larger, the Browser List only gets longer, and not wider. The Display Area gets longer and wider.
If an item listed in the Browser List has a title that is long so it does not all appear in the Browser List, then when the user rolls the cursor over this item in the list then that name alone elongates to be viewed. (There may also be a horizontal scroll bar on the bottom of the Browser List).
Book View: The main default view in the Browser List is the Book view.
Here all of the books that the user has selected to be active are listed in the browser in alphabetical order. There is collapse/expand here where the user is able to open up a book into chapters or articles, etc., as described above, to view the contents of that book.
There is eventually a Book icon at the root of the tree. Next to this icon is written the text "Research Desk", and next to that is listed the number of books that are currently in the Research Desk.
There is not be a follow me function in this view.
If the user would like to search for something specific then there are several other views in the browser that can help him to arrive at the information that he wants. The options include searching by keyword, full text, topic or media.
Search View: The query system is designed to give meaningful results to the user. The system preferably provides four different choices to choose from in the Search tab, allowing him to search for information in different ways. There are 3 radio button choices allowing the user different ways to perform a search.
For the 3 radio buttons there is a typical full text search, a hopefully more meaningful search called a keyword query and a search by topic.
Full Text Search: When the user chooses the full text radio button he is able to type in one or more words, hit the Find button, and see the results in the Browser List in alphabetical order.
There are three options for searching by text. They are to Search for text within the titles only, to search for text within the whole article and to search for text with a natural language query. There is an advanced button for the text searches, which brings up more search options. These advanced options change depending on which type of text search was chosen.
When searching by text the user can enter more than one word, and attach words together using the Boolean operations of And, Or and And Not. As a help to the user there is an arrow to the right of the type box which brings down a menu offering these 3 choices. Choosing one of these choices places that word (And, Or or And Not) in the type box. The user can type in the word as well, the list is just there as an aid.
When the user searches within titles only the titles (of books, articles, chapters, media, etc. ) that have the word or words searched for appear in the Title Browser result list.
When the user searches with full text the Title Browser result list displays all of the items that have the specified word or words within them in any location of the text.
A Natural Language Query means that the user can type in a normal question sentence and get all of the items that match the results. For example the user could type into the text box: "What is the longest river in Africa?" The way this search actually works is to take all of tne main words in the sentence and place "and's" between them. For example here the search would really be "Longest and River and Africa". The results in the Title Browser display all of the items that have these 3 words in their text.
There is follow me functionality in the browser list.
The drop down list for the Full Text combo box contains the previous Full Text searches performed in this session of using the system of the present invention. Most systems today use full text searches. This method searches for words inside articles, and displays every article that has that word in it. This type of search may not always give the user an accurate result of what is actually being searched for since it is very general. Thus what happens is that the user gets too much information that needs to be filtered. Full word search is provided, but also, preferably, a keyword query, which should give a list containing more refined and accurate results.
The full text search has collapse/expand and a follow me on the highest level. If a parent and child items both have certain word appearing in them, then if that word is searched for then only the parent shows in the Title Browser with a plus sign next to it allowing its children to be viewed if desired.
There is eventually a Search Results icon at the root of the tree. Next to this icon is written the text "Search Results" and the number of search results.
The results in the Full Text Browser List can include articles, books, chapters, and other types of multimedia (such as Pictures, if they have that word in their caption).
When the user chooses to view an article from the Full Text Browser List in the Display Area, all of the instances of the searched for word in that article appears in a different color ink so they can be easily found. There is also a "Next" button allowing the user to view the next instance of the word in that article, which helps if the next instance is not presently on the screen (to be designed).
Key word Search: A keyword is a word that describes a main aspect of an item. Keywords are attached to such items as books, chapters, articles or pieces of multimedia. Each keyword is made up of one word only. To implement the keyword query each item, at every level of the hierarchy, is allowed to have one or more keywords attached to it. Each viewable item has at least one keyword attached to it. Parent and child items are not allowed to have the same keyword attached to them. When conducting a query the user is able to use one or more keywords in his search.
For the keyword search the user is able to choose a keyword from a dropdown list of keywords. Or he can start to type in the combo list type box and the follow me function works, displaying the closest alphabetical match for that word. It is to be decided if the dropdown list is available for version 1. If it is not ready yet then a regular type box appears and the user can type in any word. If the typed in word does not exactly match a word in the keyword list then the search results are zero. After a keyword is chosen the user then presses the Find button.
There is eventually a Search Results icon at the root of the tree. Next to this icon is written the text "Search Results" and the number of search results.
It is also to be decided whether or not Version 1 is weighted keywords or not. If weighted keyword exist then the Browser List displays the keyword search results in order of relevance, and not in alphabetical order. Therefore there would be no follow me functionality. If weighted keywords are not available for version 1 then the Browser List displays the keyword search results in alphabetical order, and there is follow me functionality. Both weighted and non-weighted keywords would have the drop down combo box list if it is available.
Keywords may be attached using the Publisher's Tool of Fig. 63. There is an initial pre-defined list of keywords for the system, for the publishers to choose from, but the publisher is able to add additional keywords if needed. Keyword is preferably weighted using the Publisher's Tool of Fig. 63. When the publisher attaches keywords to each item he also attaches a number indicating the relevance of the keyword to the item. This provides a weighting system, so when the user searches for a key word the resulting items in the Browser List are listed according to the weighting that the keyword had for each item. This design should give the user a list where the most relevant results are listed first. Both the weighted and not weighted keyword methods would have collapse/expand in the Browser List.
When new keywords are added to the system then they are added to this keyword list. The list of keywords appearing in the combo box reflects all of the keywords that are used in the current selection of books that the user has chosen. If a keyword has no items attached to it then it does not appear in the list.
Since a parent and child cannot have the same keyword attached to them, if two keywords are chosen one being attached to the parent and one to the child, then both of these items would appear in the Browser List. With the weighted method the one with the higher ranking would appear first in the list, since the list here is by weight and not by alphabetical order. With the non- weighted method the item that is higher alphabetically appears first in the list.
The Publisher's Tool of Fig. 63 creates key words for items. This technology could include taking main words out of an item's Master Title and out of the book's index to create keywords for each item.
Keywords are typically inherited. This means that if someone searches for Animals & Cat and Animals is a keyword attached to the Book and Cat is a keyword attached to a Media Element 202 in the Book then that Media Element 202 is returned. In other words, the article had the keyword Cat attached to it, but not the keyword Animals attached to it. But since the article's parent Book had the keyword Animals attached to it the article met the requirements of both Cat & Animals.
There is also a stemming dictionary on the DVD that is produced by the editorial staff. This stemming dictionary connects all versions of a word or concept to the same basic keyword (e.g. color and color are connected to the basic keyword: color). When the publisher enters a keyword it is translated through the stemming dictionary to the base keyword and that keyword is stored with the book. When the user enters a keyword it is translated through the stemming dictionary to the base keyword and that keyword is used to search the book.
Keywords are defined in the language appropriate for the book. A French book has French keywords. When doing a query searching for an English keyword does NOT find articles that have the same keyword in French.
Topic Search: In the topic search the user can browse through a choice of subjects, where related items grouped together. In general a topic differs from a keyword in that it is broader.
For the Topic search the user sees a tree of topics to choose from. He then chooses a topic and open up its tree to view all of the sub-topics for that topic. The user can then select a sub-topic and press on the find button and see the results in the Browser List. Only one item can be chosen here at a time. (More than one topic and/or sub-topic can be chosen in the Advanced Search dialog box).
The subject results that are listed in the browser is in alphabetical order and can be of any type, a book, chapter, article or multimedia item. There is collapse/expand here and follow me functionality for the highest level of the tree.
There is eventually a Search Results icon at the root of the tree. Next to this icon is written the text "Search Results" and the number of search results.
Topics can be associated with any type of media, and each media object may have an unlimited number of topics associated with it. A parent and a child media object cannot have the same topic attached to it.
Each template defines a superset of topics and sub-topics that are appropriate for books that use that template. Each book then specifies the set of topics that are actually connected to media objects in the book. When the user chooses a topic the list of topics that is presented to him is limited to those topics and subtopics that are attached to media objects in the current selection of books.
If the user would like to know to which parent the subject item is attached, then there is a method (possibly a right-click) which displays a small window containing the hierarchical tree for that item.
Advanced Search: When the Advanced Search option is chosen a dialog box appears.
Here the user is able to use a combination of requests in his search. He can choose to add as many criteria to his list as he would like. The types of items to choose from are keywords, topics, media, word in text and word in title. The types of media that can be chosen in a search include both articles and all of the other multimedia types in the program.
There is a Boolean drop down list on the far left side of the box, allowing the user to choose "And", "Or", or "Not" for each item. The "And" and the "Or" is only be available for the second item and onward for the list.
The last list box to the right in the dialog box changes its list depending on which type of item is chosen. For example if keyword is chosen then this list displays all of the keywords available.
Items are then added to the list by pressing on the "Add" button. Items can be deleted from the top list by choosing the item and clicking on the "Delete" button. The "Clear List" button removes all of the items from the above list to begin a new search.
The chosen search list is always saved when the user activates the search and leaves the search dialog box. (Maybe this is a user option - whether or not the previous search criteria are automatically saved). The "Clear List" button can then be pressed to start a new search. Preferably, the system provides a way to save multiple lists of search criteria, so the user is able to go back to that search easily.
The results of an advanced query search appears in the Search Browser List. When the user presses the OK button on the search dialog box then the simple search type box clears and remains clear until the user decided to do a simple search again. (To be decided: if there is a way to toggle back to the past simple search or not).
Search Methodology: With the simple search the default type of search is the keyword query type. If the keyword query does not bring satisfactory results to the user then he may conduct a full word search to get a broader range of results. The idea here is to try to give the user first a list of the most meaningful results for his search, but if he still desires to look further then he can go on to a full text search. The simple search and the search dialog box provides both options, so if the user wants to first do a full text search then he may. Since a preferred aspect of the system of the present invention is to provide a strong search engine, it is desirable to give the user these various options to ensure that he gets the information that he is looking for.
When the user conducts a keyword query each item that satisfies the query is displayed in the browser, along with a weighting that illustrates the rele- vance of the item to the keywords being searched for. Items resulting from a keyword query can be books, chapters, articles or multimedia items. As mentioned above, if the weighting system cannot be implemented for the first version then the keyword query results is listed in alphabetical order with a follow me type box above the browser list.
The display in the browser for both types of searches is a list of all of the items that satisfy the search. Since whole books and chapters can also be the results of a query, these items can be listed here as well, and can be opened up to view their contents with collapse/expand. All of these items are displayed at the highest level (the far left) in the title browser regardless of their type. If the user would like to see the hierarchy of any item, (that is, the book, chapter, etc., from where it comes) then he is able to open up a small box allowing him to see the direct hierarchy for the item. In this small hierarchy the item that comes from the browser appears in a different color text.
Media View: This view allows the user to see any or all of the multimedia items that are in his current selection of books (the Research Desk). The user is able to filter on and off the different types of media that appears in the Browser List. As of now the list includes 8 types of media. They are: animations, flags, maps, media albums/slide shows, music, photos, speeches and videos. Articles are not included in this view. There is tool tip text as the user rolls the cursor over any of the media buttons telling what the icon stands for. If the current selection of books does not include any items of a certain media type, then that media type (button) is disabled.
The Browser List is in alphabetical order, with follow me functionality. There is no collapse/expand function here. All of the items in this list is displayed at the highest level in the browser list, regardless of their type.
There is typically a Media Results icon at the root of the tree. Next to this icon is written the text "Media Results" and the number of media items in the tree.
Each Media Element 202 and Associated Media Item 205 can only be defined to be one type of media. The set of available media that can appear in the Title Browser is determined from the selection of active books. The superset of media types is described by the template. A parent and a child object cannot have the same media item attached to it.
This Media view displays only Media Elements 202 or Associated Media Items 205 and not embedded media. If the item is an associated media item then when it is displayed in the Display Area the article that the media item is attached to is displayed behind it in the Media Window.
Binder View: The Binder is where the user can save any media item or associated media item for future use. A Binder is like a named and saved notebook containing all of the chosen items that the user wants to keep together.
In the Binder tab, the top "Binders" list box contains the names of all of the previously created binders. When the user clicks on one of these binder names, all of the items in that binder appears in the list box below. The user can then choose to view any of these items in the Display Window to the right. The items in a binder can be any type of media object, including books, chapters article or multimedia items.
There is typically a Binder icon at the root of the tree. Next to this icon is written the text "Number of items in this Binder", and the number of items).
For the first time using the system of the present invention, when the user clicks on the Binder tab there are no binders listed. The user has to create a new binder in order to begin adding items to a binder.
When the user first views the Binder tab in a session of using the system of the present invention, a list of all of the previously created Binders is displayed in the top list. None of the Binders in this list is selected. When the user double-clicks on a Binder in the list (or single clicks in a Binder in the list and clicks on the Open button) all of the items in that Binder appears in the list box below. Only one Binder may be open at any one time.
The Binder contains all of the items that the user has chosen to "Add to Binder" . The user can add an item to a binder from the Browser List through the right click menu. The main way that the user is expected to add an item to the Binder is from the Display Window, where there is an easy to use "Add to Binder" button in the toolbar above all articles and multimedia items.
When the user starts a new session using the system of the present invention and then chooses to add an item to a binder, a dialog box appears asking the user which binder he would like the item to be added to. He can then choose an existing binder, or create a new binder to add items to.
Another way the user can choose a binder is to first go into the Binder tab and choose a binder (by either opening an existing one or creating a new one). Then when he adds items to a binder they is automatically added to the chosen binder.
For each session using the system of the present invention, once a binder is chosen by the user, that chosen binder is the binder that items are added to when the user adds an item to a binder. If the user would like to add an item to a different binder then he must first go back to the Binder tab and choose a different binder, then any item added to a binder are added to the new chosen binder.
Options that are supported for Binders preferably include the following:
Open Binder: The user opens a previously saved binder by either by double-clicking on it in the "Binders" list, or by single clicking on it in the "Binders" list and clicking the "Open" button.
New Binder: The user can create a new binder by clicking on the "New" button. When the new button is clicked a highlighted typing area are available on the top of the binder list allowing the user to type a name for his binder. (Or there can be a dialog box allowing a description of the binder as well, as there is for a new shelf). The bottom list box are then cleared. The user then adds items to that binder by going back to the other tabs and the Display Area items and choosing Add to Binder.
Delete Binder: This button allows the user to delete a whole existing binder and all of its contents. The user can choose a binder in the "Binders" list and click on the "Delete" button.
Save binder: Actions are automatically saved in a binder as they are implemented.
Delete Item: The user can delete an item from a binder by choosing the item in the Browser List and clicking on the "Delete Item" button below the Browser List.
Reordering Items : The user can reorder items within a binder by choosing an item in a binder and then clicking on the up or down arrows to move that selected item up or down within the list.
If the selected item is the first item in the list then the Up button is disabled. If the selected item is the last item in the list then the Down button is disabled . Print All: The user can print the contents of all of the items in a binder by choosing a binder and clicking on the "Print All Items" button below the Browser List.
Add Item From Another Binder: The user can copy or move an item from one binder to another binder. The set of active books may be stored with a Binder and reloaded when the Binder is loaded. This represents the model where a user interrupts his research and then wants to continue.
Optional features include:
* Printing a set of media objects from the Binder
* Adding user created Media Elements 202
* Allowing user to select parts of text articles to be placed in the Binder
Optionally a Binder is able to contain items in it that arrive from outside the system, such as links to the Internet or Word documents. For now if the user has called up a URL to view in the Display Window, then the Add to Binder button is disabled while that item is in the Display Window. Optionally, when an Internet page is added to a binder, the user to edit the title of the page so it is meaningful to the user when it is in the binder list. An aim for the binder is to be able to include items such as these so the user can create an all-encompassing research project using the system of the present invention.
Preferred Browser Functionalities are now described:
Hierarchy Window: After the user conducts a search or views a list of media he can, through the right-click menu, choose to view the hierarchy of any item that is on a lower level than the book level, if its book is not listed above it already. For example this means that if the user receives an article in his search Browser List, then he can use the hierarchy functionality to see which book, chapter, etc. that article came from.
Next/Previous : The user is able to open up the Media Elements 202 listed in the title browser easily without having to scroll and choose each item in the browser list. This allows the user to examine, in turn, each item that was returned by a query or a set of filters.
The main usefulness of this function is when the user has opened a window in his Display Area to be viewed full screen, so the Browser List is not in view to choose an entry. The location of these buttons is therefore be on the Display Area window itself.
Add to Binder: This function allows the user to add a selected item in the title browser to the Binder. This can include adding a whole book or chapter to the binder.
A preferred embodiment of the Display Area is now described. The Display Area is the area that any item chosen in the Browser List can be displayed, including books, chapters, articles and associated media items. If the user chooses to view a Book itself then the book cover is shown.
The Display Area window is always opened, and something is always be displayed in it. It can be expanded to fill the whole screen of the system by pressing on the expand button in the title bar. Or it can be dragged to be made larger with the slide bar located between the Display Area and the Browser List (making the Browser List narrower). Or the Display Area window can be changed in size by changing the size of the product window.
The internal layout of the Display Area, the graphic behind its toolbar, and its background GIF file is defined by book attributes 612 for the displayed Media Element 202. For example if the media element is a recipe then the cookbook template may define the ingredients to be listed on the top of the Display Window, and the directions below it. And the graphic behind the toolbar could be representative of cooking. Also there may be some different functionality attached to different templates . For example the cookbook template again could define a button to appear on the display area allow in the user to scale a recipe. In designing the different templates, the visual transition of the display area is as smooth and unobtrusive as possible. The rest of the interface does not change as the display area changes here.
If the item being displayed is text (e.g. an article or chapter) then there can also be embedded media inside of it. If an embedded media item is also represented as an Associated Media item 205 for that article or chapter then the user can click on the embedded media item to view the Associated Media item 205 of the same piece of media. The Associated Media item 205 is most likely a larger size than the embedded media item and it can also be copied or saved to a binder on its own, whereas an embedded media item cannot ( it is part of the text). Most embedded media items also have an Associated Media item entry as well.
The layout of the Display Window includes the Book Title Bar, A Toolbar, an Article/Media Title/History List and a Display Area for the articles and media.
Book Title Bar: The title of the book here is the book where the currently displayed article or media item comes from. There is an expand button on this title bar to allow the user to expand the Display Window to take up the whole area of the application. When it is expanded the Browser List goes away. When expanded to large size a contract button replaces the space of the previous expand button, allowing the user to view the Browser List again and reduce the size of the Display Window.
Toolbar: When the user rolls the cursor over one of the toolbar icons then it appears as a button.
The user has the option of viewing the toolbar with or without the text below the icons. This change can be made in the User Options dialog box.
There is also text displayed when the user rolls over an icon giving a more descriptive explanation of what the icon stands for.
Previous and Next in Book : When the previous and next buttons are pressed then the previous and next items in the current book is displayed in the Display Area. These items would include any item in the tree (e.g. book cover, chapters, articles and associated media) .
The rollover text reads "Previous Item in Book" and "Next Item in Book".
If the user is viewing the last item of a book and then presses on the Next button the first item for the next book in the book browser list is displayed. When the user is viewing the first item of the first book in the book browser list then the previous button is disabled. When the user is viewing the last item of the last book in the book browser list then the next button is disabled.
Associated Media 205 : When the user presses on the Media button a drop down (scrolling if needed) list of Associated Media 205 appears. Next to each piece of media is an icon telling which type of media the item is.
The user can then choose a media item in this list to view in the Display Area. After viewing a media item the user can go back to an article either by choosing the article from the same drop down list where the media was chosen from, or by clicking on the "Go to Article" hyperlink text displayed in the Display Area.
There are a few ways by which the user can choose to view another media item in the current book. The user can choose another media item from the same drop down list. The user can choose a media item in the tree. Or if relevant the user can click on the previous and next in book buttons if there are other associated media items attached to the chosen article.
A media item is usually text and its associated media is usually one of the types of multimedia. But in some cases the media item could be a type of multimedia, such as with an atlas where the main media items could be maps and their associated media items could be text descriptions of the maps.
Related Information:
With the related information function the user can get a list of any articles that are related to the current media element or associated media element. The system of the present invention executes this function by conducting a query using the keywords from the displayed media element. The query is executing using the two highest weighted keywords from the displayed media element joined by an OR. The results of the search is displayed in the Search Browser List with the keyword radio button selected.
Context (Synchronize) :
If the user has browsed in the Display Area window, such as by jumping to hot links, then the Browser List does not show where the currently displayed article or media item is located. If the user would like to have the Browser List display the location of the item in the Display Window then the Context button can be pressed.
Add to Binder: When the Add to Binder button is pressed the media element or associated media element displayed in the display window is added to the current Binder.
Print : The user is preferably able to print the contents of the Display Area. Only text, pictures and possibly individual video frames typically have this feature. Optionally, only a selected portion of a text article is printed. Printing can also be done through the menu bar (File-Print).
Article(Media ) Title and History Function: This function comprises a combo box and two arrow buttons. The article title is preferably displayed in the combo box. The user typically is able to click on the arrow of the combo box and choose to display any of the previous items viewed, which acts as a History list. The number of items in this list can be altered as a user option. There is a maximum number for this option. The user is able to click on the back and forward buttons to the left of the combo box, which respectively run through the items in the history list. When the user is viewing the first item in the history list then the back button is disabled, and when the user is viewing the last item in the history list the forward button is disabled.
The user is also able to type into the type area of the combo box and conduct a query by pressing on the return bar on the keyboard. A URL can also be typed or pasted into here bringing up a Web page.
Display Area: The item displayed in this area can be a book cover, chapter, article, media or associated media item. The background GIF file behind the text is determined by the book template chosen.
Where fitting, the top of the display area has an outline of articles ( and/or media items ) that appear in the next level of the tree under the displayed item. The items in this outline are preferably all hotlinks, which the user can click on to view the items in the display window. This is especially useful for listing the items in a chapter.
If appropriate the item in the display area can contain other hotlinks (text) or hotspots (pictures) which links to other media elements within the same book. Text hotlinks are displayed in a different color, and the cursor changes when it is rolled over them. When the cursor is rolled over a graphic hotspot then it changes as well.
The user is able to copy the contents of this to the clipboard. Only text, pictures and possibly individual video frames have this feature. Copying is done through the Edit menu on the clipboard, or with the copy shortcut key.
Optionally, only a selected portion of a text article is copied.
Optional Next/Previous in Browser List Feature: The user is able to open up the next or previous media item in the Browser List without having to click on that item in the Browser List. The main advantage of these functions is when the user has expanded the media window to full screen, and the Browser List is not in view.
When this button is used the next item in the tree is displayed, going through the hierarchy, even if the tree itself is not opened in the Browser List. When the user is viewing the first or last items in the Browser List, then the respective previous and next buttons are disabled.
Double Clicking on a Word: Double clicking on a word in the display area window brings up a query box that allows the user to execute a query based on the word he has double clicked on. Alternatively the appropriate entry in the dictionary is displayed.
Status Bar: In the Research Center the status bar contains some "quick functions", and other content relevant information. The current functions in the Status Bar are the "Library" button, the "Books" button, standard information and the "Binder" status.
Library Button: This is a quick way to jump to the Library. The user is able to decide in user options whether this button displays the standard library dialog box or the graphical library. The user is also able to get to either the standard library dialog box or the graphical library from the View menu above.
Books (on the Research Desk) :
The rollover text on this button says "Books on the Research Desk" .
This is a pop-up box listing all of the books in the library in alphabetical order. Next to each book there is a check box, and all of the books checked on are the ones presently in the Browser List (Research Desk). Here the user can quickly turn additional books on, or turn books off as desired, and this is be reflected in the Browser List.
After making changes with the Book box here the user is optionally able to save the current set of books in the Browser List as a new shelf.
Standard Status Information: The status bar also displays standard status bar information.
Binder Status: This area is a quick way for the user to see which binder is the currently selected binder.
An option discussed was having this area have a drop down list of all of the previously created binders, allowing the user to quickly switch between binders. This would allow the user to add information to whichever binder he desires from anywhere without having to go into the binder tab to choose the currently selected binder.
Shelf List: This is typically a pop-up combo box, which reflects the types of books that currently appear in the Browser List.
The choices in this drop-down list are the names of all of the shelves in the library, allowing the user to quickly jump to work with a different set of books. When a shelf is chosen all of its books appear in the Browser List by themselves.
If a custom combination of books has been chosen to be displayed in the Browser List, as opposed to the books in just one bookshelf, then the word "custom" appears in the top selection of the Shelf combo-box.
When the user has first chosen to work with one shelf with the shelf list on the status bar, and then books are added or removed in this book list, the shelf itself is not permanently changed. The "Research Desk" section in the library would reflect the change, and the word custom would then appear in the quick Shelf list on the status bar. In order to permanently change the books in a shelf the user typically goes to the Library.
Stop Button: There is typically a stop button on the status bar, which allows the user to stop any action that has been started, such as a search.
Menu Bar: On the top of the screen there is a standard type menu bar, which appears for all views. The items in this menu bar changes to reflect the view that the user is presently in.
If a media item has the focus then the "Article Full Screen" and "Article in Window" menu items are replaced with "Media Full Screen" and "Media in Window".
If a media item has the focus then the "Article" menu item is called "Media" instead.
Figs. 61 - 62, taken together, form a simplified flowchart illustration of an example of a work- session using the system of the present invention.
Use the following commercially available components to compile Versabook.exe:
* "Crusher!". Version 3.2.
DC Micro Development
P.O.Box 54588
Lexington,
KY 40555
USA Phone: 606-245-4175 Fax: 606-245-9305 http : //www. dcmicro . com
* CodeBase 6.3 Sequiter Software, Inc. P.O. Box 783
Greenland, NH, USA 03840 Phone: (403) 437-2410 Fax: (403) 436-2999 E-mail: info@sequiter.com
* Verity Search '97 Software Developers Toolkit Version 2.2.3
Verity, Inc.
894 Ross Drive
Sunnyvale, CA 94089
U.S.A.
Phone: (408) 541-1500
Fax: (408) 541-1600 www. verity. com
* LeadTools Win32 Pro V 8.0 Lead Technologies, Inc.
900 Baxter St.
Charlotte, NC 28204
USA
Phone: 704-332-55332
Fax: 704-372-8161 http: //www. leadtools.com
* Ereg, Version 2.02 Husdawg Communications, Inc. 1660 S. Amphlett Bl, Ste. 306 San Mateo, CA 94402
USA Phone: (650) 655-2522 Fax: (650) 655-2521 jhussey@husdawg.com
* SftTabs, version 2.12 Softel vdm
11 Michigan Ave.,
Wharton, NJ 07885
USA
Phone: (201) 366-9618
Fax: (201) 366-3984 www. softelvdm. com
* Kenn Nesbitt's ShareLock( TM) Nesbitt Software Corporation
* Cgrm_en.dll - Text To Speech dll
Perform the following steps:
1. Type in the contents of each file.
2. Place the files in the appropriate directories as per the file list under the base directory D:\Versabook
3. Place the release libs for each 3rd party product in the D:\Versabook\release directory
4. Install Microsoft Developer Studio with Visual C++ Version 5.0 (Enterprise Edition)
5. Select Open Workspace under the File menu.
6. Change the Files of Type Combo Box to Projects (*.dsp)
7. Select D:\Versabook\Gameslib\Gameslib.dsp and press Open.
8. Open the Workspace window.
9. Go to the File tab in the Workspace window.
10. Right click on GamesLib Files and select Set as Active Project
11. Select Set Active Configuration under the Build menu
12. Select GamesLib - Win32 Release as the active config- uration.
13. Select Build in the Build menu to compile the games- lib DLL
14. Select Open Workspace under the File menu.
15. Select D:\Versabook\build\versabook.dsw and press Open.
16. Open the Workspace window.
17. Go to the File tab in the Workspace window.
18. Right click on GUI Files and select Set as Active Project
19. Select Set Active Configuration under the Build menu
20. Select GUI - Win32 Release as the active configuration.
21. Select Build in the Build menu to compile the digital book.
22. Install InstallShield version 5.1 Professional Edition on your computer.
23. Create a folder Versabook_Install on D drive and create the Versabook InstallShield files in their appropriate directories.
24. Run InstallShield by clicking tart", "Programs", "InstallShield 5.1 Professional Edition".
25. Click "File", "Open" and "D:\Versabook_Install\Versa- book 1.20.ipr" to open the project.
26. (7)Choose the media tab (the disks icon on the tab).
27. Choose Media Build Wizard.
28. Choose Default and click Next.
29. Keep choosing Next, and then choose Finish.
30. Using Explorer, open the folder D : \Versabook_Install\Versabook\Media\Default\Disk Images\disk 1.
31. Delete the file Setup.ini.
32. Copy all the remaining files onto \\NRServer\Versa- book\Setup.
The following components are installed: * DirectX.exe - Microsoft DirectX 5 distribution * DXMWrap.exe - Microsoft DirectX 5 distribution
* Msie302.exe - Microsoft Internet Explorer 3.02 Distribution for Win95
* Msie302mnt.exe - Microsoft Internet Explorer 3.02 Distribution for NT
* Amovie.exe - Microsoft Active Movie distribution
* Spchapi.exe - Text To Speech
* SWFlash.ocx - Shockwave Flash, Macromedia
* Wetstd32.dll
The Main Menu displays the different options available in the F&W Encyclopedia. To enter, click on one of the following:
* Book View: Opens a research center, with the Book tab selected. All the books available for searching on the user's Research Desk are listed.
* Search: Opens the Research Center with the Search tab selected. Here the user can choose the search options s/he needs to conduct his or her research.
* Media Gallery: Opens the Research Center with the Media tab selected. A Media Gallery Table of Contents is displayed in the View Pane. To view a list of all media items in a specific media type, click on the appropriate media icon.
* Binder: Opens the Research Center with the Binder tab selected. Here the user can collect and organize all his or her research in file folders called Binders (collections of articles and websites for specific projects) for future reference.
* Library: Opens the user's digital Library, where the user can add publications to his or her collection and organize his or her books on Shelves for easy access. * Digital Bookstore: Transports the user to an online Bookstore, where the user can purchase and download books directly to his or her digital Library.
* F&W Knowledge Center: Takes the user directly to the website of the Funk & Wagnalls Knowledge Center.
* Guided Tour: Begins the user's guided tour of the incredible features of the Funk & Wagnalls Unabridged Encyclopedia .
The Research Center
The Research Center is the main Funk & Wagnalls window and is where the user searches, views, organizes and saves articles and media.
The window typically comprises three main components:
* The Navigation Bar, on the left-hand side -- here the user can click on icons to quickly get to one of many locations in the Encyclopedia.
* The Control Pane, in the center, where the user can view book on the user's Research Desk, run searches, select media items, and manage Binders.
* The View Pane, on the right-hand side, where the selected item is viewed.
Tabs and buttons
Tabs appear on the Tool Bar above the Control Pane of the Funk & Wagnalls Research Center. They allow the user to display a list of all the books on the user's Research Desk, display the different search capabilities, check out the Media Gallery, and manage the user's Binders.
Buttons appear on the Tool Bar in the View Pane of the Research Center. They allow the user to view previous and next articles in the book the user is researching, display associated media, show the user the book in which the article appears, add an article to a Binder, and print a selected article.
Search options
A research system lets the user conduct searches for articles and media items with either of the following techniques :
Simple search
Here the user is presented with three methods of searching by text :
* Searching titles only - Searches only the titles of articles or media items.
* Searching full text - Searches the body of the articles and captions under media items .
* Natural language query - Searches using a phrase expressed in plain English, for example: city in Australia.
The user may carry out other searches by using other options, termed herein "advanced" options, which may for example provide the following options:
* Find Only Media
* Conduct a Keyword search
* Conduct a Topic search * Conduct a Related Article search
The user can then sort his or her findings alphabetically or by score (a reflection of how closely the article is related to his or her search request).
Filing system
The user can organize and save all his or her found articles, media items, and even Internet URLs (addresses) in file folders called Binders, for future reference. Binders may be created and reorganized, and their contents printed.
Funk & Wagnalls Multimedia Gallery
The Funk & Wagnalls Unabridged Encyclopedia is packed with thousands of media, which can be selected for viewing through the Media Gallery Table of Contents.
* Animations, Photos and Videos
* Maps and Flags
* Music, Sounds and Speeches
The Digital Library
A Library Builder allows the user to create his or her own personalized digital Library.
* Automatically update articles and media in his or her Funk & Wagnalls Unabridged Encyclopedia.
* Seamlessly add and integrate entire books from online Bookstores, other Internet sites, and publishers' CDs to his or her digital Library.
* Organize his or her new books on library Shelves for instant reference. * Simultaneously search his or her entire library for the information s/he needs.
Updating books in user's digital Library: Every updated article or new book in the user's digital Library is incorporated, sorted, assigned keywords and cataloged for easy searching at a later date. The user can check for updates on a specific book or on all the books in his or her digital Library
Purchasing and adding books to user's digital Library: The digital book system allows the user to purchase and download new books to his or her digital Library from two sources :
* Internet bookstores
* CD-ROMs and DVD-ROMs
The user's new book is typically seamlessly integrated into his or her digital Library and placed on his or her Research Desk for immediate use.
The digital Librarian
The digital librarian, also termed herein the "bookworm, " sits in the library, waiting to assist the user. The librarian is operative to explain the various features of the Graphical Library or help the user hook up with an Internet bookstore or get back to the Research Center. The user can also have the librarian read him or her a book.
The software embodiment of Appendix A may be provided with a CD-ROM encyclopedia with a completely- stocked, fully-searchable, home digital library. Thousands of books can be downloaded from the online digital book store, then seamlessly integrated by a library builder into the user's electronic library. To compile a Book or to compile media, using the software embodiment of Appendix A, the following steps may be performed:
Use a PC Compatible Pentium Computer running Windows NT 4.0 with the following:
* Three button mouse
* Keyboard
* Colour 17" Monitor
* 3 Gigabyte Hard Disk Partitioned into C and D drives with at least 2 Gigabytes on the D Drive
* CDROM
* 64 Megabytes of RAM
Use the following commercially available products to compile the Versabook.exe file of Appendix A:
* "Crusher!". Version 3.2. DC Micro Development P.O.Box 54588 Lexington,
KY 40555
USA
Phone: 606-245-4175
Fax: 606-245-9305 http : //www. dcmicro . com
* CodeBase 6.3 Sequiter Software, Inc. P.O. Box 783
Greenland, NH, USA 03840 Phone: (403) 437-2410 Fax: (403) 436-2999 E-mail: info@sequiter.com
* Verity Search '97 Software Developers Toolkit Version 2.2.3
Verity, Inc. 894 Ross Drive
Sunnyvale, CA 94089
U.S.A.
Phone: (408) 541-1500
Fax: (408) 541-1600 www.verity. com
* LeadTools Win32 Pro V 8.0
Lead Technologies, Inc.
900 Baxter St.
Charlotte, NC 28204
USA
Phone: 704-332-55332
Fax: 704-372-8161 http: //www. leadtools.com
Perform the following steps:
1. Type in the contents of each file.
2. Place the files in the appropriate directories as per the file list under the base directory D:\Versabook
3. Place the release libs for each 3rd party product in the D:\Versabook\release directory
4. Install Microsoft Developer Studio with Visual C++ Version 5.0 (Enterprise Edition)
5. Select Open Workspace under the File menu.
6. Change the Files of Type Combo Box to Projects (*.dsp)
7. Select "D:\Versabook\BookCompiler\ BC GUI.dsp" and press Open.
8. Open the Workspace window.
9. Go to the File tab in the Workspace window.
10. Right click on BC GUI Files and select Set as Active Project
11. Select Set Active Configuration under the Build menu
12. Select BC GUI - Win32 Release as the active configuration.
13. Select Build in the Build menu to compile the BC GUI . exe
14. Install InstallShield version 5.1 Professional Edition on your computer.
15. Create a folder Versabook_Install on D drive and create the Versabook InstallShield files in their appropriate directories.
16. Run InstallShield by clicking "Start", "Programs", "InstallShield 5.1 Professional Edition".
17. Click "File", "Open" and "D:\Versabook_Install\Book- Compiler . ipr" to open the project.
18. Choose the media tab (the disks icon on the tab).
19. Choose Media Build Wizard.
20. Choose Default and click Next.
21. Keep choosing Next, and then choose Finish.
22. Using Explorer, open the folder D:\Versabook_Install\Media\Default\Disk Images\disk 1.
23. Run the Setup.exe to install the BookCompiler on your computer
24. The text of the book to be compiled is assumed to exist in the form of one or more electronic Word For Windows documents. Typically, a very lengthy book appears as more than one electronic documents. For example, a book whose text is 100 megabytes long may be represented by 50 2 megabyte documents.
Each such document is converted into a Master Document. This is done by converting each Word For Windows document into RTF Winhelp format except that article IDs are stored after the titles, with a style tag called Article ID, rather than having the article ID appearing in a footnote before the article's title as in RTF Winhelp format .
Generate a list of the master document or master documents which represent the book to be compiled. This may be done by hand or by using a utility which opens up a directory and creates a list of user-selected files. This list is stored in a file called "filelist.doc". Each master document name in "filelist.doc" should be separated from the former master document name only by a line feed. There is thus exactly one master document name per line.
As described above, VersaBookMakeMasterHTML unit 907 converts Master documents 906 into Master HTML Documents 908. To perform this conversion, using Microsoft Word 97, type in code entitled "VersabookMasterHtml" in Appendix A, into a VBA (Visual Basic Application) and name the VBA "VersaBookMakeMasterHTML".
25. Run the "VersaBookMakeMasterHTML" on the "filelist.doc" file. As described above, filelist.doc is a list of the master documents characterizing the book being compiled. This step is performed by pressing the buttons [tools] [macro] (choose "VersaBookMakeMasterHTML" ) [run] .
26. Create FrmVersabookO . fr by typing up the document "Visual Basic Form for Tree Processor" which is in Appendix A and saving it as ASCII with the name "FrmVersabookO. frm"
27. Create VersabookCompilerQ2. vbp by typing up the document "VersabookCompilerQ2. vbp" which is in Appendix A and saving it as ASCII with the name "VersabookCompilerQ2.vbp"
28. Visual Basic 5.0 may be used to run Versabook- CompilerQ2. vbp .
29. Book Tree Processor 909 converts Master HTML Documents 908 to Outline Tree 910 and Mini HTML Documents 911 using article information database 903 for keywords and subjects and using media from conventional media archives such as Archive Photo in New York, ASAP in Tel Aviv, Israel, Bettman Photo in New York.
30. Run the BookCompiler generated in steps 1 - 23. In the above description of the illustrated embodiment, the term "media" may include text. The media database 170 of Fig. 1 may include text although it most typically stores non-text information such as sound and pictures. "Media queries" could search for all types of media items including text. The term "media data objects" refers to both text media items and non-text media items.
Reference is now made to Fig. 63 which is a flowchart illustration of a preferred method of operation for a publisher ' s tool constructed and operative in accordance with a preferred embodiment of the present invention. The publisher's tool, also termed herein the "publisher's book digitizing system", is operative to facilitate digitization of a book by a publisher.
First, preferred steps in the creation of a digital book are described.
1. Conversion of Source Documents into Master Documents
In this process all of the source documents of the book are converted into the Master Document format. The source documents can start out in any format. The Master Document format will be HTML and in the future XML. This step typically includes conversion of documents to HTML and organization of HTML documents.
1.1. Conversion of Documents to HTML
The first step in this process is to convert all of the source documents into HTML. There are a variety of ways for the publisher to perform this step:
1. The publisher can convert the documents to HTML with a tool of his own. An example of this would be to convert a Word document into HTML by doing "Save as HTML" in Word for Windows.
2. The publisher can have a Service Center perform this step.
3. It is an aim to provide a package of utilities with the publisher's tool, which the publisher could use to perform this conversion process. There would be different utilities for this conversion process for the publisher to use depending on the format of the source documents .
A goal is to provide utilities for this conversion process from all sorts of formats. For version 1 utilities may be available to convert from ASCII to HTML and from SGML to HTML. An aim is to provide conversion filters also for other popular formats such as Quark, Word and Ventura.
What actually happens in this conversion process to the Master Document format is that a certain structure is created for the documents. This structure includes making the text generally readable with substantially no unnecessary spaces. It also includes creating a logical hierarchical structure for the book, including headings. There will be a maximum of 6 levels of headings that can be used in creating this structure, in fitting with HTML.
1.2. Organization of the HTML Documents: After all of the source documents are in HTML format the official Publisher's Tool begins. There will be a wizard to start the digital book creation process. The following steps will take place in this Wizard-Organization process:
1. The publisher will be asked to put all of the HTML files in one directory and to specify which directory it is and where it is located.
2. The publisher will be asked to put all of his own media files in one directory and to specify which directory it is and where it is located.
3. The publisher will be asked to specify the order of all of the HTML documents in the book.
4. The publisher will be asked to choose a general template for the book
5. A verification process will take place confirming that all of the links match up correctly.
At the end of this process the source documents are in the Master Document format. The individual HTML articles are not split up yet at this point, they are still in the same grouping as the Source Documents were in. For example if each source document were a chapter in the book then each Master Document would also be a chapter in the book.
While in the Master Document format certain processes can be performed on the documents. These processes include:
1. The publisher is able to change any of the structure of the book. Examples of structural changes could be: Changing headings anywhere in the book, Moving articles, chapters, etc. around in the book, Merging articles within the book, Adding new articles to the book, Deleting articles from the book and Updating existing articles in the book.
After the structure has been changed the publisher can choose to view a tree of the book, which would display the order of the structure of the book and how it is broken up. This way the publisher can see if he likes the changes that he made before moving forward.
2. The publisher can perform a wide variety of editing processes here. These would include editing of text, changing the style of the text, cutting and pasting, and more.
3. The publisher can create hyperlinks within his book here using an automatic hyperlinking process.
Master Documents can be printed and they can be saved in various formats that the publisher may want for other uses .
The next step in the creation of a digital book is to convert all of the Master Documents into a certain database format where other processes can be performed on them. There is preferably another wizard to aid the publisher in performing this step. In this conversion process the book is divided into all of its sections (chapters, articles) so they can be worked on individually. The hierarchical structure of each article is then verified to make sure that it makes sense and has no errors .
A publisher's own media may or may not be able to maintain its links to articles in this step.
While in the database format of the present invention, the system is able to choose each item in the tree structure of the book individually and perform the various processes on it. These items will include the book level, chapters, articles, and associated media items (as they are added to the project).
Depending on the publisher's needs, the steps that will be available to be implemented here can be done in an automated fashion, a semi-automated fashion or a totally manual fashion. There will be wizards and various browsing methods available for each step if it is fitting to aid the publisher in performing these steps.
The following steps can be performed while in the database format:
1. Adding Media: The publisher can add as many media items, associated and/or embedded, to a piece of the book as desired.
Associated media items are items that are attached to a piece of the book, but they also each have their own properties and can be viewed on their own. Associated media items can be added from the Media Database 170 or from the Publisher's own collection of media. A wizard will be available to help the publisher to choose media items from the Media Database 170 only. After an associated media item is assigned to an article it will appear in the tree of the book under the article. The associated media item will then have the ability to be assigned categories, keywords, and any of the query data particular to the queries associated with the books. Properties of the associated media item such as title and/or caption are preferably editable by a user.
Embedded media is media that is located within the article itself and it does not have its own properties as associated media has. Embedded media does not appear in the book's tree structure. The publisher can choose to embed this type of media into any location within an article (or chapter, etc). Embedded media can be added from the Media Database 170 or from the Publisher's own collection of media. A wizard will be available to help the publisher to choose media items from the Media Database 170 only.
2. Attaching Categories: The publisher is able to choose an unlimited number of categories and sub- categories for each item in the book's tree structure. There will be a fixed list of categories and sub-categories to choose from, and new ones cannot be added. The list of categories and subcategories available will be determined by the template, which was chosen for the book.
A parent and child item in the tree cannot have the same category/sub-category combination. Typically, the Publisher's Tool can check this. Associated media items that have been added to the book can also be assigned categories and sub-categories.
3. Attaching Keywords: The publisher will be able to add an unlimited number of keywords to each item in the book's structure. Parent and child items in the tree cannot have the same keyword attached to them. Typically, the Publisher's Tool monitors their activities.
Associated media items that have been added to the book can also be assigned keywords. Optionally, keywords can be automatically added.
4. Conversion from Database Format Back into Master Document Format: The publisher may want to convert articles back to the Master Document format, e.g. to change the book structure or to save the information in a different format for other uses.
In this process the publisher can convert one article or choose selected articles to convert back to the Master Document format. Alternatively, the whole database of articles can be converted back if any are to be done.
If an article is converted back to a Master document then in order to be incorporated into the media database 170 it is typically converted back to the Database format.
Final Steps in Creating a digital book - Digital book Compilation Process: After all of the editing and enriching has been performed on all of the items in the book the publisher can take all of the items in the Database format and convert them into a digital book.
Accounting and Packaging: Before the final digital book compilation process takes place an account is generated as to how many and which pieces of media were used from the Media Database 170.
A message will be sent to the system Server that a new invoice has come in. The invoice will contain a list of all of the media used for the book and the price of each piece of media. If this is a second version of the book then optionally, only the new added media is charged for.
Before compiling a final digital book the publisher is asked if this version is a draft or the final book.
The system ensures that the publisher doesn't use a draft version for the real version: one implementation is to have the words "Draft Version" written on every HTML page of the book.
Optionally, the publisher is charged for the media only when the final digital book is compiled and not for the media in a draft version.
Any suitable process for assigning version numbers may be employed.
Final digital book- Three Outcome Options The publisher can choose to create any or all of these options.
1. A Physical DVD/CD - a stand-alone digital book
2. Web Pages - an HTML document
This is all of the information in an HTML format that the publisher can use to create a Web site.
3. A Downloadable Netbook
This will be a book that will be compatible for use with the library research engine 150, also termed herein the system's "consumer Viewer". This can be put on the Internet.
EXAMPLE
An example of the use of the tables of Fig. 6 in order to research a book entitled "Treating Asthma, Allergies, and Food Sensitivities" is now described with reference.
An example of Attributes table 427 filled with data which represents attributes of the book entitled "Treating asthma...", is the following:
Sample Attributes Table
Name Value
Book Version # 1.10 (Build 7) Text Date 04/28/1998 Compile Date 04/28/1998 Dewey Decimal LOC Number Merging Level 3 How Often To Check 0/0/0 Copyright HLink Txt 1997 by The Philip Lief Group Default Bookshelf Health & Medicine Def Shelf Internal Health & Medicine Copyright 1997 by The Philip Lief Group Author Alan Pressman and Herbert D. Goodman Publisher Berkley Background yøya Copyrights Page # 999999999 Overview Page # 999999998 Caption Backgrnd "#5151C3" Caption Color "#FEF5D8" Update Version # 0 <H1> attributes <H2> attributes <H3> attributes <H4> attributes <H5> attributes <H6> attributes Before <H1> <TABLE WIDTH=100%XTRXTDXFONT COLOR="#4747B9"XB> After <H1> </BX/FONTx/TDX/TR>
<TR><TD>
<IMG SRC= **gιf2** width=100% heιght=4> </TDx/TR> </TABLEXBR CLEAR=ALL>
End <H1> Before <H2-6> <BR CLEAR=ALLXFONT COLOR="#5151C3"XB> After <H2-6> </B></FONTXblockquote> End <H2-6> </blockquote> Body attributes Table attributes BGCOLOR="#FEFBED" BORDERCOLORDARK="#0000Al" BORDERCOLORLIGHT="#AACCFF" Border "0"
Additional Gif File GIF89a Cell Spacing "2" An example of a Bookcase table 473 filled with data which represents an individual user's bookcase. now follows. Each record in the following Bookcase table typically represents a single bookshelf:
Sample Bookcase Table
ID Parent ChildNum Num Child DO BooklD De Name
0000000001 0000000000 0000000001 0000000003 03 0538976288 20
0000000002 0000000001 0000000002 0000000000 03 0538976288 20 Librarian
0000000003 0000000001 0000000003 0000000000 03 0538976288 20 Recycle Bin
0000000005 0000000001 0000000001 0000000002 03 0538976288 20 Encyclopedias & Dictionaries
0000000004 0000000005 0000000002 0000000000 01 0000000001 20 Funk & Wagnalls Encyclopedia
0000000006 0000000005 0000000001 0000000000 01 0000000002 20 Concise Dictionary of Great 20th Century Biographies
Figure imgf000147_0001
An example of a Briefcase table 449 filled with data which represents the individual user's briefcase including a single binder, is as follows. Each record in a briefcase typically corresponds to a single binder:
Sample Briefcase Table
ID ParentID ChildNum NumOfChil DO BooklD MOID URL Name
0000000001 0000000000 0000000001 0000000000 02 0538976288 0538976288
Figure imgf000149_0001
An example of a query ID result table 440 is as follows:
ID Count
9 0
8 1
6 43
An example of a viewdata table 430, filled with data which represents viewable data in the above-referenced book entitled "Treating asthma...", is as follows:
Sample Viewdata Table
ID Format Location Forma t~2 Location2
00000000C1 FLASH FILE CORUP UNDEF
0001000000 HTML TABLE CORUP UNDEF
0001000001 CORUP UNDEF CORUP UNDEF
00C1001001 HTML TABLE CORUP UNDEF
00010000C2 HTML TABLE CORUP UNDEF
00C10000C3 HTML TABLE CORUP UNDEF
0001000004 HTML TABLE CORUP UNDEF
0001000005 HTML TABLE CORUP UNDEF
00C1000OO6 HTML TABLE CORUP UNDEF
0001000007 HTML TABLE CORUP UNDEF
0001000008 HTML TABLE CORUP UNDEF
0001000009 HTML TABLE CORUP UNDEF
0001000010 HTML TABLE CORUP UNDEF
0001000011 HTML TABLE CORUP UNDEF
0001000012 HTML TABLE CORUP UNDEF
OOC1000014 HTML TABLE CORUP UNDEF
09000197S9 MPG1 MEDDB CORUP UNDEF
0001000015 HTML TABLE CORUP UNDEF
0900019499 JPG MEDDB CORUP UNDEF
0001000016 HTML TABLE CORUP UNDEF
0900019500 JPG MEDDB CORUP UNDEF
090C0195C2 JPG MEDDB CORUP UNDEF
OOC1000122 HTML TABLE CORUP UNDEF
0001000123 HTML TABLE CORUP UNDEF
0001000124 HTML TABLE CORUP UNDEF
0001000125 HTML TABLE CORUP UNDEF
0001000126 HTML TABLE CORUP UNDEF
0001000127 HTML TABLE CORUP UNDEF
0001000128 HTML TABLE CORUP UNDEF
0001000129 HTML TABLE CORUP UNDEF
0001000130 HTML TABLE CORUP UNDEF
0001100017 HTML TABLE CORUP UNDEF
0001000017 HTML TABLE CORUP UNDEF
09C0019634 JPG MEDDB CORUP UNDEF
0001000131 HTML TABLE CORUP UNDEF
0001000152 HTML TABLE CORUP UNDEF
0001000133 HTML TABLE CORUP UNDEF
0001000134 HTML TABLE CORUP UNDEF
0001000135 HTML TABLE CORUP UNDEF
0001000156 HTML TABLE CORUP UNDEF
0001000137 HTML TABLE CORUP UNDEF
0001000018 HTML TABLE CORUP UNDEF
0001000019 HTML TABLE CORUP UNDEF
0900019811 JPG MEDDB CORUP UNDEF
0001000138 HTML TABLE CORUP UNDEF
0001000139 HTML TABLE CORUP UNDEF
0001000140 HTML TABLE CORUP UNDEF
0001000141 HTML TABLE CORUP UNDEF
0001100020 HTML TABLE CORUP UNDEF
0001000020 HTML TABLE CORUP UNDEF
0900019507 JPG MEDDB CORUP UNDEF
0900019517 JPG MEDDB CORUP UNDEF 0001000021 HTML TABLE CORUP UNDEF
0900019520 JPG MEDDB CORUP UNDΞF
0900019521 JPG MEDDB CORUP UNDEF
0900C19522 JPG MEDDB CORUP UNDEF
0001000142 HTML TA3LE CORUP UNDEF
0001000143 HTML TABLE CORUP UNDEF
0001000144 HTML TABLE CORUP UNDEF
0001000145 HTML TABLE CORUP UNDEF
00C1000146 HTML TABLE CORUP UNDEF
0001000147 HTML TABLE CORUP UNDEF
0001000148 HTML TABLE CORUP UNDEF
0001000149 HTML TABLE CORUP UNDEF
0001000022 HTML TABLE CORUP UNDEF
0001000023 HTML TABLE CORUP UNDEF
0001000024 HTML TABLE CORUP UNDEF
0001000025 HTML TABLE CORUP UNDEF
0900019525 JPG MEDDB CORUP UNDEF
0001000026 HTML TABLE CORUP UNDEF
00C1000238 HTML TABLE CORUP UNDEF
0001000150 HTML TABLE CORUP UNDEF
0001000151 HTML TABLE CORUP UNDEF
0001000C27 HTML TABLE CORUP UNDEF
0001100028 HTML TABLE CORUP UNDEF
0001000028 HTML TABLE CORUP UNDEF
0900019528 JPG MEDDB CORUP UNDEF
0900019529 JPG MEDDB CORUP UNDEF
09C0019530 JPG MEDDB CORUP UNDEF
0001000029 HTML TABLE CORUP UNDEF
0001000030 HTML TABLE CORUP UNDEF
0900019531 JPG MEDDB CORUP UNDEF
0900019532 JPG MEDDB CORUP UNDEF
0900019553 JPG MEDDB CORUP UNDEF
0001000152 HTML TABLE CORUP UNDEF
0001000031 HTML TABLE CORUP UNDEF
0001000032 HTML TABLE CORUP UNDEF
0001000035 HTML TABLE CORUP UNDEF
0001000054 HTML TABLE CORUP UNDEF
0001000035 HTML TAELE ' CORUP UNDEF
C900019534 JPG MEDDB CORUP UNDEF
0900019535 JPG MEDDB CORUP UNDEF
0001000036 HTML TABLE CORUP UNDEF
0900019536 JPG MEDDB CORUP UNDEF
0001000037 HTML TABLE CORUP UNDEF
0001000058 HTML TAELE CORUP UNDEF
0900019557 JPG MEDDB CORUP UNDEF
0900019558 JPG MEDDB CORUP UNDEF
0001000059 HTML TABLE CORUP UNDEF
0001100040 HTML TABLE CORUP UNDEF
0001000040 HTML TABLE CORUP .UNDEF
0001000041 HTML TABLE CORUP UNDEF
0001000042 HTML TABLE CORUP UNDEF
0001000153 HTML TABLE CORUP UNDEF
0001000154 HTML TABLE CORUP UNDEF
0001000155 HTML TABLE CORUP UNDEF
0001000156 HTML TABLE CORUP UNDEF
0001000157 HTML TABLE CORUP UNDEF
0001000158 HTML TABLE CORUP UNDEF 0001000043 HTML TABLE CORUP UNDEF
0001000044 HTML TABLE CORUP UNDEF
00C1000045 HTML TABLE CORUP UNDEF
0001000047 HTML TABLE CORUP UNDEF
0001100048 HTML TABLE CORUP UNDEF
0001000048 HTML TABLE CORUP UNDEF
0001000049 HTML TABLE CORUP UNDEF
0900019539 JPG MEDDB CORUP UNDEF
0001000050 HTML TABLE CORUP UNDEF
0001100051 HTML TABLE CORUP UNDEF
0001000051 HTML TABLE CORUP UNDEF
09C0019540 JPG MEDDB CORUP UNDEF
09000197S1 JPG MEDDB CORUP UNDEF
0001100052 HTML TABLE CORUP UNDEF
0001000052 HTML TABLE CORUP UNDEF
0001000159 HTML TABLE CORUP UNDEF
0001000160 HTML TABLE CORUP UNDEF
0001000161 HTML TABLE CORUP UNDEF
00C1000162 HTML TABLE CORUP UNDEF
OOC1000163 HTML TABLE CORUP UNDEF
0001000053 HTML TABLE CORUP UNDEF
0001000164 HTML TAELE CORUP UNDEF
00CI000165 HTML TABLE CORUP UNDEF
0001000166 HTML TABLE CORUP UNDEF
0001100054 HTML TABLE CORUP UNDEF
00C1000054 HTML TABLE CORUP UNDEF
0900019542 JPG MEDDB CORUP UNDEF
00C1000055 HTML TAELE CORUP UNDEF
0001000167 HTML TABLE CORUP UNDEF
0001000168 HTML TABLE CORUP UNDEF
0001000169 HTML TABLE CORUP UNDEF
000100C170 HTML TABLE CORUP UNDEF
0001000171 HTML TABLE CORUP UNDEF
0001000172 HTML TABLE CORUP UNDEF
0001000173 HTML TABLE CORUP UNDEF
0001000174 HTML TABLE CORUP UNDEF
000100C175 HTML TABLE CORUP UNDEF
O0C10O01"6 HTML TABLE CORUP UNDEF
0001000056 HTML TABLE CORUP UNDEF
0900019631 JPG MEDDB CORUP UNDEF
0001000177 HTML TAELE CORUP UNDEF
0001000175 HTML TABLE CORUP UNDEF
0001000179 HTML TABLE CORUP UNDEF
0001000C57 HTML TABLE CORUP UNDEF
0900019544 JPG MEDDB CORUP UNDEF
0001000058 HTML TABLE CORUP UNDEF
0001000059 HTML TABLE CORUP UNDEF
0001000060 HTML TABLE CORUP UNDEF
0900019546 JPG MEDDB CORUP UNDEF
0001100061 HTML TABLE CORUP UNDEF
00OI00O06I HTML TABLE CORUP UNDEF
0900019547 JPG MEDDB CORUP UNDEF
0001000062 HTML TABLE CORUP UNDEF
0900019549 JPG MEDDB CORUP UNDEF
0001000063 HTML TABLE CORUP UNDEF
0900019763 JPG MEDDB CORUP UNDEF
0001000064 HTML TABLE CORUP UNDEF 0900019552 JPG MEDDB CORUP UNDEF
0001100065 HTML TABLE CORUP UNDEF
0001000065 HTML TABLE CORUP UNDEF
000I0C0O66 HTML TABLE CORUP UNDEF
0001000067 HTML TABLE CORUP UNDEF
0001100068 HTML TABLE CORUP UNDEF
0001000068 HTML TABLE CORUP UNDEF
0900019553 JPG MEDDB CORUP UNDEF
0900019555 JPG MEDDB CORUP UNDEF
0001000069 HTML TABLE CORUP UNDEF
0001000180 HTML TABLE CORUP UNDEF
0001000181 HTML TABLE CORUP UNDEF
0001000182 HTML TABLE CORUP UNDEF
0001000183 HTML TABLE CORUP UNDEF
0001000184 HTML TABLE CORUP UNDEF
C00100C185 HTML TABLE CORUP UKDEF
0001000186 HTML TABLE CORUP UNDEF
00C1000187 HTML TABLE CORUP UNDEF
O0C10OC188 HTML TABLE CORUP UNDEF
0001000189 HTML TABLE CORUP UNDEF
C001000070 HTML TABLE CORUP UNDEF
00C1000071 HTML TABLE CORUP UNDEF
0C01000072 HTML TABLE CORUP UNDEF
00C1000073 HTML TABLE CORUP UNDEF
0001000074 HTML TABLE CORUP UNDEF
0001000075 HTML TABLE CORUP UNDEF
0001000076 HTML TABLE CORUP UNDEF
0900019558 JPG MEDDB CORUP UNDEF
0001000190 HTML TA3LE CORUP UNDEF
0001000191 HTML TABLE CORUP UNDEF
0001000192 HTML TABLE CORUP UNDEF
0001000193 HTML TABLE CORUP UNDEF
0001000194 HTML TABLE CORUP UNDEF
0001000195 HTML TABLE CORUP UNDEF
0001000196 HTML TABLE CORUP UNDEF
0001000077 HTML TABLE CORUP UNDEF
0001000078 HTML TABLE CORUP UNDEF
0001000079 HTML TABLE CORUP UNDEF
CC0I130C80 HTML TABLE CORUP UNDEF
C001000C80 HTML TABLE CORUP UKDEF
0900019780 JPG MEDDB CORUP UNDEF
0001000197 HTML TABLE CORUP UNDEF
0001000198 HTML TABLE CORUP UNDEF
0001000199 HTML TABLE CORUP UNDEF
000100C200 HTML TABLE CORUP UNDEF
C001100200 HTML TABLE CORUP UNDEF
0001200200 HTML TAELE CORUP UNDEF
0001000201 HTML TABLE CORUP UNDEF
0001100081 HTML TABLE CORUP UNDEF
0001000081 HTML TABLE CORUP UNDEF
0001000202 HTML TABLE CORUP UNDEF
0001000203 HTML TABLE CORUP UNDEF
0001000204 HTML TABLE CORUP UNDEF
0001000205 HTML TABLE CORUP UNDEF
0001000206 HTML TABLE CORUP UNDEF
0001000207 HTML TABLE CORUP UNDEF
0001000208 HTML TABLE CORUP UNDEF 0001000082 CORUP UNDEF CORUP UNDEF
0900019560 JPG MEDDB CORUP UNDEF
0001000209 HTML TABLE CORUP UNDEF
0001000210 HTML TABLE CORUP UNDEF
0001000083 HTML TABLE CORUP UNDEF
0900019561 JPG MEDDB CORUP UNDEF
0001000084 CORUP UNDEF CORUP UNDEF
0900019562 JPG MEDDB CORUP UNDEF
00C1000211 HTML TABLE CORUP UNDEF
0001000212 HTML TABLE CORUP UNDEF
0001000213 HTML TABLE CORUP UNDEF
0CC1100085 HTML TABLE CORUP UNDEF
00C1000085 HTML TABLE CORUP UNDEF
0001000086 HTML TABLE CORUP UNDEF
0001000087 HTML TABLE CORUP UNDEF
0001000089 HTML TABLE CORUP UNDEF
0001000090 HTML TABLE CORUP UNDEF
00C1000091 HTML TABLE CORUP UNDEF
00C1000092 HTML TABLE CORUP UNDEF
0001100093 HTML TABLE CORUP UNDEF
0001000093 HTML TABLE CORUP UNDEF
0001000094 HTML TABLE CORUP UNDEF
00C1000095 HTML TABLE CORUP UNDEF
0001100096 HTML TABLE CORUP UNDEF
0001000096 HTML TABLE CORUP UNDEF
0001000097 HTML TABLE CORUP UNDEF
0001000239 HTML TABLE CORUP UNDEF
0001000098 HTML TABLE CORUP UNDEF
0001000214 HTML TABLE CORUP UNDEF
0001000215 HTML TABLE CORUP UNDEF
0001000216 HTML TABLE CORUP UNDEF
0001000217 HTML TABLE CORUP UNDEF
0001000218 HTML TABLE CORUP UNDEF
0001000219 HTML TABLE CORUP UNDEF
0001000099 HTML TABLE CORUP UNDEF
0001000100 HTML TABLE CORUP UNDEF
0001100101 HTML TABLE CORUP UNDEF
0001000101 HTML TABLE CORUP UNDEF
0001000102 HTML TABLE CORUP UNDEF
0001100103 HTML TAELE CORUP UNDEF
0001000105 HTML TABLE CORUP UNDEF
0001000104 HTML TABLE CORUP UNDEF
0001000105 HTML TABLE CORUP UNDEF
0001000106 HTML TABLE CORUP UNDEF
00C100C107 HTML TABLE CORUP UNDEF
0001100108 HTML TABLE CORUP UNDEF
0001000108 HTML TABLE CORUP UNDEF
0001000220 HTML TABLE CORUP UNDEF
0001000221 HTML TABLE CORUP UNDEF
0001000222 HTML TABLE CORUP UNDEF
0001000109 HTML TABLE CORUP UNDEF
0001000225 HTML TAELE CORUP UNDEF
0001000224 HTML TABLE CORUP UNDEF
0001000225 HTML TABLE CORUP UNDEF
0001100110 HTML TABLE CORUP UNDEF
0001000110 HTML TABLE CORUP UNDEF
0001000111 HTML TABLE CORUP UNDEF 0900019565 JPG MEDDB CORUP UNDEF
0001000112 HTML TABLE CORUP UNDEF
0900019782 JPG MEDDB CORUP UNDEF
0001000113 HTML TABLE CORUP UNDEF
0001000114 HTML TABLE CORUP UNDEF
0900019564 JPG MEDDB CORUP UNDEF
0001000115 HTML TABLE CORUP UNDEF
0001100116 HTML TABLE CORUP UNDEF
0001000116 HTML TABLE CORUP UNDEF
0001000226 HTML TABLE CORUP UNDEF
0001000227 HTML TABLE CORUP UNDEF
0001000228 HTML TABLE CORUP UNDEF
0001000229 HTML TABLE CORUP UNDEF
0001000250 HTML TABLE CORUP UNDEF
0001000251 HTML TABLE CORUP UNDEF
0001000232 HTML TABLE CORUP UNDEF
C001100117 HTML TABLE CORUP UNDEF
C0C1000117 HTML TABLE CORUP UNDEF
0001000235 HTML TABLE CORUP UNDEF
0001000254 HTML TABLE CORUP UNDEF
0001000255 HTML TABLE CORUP UNDEF
0001000256 HTML TABLE CORUP UNDEF
0001000118 HTML TABLE CORUP UNDEF
0001000120 HTML TABLE CORUP UNDEF
0001100257 HTML TABLE CORUP UNDEF
0001000257 HTML TABLE CORUP UNDEF
0001000121 HTML TABLE CORUP UNDEF
0999999999 HTML TABLE CORUP UNDEF
0999999998 HTML TABLE CORUP UNDEF
An example of a tree table 401 is as follows:
D Parent ChildNum Num Child MO Media MediaDBID DU Lan Vrsn Name
0000000001 0000000000 0000000001 0000000013 MC TEXT ooooooooo 01 ENG 00000 Treating Asthma, Allergies, and Food
Sensitivies
0001000000 0000000001 0000000001 0000000000 ME TEXT OOOOOOOOOO 01 ENG 00000 About this book
0001000001 0000000001 0000000002 0000000004 ME TEXT OOOOOOOOOO 01 ENG 00000 Introduction
0001001001 0001000001 0000000001 0000000000 ME TEXT OOOOOOOOOO 01 ENG 00000 ARE YOU HEALTHY?
0001000002 OriOlOOOOOl 0000000002 0000000000 ME TEXT nnυnoooooo 01 ENG 00000 TRADITIONAL MEDICINE: A BRIEF HISTORY
0001000003 oooiouoooi 0000000003 0000000000 ME TEXT (lυoOOOOOOO 01 ENG 00000 ALTERNATIVE MEDICINE: A BRIEF HISTORY
0001000004 0001000001 000000U004 0000000000 ME TEXT OOOOOOOOOO 01 ENG 00000 THE PHYSICIANS' GUIDES TO HEALING
0001000005 0000000001 0000000003 0000000004 ME TEXT oooooooooo 01 ENG 00000 Asthma, Allergies, and Food
Sensitivities
0001000006 0001000005 ooooooouoi 0000000000 ME TEXT oooooooooo 01 ENG 00000 ASTHMA
0001000007 0001000005 0000000002 0000000003 ME TEXT oooooooooo 01 ENG 00000 ALLERGIES
0001000008 0001000007 0000000001 0000000000 ME TEXT ooooooooo 01 ENG 00000 Food Allergy
0001000009 0001000007 0000000002 0000000000 ME TEXT oooooooooo 01 ENG 00000 Skin Allergy
0001000010 0001000007 0000000003 0000000000 ME TEXT oooooooooo 01 ENG 00000 Allergic Rhinitis and Hay Fever
0001000011 0001000005 0000000003 0000000000 ME TEXT ooooooooo 01 ENG 00000 FOOD SENSITIVITIES Λ 0001000012 0001000005 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG 00000 TREATMENTS FOR ASTHMA, ALLERGIES, AND J FOOD SENSITIVITIES 3 0001000014 0000000001 0000000004 0000000005 ME TEXT oooooooooo 01 ENG 00000 Λdult Asthma Λ 0900019789 0001000014 0000000001 oooooooooo ΛMI VIDEO 0000127261 30 ENG 00000 Asthma
0001000015 0001000014 0000000002 0000000002 ME TEXT oooooooooo 01 ENG 00000 WHAT HAPPENS DURING AN ASTHMA ATTACK?
0900019499 0001000015 0000000001 oooooooooo AMI PHOTO 0000050291 30 ENG 00000 Asthma attack
0001000016 0001000015 0000000002 0000000011 ME TEXT OOOOOOOOOO 01 ENG 00000 Triggers of an Asthma Attack
0900019500 0001000016 0000000001 oooooooooo ΛMI PHOTO 0000001348 30 ENG 00000 Asthma Attack: Sinusitus
0900019502 0001000016 0000000002 oooooooooo ΛMI PHOTO 0000074372 30 ENG 00000 Asthma Attack: Aspirin Λ 0001000122 0001000016 0000000003 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Allergies C 0001000123 0001000016 0000000004 oooooooooo ME EXT OOOOOOOOOO 01 ENG 00000 Food Additives w 0001000124 0001000016 0000000005 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Exercise
0001000125 0001000016 0000000006 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Viral Respiratory-Tract Infection
0001000126 0001000016 000OO000U7 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Sinusitis
0001000127 0001000016 0000000008 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Stress and Emotion t 0001000128 0001000016 0000000009 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Sensitivity to Aspirin
0001000129 0001000016 0000000010 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Environmental Irritants
0001000130 0001000016 0000000011 oooooooooo ME TEXT OOOOOOOOO 01 ENG 00000 Occupational Factors ) 0001100017 0001000014 0000000003 0000000003 ME TEXT OOOOOOOOOO 01 ENG 00000 Traditional Treatments
0001000017 0001100017 0000000001 0000000008 ME TEXT oooooooooo 01 ENG 00000 Diagnosis
0900019634 0001000017 0000000001 oooooooooo ΛMI PHOTO 0000057813 30 ENG 00000 Exercise challenge test
0001000131 0001000017 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Spiiometry/Pulmonaiy Function Tests
0001000132 0001000017 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Sputum Examination
0001000133 00010U0017 000U0 0 04 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Methacholine/llistamine Challenge
0001000134 0001000017 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Exercise Challenge Tests
0001000135 0001000017 00000 00 6 oooooooooo MC TEXT ooOOOoOOOO 01 ENG 00000 Arterial Gas Tests
0001000136 0001000017 00000(10007 oooooooooo ME TEXT OOOOOOOOO 01 ENG 00000 Sinus X Ray
0001000137 0001 00017 000000000ft oooooooooo ME TEXT OOOOOOOOO 01 ENG 00000 Skin Testing
0001000018 0001100017 0000000002 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Monitoring Your Asthma: The Peak Flow
Meter
0001000019 0001100017 0000000003 0000000005 ME TEXT oooooooooo 01 ENG 00000 Preventative Measures
0900019811 0001000019 00000(10001 oooooooooo ΛMI PHOTO 0000018266 30 ENG 00000 Asthma: Inhaler
0001000138 0001000019 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Evironmental Changes
0001000139 0001000019 00000000(13 oooooooooo ME TEXT OOOOOOOOO 01 ENG 00000 Medication
0001000140 0001000019 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Immunotherapy (Allergy Injections)
0001000141 0001000019 0000000005 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Sinus Care
0001100020 0001000014 0000000004 0000000008 ME TEXT OOOOOOOOOO 01 ENG 00000 Alternative Treatments
0001000020 0001100020 0000000001 0000000002 ME TEXT OOOOOOOOOO 01 ENG 00000 Diet and Nutrition
0900019507 0001000020 0000000001 oooooooooo AMI PHOTO 0000013458 30 ENG 00000 Diet and Nutrition
0900019517 0001000020 0000000002 oooooooooo ΛMI PHOTO 0000071290 30 ENG 00000 Diet and Nutrition: Gieen tea
0001000021 0001100020 0000000002 0000000011 ME TEXT OOOOOOOOOO 01 ENG 00000 Herbal medicine
0900019520 0001000021 0000000001 oooooooooo AMI PHOTO 0000015357 30 ENG 00000 Herbal medicine: Sage
0900019521 0001000021 0000000002 OOOOOOOOOO AMI PHOTO 0000015537 30 ENG 00000 Herbal medicine: Eucalyptus
0900019522 0001000021 0000000003 OOOOOOOOOO AMI PHOTO 0000047011 30 ENG 00000 Herbal medicine: Ginseng
0001000142 0001000021 0000000004 OOOOOOOOOO ME TEXT OOOOOOOOOO 01 ENG 00000 Siberian Ginseng
0001000143 0001000021 0000000005 OOOOOOOOOO ME TEXT OOOOOOOOOO 01 ENG 00000 Mullein
0001000144 O001000021 0000000006 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Fenugreek
0001000145 0001000021 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Catnip
0001000146 0001000021 0000000008 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Sage
0001000147 0001000021 0000000009 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Passion Flower
0001000148 0001000021 0000000010 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Eucalyptus Λ 0001000149 0001000021 0000000011 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Angelica
0001000022 0001100020 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Acupuncture
0001000023 0001100020 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Psychotherapy Λ 0001000024 0001100020 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Osteopathy
0001000025 0001100020 0000000006 0000000001 ME TEXT oooooooooo 01 ENG 00000 Massage
0900019525 0001000025 0000000001 oooooooooo AMI PHOTO 0000075398 30 ENG 00000 Massage l 0001000026 0001100020 0000000007 0000000003 ME TEXT oooooooooo 01 ENG 00000 Homeopathy
0001000238 0001000026 0000000001 oooooooooo MC TCXT oooooooooo 01 ENG 00000 Yoga
0001000150 0001000026 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 The Mountain Λ 0001000151 0001000026 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 The Complete Breath
0001000027 0001100020 0000000008 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Chiropractic w 0001100028 0001000014 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Combined Treatments w 0001000028 0000000001 0000000005 0000000009 ME TEXT oooooooooo 01 ENG 00000 Juvenile Asthma
H 0900019520 0001000028 0000000001 oooooooooo AMI PHOTO 0000058989 30 ENG 00000 Juvenile Asthma
0900019529 0001000028 0000000002 oooooooooo AMI PHOTO 0000069548 30 ENG 00000 Juvenile Asthma
0900019530 0001000028 0000000003 oooooooooo AMI PHOTO 0000074454 30 ENG 00000 Juvenile Asthma r 0001000029 0001000028 0000000004 0000000008 ME TEXT OOOOOOOOOO 01 ENG 00000 WHAT TRIGGERS AN ASTHMA ATTACK? w 0001000030 0001000029 0000000001 0000000004 ME TEXT oooooooooo 01 ENG 00000 Allergies κ> 0900019531 0001000030 0000000001 oooooooooo AMI PHOTO 0000008524 30 ENG 00000 Allergies
O 0900019532 U001000030 0000000002 oooooooooo AMI PHOTO 0000013763 30 ENG 00000 Allergies
0900019533 0001000030 0000000003 oooooooooo AMI PHOTO 0000059069 30 ENG 00000 Allergies
0001000152 0001000030 0000000004 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Food Allergies
0001000031 0001000029 0000000002 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Exercise
0001000032 0001000029 0000000003 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Upper Respiratory Infections
0001000033 U01000029 0000000004 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Sinusitis
0001000034 0001000029 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Gastroesophageal Reflux
0001000035 0001000029 0000000006 0000000002 ME TEXT oooooooooo 01 ENG 00000 Emotions and Stress
0900019534 0001000035 0O00000001 oooooooooo ΛMI PHOTO 0000072264 30 ENG 00000 Emotions and Stress
0900019535 0001000035 0000000002 oooooooooo AMI PHOTO 0000075399 30 ENG 00000 Emotions and Stress
0001000036 O 01000029 00000 0007 00000000O1 ME TEXT OOOOOOOOOO 01 ENG 00000 Environmental Factors
0900019536 001000036 0000000001 oooooooooo ΛMI PHOTO 0000057451 30 ENG 00000 Environmental Factors
0001000037 O0 1000029 0000000008 OOOOOOOOOO ME TEXT OOOOOOOOOO 01 ENG 00000 Weather Conditions
0001000038 0001000028 0000000005 0000000002 ME TEXT OOOOOOOOOO 01 ENG 00000 THE INFANT WITH ASTHMA
0900019537 0001000038 0000000001 oooooooooo AMI PHOTO 0000012631 30 ENG 00000 THE INFANT WITH ASTHMA
0900019538 0001000038 0000000002 oooooooooo AMI PHOTO 0000075649 30 ENG 00000 THE INFANT WITH ASTHMA
0001000039 0001000028 0000000006 OOOOOOOOOO ME TEXT OOOOOOOOOO 01 ENG 00000 THE CHILD AT SCHOOL
0001100040 0001000028 0000000007 0000000007 ME TEXT OOOOOOOOOO 01 ENG 00000 Traditional Tieatments
0001000040 0001100040 0000000001 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Peak Flow Meters
0001000041 0001100040 0000000002 oooooooooo ME TEXT OOOOOOOOOO 01 FNG 00000 Environmental Changes
0001000042 0001100040 0000000003 0000000006 ME TEXT oooooooooo 01 ENG 00000 Medications
000100015J 0001000042 0000000001 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Inhaled Medications
0001000154 0001000042 0000000002 oooooooooo ML τr/.τ onooυooooo 01 f MG 00000 Crotnol yn
0001000155 0001000042 0000000003 ooooooooo ME TEXT oooooooooo 01 E G 00000 Cor icostetoids (steroids)
0001000156 0001000042 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Inhaled steioids
0001000157 0001000042 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Oral steroids
0001000)58 0001000042 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Bronchodilators
0001000043 0001100040 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Immunotherapy (Allergy Injections)
0001000044 0001100040 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Sinus Care
0001000045 0001100040 0000000006 oooooooooo ME 1FXT oooooooooo 01 ENG 00000 Emergency Care
0001000047 0001100040 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Psychotherapy
0001100048 0001000028 0000000008 0000000003 ME TEXT oooooooooo 01 ENG 00000 Alternative Treatments
0001000048 0001100048 0000000001 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Herbal Treatments
0001000049 0001100048 0000000002 0000000001 ME TEXT oooooooooo 01 ENG 00000 Homeopathy
CΛ 0900019539 0001000049 0000000001 oooooooooo AMI PHOTO 0000012543 30 ENG 00000 Homeopathy a w 0001000050 0001100048 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Acupressure
0001100051 0001000028 0000000009
CΛ oooooooooo ME TEXT oooooooooo 01 ENG 00000 Combination Treatments
H 0001000051 0000000001 0000000006 0000000005 ME TEΛT oooooooooo 01 ENG 00000 Hay Fever and Allergic Rhinitis
>→ 0900019540 0001000051 0000000001
H oooooooooo AMI PHOTO 0000050949 30 ENG 00000 Hay feveL: Pollen
0900019781 0001000051 0000000002 oooooooooo ΛMI PHOTO 0000069547 30 ENG 00000 Hay fever d
H 0001100052 0001000051 0000000003 0000000002 ME TEXT oooooooooo 01 ENG 00000 Traditional Treatments H 0001000052 0001100052 0000000001 0000000005 ME TEXT oooooooooo 01 ENG 00000 Diagnosing Your Allergy
0001000159 0001000052 0000000001 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Prick Test
K 0001000160 0001000052 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Nasal Smear W 0001000161 0001000052 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Scratch Test H 0001000162 0001000052 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Intradermal H 0001000163 0001000052 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Blood Tests
0001000053 0001100052 0000000002 0000000003 ME TEXT oooooooooo 01 ENG 00000 The Three Basic Therapies
0001000164 0001000053 0000000001 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Avoidance
0001000165 0001000053 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Immunotherapy r 0001000166 0001000053 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Medications
H 0001100054 0001000051 0000000004 0000000007 ME TEXT oooooooooo 01 ENG 00000 Alternative Treatments > 0001000054 0001100054 0000000001 0000000001 ME TEXT oooooooooo 01 ENG 00000 Acupuncture
9 0900019542 0001000054 0000000001 oooooooooo AMI PHOTO 0000053029 30 ENG 00000 Acupuncture
0001000055 0001100054 0000000002 0000000010 ME TEXT oooooooooo 01 ENG 00000 Herbal Treatments
0001000167 0001000055 0000000001 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Stinging Nettle
0001000168 0001000055 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Angelica
0001000169 0001000055 0000000003 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Elder
0001000170 0001000055 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Gin go
0001000171 0001000055 0000000005 oooooooooo ME TEX r OOOOOOOOOO 01 ENG 00000 Herbal Tea ags
0001000172 0001000055 0000000006 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Sandalwood and Pine Steam Treatment
0001000173 0001000055 000 0000O7 oooooooooo ME TEXT OOOOOOOOO 01 ENG 00000 Sandalwood Oil
0001000174 0001000055 0000000008 oooooooooo ME TEXT OOOOOOOOO 01 ENG 00000 Bayberry
0001000175 0001000055 0000000009 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Fenugreek
0001000176 0001000055 0000000010 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Mullein
0001000056 0001100054 0000000003 0000000004 ME TEXT OOOOOOOOOO 01 ENG 00000 Diet and Nutritional Supplements
0900019631 0001000056 0000000001 oooooooooo AMI PHOTO 0000008861 30 ENG 00000 Nutrition: Oranges
0001000177 0001000056 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Mi so Soup
0001000178 0001000056 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Horseradish
0001000179 0001000056 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Cider Vinegar
0001000057 0001100054 0000000004 oooooooooi ME TEXT oooooooooo 01 ENG 00000 Meditation
0900019544 0001000057 0000000001 oooooooooo ΛMI PHOTO 0000057448 30 FNG 00000 Meditation
0001000058 0001100054 0000000005 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Homeopathic allergy remedies
0001000059 0001100054 0000000006 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Acupressure
0001000060 0001100054 0000000007 oooooooooi MC TEXT OOOOOOOOOO 01 ENG 00000 Reflexology
0900019546 0001000060 oooooooooi oooooooooo AMI PHOTO 0000050576 30 ENG 00000 Re lexology
0001100061 0001000051 0000000005 oooooooooo MC TEXT OOOOOOOOOO 01 ENG 00000 Combination Treatments
0001000061 0000000001 0000000007 0000000014 ME TEXT OOOOOOOOOO 01 ENG 00000 Skin Allergies and Eczema
0900019547 0001000061 oooooooooi oooooooooo AMI PHOTO 0000000792 30 ENG 00000 Skin Allergies and Eczema
0001000062 0001000061 0000000002 oooooooooi ME TEXT oooooooooo 01 ENG 00000 GETTING TO THE ROOT OF HIVES
0900019549 0O01000062 OOOOOOOOOI oooooooooo AMI PHOTO 0000010493 30 ENG 00000 Hives: Causes
0001000063 0001000061 0000000003 oooooooooi MC TEXT OOOOOOOOOO 01 ENG 00000 ALLERGIC ECZEMA
0900019783 0001000063 OOOOOOOOOI oooooooooo AMI PHOTO 0000000793 30 ENG 00000 Dermatitis treatment
0001000064 0001000061 0000000004 oooooooooi ME TEXT OOOOOOOOOO 01 ENG 00000 CONTACT DERMATITIS
0900019552 0001000064 OOOOOOOOOI oooooooooo AMI PHOTO 0000012914 30 ENG 00000 Contact dermatitis
0001100065 0001000061 0000000005 0000000003 ME TEXT OOOOOOOOOO 01 ENG 00000 Traditional Treatments
CΛ OOOOOOOOOI a 0001000065 0001100065 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Avoidance
0001000066 0001100065 0000000002 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Epinephπne and Emergency Room
03 Treatment Λ
H 0001000067 0001100065 0000000003 oooooooooo MC TEXT OOOOOOOOOO 01 ENG 00000 Medications
0001100068 0001000061 0000000006 0000000007 ME TEXT OOOOOOOOOO 01 ENG 00000 Alternative Treatments H 0001000068 0001100068 OOOOOOOOOI 0000000002 ME TEXT OOOOOOOOOO 01 ENG 00000 Hydrotherapy
H 0900019553 0001000068 OOOOOOOOOI oooooooooo ΛMI PHOTO 0000011511 30 ENG 00000 llydrotherapy W 0900019555 0001000068 0000000002 oooooooooo AMI PHOTO 0000013921 30 ENG 00000 Chamomi le
0001000069 0001100060 0000000002 0000000010 MC TEXT oooooooooo 01 ENG 00000 Herbal Treatments
CΛ 0001000180 0001000069 OOOOOOOOOI oooooooooo ML TEXT oooooooooo 01 ENG 00000 Buidock «
H 0001000181 0001000069 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Black Currant Oil M 0001000182 0001000069 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Black Walnut
H 0001000183 0001000069 0000000004 oooooooooo HE TEXT oooooooooo 01 ENG 00000 Evening Primrose Oil
0001000184 0001000069 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Calendula (Pot Marigold)
0001000185 0001000069 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Chickweed
S 0001000186 0001000069 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Golden Seal r 0001000187 0001000069 0000000008 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Oregon Grape w 0001000188 0001000069 0000000009 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Yellow Dock ) 0001000189 0001000069 0000000010 oooooooooo MC TEXT oooooooooo 01 ENG 00000 Red Clover
0001000070 0001100068 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Homeopathy
0001000071 0001100068 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Diet and Nutrition
0001000072 0001100068 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Reflexology
0001000073 0001100068 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Acupressure
0001000074 0001100068 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Meditation
0001000075 0001000061 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Combined Treatments
0001000076 0001000061 0000000008 0000000008 HE TEXT oooooooooo 01 ENG 00000 FOOD ADDITIVE ALLERGIES
0900019558 "0111000076 OOOOOOOOOI oooooooooo ΛMI PHOTO 0000010528 30 ENG 00000 Food additive allergies
0001000190 0001000076 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Aspartame
0001000101 00"1000076 0000000003 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 BHT/BHA
0001000192 0001000076 0000000004 oooooooooo ME TEXT oooooooooo 01 FNG 00000 Monosodium Glutamate (MSG)
00010001 'M 0O01000076 0000000005 oooooooooo HE TEXT oooooooooo 01 ENG 00000 Nitrate/Nitrites
0001000114 0001000076 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Parabens
0001000195 0001000076 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Sulfites
000100)1^6 0001000076 0000000008 oooooooooo ME TEXT oooooooooo 01 ENG 00000 FD &amp; C Yellow No. 5
00010000/7 0001000061 0000000009 oooooooooo ME TEXT oooooooooo 01 ENG 00000 ORAL ALLERGY SYNDROME
0001000078 0001000061 0000000010 oooooooooo ME TEXT oooooooooo 01 ENG 00000 LEAKY GUT SYNDROME
0001000079 0001000061 00000O0011 oooooooooo ME TEXT oooooooooo 01 ENG 00000 LIVER DETOXIFICATION AND FOOD ALLERGY
0001100080 0001000061 0000000012 oooooooooi ME TEXT oooooooooo 01 ENG 00000 Traditional Treatments
0001000080 0001100080 OOOOOOOOOI 0000000006 ME TEXT oooooooooo 01 ENG 00000 Diagnosis
0900019780 0001000080 oooooooooi oooooooooo ΛMI PHOTO 0000004310 30 ENG 00000 Scratch test
0001000197 0001000080 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Skin Testing
00C1000198 0001000080 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Elimination Diet
0001000199 0001000080 0000000004 oooooooooo ME TEXT OOOOOOOOO 01 ENG 00000 Offending Food
0001000200 0001000080 000000O005 0000000002 ME TEXT OOOOOOOOOO 01 ENG 00000 Nutritional Substitutes
0001100200 0001000200 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG 00000 Egg Substitutes
0001200200 0001000200 000000OO02 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Dairy Replacements
0001000201 0001000080 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Epinephπne
0001100081 0001000061 0000000013 0000000004 ME TEXT oooooooooo 01 ENG 00000 Alternative Tieatments
0001000081 0001100081 OOOOOOOOOI 0000000007 ME TEXT oooooooooo 01 ENG 00000 Testing for Food Allergies
0001000202 0001000081 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG 00000 Food Cytotoxic Blood Test
0001000203 0001000081 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 The Pulse Test
Figure imgf000163_0001
κ> 0001000086 0001000085 OOOOOOOOOI 0000000005 ME TEXT oooooooooo 01 ENG 00000 FOOD INTOLERANCE
0001000087 0001000086 OOOOOOOOOI oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Fructose Intolerance
0001000089 0001000086 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Sucrose Intolerance
0001000090 0001000086 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Maltose Intolerance
0001000091 0001000086 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Additives
0001000092 0001000086 0 O00 00 5 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Other causes of food sensitivities
0001100093 0001000085 0000000002 0000000003 ME TEXT oooooooooo 01 ENG 00000 Traditional Treatments
0001000093 0001100003 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG 00000 Diagnosis
0001000094 0001100093 0000000002 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Adjusting Yout Diet
0001000095 0001100093 000 O0O O oooooooooo ME TEXT oooooooooo 01 ENG 00000 Nonprescπpl ion medications
0001100006 0001000085 OOOOOOOO I 0000000005 MC TEXT oooooooooo 01 ENG 00000 Alternative Tieatments
0001000096 0001100096 oooooooooi oooooooooo ME TEXT- oooooooooo 01 ENG 00000 Bteath Hydiogen/Methane Testing
0001000007 11O0096 0000000002 oooooooooi ME TEXT ooooooooo 01 ENG 00000 Alternative Health Care Provider
0001000239 0001000097 OOOOOOOOOI oooooooooo ME TEXT- oooooooooo 01 ENG 00000 Acupressure
0001000098 0001100096 00000000(13 0000000006 ME TEXT oooooooooo 01 ENG 00000 Herbal Treatments
0001000214 0001000090 OOOOOOOOOI oooooooooo MC TEXT- oooooooooo 01 ENG 00000 Peppermint Tea
0001000215 0001000098 0000000002 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Chamomile
0001000216 0001000098 0000000003 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Ginger
0001000217 0001000098 0000000004 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Slippery Elm
0001000218 0001000098 0000000005 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Golden Seal
0001000219 0001000098 0000000006 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Meadowsweet
0001000099 0001100096 0000000004 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Diet and Nutrition
0001000100 0001100096 0000000005 oooooooooo ME TEXT OOOOOOOOOO 01 ENG 00000 Homeopathic Remedies
0001100101 0001000085 0000000004 OOOOOOOOOO ME TEXT OOOOOOOOOO 01 ENG 00000 Combined Treatments
0001000101 OOOOOOOOOI 0000000009 0000000004 ME TEXT oooooooooo 01 ENG 00000 Industrial and Environmental
Allergies
0001000102 0001000101 OOOOOOOOOI oooooooooo ME TEXT- oooooooooo 01 ENG 00000 WHAT CAUSES INDUSTRIAL AND INORGANIC
ALLERGIES?
0001100103 0001 000101 0000000002 0000000005 ME TEXT oooooooooo 01 ENG 00000 Traditional Treatments
0001000103 0001100103 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG 00000 Physical Examinations
0001000104 0001100103 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Skin Testing
0001000105 0001100103 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Journal/Daily Log
0001000106 0001100103 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Immunotherapy (allergy injections)
0001000107 0001100103 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Avoidance
0001100108 0001000101 0000000003 0000000002 ME TEXT oooooooooo 01 ENG 00000 Alternative Treatments
0001000108 0001100108 OOOOOOOOOI 0000000003 ME TEXT oooooooooo 01 ENG 00000 Diagnosis
0001000220 0001000108 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG 00000 Intracutaneous One-to-Five Serial
Dilution Titration
0001000221 0001 000108 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Clinical Titration
0001000222 0001000108 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Functional Liver Detoxification
Profile
0001000109 0001100108 0000000002 0000000003 ME TEXT oooooooooo 01 ENG 00000 Various Therapies
Figure imgf000164_0001
0001000223 0001000109 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG 00000 Massage
CΛ 0001000224 0001000109 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Herbal Treatments
S3 oooooo ME TEXT w 0001000225 0001000109 0000000003 oooo oooooooooo 01 ENG 00000 Hydrotherapy w 0001100110 0001000101 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG 00000 Combined Treatments
H 0001000110 OOOOOOOOOI 0000000010 0000000008 ME TEXT oooooooooo 01 ENG 00000 Juvenile Allergies
0001000111 0001000110 OOOOOOOOOI OOOOOOOOOI ME TEXT oooooooooo 01 ENG 00000 EXPLORING THE ROOTS OF JUVENILE
ALLERGIES
G 0900019563 0001000111 OOOOOOOOOI OOOOOOOOOO AMI PHOTO 0000059076 30 ENG 00000 Allergy testing: Juvenile r 0001000112 0001000110 0000000002 OOOOOOOOOI ME TEXT oooooooooo 01 ENG 00000 MILK ALLERGY AND LACTOSE INTOLERANCE w 0900019782 0001000112 OOOOOOOOOI OOOOOOOOOO AMI PHOTO 0000011619 30 ENG 00000 Breast milk
0001000113 0001000110 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG 00000 SKIN ALLERGIES
0001000114 0001000110 0000000004 oooooooooi ME TEXT oooooooooo 01 ENG 00000 ALLERGIC RHINITIS AND HAY FEVER
0900019564 0001000114 OOOOOOOOOI oooooooooo AMI PHOTO 0000008520 30 ENG 00000 Hay fever: Juveniles
0001000115 0001000110 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG 00000 FOOD ALLERGY
000110011b 0O01000110 0000000006 OOOOOOOOOI ME TEXT oooooooooo 01 ENG ooooo Traditional Treatments
0001000116 0001100116 OOOOOOOOOI 0000000007 ME TEXT oooooooooo 01 ENG 00000 Medications
0001000226 0001000116 OOOOOOOOOI oooooooooo ME TEXT- oooooooooo 01 ENG ooooo Corticosteroid Nasal Sprays
0001000227 0001000116 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Nasal Corticosteroids
0001000228 0001000116 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Λntihlstamines
0001000229 0001000116 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Cromolyn Sodium Nasal Sprays
0001000230 (1001000116 0000000005 oooooooooo HE TEXT oooooooooo 01 ENG ooooo Hydrocortisone
0001000231 0001000116 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Decongestants
0001000232 0001000116 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Immunotherapy (Allergy Shots)
0001100117 0001000110 0000000007 0000000003 ME TEXT oooooooooo 01 ENG ooooo Alternative Treatments
0001000117 0001100117 OOOOOOOOOI 0000000004 ME TEXT oooooooooo 01 ENG ooooo Herbal Treatments
0001000233 ooυioooiπ OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Ginger
0001000234 0001000117 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG oooo Calendula (Pot Marigold)
0001000235 0001000117 0000000003 OOOOOOOOOO ME TEXT oooooooooo 01 ENG OOOOO Comfrey
0001000236 0001000117 0000000004 OOOOOOOOOO ME TEXT oooooooooo 01 ENG OOOOO Burdock
0001000118 0001100117 0000000002 OOOOOOOOOO ME TEXT oooooooooo 01 ENG OOOOO Diet and Nutrition
0001000120 0001100117 0000000003 OOOOOOOOOO ME TEXT oooooooooo 01 ENG OOOOO Homeopathy
0001100237 0001000110 0000000008 OOOOOOOOOO ME TEXT- oooooooooo 01 ENG OOOOO Combined Treatments
0001000237 OOOOOOOOOI 0000000011 OOOOOOOOOO ME TEXT oooooooooo 01 ENG OOOOO Appendix: Resources and Organizatio
0001000121 OOOOOOOOOI 0000000012 OOOOOOOOOO ME TEXT oooooooooo 01 ENG OOOOO Glossary
0999999999 OOOOOOOOOI 0000000013 oooooooooo MB TEXT oooooooooo 01 ENG OOOOO Copyright and Use of Text and
Multimedia Content
0999999998 4294967295 4294967295 4294967295 MB TEXT oooooooooo 01 ENG ooooo Overview
03 CΛ
H
H Cl H W
CΛ S w
W
H
r w
ON
The Library table 493 is typically filled with results representing the individual user's library. The bookstat field is also termed the BS field. The newstat field is also termed the NS field. The Booktype field is also termed the BT field. The DOtype field is also termed the DO field. The Tabletype field is also termed the TB field. The Bookpath field is also termed the PATH field. The Tempname field is also termed herein the TEMPLATE field. As shown, the user's library includes only two books. An example of a Library table 493 is as follows:
ID BS NS BT DO TB PATH TEMPLATE ISBN NAME
OOOOOOOOOI 00 0 000 0 011 0 011 2 200 0 0--88334433--00110033--22 R Reeffeerreennccee 0-8343-0103-2 Funk & Wagnalls Encyclopedia
0000000002- 00 0000 0011 0011 2200 00--551177--1188006699--33 RReeffeerreennccee 0-517-18069-3 Concise Dictionary of Great 20th
Century Biographies
An example of a Query String Results table 423, filled with data which represents results of queries performed on the above-referenced book entitled "Treating asthma...", is as follows:
Name Count press 1 nutrition 1 form 6 department 1 new 2 york 1 college 1 president 1 council 1 medicine 9 date 2 back 4 history 6 base 4 magic 1 folk 1 old 2 tale 1 surgery 1 natural 5 chemical 4 research 2 human 2 health 26 movement 1 medical 6 procedure 1 great 4 illness 2 people 10 asthma 30 fact 4 cough 5 life 2 first 7 record 5 reaction 5 food 27 father 1 power 4 observation 1 cheese 2 individual 4 skin 17 allergy 10 range 1 condition 6 general 4
Figure imgf000169_0001
tissue 2 fever 3 mouth 2 word 1 rose 1 smell 1 chest 5 star 2 common 16
Figure imgf000170_0001
exercise 3 breathing 6 chronic 5 circle 2 sleep 1 order 2 stage 1 diagnosis 4 physical 7 doctor 7 weight 2 treatment 12 measure 4 i"-_τιune 8 system 11 body 20 infection 4 cat 1 plant 1 stomach 5 herb 7 world 1 long 5 root 2 principle 1 electromagnetic force 1 series 1 conductor 1 energy 2 organ 4 emotion 5 spirit 1 national 1 institute 1 grant 2 prayer 1 drug 3 abuse 1 program 3 mass 3 method 5 stress 13 management 1 chance 2 import 3 defense 1 spinal 1 nervous 1 muscle 2 current 1 disease 2 infant 5 children 16 age 1 american 1 environment 3 climate 2 high 2 substance 3 house 1 dust 6 period 1 time 3 solution 4 hand 2 sinus 2 bacteria 1 acid 1 response 1 play 1 fear 1 pattern 1 smoke 1 oαor 1
Figure imgf000171_0001
pollution 1 lung 4 rain 1 hot 2 draft 1 red 3 school 1 official 2 education 1 nurse 1 peak 1 instrument 1 foundation 1 sound 1 right 2 matter 1 trial 1 inflammation 2 antibiotics 2 combat 2 act 1 emergency 2 poker 1 therapy 3 psychotherapist arsenic 1 store 1 pressure 4 fungus 1 family 2 passage 3 fuel 1 society 1 eating 1 formula 1 mental 1 balance 2 technique 2 toxic 2 extreme 2 spring 1 crust 1 soap 1 fortune 1 temperature 1 solvent 1 earl 2 bloc 1
Figure imgf000172_0001
oxide 1 consul 2 product 2 diet 6 sense 1 jewelry 1 cloth 1 way 3 color 1 shape 1 additive 2 day X oral 1 vegetable 1 parsley 1 formation 1 leaα 2 nutrient 1 particle 1 liver 1 monkey 1 examination 3 blood 2 field 1 controversy 1 tea 1 commercial 2 indigestion 1 gas 2 milk 5 drink 1 fruit 2 sugar 2 enzyme 2 glucose 2 disorder 2 cancer 1 reason 1 degree 1 relief 1 powder 1 hydrogen 1 standard 1 carbohydrate 1 laboratory 2 north 1
Carolina 1 digestive 1 home 1 water 1 foreign 1 elderly 1 fine 1 pain 1 tool 1 industrial 1 inorganic 1 design 1 parent 2 eye 1 penicillin 1 sulfur 1 insulin 1 moth 1 nature 1 interest 1 custom 1
The Preferences table 804 is a general table which is filled with data which represents general user preferences. An example of a Preferences table 804 is as follows:
Name Value language English BinderTitle <CENTER>
<P>
<BR>
<BR>
<Hl>Contents of '*VB NAME OF ITEM**</H1>
<BR>
<BR>
</CENTER>
BinderArticleBegin <LEFT>
<BR>
<BR>
<H3>**VB_NUMBER_OF_ARTICLE** . **VB_NAME_OF_ITEM**</H3>
<H4> (**VB_NAME_OF_BOOK**) </H4>
</LEFT>
<BR>
<BR>
BinderABeginWP <LEFT>
<BR>
<BR>
<H3>**VB_NUMBER_OF_ARTICLE** . **VB_NAME_OF_ITEM** **VB_NAME_OF_PARENT**</H3>
<H4> (**VB_NAME_OF_BOOK**) </H4>
</LEFT>
<BR>
<BR>
BinderTCEntry <LEFT> <H3>**VB_NUMBER_OF_ARTICLE** . **VB_NAME_OF_IT M** . </H3> </LEFT>
BindTCΞntryWP <LEFT>
<H3>**VB_NUMBER_OF_ARTICLE** . **VB_NAME_OF_ITEM** * *VB_NAME_OF_PARENT* * . </H3>
</LEFT>
BinderAEnd <CENTER> <P>
<BR> <BR> <BR> <BR> <HR> <BR> <BR> </CENTER>
Flashpix HLink Link File Contents <HTML>
<HEAD>
</HEAD>
<BODY BACKGRODND="**attributes**">
<SCRIPT LANGUAGE="JavaScript"> location. href="**Kovetz**"
</SCRIPT>
</BODY>
</HTML> Internet Media CGI http : //cgi . versabook . com/scripts/redirectcgi . exe?functio n=getmedia&MediaDBID=**MediaDBaidee**&RegistrationID=**aidee**&Embed=**kenθlo**& Format=**Sug** Versabook Server URL vbeng . versaboo . co.il Downloads URL downloads Al Hapanim 30 SaveArticle 0 AddToCurrentBinder 0 MultipleWords 2 MediaHyperLinks 1 SubArticles 1 ScoreMethod 1 Exe Download CGI cgi . versabook. com/sc ipts/redirectcgi . exe?function=downl oad&RegistrationID=**aidee**&CurrentVersion=**version**
UpdateRepor Date 03/10/1998
LibView 2
HistListSize 50
StartUpMode 1
ArticlelD 1
BooklD 1
LastMDBID 0
LastDateNoLine 02/24/1998
BrowserFontSize 2
TextHyperLinks 1
ToolButtonSounds 1
Automa icϋpdate 0
NoLineAlertStatus 0
NoLineAlertTi e 0
Versabook Server Nam Versabook Bookstore
Active Store Name versabook. versabook. co.il
Active Store URL versabook. ersabook. co.il
FullTextOptions 1
SortingOrder 2
MaxSearchHits 1000
TopNumberOfHits 100
Bookstore Name Versabook Bookstore
3ookstore Name versabook.versabook.co.il
3ookstore URL http : //cgi .versabook. com/scripts/redirectcgi . exe?func io n=signin&RegistrationID=**aidee** Bookstore URL vbeng.versabook.co.il
An example of a Tree Table 401, filled with data which represents the tree structure of the above- referenced book entitled "treating asthma...", now follows:
Figure imgf000179_0001
c o o o o s_ o o
> o o o o
(β O U U U U (3 CD z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
LO LO L LO LO LO LO LJ uO ω LO U LO LO ω ω uO ω LO ω uO LO LO LO LO LO ω LO
=3 Q o o o o o o o o o o o o o o
ε- x
Figure imgf000179_0002
ε-
0) ω
Figure imgf000179_0003
ε 3 o o o o o o o O O O O O O O O O O O O o o
5E o o o o o o o O O O O O O O O o o o o o o ' O O O O O O C o o o o
O O O O O O O O o o o o o o o o o o o o o o o o o o o
"D c o o o o o o o o o o o o o O O O O O O O o o o o o o > o o o o o o o o o o o o
, o o o o o o o O O O O O O O O O O O C " " o o o o o o o o o o o o o o o o o o o O O O O O O O O O O O O O ' O O O O O O O O O O O O ϋϋ o o o o o o o O O O O O O O O O O o o o o O O O O O O O O O o o o o o o o o o O O O O O O O O o o o o o o O O O O O O O O O O O O d o o o o o o o O O O O O O O O o o o o o o O O O O O O O O O O O O
Figure imgf000179_0004
0900019811 0001000019 OOOOOOOOOI oooooooooo AMI PHOTO 0OOUO18266 30 ENG OOOOO Asthma: Inhaler
0001000138 0001000019 0000000002 oooooooooo ME TEXT OOOOOOOOO 01 ENG OOOOO Evlronmental Changes
0001000139 0001000019 0000000003 oooooooooo ME TEXT OOOOOOOOOO 01 ENG OOOOO Medication
0001000140 0001000019 0000000004 oooooooooo ME TEXT OOOOOOOOOO 01 ENG OOOOO Immunotherapy (Allergy Injections)
0001000141 0001000019 0000000005 oooooooooo ME TEXT OOOOOOOOOO 01 ENG OOOOO Sinus Care
0001100020 0001000014 0000000004 0000000008 ME TEXT oooooooooo 01 ENG OOOOO Alternative Treatments
0001000020 0001100020 OOOOOOOOOI 0000000002 ME TEXT oooooooooo 01 ENG OOOOO Diet and Nutrition
0900019507 0001000020 OOOOOOOOOI oooooooooo AMI PHOTO 0000013458 30 ENG OOOOO Diet and Nutrition
0900019517 0001000020 0000000002 oooooooooo AMI PHOTO 0000071290 30 ENG ooooo Diet and Nutrition: Green tea
0001000021 0001100020 0000000002 0000000011 ME TEXT OOOOOOOOOO 01 ENG ooooo Herbal medicine
0900019520 0001000021 OOOOOOOOOI oooooooooo AMI PHOTO 0000015357 30 ENG ooooo Herbal medicine: Sage
0900019521 0001000021 0000000002 oooooooooo AMI PHOTO 0000015537 30 ENG ooooo Herbal medicine. Eucalyptus
0900019522 0001000021 0000000003 oooooooooo AMI PHOTO 0000047011 30 ENG ooooo Herbal medicine: Ginseng
0001000142 0001000021 0000000004 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Siberian Ginseng
0001000143 0001000021 0000000005 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Mullein
U001000021 0000000006 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Fenugreek
0001000021 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Catnip
0001000021 0000000008 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Sage
0001000021 0000000009 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Passion Flower
0001000021 0000000010 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Eucalyptus
0001000021 0000000011 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Angelica
0001100020 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Acupuncture
0001100020 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Psychotherapy
0001100020 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Osteopathy
0001100020 0000000006 OOOOOOOOOI ME TEXT oooooooooo 01 ENG ooooo Massage
0001000025 OOOOOOOOOI OOOOOOOOOO AMI PHOTO 0000075398 30 ENG ooooo Massage
0001100020 0000000007 0000000003 ME TEXT oooooooooo 01 ENG ooooo Homeopathy
0001000026 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Yoga
0001000026 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo The Mountain
0001000026 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo The Complete Breath
0001100020 0000000008 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Chiropractic
0001000014 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Combined Treatments
OOOOOOOOOI 0000000005 0000000009 ME TEXT oooooooooo 01 ENG ooooo Juvenile Asthma
Figure imgf000180_0001
0001000028 OOOOOOOOOI oooooooooo AMI PHOTO 0000058989 30 ENG ooooo Juvenile Asthma
0900019529 0001000028 0000000002 oooooooooo AMI PHOTO 0000069548 30 ENG ooooo Juvenile Asthma
ON 0900019530 0001000028 0000000003 oooooooooo AMI PHOTO 0000074454 30 ENG ooooo Juvenile Asthma
0001000029 0001000028 0000000004 0000000008 ME TEXT oooooooooo 01 ENG ooooo WHAT TRIGGERS AN ASTHMA ATTACK?
0001000030 0001000029 OOOOOOOOOI 0000000004 ME TEXT oooooooooo 01 ENG ooooo Allergies
0900019531 0001000030 OOOOOOOOOI oooooooooo AMI PHOTO 0000008524 30 ENG ooooo Allergies
0900019532 0001000030 0000000002 oooooooooo AMI PHOTO 0000013763 30 ENG ooooo Allergies
0900019533 0001000030 0000000003 oooooooooo AMI PHOTO 0000059069 30 ENG ooooo Allergies
0001000152 0001000030 0000000004 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Food Allergies
0001000031 0001000029 0000000002 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Exercise
0001000032 0001000029 0000000003 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Upper Respiratory Infections
0001000033 0001000029 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Sinusitis
0001000034 0001000029 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Gastroesophageal Reflux
0001000035 0001000029 0000000006 0000000002 ML TEXT oooooooooo 01 FNG ooooo Emotions and St t ess
0900019534 0001000035 OOOOOOOOOI oooooooooo AMI PHOTO 0000072264 30 ENG ooooo Emotions and Stress
0900019535 0001000035 0000000002 oooooooooo AMI PHOTO 0000075399 30 ENG ooooo Emotions and Stress
0001000036 0001000029 0000000007 oooooooooi ME TEXT OOOOOOOOOO 01 ENG ooooo Environmental Factors
0900019536 0001000036 OOOOOOOOOI oooooooooo AMI PHOTO 0000057451 30 ENG ooooo Environmental Factors
0001000037 H001000029 0000000008 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Weather Conditions
0001000038 0001000028 0000000005 0000000002 ME TEXT oooooooooo 01 ENG OOOOO THE INFANT WITH ASTHMA
0900019537 0001000038 OOOOOOOOOI oooooooooo AMI PHOTO 0000012631 30 ENG OOOOO THE INFANT WITH ASTHMA
0900019538 0001000038 0000000002 oooooooooo AMI PHOTO 0000075649 30 ENG OOOOO THE INFANT WITH ASTHMA
0001000039 0001000028 0000000006 oooooooooo ME TEXT OOOOOOOOOO 01 ENG OOOOO THE CHILD AT SCHOOL
0001100040 0001000028 0000000007 0000000007 ME TEXT OOOOOOOOOO 01 ENG OOOOO Traditional Treatments
0001000040 0001100040 OOOOOOOOOI oooooooooo ME TEXT OOOOOOOOOO 01 ENG OOOOO Peak Flow Meters
0001000041 0001100040 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Environmental Changes
0001000042 0001100040 0000000003 0000000006 ME TEXT oooooooooo 01 ENG OOOOO Medications
0001000153 0001000042 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Inhaled Medications
0001000154 0001000042 0000000002 oooooooooo ME TEXT OOOOOOOOOO 01 ENG OOOOO Cromol yn
0001000155 0001000042 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Corticosteroids (steroids)
0001000156 0001000042 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Inhaled steLOids
0001000157 0001000042 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Oral steroids
0001000158 0001000042 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Bronchodilators
0001000U43 0001100040 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Immunotherapy (Allergy Injections)
0001000044 0001100040 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Sinus Care
CZ! d 0001000045 0001100040 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Emergency Care
0001000047 0001100040 0000000007 w oooooooooo ME TEXT oooooooooo 01 ENG ooooo Psychotherapy
0001100048 0001000028 0000000008 0000000003 ME TEXT Λ oooooooooo 01 ENG ooooo Alternative Treatments
H 0001000048 0001100048 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Herbal Treatments
0001000049 0001100048 0000000002 oooooooooi ME TEXT oooooooooo 01 ENG ooooo Homeopathy
H 0900019539 0001000049 OOOOOOOOOI oooooooooo AMI PHOTO 0000012543 30 ENG ooooo Homeopathy C! 0001000050 0001100048 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Acupressure H 0001100051 0001000028 0000000009 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Combination Treatments W 0001000051 OOOOOOOOOI 0000000006 0000000005 ME TEΛT oooooooooo 01 ENG ooooo Hay Fever and Allergic Rhinitis
CΛ 0900019540 0001000051 OOOOOOOOOI oooooooooo AMI PHOTO 0000050949 30 ENG ooooo Hay fevei: Pollen
K 0900019781 0001000051 0000000002 oooooooooo AMI PHOTO 0000069547 30 ENG tn ooooo Hay fever w 0001100052 0001000051 0000000003 0000000002 ME TEXT oooooooooo 01 ENG ooooo Traditional Treatments
H 0001000052 0001100052 OOOOOOOOOI 0000000005 ME TEXT oooooooooo 01 ENG ooooo Diagnosing Your Allergy
0001000159 0001000052 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Prick Test so 0001000160 0001000052 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Nasal Smear
0001000161 0001000052 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Scratch Test r 0001000162 0001000052 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Intradermal
H 0001000163 0001000052 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Blood Tests
0001000053 0001100052 0000000002 0000000003 ME TEXT oooooooooo 01 ENG ooooo The Three Basic Therapies
0001000164 0001000053 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Avoidance
0001000165 0001000053 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Immunotherapy
0001000166 0001000053 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Medications
0001100054 0001000051 0000000004 0000000007 ME TEXT oooooooooo 01 ENG ooooo Alternative Treatments
0001000054 0001100054 OOOOOOOOOI OOOOOOOOOI ME TEXT oooooooooo 01 ENG ooooo Acupuncture
0900019542 0001000054 OOOOOOOOOI OOOOOOOOOO AMI PHOTO 0000053829 30 ENG ooooo Acupuncture
0001000055 0001100054 0000000002 0000000010 ME TEXT oooooooooo 01 ENG ooooo Herbal Treatments
0001000167 0001000055 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Stinging Nettle
0001000168 0001000055 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Angelica
0001000169 0001000055 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Elder
0001000170 0001000055 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Ginkgo
0001000171 0001000055 0000000005 oooooooooo ME TEXT ooooooooo 01 ENG ooooo Herbal Teabags
0001000172 0001000055 0000000006 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Sandalwood and Pine Steam Treatment
0001000173 0001000055 0000000007 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Sandalwood Oil
OOO1O0O174 0001000055 0000000008 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Bayberry
0001000175 0001000055 0000000009 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Fenugreek
0001000176 0001000055 0000000010 oooooooooo ME TEXT ooooooooo 01 ENG ooooo Mullein
0001000056 0001100054 0000000003 0000000004 ME TEXT OOOOOOOOOO 01 ENG OOOOO Diet and Nutritional Supplements
0900019631 0001000056 OOOOOOOOOI oooooooooo AJ4I PHOTO 0000008861 30 ENG OOOOO Nutrition: Oranges
0001000177 0001000056 0000000002 oooooooooo ME TEXT OOOOOOOOOO 01 ENG OOOOO Mi so Soup
0001000178 0001000056 0000000003 oooooooooo ME TEXT OOOOOOOOOO 01 ENG OOOOO Horseradish
0001000179 0001000056 0000000004 oooooooooo ME TEXT OOOOOOOOOO 01 ENG OOOOO Cider Vinegar
0001000057 0001100054 0000000004 oooooooooi ME TEXT oooooooooo 01 ENG OOOOO Meditation
0900019544 0001000057 OOOOOOOOOI oooooooooo AMI PHOTO 0000057448 30 ENG OOOOO Meditation
0001000058 0001100054 0000000005 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Homeopathic allergy remedies
0001000059 0001100054 0000000006 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Acupressure
0001000060 0001100054 0000000007 oooooooooi ME TEXT OOOOOOOOOO 01 ENG ooooo Reflexology
0900019546 0001000060 OOOOOOOOOI oooooooooo AMI PHOTO 0000050576 30 ENG ooooo Reflexology
0001100061 0001000051 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Combination Treatments
0001000061 OOOOOOOOOI 0000000007 0000000014 ME TEXT oooooooooo 01 ENG ooooo Skin Allergies and Eczema
0900019547 0001000061 OOOOOOOOOI oooooooooo AMI PHOTO 0000000792 30 ENG ooooo Skin Allergies and Eczema
0001000062 0001000061 0000000002 oooooooooi ME TEXT OOOOOOOOOO 01 ENG ooooo GETTING TO THE ROOT OF HIVES
0900019549 0001000062 OOOOOOOOOI oooooooooo AMI PHOTO 0000010493 30 ENG ooooo Hives: Causes Z) 0001000063 0001000061 0000000003 OOOOOOOOOI ME TEXT OOOOOOOOOO 01 ENG ooooo ALLERGIC ECZEMA
0900019783 0001000063 OOOOOOOOOI OOOOOOOOOO AMI PHOTO 0000000793 30 ENG ooooo Dermatitis treatment
0001000064 0001000061 0000000004 OOOOOOOOOI ME TEXT OOOOOOOOOO 01 ENG ooooo CONTACT DERMATITIS Z! 0900019552 0001000064 OOOOOOOOOI OOOOOOOOOO AMI PHOTO 0000012914 30 ENG ooooo Contact dermatitis
H 0001100065 0001000061 0000000005 0000000003 ME TEXT OOOOOOOOOO 01 ENG
I—I ooooo Traditional Treatments
H 0001000065 0001100065 OOOOOOOOOI oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Avoidance CU 0001000066 0001100065 0000000002 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Epinephrine and Emergency Room H Treatment tn 0001000067 0001100065 0000000003 oooooooooo ME TEXT OOOOOOOOOO 01 ENG ooooo Medications
CZ) 0001100068 0001000061 0000000006 0000000007 ME TEXT OOOOOOOOOO 01 ENG ooooo Alternative Treatments
0001000068 0001100068 OOOOOOOOOI 0000000002 ME TEXT OOOOOOOOOO 01 ENG ooooo Hydrotherapy w 0900019553 0001000068 OOOOOOOOOI oooooooooo A I PHOTO 0000011511 30 ENG ooooo Hydrotherapy w 0900019555 0001000068 0000000002 oooooooooo AMI PHOTO 0000013921 30 ENG ooooo Chamomile
H 0001000069 0001100068 0000000002 0000000010 ME TEXT oooooooooo 01 ENG ooooo Herbal Treatments
0001000180 0001000069 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Burdock
0001000181 0001000069 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Black Currant Oil r 0001000182 0001000069 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Black Walnut tn 0001000183 0001000069 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Evening Primrose Oil » 0001000184 0001000069 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Calendula (Pot Marigold)
0001000185 0001000069 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Chickweed
0001000186 0001000069 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Golden Seal
0001000187 0001000069 0000000008 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Oregon Grape
0001000188 0001000069 0000000009 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Yellow Dock
0001000189 0001000069 0000000010 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Red Clover
0001000070 0001100068 0000000003 oooooooooo MC TEXT oooooooooo 01 ENG ooooo Homeopathy
0001000071 0001100068 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Diet and Nutrition
0001000072 0001100068 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Reflexology
0001000073 0001100068 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Acupressure
0001000074 0001100068 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Meditation
0001000075 0001000061 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Combined Treatments
0001000076 0001000061 0000000008 0000000008 ME TEXT oooooooooo 01 ENG ooooo FOOD ADDITIVE ALLERGIES
0900019558 0001000076 OOOOOOOOOI OOOOOOOOOO AMI PHOTO 0000010528 30 ENG ooooo Food additive allergies
0001000190 0001000076 0000000002 OOOOOOOOOO ME TEXT oooooooooo 01 ENG ooooo Aspartame
0001000191 00O1000076 0000000003 OOOOOOOOOO ME TEXT oooooooooo 01 ENG ooooo BHT/BHA
0001000192 0001000076 0000000004 OOOOOOOOOO ME TEXT oooooooooo 01 ENG ooooo Monosodium Glutamate (MSG)
OOOlOOOliJ 0001000076 0000000005 OOOOOOOOOO ME TEXT oooooooooo 01 ENG ooooo Nitrate/Nitrites
000100019-1 0001000076 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Parabens
0001000195 0001000076 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG OOOO Sulfites
0001000196 0001000076 0000000008 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO FD Samp; C Yellow No. 5
00010000)7 0001000061 0000000009 oooooooooo ME TEXT oooooooooo 01 ENG ooooo ORAL ALLERGY SYNDROME
0001000078 0001000061 0000000010 oooooooooo ME TEXT oooooooooo 01 ENG ooooo LEAKY GUT SYNDROME
0001000079 0001000061 0000000011 oooooooooo ME TEXT oooooooooo 01 ENG ooooo LIVER DETOXIFICATION AND FOOD ALLERG
0001100080 0001000061 0000000012 oooooooooi ME TEXT oooooooooo 01 ENG ooooo Traditional Treatments
0001000080 0001100080 OOOOOOOOOI 0000000006 ME TEXT oooooooooo 01 ENG ooooo Diagnosis
0900019780 0001000080 OOOOOOOOOI oooooooooo AMI PHOTO 0000004310 30 ENG ooooo Scratch test
0001000197 0001000080 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Skin Testing
00C1000198 0001000080 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Elimination Diet
0001000199 0001000080 0000000004 oooooooooo ME TEXT ooooooooo 01 ENG ooooo Offending Food
0001000200 0001000080 0000000005 0000000002 ME TEXT oooooooooo 01 ENG ooooo Nutritional Substitutes
0001100200 0001000200 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Egg Substitutes
0001200200 0001000200 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Dairy Replacements
0001000201 0001000080 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Epinephπne
0001100081 0001000061 0000000013 0000000004 ME TEXT oooooooooo 01 ENG ooooo Alternative Treatments a CZ! 0001000081 0001100081 OOOOOOOOOI 0000000007 ME TEXT oooooooooo 01 ENG ooooo Testing for food Allergies w 0001000202 0001000081 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Food Cytotoxic Blood Test
CZ) 0001000203 0001000081 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo The Pulse Test
H 0001000204 0001000081 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Muscle Response Testing
H 0001000205 0001000081 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Functional Liver Detoxification cl Profile H 0001000206 0001000081 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Intestinal Permeability Test
0001000207 0001000081 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Bacterial Overgrowth Breath Test
CΛ 0001000208 0001000081 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Hydrochloric Acid Test s 0001000082 0001100081 0000000002 0000000003 ME TEXT oooooooooo 01 ENG ooooo Dietary Changes
0900019560 0001000082 OOOOOOOOOI oooooooooo AMI PHOTO 0000074681 30 ENG ooooo Vegetarian diet
0001000209 0001000082 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Rotation Diet
H 0001000210 0001000082 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Vegetarian Diet
0001000083 0001100081 0000000003 oooooooooi ME TEXT oooooooooo 01 ENG ooooo Herbal Tieatments
50 0900019561 0001000083 OOOOOOOOOI oooooooooo AMI PHOTO 0000013447 30 ENG ooooo Herbal Treatments
0001000084 0001100081 0000000004 0000000004 ME TEXT oooooooooo 01 ENG ooooo Alternative Practitioners t"1 0900019562 0001000084 OOOOOOOOOI oooooooooo AMI PHOTO 0000081065 30 ENG ooooo Chiropractor
0001000211 0001000084 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Alternative Health Care Provider
0001000212 0001000084 0000000003 oooooooooo ME TEXT
ON oooooooooo 01 ENG ooooo Homeopathy
0001000213 0001000084 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Chi opractor/Nutrition!st
0001100085 0001000061 0000000014 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Combined Treatments
0001000085 OOOOOOOOOI 0000000008 0000000004 ME TEXT oooooooooo 01 ENG ooooo Food Sensitivities
0001000086 0001000085 OOOOOOOOOI 0000000005 ME TEXT oooooooooo 01 ENG ooooo FOOD INTOLERANCE
0001000087 0001000086 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Fructose Intolerance
0001000089 0001000086 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Sucrose Intolerance
0001000090 0001000086 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Maltose Intolerance
0001000091 0001000086 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Additives
0001000092 0001000086 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Other causes of food sensitivities
0001100093 0001000085 0000000002 0000000003 ME TEXT oooooooooo 01 ENG ooooo Traditional Treatments
0001000093 0001100093 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Diagnosis
0001000094 0001100093 000000U002 oooooooooo ME TEXT ootioooυooo 01 ENG ooooo Adjusting Your Diet
0001000095 0001100093 0000000003 oooooooooo ME TEXT 00(10000000 01 ENG ooooo Nonprescript ion medications
0001100096 0001000085 00000O0UO3 0000000005 ME TEXT oooooooooo 01 ENG ooooo Alternative Treatments
0001000096 0001100096 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Breath Hydiogen/Methane Testing
0001000097 0001100096 0000000002 oooooooooi ME TEXT oooooooooo 01 ENG ooooo Alternative Health Care Provider
0001000239 0001000097 OOOOOOOOOI oooooooooo ME TEXT 00000U0000 01 ENG OOOOO Acupressure 0001000098 0001100096 0000000003 0000000006 ME TEXT OOOOOOOOOO 01 ENG OOOOO Herbal Treatments 0001000214 0001000098 OOOOOOOOOI oooooooooo ME TEXT OOOOOOOOOO 01 ENG OOOOO Peppermint Tea 0001000215 0001000098 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Chamomile
0001000216 0001000098 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Ginger
0001000217 0001000098 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Slippery Elm
0001000218 0001000098 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Golden Seal
0001000219 0001000098 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Meadowsweet
0001000099 0001100096 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Diet and Nutrition
0001000100 0001100096 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Homeopathic Remedies
0001100101 0001000085 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Combined Treatments
0001000101 OOOOOOOOOI 0000000009 0000000004 ME TEXT oooooooooo 01 ENG ooooo Industrial and Environmental
Allergies
0001000102 0001000101 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG OOOOO WHAT CAUSES INDUSTRIAL AND INORGANIC
ALLERGIES'
0001100103 0001 000101 0000000002 0000000005 ME TEXT oooooooooo 01 ENG OOOOO Traditional Treatments
0001000103 0001100103 OOOOOOOOOI
CZ! oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Physical Examinations r* 0001000104 0001100103 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Skin Testing W 0001000105 0001100103 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Journal/ Daily Log
CΛ 0001000106 0001100103 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Immunotherapy (allergy injections)
H 0001000107 0001100103 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Avoidance H 0001100108 0001000101 0000000003 0000000002 ME TEXT oooooooooo 01 ENG OOOOO Alternative Treatments
0001000108 0001100108 OOOOOOOOOI 0000000003 ME TEXT oooooooooo 01 ENG ooooo Diagnosis
H 0001000220 0001000108 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Intracutaneous One-to-Five Serial W Dilution Ti tration CZ) 0001000221 0001 000108 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Clinical Titration
0001000222 0001000108 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Functional Liver Detoxification w Profile w 0001000109 0001100108 0000000002 0000000003 ME TEXT oooooooooo 01 ENG ooooo Various Therapies
H 0001000223 0001000109 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Massage
0001000224 0001000109 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Herbal Treatments
0001000225 0001000109 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Hydrotherapy
0001100110 0001000101 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Combined Treatments r 0000000010 0000000008 ME is 0001000110 OOOOOOOOOI TEXT oooooooooo 01 ENG ooooo Juvenile Allergies
0001000111 0001000110 OOOOOOOOOI OOOOOOOOOI ME TEXT oooooooooo 01 ENG ooooo EXPLORING THE ROOTS OF JUVENILE
ALLERGIES
0900019563 0001000111 OOOOOOOOOI OOOOOOOOOO AMI PHOTO 0000059076 30 ENG ooooo Allergy testing: Juvenile
0001000112 0001000110 0000000002 OOOOOOOOOI ME TEXT oooooooooo 01 ENG ooooo MILK ALLERGY AND LACTOSE INTOLERANCE
0900019782 0001000112 OOOOOOOOOI OOOOOOOOOO ΛMI PHOTO 0000011619 30 ENG ooooo Breast milk
0001000113 0001000110 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo SKIN ALLERGIES
0001000114 0001000110 0000000004 oooooooooi ME TEXT oooooooooo 01 ENG ooooo ALLERGIC RHINITIS AND HAY FEVER
0900019564 0001000114 OOOOOOOOOI oooooooooo AMI PHOTO 0000008520 30 ENG ooooo Hay fever: Juveniles
0001000115 0001000110 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo FOOD ALLERGY
0001100116 0001000110 0000000006 oooooooooi ME TEXT oooooooooo 01 ENG ooooo Traditional Treatments
0001000116 0001100116 OOOOOOOOOI 0000000007 ME TEXT oooooooooo 01 ENG ooooo Medications
0001000226 0001000116 OOOOOOOOOI oooooooooo ME TEXT oooooooooo 01 ENG ooooo Corticosteroid Nasal Sprays
0001000227 0001000116 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Nasal Cort icosteroids
0001000228 0001000116 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Antihistamines
0001000229 U001000116 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Crornolyn Sodium Nasal Sprays
0001000230 0001000116 0000000005 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Hydrocortisone
0001000231 0001000116 0000000006 oooooooooo ME TEXT oooooooooo 01 ENG ooooo Decongestants
0001000232 0001000116 0000000007 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Immunotherapy (Allergy Shots)
0001100117 0001000110 0000000007 0000000003 ME TEXT oooooooooo 01 ENG OOOOO Alternative Treatments
0001000117 0001100117 OOOOOOOOOI 0000000004 ME TEXT oooooooooo 01 ENG OOOOO Herbal Treatments
0001000233 0001000117 OOOOOOOOOI OOOOOOOOOO ME TEXT oooooooooo 01 ENG OOOOO Ginger
0001000234 0001000117 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Calendula (Pot Marigold)
0001000235 0001000117 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Comfrey
0001000236 0001000117 0000000004 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Burdock
0001000118 0001100117 0000000002 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Diet and Nutrition
0001000120 0001100117 0000000003 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Homeopathy
0001100237 0001000110 0000000008 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Combined Treatments
0001000237 OOOOOOOOOI 0000000011 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Appendix: Resources and Organizations
0001000121 OOOOOOOOOI 0000000012 oooooooooo ME TEXT oooooooooo 01 ENG OOOOO Glossary
0999999999 OOOOOOOOOI 0000000013 oooooooooo MB TEXT oooooooooo 01 ENG OOOOO Copyright and Use of Text and
Multimedia Content
0999999998 4294967295 4294967295 4294967295 MB TEXT oooooooooo 01 ENG OOOOO Overview
CZ) a a CZ!
H
H cl H W cz> a
M W H a r w κ>
Figure imgf000185_0001
As shown in the above table, it is seen that the four articles named ARE YOU...., TRADITIONAL ..., ALTERNATIVE... and THE PHYSICIANS'... are represented in records (rows) 3 - 7 in the Tree Table which follows. All of these articles have the same parent ( see parent field second column from left) namely the article whose ID (first column from the left) is 0001000001, i.e. the third article (name = Introduction). Indeed, the table of contents which corresponds to the above table ( see Fig. 64) indicates that this is correct. Conversely, the third article's NUM_CHILD field indicates that the Introduction article has, indeed, 4 children.
Reference is now made to Figs. 65 and 66. Fig. 65 is a simplified block diagram illustration of the book creation tool 120 of Fig. 1. Fig. 66 is a simplified flowchart illustration of a preferred method of operation for the book compiler 112 of Fig. 65 also showing the inputs and outputs to that method. The outputs, in combination, typically form the digital book 100. Some tables, such as Tree and Viewdata tables 401 and 430 in the illustrated embodiment, are developed iteratively in the course of the process and therefore are shown as both inputs and outputs .
Fig. 66 is now described in detail.
The initial inputs to the method of Fig. 66 are attributes.txt file 914 (input to step 950), lib.txt file 916 (input to step 951) and fonts.txt file 915 (input to step 953). Files 914 - 916 are described herein in detail and are typically generated off-line, by keying in the appropriate information.
Raw Documents 180: Raw digital documents may be received in any of three possible conditions:
1. ASCII (uncoded and unformatted text).
2. SGML ( coded but not formatted ) .
3. Standard Word processor (Formatted).
To facilitate the conversion to Master Document 906, a master document processing unit 902 is used which may perform the process described below which includes a filtering step.
Master Document Processing unit 902: Unit 902 preferably includes the following utilities A - Q: A. 902.1 Create File List: Raw documents or books to be compiled come in as a single electronic, typically Word For Windows document, or as many such documents. This program creates a file called (PROJECT NAME).LST which contains the list of files that will be processed. An example of a PROJECT NAME.LST file is the following: "a. oc" "b . doc" "c. doc" "d . doc" "e. doc" " f . doc"
B. 902.2 Combine All Files: This utility combines a selected and ordered list of document files into one big file. For example, "Chaperl.txt", "Chaper2.txt", "Chaper3.txt", "Chaper4.txt", and "Chaper5.txt" get combined into one document and given a name like "book. doc". This utility is used when many electronic files are provided for a single book, or if the book is small and it comes with more than one file.
C. 902.3 SGML to RTF: This process creates an RTF document (Word for Windows-Rich Text Format) file based on an SGML document file. In some cases, documents arrive with proprietary codes. This program allows the proprietary codes to be visually seen and changed.
An example of SGML Input is as follows: <GEODESC>Afghanistan</GEODESC> <GEOxSUBJECT><FIELD>Location</FIELD>
<DATA>Southern Asia, north and west of Pakistan, east of Iran</DATA> </SUBJECT>
<SUBJECT> <FIELD>Geographic coordinates</FIELD> <DATA>33 00 N, 65 00 E </DATA>
An example of RTF Output is as follows: Afghanistan
Location Southern Asia, north and west of Pakistan, east of Iran Geographic coordinates 33 00 N, 65 00 E
D. 902.4a Get Special Character: This process searches all document(s) listed in (PROJECT NAME ). LST for special non-keyboard characters that were coded. These characters can be standard European characters or the publisher's proprietary characters e.g. {Eumlat} might be replaced with E with two dots above it. This program produces a file with a list of codes that represent special characters. If the special character does not exist, then a font must be modified to contain the new character. The list of code representing special characters is placed in a file called C0DES.INI.
An example of a Code Mapping File (which has not been mapped) is as follows: Sample of file "codes.ini" &#259, &#261 &#263 &#268 &#269 &#272 &#273 &#281 &#283 &#287 &#301 &#305 &#321 &#322 &#324 &#328 &#335
E. 902.4b Map Special Char: This process allows the user to assign the font characters to special codes. For example, code {Euml} found in the electronic document may be replaced with an umlaut E( found in Arial font as the 203rd character). This code has an ASCII Value of 203 and is found in a font called Arial. Most electronic documents contain proprietary codes. An example of a Code Mapping File is as follows, where column l=code found, column 2= character value, column 3=font used. As shown, for example, in the second line of the table, special code "&#261;" was found to be the 41st character in a font called "VBRH" .
&#259 ; 97 vbHAC
&#261 ; 41 VBRH
&#263 ; 99 vbACU
&#268 ; 82 vbOXRL
&#269 ; 188 VBRH
&#272 208 Arial
&#273 133 VBRH
&#281 101 vbCD2
&#283, 55 VBRH
&#287, 62 VBRH
&#301, 105 vbHAC
&#305, 74 vbOXRL
&#321; 76 vbOl
&#322; 108 vbOl
&#324; 90 VBRH
&#328; 110 vbHAC
&#335; 165 VBRH
F. 902.4c Replace Special Characters: This process replaces coded text with special characters. After the map file is filled out, this program is run to replace the coded characters with what they actually look like, based on file CODES. INI.
G. 902.5 Copy Titles to Bold: This utility makes a copy of each of the high level titles in a document, and places the information on the first paragraph preceding that title. This is done because in the format described herein, the titles are slightly distant from the text, and the text may not display as a proper sentence. An example of an article where titles were copied to the line below is as follows:
Before
AACHEN
(Fr. Aix-la-Chapelle), city, W central Germany, in North Rhine-Westphalia, near Belgium and the Netherlands. Aachen is known for its excellent mineral springs and has been a health resort since the 1st century AD. The city is an important railroad junction and industrial center.
After
AACHEN
AACHEN (Fr. Aix-la-Chapelle), city, W central Germany, in North Rhine-Westphalia, near Belgium and the Netherlands. Aachen is known for its excellent mineral springs and has been a health resort since the 1st century AD. The city is an important railroad junction and industrial center.
H. 902.6 Bold to Heading: This utility finds bold text that occurs at the beginning of a paragraph in a document, copies it, and makes it into a title. In many cases Hardcopy books display a title as bold text at the beginning of a paragraph. Boldface at the beginning of a sentence may sometimes indicates a subsection.
An example of an article where titles were created from bold text at the beginning of a paragraph is as follows:
Before
ea*gle noun 1 : a large bird of prey related to the hawks 2 : a score of two under par on a hole in golf After
Eagle ea*gle noun 1 : a large bird of prey related to the hawks 2 : a score of two under par on a hole in golf
The above example is an example of where it is desired to subdivide an article into more headings. Boldface at the beginning of a sentence usually indicates a subsection.
I. 902.7 Merge Repeat Titles: This utility combines two or more articles in a document if they share the same title.
J. 902.8 Auto Article ID: This utility gives each Article in a document a nine digit Article ID. The information pertaining to the article ID is stored in a database 903 called LINK.MDB. At this point, i.e. when every title has a unique Article ID, the document is officially a Master Document.
K. 902.9 Auto Hyperlink: Once the LINK.MDB database 903 created by utility 902.8) has been created in the Auto Article ID utility (902.8), Auto Hyperlinking can occur. In many cases the publisher signifies a reference to another title as a phrase in small caps, a phrase in bold, a phrase in italic or a phrase following an astrix. By marking these phrases (e.g., in Word, by making these phrases light green with Word for Window's edit replace feature), it is possible to quickly use what is assumed to be the publisher's references. This utility searches for the marked phrase ( in this example light green text) in an electronic document, checks the database 903 to see if the marked text corresponds to a title, and if found, it creates a hyperlink. A hyperlink is coded with the 9 digit id of the article that it corresponds to. in word for windows, it is displayed as double-underlined text followed by a hidden 9 digit ID corresponding to the article ID that the word or phrase is hyperlinked to.
Coded text(e.g. Light green text) followed by no hidden ARTICLE ID text signifies that the utility could not find any match, and the text remains unlinked. Preferably, the document is searched to see if any of the titles in the database occurs in the document, and if they do, they are hyperlinked.
L. 902.10 Manual Hyperlink: This utility allows a user to highlight a phrase in a Word for Windows document, press a button and hyperlink the phrase to any article in the database 903.
M. 902.11 Remove Hyperlink: This utility unlinks a hyperlink in a document, thereby to remove the special code signifying a hyperlink, and to remove the article ID from the phrase.
N. 902.12 Hyperlink Verifier: This utility verifies that all hyperlinks exist in a document. 0. 902.13 Goto Next Hyperlink: Many hyperlinks may be unresolved in the automatic process. This process allows the user to move the cursor EASILY and highlight the next potential or existing hyperlink in a document without knowing where it is in advance by pressing a button. This tool is able to bring the cursor to any non hyperlinked text that is coded and not already hyperlinked or any linked text which is coded and followed by an article id so that the user can edit/add/delete a hyperlink.
Many hyperlinks may be unresolved in the automatic process. This allows the user to find and highlight the next hyperlink easily and not search the document for it manually with an edit find P. 902.14 Embed GIF: Insert a code in the Master Document which denotes that a Publisher's Proprietary graphic is to be embedded in a specific location. The code refers to a filename (an electronic version of the graphic). These graphics are not in the media database because they only apply to a specific book, and are not shared. The code is { j | !EMBEDDED=<graphic file name> | j } . The code can occur between characters, at the beginning or end of a sentence.
Q. 902.15 Auto email/URL Link: Apply a code in the master document to an email address or URL (World Wide Web Location), so that it will be hyperlinked to that URL or email address.
Article Information Database 903 : This database is filled during the "Insert article ID" stage of 902 and preferably contains the following fields: a. Level Heading: level i.e. hierarchy of title b. Parent ID: Heading Level 1. 9 digit ID in which this article (or sub-article belongs) c. Article ID: 9 digit ID that belongs to this article d. Title: The title of the article e. Title Length: A number that signifies the Length of an article, typically defined as the number of characters in the article. f. Typable Title: The title in characters that are typable on a standard English keyboard (non standard characters are the European character sets @Ahi, etc. ) g. Ignore: Boolean field on whether to ignore this title in an automatic hyperlink search (the title "A" would result in a large number of unwanted hyperlinks ) h. First Para: Text that can be found in the First paragraph of article
One of the outputs of the Master Document Process 902 is an outline of the book, which the master document generation process 902 passes to the Article Information Database 903. The fields in this outline typically comprise: each article's unique ID number; Master Title, which is not necessarily unique; the article's heading level (HI, H2 etc.); the parent ID number for the article the section is a part of, and the first line of the article. The outline is used by the Media Linking Processor 904 and the Keyword and Subject Linking Processor 905, for adding the editorial enhancements to the book.
A typical outline is as follows:
Figure imgf000196_0001
this type affords the reader easy access to any entry, cross-references have been used sparingly-except for Wade-Giles transliterations of Chinese names (which in this book
H2 27000002 27000007 Dates in text. In general, dates following the titles of works indicate the date of first publication. The date following mention of a foreign-language title is the year in which the book was first published in the original language. The dates following play titles
H2 27000002 27000008 Translations in For non-English-language works, the date text. of publication is usually followed by a translation (if the title is not an obvious cognate or a proper name) in roman type. Translations that appear within quotation marks are approximate renderings.
H2 27000002 27000009 Etymologies. Etymologies in this book are meant to provide historical and philological background for the terminology of literary studies. The book provides etymologies for common nouns, such as names of genres, verse forms, and movements, and for some proper nouns,
H2 27000002 27000010 Pronunciation. This book provides pronunciation respellings for most entry words. All personal and geographical names are given phonetic transcriptions when they constitute an entry or occur in a title; respellings are given also for literary terms that appear in I 27000011 27000011 Guide to The following paragraphs set out the
Pronunciation value of the pronunciation symbols in English and other languages. Symbols which are not letters of the English alphabet are listed first. Sounds discussed in the following paragraphs are
Figure imgf000198_0001
Figure imgf000199_0001
which the first letter of each line of a poem or the first letter of the first word of each stanza taken in order forms the
HI 1000014 1000014 Abe Abe \(c)ab-a\ Kobo, byname of Abe Kimifusa (b. March 7, 1924, Tokyo, Japan-d. Jan. 22, 1993, Tokyo) Japanese novelist and playwright noted for his avant-garde techniques and his use of bizarre and allegorical situations to examine the isolation of the
HI 1000015 1000015 Abel Abel \(c)a-b@l\ In the Old Testament, second son of Adam and Eve, who was slain by his older brother, CATN (Genesis 4:1-16). According to Genesis, Abel, a shepherd, offered the Lord the firstborn of his flock. The Lord respected Abel's sacrifice but did
HI 1000016 1000016 Abelard Abelard \a-ba-(c)lar, Angl (c)ab-@- *lard\, Peter, also called Pierre Abelard or Pierre Abailard, Latin Petrus Abaelardus or Petrus Abeilardus (b. 1079, Le Pallet, near Nantes, Brittany [now in Francej-d. April 21, 1142, Priory of Saint-Marcel, near
HI 1000017 1000017 Abe Lincoln in Abe Lincoln in Illinois \(c)ab- Illinois (c)li{nhookl}-k@n . . . *il-@-(c)noi, - (c)noiz\ Drama in 12 scenes by Robert E. SHERWOOD, produced in 1938 and published in 1939.
HI 1000012 1000018 Abell Abell \(c)ab-@l, (c)ab-\, Kjeld (b. Aug. 25, 1901, Ribe, Den.-d. March 5, 1961, Copenhagen) Danish dramatist and social critic, best known outside Denmark for two plays, Melodien der blev vfk (1935; English adaptation, The Melody That Got Lost) and Anna
HI 1000019 1000019 Abenteuerroma Abenteuerroman \(c)a-ben-*toi-@.r-ro-
I n *man\ [German, literally, adventure
Figure imgf000201_0001
Figure imgf000202_0001
picture of Absalom presented in JJ Samuel 13-19 suggests that he was the Alcibiades of the Old Testament, alike in his personal
HI 1000034 1000034 Absalom, Absalom, Absalom! Novel by William Absalom! FAULKNER, published in 1936.
HI 1000035 1000035 Absalom and Absalom and Achitophel \(c)ab-s@-l@m Achitophel . . . @-(c)kit-@-*fel\ Verse satire by John DRYDEN published in 1681. The poem, which is written in heroic couplets, is about a contemporary episode in which anti-Catholics, notably the Earl of Shaftesbury, sought to bar
HI 1000036 1000036 Abse Abse \(c)ab-ze\, Dannie (b. Sept. 22, 1923, Cardiff, Wales) British poet, playwright, essayist, and novelist, known for the characteristically Welsh voice and sensibility of his poetry.
HI 1000037 1000037 absolute absolute \(c)ab-s@-*lut, *ab-s@-(c)lut\ Being self-sufficient and free of external references or relationships. In criticism, an absolutist believes that there are inviolable standards by which a work of art should be judged and that there are certain basic
HI 1000038 1000038 Absolute, Sir Absolute, Sir Anthony and Captain Jack Anthony and \s@r-(c)anth-@-ne-*ab-s@-(c)lut . . . Captain Jack (c)kap-t@n-(c)jak\ Fictional characters, father and son protagonists of Richard Brinsley Sheridan's comic play THE RIVALS. Sir Anthony is a wealthy aristocrat whose son, Captain Jack,
HI 1000039 1000039 abstract abstract \(c)ab-*strakt\ A summary of points (as of a written work) usually presented in skeletal form; also, something that summarizes or concentrates the essentials of a larger thinε or several things.
Figure imgf000204_0001
d. Aug. 22, 1602) Historian, military commander, secretary, and theologian to the Mughal emperor Akbar.
HI 1000046 1000046 Abu Madi Abu Madi \a-bu-(c)ma-de\, Iliya (b. c. 1889, al-Muhaydithah, Lebanon-d. Nov. 23, 1957, New York, N.Y., U.S.) Arab poet and journalist noted as one of the chief poets of the mahgar (Arab emigration to America).
HI 1000047 1000047 Abu Nuwas Abu Nuwas \a-*bu-nu-(c)was\, also spelled Abu Nu)as \nu-(c)as\, in full Abu Nuwas al-Hasan ibn H.ani) al-Hakami (b. c. 747-762, Ahvaz [Iran]-d. c. 813-815, Baghdad [now in Iraq]) Important poet of the early (Abbasid period (750-835).
HI 1000048 1000048 Abu Rishah Abu Rishah \a-*bu-(c)re-sha\, (Umar (b. April 10, 1910, (Akko, Palestine [now in Lsrael]-d. July 15, 1990, Riyadh, Saudi Arabia) Syrian poet and diplomat who is noted for his early poetry, which broke with the traditions of Arab classicism.
HI 1000049 1000049 Abu Tammam Abu Tammam \a-*bu-tam-(c)mam\, in full Abu Tammam Habib ibn Aws (b. 804, near Damascus [now in Syria]-d. c. 845, Mosul, Iraq) Poet and editor of an anthology of early Arabic poems known as the HAMASAH.
HI 1000050 1000050 abyss abyss \@-(c)bis, a-; (c)ab-is [Greek abyssos, from abyssos (adjective) bottomless] The bottomless gulf, pit, or chaos of the old cosmogonies. The term can also have any of three specific meanings: 1. A confined subterranean body of water that according to
HI 1000051 1000051 academese academese \@-*kad-@-(c)mez, -(c)mes; *ak-@d-@-\ A style of writing held to be characteristic of those in academic life. The term is generally pejorative, implying jargon-filled writing.
HI 1000052 1000052 academic academic \*ak-@-{c)dem-ik\ or academical \-mi-k@l\ Conforming to the traditions or rules of a school, as of literature or art, or an official academy. Conventional or formalistic.
HI 1000053 1000052 academic drama academic drama Any play written and performed at schools and colleges in England in the early 16th century. See also SCHOOL DRAMA.
HI 1000054 1000054 Academie Academie Francaise \a-ka-da-*me-fran- Francaise (c)sez\ French literary academy, established by the French first minister Cardinal de Richelieu in 1634 and incorporated in 1635, and existing, except for an interruption during the era of the French Revolution, to the
HI 1000055 1000055 academy academy \@-(c)kad-@-me\ [Greek Akad{emacracute}meia, Akademia a public grove .and gymnasium near Athens where Plato taught, a derivative of Akademos, a legendary Attic hero after whom the grove and gymnasium were named] A society of learned individuals
HI 1000056 1000056 acatalectic acatalectic \*a-*kat-@-(c)lek-tik\ [Greek akatalektos, literally, not stopping] In prosody, metrically complete (i.e., not falling short of the expected number of syllables in the last foot). It is the opposite of catalexis, the suppression or absence of
HI 1000057 1000057 Accademia Accademia della Crusca see CRUSCA della Crusca ACADEMY.
HI 1000058 1000058 Accademia Accademia dell'Arcadia see Academy of dell'Arcadia ARCADIA.
HI 1000059 1000059 accent accent \(c)ak-*sent, -s@,nt\ [Latin accentus variation in pitch, intonation, from ad to, toward + cantus song; a
Figure imgf000207_0001
Figure imgf000208_0001
Thesprotia in Epirus, Greece, that was thought in ancient times to go to Hades because it flowed through dark gorges and went underground in several places; an oracle of the dead was located on its bank. In Greek mythology
HI 1000072 1000072 Achilles Achilles \@-(c)kil-ez\ In Greek mythology, son of the mortal Peleus, king of the Myrmidons, and the Nereid Thetis. He was the bravest, handsomest, and greatest warrior of the army of Agamemnon in the Trojan War. One of the non-Homeric tales of his
HI 1000073 1000073 Achilles Tatius Achilles Tatius \@-(c)kil-ez-(c)ta-she- @s\ (fl. 2nd century AD, Alexandria, Egypt) Teacher of rhetoric and author of Leucippe and Cleitophon, one of the Greek prose romances that influenced the development of the novel centuries later.
HI 1000074 1000074 Achitophel Achitophel see ABSALOM AND ACHITOPHEL.
HI 1000075 1000075 Achterberg Achterberg \(c)a(kinfmacr}-t@r- *ber{kinfmacr}\, Gerrit (b. May 20, 1905, Langbroek, Neth.-d Jan. 17, 1962, Oud-Leusden) Dutch poet whose use of surreal language and imagery influenced a generation of poets known as the Experimentalists.
HI 1000076 1000076 Acis Acis \(c)a-sis\ In the Greek mythology of Ovid the son of Faunus (Pan) and the nymph Symaethis. Acis was a handsome shepherd of Sicily and the lover of the Nereid Galatea. His rival, Polyphemus the Cyclops, surprised them together and crushed Acis with a
HI 1000077 1000077 Acker Acker \(c)ak-@r\, Kathy (b. 1948) American novelist whose writing style and subject matter reflect the so-called punk sensibility that emerged in youth culture in the 1970s.
HI 1000078 1000078 Ackerley Ackerley \(c)ak-@r-le\, J.R., in full Joe Randolph (b. Nov. 4, 1896, Heme Hill, Kent, Eng.-d. June 4, 1967, Putney, near London) British novelist, dramatist, poet, and magazine editor known for his eccentricity.
HI 1000079 1000079 Ackerman Ackerman \(c)ak-@r-m@n\, Diane, original surname Fink \(c)fi{nhookl}k\ (b. Oct. 7, 1948, Waukegan, HI, U.S.) American writer whose works often reflected her interest in natural science.
HI 1000080 1000080 Ackermann Ackermann \(c)ak-@r-*man\, Louise- Victorine, original surname Choquet \sho-(c)ka\ (b. Nov. 30, 1813, Paris, Fr.- d Aug. 2, 1890, Nice) French poet who is best-known for her works of deep pessimism. Educated by her father in the philosophy of the
HI 1000081 1000081 Ackroyd Ackroyd \(c)ak-*roid\, Peter (b. Oct 5, 1949, London, Eng.) British novelist, critic, biographer, and scholar whose technically innovative novels presented an unconventional view of historv.
HI 1000082 1000082 Acmeist Acmeist \(c)ak-me-ist\, Russian Akmeist \*@k-me-(c)est\, plural Akmeisty \-(c)es- te\ [Russian akmeist, from Greek akm{emacracute} highest point, acme] Member of a small group of early 20th- century Russian poets reacting against what thev considered to be the
HI 1000083 1000083 Acontius Acomius \@-(c)kan-she-@s, -sh@s\ In Greek legend, a beautiful youth of the island of Chios. During the festival of Artemis at Delos, Acontius saw and fell in love with Cydippe, a girl of a rich and noble family. He wrote on an apple the
Figure imgf000211_0001
in full Acuna y Villanueva de la Iglesia \e-*vel-ya-(c)nwa-va-pa-la-e-(c)glas-ya\, pseudonym Remigio Andres Delafon \*pa-la-(c)fon\ (b. 1851, Madrid Spain-d. 1923, Gijon) Spanish playwright, essayist, and short-story
HI 1000091 1000091 Ada Ada (in full Ada; or, Ardor: A Family Chronicle) \(c)a-d@\ Novel by Vladimir NABOKOV, written in English and published in 1969. In its prodigious length and with the family tree on its frontispiece the book recalls the great 19th-century novels of the
HI 1000092 1000092 adab adab \(c)a-dab\ [Arabic] Islamic concept that became a literary genre distinguished by its broad humanitarian concerns; it developed during the height of (Abbasid culture in the 9th century and continued to be of importance through the Muslim Middle Ages.
HI 1000093 1000093 adage adage \(c)ad-ij\ [Latin adagium proverb] A saying, often in metaphorical form, that embodies a common observation, such as "If the shoe fits, wear it," "Out of the frying pan, into the fire," or "Early to bed, early to rise, makes a man healthy, wealthy,
The Keyword/Subject Linking Processor 905: Assigns keywords and subject categorization to each article. These keywords and subjects are used by the system of the present invention as search options. The processor typically comprises two utilities or tools: a keyword linking utility and a subject linking utility. Both of these tools are typically operative to: a. Compare master titles of the book being processed to master titles from some or all of the other previously processed books and b. Assign the same keywords and subjects to matching articles in the book currently being processed.
Any article that does not have a match in a previous book is assigned keywords and subjects as follows:
The Keyword/Subject linking processor 905 typically comprises a list of Master Keywords grouped by subject, e.g. literature keywords, science keywords, history keywords, general keywords. The first-line field of the outline is compared against the appropriate list(s) of keywords for that book. Every keyword, or alias for that keyword, that appears as part of the text in that first line becomes a keyword for that article. When the process is finished, a user is able to examine and refine the keyword assignments manually. The output of this process is a table created in article information database 903 with one record for every keyword assigned to every article. The fields in this table are Master Title ID; Title; and Keyword.
An example of such a table is as follows:
Figure imgf000214_0001
Figure imgf000215_0001
Figure imgf000216_0001
The Keyword/Subject linking processor 905 also contains a subject categorization structure. Each subject has a permanent subject ID that is used across books. The processor allows a user to assign groups of articles to a particular subject based on keywords the user tells the processor to look for in the articles. The user may also assign individual articles to a specific subject. The output of this process is a table in database 903 with one record for each article assigned to a subject. The fields in this table are Master Title ID; and subject ID. An example of such a table is as follows:
Figure imgf000218_0001
Figure imgf000219_0001
The Media Linking Processor 904 : The Media Linking Processor 904 is used to create the correlation between specific articles or paragraphs of text and specific pieces of media. The media itself is stored in the Media Database 170. The Media Database 170 contains a table with information about each of the pieces of media available for connecting to a digital book. The fields in this table typically comprise the following: a. VBID, a unique ID number for every piece of media in media database 170; b. mediald, which links the media back to a master media database which may, for example, include all media in media database 170 and more; c. default caption; d. default title; c. category; and f. media type, which identifies a multimedia item as a photo, sound element, animation, map, or video.
Similar to the Keyword/Subject Linking Processor 905, the Media Linking Processor 904 uses the outline in the Article Information Database 903 to compare master titles of the book being processed to master titles from some or all of the other previously processed books, and assign the same media from the Media Database 170 to matching articles in the new book. A user can also search media database 170 by keywords, captions, or individual master titles to find appropriate media items and link them to specific articles.
The output of media linking processor 904 is a table in article information database 903 with one record for every piece of media to be included in that book. The fields in this table typically comprise the following: a. Bookld, which identifies the current book; b. M2Mid, which is a unique number assigned to the link between the specific media item and the specific paragraph or article; c. MasterTitleld, which is the same idnumber from the outline in database 903; d. VBID, which is the ID that identifies that piece of media in Lib.txt 916; e. Caption, which is the caption which will appear in the digital book as the caption for that piece of media in this book; f. Title, which is to appear with the media item in the user's browser (not shown). g. Paragraph, which indicates which paragraph of the article the media item should be embedded in; h. Mediatype; which indicates if the media item is a photo, sound element, video, animation, map or other media item; i. Soundphoto: for those media types which are sounds, the ID from lib.txt 916 of the photo that will appear in the digital book with that sound.
An Example of the above type of Media table is as follows:
Figure imgf000222_0001
Figure imgf000223_0001
Figure imgf000224_0001
Figure imgf000225_0001
Figure imgf000226_0001
Figure imgf000227_0001
Figure imgf000228_0001
Figure imgf000229_0001
Figure imgf000230_0001
Figure imgf000232_0001
Figure imgf000233_0001
Figure imgf000234_0001
The three output tables from processors 904 and 905 are stored in database 903 and they are read and processed by the Book Tree Processor 909 as part of the book compilation process.
Master Document 906 : The Master Document format is similar but not identical to RTF Winhelp Format which has been available for many years, and was used to create online Window's Help. The format preferably comprises the following: a. Hierarchy Structure. "Heading 1" through "Heading 6" (Chapters, Subchapters, etc. ) b. Hyperlinks. Making a 2 dimensional linear document into a 3 dimensional dynamic document. c. Article ID. Each article has a unique 9 digit ID that allows a solitary reference even if article titles are the same. A hyperlink to "Mars" will go to the planet Mars as opposed to the God Mars based on content of article. d. Paragraph & Character Styles. In order to adhere to the original tagging structure, paragraph & character styles are used for items such as "Names", "Keywords", "Dates", etc. These styles will allow us to create more detailed Versabook Documents when the Versabook engine and local browsers are able to support more complex languages than HTML ( XML for example ) . e. Tables and Media. Standard tables and book media
Master HTML Creator 907: Using Word for Windows HTML Filter along with a VBA Application, this program creates Master HTML files 908 (typically, one file 908 per article entry in the tree). The VBA application is used in conjunction with the filter because the filter cannot handle large files with producing errors. The VBA application typically chops up these large files and sends them to the filter. The VBA application also codes the hyperlinks with a precoded "vb:". Examples are provided below in the context of the description of Master HTML Articles 908.
Master HTML Documents 908: These are similar to HTML format except that Titles are stored as <HlxA NAME= "001000001 ">Titlel</Hl> and Hyperlinks are stored as <A HREF= "vb : 002000125 " >Title2</A> .
Book Tree Processor 909 : This process opens up each Master HTML 908 and queries the database 903 for any media, keywords or subjects associated with each article. The process then outputs a file 911 for every article and sub-article with the article ID (followed by a ".txt") as the file name. There is a mini HTML article 911 for every article. This mini HTML article includes the keyword and subject information. This process also generates a large tree. txt file 910 which typically comprises the following information: Hierarchy level, articlelD, title of article, and any media associated to that article.
Book Compiler 912: The book compiler 912 preferably performs processes 950 to 957 which are now described in detail.
Compile attributes table process 950 -
Compiles attributes.txt file 914 and translates the contents into the attributes table 427 creating one record for each line in the attributes.txt file. The name is used to fill the name 428 in the table and the value 429 is read from the last field or the indicated file as appropriate
Compile libentry table process 951 - Compiles lib.txt file 914 and translates the contents into the libentry table 485 creating one record. The TEMPNAME 487 is read from the first field, ISBN 488 is read from the second, NAME 486 from the third and BOOKTYPE 489 from the fourth and final field.
Compile tree/viewda a table process 952 - The tree. txt 910 and Mini HTML Articles 911 are now used to fill the tree table 401 and Viewdata Table 430. The filling of tables 401 and 430 preferably includes the following steps (a) to (o):
(a) The level is read. The first item in the tree. txt 910 should always have a level of 0 and is the root of the book. The Parent ID 405 is set to 0 and the child number 406 is set to 1. Subsequent items fall into one of the following categories: i ) same level as previous record- parent ID 405 is same as previous item, child number 406 is one more then previous record ii ) one level more then previous record- parent ID 405 is ID 402 of previous item, child number 406 is one iii ) one level less then previous record- parent ID 405 is same as previous item of same level, child number 406 is one more then previous record of same level, number of children 407 for previous record of same level is set to child number 406 of last child of that record .
Finally, the number of children 407 is filled in for the last record at each level .
(b) The media object ID 402 is read and put into the table. The first item should always have an ID of 1.
(c) The Media Object Type is read and put into the table as MOTYPE 408.
(d) Media Type is read and put into the table as MEDIATYP 409.
(e) Source is read. If the source is MediaDB then the contents of the Filename field are put into Viewdata field 432 and the Location field 436 is set to table. If the source is Book then the file path in Filename is used and the contents of that file are read. If the content size is greater then 200 Kilobytes a file is created to store the contents, the filename is put into Viewdata field 432 and the Location field 436 is set to
File.
(f) Media Format is read and put into Format field 435,
(g) Source2 is read. If the source is MediaDB then the contents of the Filename2 field are put into Viewdata2 field 437 and the Location2 field 439 is set to table. If the source is Book then the file path in File- name2 is used and the contents of that file are read. If the content size is greater then 200 Kilobytes a file is created to store the contents, the filename is put into Viewdata2 field 437 and the Location2 field 439 is set to File.
(h) Media Format2 is read and put into Format2 field 438.
(i) Caption File is read and put into Caption field 433.
(3) Hotspot File is read and put into Hotspot field 434.
(k) Paragraph Number is read and put into PARAGRPHNO field 412.
(1) Heading Level is read and put into HTMLLEV- EL field 413.
( ) Language is read and put into LANG field
414.
(n) Version is read and put into VERSION field
415,
(o) Name is read and put into NAME field 404.
Get Fonts Process 953 - Font files named in Fonts.txt 915 are copied to a directory called Fonts in the destination directory for the book
Add Reference/Embed Lists Process 954 - For each article in the book look for any embedded Media Data Objects 504. For each Media Data Object 504 that is embedded add the ID field 402 of the current Media Data Object to its Embed List 416. For each article in the book look for any hyperlinks to other Media Data Objects 504. For each Media Data Object 504 that is hyperlinked to, add the ID 402 of the current Media Data Object to its Reference List 417.
Compile Query Database Process 955 - Create the query database 604 as required by the standard commercially available query system (such as Verity) being used.
Compile Query Result Tables Process 956 - For each query type being used of type Query String, Query Hierarchical ID or Query ID go through each article in the book and read the values for which this article will respond. If the item does not appear in the corresponding Query Result Table for that query then add it and set the Count 426, 444, 492 to 1 otherwise increment the count.
Fill Sort Name Process 957 - For each article in the tree table 401 read the name 404, remove any HTML encoding, remove all punctuation, put in lowercase, replace accented characters with non-accented equivalents and write to the NAMESORT 403 field
Tree File 910: Also termed herein "Outline tree. txt" .
Preferably the tree file 910 has the following format:
One entry per line, each such entry preferably comprising the following items:
<level> ! <media object id> | <media object type> | <media type> ! <source> ! <media format> j
<filename> | <source2> | <media format2> j <filename2> |
<caption-file> | <hotspot-file> |
<paragraph-number> | <Heading Level> | <language> | <ver- sion> ! <name>
The above parameters are now interpreted: a. Level: The level in the hierarchy. b. Media Object Id: Unique ID 402 identifies media object (1 is reserved for the root of the book). c. Media Object Type: Structural component in book (values are: MC 201, ME 202, MB 203 , MG 204, AMI 205 or EMBEDDED (media only viewed embedded in an article)). d. Media Type: Media type as seen by user (values are: ANIMATION, FLAG, MAP, SLIDESHOW, MUSIC, PHOTO, SPEECH, VIDEO, TEXT, NA). e. Source: Indication of where the data comes (values are: MediaDB (from media database 170), Book (if it is specific to the book 100), and NA (if there is no viewable data for the entry). f. Media Format: Storage format used for media if it is not from the media database (values are: GIF, JPG, AVI, SWF, MPGI, MPGII, WAV, and HTML). g. Filename: The name of the file containing the viewable data for the media object. The name of the file is relative to the book directory where all the files for the book are stored. If the media object is from the media database 170 then this field contains the media database ID 460 for the object in the media database. g. Source2: Supplementary viewable data information indication of where the data comes (values are: MediaDB (from media database 170), Book (if it is specific to the book 100), and NA (if there is no viewable data for the entr ) . h. Media Format2: Supplementary viewable data information Storage format used for media if it is not from the media database (values are: GIF, JPG, AVI, SWF, MPGI, MPGII, WAV, and HTML). i. Filename2: Supplementary viewable data information the name of the file containing the viewable data for the media data object. The name of the file is relative to the book directory where all the files for the book are stored. If the media object is from the media database 170 then this field contains the media database ID 460 for the object in the media database. j. Caption File: The file containing the caption for the media data object. k. Hotspot File: The file containing the hotspots for the media data object.
1. Paragraph Number: The paragraph of parent at which an AMI 205 is to be embedded. m. Heading Level: Level of heading for display in article (1-6, if zero the heading is not displayed in the article) . n. Language: language of text/narration (valid values: English) . o. Version: integer indicating version for entry, p. Name: Name of Media Data Object in HTML format.
Mini HTML Articles 911:
< ! query_internal_name=datal ; data2>
<! !>
<P>Blah blah blah</P>
<P>Blah blah blah</P>
<P>Blah blah blah</P>
The Mini HTML Articles 911 have two sections divided by a marker of the form " < ! ! > " .
The first section contains the data for the query system 604. For each defined query type which returns the article for one or more values, there is typically an entry starting with "<!" followed by the internal name 447 of the query, followed by a "=", followed by a list of the values for the article separated by a " ; " and ending with a ">". Values are either names 424 or IDs 421, 468, depending on the query implementation type 448.
The second section of the article in HTML and is the displayable text for the article. Captions are similarly formatted to allow searching of media types that are not text such as jpegs, mpegs, gifs, Shockwave flash etc.
Attribute . txt 914: A file used to fill the Attributes Table 427. Each line in the file is used to fill one record in the table. Each line is of the following form:
<attribute-name> ! <location> | <data>
The parameters are now described: a. attribute name - this is the name 426 of the attribute. b. location - this indicates if the value 427 for the attribute, is contained in the following field, in which case location is "field" or in a separate input file whose path is stored in the following field in which case the location is "file". c. data - if location is "field" then this field is the value 427 for the attribute, if location is "field" then this is the path to the file that stores the value 427 for the attribute.
Fonts.txt 915: This file is used to indicate the fonts that should be included with the book. One font is on each name. The name of the font file is listed.
Lib.txt 916 : This file is used to fill in the library entry table 485. This file and table have one line and record respectively. The line is of the following form:
<template-name> | <ISBN> | <title> | <book-type>
The parameters are now described: a. template-name - the name 487 of the template 608 for the book b. ISBN - the International Standard Book Number (ISBN) 488 used to uniquely identify books c. title - the name 486 of the book d. book-type - value 489 indicating the implementation method for the book, currently there is only one implementation for a book.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
It is appreciated that the software components of the present invention may, if desired, be implemented in ROM (read-only memory) form. The software components may, generally, be implemented in hardware, if desired, using conventional techniques .
It is appreciated that the particular embodiment described in the Appendices is intended only to provide an extremely detailed disclosure of the present invention and is not intended to be limiting.
It is appreciated that various features of the invention which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable subcombination.
It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention is defined only by the claims that follow:

Claims

1. An electronic library system comprising: an electronic bookstore storing a multiplicity of electronic books; and a plurality of personal electronic libraries associated with a corresponding plurality of workstations, each individual personal electronic library comprising: a library builder operative to download selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library; and a library research engine operative to search a plurality of books in the individual personal electronic library.
2. A system according to claim 1 wherein the library research engine is operative to search all books in the individual personal electronic library in a single search operation.
3. A system according to claim 1 wherein the library research engine is operative to accept a user's definition of a subset of books in the user's personal electronic library and to search only the subset of books .
4. An electronic information reservoir comprising: a multiplicity of books each of which is stored as a separate object; and a research engine including: a book searcher operative to search individual ones of the multiplicity of books and to generate a book search output; and a booksearch merger operative to merge book search outputs of a plurality of searches performed by the book searcher on a plurality of user-selected books from among the multiplicity of books, thereby to generate a global search output.
5. An electronic library system comprising: an electronic bookstore storing a multiplicity of electronic books; and a plurality of personal electronic libraries associated with a corresponding plurality of workstations, each individual personal electronic library comprising: a library builder operative to download selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library; and a book updater operative to perform an automatic background update of at least a portion of at least one electronic book in the individual personal electronic library which has become outdated.
6. A system according to claim 5 wherein each electronic book is organized as a hierarchy of book portions each comprising a meaningful portion of the contents of an electronic book and wherein the book updater, when updating an electronic book, is operative to update only those portions of the electronic book which have become outdated.
7. A system according to claim 5 and also comprising a network site which posts an update of at least a portion of at least one electronic book which has become outdated and wherein the book updater is operative to automatically dial said network site.
8. An electronic book storage system comprising: a first plurality of electronic books of a first content type; and a second plurality of electronic books of a second content type; wherein all of the first and second pluralities of electronic books are organized in a single hierarchical format such that a single hierarchical level within said single hierarchical format stores: meaningful chunks of information of the first content type, each chunk comprising a meaningful portion of an individual one of said first plurality of electronic books of a first content type; and meaningful chunks of information of the second content type, each chunk comprising a meaningful portion of an individual one of said second plurality of electronic books of a second content type.
9. A system according to claim 8 wherein the first and pluralities of electronic books include books of any of the following content types: cookbooks; road atlases; dictionaries; encyclopedias ; telephone books; picture books; novels; catalogs; instruction manuals; newspapers; and newsmagazines .
10. A multimedia book generating system comprising: a multimedia database storing a multiplicity of multimedia elements; and a digital book generator operative to generate a digital book including text and at least one link from a location in the text to at least one of the multiplicity of multimedia elements in the multimedia database.
11. An electronic research method comprising: storing a multiplicity of electronic books in an electronic bookstore; and associating a plurality of personal electronic libraries with a corresponding plurality of workstations, including: downloading selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library; and searching a plurality of books in the individual personal electronic library.
12. A method according to claim 11 wherein the searching step comprises searching all books in the individual personal electronic library in a single search operation.
13. A method according to claim 11 wherein the searching step comprises accepting a user's definition of a subset of books in the user's personal electronic library and searching only the subset of books.
14. A method for searching through electronic information, the method comprising: storing a multiplicity of books each as a separate object; and performing an electronic researching operation including: searching individual ones of the multiplicity of books and generating a book search output; and merging book search outputs of a plurality of searches performed by the book searcher on a plurality of user-selected books from among the multiplicity of books, thereby to generate a global search output.
15. An electronic library updating method comprising: storing a multiplicity of electronic books in an electronic bookstore; and associating a plurality of personal electronic libraries with a corresponding plurality of workstations, including, for each individual personal electronic library: downloading selected ones from among the multiplicity of electronic books in the electronic bookstore into the individual personal electronic library; and performing an automatic background update of at least a portion of at least one electronic book in the individual personal electronic library which has become outdated.
16. A method according to claim 15 wherein each electronic book is organized as a hierarchy of book portions each comprising a meaningful portion of the contents of an electronic book and wherein the update performing step, when updating an electronic book, comprises updating only those portions of the electronic book which have become outdated.
17. A method according to claim 15 and also comprising posting, on a network site, an update of at least a portion of at least one electronic book which has become outdated and wherein the update performing step comprises automatically dialing said network site.
18. A method for storing electronic books, the method comprising: storing a first plurality of electronic books of a first content type; and storing a second plurality of electronic books of a second content type, wherein the stored information is organized in a single hierarchical format such that a single hierarchical level within said single hierarchical format stores meaningful chunks of information of the first content type, each chunk comprising a meaningful portion of an individual one of said first plurality of electronic books of a first content type and meaningful chunks of information of the second content type, each chunk comprising a meaningful portion of an individual one of said second plurality of electronic books of a second content type.
19. A method according to claim 18 wherein the first and pluralities of electronic books include books of any of the following content types: cookbooks; road atlases; dictionaries; encyclopedias ; telephone books; picture books; novels; catalogs; instruction manuals; newspapers; and newsmagazines .
20. A method for multimedia book generation, the method comprising: storing a multiplicity of multimedia items in a multimedia database; and generating a digital book including text and at least one link from a location in the text to at least one of the multiplicity of multimedia elements in the multimedia database.
PCT/IL1999/000372 1998-07-07 1999-07-07 Digital publishing and dynamic integration WO2000002143A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP99929672A EP1097422A1 (en) 1998-07-07 1999-07-07 Digital publishing and dynamic integration
AU46448/99A AU4644899A (en) 1998-07-07 1999-07-07 Digital publishing and dynamic integration
CA002336715A CA2336715A1 (en) 1998-07-07 1999-07-07 Digital publishing and dynamic integration

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11103298A 1998-07-07 1998-07-07
US09/111,032 1998-07-07

Publications (1)

Publication Number Publication Date
WO2000002143A1 true WO2000002143A1 (en) 2000-01-13

Family

ID=22336252

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL1999/000372 WO2000002143A1 (en) 1998-07-07 1999-07-07 Digital publishing and dynamic integration

Country Status (4)

Country Link
EP (1) EP1097422A1 (en)
AU (1) AU4644899A (en)
CA (1) CA2336715A1 (en)
WO (1) WO2000002143A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002084638A1 (en) * 2001-04-10 2002-10-24 Presedia, Inc. System, method and apparatus for converting and integrating media files
WO2002093418A1 (en) * 2001-05-11 2002-11-21 Vish Corporation Ltd Personal document system and method
WO2004097675A1 (en) * 2003-05-02 2004-11-11 David Nicholas Rousseau Digital library system
US8468099B2 (en) 2001-03-30 2013-06-18 Intertainer, Inc. Digital entertainment service platform
US8479246B2 (en) 2000-12-14 2013-07-02 Intertainer, Inc. System and method for interactive video content programming
US8818898B2 (en) * 2005-12-06 2014-08-26 Pumpone, Llc System and method for management and distribution of multimedia presentations
US20150227623A1 (en) * 2014-02-13 2015-08-13 Yandex Europe Ag System and method for displaying search results
EP2943892A4 (en) * 2013-01-11 2016-01-27 Presse Ltée Device, method and system for displaying digital editions
US9690601B2 (en) 2011-10-18 2017-06-27 Google Inc. Dynamic profile switching based on user identification
CN112988605A (en) * 2021-05-10 2021-06-18 云账户技术(天津)有限公司 Method and device for realizing WEB application automatic test

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0530678A2 (en) * 1991-09-06 1993-03-10 International Business Machines Corporation Method for providing a generalized link from a reference point in an on-line book to a multimedia object
EP0821315A1 (en) * 1996-07-26 1998-01-28 International Business Machines Corporation Method and system for organising on-line books using bookcases
WO1998008344A2 (en) * 1996-08-13 1998-02-26 Softbook Press, Inc. Method and apparatus for viewing electronic reading materials
US5778366A (en) * 1996-06-28 1998-07-07 International Business Machines Corp. Method and system for organizing on-line books using collections

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0530678A2 (en) * 1991-09-06 1993-03-10 International Business Machines Corporation Method for providing a generalized link from a reference point in an on-line book to a multimedia object
US5778366A (en) * 1996-06-28 1998-07-07 International Business Machines Corp. Method and system for organizing on-line books using collections
EP0821315A1 (en) * 1996-07-26 1998-01-28 International Business Machines Corporation Method and system for organising on-line books using bookcases
WO1998008344A2 (en) * 1996-08-13 1998-02-26 Softbook Press, Inc. Method and apparatus for viewing electronic reading materials

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479246B2 (en) 2000-12-14 2013-07-02 Intertainer, Inc. System and method for interactive video content programming
US8468099B2 (en) 2001-03-30 2013-06-18 Intertainer, Inc. Digital entertainment service platform
WO2002084638A1 (en) * 2001-04-10 2002-10-24 Presedia, Inc. System, method and apparatus for converting and integrating media files
WO2002093418A1 (en) * 2001-05-11 2002-11-21 Vish Corporation Ltd Personal document system and method
WO2004097675A1 (en) * 2003-05-02 2004-11-11 David Nicholas Rousseau Digital library system
US8818898B2 (en) * 2005-12-06 2014-08-26 Pumpone, Llc System and method for management and distribution of multimedia presentations
US9690601B2 (en) 2011-10-18 2017-06-27 Google Inc. Dynamic profile switching based on user identification
US9613013B2 (en) 2013-01-11 2017-04-04 Nuglif Inc. Device, method and system for displaying a first page of a digital edition by efficient download of assets
EP2943892A4 (en) * 2013-01-11 2016-01-27 Presse Ltée Device, method and system for displaying digital editions
US10042822B2 (en) 2013-01-11 2018-08-07 Nuglif Inc. Device, method and system for displaying pages of a digital edition by efficient download of assets
US9443017B2 (en) * 2014-02-13 2016-09-13 Yandex Europe Ag System and method for displaying search results
US20150227623A1 (en) * 2014-02-13 2015-08-13 Yandex Europe Ag System and method for displaying search results
CN112988605A (en) * 2021-05-10 2021-06-18 云账户技术(天津)有限公司 Method and device for realizing WEB application automatic test
CN112988605B (en) * 2021-05-10 2021-07-16 云账户技术(天津)有限公司 Method and device for realizing WEB application automatic test

Also Published As

Publication number Publication date
CA2336715A1 (en) 2000-01-13
AU4644899A (en) 2000-01-24
EP1097422A1 (en) 2001-05-09

Similar Documents

Publication Publication Date Title
US5708825A (en) Automatic summary page creation and hyperlink generation
US6044365A (en) System for indexing and retrieving graphic and sound data
US5963205A (en) Automatic index creation for a word processor
Egan et al. Formative design evaluation of superbook
Kaasten et al. How people recognise previously seen Web pages from titles, URLs and thumbnails
JP4365074B2 (en) Document expansion system with user-definable personality
Hider Information resource description: creating and managing metadata
US9613003B1 (en) Identifying topics in a digital work
EP1097422A1 (en) Digital publishing and dynamic integration
US8082240B2 (en) System for retrieving information units
Wolff et al. Storyscope: using theme and setting to guide story enrichment from external data sources
Markey Computer-assisted construction of a thematic catalog of primary and secondary subject matter
Van Herwijnen The impact of XML on library procedures and services
O'Kane world wide web‐based information storage and retrieval
Soufi et al. The HMML Authority File: Current Status and Future Directions
JPH01214963A (en) Device for consulting dictionary
Witten Customizing digital library interfaces with Greenstone
Barnett et al. Investigating Multilingual, Multi-script Support in Lucene/Solr Library Applications
Witten et al. Managing multiple collections, multiple languages, and multiple media in a distributed digital library
Cochenour et al. Gopher gold and gopher gears: Using and maintaining gophers
Phillips et al. The computer human factors database
Neelameghan Lateral Relations and Links in Multicultural, Multimedia Databases in the Spiritual and Religious Domains: Some obervations
Miller Principia bibliographica? Balancing principles, practice, and pragmatics in a changing digital environment
Miller Bibliographic access management at Lane Medical Library: fin de millennium experimentation and bruised-edge innovation
WO2005006135A2 (en) System and method for searching binary files

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CU CZ CZ DE DE DK DK EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2336715

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 200100352

Country of ref document: ZA

WWE Wipo information: entry into national phase

Ref document number: IN/PCT/2001/00031/DE

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 46448/99

Country of ref document: AU

Ref document number: 1999929672

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999929672

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 1999929672

Country of ref document: EP