Add sample flow for mDNS.
authornorifumi kikkawa <norifumi.kikkawa@jp.sony.com>
Wed, 15 Aug 2012 13:28:24 +0900
changeset 187 5a7c58d2a996
parent 186 2993b8706dd0
child 188 53625f47e1f1
Add sample flow for mDNS.
wi-addendum-local-services/Overview.html
--- a/wi-addendum-local-services/Overview.html	Wed Aug 08 17:17:57 2012 +0200
+++ b/wi-addendum-local-services/Overview.html	Wed Aug 15 13:28:24 2012 +0900
@@ -151,7 +151,7 @@
           stated in this specification. </li>
           <li><dfn>mDNS enabled User Agent</dfn>: A <a>mDNS enabled User Agent</a> MUST support Web Intents [[!WEBINTENTS]] and the conformance criteria 
           stated in this specification. </li>
-          <li><dfn>Web Intents enabled mDNS device</dfn>: A <a>Web Intents enabled mDNS device</a> MUST support [[!DNS-SD]] and the conformance criteria 
+          <li><dfn>Web Intents enabled mDNS device</dfn>: A <a>Web Intents enabled mDNS device</a> MUST support [[!DNS-SD]], [[!MDNS]] the conformance criteria 
           stated in this specification. </li>
         </ul>
         
@@ -180,7 +180,7 @@
             <dt>DNS-SD</dt>
             <dd>This addendum specification is dependent on it, [[!DNS-SD]]. </dd>
             <dt>mDNS</dt>
-            <dd>This addendum specification assumes the use of it in typical cases but does not dependent on it strictly, [[!MDNS]]. </dd>
+            <dd>This addendum specification is dependent on it, [[!MDNS]]. </dd>
          </dl>
           
         </p>      
@@ -233,7 +233,7 @@
         
         <section>    
         
-          <h4>UPnP Web Intents serviceType</h4>     
+          <h4>UPnP Web Intents serviceType</h4>
           
           <p>
             The <a>Web Intents enabled UPnP device</a> <em class="rfc2119" title="must">must</em> support one UPnP service which serviceType is the <code>urn:schemas-webintents-org:service:WebIntents:1</code> 
@@ -329,9 +329,11 @@
   
         <p>
           The sections below describe typical steps using these methods.
-        </p>            
+        </p>
+       
           <section class='informative'>
-            <h4>Dynamic Service registration based on M-SEARCH</h4>     
+            <h4>Dynamic Service registration based on M-SEARCH</h4>
+
             <p>
               The section describes the discovery process based on standard UPnP M-SEARCH multicast request.
             </p>
@@ -523,8 +525,15 @@
         
       </section>   
       <section>    
+        <h3>mDNS enabled User Agent</h3> 
+
+        <p>
+          The <a>mDNS enabled User Agent</a> <em class="rfc2119" title="must">must</em> support discovery of <a>Web Intents enabled mDNS device<a>s through mDNS and DNS-SD 
+          according to [[!MDNS]], [[!DNS-SD]] and according to the Web Intents specific DNS records defined in this specification, section 5.1. 
+        </p>
+
         <section class="informative">
-            <h3>Sample Records</h3> 
+            <h4>Sample Records</h4> 
         
           <p>
             See below for the example records for Web Intents. A <a>mDNS enabled User Agent</a> looking for devices supporting http://webintents.org/view Web Intents can understand that 
@@ -544,7 +553,68 @@
             <li>
               <code>TV40EX-W2000 120 IN A 192.168.1.47</code>: A host "TV40EX-W2000" is on 192.168.1.47.
             </li>
-          </ul>         
+          </ul>
+
+            <p>
+              When the navigator.startActivity method [[!WEBINTENTS]] is called, the <a>mDNS enabled User Agent</a> runs the following steps:
+            </p>
+              
+            <ol class="rule">          
+              <li>
+                 Send a multicast PTR query of the <code>_webintents._tcp.local</code> in the format specified by [[!MDNS]] and [[!DNS-SD]].
+                 <br />
+              </li>
+              <br />
+              <li>
+                 For each response, send a unicast TXT query of the webintents service instance in the PTR answer.
+                 <br />
+                 <p>This step can be omitted in case that the Web Intents enabled mDNS device attaches a TXT answer with the previous answer.
+              </li>
+              <br />
+              <li>
+                 For each matching response, i.e. the response TXT record does not have an action parameter or does have an <code>action</code> parameter matching the Action of the invoked intent,
+                 send a unicast request with a SRV query of the webintens service instance.
+                 <br />
+                 <p>This step can be omitted in case that the Web Intents enabled mDNS device attaches a SRV answer with the previous answer.
+              </li>
+              <br />
+              <li>
+                 For each response, send a unicast A and/or AAAA query of the host name in the SRV answer.
+                 <br />
+                 <p>This step can be omitted in case that the Web Intents enabled mDNS device attaches an A and/or AAAA answer with the previous answer.
+              </li>
+              <br />
+              <li>
+                 The <a>mDNS enabled User Agent</a> attempts to retrieve the Web Intents document from the discovered <a>Web Intents enabled mDNS device</a>.
+                 The destination URL consists of an IP address in the A or AAAA answer, a port number in the SRV record and an absolute path in the <code>location</code> parameter of the TXT record.  
+                 <br />  <br />
+                 If the <a>mDNS enabled User Agent</a> fails to retrieve the Web Intents document it silently disregards the received response.
+                 <br />  <br />
+                 If the <code>action</code> parameter is present and does not match the <code>action</code> attributes of the Services registered in the retrieved Web Intents 
+                 document the <a>mDNS enabled User Agent</a> silently disregards the the received response.
+                 <br />  <br />
+                 Note that following steps are identical to those of UPnP described in 4.2.
+              </li>
+              <br />          
+              <li>
+                 It is expected that the Web Intents document contains registration markup and the <a>mDNS enabled User Agent</a> interprets this
+                 registration markup according to the rules for registration defined by [[!WEBINTENTS]] and register the Services accordingly.           
+              </li>
+              <br />          
+              <li>
+                 The <a>mDNS enabled User Agent</a> makes each dynamically registered Service, that matches the Action of the invoked intent, available for selection 
+                 by the user, typically by making them visible and selectable in a Web Intents Service picker.                          
+              </li>
+              <br />          
+              <li>
+                 Based on user selection of a dynamically registered Service the <a>mDNS enabled User Agent</a> loads the 
+                 Service handler code as defined by the <code>href</code> attribute in the registration markup for this Service according to the rules for 
+                 loading Service pages defined in [[!WEBINTENTS]].                        
+              </li>
+      
+            </ol> 
+     
+
         </section>         
       </section>         
     </section>