Inital version of publish/subscribe RFC added

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
diff --git a/rfc/sp-publish-subscribe-01.txt b/rfc/sp-publish-subscribe-01.txt
new file mode 100644
index 0000000..de4410d
--- /dev/null
+++ b/rfc/sp-publish-subscribe-01.txt
@@ -0,0 +1,169 @@
+
+
+
+
+Internet Engineering Task Force                          M. Sustrik, Ed.
+Internet-Draft
+Intended status: Informational                               May 4, 2014
+Expires: November 5, 2014
+
+
+                 Publish/Subscribe Scalability Protocol
+                        sp-publish-subscribe-01
+
+Abstract
+
+   This document defines a scalability protocol used for distributing
+   data to arbitrary number of subscriber nodes.
+
+Status of This Memo
+
+   This Internet-Draft is submitted in full conformance with the
+   provisions of BCP 78 and BCP 79.
+
+   Internet-Drafts are working documents of the Internet Engineering
+   Task Force (IETF).  Note that other groups may also distribute
+   working documents as Internet-Drafts.  The list of current Internet-
+   Drafts is at http://datatracker.ietf.org/drafts/current/.
+
+   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."
+
+   This Internet-Draft will expire on November 5, 2014.
+
+Copyright Notice
+
+   Copyright (c) 2014 IETF Trust and the persons identified as the
+   document authors.  All rights reserved.
+
+   This document is subject to BCP 78 and the IETF Trust's Legal
+   Provisions Relating to IETF Documents
+   (http://trustee.ietf.org/license-info) in effect on the date of
+   publication of this document.  Please review these documents
+   carefully, as they describe your rights and restrictions with respect
+   to this document.  Code Components extracted from this document must
+   include Simplified BSD License text as described in Section 4.e of
+   the Trust Legal Provisions and are provided without warranty as
+   described in the Simplified BSD License.
+
+
+
+
+
+
+Sustrik                 Expires November 5, 2014                [Page 1]
+
+Internet-Draft            Publish/Subscribe SP                  May 2014
+
+
+1.  Introduction
+
+   Blah-blah.
+
+2.  Underlying protocol
+
+   The publish/subscribe protocol can be run on top of any SP mapping,
+   such as, for example, SP TCPmapping [SPoverTCP].
+
+   Also, given that SP protocols describe the behaviour of entire
+   arbitrarily complex topology rather than of a single node-to-node
+   communication, several underlying protocols can be used in parallel.
+   For example, publisher can send a message to intermediary node via
+   TCP.  The intermediate node can then forward the message via PGM et
+   c.
+
+   +---+     TCP    +---+    PGM    +---+
+   |   |----------->|   |---------->|   |
+   +---+            +---+           +---+
+                      |
+                      |      PGM    +---+
+                      +------------>|   |
+                                    +---+
+
+3.  Overview of the algorithm
+
+   Blah-blah.
+
+4.  Hop-by-hop vs. End-to-end
+
+   Blah-blah.
+
+5.  Hop-by-hop functionality
+
+5.1.  PUB endpoint
+
+   Blah-blah.
+
+5.2.  SUB endpoint
+
+   Blah-blah.
+
+6.  End-to-end functionality
+
+   End-to-end functionality is built on top of hop-to-hop functionality.
+   Thus, an endpoint on the edge of a topology contains all the hop-by-
+   hop functionality, but also implements additional functionality of
+
+
+
+
+Sustrik                 Expires November 5, 2014                [Page 2]
+
+Internet-Draft            Publish/Subscribe SP                  May 2014
+
+
+   its own.  This end-to-end functionality acts basically as a user of
+   the underlying hop-by-hop functionality.
+
+6.1.  PUB endpoint
+
+   Blah-blah.
+
+6.2.  SUB endpoint
+
+   Blah-blah.
+
+7.  Loop avoidance
+
+   TODO: Do we want any loop avoidance in PUB/SUB?
+
+8.  IANA Considerations
+
+   New SP endpoint types PUB and SUB should be registered by IANA.  For
+   now, value of 32 should be used for PUB endpoints and value of 33 for
+   SUB endpoints.
+
+   IANA should eventually also register and issue numbers for different
+   message matching algorithms.
+
+9.  Security Considerations
+
+   The mapping is not intended to provide any additional security to the
+   underlying protocol.  DoS concerns are addressed within the
+   specification.
+
+10.  References
+
+   [SPoverTCP]
+              Sustrik, M., "TCP mapping for SPs", August 2013.
+
+Author's Address
+
+   Martin Sustrik (editor)
+
+   Email: sustrik@250bpm.com
+
+
+
+
+
+
+
+
+
+
+
+Sustrik                 Expires November 5, 2014                [Page 3]
+
diff --git a/rfc/sp-publish-subscribe-01.xml b/rfc/sp-publish-subscribe-01.xml
new file mode 100644
index 0000000..6259d89
--- /dev/null
+++ b/rfc/sp-publish-subscribe-01.xml
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="US-ASCII"?>
+<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
+
+<rfc category="info" docName="sp-publish-subscribe-01">
+
+  <front>
+
+    <title abbrev="Publish/Subscribe SP">
+    Publish/Subscribe Scalability Protocol
+    </title>
+
+    <author fullname="Martin Sustrik" initials="M." role="editor"
+            surname="Sustrik">
+      <address>
+        <email>sustrik@250bpm.com</email>
+      </address>
+    </author>
+
+    <date month="May" year="2014" />
+
+    <area>Applications</area>
+    <workgroup>Internet Engineering Task Force</workgroup>
+
+    <keyword>Publish</keyword>
+    <keyword>Subscribe</keyword>
+    <keyword>PUB</keyword>
+    <keyword>SUB</keyword>
+    <keyword>distribution</keyword>
+    <keyword>SP</keyword>
+
+    <abstract>
+      <t>This document defines a scalability protocol used for distributing
+         data to arbitrary number of subscriber nodes.</t>
+    </abstract>
+
+  </front>
+
+  <middle>
+
+    <section title = "Introduction">
+
+      <t>Blah-blah.</t>
+
+    </section>
+
+    <section title = "Underlying protocol">
+
+      <t>The publish/subscribe protocol can be run on top of any SP mapping,
+         such as, for example, <xref target='SPoverTCP'>SP TCPmapping</xref>.
+         </t>
+
+      <t>Also, given that SP protocols describe the behaviour of entire
+         arbitrarily complex topology rather than of a single node-to-node
+         communication, several underlying protocols can be used in parallel.
+         For example, publisher can send a message to intermediary node via TCP.
+         The intermediate node can then forward the message via PGM et c.</t>
+
+      <figure>
+        <artwork>
++---+     TCP    +---+    PGM    +---+
+|   |----------->|   |---------->|   |
++---+            +---+           +---+
+                   |
+                   |      PGM    +---+
+                   +------------>|   |
+                                 +---+
+        </artwork>
+      </figure>
+
+    </section>
+
+    <section title = "Overview of the algorithm">
+      <t>Blah-blah.</t>
+    </section>
+
+    <section title = "Hop-by-hop vs. End-to-end">
+      <t>Blah-blah.</t>
+    </section>
+
+    <section title = "Hop-by-hop functionality">
+
+      <section title = "PUB endpoint">
+        <t>Blah-blah.</t>
+      </section>
+
+      <section title = "SUB endpoint">
+        <t>Blah-blah.</t>
+      </section>
+   
+    </section>
+
+    <section title = "End-to-end functionality">
+
+      <t>End-to-end functionality is built on top of hop-to-hop functionality.
+         Thus, an endpoint on the edge of a topology contains all the
+         hop-by-hop functionality, but also implements additional
+         functionality of its own. This end-to-end functionality acts
+         basically as a user of the underlying hop-by-hop functionality.</t>
+
+      <section title = "PUB endpoint">
+        <t>Blah-blah.</t>
+      </section>
+
+      <section title = "SUB endpoint">
+        <t>Blah-blah.</t>
+      </section>
+
+    </section>
+
+    <section title = "Loop avoidance">
+      <t>TODO: Do we want any loop avoidance in PUB/SUB?</t>
+    </section>
+
+    <section anchor="IANA" title="IANA Considerations">
+      <t>New SP endpoint types PUB and SUB should be registered by IANA. For
+         now, value of 32 should be used for PUB endpoints and value of 33 for
+         SUB endpoints.</t>
+
+      <t>IANA should eventually also register and issue numbers for different
+         message matching algorithms.</t>
+    </section>
+
+    <section anchor="Security" title="Security Considerations">
+      <t>The mapping is not intended to provide any additional security to the
+         underlying protocol. DoS concerns are addressed within
+         the specification.</t>
+    </section>
+
+  </middle>
+
+  <back>
+    <references>
+      <reference anchor='SPoverTCP'>
+         <front>
+           <title>TCP mapping for SPs</title>
+           <author initials='M.' surname='Sustrik' fullname='M. Sustrik'/>
+           <date month='August' year='2013'/>
+         </front>
+         <format type='TXT' target='sp-tcp-mapping-01.txt'/>
+       </reference>
+    </references>
+  </back>
+
+</rfc>
+
diff --git a/rfc/sp-request-reply-01.txt b/rfc/sp-request-reply-01.txt
index 6dfe32c..5a95faa 100644
--- a/rfc/sp-request-reply-01.txt
+++ b/rfc/sp-request-reply-01.txt
@@ -206,7 +206,7 @@
 2.  Underlying protocol
 
    The request/reply protocol can be run on top of any SP mapping, such
-   as, for example, SP TCP mapping.
+   as, for example, SP TCPmapping [SPoverTCP].
 
    Also, given that SP protocols describe the behaviour of entire
    arbitrarily complex topology rather than of a single node-to-node
@@ -817,6 +817,11 @@
    underlying protocol.  DoS concerns are addressed within the
    specification.
 
+10.  References
+
+   [SPoverTCP]
+              Sustrik, M., "TCP mapping for SPs", August 2013.
+
 Author's Address
 
    Martin Sustrik (editor)
@@ -832,10 +837,5 @@
 
 
 
-
-
-
-
-
 Sustrik                 Expires February 2, 2014               [Page 15]
 
diff --git a/rfc/sp-request-reply-01.xml b/rfc/sp-request-reply-01.xml
index d3caa23..d8273f7 100644
--- a/rfc/sp-request-reply-01.xml
+++ b/rfc/sp-request-reply-01.xml
@@ -174,7 +174,8 @@
     <section title = "Underlying protocol">
 
       <t>The request/reply protocol can be run on top of any SP mapping,
-         such as, for example, SP TCP mapping.</t>
+         such as, for example, <xref target='SPoverTCP'>SP TCPmapping</xref>.
+         </t>
 
       <t>Also, given that SP protocols describe the behaviour of entire
          arbitrarily complex topology rather than of a single node-to-node
@@ -729,5 +730,18 @@
 
   </middle>
 
+  <back>
+    <references>
+      <reference anchor='SPoverTCP'>
+         <front>
+           <title>TCP mapping for SPs</title>
+           <author initials='M.' surname='Sustrik' fullname='M. Sustrik'/>
+           <date month='August' year='2013'/>
+         </front>
+         <format type='TXT' target='sp-tcp-mapping-01.txt'/>
+       </reference>
+    </references>
+  </back>
+
 </rfc>