Interactive web book system

An interactive Web book (“ibook”) system is provided that allows material to be contributed to the World Wide Web. An ibook is a self-extending, self-sustaining information-redistributing Web robot, which is resident on a data network such as the Internet or an intranet. Users may enroll with an ibook as viewers or contributors. Viewers may view ibook material, such as text or multimedia content. Contributors may contribute original material to the ibook or may create derivations of existing ibook material. Attribution information that identifies the source of material in a derivation is automatically generated. Information concerning the derivation of each work and its characteristics can be used to help the user navigate through ibook material. The ibook system keeps track of how often users access each work within an ibook. Contributors may be automatically rewarded (e.g., by a monetary distribution) based on the extent to which their contributed material is viewed by the users.

BACKGROUND OF THE INVENTION

This invention relates to the Internet, and more particularly, to techniques for creating and viewing material on the World Wide Web in the form of an interactive Web book.

The World Wide Web has made the Internet accessible to a broad range of people. One can search the Web and view a large amount of material using a Web browser. However, there is no satisfactory framework within the Web to encourage contributions of new material while rewarding contributors for their efforts. As a result, many people who might make meaningful contributions of entertaining or educational material to the World Wide Web do not make such contributions.

It is therefore an object of the present invention to provide a way in which to facilitate the contribution of material using a data network such as the World Wide Web and to compensate the contributors of such material.

SUMMARY OF THE INVENTION

This and other objects of the invention are accomplished in accordance with the principles of the present invention by providing an interactive Web book (“ibook”) system. An ibook is a self-extending, self-sustaining information-redistributing Web robot, which is resident on a data network such as the Internet or an intranet. Material in an ibook is preferably organized in the form of Web pages. Material may be in text, two-dimensional, three-dimensional or n-dimensional graphics, animation, audio, video, source or executable code, or any type of multimedia format. Within each Web page, material may be organized in passages. Passages can be of any suitable size, such as a paragraph for textual material, or a video or audio clip of a certain length for multimedia material.

Users can preferably enroll as viewers of the ibook or as contributors to the ibook. Viewers are allowed to view (i.e., read, hear, observe, observe the behavior of, etc.) material in the ibook. Presentation of ibook material for viewing may involve the execution of computer code associated with or contained in that material. Contributors can view material and can contribute material. The contributed material can be original or can be based on the work of other contributors.

Works that are created based on previously contributed material are called derivations. When a contributor uses certain authoring functions in the ibook system, such as by performing a cut and paste operation from existing material or by using a compiler of the contributor's to compile existing source code, attribution links are automatically formed between the material in the derivation and the original material. This attribution information is preferably used by the ibook system in rewarding contributors. Contributors are rewarded based on the amount that their material is accessed by viewers. The more often a contributor's material is used (either directly or indirectly), the more that contributor will be rewarded. Preferably, the reward may be made in the form of an automatic monetary distribution by the ibook system.

As ibook material is created, derivation information is compiled that can be used by the ibook navigation system when a user desires to view material in an ibook. For example, when viewing a passage for which a derivation exists, the viewer can be presented with the option of viewing the derivation. The viewer is also presented with options for navigating through the material in an ibook based on a selected author, subject matter, media type, etc.

The ibook system may automatically advertize its presence to various search engines by transmitting suitable keyword information (e.g., keyword information identifying the subject matter of the contents of the ibook) to databases associated with the search engines.

If desired, new ibooks may be spawned by replicating the content and structure of an existing ibook. Replicating may be achieved by copying material or by creating references from the new ibook to the existing ibook.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

An interactive Web book (“ibook”) system20is shown inFIG. 1. Web server computers that support one or more ibooks are called ibook servers. Ibook servers22and24are interconnected with ibook client computers26,28,30, and32via data network34. Also connected to data network34is search engine server36. Data network34is preferably a packet-based data network such as the Internet or an intranet (i.e., a local area network (LAN) or wide area network (WAN) using Internet protocols). Communication paths38are modem lines or LAN or WAN network connections.

Contributors at ibook clients26,28, and30can contribute material to an ibook, such as ibook A′ on server24. The contributed material can be in any media type supported by the Internet, such as text, audio, and video information. Some contributed material may be literary or artistic in nature, such as an essay, song, painting, or movie. Other contributed material may be of a more technical or utilitarian nature, such as the source code for computer program modules (e.g., modules of code implementing ibook functions, such as demons or plug-ins) or descriptions of inventive ideas. An ibook may contain a number of different types of contributions, such as essays, songs, and video clips, structured around a central theme. If desired, ibooks may be set up to support more limited types of media and more focused formats. For example, an ibook might be devoted to a mystery novel, might contain only contemporary music, or might be devoted to a programming environment for a particular computer programming language.

Ibooks may initially be supported by a sponsor who sets up an ibook on an ibook server and who may, for example, advertise that ibook's presence and chosen theme by arranging to have suitable information regarding the ibook included in Web index40. One way in which to set up an ibook is to replicate the structure and possibly the contents of an existing ibook. For example, a sponsor at ibook server24might replicate ibook A from the ibook server22of a parent organization thereby creating ibook A′ at ibook server24.

People who wish to contribute content to an ibook must typically enroll with that ibook prior to making any contributions. Each ibook therefore has an associated community of contributors. Although contributors to an ibook may often make contributions that are completely their own, contributors may also make contributions that are based upon the previously contributed material of another contributor or contributors. The ultimate contents of a given ibook is therefore usually a collaborative effort between many contributors.

A viewer at ibook client32can preferably view the material contributed to an ibook without enrolling as a contributor. “Viewing” (by a contributor or by a viewer) includes reading, listening, and observing any type of contributed material that is contained in an ibook and its behavior. Presentation of ibook material for viewing may involve the execution of computer code associated with or contained in that material.

Contributed material is preferably stored in the form of ibook web pages42, as shown inFIG. 2. An important aspect of any ibook is that it allows derivations of contributed material to be created by adding additional Web pages. The ibook system supports derivations that are alternate versions of existing works. For example, if contributor Smith writes several chapters of a book, contributor Jones may modify a chapter to create his own alternate version of that chapter. An association between the original and alternate versions of this material is preferably automatically made by the ibook system. The association is indicated by forming derivation link44and attribution link45.

If contributor Brown creates alternate versions of the material of contributors Smith and Jones, derivation links46,48, and50and attribution links47,49, and51are formed. Derivation and attribution links are used by the system when navigating through ibook Web pages42. For example, when a viewer wishes to view a given portion of an ibook, derivation links46,48, and50may be used to present the viewer with the option of viewing the alternate versions of the material as well as the original version. Likewise, attribution links47,49, and51may be used to present the viewer with the option of viewing the original version of an alternate version.

In addition to creating derivations that are alternate versions of existing material, contributors can create derivations which are usually viewed in parallel to existing material. For example, a contributor may wish to create a running commentary on a multimedia segment or a song. Although the commentary is not an alternate version of the existing material, it is related in such a way that it is appropriate to recognize the original contributor. Another example is multiple audio tracks, which may be listened to and mixed in varying proportions in parallel. The ibook system facilitates the automatic or nearly automatic generation of derivation and attribution links between the original material and the derivations. The ibook system uses the attribution link information for navigating and to ensure that contributors are rewarded for their efforts. The ibook system uses the derivation link information to facilitate navigation through ibook material and thereby encourage contributions by ensuring that a contributor's material may be viewed.

A derivation may contain a quotation of existing material when a contributor creates material that is in part the same as that previously contributed by another contributor.

A derivation may be a revision of a work if it contains all of the previous work except errors and material that the contributor believes is inappropriate. The revision may have additional material that the contributor believes should have been in the original work. For example, the original material might be a rough draft of a speech, whereas the revision might be the final draft of the speech.

A derivation may be a combination containing material derived from two separate sources. For example, a derivation might be a story containing portions of stories from two different authors or a sequence of musical fragments from different composers or a mix of multiple tracks into a single song.

A derivation may be a sequel in which the subject, characters, and context of a previous work are extended into a new area. A sequel is typically intended to be viewed after the original, rather than in place of the original.

A derivation may be a transcription that contains material in a different media or language than the original material. For example, the original might contain English text and the transcription might contain the same material in French. Alternatively, the original material might contain the score of a song and the transcription might contain a recording of a performer singing the song. If the original contains a Java script for an applet, the transcription might contain an Active object that performs the same function as the Java script. If the original contains computer source code, the transcription may contain a translated or compiled version of the code.

A derivation may be an invocation which may be encountered, e.g., in the programming context. An invocation employs the contents and capabilities of an original work for the benefit of the invocation. If the original material changes, these changes are presented the next time that the invocation is viewed. Invocations therefore allow for a dynamic reference to previously contributed material.

A derivation may contain the same material as an existing work, but with a different quality or resolution. For example, it may be desired to store a high fidelity audio track at one location and a lower fidelity version of the same track at a different location.

A collaborative derivation may be created by a contributor who is viewing the work of another contributor without explicitly incorporating the work of the other contributor. For example, a composer may create a track of a song while listening to an existing track of another composer.

FIG. 3is a more detailed view of the system ofFIG. 1. In ibook system52, ibook servers54and56are interconnected with ibook clients58and60via data network62. Ibook servers54and56are preferably computers or clusters of computers sufficiently powerful to handle Web traffic from numerous clients. If desired, the functions of servers54and56may be divided among several servers, which may be geographically remote from each other. For example, the database functions of server54could be provided by a database server connected to server54directly or through data network62. Ibook clients58and60may be personal computers. At times, clients58may store ibook material and may perform server-like functions. Data network62is preferably a packet-based data network such as the Internet or an intranet.

Ibook functions are preferably performed by executing instructions with ibook server56and with client60. Ibook server application64directs the overall operation of ibook server56. In particular, ibook server application64controls databases66,68,70,72,74, and76, in which various ibook information is stored. Ibook demons78are programs associated with ibook server application64, but which run continuously or semicontinuously in the background. Ibook demons78perform functions such as revenue collection, revenue distribution, and advertising.

Client plug-ins80are downloadable executable program modules that can be run on client60in conjunction with Web browser82to add additional capabilities to Web browser82. Web browser82is preferably a standard Web browser, such as Microsoft Internet Explorer or Netscape Navigator. Downloading of client plug-ins80can be accomplished using standard techniques, such as the standard Internet file transfer protocol (FTP). When client plug-ins80are downloaded onto client60, they form tools84,86,88, and90. Web browser82also controls local access database92, which may be used to store information regarding the amount of time a user (i.e., a viewer or a viewing contributor) spends viewing a particular portion of an ibook. Currently downloaded Web pages94are downloaded from ibook Web pages database76.

Users of a given ibook are preferably either enrolled as viewers or contributors. Viewers can view any of the material in an ibook with which they have enrolled, but cannot make contributions to the ibook. Contributors can contribute new material or can create a derivation based on previously contributed material in an ibook. Because contributors must be able to view material before it can used to create a derivation, contributors are also given rights to view ibook material.

By enrolling, both viewers and contributors agree not to violate the rights of other contributors (e.g., by copying material from an ibook without permission). Contributors must also agree to allow their works to become the basis for the works of other contributors, so that participating in an ibook is a collaborative effort.

Enrollment is preferably automated and on-line. At ibook client60, the functions necessary to support enrollment are provided by ibook enrollment tool88and web browser82. At ibook server56, enrollment functions are provided by ibook server application64. Ibook server application64downloads enrollment tool88to ibook client60, and stores enrollment information in the ibook server databases. Ibook server application stores viewer enrollment information in viewer database66and contributor enrollment information in contributor database68.

A suitable process for enrolling viewers is shown inFIG. 4. At step96, an interested party begins the process of enrolling as a viewer, e.g., by clicking on an icon labeled “enroll as viewer.” The nature, obligations, and benefits of enrolling as a viewer of the ibook are explained to the interested party at step98. At step100, the party is asked whether enrollment is desired. If the party declines enrollment at step100, viewer enrollment terminates at step102. If the party accepts enrollment, enrollment information, such as the party's address, electronic billing information, credit card number, etc., is collected at step104.

Provided that the enrollment information collected at step104does not reveal a reason that the party cannot be enrolled, the party is offered an opportunity to sign up as an ibook viewer at step106. If the party does not sign up at step106, viewer enrollment terminates at step102. If the party decides to sign up, signing up can be accomplished by a number of techniques, including clicking on an icon, typing the words “I ACCEPT”, transmitting an electronic signature, live teleconference with an ibook representative, voice-mail, fax, mail, or a combination of these techniques. After signing up at step106, information concerning the viewer and the viewer enrollment process is stored in viewer database66at step108.

At step110, ibook server application64generates a viewer ID for the viewer. The viewer ID is used to access the ibook with which the viewer has enrolled. If desired, the viewer ID can be used in conjunction with additional security measures, such as a password, etc. The viewer enrollment process ends at step112.

A suitable process for enrolling contributors is shown inFIG. 5. At step114, an interested party begins the process of enrolling as a contributor, e.g., by clicking on an icon labeled “enroll as contributor.” The nature, obligations, and benefits of enrolling as a contributor of the ibook are explained to the interested party at step116. At step118, the party is asked whether enrollment is desired. If the party declines enrollment at step118, contributor enrollment terminates at step120. If the party accepts enrollment, enrollment information, such as the party's address and electronic banking information, is collected at step122.

Provided that the enrollment information collected at step122does not reveal a reason that the party cannot be enrolled, the party is offered an opportunity to sign up as an ibook contributor at step124. If the party does not sign up at step124, contributor enrollment terminates at step120. If the party decides to sign up, signing up can be accomplished by a number of suitable techniques, including clicking on an icon, typing the words “I ACCEPT”, transmitting an electronic signature, live teleconference with an ibook representative, voice-mail, fax, mail, or a combination of these techniques. After signing up at step124, information concerning the contributor and the contributor enrollment process is stored in contributor database68(FIG. 3) at step126. At step128, ibook server application64generates a contributor ID for the contributor. The contributor ID is used to access the ibook with which the contributor has enrolled. If desired, the contributor ID can be used in conjunction with additional security measures, such as a password, etc. The contributor enrollment process ends at step130.

Once enrolled with an ibook, a contributor may view material in the ibook, may create new original material, or may contribute material derived from that contributed by other contributors to create a derivation. Derivation types supported by the ibook system include alternate versions, commentaries, quotations, revisions, combinations, sequels, transcriptions, invocations, alternate resolutions, and collaborations. To create or modify material in an ibook, a contributor uses ibook authoring tool86(FIG. 3). As shown inFIG. 6, ibook authoring tool86includes derivation tool132, linking tool134, and editing tool136. Editing tool136is used to enter original material and linking tool134is used to create hypertext links to existing material.

Derivation tool132is used to create material based on existing material. Preferably, derivation tool132provides style templates for different types of derivations. When a contributor wishes to create a derivation based on existing material, the contributor selects from the available derivation types (e.g., alternate version, commentary, quotation, revision, combination, sequel, transcription, invocation, alternate resolution, and collaboration). When the contributor creates the derivation, (e.g., by creating commentary based on an existing video work), derivation tool132automatically or semi-automatically generates attribution information identifying the work from which the derivation was derived. Attribution information may be automatically generated by navigation tool132when a contributor creates a derivation of existing source code (e.g., using the contributor's compiler).

The functions provided by authoring tool86may differ depending on the content of a particular ibook passage. For example, editing tool136preferably supports standard word processing functions for entering text and source code and supports graphics, animation, audio, and video editing functions for creating and modifying multimedia material. Editing tool136also preferably supports creation of audio material from telephone calls and audio-visual material from video conferencing sources. Authoring tool86preferably prevents the deletion of previously contributed material and facilitates the creation of material derived from previously contributed material.

The structure of the content of an illustrative ibook is shown in detail inFIG. 7. The material contributed to an ibook is contained in one or more Web pages. The content of the ibook Web pages is preferably stored in ibook Web pages database76(FIG. 3). Ibook Web pages138may contain both static Web pages and Web pages with content that changes dynamically whenever referenced. Web pages138include welcome message page140to introduce a user to the ibook. If desired, welcome message page140can include summary information concerning the content of ibook web pages138. For example, welcome message page140can include information regarding the authors who have contributed material, the dates on which material was contributed, the sponsor's description of the theme of the ibook, the specific subject matter contained in the ibook, the media used, etc. Welcome page140preferably includes hypertext links to viewer, contributor, and sponsor enrollment pages. It is not possible to proceed past welcome page140without enrolling with the ibook. After viewing welcome message page140and completing an appropriate enrollment process, users can view, add, or create derivative material using authoring tool86(FIGS. 3 and 6).

InFIG. 7, ibook Web pages142,144,146were contributed by contributor Smith, ibook Web page148was contributed by contributor Jones, and ibook Web page150was contributed by contributor Brown. Contributor Smith was the first contributor, and his pages were added as original material. Contributor Jones added material that was based on some of the material contributed by contributor Smith. Contributor Brown added material that was based on material contributed by Smith and material contributed by Jones.

Web pages142,144,146,148, and150are preferably organized in the form of one or more passages152. For example, ibook Web page142contains passages1,2, and3and ibook Web page150contains passages4cand6c. The amount and type of material contained in a passage may depend on the type of media used. If an ibook contains only text, passages152may be paragraphs. Alternatively, passages152may be characters, words, sentences, paragraphs, sections, or chapters. If an ibook contains multimedia material, passages152can be graphic images, animation sequences, portions of a sound track, still video images, or video clips. If an ibook contains executable material, passages152can be modules of code.

When an ibook contributor adds material that is based on the material previously contributed by another contributor, attribution information is preferably automatically generated that keeps track of the identity of the source of the material. The attribution information may be provided, for example, in the form of attribution links154,156,158, and160between passages152.

Attribution link154indicates that passage3b, which was contributed by Jones, was based on passage3, contributed by Smith. Similarly, attribution link160indicates that passage6c, which was contributed by Brown, was based on passage6, contributed by Smith. Attribution link156indicates that Jones contributed passage4bbased on passage4of Smith. Attribution link158indicates that Brown contributed passage4cbased on passage4bof Jones.

Attribution information is preferably automatically generated when a contributor copies existing ibook material. For example, contributor Jones may have used a cut and paste feature in derivation tool132to cut and paste text or multimedia material from passage3when creating passage3b. During the process of cutting and pasting from passage3to passage3b, authoring tool86automatically generates attribution information including attribution link154.

Another way in which attribution information can be generated is when a contributor selects a certain derivation style template with derivation tool132, prior to contributing new material. After the style template is selected, derivation tool132prompts the contributor for attribution information, which is used to automatically create attribution links that relate the new material to the original material. For example, Jones may select the derivation type commentary, in order to create a commentary based on passages3and4of Smith's work. Derivation tool132queries Jones as to the authorship of the material on which the commentary is based. Jones must enter suitable information identifying the original contributor's material. Derivation tool132preferably will not let Jones proceed until valid attribution information has been provided. If desired, a system supervisor can monitor the creation and use of attribution information, such as the implementation of attribution links154,156,158, and160.

Sequence links162,164, and166are hypertext links that link welcome message page140and ibook pages142,144, and146. Sequence links162,164and166were created by authoring tool86when contributor Smith created ibook Web pages142,144, and146. Sequence link168was created by contributor Brown using linking tool134(FIG. 6). The creation of sequence links such as sequence link168is at the discretion of the contributor.

Derivation links170,172,174, and176are another type of link that is formed in connection with ibook web pages142,144,146,148, and150. Derivation links170,172,174, and176preferably point in the opposite direction of attribution links154,156,158, and160. Whenever a derivation is formed of an existing passage, a derivation link is formed that indicates that the derived passage has been formed.

Derivation links170,172,174, and176are preferably automatically generated when passages3b,4b,4c, and6care created. For example, if a contributor uses a cut and paste feature in derivation tool132to cut and paste material from one passage to another, authoring tool86automatically generates derivation information including derivation links170,172,174, and176.

The derivation information for each passage152(e.g., the existence and identity of any associated derivation links for a given passage) and the attribution information (e.g. the existence and identity of any associated attribution links for a given passage) are used by navigation tool84when a user navigates through the material in an ibook. For example, when a user views a passage that has a corresponding derivation, the user can be alerted that the derivation exists and can be given an opportunity to view the derivation. Likewise, when a user views a passage that is a derivation, the user can be alerted that a corresponding original exists. Derivation information and attribution information may be stored in passage database74(FIG. 3).

Multigenerational derivation and attribution relationships exist between passages152(e.g., between passages4and4cinFIG. 7). These relationships may either be represented by links between immediately adjoining passages (e.g.4and4bor4and4c) as shown inFIG. 7, or may be represented by direct links between nonadjoining passages (e.g., between passages4and4c).

In addition, during the creation of passages152authoring tool86and ibook server application64cause information to be stored in passage database74that identifies which Web page138contains each passage152. Information regarding the content of passages152(“passage characteristics”) is preferably also stored during passage creation. Passage characteristics include the identity of the passage's contributor (which may be stored in contributor database68), the media (e.g., text, audio, video), the time and date of passage creation, the language of the passage, the interpreter for the passage if the passage is executable code, and the subject matter of the passage. Some of these passage characteristics can be determined automatically by ibook system52. For example, the identity of the contributor can be determined from the ID number of the contributor. Other passage characteristics might be more easily entered by the contributor, such as the language of the material in the passage. Regardless of how the passage characteristics are entered into system52, these characteristics are preferably stored in passage database74and are used during navigation through the ibook.

An illustrative ibook navigation tool84is shown inFIG. 8. InFIG. 8, passages152are illustrated as paragraphs of text178. In a multimedia environment, passages152would be multimedia segments presented on a computer monitor as video accompanied by sound. When passages152are executable modules, navigation tool84presents the passages by downloading and executing the passages. Style buttons180allow a user to select a desired format for the presentation of information on client60. Each style is controlled by an ibook passage (e.g., a Java program) which implements that style. Suitable styles include a Microsoft Windows 3.1 format with a title bar at the top of the screen or a photorealistic style, in which navigation controls are displayed in a realistic manner (e.g., as a desk containing a file drawer, etc.). Window size buttons182allow the user to adjust the size of the window containing ibook navigation tool84when Web browser82is operating in a windows-type environment. Magnification buttons184allow the user to adjust the magnification of the contents of the display window.

Cursor keys186move cursor188up, down, left, or right within a passage152on a given ibook Web page138. If desired, inner portion190of cursor keys186can be used to provide slow cursor movement. Whenever a user moves cursor188into a passage that has an associated derivation or original, the user may be alerted. For example, bar191may be provided in parallel with passage178bto indicate that a derivation or original exists for that passage, which the user may wish to view. Navigation tool84determines when to display bars such as bar191based on the derivation information (i.e., derivation links170,172,174,176and derivation type information) and attribution information stored in passage database74. Derivation traverse buttons192preferably light up when cursor188enters a passage (such as passage178b) that has an associated derivation or original.

Clicking on the right derivation traverse button causes navigation tool to present, e.g., the next most recent derivation associated with that passage and clicking on the left derivation traverse button produces the opposite result. For example, if a user is viewing passage4b(FIG. 7) and the right derivation traverse button192is selected, navigation tool84displays the contents of passage4c. If, however, a user is viewing passage4band the left derivation traverse button192is selected, navigation tool84displays the contents of passage4.

Back and forward buttons194allow a user to navigate along a browsing trail through Web pages138that has been defined by the user or a contributor who has previously navigated through the material using scroll buttons186and derivation traverse buttons192. Volume buttons193control the sound volume in multimedia material. Multiple volume control buttons are preferably provided to control the mix when playing audio tracks in parallel.

An additional navigation control feature provided by navigation tool84is drop-down menu196. The user can make selections with drop-down menu196that aid in navigating ibook passages152. For example, drop-down menu196may contain a list of all derivations and original material associated with the passage that the user is currently viewing. The user can navigate to one of these derivations or originals by selecting a desired entry or entries from the list. Drop-down menu196can also contain a list of common passage characteristics, such as media type, identity of contributor, date of creation, language, and subject matter (e.g., as predefined by keywords entered by the contributor or extracted from passages152automatically by the ibook system). If desired, a user can view only the works of Jones by selecting “Jones” from drop down menu196. Similarly, if the user were only interested in viewing material in English, the user could select English under the drop-down menu heading entitled “language.”

If desired, the manner in which passages152are presented to a viewer by navigation tool84may be based in part on derivation type information associated with a passage. For example, if a passage is a revision of a previous passage, navigation tool84can, as a default, present only the most recent version of the passage. If a passage is an alternate version of another passage, navigation tool84can, as a default, offer the user a choice of viewing either passage. If a passage is a transcription of another passage, then navigation tool84can present both the original passage and the transcribed passage on the screen of client60at the same time, in a split screen format. Navigation tool84could give priority to a particular media (such as video) when derivations of the same passage are present in more than one type of media. Viewer preferences that may be used to automatically chose between alternative passages are preferably stored in the viewer database66. If a passage is a combination, navigation tool84may enable a user to view the components of the combination sequentially (e.g., when the components are chapters in a book) or in parallel (e.g., when the components are audio tracks in a song).

As a user views passages152, ibook server application64preferably stores information concerning which passages have been accessed in access database70. Web browser82and ibook navigation tool84are also involved in keeping track of the length of time a user views each passage. This information is used to reward the contributors whose material is viewed. In addition, the contributors whose material was used to form the basis of the viewed work are rewarded. Contributors may therefore be compensated, even if their work is not accessed and viewed directly by the user. For example, if Smith contributes a book and Jones writes an alternate chapter, both Jones and Smith may be rewarded when the alternate chapter is viewed. The process of rewarding contributors may be substantially automatic and may be administered by ibook server24of the current ibook sponsor or may be administered by ibook server22at the ibook parent organization.

As the user navigates through an ibook using navigation tool84, navigation tool84transmits certain access information to server56, making requests to view material. The steps involved in processing and storing the access information are shown inFIG. 9. At step198, the user at client60determines which passage is to be viewed, for example, by using the various buttons provided by navigation tool84(FIG. 8). Navigation tool84preferably generates a request to view a desired passage and transmits this request to server56at step200. Server application64at server56receives the request and locates the requested passage in ibook Web pages database76at step202. At step204, server56records information about the access request, such as a time and date entry identifying when the requested access took place. Server56transmits the requested passage to client60at step206. Client60displays the passage and may make a time and date entry in local access database92at step208. If time and date entries are made in local access database92, this information is periodically made available to server56for storage in access database70. At step210, the user completes viewing of the passage and at step212, client60transmits information indicating that viewing is complete to server56. At step214, server56records access information in access database70that indicates when the viewing of the passage was completed, e.g., by making a time and date entry.

As defined herein, the term “access information” includes information such as a passage identifier, time and date entries, and information indicating the nature of the transmission from client60to server56. The passage identifier is preferably a universal resource locator (URL) for the passage requested from the ibook Web pages database76. The information indicating the nature of the transmission indicates whether the transmission from client60to server56is a request for the display of a passage (shown by arrow216) or is a transmission indicating that the user has completed viewing the passage (shown by arrow218).

Ibook functions related to revenue collection and distribution are preferably provided by ibook demons78(FIG. 3). An illustrative revenue collection process that is implemented with an ibook demon78is shown inFIG. 10. The revenue collection process shown inFIG. 10may be run periodically (e.g., once per day). As shown inFIG. 10, server56scans access database70to collect all access records for the user who has viewed material at step220. The access records contain information regarding the number of accesses of ibook material that were made and the start and stop times of each access. At step222, server56charges the user who has viewed material according to a predetermined rate schedule. For example, the user can be billed based on the on-line time spent by the user accessing ibook material or the user can be billed based on the number of accesses made. If desired, the user can be billed at a flat rate. At step224, the users's account balance is adjusted accordingly. The user is billed (e.g., by mail or automatic credit card debit) at step226.

Automatic revenue distribution may be performed by ibook demons78that implement the processes shown inFIGS. 11 and 12.FIG. 11shows a process for collating passage information from access database70. The steps shown inFIG. 11are performed for each passage in ibook Web pages database76. At step228, access database70is scanned for records containing access information pertaining to the passage. At step230, server56uses these records to update passage database74to reflect the amount that the passage has been directly accessed by a viewer (e.g., using navigation tool84, as shown inFIG. 9). The “amount” that the passage has been accessed can be determined based on the cumulative access time for that passage and/or the number of “hits” the passage has received (as determined from the access information in the access database). When a contributor's material is directly accessed by the user, the material is being directly used and the contributor is rewarded based on the amount of that access.

Preferably, a contributor is also rewarded when a derivation based on the contributor's material is accessed. When the derivation is accessed, the contributor's material is being indirectly used. At step232, server56uses attribution information associated with each passage that has been accessed to determine whether the passage was based on the work of another contributor. If the passage was based on the passage of another contributor, the passage database74is updated based on the attribution information. There are preferably separate data fields associated with each passage in passage database74that allow passage database74to maintain a record of the amount of direct and indirect usage for each passage. For example, each passage can have associated data fields in which the number of direct hits and the number of indirect hits (i.e., hits on a derivation based on the passage) are stored.

After the process ofFIG. 11is used to update the passages in passage database74to reflect the amount of direct and indirect usage of these passages by users, the process ofFIG. 12is used to collate this information for each of the contributors and to reward the contributors accordingly. The process steps ofFIG. 12are performed for each contributor. At step234, server56scans passage database74for the passages contributed by the contributor. The total amount that these passages have been directly used (e.g., when a viewer directly accesses a passage) is determined at step236. For example, if each of the contributor's passages in the passage database74has an associated data field that indicates the amount of direct use for that passage, step236involves totaling the amount of such direct use for all of the passages. The total amount that the contributor's passages have been indirectly used (e.g., when a viewer accesses a derivation based on the contributor's passage) is determined at step238. For example, if each of the contributor's passages in the passage database74has an associated data field that indicates the amount of indirect use of those passages, step238involves totaling the amount of such indirect use for all of the passages.

The contributor is rewarded at step240. If desired, the contributor may receive a non-monetary reward. For example, ibook server56may publicly post the amount that the contributor's material receives hits, which serves to reward contributors with publicity regarding the popularity of the material they contribute. Contributors may also be rewarded by distributing revenue that has been collected from the users with the process ofFIG. 10or that has been generated by licensing intellectual property developed by the community of contributors associated with an ibook. Preferably, the contributor is rewarded based on both the direct use of the contributor's material (e.g., by direct viewer access) and on the indirect use of the material (e.g., access of a derivation based on the contributor's material).

Monetary rewards may be distributed automatically, e.g., by crediting the bank accounts of the relevant contributors. Preferably, the sponsor of the ibook that is viewed is also rewarded. If desired, the ibook parent organization may be compensated. If the structure or content of an ibook (e.g., ibook A inFIG. 1) is replicated to form a second ibook (e.g., ibook A′ inFIG. 1), this information (or references to this information) is stored in ibook offspring database72and may be used to compensate the sponsor and contributors of the parenting ibook (ibook A) for revenue derived from the offspring ibook (ibook A′).

The replication function used to replicate ibook A′ from ibook A inFIG. 1may be provided by a program that prompts an enrolled sponsor for information concerning the replication process (i.e., by a wizard program). The program used for replication is preferably a downloadable plug-in, such as ibook replication tool90(FIG. 3). Steps involved in replication of an ibook are shown inFIG. 13. At step242, a potential sponsor completes an enrollment process similar to the viewer and contributor enrollment processes shown inFIGS. 4 and 5. During the enrollment process, the nature, obligations, and benefits of becoming a sponsor of an ibook are explained. A sponsor who has already created a new ibook may enroll with additional ibooks so that the sponsor will be permitted to replicate material from any such additional ibooks into the new ibook. If the sponsor agrees to the rules governing ibook sponsorship and the replication of material from an existing ibook, the sponsor is enrolled.

At step244, the sponsor specifies the identity of the child ibook server onto which a new ibook is to be placed or onto which additional material is to be replicated. At step246, the sponsor specifies the identity of the new ibook. At step248, it is determined whether the child server identified at step244has a server application installed. If the server application is not installed, server application64from the parent ibook with which the sponsor has enrolled is replicated (e.g. by downloading or referencing) at step250. If server application64is already installed, step250is bypassed. At step252, the sponsor selects which ibook demons78it is desired to replicate from the parent server to the child server. The selected demons78are replicated at step254. At step256, the sponsor selects which ibook parent plug-ins80are to be replicated onto the child server. The selected plug-ins are replicated at step258. At step260, it is determined whether ibook databases have been initialized on the child server. If not, the child ibook server databases are initialized at step262. If the child ibook server databases have already been initialized, step262is bypassed.

At step264, the sponsor decides whether content of the parent ibook (e.g., in the form of text or multimedia information stored in ibook Web pages database76and linking information stored in passage database74) should be replicated from the parent server onto the child server. The selected ibook Web pages and associated linking information are replicated from the parent server to the child server at step266. The child ibook databases are updated at step268. Information concerning the replication process is stored in offspring database72. Replication terminates at step270. The content of multiple ibook parents can be merged into a single child ibook by repeating the process ofFIG. 13.

Because the ibook can be replicated, successful ibooks can spawn additional ibooks. Further, since ibooks may be created to specifically support certain media or themes, different ibooks may spawn different families of offspring ibooks each of which has an associated community of interested users.

In order to ensure that the presence of an ibook is known to those who would be interested in contributing to or viewing the content of the ibook, ibooks preferably support various functions for advertizing their presence to popular search engine databases. Suitable search engines to which the ibook can advertize its presence include Yahoo, Alta Vista, and Lycos. One suitable way in which to advertise the presence of an ibook is for ibook server application56(FIG. 3) to send suitably formatted e-mail messages to the Web site manager at the Web site address associated with the various search engines. As shown inFIG. 1, search engine server36contains Web index40. Ibook server application64or an ibook demon78may automatically extract hypertext markup language (HTML) keyword information from the ibook Web pages stored in ibook Web pages database76and/or the passage characteristics for these Web pages stored in ibook passage database74and submit this information for inclusion in Web index40. Ibook authoring tool84preferably also presents the contributor with queries for keywords during the authoring process. This keyword information can also be submitted for inclusion in Web index40.

If desired, the ibook server associated with the ibook parent organization can be used to support a comprehensive database. The ibook server application64of each existing ibook can provide keyword and other ibook indexing information to this database.

Certain aspects involved in using an ibook system to facilitate the creation of musical works are shown inFIG. 14. In ibook system272, a first composer at client274records a high-fidelity track (track A) in the form of ibook passage276using ibook authoring tool86. For example, the first composer may create a rhythm guitar track to form the basis of a new song. Because high-fidelity audio requires a substantial amount of memory to store, the first composer can create a low-fidelity derivation of track A on server278as passage280and make this version available to other ibook contributors. Passage280is an alternate resolution derivation of passage276and has an associated derivation link282. Attribution link284shows that passage280was derived from passage276.

The low-fidelity version of track A in passage280can be viewed (listened to) by a second composer at client286, who can then add material, such as a vocal track. Low-fidelity passage280contains less information than the corresponding high-fidelity passage278, so it is easier to provide passage280to client286. The second composer may listen to the contents of passage280in realtime over data network288, or a local copy of passage280can be downloaded onto client286. Playback of low-fidelity track A may be accomplished using navigation tool84. If desired, the second composer can use authoring tool86to add a vocal track, while listening to the rhythm guitar track of the first composer. A high-fidelity version of the vocal track (track B) can be stored on client286in passage290. Passage290is a collaboration derivation of passage280and has an associated derivation link294and attribution link295. The second composer can create a low-fidelity version of track B on server278in passage292. Passage292is an alternate resolution derivation of passage290and has an associated derivation link297. Attribution link296shows that page292was derived from page290.

Authoring tool86preferably supports the automatic generation of derivation and attribution information during the process of recording new tracks based on previously contributed tracks. Ibook navigation tool84allows users to listen to multiple tracks in parallel, in the form of a song. Users can select which tracks are played back and the mix of the track using tools such as drop down menu196and volume buttons for each track. For example, the user can elect to hear only those tracks contributed by a certain composer. In addition, contributors can create songs by copying selected tracks and editing them using authoring tool86.

Server278maintains sufficient information concerning original passages276and290to allow passages276and290to be copied to server278or any suitable location upon request. For example, server278may contain the URLs of passages276and290in ibook databases such as passage database74and ibook Web pages database76. If desired, the URLs of passages276and290can be used by navigation tool84and authoring tool86to play back the high-fidelity versions of tracks A and B.

Although various information concerning the ibook passages, such as derivation linking information, derivation type information, passage characteristics, and attribution information have been described as being stored in passage databases, a suitable alternative is to store this information in the Web pages that contain the passages or as a set of relations and tables in a suitable relational database, or as a set of objects in an object database. Another suitable alternative is to use linking technology, such as Object Linking and Embedding (OLE) or Component Object Model (COM) technology to represent the passages and their attribution and derivation relationships.

Various techniques may be used to represent the contents of ibook Web pages (e.g., the ibook Web pages in ibook Web pages database76). For example, ibook Web pages may be represented by static data. Alternatively, ibook Web pages may be represented by code that is capable of generating the Web page contents, e.g., code that generates the entries of a table or list. If desired, ibook Web pages on a given server or client may be represented by a reference (e.g., a URL) to material that is actually stored elsewhere in the data network.

In addition, although the data network preferably supports the HTML protocol that is commonly used to implement World Wide Web communications (because the HTML format has the advantages of standardization, wide-use, and sufficient capacity to implement the features of the ibook system), other protocols may be used, such as one based on Virtual Reality Modeling Language (VRML) or Structured Generalized Markup Language (SGML) or any client-server transaction-based packet-switched protocol.