ietf-openproxy
[Top] [All Lists]

New ID on OMML submitted

2001-02-23 15:42:03
Hi,

we just submitted the attached ID on OMML, a language for describing OPES meta-data. Comments and feedback are highly appreciated.

Thanks to Christian for taking the lead on the draft!

-Markus

   Internet Engineering Task Force                   Christian Maciocco 
   INTERNET DRAFT                                     Intel Corporation 
   Expires: August 2001                                  Markus Hofmann 
                                                    Lucent Technologies 
    
    
    
                   OMML: OPES Meta-data Markup Language 
                      draft-maciocco-opes-omml-00.txt 
    
    
Status of this Memo 
    
   This document is an Internet-Draft and is in full conformance with 
   all provisions of Section 10 of RFC2026. Internet-Drafts are working 
   documents of the Internet Engineering Task Force (IETF), its areas, 
   and its working groups. Note that other groups may also distribute 
   working documents as Internet-Drafts. 
    
   Internet-Drafts are draft documents valid for a maximum of six 
   months and may be updated, replaced, or obsoleted by other documents 
   at any time. It is inappropriate to use Internet-Drafts as reference 
   material or to cite them other than as "work in progress." 
    
   The list of current Internet-Drafts can be accessed at 
         http://www.ietf.org/ietf/1id-abstracts.txt 
    
   The list of Internet-Draft Shadow Directories can be accessed at 
         http://www.ietf.org/shadow.html. 
    
Abstract 
 
   Proxylets are small fragments of code installed on Open Pluggable 
   Edge Service (OPES) [1] intermediary, and executed when condition(s) 
   expressed using the Intermediary Rule Markup Language (IRML) [2] 
   match. This document defines: 
   o    the ?proxylet:? URI [3] scheme used in the OPES framework 
   o    the OPES Meta-data Markup Language (OMML), an XML based 
        language used to describe proxylet characteristics 
    
    
    












Maciocco, Hofmann  
                                                              [Page 1] 

Internet Draft          Proxylet Naming scheme              March 2000 
 
 
Table of Contents 
 
   Status of this Memo................................................1 
   Abstract...........................................................1 
   Table of Contents..................................................2 
   1. Introduction....................................................3 
   2. Proxylet URI scheme.............................................3 
   3. OPES Meta-data Markup Language Grammar..........................3 
   4. OMML Syntax.....................................................4 
   4.1. "proxyletInfo" element........................................4 
   4.2. "owner" element...............................................4 
   4.2.1 Attribute of "owner".........................................4 
   4.2.2 "name" element...............................................4 
   4.2.3 "id" element.................................................4 
   4.2.5 "version" element............................................4 
   4.3 Examples of the "owner", "name", "id", "version" elements......5 
   4.4 "info" element.................................................5 
   4.4.1 Attribute of "info"..........................................5 
   4.4.2 "location" element...........................................5 
   4.4.3 "protocol" element...........................................5 
   4.4.4 "modified-header" element....................................6 
   4.4.5 Attribute of "protocol"......................................6 
   4.4.6 "exec-environment" element...................................6 
   5. Example.........................................................6 
   7. Security Considerations.........................................7 
   8. Intellectual Property...........................................7 
   6. Acknowledgments.................................................7 
   7. References......................................................7 
   9. Disclaimer......................................................8 
   10. Author's Address...............................................8 
   12. Full Copyright Statement.......................................8 






















Maciocco, Hofmann  
                         Expires August 2001                 [Page 2] 

Internet Draft          Proxylet Naming scheme              March 2000 
 
 
1. Introduction 
    
   OPES enables network services that run on intermediary located in 
   the network, preferably at its edges. Proxylets are programs, 
   developed in a language tailored to the specific intermediary 
   element, which executes on the intermediary and performs actions 
   when a pre-defined condition or pre-defined sets of conditions are 
   met. These conditions are expressed as rules using IRML. Proxylets 
   can be pre-installed on the intermediaries through administrative 
   means, downloaded/fetched to/by the intermediaries or administration 
   devices using the proxylet meta-data.  
    
   This documents attempts to define the proxylet URI scheme as well as 
   meta-data defining proxylet characteristics. This meta-data will 
   facilitate interoperability between proxylet provider and user. 
    
   This document is organized as follows: 
    
   o   Section 2 describes the "proxylet:" URI scheme. 
    
   o   Section 3 and 4 describes the proxylet DTD (Document Type 
       Definition) [4] and syntax. 
    
   o   Section 5 describes usage examples.  
    
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
   "SHOULD", SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 
   document are to be interpreted as described in [KEYWORDS]. 
    
2. Proxylet URI scheme 
 
2.1. Syntax 
 
   The ABNF [5] grammar defined in the next section is the only 
   authoritative syntax definition for the proxylet URI scheme. 
    
   proxylet://[<server>]/[resource-path] 
    
2.2. ABNF Grammar 
 
   The full ABNF:  
    
   uri   = "proxylet:" "//" [server]["/" resource-path] 
    
   server = // as specified in RFC2396. In most cases ?localhost? will 
   be used to specify the server as proxylets will run locally. 
    
   resource-path names a specific resource within the server. 
 
3. OPES Meta-data Markup Language Grammar  
    
   The following XML DTD defines the OMML grammar.  
    
Maciocco, Hofmann  
                         Expires August 2001                 [Page 3] 

Internet Draft          Proxylet Naming scheme              March 2000 
 
 
   <!ELEMENT proxylet           (owner, info)> 
   <!ELEMENT owner             (name, id, version)> 
   <!ELEMENT name               (#PCDATA)> 
   <!ELEMENT id                 (#PCDATA)> 
   <!ELEMENT version            (#PCDATA)> 
   <!ELEMENT info               (location,protocol+,exec-environment)> 
   <!ELEMENT location           (#PCDATA > 
   <!ELEMENT protocol           (modified-header*)> 
   <!ELEMENT modified-header    (#PCDATA)> 
   <!ELEMENT exec-environment   (#PCDATA)> 
   <!ATTLIST owner              description       CDATA> 
   <!ATTLIST info               date              CDATA> 
   <!ATTLIST info               contact           CDATA #REQUIRED> 
   <!ATTLIST protocol           name              CDATA #REQUIRED> 
    
4. OMML Syntax 
    
   The corresponding OMML syntax follows the rules defined by [4].  
    
4.1. "proxyletInfo" element 
   The "proxyletInfo" element is the root element and MAY/MUST contain 
   the elements defined below. 
    
4.2. "owner" element 
    
   The "owner" element specifies the owner of the proxylet. Each 
   proxylet can have exactly one owner. 
    
4.2.1 Attribute of "owner" 
    
   Name         Value 
   ------------------ 
   description  CDATA  
    
   The "description" attribute gives descriptive explanation of the 
   service provided by the proxylet, e.g. virus checking, translation, 
   etc. 
    
4.2.2 "name" element 
    
   The "name" element provides a descriptive name for the proxylet?s 
   owner. This can be a company name, a namespace, etc. The "name" 
   element doesn?t have to be unique among proxylet providers.  
 
4.2.3 "id" element 
    
   The "id" element MUST contain a unique identifier for the proxylet 
   owner. The domain name of the proxylet owner MUST be used as the 
   proxylet "id". 
 
4.2.5 "version" element 
 

Maciocco, Hofmann  
                         Expires August 2001                 [Page 4] 

Internet Draft          Proxylet Naming scheme              March 2000 
 
 
   The "version" attribute specifies the version of this proxylet. The 
   version format will use a series of digit separated by colon, e.g. 
   1.2.3.4.5  
    
4.3 Examples of the "owner", "name", "id", "version" elements 
    
   <?xml version="1.0"?> 
   <proxylet> 
      <owner description="Virus Checking Proxylet"> 
          <name>Intel Corp.</name> 
          <id>www.intel.com/developer/proxylet/vcheck</id> 
          <version>3.1.2.4.2</version> 
      </owner> 
   </proxylet> 
    
4.4 "info" element 
    
   The "info" element provides generic information and characteristics 
   about this proxylet that will be used by the OPES intermediary to 
   know where to get this proxylet, determine if it can support this 
   proxylet and what are this proxylet?s requirements in terms of 
   protocols supported, execution binding. 
 
4.4.1 Attribute of "info" 
    
   Name         Value 
   ------------------ 
   date         CDATA 
   contact      CDATA 
    
   The "date" attributes specifies the proxylet creation date.  
    
   The "contact" attributes specifies a contact information for this 
   proxylet such as name, address, e-mail, phone number, etc. 
    
4.4.2 "location" element 
 
   The "location" element specifies the proxylet?s fully qualified name 
   where the domain name might be different from the "id" element. For 
   example company A owns and develops the proxylet and so the "id" 
   element will be <id>A.com</id> but company A makes this proxylet 
                       rd
   available through a 3  party vendor B.com where OPES intermediary 
   will get the service from. The location element would be 
   <location>b.com\proxylet.pl<\location>. 
 
4.4.3 "protocol" element 
 
   The "protocol" element contains the name of the protocols attribute 
   supported by this proxylet. Other protocols than the ones defined in 
   the "protocol" element MUST NOT be given to the proxylet for 
   processing. For now only "http" is supported. Future version of this 
   document will support additional protocols. 
 
Maciocco, Hofmann  
                         Expires August 2001                 [Page 5] 

Internet Draft          Proxylet Naming scheme              March 2000 
 
 
4.4.4 "modified-header" element 
 
   The "modified-header" element contains the name of a protocol header 
   that MAY be modified by the proxylet during processing. 
 
4.4.5 Attribute of "protocol" 
    
   Name                 Value 
   -------------------------- 
   name                 CDATA 
    
   The "name" attribute specifies the acronym of the supported protocol 
   by this proxylet. 
 
 
4.4.6 "exec-environment" element 
 
   The "exec-environment" element specifies the execution environment 
   required to run this proxylet. 
 
5. Example 
    
5.1. Proxylet information provided to an OPES Administration server. 
    
   <?xml version="1.0"?> 
   <proxylet> 
      <owner description="Language Translation Proxylet"> 
          <name>Intel Corp.</name> 
          <id>www.intel.com/developer/proxylet/translate</id> 
          <version>3.1.2.4.2</version> 
      </owner> 
      <info contact="J.D., Intel Corp., (213)555-1212"> 
          <location>www.any.com/proxylet/translate.class</location> 
          <protocol name="http"  
              <modified-header>content-type</modified-header> 
              <modified-header>accept-language</modified-header> 
          </protocol> 
          <exec-environment>java 2.0</exec-environment> 
      </info> 
   </proxylet> 
    
 
5.2. Proxylet information used by IRML. 
 
   IRML defines an action that will result in a proxylet being called 
   when the rule matches. The proxylet meta-data has been transferred 
   to / fetch by the intermediary along with the proxylet. 
    
   <?xml version="1.0"?> 
   <rule processing-point=3> 
     <property name="Content-Type" matches="text/html"> 
        <action>proxylet:\\localhost\translate.class/action> 
   </rule> 
Maciocco, Hofmann  
                         Expires August 2001                 [Page 6] 

Internet Draft          Proxylet Naming scheme              March 2000 
 
 
    
    
7. Security Considerations 
    
   Although beyond the scope of this document, it is clearly necessary 
   to define a secure mechanism for transferring OMML information and 
   proxylets to OPES administration servers or intermediaries. This 
   will include authenticating and authorizing OMML information and 
   proxylet providers and intermediaries. 
    
8. Intellectual Property 
    
   The IETF takes no position regarding the validity or scope of any 
   intellectual property or other rights that might be claimed to 
   pertain to the implementation or use of the technology described in 
   this document or the extent to which any license under such rights 
   might or might not be available; neither does it represent that it 
   has made any effort to identify any such rights. Information on the 
   IETF's procedures with respect to rights in standards-track and 
   standards-related documentation can be found in BCP-11. 
    
   Copies of claims of rights made available for publication and any 
   assurances of licenses to be made available, or the result of an 
   attempt made to obtain a general license or permission for the use 
   of such proprietary rights by implementers or users of this 
   specification can be obtained from the IETF Secretariat. 
    
   The IETF invites any interested party to bring to its attention any 
   copyrights, patents or patent applications, or other proprietary 
   rights which may cover technology that may be required to practice 
   this standard. Please address the information to the IETF Executive 
   Director. 
    
6. Acknowledgments 
    
   The authors would like to thank all the active participants in the 
   OPES mailing list for their thought-provoking discussion, and many 
   of the ideas, suggestions have been incorporated into the document. 
   Especially we want to acknowledge the following people for their 
   significant contributions: Lily Yang, Rob Erickson, Michael Condry, 
   Andre Beck. 
    
7. References 
    
   [1] Tomlinson, G., et al., "Extensible Proxy Services Framework", 
   Internet-Draft, work in progress, July 2000. 
    
   [2] Beck, A., and Hofmann, M., "Intermediary Rule Markup Language", 
   Internet-Draft draft-beck-opes-irml-00.txt, work in progress, 
   February 2001. 
    
   [3] Berners-Lee, T., et al., "Uniform Resource Identifiers (URI): 
   Generic Syntax", RFC 2396. 
Maciocco, Hofmann  
                         Expires August 2001                 [Page 7] 

Internet Draft          Proxylet Naming scheme              March 2000 
 
 
    
   [4] Bray, T., et al., Extensible Markup Language (XML) 1.0 (Second 
   Edition), http://www.w3.org/TR/2000/REC-xml-20001006, October 2000. 
    
   [5] Crocker D., "Augmented BNF for Syntax Specifications: ABNF", RFC 
   2234, November 1997. 
    
    
9. Disclaimer 
    
   The views and specification herein are those of the authors and are 
   not necessarily those of their employer.  The authors and their 
   employer specifically disclaim responsibility for any problems 
   arising from correct or incorrect implementation or use of this 
   specification. 
    
10. Author's Address 
    
      Christian Maciocco 
      Intel Corporation 
      MS JF3-206 
      2111 NE 25th Ave. 
      Hillsboro, OR 97124, USA 
      Phone: +1-503-264-1770 
      E-Mail: Christian.maciocco @intel.com 
    
      Markus Hofmann 
      Bell Labs/Lucent Technologies 
      Room 4F-513 
      101 Crawfords Corner Road 
      Holmdel, NJ 07704, USA 
      Phone: +1 732 332 5983 
      Email: hofmann(_at_)bell-labs(_dot_)com 
    
12. Full Copyright Statement 
    
   Copyright (C) The Internet Society (1999).  All Rights Reserved. 
    
   This document and translations of it maybe copied and furnished to 
   others, and derivative works that comment on or otherwise explain it 
   or assist in its implementation may be prepared, copied, published 
   and distributed, in whole or in part, without restriction of any 
   kind, provided that the above copyright notice and this paragraph 
   are included on all such copies and derivative works.  However, this 
   document itself may not be modified in any way, such as by removing 
   the copyright notice or references to the Internet Society or other 
   Internet organizations, except as needed for the purpose of 
   developing Internet standards in which case the procedures for 
   copyrights defined in the Internet Standards process must be 
   followed, or as required to translate it into languages other then 
   English. 
    

Maciocco, Hofmann  
                         Expires August 2001                 [Page 8] 

Internet Draft          Proxylet Naming scheme              March 2000 
 
 
   The limited permissions granted above are perpetual and will not be 
   revoked by the Internet Society or its successors or assigns. 
    
   This document and the information contained herein is provided on an 
   "AS IS" basis and THE INTERNET SOCIETY AND THEINTERNET ENGINEERING 
   TASK FORCE DISCLIAMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMAITON 
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTEIS OF 
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
    
    
   Acknowledgement 
    
   Funding for the RFC editor function is currently provided by the 
   Internet Society. 






































Maciocco, Hofmann  
                         Expires August 2001                 [Page 9] 

<Prev in Thread] Current Thread [Next in Thread>