Abstract:
An embodiment of digital watermarks which contains literary information of interest to a reader of an electronic literary macramé (ELM) or a knowledge transfer tool (KTT). The nature of the watermark changes by the deepening of its role in the ELM/KTT, since the watermark becomes what is termed in cryptographic parlance a “side channel” for conveying narrative-related information to a reader outside the primary communications stream. If a reader removes the digital watermark from the work, the side channel containing narrative-related information is destroyed, and the literary value of the work is thereby diminished.

Description:
REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Application No. 60/833,201, filed Jul. 25, 2006, and U.S. Provisional Application No. 60/909,197, filed Mar. 30, 2007, both of which are hereby incorporated by reference. This application also claims the benefit of PCT Application No. PCT/US2007/062801, filed Feb. 26, 2007, which is hereby incorporated by reference. Reference is also made to the following related applications: U.S. Nonprovisional Application No. 11/361,439, filed Feb. 24, 2006, entitled “Apparatus and Method for Creating Literary Macramés”; U.S. Nonprovisional application Ser. No. ______, filed ______, entitled “Method and Apparatus for Electronic Literary Macramé Component Referencing,” attorney docket no. 305466-301883US03; U.S. Nonprovisional application Ser. No. ______, filed ______, entitled “Method and Apparatus for Presenting Electronic Literary Macramé on Handheld Computer Systems,” attorney docket no. 305466-301883US04; and U.S. Nonprovisional application Ser. No. ______, filed ______, entitled “Method and Apparatus for Electronic Literary Macramé Business Development,” attorney docket no. 305466-301883US05, all of which are hereby incorporated by reference. 
     
     AREA OF THE INVENTION 
       [0002]    This disclosure relates to the creation and reading of texts readable on computers, and more specifically to the creation of interconnected narratives and references readable using browser programs such as those adapted for use on the World Wide Web. 
       BACKGROUND OF THE INVENTION 
       [0003]    To illustrate and provide background for the present method and apparatus, the patent application titled “Apparatus and Method for Creating Literary Macramés”, U.S. patent application Ser. No. 11/361,439, by the present inventor, is incorporated herein by reference. A literary macramé, also called here an ‘ELM’, or electronic literary macramé, is a form of text offering readers advantages over other forms of literature in referencing and tracing connections. 
         [0004]    To provide further background and support for the present method and apparatus, the patent application titled “the Knowledge Transfer Tool: An Apparatus And Method For Knowledge Transfer”, International Application No. PCT/US2007/062801, also by the present inventor, is also incorporated herein by reference. The Knowledge Transfer Tool, also called here a ‘KTT’, combines ELM characteristics and capabilities with rule-based expert system and programmed-instruction components to allow authors to produce immersive learning programs in literary and textbook forms on electronic media. 
         [0005]    To provide context for ongoing developments relating to the present method and apparatus, the patent applications titled “Method And Apparatus For Electronic Literary Macramé Component Referencing”, “Method And Apparatus For Electronic Literary Macramé Business Development”, and “Method For Presenting Electronic Literary Macramés On Handheld Computer Systems”, also by the present inventor, are additionally incorporated herein by reference. 
         [0006]    A digital watermark is a distinctive identifying pattern or encoding applied to an electronic file or work to distinguish one copy, version, or source of the work from another. Effective digital watermarks have the additional properties that they are: 1) sufficiently unobtrusive to present no distraction or obstacle to the target audience of the work, and 2) sufficiently difficult to remove from the work that the effort needed for removal outweighs the advantages of that removal. 
         [0007]    Literary works published or read in electronic form are easy to copy. The ease of copying presents an obstacle to an author or publisher who wishes to profit from publishing a work electronically. Many copy-protection schemes are well-known in the art of electronic publishing, but with sufficient time and resources, all can be broken. Those who wish to profit from the sale or presentation of electronic literary works must find ways of discouraging copyright violation while avoiding the kinds of fiascos which have plagued vendors using copy-protection tools. The rootkit scandal perpetrated by a copy-protection software supplier on behalf of Sony Corporation is a salient case. 
         [0008]    Digital watermarks are now a conventional technology, installed in many forms in many types of copyrightable electronic works, and provided by numerous vendors. They constitute a limited form of copy protection, in that their presence can identify copies or sets of copies of a literary work. If a copy containing a digital watermark is furnished by a publisher to a buyer, the contents of that copy&#39;s watermark may be used to associate the copy with the buyer, so that additional copies appearing with the same watermark may be considered illegal copies originated from the buyers copy. The buyer may then be held accountable for the copyright violation. 
         [0009]    Despite measures taken to prevent removal, a digital watermark may be removed from an electronic literary work, rendering the work untraceable to a buyer. Those wishing to benefit from the limited copyright protection afforded by digital watermarks would benefit from an invention that reduces the attractiveness of removal of the digital watermark. 
     
     
       DESCRIPTION OF DRAWINGS 
         [0010]      FIG. 1  shows the overview of the apparatus of the ELM/KTT. 
           [0011]      FIG. 2  shows the method of transforming narrative text into watermark information. 
           [0012]      FIG. 3  illustrates the stages of transformation of narrative text to watermark information. 
           [0013]      FIG. 4  shows the use of watermark information in hypertext links. 
           [0014]      FIG. 5  shows the method of transforming watermark information into narrative text viewable as part of an ELM/KTT. 
           [0015]      FIG. 6  shows the stages of reconstruction of the original narrative text from the hypertext links containing the watermark information, and the resulting ELM/KTT page. 
       
    
    
     SUMMARY OF THE INVENTION 
       [0016]    The present method and apparatus provide an embodiment of digital watermarks which contains literary information of interest to a reader of an electronic literary macramé (ELM) or a knowledge transfer tool (KTT). The present method and apparatus change the nature of the watermark by deepening its role in the ELM/KTT, since the watermark becomes what is termed in cryptographic parlance a “side channel” for conveying narrative-related information to a reader outside the primary communications stream. If a reader removes the digital watermark from the work, the side channel containing narrative-related information is destroyed, and the literary value of the work is thereby diminished. 
         [0017]    The present method and apparatus replace a subset of an ELM&#39;s or KTT&#39;s HTML link-anchor values with a set of strings taken from unpublished portions of the ELM&#39;s or KTT&#39;s narrative text, encoded to remove redundancies that would cause collisions among the values produced, and stored as HTML link anchors embedded in Web pages comprising the ELM/KTT. The present method and apparatus also provide code to be executed by the reader&#39;s browser program which reconstructs and presents the unpublished portion of text to the reader, at the reader&#39;s selection of an appropriate link embedded in the ELM. The distributed narrative text comprises the watermark for the ELM/KTT. 
         [0018]    In additional embodiments, the present method and apparatus identify elements of the ELM/KTT by using a text-substitution scheme similar to that proposed hereinabove, but extended to use filenames, pathnames, and other classes of identifiers as a means of storing concealed content of the ELM/KTT. 
       DETAILED DESCRIPTION OF THE INVENTION 
       [0019]    See  FIG. 1 . The present apparatus comprises a computer system  6 , made up of one or more processors (CPUs)  61 , a user display interface component  63  such as a CRT, flat-panel display, or other viewing device, one or more user input interface components  64  such as a keyboard, a mouse, a touch panel, a scribing device such as a stylus, or some other pointing, selection, or data entry device, and one or more memory components  62 . Any of the memory components  62  may hold an operating system  601 , one or more software applications  602 , and one or more electronic documents  611 . Each electronic document  611  comprises a plurality of components  621 . 
         [0020]    The software applications  602  of the present apparatus comprise two hypertext linking programs: a first software application for encoding watermark information in one or more of said components of each said electronic document, and a second software application for decoding and presenting said watermark information in one or more of said components of each said electronic document. 
         [0021]    The ELM and the KTT use HTML or XHTML to present an author&#39;s literary content. HTML and XHTML are markup languages which define the modes and manners of presentation of literary content. Such markup languages allow the storage of a great deal of information which is not presented to a reader as literary content. For example, HTML will reduce a string of space characters to a single space, so that information can be conveyed by varying the number of space characters from one interword gap to the next. The conveyance of such information in this manner is called “using a side channel”. A second example of a side channel in HTML is the use of comments, enclosed between markup character strings “&lt;!-” and “-&gt;”, to convey literary content of a work. Such means of conveying literary content require the use of special programs to retrieve the content and display it for a reader. The present method and apparatus supply such programs in each embodiment. 
         [0022]    In a first embodiment of the present method and apparatus, the author of an ELM/KTT supplies an additional content-bearing text of sufficient length to be divided up into unique identifying strings of characters. Each identifying string is then embedded in unused coding space in the ELM&#39;s or KTT&#39;s HTML files, one identifying string for each HTML link anchor to be created. 
         [0023]    Conventionally, the HTML link anchor is a text string used by browsers to mark a point in a Web page to which a browser program may position said Web page for viewing or other use by a user of the browser. Such marking appears in one of two common forms: the string ‘name=“&lt;anchor&gt;”’, or the string ‘id=“&lt;anchor&gt;”’, where &lt;anchor&gt; is the link anchor text identifying the desired point in the Web page. To position the Web page to its anchor for viewing or other use, a user selects an HTML link, in the same or some other Web page, containing the name of the desired Web page and the identifier of the link anchor. The browser responds to the selection by accessing the named Web page and displaying or otherwise presenting the information at the position of the link anchor on the accessed Web page. 
         [0024]    The text content of the link anchor identifier may be any alphanumeric string possibly containing one or more other special characters that do not affect the operation of HTML, e.g., an underscore (“_”) There is no intrinsic meaning to the link anchor identifier&#39;s text string—one string of characters is as good as another, as long as each such string is unique among the strings in use in a Web page. The absence of intrinsic meaning allows the present method and apparatus to employ strings of its own devising, thereby embedding the information of the present method and apparatus in the link anchor strings being used. Taken as a unit, the information embedded in the link anchor text values comprises a watermark that identifies a set of copies of the ELM/KTT. 
         [0025]    In a first encoded embodiment, the watermark of the present method and apparatus comprises a narrative text interlaced with numeric identifiers to insure uniqueness of each link anchor. A glossary-link version of the first embodiment of the present method and apparatus applies watermarking of the links to the ELM/KTT glossary only, which comprises the bulk of the links in the ELM/KTT. Each identifying string in the present method and apparatus constitutes a segment of text such that if all the segments were ordered and concatenated in that order, the original narrative text from which they were taken would become visible and readable. Since the glossary of an ELM/KTT may contain several thousand entries, there is sufficient space in the HTML link anchor names alone to store a significant amount of readable text in some encoded or unencoded form. The narrative text used is taken from writings created and selected by the author of the ELM/KTT. 
         [0026]    The present method and apparatus provide for the reading of the watermark narrative as a text by the user of the browser. A special link offered to the reading user, when selected, leads to a Web page that executes JavaScript code to decode and assemble the watermark link anchors in readable form. Concealment or encoding of the process of finding and selecting the special link treats the watermark narrative as a kind of “Easter Egg”: a hidden feature of a work which provides amusement and information when uncovered by a reader. 
         [0027]    The watermarked link anchor text must be unique within any Web page in which it appears. To allow the browser to order and concatenate the link anchor strings, the present method and apparatus insert in each link anchor string a set of values in fixed positions which identify the containing anchor text string&#39;s relative position in the text sequence. To insure that the strings contain values acceptable for browser processing, the present method and apparatus recode all punctuation and other non-alphanumeric characters in the narrative text used into numeric values which may be easily decoded for presentation when the reader wishes to read the hidden text. 
         [0028]    See  FIG. 2  for the encoding software application  602   a  of the present method and apparatus. The present method and apparatus use as input a digital text  10  containing information of interest to a reader of an ELM/KTT. The present method and apparatus break up ( 101 ) the digital text  10  into a series of strings  15 , and modify or encode ( 103 ) each string  15  to avoid the use of unconventional characters in HTML link anchor names, thereby producing encoded string  16 . In a simple-encoding embodiment, all punctuation and spacing characters in string  15  are encoded into numeric values, accompanied by a signaling escape character, and the numeric valuesty are stored as text replacing the original unconventional characters. Ordinary alphanumeric characters are stored in encoded string  16  as themselves. 
         [0029]    To each encoded string  16  the present method and apparatus add ( 105 ) a numeric index value in a fixed set of positions which collectively represent the relative position of the string in the input text, producing a link anchor identifier  17 . The added index value may have its digits scattered or together, and may appear in any portion of the identifier  17  as long as it can be easily and reliably found, retrieved, and removed. 
         [0030]    The present method and apparatus store link anchor identifiers  17  as identifiers of locations in glossary, reference, or tabular text units, in the database tables  19  of the present method and apparatus defining and holding contents for such text units. From database tables  19  the present method and apparatus build ( 109 ) ELM/KTT glossary, reference, and tabular pages  31  for readers, each page containing embedded encoded link anchor values  20 . 
         [0031]      FIG. 3  illustrates the kinds of values that can appear at each stage of the process shown in  FIG. 2 , from text in a unit text file  10  all the way to encoded link anchor values  20  in an ELM/KTT page  31 . 
         [0032]    In an encrypted embodiment (not shown), the present method and apparatus may optionally encrypt or otherwise transform the input digital text  10  for the entertainment of readers or for restriction of access to the text by one or More classes of reader. Such encryption or transformation of digital text  10  produces no functional difference in the use of the link anchor identifiers  16  in HTML or XHTML. In such an encrypted embodiment, transposition, substitution, and other conventional encryption techniques may be used to map each encoded string  16  to an encrypted string which may be used instead of encoded string  16 . 
         [0033]    In a glossary-based embodiment of the present method and apparatus, every link to a glossary entry, including all links in the scenes/units, the references, and the glossary itself comprises a distinctive alphanumeric identifier  17  that may change value from one compilation of the ELM/KTT to the next. When the present method and apparatus generate the glossary, the link anchor entry contents become the anchor value for the corresponding term in the glossary, replacing the term itself as ordinarily used for the link anchor value. In said embodiment, all copies generated from the same compilation have the same link identifiers  17 , but copies generated from different compilations of the ELM/KTT are mutually incompatible vis-a-vis the glossary links. Other embodiments may base link identifiers  17  in multiple glossaries, multiple references or tables, or any other combination of text units from which said identifiers may be usefully retrieved for the purposes of the present method and apparatus. 
         [0034]    An ELM/KTT produces different outputs as an author or editor revises and corrects its content over time. In successive releases of ELM/KTT output of the present method and apparatus, new narrative texts may be used in place of earlier ones to comprise the link anchor contents, perhaps to offer previews of new material not yet published, while the earlier text used to derive HTML link anchor name values may be moved into the main body of the ELM/KTT. In a customizing embodiment, each distributed copy of an ELM/KTT may contain a unique input digital text  10 , thereby associating said copy unambiguously with a specific buyer, lessor, or other receiving reader. 
         [0035]    See  FIG. 4 . The present method and apparatus store all link anchor identifiers  17  in one or more ELM/KTT Web pages  31  to operate as anchors  20   a - d  for readers to use in linking to the pages and locations containing them. Links  40   a ,  40   b  in ELM/KTT Web pages  32 ,  33 , and  34  link back to link anchors  20   a ,  20   b  respectively in Web page  31  to serve the reader&#39;s needs in selecting any of links  40   a ,  40   b.    
         [0036]    Note that since the link values themselves are not visible in the text of the work, they comprise no distraction or obstacle to the reader enjoying the work. But the present method and apparatus offer the curious reader a “side channel” that can be explored by delving into the HTML code of the Web page comprising each scene, or the HTML code of the glossary. 
         [0037]    See  FIG. 5  for the decoding software application  602   b  of the present method and apparatus. To recreate the original input text for display in a Web page  35 , the present method and apparatus collect ( 121 ) all of the link anchors  20  to produce a list of link anchor identifiers  17 , extract the sequencing index value from each link anchor name value to retrieve and sort ( 123 ) the identifiers  17  to produce the encoded string  16 , replace ( 125 ) any encoded or encrypted characters in encoded string  16  with their original text values to produce string  15 , concatenate all strings  15  to recreate the source text  10 , mount the source text  10  in a Web page  35 , and display Web page  35  to the reader. 
         [0038]      FIG. 6  illustrates the kinds of values that can appear at each stage of the process shown in  FIG. 5 , from encoded link anchor values  20  in an ELM/KTT page  31  all the way to text in a in a watermark unit text page  35 . 
         [0039]    Readers are free to choose easier or harder ways to perform the extraction and reconstruction. The hard way is to use only the ELM&#39;s or KTT&#39;s narratives in the story pages. An easier way is to traverse the ELM/KTT pages containing the link anchors and pull out the link anchor name values one by one in order, decoding or decrypting them to build up the concealed watermark text. Different encryption embodiments of the present method and apparatus can be adjusted to scramble that order, or to encrypt the input text. Such adjustment serves two purposes. It offers the reader a more significant challenge, and it can enhance the protective value of the digital watermark. 
         [0040]    Removal of the digital watermark described hereinabove is not a trivial exercise. Link-anchor values are scattered without pattern throughout the text of the ELM/KTT. Consequently, altering the link-anchor values comprising the digital watermark requires considerable time and effort. Furthermore, removal prevents the reader-initiated presentation of the concealed narrative information. Anyone wishing to preserve the ability to view the concealed narrative information in the manner of the present method and apparatus after watermark removal must replace the removed links. The primary difficulty with alteration of the link-anchor values is that each value must be changed to a functional link-anchor value in all places in the ELM/KTT where the link is used. The difficulty and inconvenience of removing the watermark renders such removal less attractive to readers, thereby enhancing the protection of the work afforded by watermarking it. 
         [0041]    The present method and apparatus constitute an instance of a more-general class of inventions that use various HTML, XHTML, XML, or other markup components to embed and recover side-channel content-bearing information for readers of the work. Conventionally, markup components contain only presentation information. The present method and apparatus exploit unused or redundant coding space in electronic documents to convey literary content to a reader. This approach is analogous to the use of TCP/IP fields as side-channel bearers of application information in Internet communications protocols. 
       Illustration of Invention 
       [0042]    An instance of the present method and apparatus contains an HTML-coded story text to be stored as described above, starting with:
       &lt;h3&gt;OBERON&lt;/h3&gt;   &lt;p class=“tdate”&gt;2416 CE&lt;/p&gt;   &lt;p class=“story”&gt;Doug&#39;s hand jetted away from his wrist, the severed vessels spewing blood crystallizing into sparkles in the vacuum, his suit pressure alarm shrieking. Shit, another one gone. And the ring Jan gave me. He tourniquetted the suit sleeve; the alarm dropped to a mutter. The grind would dock him another two jolts of Met when he got back aboard the Can, just for taking the time in the regen hole. And no Met meant no sleep, the missing hand flaming his arm all the Uranian night.&lt;/p&gt;   &lt;p class=“story”&gt;Four hundred meters might as well have been point-blank for Nye&#39;s laser. Nye, damn his pus-running ears, just couldn&#39;t keep his fingers off the trigger.&lt;/p&gt;
 
The present method and apparatus remove the HTML features, leaving:
   OBERON   2416 CE   Doug&#39;s hand jetted away from his wrist, the severed vessels spewing blood crystallizing into sparkles in the vacuum, his suit pressure alarm shrieking. Shit, another one gone. And the ring Jan gave me. He tourniquetted the suit sleeve; the alarm dropped to a mutter. The grind would dock him another two jolts of Met when he got back aboard the Can, just for taking the time in the regen hole. And no Met meant no sleep, the missing hand flaming his arm all the Uranian night.   Four hundred meters might as well have been point-blank for Nye&#39;s laser. Nye, damn his pus-running ears, just couldn&#39;t keep his fingers off the trigger.
 
The present method and apparatus then break up the text and encodes its non-alphanumeric characters into anchor character strings longer than a defined minimum length and ending in any of a set of characters common in text. Each anchor character string contains a watermark serial number and the characters of coded text. The above text is now in the form:
       
 
         [0000]    
       
         
               
               
               
             
           
               
                   
               
             
             
               
                 0001OBERON)_0D 
                 0020tourniquetted_20 
                 0039no_20sleep_2c_20 
               
               
                 00022416_20CE_0D 
                 0021the_20suit_20 
                 0040the_20missing_20 
               
               
                 0003_20Doug_27s_20 
                 0022sleeve_3b_20 
                 0041hand_20flaming_20 
               
               
                 0004hand_20jetted_20 
                 0023the_20alarm_20 
                 0042his_20arm_20all_20 
               
               
                 0005away_20from_20 
                 0024dropped_20to_20 
                 0043the_20Uranian_20 
               
               
                 0006his_20wrist_2c_20 
                 0025a_20mutter_2e_20 
                 0044night_2e_0D 
               
               
                 0007the_20severed_20 
                 0026The_20grind_20 
                 0045_20Four_20hundred_20 
               
               
                 0008vessels_20spewing_20 
                 0027would_20dock_20 
                 0046meters_20might_20 
               
               
                 0009blood_20crystallizing_20 
                 0028him_20another_20 
                 0047as_20well_20have_20 
               
               
                 0010into_20sparkles_20 
                 0029two_20jolts_20 
                 0048been_20point_2dblank_20 
               
               
                 0011in_20the_20vacuum_2c_20 
                 0030of_20Met_20when_20 
                 0049for_20Nye_27s_20 
               
               
                 0012his_20suit_20 
                 0031he_20got_20back_20 
                 0050laser_2e_20 
               
               
                 0013pressure_20 
                 0032aboard_20the_20 
                 0051Nye_2c_20damn_20 
               
               
                 0014alarm_20shrieking_2e_20 
                 0033Can_2c_20just_20 
                 0052his_20pus_2drunning_20 
               
               
                 0015Shit_2c_20another_20 
                 0034for_20taking_20 
                 0053ears_2c_20just_20 
               
               
                 0016one_20gone_2e_20 
                 0035the_20time_20 
                 0054couldn_27t_20 
               
               
                 0017And_20the_20ring_20 
                 0036in_20the_20regen_20 
                 0055keep_20his_20 
               
               
                 0018Jan_20gave_20 
                 0037hole_2e_20And_20 
                 0056fingers_20off_20 
               
               
                 0019me_2e_20He_20 
                 0038no_20Met_20meant_20 
                 0057the_20trigger_2e_0D 
               
               
                   
               
             
          
         
       
       
         
           
             The first line (the scene title line), has its first segment encoded to: 
             0001OBERON — 0D
 
which breaks down into:
 
             0001: the four digits of the watermark serial number 
             OBERON: OBERON is the first word of the scene title. 
               — 0D: escape character for a nonalphanumeric coded character, followed by the first character of a hexadecimal code for that character (in this case, a carriage return)
 
The watermark serial number is therefore 0001. The watermark itself is now used as the name anchor value for a glossary link. The first entry in the glossary of the ELM might be the assigned entry for the first watermark in the set generated by the present method and apparatus. Consequently the name anchor value for that glossary entry reads:
 
             &lt;a name=“0001OBERON — 0D”&gt;&lt;/a&gt;
 
The uniqueness of the name anchor is assured by the inclusion of the unique watermark serial number, so that there can be no collisions of identical HTML name anchors. All browser links to the glossary entry having the above name anchor will operate by linking the reader to the entry&#39;s position in its Web page, e.g.,
 
             &lt;a href=“0001OBERON — 0D”&gt;glossary term&lt;/a&gt; 
           
         
       
     
         [0058]    The relative positions and encodings of the digits of the serial number, and the relative positions and encodings of the characters and substrings of the text of the link anchor, are selectable by the author, publisher, or editor, as long as they insure uniqueness and usability. Furthermore, the same link anchor text may be used in two different Web pages, since the presence of the Web page file name as part of a link reference disambiguates the names. 
         [0059]    The present method and apparatus reconstruct the original text for reader enjoyment using browser-executable code such as JavaScript that removes the serial numbers and restores the non-alphanumeric characters to their original values. Furthermore, the browser-executable code can supply HTML commands to mark up the reconstructed text for ease of reading and consistency of presentation with the ELM/KTT. 
         [0060]    Authors can make such programs available as they see fit. In successive releases of an ELM/KTT, different texts can be used to generate the anchor values, thereby distinguishing one ELM/KTT release from another via the differences in watermarks used in the two releases. In an advanced embodiment, the present method and apparatus provide for a unique watermark text for every copy of the ELM/KTT provided to an end user, thereby associating said copy with said user. 
         [0061]    While the present method and apparatus have been described with reference to preferred embodiments, it will be understood by those skilled in the software and related arts hat various changes may be made and equivalents may be substituted for elements thereof to adapt to particular situations without departing from the scope of the present method and apparatus. Therefore, it is intended that the present method and apparatus not be limited to any particular embodiments or combination of embodiments disclosed as the basic, primary, or best mode contemplated for carrying out this present method and apparatus, but that the present method and apparatus will include all embodiments falling within the scope and spirit of the appended claims.