Abstract:
A egocentric network including an author, a document created by the author, the document for dissemination over a computer network, a recipient for receiving the document from the author, a first egocentric network monitor for presenting a visual and/or audio representation of a point of view of the author for the document and a point of involvement for the document, a second egocentric network monitor for presenting a visual and/or audio representation of a point of view of the recipient for the document and a point of involvement for the document, and a point of involvement for said document. In addition, methods and apparatuses for sharing and communicating information over a computer network are included.

Description:
This application claims benefit under 35 U.S.C. §119(e) of the filing date of U.S. Provisional Application No. 60/276,386 filed Mar. 16, 2001; the entire disclosure of which is incorporated herein by reference. 

   BACKGROUND OF THE INVENTION 
   1. Field Of The Invention 
   The invention relates to the field of information networks, information gathering, altering and sharing, and more particularly, the invention relates to techniques for the assembly and arrangement of multiple format information into a work for forwarding to third parties and publishing to on a computer network. 
   2. Background of Related Prior Art 
   Electronic Mail (E-mail) and other messaging systems provide a means for sending electronic messages from one computer user to another. E-mail has advantages of convenience, format and storage of messages for later retrieval. As such, E-mail has been accepted and widely used for basic communication. E-mail is typically a text based format, however, and proves to be very limiting for the communication of complex documents, such as reports, articles, advertisements, images, audio and video. 
   E-mail systems do provide a means for distributing images, audio and video information by appending to a text based E-mail message with an associated file to be downloaded along with the E-mail message. However, such rich media files tend to be too large to be downloaded efficiently. Moreover, most systems that allow the appending of an associated file are designed to allow a single user to send unsecured files to an associate or friend, and neither allow for controlled automated distribution to multiple recipients, nor do they provide advanced accounting, billing or other such features (e.g., receipt notification). E-mail gateways also limit the size and applicability of attachments, and do not solve the problems of security and receipt notation or acknowledgment. 
   Within the past decade, the Internet, corporate intranets and personal computers have become full of rich media content including pictures, music, animation, and video. If a person wishes to communicate using any combination of this rich media, it is a laborious process. Each piece of information must be integrated into a user&#39;s e-mail as a separate attachment. These attachments are usually large files having disparate formats. A recipient of an e-mail message with attached rich media files must download each of these large attachments individually and then hope to have the appropriate applications or plug-ins to view each of the attachments. 
   SUMMARY OF THE INVENTION 
   The present invention includes authoring and communicating methods and apparatuses for disseminating and managing information over a computer network to be viewed on a networked device (e.g., client computer, PDA, cell phone, and the like) via a distribution channel (e.g., email, instant messaging, web page). The information may be presented using a “just-in-time” application or an “application on the fly”. The author composes an authored work to which different information is assembled for viewing and editing, interacting, updating and like. The information may include images, sounds, video, graphics and/or text. The information may be formatted so that when presented, it is displayed in a predetermined manner (e.g., sequenced like a Microsoft Powerpoint presentation) or at the control of the recipient. 
   After the author has assembled the work, it is compiled, creating a just-in-time application (netomatic application), so that code essential to the creation or invoking of an application for presenting the work (for example: media player, sequencer, audio player), and/or code that is necessary for being presented with the work (i.e., search engine, downstream authoring, instant messaging) is included with the code which details the presentation. 
   The compiled code includes the essential code for presenting the information (e.g., document) on the recipient&#39;s computer. Alternatively, the code may prompt the recipient&#39;s computer to download or execute the appropriate application software to present the information. Thus, the presentation preferably includes code elements for creating or invoking an application and for displaying the information to either check to see if the networked device includes a media player (e.g., Windows media, Real media player, etc.), and if so, then invoking the media player to play the information upon the displaying of the presentation (e.g., the opening of an email, the displaying of a banner ad). Alternatively, the networked device may have a netomatic application resident (thus having the particular application elements for presenting a NML document), then all the necessary components will be there to display the presentation. 
   Any information originating from the authoring computer (video, images, sound) included in the presentation may be uploaded to a server or stored locally at the author&#39;s computer, and an external reference to the information is included in the formatted code. Any information which does not originate from the authoring computer will be included by reference in the presentation, and will be included by reference in the compiled code. 
   The compiled code is then forwarded to a distribution channel for viewing over a networked device. A distribution channel may be a web page, an email, an instant messaging application, a wireless device, or an advertisement banner. 
   Upon displaying the presentation on a networked device, the information is then retrieved directly from the server from which it resides (either information uploaded to the netomat server or other information stored on other servers of the network). Thus, if the distribution channel is an email, then the essential material in the email is merely the code for creating/invoking the application necessary to display and be presented with the presentation, and code (external reference) for obtaining the information to display during the presentation, resulting in a small file size of the email (e.g., a video presentation email being only 10k in size). 
   With this idea, aside from including code to create/invoke the application for displaying the presentation, the author may include code for creating/invoking an instant messaging application, a search engine, an annotating tool set (downstream authoring), etc. 
   Moreover, the present invention is directed to self-managed, and self-created networks (i.e., self-empowered networks) in which popular information is multiplied throughout the network and non-popular information is not. Thus, it is not a problem in determining by a network administrator how much space a document will be entitled to hold on a server, but rather, if the information is popular, its popularity will then determine such space. 
   The self-empowered, egocentric network thus allows the creator of the information to control access from a single message, to open public access available to web search engines. In effect, a new egocentric network is created for each new document created or edited by an author. 
   Moreover, the author is always in control of the information which is externally referenced by the NML document. Specifically, another embodiment of the present invention provides for the control of information over a computer network by an author; i.e., an “egocentric” network. Essentially, in the above authoring embodiment, once the author has uploaded the compiled code and information onto the server (i.e., the netomat server), the compiled code and information includes methods and apparatuses which can control who may access the presentation/information and how it may be accessed. The author may also continually update information contained within his created NML document. Thus, any recipient viewing the NML document to which the author has changed the information contained therein (after the document has been sent) will be presented with the updated information upon viewing the document. 
   Moreover, the methods and apparatuses according to this embodiment may also tell the author who has accessed the information and how many times the information has been accessed. For example, if a presentation is forwarded through email to a friend of the author, the author can invoke certain rules to limit access to the presentation/information to certain individuals, a certain number of times, etc. The author may also publish the information generally, such that anyone receiving the email (i.e., being forwarded by the original receiving party and subsequent others) can access the information, and that search engines (web crawlers) can find the information for others to access. 
   In yet another embodiment of the present invention, netomatic markup language (NML), a unique application of extensible markup language (XML) is provided. The code is similar to XML (see the World Wide Web Consortium, Extensible Markup Language (XML) 1.0 specification, 2nd edition Oct. 6, 2000, herein incorporated by reference), but has different, unique semantics. Specifically, the language allows one to create a small file size document that is preferably text based, which contains within the very document itself the information to be communicated, the means of communicating the information (transport), who may create or change the information (authoring), who may view the information (messaging) and how the document may be viewed (presentation). Other computer languages (HTML, XML, SOAP, SMTP) specify solely how the information may look (HTML)&lt;how it is structured (XML), and how it may be transported (SOAP, SMTP). NML allows a single document to specify all of these layers. Accordingly, NML provides a way which allows for the authoring, messaging, and presentation methods and apparatuses briefly described above, as well as the egocentric network. 
   Accordingly, in a first aspect of the present invention, a method of communicating information includes authoring a document in a code for presenting information contained within the document in a predetermined manner on a networked device. The code comprises specific code for communicating the document over a computer network, code for controlling who may create and/or change the information contained in the document, code for controlling who may view the information contained within the document and code for how the document is presented on a networked device. The method further includes disseminating the document through a computer network, either by uploading the document to a server or by making the document available through peer-to-peer networking, and forwarding the document to a distribution channel for presenting the document on the networked device. When the document arrives at the distribution channel, the code creates or invokes a first application for presenting the document in a predetermined manner. 
   The above aspect may also include code which also creates or invokes a second application for being presented with the document. Such a second application may be a downstream authoring tool. 
   In another aspect of the present invention, a method of communicating information includes formatting a document in a code for presenting information contained within the document in a predetermined manner on a networked device and compiling the code into a file of compiled code such that a necessary element for creating or invoking a first application for presenting the document and/or for creating or invoking a second application for being presented with the document is included in the compiled code. The method further includes disseminating the file through a computer network, either by uploading the file to a server or by making the file available through peer to peer networking and forwarding the compiled code of the file to a distribution channel for presenting the document on the networked device. Upon the compiled code arriving at the distribution channel, the necessary element creates or invokes the first application for presenting the document in the predetermined manner and/or creates or invokes the second application for being presented with the document. 
   The distribution channels may include any one or more of email, published web page, wireless device, banner advertisement and instant messaging application. 
   The first application may be an audio/video viewer for presenting the information contained within the document. Moreover, the second application may be an authoring tool for allowing a user at the client to annotate the document, may be an internet search engine, and an instant messaging application. 
   In another aspect of the present invention, a document for disseminating over a computer network having informational content and computer readable code comprising code for communicating the document over the computer network, code for controlling who may create and/or change the informational content, code for controlling who may view the informational content and code for how the document is presented on a networked device. 
   In yet another aspect of the present invention, an apparatus for communicating information includes formatting means for formatting a document in a code for presenting information contained within the document in a predetermined manner on a networked device, compiling means for compiling the code into a file of compiled code such that a necessary element for creating or invoking a first application for presenting the document and/or for creating or invoking a second application being presented with the document is included in the compiled code, disseminating means for disseminating the file through a computer network, either by uploading the file to a server or by making the file available through peer to peer networking, forwarding means for forwarding the compiled code of the file to a distribution channel for presenting the document on the networked device. Upon the compiled code arriving at the distribution channel, the necessary element creates or invokes the first application for presenting the document in the predetermined manner and/or creates or invokes the second application for being presented with the document. 
   In yet another aspect of the present invention, a method of communicating and controlling access to information includes formatting a document in a code for presenting information contained within the document in a predetermined manner in an email message upon the opening of the message, where the information is stored on a server and formatting the presentation includes using external references to the information. The method also includes compiling the code into a file of compiled code such that a necessary element for creating or invoking a first application for presenting the document and/or for creating or invoking a second application being presented with the document is included in the compiled code, disseminating the file through a computer network, either by uploading the file to a server or by making the file available through peer-to-peer networking, and forwarding the compiled code to a distribution channel for viewing on a networked device. Rules for accessing the file are specified by an author of the document and upon the compiled code arriving at the distribution channel, the necessary element creates or invokes the first application for presenting the document in the predetermined manner and/or creates or invokes the second application for being presented with the presentation. 
   In still yet another aspect of the present invention, an egocentric network includes an author, a document created by the author, the document for dissemination over a computer network, a recipient for receiving the document from the author, a first egocentric network monitor for presenting a visual and/or audio representation of a point of view of the author for the document and a point of involvement for the document, a second egocentric network monitor for presenting a visual and/or audio representation of a point of view of the recipient for the document and a point of involvement for the document, and a point of involvement for the document. 
   Other aspects of the present invention include:
         a banner advertisement displayed on a networked device comprising a compiled code of a formatted presentation. The compiled code includes a necessary element for creating or invoking a first application for presenting the presentation and/or for creating or invoking a second application for being presented with the presentation;   an instant message application displayed on a networked device comprising a compiled code of a formatted presentation, said compiled code including a necessary element for creating or invoking a first application for presenting said presentation and/or for creating or invoking a second application for being presented with said presentation; and   a web page displayed on a networked device comprising a compiled code of a formatted presentation, said compiled code including a necessary element for creating or invoking a first application for presenting said presentation and/or for creating or invoking a second application for being presented with said presentation.       

   Other aspects of the invention include a computer-readable medium having computer-executable instructions for performing the methods recited in the above aspects. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  illustrates an overview of an egocentric network according to the present invention. 
       FIG. 2  illustrates a workflow overview of the egocentric network according to the present invention. 
       FIG. 3  illustrates an authoring workflow of the egocentric network according to the present invention. 
       FIG. 4  illustrates a control flow display of the decision process used to control persistence within an egocentric network according to the present invention. 
       FIG. 5  illustrates the workflow of a just-in-time application according to the present invention. 
       FIG. 6  illustrates an overview of a messaging framework within the egocentric network according to the present invention. 
       FIG. 7  illustrates a display of message attributes and states within the egocentric network according to the present invention. 
       FIG. 8  illustrates a display of the editing workflow within the egocentric network according to the present invention. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   Illustrative embodiments of the present invention described below provide a computer readable language which separates content from the authoring, presentation, messaging, and transport of the content in a document. More particularly, the invention is directed to a computer readable language which contains within a document written with the language, not only the information to be communicated, but also includes information depicting the means (e.g., email, instant messaging) and the protocol of communicating it, information regarding who may create or change the information, information on who may view the information and information on how the information may be viewed. All of this information being contained within a text document which is easily searchable, and which is small in file size for easy dissemination throughout a computer network. 
   Those skilled in the art will appreciate, however, that embodiments in accordance with the invention are not limited to messaging, but, rather, may also be used in presenting and disseminating any information over a computer network. Those skilled in the art will also recognize that the inventions disclosed herein will also may be used in a variety of systems and architectures. Embodiments of the invention will be described with reference to  FIGS. 1–8  which are not intended to limit the scope of the claims. 
     FIG. 1  illustrates an Egocentric Network according to the present invention. The Egocentric Network generally preferably includes an Author  11 , an NML Document  115 , a Recipient  19 , a Point-of-View  117  of the Author, a Point-of-View  116  of the Recipient and a Point of Involvement  118  of the NML Document. To that end, the Author creates a NML Document using a Networked Device  12 , such as (for example) a personal computer on a local area network, via an Audiovisual User Interface  13 . The created NML Document includes Meta Information  14  which comprises a Point of View Definition  15  and supports an Egocentric Network Monitor  16 . 
   The Author disseminates (i.e., messages) the NML Document to a Recipient through an Existing Computer Network  119  or a Native netomatic markup language protocol (NMLP) Network  130  (collectively as Network). The dissemination creates the Point of View  117  from the Networked Device  12  of the Author. The Point of View  117  and the Point of View  116  reflect interactions, for each of the Author and Recipient, respectively, with one or more instances by a Recipient, NML Document  115 , an Author or other resources in the Network. 
   An Egocentric Network Monitor  16  presents an audiovisual representation of the egocentric network of Author  11  on Networked Device  12 . This representation includes representation of a Point of View  117  and a Point of Involvement  118  for each NML Document the Author  11  has created, edited, forwarded, or replied to. Thus, as recipients interact with the Author&#39;s NML Document  115  on the Network, Meta Information  123  pertaining to NML Document  115  is displayed by the Egocentric Network Monitor  16  of the Author. 
   Correspondingly, an Egocentric Network Monitor  114  of Recipient  19  presents an audiovisual representation of the egocentric network of Recipient  9  on a networked device  110  of the recipient. This representation includes Point of View  116  and Point of Involvement  118  for each NML Document the Recipient  9  has received, edited, forwarded, or replied to. 
   The Recipient  19  interacts with NML Document  115  using the Networked Device  110  (i.e., a networked personal computer) through an Audiovisual User Interface  111  which makes available certain Meta Information  112 , Point of View Definition  113  and the Recipient&#39;s Egocentric Network Monitor  114 . An intersection of the Author&#39;s Point of View  117  and the Recipient&#39;s Point of View  116  of NML Document  115  creates a Point of Involvement  118  about NML Document  115 . The Point of Involvement  118  of NML Document  115  contains how various instances of Recipient  19  and other nodes in the Network are interacting with NML Document  115 . The Point of Involvement  118  is updated for each interaction between an Author  11  and NML Document  115  or Recipient  19  and NML Document  115 . 
   When a NML Document is disseminated through the Network, it is typically stored on a computer Server A  120  with Data  21  (for example). The Computer Server A contains a Meta Document Description  123  which comprises Resources  124  and Meta Information  127  about each NML document uploaded. Dynamic resources of the document are described via Dynamic Resource Descriptor  125  and persistent resources are identified through Persistent Resource Identifier  126 . The Meta Information  127  contains a Point of Involvement Definition  128  and Processing Instructions  129  for the NML Document  115 . 
   As shown in  FIG. 2 , an NML document  23  is created by an Author  21  who messages  24  the document (e.g., via email, instant messaging) to a recipient. The NML Document  23  is stored within the Egocentric Network through a Persist process  22 . A recipient of the document may Edit  25  the document and store changes or updates through the Persist process as well. Such changes and updates create an NML Fragment  27 . The NML Fragment  27  may then be re-sent to other recipients through the Message process. An example of such an NML fragment is set out below. 
   
     
       
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
           
         
             
                 
             
           
           
             
               &lt;?xml version=“1.0” encoding=“UTF-8”?&gt; 
             
             
               &lt;nml version=“1.0”&gt; 
             
           
        
         
             
                 
               &lt;nmlHeader&gt; 
             
           
        
         
             
                 
               &lt;nmlHeaderRef uri=“http://www.netomat.net/forbes/frag/header/update?”/&gt; 
             
           
        
         
             
                 
               &lt;/nmlHeader&gt; 
             
             
                 
               &lt;nmlBody&gt; 
             
           
        
         
             
                 
               &lt;nmlFrag id=“780kjgf6754dfg”&gt; 
             
           
        
         
             
                 
               &lt;ContextDef path=“/group/” 
             
           
        
         
             
               parentRef“http://www.netomat.net/amelie/pop.nml” insert=“true”/&gt; 
             
           
        
         
             
                 
               &lt;group id=“5_pic3”&gt; 
             
           
        
         
             
                 
               &lt;image noHighlight=“true” href=“5_pic3_pop.gif” x=“525” y=“180” 
             
           
        
         
             
               permeable=“true”/&gt; 
             
           
        
         
             
                 
               &lt;text noHighlight=“true” x=“390” y=“25” color=“#ff6600” 
             
           
        
         
             
               font=“Courier:11, sans-serif:11” text=“Amelie Poulain has promised to become a regular do- 
             
             
               gooder.” align=“left”/&gt; 
             
           
        
         
             
                 
               &lt;/group&gt; 
             
           
        
         
             
                 
               &lt;/nmlFrag&gt; 
             
           
        
         
             
                 
               &lt;/nmlBody&gt; 
             
           
        
         
             
               &lt;/nml&gt; 
             
             
                 
             
           
        
       
     
   
   NML documents are created by an Author importing information, which may include other NML Documents or other multimedia data according to  FIG. 3 . The information  32  may be included in the NML document via an external reference  33  or by inclusion  34 . Fragments  35  may be identified by the author, which may be assigned attributes or permissions through a Set Permissions step  36 . 
   An NML document is stored on the egocentric network through the Persist process  37 , which causes the NML Document  31  to be saved  310  as a persistent NML Document  314 . The persistent NML document includes a NML Header  316 , which includes meta-information about the NML persistent document, and a NML Body  317  having the contents (information) of the NML Document  314 . Embodied within Persist  37  step is the Distill process  39  which creates a Direct Labeled Graph  313 . The Direct Labeled Graph  313  is a representation of NML Document  314  in the Resource Description Framework (RDF) format and contains information about the NML Document as well as its relationship to other documents. Such an NML sample containing an RDF document in the NML header is shown below: 
   
     
       
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
         
             
                 
             
           
           
             
               &lt;?xml version=“1.0” encoding=“UTF-8”?&gt; 
             
             
               &lt;nml version=“1.0”&gt; 
             
           
        
         
             
                 
               &lt;nmlHeader&gt; 
             
           
        
         
             
                 
               &lt;rdf:RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” 
             
           
        
         
             
               xmlns:nml=“http://www.netomat.net/rdf/schema/”&gt; 
             
           
        
         
             
                 
               &lt;rdf Description 
             
           
        
         
             
               about=“http://www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/”&gt; 
             
           
        
         
             
                 
               &lt;nml:Scenegraph&gt; 
             
           
        
         
             
                 
               &lt;nml:NMLObj 
             
           
        
         
             
               about=“http://www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/tw2”&gt; 
             
           
        
         
             
                 
               &lt;nml:PanRight&gt;15.0&lt;/nml:PanRight&gt; 
             
             
                 
               &lt;nml:Zoom&gt;1.053&lt;/nml:Zoom&gt; 
             
           
        
         
             
                 
               &lt;/nml:NMLObj&gt; 
             
           
        
         
             
                 
               &lt;/nml:Scenegraph&gt; 
             
           
        
         
             
                 
               &lt;/rdf:Description&gt; 
             
             
                 
               &lt;!−− ....−−&gt; 
             
             
                 
               &lt;rdf:Description about=“http://mycollege.edu/courses/6.001”&gt; 
             
           
        
         
             
                 
               &lt;nml:Players&gt; 
             
           
        
         
             
                 
               &lt;rdf:Bag&gt; 
             
           
        
         
             
                 
               &lt;rdf:li 
             
           
        
         
             
               resource=“http://www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/tw1”/&gt; 
             
           
        
         
             
                 
               &lt;rdf:li 
             
           
        
         
             
               resource=“http://www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/tw3”/&gt; 
             
           
        
         
             
                 
               &lt;rdf:li 
             
           
        
         
             
               resource=“http://www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/tw4”/&gt; 
             
           
        
         
             
                 
               &lt;rdf:li 
             
           
        
         
             
               resource=“http://www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/tw5”/&gt; 
             
           
        
         
             
                 
               &lt;rdf:li 
             
           
        
         
             
               resource=“http://www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/tw6”/&gt; 
             
           
        
         
             
                 
               &lt;/rdf:Bag&gt; 
             
           
        
         
             
                 
               &lt;/nml:Players&gt; 
             
             
                 
               &lt;nml:TrackRight 
             
           
        
         
             
               resource=“http//www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/tw6”/&gt; 
             
           
        
         
             
                 
               &lt;/rdf:Description&gt; 
             
             
                 
               &lt;!−− ....−−&gt; 
             
             
                 
               &lt;rdf:Description 
             
           
        
         
             
               about=“http://www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/”&gt; 
             
           
        
         
             
                 
               &lt;nml:Camera&gt; 
             
           
        
         
             
                 
               &lt;rdf:Bag&lt; 
             
           
        
         
             
                 
               &lt;rdf:li 
             
           
        
         
             
               resource=“http://www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/tw7”/&gt; 
             
           
        
         
             
                 
               &lt;rdf:li 
             
           
        
         
             
               resource=“http://www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/tw10”/&gt; 
             
           
        
         
             
                 
               &lt;rdf:li 
             
           
        
         
             
               resource=“http://www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/tw11”/&gt; 
             
           
        
         
             
                 
               &lt;/rdf:Bag&gt; 
             
           
        
         
             
                 
               &lt;/nml:Camera&gt; 
             
             
                 
               &lt;nml:DollyForward 
             
           
        
         
             
               resource=“http://www.netomat.net/db/recreation/sports/golf/golfers/men/TigerWoods/tw6”/&gt; 
             
           
        
         
             
                 
               &lt;/rdf:Description&gt; 
             
             
                 
               &lt;!−− ....−−&gt; 
             
           
        
         
             
                 
               &lt;/rdf:RDF&gt; 
             
           
        
         
             
                 
               &lt;/nmlHeader&gt; 
             
             
                 
               &lt;nmlBody&gt; 
             
           
        
         
             
                 
               &lt;!−− ....−−&gt; 
             
           
        
         
             
                 
               &lt;/nmlBody&gt; 
             
           
        
         
             
               &lt;/nml&gt; 
             
             
                 
             
           
        
       
     
   
   An Optimize NML process  38  occurs after the Persist process and creates an Optimized NML Document  312 , optimized for display or use on specific platforms or delivery through specific transport protocols. The Optimize NML process also updates the Direct Labeled Graph  313  with information about, for example, a compression algorithm used to create the Optimize NML Document  312 . 
   The Persist process  37  is also followed by a Compile step  311  which creates a just-in-time application (netomatic)  315 , which includes the application code and informational content required to present or display the information contained within NML Document  314 . 
     FIG. 4  illustrates the Persistence process, that is, the determination of how to store an NML Document. Initially, a decision is made whether to persist the NML document locally to the computer originating the information or remotely to the computer network ( 41 ). If it is decided to persist the NML document locally ( 42 ), then a decision is made whether or not to immediately persist the document ( 44 ). If the document is not immediately persisted ( 46 ) then a decision is made whether to Forget the document ( 410 ). If the document is not forgotten ( 414 ) then the document is saved locally after a predetermined period of time passes ( 422 ). Accordingly, the NML Document is now in a Persisted state  438 . 
   Alternatively, if it is decided that the NML Document is forgotten ( 415 ), then the NML Document is Deleted ( 431 ) after a predetermined period of time passes. The direct labeled graph for the document is updated ( 439 ). The NML Document is then in an expired state  443 . 
   Continuing with  FIG. 4 , if it is decided to store the document immediately ( 47 ), then a decision is made whether to Forget ( 411 ) the NML Document. If the document is not forgotten ( 416 ), then the NML document is stored locally ( 424 ), and the NML Document is persisted ( 432 ). If it is decided to forget ( 417 ) the document, then the NML Document is deleted ( 425 ) and the direct labeled graph for the document is updated ( 445 ). The NML Document is then in a Forgotten state ( 433 ). 
   For remote persistence, a similar process to that of local persistence occurs. Thus, initially it is determined whether the NML document is immediately persisted ( 45 ). If the document is not immediately persisted ( 48 ), then it is decided whether or not to Forget ( 412 ) the NML Document. If the document is not forgotten ( 418 ), then the document, and its included assets, is uploaded to a remote server ( 434 ), after a predetermined period of time ( 426 ). The document is now persisted ( 440 ). If the document is forgotten, then the NML document is removed by being deleted ( 435 ) after a predetermined period of time, and the direct labeled graph for the document is updated ( 441 ). The NML Document is then in the expired state ( 444 ). 
   If the document is immediately persisted ( 49 ), and is not forgotten ( 413 ,  420 ), then the process uploads the NML Document and its included assets to a remote server ( 428 ). The NML Document is now persisted ( 436 ). If the document is forgotten ( 421 ) then the NML Document is deleted ( 429 ) and the direct labeled graph for the NML Document is updated  437 . The NML Document is now in the Forgotten  442  state. 
   One of the predominant features of the present invention is the ability to create a “just-in-time” application (the “netomatic” application), as shown in  FIG. 5 , which illustrates the process of compiling an NML Document into a netomatic, just-in-time application. Accordingly, an author creates an NML Document  51  through the Authoring and Persistence processes described in  FIG. 3  and  FIG. 4 . The NML Document  51  is processed via Generate xSchema Grammar  52  to create an xSchema Grammar  53  for the NML Document  51 . This xSchema Grammar  53  is processed via Generate Source Code  54  which results in Source Code  55  which is compiled via Compile Source Code  56  into Netomatic Object Code  57 . The Netomatic Object Code  57  may be combined with object code libraries specified in NML Document  51  through Link Object Code  58  to create the Netomatic Just-In-Time Application  59 . Through Decompile Object Code  510  the NML Document  51  is generated from the Netomatic Object Code  57  and Netomatic Just-In-Time Application  59 . Accordingly, below is an example of a decompiled NML Object as produced through Decompile Object Code  510 . 
   
     
       
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
         
             
                 
             
           
           
             
               &lt;?xml version=“1.0” encoding=“UTF-8”?&gt; 
             
             
               &lt;nml version=“1.0”&gt; 
             
             
                &lt;nmlHeader&gt; 
             
           
        
         
             
                 
               &lt;!−− ....−−&gt; 
             
             
                 
               &lt;NMLObj id=“3” type=“vector” name=“net.netomat.editor.Dispatch” 
             
           
        
         
             
               value=“3, 7, 10, 42, 45, 48, 50, 53, 57, 60, 63, 66, 69, 72, 75, 78, 81, 88, 
             
             
               93, 97, 102, 106, 111, 113, 116, 119, 122, 124, 126, 128, 130, 132, 134, 
             
             
               136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 157, 159, 162, 165, 
             
             
               168”&gt; 
             
           
        
         
             
                 
               &lt;NMLObj type=“float” name=“net.netomat.editor.Transform” 
             
           
        
         
             
               value=“0.4824945f”/&gt; 
             
           
        
         
             
                 
               &lt;/NMLObj&gt; 
             
             
                 
               &lt;NMLObJ id=“4” type−“URI” name=“net.netomat.editor.Link” 
             
           
        
         
             
               value=“3,5,76,40” from=“2” to=“5”/&gt; 
             
           
        
         
             
                 
               &lt;NMLObj id=“5” type=“string” name=“net.netomat.editor.TextGen” 
             
           
        
         
             
               value=“Tiger Woods broke through an imaginary &amp;quot;picket line&amp;quot; 
             
             
               this week when he filmed a commercial in Toronto for General Motors 
             
             
               as part of his contractual obligation as a Buick spokesman.”&gt; 
             
           
        
         
             
                 
               &lt;NMLObj name=“java.awt.Font” value=“Arial, 18”/&gt; 
             
             
                 
               &lt;NMLObj name=“java.awt.geom.AffineTransform” 
             
           
        
         
             
               value=“4.100451741799471d, 0.0d, 0.0d 4.100451741799471d, 
             
             
               −1646.7296391909335d, −7965.192829330378d”/&gt; 
             
           
        
         
             
                 
               &lt;/NMLObj&gt; 
             
             
                 
               &lt;NMLObj id=“7” type=“image” name=“net.netomat.editor.Picture” 
             
           
        
         
             
               url=“http://www.golfonline.com/images/tw.gif” alt=“Tiger Woods filming 
             
             
               a commercial in Toronto for General Motors” 
             
             
               altURL=“http://www.netomat.net/cache/tw.gif”&gt; 
             
           
        
         
             
                 
               &lt;NMLObj name=“java.awt.geom.AffineTransform” 
             
           
        
         
             
               value=“5.020905480709362d, 0.0d. 0.0d 5.020905480709362d, 
             
             
               −27.15499822839189d, −3135.314758270212d”/&gt; 
             
           
        
         
             
                 
               &lt;/NMLObj&gt; 
             
             
                 
               &lt;NMLObj id=“8” type=“URI” name=“net.netomat.editor.Link” 
             
           
        
         
             
               value=“7, 10, 24 88, 93, 97, 102, 106,” from=“10” to=“24”/&gt; 
             
           
        
         
             
                 
               &lt;!−− ....−−&gt; 
             
           
        
         
             
                 
               &lt;/nmlHeader&gt; 
             
             
                 
               &lt;nmlBody&gt; 
             
           
        
         
             
                 
               &lt;!−− ....−−&gt; 
             
           
        
         
             
                 
               &lt;/nmlBody&gt; 
             
             
                 
               &lt;/nml&gt; 
             
             
                 
                 
             
           
        
       
     
   
   The process for sending an NML document from an author to one or more recipients is illustrated in  FIG. 6  (i.e., messaging). The Author  61  authors, sets attributes and permissions  62  on an NML Document  63  and Persists the document to a computer Server A  64 . The Author  61  then Sends  65  a reference to the NML Document  63  to a Recipient  66 . The mode of communication may be either synchronous (e.g., instant messaging) or asynchronous (e.g., email). When the Recipient  66  opens the NML Document  63  and downloads the related assets  67  an NML Reply  68  is sent to the Author  61  (to be viewed on the Author&#39;s egocentric network monitor). 
   The Recipient  66  may also create an NML Reply  69  by editing or changing the NML Document  63  and storing such changes to computer Server A  64 . 
   The Recipient  66  may also prepare to forward  611  the NML document by copying the NML Document  63  to NML Document  612  on Computer Server B  613 . This causes the Direct Labeled Graph corresponding to NML Document  63  to be Updated  610  on computer Server A  64 . The Recipient  66  may then Send  614  the NML Document  612  to other Recipients  615  to download  616  the NML Document  612  and related assets from computer Server B  613 . 
     FIG. 7  illustrates the messaging attributes, permissions, and states which may be ascribed to an NML Document. Accordingly, a Recipient  71  with a local or cached copy of an NML Document  72  places the NML Document in the Refresh  73  state by reloading or refreshing the contents of the NML Document  72  from computer Server A  74 . This Refresh  73  causes an update  75  to the Direct Labeled Graph corresponding to the NML Document  72  on computer Server A  74 . 
   The Recipient  71  may Copy  76  the NML Document  72  to NML Document  77  on computer Server B  78 . This Copy  76  action places the NML Document  77  in the “copy” state. The Direct Labeled Graph for NML Document  72  on computer Server A  74  is not updated. A new Direct Labeled Graph is created to represent NML Document  77  on computer Server B  78 . 
   The Recipient  71  may Send the NML Document  77  on to other Recipients  710  causing an update to the Direct Labeled Graph for NML Document  77  on computer Server B  78 . Recipients  710  will Download  711  the NML Document  77  and related assets from computer Server B  78 . 
   The Recipient  71  may place the NML Document  77  in the Delete  73  state on the computer Server B  78 . This causes the NML Document  77  and its related assets to become unavailable for use by either Recipient  71  or Recipients  710  and causes an update to the Direct Labeled Graph for NML Document  77  on computer Server B  78  to reflect that NML Document  77  is in the Delete  73  state. 
   Existing NML documents may be edited as shown in  FIG. 8 . Accordingly, an author or recipient Edits  81  an existing NML Document  82  by Changing  83  existing assets, Importing  84  additional assets and/or by Setting Permissions  85  on the NML Document  82 . The NML Document  82  is stored to the egocentric network through the Persist  86  process which causes the changes to the NML Document  82  to be stored through Update  88  to a persistent NML Document Fragment  812 . An NML Document Fragment  812  comprises an NML Header  813  and an NML Fragment Body  814 , which is preferably comprised solely of those changes to NML Document  82 . The NML Header  813  includes meta-information about NML Document  814 . 
   Embodied within Persist  85  step is a Distill  89  process which creates the Direct Labeled Graph  810 . The Direct Labeled Graph  810  is a representation of NML Document Fragment  812  in a resource description framework (RDF) format. The Direct Labeled Graph  810  contains information about NML Document Fragment  812 , its relationship to the original NML Document  2  as well as the relationship to other documents. 
   The Optimize NML  87  process occurs after the Persist process  86  and creates an Optimized NML Document Fragment  88 . The Optimized NML Document Fragment  88  is optimized for display or use on specific platforms or delivery through specific transport protocols. The Optimize NML  78  process also updates the Direct Labeled Graph  810  with information about the compression algorithm used to create the Optimize NML Document Fragment  88 . 
   The Persist  86  process is also followed by a Compile  815  step which creates a just-in-time application (Netomatic)  816 . The Netomatic  816  includes the application code and information content required to present or display the information contained within NML Document  82  and NML Document Fragment  812 . 
   Below are examples of various NML documents according to the present invention for reference. 
   Sample NML code for a Platform Component Configuration: The header of this document describes a node (i.e. a client computer or networked device) on a network, how the node is configured and describes the services to which this node subscribes. 
   
     
       
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
         
             
                 
             
           
           
             
               &lt;?xml version=“1.0” encoding=“UTF-8”?&gt; 
             
             
               &lt;nml version=“1.0”&gt; 
             
           
        
         
             
                 
               &lt;nmlHeader&gt; 
             
           
        
         
             
                 
               &lt;Version id=“1000x003” number=“9”/&gt; 
             
             
                 
               &lt;Host hostURL=“http://www.netomat .net/data/” hostName=“netomat.net”/&gt; 
             
             
                 
               &lt;Name title=“netomat”/&gt; 
             
             
                 
               &lt;Author firstname=“maciej” lastname=“wisniewski”/&gt; 
             
             
                 
               &lt;Date date=“June 12 1999”/&gt; 
             
             
                 
               &lt;User name=“maciej” id=“mzw” password=“ferh%df7sjd9“ 
             
           
        
         
             
               SMTPserver=“www.interport.net” POPserver=“pop.interport.net” email=“mzw@interport.net”/&gt; 
             
           
        
         
             
                 
               &lt;OperatingSystem name=“Win” version=“95”/&gt; 
             
             
                 
               &lt;Java version=“JRE1.2.2” vendor=Sun”/&gt; 
             
             
                 
               &lt;Proxy type=“socks” address=“socks.netomat.net” port=“1080”/&gt; 
             
             
                 
               &lt;Speed bps=“128000”/&gt; 
             
             
                 
               &lt;NetworkingEngine name=“net.netomat.network” varsion=“0.8bx”/&gt; 
             
             
                 
               &lt;DisplayEngine name=“net netomat.layout” version=“0.9floatC”/&gt; 
             
             
                 
               &lt;SoundEngine name=“net netomat.media.sound” version=“0.5”/&gt; 
             
             
                 
               &lt;TranslationEngine name=“net.netomat.tranlater” version=“0.3”/&gt; 
             
             
                 
               &lt;EditingEngine name=“net.netomat.editor” version=“0.7fg”/&gt; 
             
             
                 
               &lt;EncodingEngine name=“net netomat.encoder” version=“0.8”/&gt; 
             
             
                 
               &lt;XMLEngine name=“org.apache.xerces.parsers” version=“1.2.0”/&gt; 
             
             
                 
               &lt;XMLObjetModel name=“org.apache.xercas.dom.traversal” version=“1.2.0”/&gt; 
             
             
                 
               &lt;!−− ....−−&gt; 
             
             
                 
               &lt;Service protocol=“http” method=“post” uri=“http://www.netomat.net/bin/data?”&gt; 
             
           
        
         
             
                 
               &lt;ServiceCondition timeout=“10” timeLimit=“60” maxSize=“150K”/&gt; 
             
             
                 
               &lt;ServiceFormat type=“jpeg, gif, png, bmp, nml, html, txt”/&gt; 
             
             
                 
               &lt;ServiceFailure&gt; 
             
           
        
         
             
                 
               &lt;ServiceUnavailableException uri=“http://www.thing.net/cgi- 
             
           
        
         
             
               bin/redirect?”/&gt; 
             
           
        
         
             
                 
               &lt;ServiceBusyException retry=“3” wait=“30”/&gt; 
             
             
                 
               &lt;TimeLimitExceededException process=“true”/&gt; 
             
             
                 
               &lt;SizeLimitExceededException process=“false”/&gt; 
             
             
                 
               &lt;SchemaViolationException process=“false”/&gt; 
             
             
                 
               &lt;CommunicationException process=“true”/&gt; 
             
             
                 
               &lt;OperationNotSupportedException process=“true”/&gt; 
             
           
        
         
             
                 
               &lt;/ServiceFailure&gt; 
             
             
                 
               &lt;ServiceQueryString query=“q” interface=“xpath”/&gt; 
             
             
                 
               &lt;ServiceStream starts_with=“&amp;lt;service&amp;gt;” 
             
           
        
         
             
               ends_with=“&amp;lt;/service&amp;gt;” trim_to=“&amp;lt;service&amp;gt;” trim from=“&amp;lt;/service&amp;gt;”/&gt; 
             
           
        
         
             
                 
               &lt;ServiceRange start=“0” end=“EOF”/&gt; 
             
           
        
         
             
                 
               &lt;/Service&gt; 
             
             
                 
               &lt;!−− ....−−&gt; 
             
             
                 
               &lt;Service protocol=“ftp” uri=“ftp:“ftp.netomat.net/”&gt; 
             
           
        
         
             
                 
               &lt;!−− ....−−&gt; 
             
           
        
         
             
                 
               &lt;/Service&gt; 
             
             
                 
               &lt;!−− ....−−&gt; 
             
           
        
         
             
                 
               &lt;/nmlHeader&gt; 
             
             
                 
               &lt;nmlBody&gt; 
             
           
        
         
             
                 
               &lt;group&gt; 
             
           
        
         
             
                 
               &lt;rect color=“#ffffff” fillcolor=“#ffffff” height=“450” width=“650”/&gt; 
             
             
                 
               &lt;image noHighlight=“true” href=“12e_pic.jpg”/&gt; 
             
             
                 
               &lt;anchor rollover=“jump(@12b.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image noHighlight=“true” href=“12b_thumb.jpg” x=“400” y=“0”/&gt; 
             
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor rollover=“jump(@12d.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image noHighlight=“true” href=“12d_thumb.jpg” x=“265” 
             
           
        
         
             
               y=“115”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor rollover=“jump(@12c.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image noHighlight=“true” href=“12c_thumb.jpg” x=“400” 
             
           
        
         
             
               y=“276”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor rollover=“jump(@12a.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image noHighlight=“true” href=“12a_thumb.jpg” x=“45” y=“280”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;image noHighlight=“true” href=“logo.gif” x=“530” y=“120”/&gt; 
             
             
                 
               &lt;image noHighlight=“true” href=“12_clocktext.gif x=“476” y=“178”/&gt; 
             
             
                 
               &lt;text file=”/netomat/poll?src=12a.nml” font=“Verdana:11, sans-serif:11” 
             
           
        
         
             
               x=“454” y=“220” color=“#ff6600”/&gt; 
             
           
        
         
             
                 
               &lt;clock timeZone=“ECT” font=“Verdana:11, sans-serif:11” x=“500” y=“172” 
             
             
               color=“#ff6600”/&gt; 
             
             
                 
               &lt;clock timeZone=“JST” font=“Verdana:11, sans-serif:11” x=“524” y=“185” 
             
             
               color=“#ff6600 ”/&gt; 
             
             
                 
               &lt;clock timeZone=“EST” font=“Verdana:11, sans-serif:11” x=“500” y=“200” 
             
             
               color=“#ff6600”/&gt; 
             
             
                 
               &lt;clock timeZone=“PST” font=“Verdana:11, sans-serif:11” x=“510” y=“212” 
             
             
               color&gt;“#ff6600”/&gt; 
             
             
                 
               &lt;anchor click=“jump(@booth.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“12 arrow.gif” noHighlight=“true” x=“287” y=“26”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor click=“jump(@4.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“12_video.gif” noHighlight=“true” x=“589” y=“0”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor click=“jump(@20.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“12_letter.gif” noHighlight=“true” x=“213” 
             
           
        
         
             
               y=“377”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
           
        
         
             
                 
               &lt;/group&gt; 
             
           
        
         
             
                 
               &lt;/nmlBody&gt; 
             
             
                 
               &lt;/nml&gt; 
             
           
        
         
             
               Sample NML Code for incorporating a web meta-search interface into a document. This example 
             
             
               retrieves search results from multiple sources:&lt;?xml version=“1.0” encoding=“UTF-8”?&gt; 
             
             
               &lt;nml version=“1.0”&gt; 
             
           
        
         
             
                 
               &lt;nmlHeader&gt; 
             
           
        
         
             
                 
               &lt;!−−...−−&gt; 
             
             
                 
               &lt;Version compatible=“1000x003” description=“Contains update to 1000x002” 
             
           
        
         
             
               size=“30066”/&gt; 
             
           
        
         
             
                 
               &lt;!−−...−−&gt; 
             
             
                 
               &lt;Service protocol=“http” method=“post” stream=“text/html” 
             
           
        
         
             
               objectModel=“pattern”&gt; 
             
           
        
         
             
                 
               &lt;!−−...−−&gt; 
             
             
                 
               &lt;TextURI uri=“http://www.altavista.com/cgi- 
             
           
        
         
             
               bin/query?kl=XX&amp;amp;pg=q&amp;amp;text=yes&amp;amp;q=q”/&gt; 
             
           
        
         
             
                 
               &lt;TextQueryString query=“q”/&gt; 
             
             
                 
               &lt;TextStream starts_with=“&amp;lt;dd&amp;gt;” ends_with=“&amp;lt /dd&amp;gt;” 
             
           
        
         
             
               trim_to=“&amp;lt;dd&amp;gt;” trim from=“&amp;lt;/dd&amp;gt;”/&gt; 
             
           
        
         
             
                 
               &lt;TextURI uri=“http://www.northernlight.com/nlquery.fcg?cb=0&amp;amp;qr=q”/&gt; 
             
             
                 
               &lt;TextQueryString query=“q”/&gt; 
             
             
                 
               &lt;TextStream starts_with&gt;“&amp;lt;td valign=top&amp;gt;&amp;lt;FONT size=2 
             
           
        
         
             
               face=arial, helvetica&amp;gt;” ends_with=“&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;” trim_to=“&amp;quot;&amp;gt;” 
             
             
               trim_from=“&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;”/&gt; 
             
           
        
         
             
                 
               &lt;ImageURI 
             
           
        
         
             
               uri=“http://arribavista.com/Searching/Search_Results.asp?ss=q&amp;amp;SearchType=picture”/&gt; 
             
           
        
         
             
                 
               &lt;ImageQueryString query=“q”/&gt; 
             
             
                 
               &lt;ImageStream starts_with=“&amp;lt;a href=&amp;quot;javascript:URLLinker 
             
           
        
         
             
               (“ends_with=“&amp;lt;/a&amp;gt;” trim_to=“&amp;apos;,&amp;apos;” trim_from=“&amp;apos;)&amp;quot; 
             
             
               onmouseover=&amp;quot;window.status=&amp;apos;click to view on the web&amp;apos;;return true&amp;quot; 
             
             
               title=”/&gt; 
             
           
        
         
             
                 
               &lt;ImageURI uri=“http://ston.jsc.nasa.gov/cgi- 
             
           
        
         
             
               bin/SFgate?database=edcc2.jsc.nasa.gov%3A210%2FPAO&amp;amp;convert=waistoimg&amp;amp;directget=1&amp;amp; 
             
             
               text=q&amp;amp;maxhits=10”/&gt; 
             
           
        
         
             
                 
               &lt;ImageQueryString query=“q”/&gt; 
             
             
                 
               &lt;ImageStream starts_with=“&amp;lt;A HREF=&amp;quot;” 
             
           
        
         
             
               ends_with=“&amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;” trim_to=“&amp;lt;A HREF=&amp;quot;” trim_from=“&amp;quot;&amp;gt;&amp;lt;img 
             
             
               align=left”/&gt; 
             
           
        
         
             
                 
               &lt;ImageURI 
             
           
        
         
             
               uri=http://scour.net/Search/Search.phtml?protocol=all&amp;amp;index=image&amp;amp;query=q”/&gt; 
             
           
        
         
             
                 
               &lt;ImageQueryString query=“q”/&gt; 
             
             
                 
               &lt;ImageStream starts_with=“&amp;lt;TR&amp;gt;&amp;lt;TD align=&amp;quot;center&amp;quot; 
             
           
        
         
             
               valign=&amp;quot center&amp;quot;&amp;gt;” 
             
             
               ends_with=“border=&amp;quot 0&amp;quot;&amp;gt;&amp;lt;/A&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;” trim_to=“&amp;lt;A 
             
             
               href=&amp;quot;” trim_from=“&amp;quot ;&amp;gt;&amp;lt;IMG src=&amp;quot;http://media.scour.net”/&gt; 
             
           
        
         
             
                 
               &lt;SoundURI 
             
           
        
         
             
               uri=“http://scour.net/Search/Search.phtml?protocol=&amp;amp;broadband=&amp;amp;query=q&amp;amp;index=wav&amp; 
             
             
               amp;protocol=all&amp;amp;x=11&amp;amp;y=8”/&gt; 
             
           
        
         
             
                 
               &lt;SoundQuerystring query=“q”/&gt; 
             
             
                 
               &lt;SoundStream starts_with=“&amp;lt;TD rowspan=&amp;quot;2&amp;quot; 
             
           
        
         
             
               class=&amp;quot smallFeatureCopy&amp;quot;align=&amp;quot center&amp;quot &amp;gt;” 
             
             
               ends_with=“border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/A&amp;gt;&amp;lt;/TD&amp;gt;” trim_to=“&amp;lt;A href=&amp;quot;” 
             
             
               trim_from=“&amp;quot;class=&amp;quot;normalFeatureLink&amp;quot;&amp;gt;”/&gt; 
             
           
        
         
             
                 
               &lt;!−−...−−&gt; 
             
           
        
         
             
                 
               &lt;/Service&gt; 
             
             
                 
               &lt;!−−...−−&gt; 
             
           
        
         
             
                 
               &lt;/nmlHeader&gt; 
             
             
                 
               &lt;nmlBody&gt; 
             
           
        
         
             
                 
               &lt;group&gt; 
             
           
        
         
             
                 
               &lt;image href=“menu.jpg/&gt; 
             
             
                 
               &lt;anchor click=“link (http://www.netomat.net)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“neto_logo.gif” x=“200” y=“2”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;image href=“gnome.jpg” x=“34” y=“14”/&gt; 
             
             
                 
               &lt;anchor click=“popup(memu@pop.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“index_logo.gif” x=“268” y=“404 ”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;image href=“binoc.gif” x=“382” y=“263”/&gt; 
             
             
                 
               &lt;image href=“cafe.gif” x=“103” y=“345”/&gt; 
             
             
                 
               &lt;anchor rollover=“popup(menu_english@pop.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“menu_french.gif” x=“189” y=“36”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor click=jump(@booth.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“menu_photo.gif x=“489 ” y=“35”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
           
        
         
             
                 
               &lt;/group&gt; 
             
           
        
         
             
                 
               &lt;/nmlBody&gt; 
             
             
                 
               &lt;nml/&gt; 
             
             
                 
                 
             
           
        
       
     
   
   Sample NML Code for Capturing, in an NML document, the search results retrieved from a web search using a web meta-search interface according to the above sample code as well as meta-information about the search such as the original search query, time stamps, categories within which the results were found, etc.: 
   
     
       
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
         
             
                 
             
           
           
             
               &lt;?xml version=“1.0” encoding=“UTF-8”?&gt; 
             
             
               &lt;nml version=“1.0”&gt; 
             
           
        
         
             
                 
               &lt;nmlHeader&gt; 
             
           
        
         
             
                 
               &lt;!−− ....−−&gt; 
             
             
                 
               &lt;Service uri=“http://search.yahoo.com/bin/search?p=queryString” 
             
           
        
         
             
               serviceName=“Yahoo” queryString=“Tiger Woods” retcode=“1” query_id=“tw12” total_nr_pages=“42” 
             
             
               act_page=“2” act_hits=“654” timestamp=Sept 12 2000 16:04:32” nethit=“23”/&gt; 
             
           
        
         
             
                 
               &lt;HIT ranking_order=“1” 1c=“en” cc=“us”&gt; 
             
           
        
         
             
                 
               &lt;CATEGORY name=“Recreation &amp;gt; Sports &amp;gt; Golf &amp;gt; Golfers &amp;gt; Men 
             
           
        
         
             
               &amp;gt;” value=“Woods Tiger”/&gt; 
             
           
        
         
             
                 
               &lt;TITLE locator=“http://www.tigerwoods.com/”&gt;Tiger Woods&lt;/TITLE&gt; 
             
             
                 
               &lt;ABSTRACT&gt; 
             
           
        
         
             
                 
               - official site of Tiger from CBS SportsLine complete with video interviews, photos, 
             
           
        
         
             
               stats and features. 
             
           
        
         
             
                 
               &lt;/ABSTRACT&gt; 
             
           
        
         
             
                 
               &lt;LASTMOD&gt;null&lt;/LASTMOD&gt; 
             
             
                 
               &lt;DUP locator=“http://pages.prodigy.com/boshk/woods.htm” 
             
           
        
         
             
               ranking_order=“6”/&gt; 
             
           
        
         
             
                 
               &lt;/HIT&gt; 
             
             
                 
               &lt;HIT ranking_order=“2” 1c=“en” cc=“us”&gt; 
             
           
        
         
             
                 
               &lt;CATEGORY name=“Recreation &amp;gt; Sports &amp;gt; Golf &amp;gt; Golfers &amp;gt; Men 
             
           
        
         
             
               &amp;gt;” value=“Woods Tiger”&gt; 
             
           
        
         
             
                 
               &lt;TITLE locator=“http://www.pgatour.com/players/intro/8793.html”&gt;PGA 
             
           
        
         
             
               Tour.com:Tiger Woods &lt;/TITLE&gt; 
             
           
        
         
             
                 
               &lt;ABSTRACT&gt; 
             
           
        
         
             
                 
               - biography, photo gallery, and recent news. 
             
             
                 
               &lt;/ASSTRACT&gt; 
             
           
        
         
             
                 
               &lt;LASTMOD&gt;Sep. 9 2000&lt;/LASTMOD&gt; 
             
           
        
         
             
                 
               &lt;/HIT&gt; 
             
             
                 
               &lt;!−− ....−−&gt; 
             
           
        
         
             
                 
               &lt;/nmlHeader&gt; 
             
             
                 
               &lt;nmlBody&gt; 
             
           
        
         
             
                 
               &lt;!−− ....−−&gt; 
             
           
        
         
             
                 
               &lt;/nmlBody&gt; 
             
             
                 
               &lt;/nml&gt; 
             
           
        
         
             
               Sample NML code describing a complete NML Document (e.g., message) containing header 
             
             
               information describing the document (DocumentReference information such as document ID, 
             
             
               description, state, permissions, etc.), how the document is messaged (MessageHeader info such 
             
             
               as “from”, “to”, modes of delivery, message timestamps, etc.), how the document is routed 
             
             
               (RoutingHeader information such as the Sender URI and the Receiver URI) as well as the body 
             
             
               of the NML document or message (nmlBody):&lt;?xml version=“l.0” encoding=“UTF-8”?&gt; 
             
             
               &lt;nml version=“1.0”&gt; 
             
           
        
         
             
                 
               &lt;nmlHeader&gt; 
             
           
        
         
             
                 
               &lt;DocumentReference&gt; 
             
           
        
         
             
                 
               &lt;DocumentLabel&gt;Forbes&lt;/DocumentLabel&gt; 
             
             
                 
               &lt;DocumentId&gt;nml:netomat.netWER9015488876&lt;/DocumentId&gt; 
             
             
                 
               &lt;DocumentDescription lang=“en-us”&gt;Forbes Media 
             
           
        
         
             
               Kit &lt;/DocumentDescription&gt; 
             
           
        
         
             
                 
               &lt;DocumentState&gt; 
             
           
        
         
             
                 
               &lt;Copied is=true” on=“20020224” by“”na” from=“forbes.nml” 
             
           
        
         
             
               to=“myfirstnml.nml”&gt;Copy based on Forbes newsletter&lt;/Copied&gt; 
             
           
        
         
             
                 
               &lt;Refreshed is=“true” on=“2002022313:34:58” 
             
           
        
         
             
               synchronized=“false”&gt;Every time&lt;/Refreshed&gt; 
             
           
        
         
             
                 
               &lt;Deleted is=“true” by=“maciej@netomat.net” 
             
           
        
         
             
               on=2002022518:34:21”&gt;Can be made active again&lt;/Deleted&gt; 
             
           
        
         
             
                 
               &lt;Optimized is=“true” by=“nmlCompressionAlgorithm”/&gt; 
             
             
                 
               &lt;Encoded is=“true” included=“yes” with=“base64”/&gt; 
             
             
                 
               &lt;Encrypted is=” false” using=“na”/&gt; 
             
             
                 
               &lt;Distilled is=“true” 
             
           
        
         
             
               from=“http://www.netomat.net/forbes/forbes.nml” 
             
             
               to=“http //www.forbes.com/news/forbes.nml;;http://www.netomat.net/forbes/forbes.nml”/&gt; 
             
           
        
         
             
                 
               &lt;Persisted is=“true” by=“maciej@netomat.net”&gt; 
             
           
        
         
             
                 
               &lt;Forgotten is=“false” on=“na”/&gt; 
             
             
                 
               &lt;Expired is=“false”/&gt; 
             
             
                 
               &lt;Edited is=“false” by=“nobody”/&gt; 
             
           
        
         
             
                 
               &lt;/Persisted&gt; 
             
           
        
         
             
                 
               &lt;/DocumentState&gt; 
             
             
                 
               &lt;DocumentPermissions&gt; 
             
           
        
         
             
                 
               &lt;Send can=“true” who=“maciej@netomat.net”/&gt; 
             
             
                 
               &lt;Reply can=“true” must=“false” 
             
           
        
         
             
               who=“maciej@netomat.net;;kris@netomat.net;;ed@netomat.net” by=“2002040112:00:00”/&gt; 
             
           
        
         
             
                 
               &lt;Forward can=“true” must=“false” 
             
           
        
         
             
               who=“maciej@netomat.net;;kris@netomat.net;;ed@netomat.net” by=“2002040112:00:00” 
             
             
               notBefore=“na” notAfter=“na”/&gt; 
             
           
        
         
             
                 
               &lt;Publish can=“true” 
             
           
        
         
             
               who=“maciej@netomat.net;;kris@netomat.net;;ed@netomat.net” notBefore=“2002040112:00:00” 
             
             
               notAfter=“2002040112:00:00”/&gt; 
             
           
        
         
             
                 
               &lt;Copy can=“false” who=“nobody”/&gt; 
             
             
                 
               &lt;Refresh can=“true” must=“false” interval=“10000” how=“auto” 
             
           
        
         
             
               who=“everybody”/&gt; 
             
           
        
         
             
                 
               &lt;Delete can=“true” must=“false” 
             
           
        
         
             
               who=“maciej@netomat.net;;kris@netomat.net;;ed@netomat.net” by=“2002040112:00:00”/&gt; 
             
           
        
         
             
                 
               &lt;Optimize can=“true” must=“false” who=“anybody”/&gt; 
             
             
                 
               &lt;Encode can=“true” must=“false” who=“anyhody” with=“base64”/&gt; 
             
             
                 
               &lt;Encrypt can=“true” must=“false” who=“anybody” with=“SEA”/&gt; 
             
             
                 
               &lt;Persist can=“true” must=“false” who=“anybody” 
             
           
        
         
             
               imediately=“true” forgetBy=“na” expireOn=“na”/&gt; 
             
           
        
         
             
                 
               &lt;Edit can=“false” who=“nobody”/&gt; 
             
           
        
         
             
                 
               &lt;/DocumentPermissions&gt; 
             
           
        
         
             
                 
               &lt;/DocumentReference&gt; 
             
             
                 
               &lt;MessageHeader&gt; 
             
           
        
         
             
                 
               &lt;From&gt; 
             
           
        
         
             
                 
               &lt;PartyId&gt;6673766frddehds876748&lt;/PartyId&gt; 
             
           
        
         
             
                 
               &lt;/From&gt; 
             
             
                 
               &lt;To&gt; 
             
           
        
         
             
                 
               &lt;PartyId&gt;erwoys5654lk98432&lt;/PartyId&gt; 
             
           
        
         
             
                 
               &lt;/To&gt; 
             
             
                 
               &lt;MessageData&gt; 
             
           
        
         
             
                 
               &lt;MessageId&gt;5665/876767/8989984/&lt;/MessageId&gt; 
             
             
                 
               &lt;TimeStamp&gt;20011112192452&lt;/TimeStamp&gt; 
             
             
                 
               &lt;Encryption type=“PKE”&gt;Not encrypted&lt;/Encryption&gt; 
             
             
                 
               &lt;Delivery type=“OnceAndOnlyOnce”/&gt; 
             
           
        
         
             
                 
               &lt;/MessageData&gt; 
             
             
                 
               &lt;MessageActionStatus wasSent=“yes” wasReplied=“yes” 
             
           
        
         
             
               wasRepliedNumOfTimes=“3” wasForwarded=“yes” wasForwardedNumOfTimes=“2”&gt;Updated on Feb 24 
             
             
               2002&lt;/MessageActionStatus&gt; 
             
           
        
         
             
                 
               &lt;MessageMode prefered-“yes” mandatory=“no” synchronous=“no” 
             
           
        
         
             
               asynchronous=“yes”&gt;Communication Mode Information based on last transaction on 
             
             
               2002.02.24&lt;/MessageMode&gt; 
             
           
        
         
             
                 
               &lt;/MessageHeader&gt; 
             
             
                 
               &lt;RoutingHeader&gt; 
             
           
        
         
             
                 
               &lt;SenderURI&gt;www.forbes.com/netomat&lt;/SenderURI/&gt; 
             
             
                 
               &lt;ReceiverURI/&gt;www.netomat.net/forbes&lt;/ReceiverURI&gt; 
             
             
                 
               &lt;ErrorURI&gt;mailto:maciejw@netomat.net&lt;/ErrorURI&gt; 
             
             
                 
               &lt;TimeStamp&gt;20011112192452&lt;/TimeStamp&gt; 
             
             
                 
               &lt;SequenceNumber&gt;00001&lt;/SequenceNumber&gt; 
             
           
        
         
             
                 
               &lt;/RoutingHeadar&gt; 
             
           
        
         
             
                 
               &lt;/nmlHeader&gt; 
             
             
                 
               &lt;nmlBody&gt; 
             
           
        
         
             
                 
               &lt;group&gt; 
             
           
        
         
             
                 
               &lt;rect color=“*ffffff” fillColor=“#ffffff” height=“450” width=“650”/&gt; 
             
             
                 
               &lt;image noHighlight=“true” href=“index_logo.gif” x=“515” y=“398”/&gt; 
             
             
                 
               &lt;image noHighlight=“true” x=“23” y=“37”&gt; 
             
           
        
         
             
                 
               ACEAABAiAAEQXwBEQyJTb3VyY2U6IEhTSSAvV01GLXRvLUNHTSBmaWx0ZXIg 
             
           
        
         
             
                 
               LyBWZXzaW9uIDEuMzUgIiAiRGF0ZTogMTk5OS0wMS0xNyIRZgAB//8AARBi 
             
             
                 
               AAAQpgAAAAkAFxFGAAAA////EYQwIgAQEYogyAAAAAB//3//AAARvwC3ClRJ 
             
             
                 
               TUVTXlJPTUFODFRJTUVTXO1UQUxjQwpUSU1FU19CT0xEEVRJTUVTX0JPTERf 
             
             
                 
               SVRBTElDCUhFTFZFVE1DQRFIRUxWRVRJQ0FfT0JMSVFVRQ5URUxWRVRJQ0Ff 
             
             
                 
               Qk9MRBZIRUxWRVRJQ0FfQk9MRF9PQkxJUVFB0NPVVJJRVIOQ09VUklFUl9J 
             
             
                 
               VEFMSUMMQ09VUklFUl9CT0xEE0NPVVJJRVJfQk9MRF9JVEFMSUMGU1lMQk9M 
             
             
                 
               ABHOAAABQgABAUEABAMqLToR4gABAGEAACAmAAE9NJ9IIEIAASBiAAAgggAA 
             
             
                 
               IKIAACDI95D0wAhqCzoAAACAQWj5cAa5/TEJikGGAogCUQGQUGIACEAo+dD/ 
             
             
                 
               +v7g+TpRYgACUkwAAQAEAAAAAAAAAABRgBxUggAAABkAGQAAFKCCAJAkAEg/ 
             
             
                 
               MoAAQlTb21lIFRleHQAoABA 
             
             
                 
               −−/04w6evG8XlLl3ft 
             
           
        
         
             
                 
               &lt;!−− ... −−&gt; 
             
           
        
         
             
                 
               &lt;/image&gt; 
             
             
                 
               &lt;anchor click=“jump(man.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image noHighlight=“true” href=“15_arrow.jpg” x=“94” y=“5”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;image noHighlight=“true” href=“book_man.gif” x=“178” y=“78”/&gt; 
             
             
                 
               &lt;anchor rollover=“popup(book_move@pop.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image noHighlight=“true” href=“book_move.gif” x=“96” y=“214”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor rollover=“popup(book_woman@pop.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image noHighlight=“true” href=“book_woman.jpg” x=“354” 
             
           
        
         
             
               y=“60 ”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor rollover=“popup(book_amelie@pop.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image noHighlight=“true” href=“book_amelie.jpg” x=“415” 
             
           
        
         
             
               y=“61”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor click=“jump(@4.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image noHighiight=“true” href=“15_video.gif” x=“8” y=“367”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor click=“jump (@8.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image noHighlight=“true” href=“book_gnome.jpg” x=“301” 
             
           
        
         
             
               y=“ 272”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
           
        
         
             
                 
               &lt;/group&gt; 
             
           
        
         
             
                 
               &lt;/nmlBody&gt; 
             
             
                 
                 
             
           
        
       
     
   
   &lt;/nml&gt;Sample NML code of a complete NML Document which may be edited by a recipient. The ability for a recipient to edit this document is determined by the document state and the document permissions in the nmlHeader and the &lt;edit&gt; tag in nmlBody of the document: 
   
     
       
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
           
             
             
           
             
             
           
             
             
           
             
             
           
             
             
           
         
             
                 
             
           
           
             
               &lt;?xml version=“1.0” encoding=“UTF-8”?&gt; 
             
             
               &lt;nml version=“1.0”&gt; 
             
           
        
         
             
                 
               &lt;nmlHeader&gt; 
             
           
        
         
             
                 
               &lt;DocumentReference&gt; 
             
           
        
         
             
                 
               &lt;DocumentLabel&gt;Forbes&lt;/DocumentLabel&gt; 
             
             
                 
               &lt;DocumentId&gt;nml:netomat.netWER9015488876&lt;/DocumentId&gt; 
             
             
                 
               &lt;DocumentDescription lang=“en-us”&gt;Forbes Media 
             
           
        
         
             
               Kit&lt;/DocumentDescription&gt; 
             
           
        
         
             
                 
               &lt;Document State&gt; 
             
           
        
         
             
                 
               &lt;Copied is=“true” on=“20020224” by=“na” from=“forbes.nml” 
             
           
        
         
             
               to=“myfirstnml.nml”&gt;Copy based on Forbes newsletter&lt;/Copied&gt; 
             
           
        
         
             
                 
               &lt;Refreshed is=“true” on=“2002022313:34:58” 
             
           
        
         
             
               synchronized=“false”&gt;Every time&lt;/Refreshed&gt; 
             
           
        
         
             
                 
               &lt;Deleted is=“true” by=“maciej@netomat.net” 
             
           
        
         
             
               on=“2002022518:34:21”&gt;Can be made active again&lt;/Deleted&gt; 
             
           
        
         
             
                 
               &lt;Optimized is=“true” by=“nmlCompressionAlgorithn”/&gt; 
             
             
                 
               &lt;Encoded is=“true” included=“yes” with=“UUE”/&gt; 
             
             
                 
               &lt;Encrypted is=“false” using=“na”/&gt; 
             
             
                 
               &lt;Distilled is=“true” 
             
           
        
         
             
               from=“http://www.netomat.net/forbes/forbes.nml” 
             
             
               to=“http://www.forbes.com/news/forbes.nml;;http://www.netomat.net/forbes/forbes.nml”/&gt; 
             
           
        
         
             
                 
               &lt;Persisted is=“true” by=“maciej@netomat.net”&gt; 
             
           
        
         
             
                 
               &lt;Forgotten is=“false” on=“na”/&gt; 
             
             
                 
               &lt;Expired is=“false”/&gt; 
             
             
                 
               &lt;Edited is=“false” by=“nobody”/&gt; 
             
           
        
         
             
                 
               &lt;/Persisted&gt; 
             
           
        
         
             
                 
               &lt;/DocumentState&gt; 
             
             
                 
               &lt;DocumentPermissions&gt; 
             
           
        
         
             
                 
               &lt;Send can=“true” who=“maciej@netomat.net”/&gt; 
             
             
                 
               &lt;Reply can=“true” must=”false” 
             
           
        
         
             
               who=“maciej@netomat.net;;kris@netomat.net;;ed@netomat.net” by=“2002040112:00:00”/&gt; 
             
           
        
         
             
                 
               &lt;Forward can=“true” must=“false” 
             
           
        
         
             
               who=“maciej=netomat.net;;kris=netomat.net;;ed@netomat.net” by=“2002040112:00:00” 
             
             
               notBefore=“na” notAfter=“na”/&gt; 
             
           
        
         
             
                 
               &lt;Publish can=“true” 
             
           
        
         
             
               who=“maciej@netomat.net;;kris@netomat.net;;ed@netomat.net” notBefore=“2002040112:00:00” 
             
             
               notAfter=“2002040112:00:00”/&gt; 
             
           
        
         
             
                 
               &lt;Copy can=“false” who=“nobody”/&gt; 
             
             
                 
               &lt;Refresh can=“true” must=“false” interval=“10000” how=“auto” 
             
           
        
         
             
               who=“everybody”/&gt; 
             
           
        
         
             
                 
               &lt;Delete can=“true” must=“false” 
             
           
        
         
             
               who=“maciej@netomat.net;;kris@netomat.net;;ed@netomat.net” by=“2002040112:00:00”/&gt; 
             
           
        
         
             
                 
               &lt;Optimize can=“true” must=“false” who=“anybody”/&gt; 
             
             
                 
               &lt;Encode can=“true” must=“false” who=“anybody” with=“base64”/&gt; 
             
             
                 
               &lt;Encrypt can=“true” must=“false” who=“anyhody” with=“SEA”/&gt; 
             
             
                 
               &lt;Persist can=“true” must=“false” who=“anybody” 
             
           
        
         
             
               immediately=“true” forgetBy=“na” expireOn=“na”/&gt; 
             
           
        
         
             
                 
               &lt;Edit can=“true” who=“anybody”/&gt; 
             
             
                 
               &lt;/DocumentPermissions&gt; 
             
           
        
         
             
                 
               &lt;/DocumentReference&gt; 
             
             
                 
               &lt;MessageHeader&gt; 
             
           
        
         
             
                 
               &lt;From&gt; 
             
           
        
         
             
                 
               &lt;PartyId&gt;6673766frddehds876748&lt;/PartyId&gt; 
             
           
        
         
             
                 
               &lt;/From&gt; 
             
             
                 
               &lt;To&gt; 
             
           
        
         
             
                 
               &lt;PartyId&gt;erwoys56541k98432&lt;/PartyId&gt; 
             
           
        
         
             
                 
               &lt;/To&gt; 
             
             
                 
               &lt;MessageData&gt; 
             
           
        
         
             
                 
               &lt;MessageId&gt;5665/876767/8989984/&lt;/MessageId&gt; 
             
             
                 
               &lt;TimeStamp&gt;20011112192452&lt;/TimeStamp&gt; 
             
             
                 
               &lt;Encryption type=“PKE”&gt;Not encrypted&lt;/Encryption&gt; 
             
             
                 
               &lt;Delivery type=“OnceAndOnlyOnce”/&gt; 
             
           
        
         
             
                 
               &lt;/MessageData&gt; 
             
             
                 
               &lt;MessageActionStatus wasSent=“yes” wasRepliedTo=“yes” 
             
           
        
         
             
               wasRepliedToNumOfTimes=“3” wasForwarded=“yes” wasForwardedNumOfTimes=“2”&gt;Updated on Feb 24 
             
             
               2002&lt;/MessageActionStatus&gt; 
             
           
        
         
             
                 
               &lt;MessageMode prefered=“yes” mandatory=“no” synchronous=“no” 
             
           
        
         
             
               asynchronous=“yes”&gt;Communication Mode Information based on last transaction on 
             
             
               2002.02.24&lt;/MessageMode&gt; 
             
           
        
         
             
                 
               &lt;/MessageHeader&gt; 
             
             
                 
               &lt;RoutingHeader&gt; 
             
           
        
         
             
                 
               &lt;SenderURI&gt;www.forbes.com/netomat&lt;/SenderURI&gt; 
             
             
                 
               &lt;ReceiverURI&gt;www.netomat.net/forbes&lt;/ReceiverURI&gt; 
             
             
                 
               &lt;ErrorURI&gt;mailto:maciejw@netomat.net&lt;/ErrorURI&gt; 
             
             
                 
               &lt;TimeStamp&gt;20011112192452&lt;/TimeStamp&gt; 
             
             
                 
               &lt;SequenceNumber&gt;00001&lt;/SequenceNumber&gt; 
             
           
        
         
             
                 
               &lt;/RoutingHeader&gt; 
             
           
        
         
             
                 
               &lt;/nmlHeader&gt; 
             
             
                 
               &lt;nmlBody&gt; 
             
           
        
         
             
                 
               &lt;group&gt; 
             
           
        
         
             
                 
               &lt;image href=“kodak_top2.gif” x=“0” y=“0”/&gt; 
             
             
                 
               &lt;rect height=“26” width=“265” x=“7” y=“26” color=“#FDB400”/&gt; 
             
             
                 
               &lt;text font=“arial:14:bold, sansserif:14:bold” color=“#000000” x=“14” 
             
           
        
         
             
               y=“33”&gt;Welcome, David.&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;text font=“arial:18:bold, sansserif:16:bold” color=“#000000” x=“23” 
             
           
        
         
             
               y=“92”&gt;Kids&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;!−−tabs−−&gt; 
             
             
                 
               &lt;anchor click=“jump (@index.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“manage_h.gif” x=“241” y=“55”/&gt; 
             
             
                 
               &lt;text font=“arial:14:bold, sansserif:14:bold” color=“#CC3300” 
             
           
        
         
             
               x=“261” y=“65” highlightColor=“#FDB400”&gt;Manage&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor click=“jump (@create.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“create.gif” x=“343” y=“55”/&gt; 
             
             
                 
               &lt;text font=“arial:14:bold, sansserif:14:bold” color=“#666666” 
             
           
        
         
             
               x=“363” y=“65” highlightColor=“#ffffff”&gt;Create&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor click=“junp(@shop.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“shop.gif” x=“437” y=“=55”/&gt; 
             
             
                 
               &lt;text font=“arial:14:bold, sansserif:14:bold” color=“#666666” 
             
           
        
         
             
               x=“461” y=“65” highlightColor=“#ffffff”&gt;Shop&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor click=“jump(@send.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“ssnd.gif” x=“525” y=“55”/&gt; 
             
             
                 
               &lt;text font=“arial:14:bold, sansserif:14:bold” color=“#666666” 
             
           
        
         
             
               x=“546” y=“65” highlightColor=“#ffffff”&gt;Send&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;anchor click=“jump (@orderprints.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“orderprints.gif” x=“610” y=“55”/&gt; 
             
             
                 
               &lt;text font=“arial:14:bold, sansserif:14:bold” color=“#666666” 
             
           
        
         
             
               x=“624” y=“65” highlightColor=“#ffffff”&gt;Order Prints&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;!−−end tabs−−&gt; 
             
             
                 
               &lt;rect height=“l” width=“727” color=“#cccccc” x=“5” y=“252”/&gt; 
             
             
                 
               &lt;rect height=“1” width=“727” color=“#cccccc” x=“5” y=“277”/&gt; 
             
             
                 
               &lt;!−−big bg grey rect−−&gt; 
             
             
                 
               &lt;rect height=“173” width=“727” x=“5” y=“278” color=“#666666”/&gt; 
             
             
                 
               &lt;edit who=“all” start=“na” end=“na”&gt; 
             
           
        
         
             
                 
               &lt;drag&gt; 
             
           
        
         
             
                 
               &lt;image href=“kid1.gif” x=“26” y=“130”/&gt; 
             
           
        
         
             
                 
               &lt;/drag&gt; 
             
             
                 
               &lt;drag&gt; 
             
           
        
         
             
                 
               &lt;image href=“kid2.gif” x=“159” y=“130”/&gt; 
             
           
        
         
             
                 
               &lt;/drag&gt; 
             
           
        
         
             
                 
               &lt;/edit&gt; 
             
             
                 
               &lt;image href=“4.gif” x=“295” y=“116”/&gt; 
             
             
                 
               &lt;text font=“arial:14, sansserif:14” color=“#333333” x=“25” 
             
           
        
         
             
               y=“257”&gt;organize your photos via drag and drop&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;text font=“arial:14, sansserif:14” color=“#333333” x=“613” 
             
           
        
         
             
               y=“257”&gt;view 6 - 12&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;image href=“arrow_right.gif” x=“697” y=“258”/&gt; 
             
             
                 
               &lt;!−−big cover grey rect−−&gt; 
             
             
                 
               &lt;rect height=“173” width=“727” x=“5” y=“328” color=“#666666”/&gt; 
             
             
                 
               &lt;anchor click=“jump(@kids.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“album.gif” x=“70” y=“328”/&gt; 
             
             
                 
               &lt;text font=“arial:14, sansserif:14” color=“#ffffff” x=“90” 
             
           
        
         
             
               y=“396” highlightColor=“#000000”&gt;Kids&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
             
                 
               &lt;text font=“arial:14, sansserif:14” color=“#ffffff” x=“200” 
             
           
        
         
             
               y=“396”&gt;Trip to&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;anchor click=“jump(@trip.nml)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“album.gif” x=“185” y=328/&gt; 
             
             
                 
               &lt;text font=“arial:14, sansserif:14” color=“#ffffff” x=“200” 
             
           
        
         
             
               y=“409” highlightColor=“#000000”&gt;Disney&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
           
        
         
             
                 
               &lt;image href=“album.gif” x=“299” y=“328”/&gt; 
             
             
                 
               &lt;text font=“arial:14, sansaerif:14” color=“#ffffff” x=“310” 
             
           
        
         
             
               y=“396”&gt;send to&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;text font=“arial:14, sansserif:14” color=“#ffffff” x=“293” y=“409”&gt;Mom 
             
           
        
         
             
               n Dad&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;image href=“album.gif” x=“410” y=“328”/&gt; 
             
             
                 
               &lt;text font=“arial:14, sansserif:14” color=“#ffffff” x=“420” 
             
           
        
         
             
               y=“396&gt;” houses&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;image href=“album.gif” x=“524” y=“328”/&gt; 
             
             
                 
               &lt;text font=“arial:14, sansserif:14” color=“#FFCC00” x=“521” 
             
           
        
         
             
               y=“396”&gt;create new&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;image href=“trash.gif” x=“662” y=“323”/&gt; 
             
             
                 
               &lt;text font=“arial:14, sansserif:14” color=“#ffffff” x=“668” 
             
           
        
         
             
               y=“396”&gt;trash&lt;/text&gt; 
             
           
        
         
             
                 
               &lt;rect height=“393” width=“5” color=“black” x=“0” y=“57”/&gt; 
             
             
                 
               &lt;rect height=“393” width=“4” color=“black” x=“732” y=“57”/&gt; 
             
             
                 
               &lt;image href=“kodak bottom2.gif” x=“0” y=“450”/&gt; 
             
             
                 
               &lt;anchor click=“link(http://www.netomat.net)”&gt; 
             
           
        
         
             
                 
               &lt;image href=“netomat_grey.gif” x=“5” y=“358”/&gt; 
             
           
        
         
             
                 
               &lt;/anchor&gt; 
             
           
        
         
             
                 
               &lt;/group&gt; 
             
           
        
         
             
                 
               &lt;/nmlBody&gt; 
             
             
                 
               &lt;/nml&gt; 
             
             
                 
                 
             
           
        
       
     
   
   Sample NML code of an NML Document describing how Document Actions (&lt;DocumentActions&gt;), which are typically carried at the nml protocol level, can be contained within the header of the NML Document and still be processed when using other protocols to transport the document such as HTTP or SMTP: 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             &lt;?xml version=1.0” encoding=“UTF-8”?&gt;       &lt;nml.version=“1.0”&gt;                &lt;nmlHeader&gt;                =DocumentReference&gt;                &lt;DocumentLabel&gt;Forbes&lt;/DocumentLabel&gt;           &lt;DocumentId&gt;nml.netomat.netWER9015488876&lt;/DocumentId&gt;           &lt;DocumentDescription lang=“en-us”&gt;Forbes Media            Kit&lt;/DocumentDescription&gt;                &lt;DocumentState&gt;                &lt;Copied is=“true” on=“20020224” by=“na” from=“forbes.nml”            to=myfirstnml.nml”&gt;Copy based on Forbes newsletter&lt;/Copied&gt;                &lt;Refreshed is=“true” on=“2002022313:34:58”            synchronized=“false”&gt;Every time&lt;/Refreshed&gt;                &lt;Deleted is=“true” by=“maciej@netomat.net”            on=“2002022518:34:21”&gt;Can be made active again&lt;/Deleted&gt;                &lt;Optimized is=“true” by=“nmlCompressionAlgorithn”/&gt;           &lt;Encoded is=“true” included=“yes” with=“UUE”/&gt;           &lt;Encrypted is=“false” using=“na”/&gt;           &lt;Distilled is=“true”            from=“http://www.netomat.net/forbes/forbes.nml”       to=“http://www.forbes.com/news/forbes.nml;;http://www.netomat.net/forbes/forbes.nml”/&gt;                &lt;Persisted is=“true” by=“maciej@netomat.net”&gt;                &lt;Forgotten is=“false” on=“na”/&gt;           &lt;Expired is=“false”/&gt;           &lt;Edited is=“false” by=“nobody”/&gt;                &lt;/Persisted&gt;                &lt;/DocumentState&gt;           &lt;DocumentPermissions&gt;                &lt;Send can=“true” who=“maciej@netomat.net”/&gt;           &lt;Reply can=“true” must=“false”            who=“maciej@netomat.net;;kris@netomat.net;;ed@netomat.net” by=“2002040112:00:00”/&gt;                &lt;Forward can=“true” must=“false”            who=“maciej@netomat.net;;kris@netomat.net;;ed@netomat.net” by=“2002040112:00:00”       notBefore=“na” notAfter=“na”/&gt;                &lt;Publish can=“true”            who=“maciej@netomat.net;;kris@netomat.net;;ed@netomat.net” notBefore=“2002040112:00:00”       notAfter=“2002040112:00:00”/&gt;                &lt;Copy can=“false” who=“nobody”/&gt;           &lt;Refresh can=“true” must=“false” interval=“10000” how=“auto”            who=“everybody”/&gt;                &lt;Delete can=“true” must=“false”            who=“maciej@netomat.net;;kris@netomat.net;;ed@netomat.net” by=“2002040112:00:00”/&gt;                &lt;Optimize can=“true” must=“false” who=“anybody”/&gt;           &lt;Encode can=“true” must=“false” who=“anybody” with=“base64”/&gt;           &lt;Encrypt can=“true” must=“false” who=“anybody” with=“SEA”/&gt;           &lt;Persist can=“true” must=“false” who=“anybody”            immediately=“true” forgetBy=“na” expireOn=“na”/&gt;                &lt;Edit can=“false” who=“nobody”/&gt;                &lt;/DocumentPermissions&gt;           &lt;DocumentStatus&gt;                &lt;Lock exclusive=“true” sharedBy=“na” universal=“false”            active=“true” href=“http://www.netomat.net/locks/lock.nml”/&gt;                &lt;/DocumentStatus&gt;           &lt;DocumentAction&gt;                &lt;GetName/&gt;           &lt;SetName/&gt;           &lt;GetContentLanguage/&gt;           &lt;GetContentLength/&gt;           &lt;GetContentType/&gt;           &lt;GetElement/&gt;           &lt;GetAttribute/&gt;           &lt;PutElement/&gt;           &lt;PutAttribute/&gt;           &lt;GetLastModified/&gt;           &lt;GetLock/&gt;           &lt;SetLock/&gt;           &lt;GetResourceType/&gt;           &lt;GetSource/&gt;           &lt;getCreationdate/&gt;                &lt;/DocumentAction&gt;                &lt;/DocumentReference&gt;           &lt;MessageHeader&gt;                &lt;From&gt;                &lt;PartyId&gt;6673766frddehds876748&lt;/partyId&gt;                &lt;/From&gt;           &lt;To&gt;                &lt;PartyId&gt;erwoys56541k98432&lt;/PartyId&gt;                &lt;/To&gt;           &lt;MessageData&gt;                &lt;MessageId&gt;5665/876767/8989984/&lt;/MessageId&gt;           &lt;TimeStamp&gt;20011112192452&lt;/TimeStamp&gt;           &lt;Encryption type=“PKE”&gt;Not encrypted&lt;/Encryption&gt;           &lt;Delivery type=“OnceAndOnlyOnce”/&gt;                &lt;/MessageData&gt;           &lt;MessageActionStatus wasSent=“yes” wasRepliedTo=“yes”            wasRepliedToNumOfTimes=“3” wasForwarded=“yes” wasForwardedNumOfTimes=“2”&gt;Updated on Feb 24       2002&lt;/MessageActionStatus&gt;                &lt;MessageMode prefered=“yes” mandatory=“no” synchronous=“no”            asynchronous=“yes”&gt;Communication Mode Information based on last transaction on       2002.02.24&lt;/MessageMode&gt;                &lt;/MessageHeader&gt;           &lt;RoutingHeader&gt;                &lt;SenderURI&gt;www.forbes.com/netomat&lt;/SenderURI&gt;           &lt;ReceiverURI&gt;www.netomat.net/forbes&lt;/ReceiverURI&gt;           &lt;ErrorURI/&gt;mailto:maciejw@netomat.net&lt;/ErrorURI&gt;           &lt;TimeStamp&gt;20011112192452&lt;/TimeStamp&gt;           &lt;SequenceNumber&gt;00001&lt;/SequenceNumber&gt;                &lt;/RoutingHeader&gt;                &lt;/nmlHeader&gt;           &lt;nmlBody&gt;                &lt;group&gt;                &lt;rect color=“#ffffff” fillColor=“#ffffff” height=“450” width=” 650”/&gt;           &lt;image noHighlight=“true” href=“17_pic.jpg” y=“56”/&gt;           &lt;anchor click=“jump(@18.nml)”&gt;                &lt;image noHighlight=“true” href=“17_arrow.gif” x=“239” y=“359”/&gt;                &lt;/anchor&gt;           &lt;anchor click=“jump(@8.nml)”&gt;                &lt;image noHighlight=“true” href=“17_gnome.jpg” x=“16” y=“304”/&gt;                &lt;/anchor&gt;           &lt;anchor click=“jump(@4.nml)”&gt;                &lt;image noHighlight=“true” href=“17_video.jpg” x=“563” y=“86”/&gt;                &lt;/anchor&gt;           &lt;image noHighlight=“true” href=“logo.gif” x=“286” y=“11”/&gt;           &lt;anchor click=“jump(@17b.nml)”&gt;                &lt;text noHighlight=“true”&gt;alt&lt;/text&gt;                &lt;/anchor&gt;                &lt;/group&gt;                &lt;/nmlBody&gt;           &lt;/NML&gt;                        
NML Netomat Markup Language
 
   The above-identified embodiments and aspects of the present invention are made possible (for example) via a new computer readable language (code) called netomatic markup language (NML). This language presents a unique application or “dialect” of extensible markup language (XML). The code, as shown in the above examples, is similar to XML, but includes unique semantics which allow the egocentric network, authoring application as well as the information controlling application to embody the present invention. 
   Accordingly, grammatical definitions for the NML language are set out below: 

 
   Accordingly, having presented the present invention in view of the above described embodiments, various alterations, modifications and improvements are intended to be within the scope and spirit of the invention. The foregoing description is by way of example only and is not intended as limiting. The invention&#39;s limit is defined only in the following claims and the equivalents thereto.