Skip to Content.
Sympa Menu

perfsonar-dev - nmwg: r326 - trunk/nmwg/doc/dLS

Subject: perfsonar development work

List archive

nmwg: r326 - trunk/nmwg/doc/dLS


Chronological Thread 
  • From:
  • To: ,
  • Subject: nmwg: r326 - trunk/nmwg/doc/dLS
  • Date: Mon, 7 Jan 2008 09:42:55 -0500

Author: zurawski
Date: 2008-01-07 09:42:54 -0500 (Mon, 07 Jan 2008)
New Revision: 326

Added:
trunk/nmwg/doc/dLS/dLS_spec_1.html
Modified:
trunk/nmwg/doc/dLS/dLS_spec.html
trunk/nmwg/doc/dLS/dLS_spec.xml
Log:
Changing some of the scope examples, adding the colorized HTML output.

-jason



Modified: trunk/nmwg/doc/dLS/dLS_spec.html
===================================================================
--- trunk/nmwg/doc/dLS/dLS_spec.html 2008-01-07 14:23:28 UTC (rev 325)
+++ trunk/nmwg/doc/dLS/dLS_spec.html 2008-01-07 14:42:54 UTC (rev 326)
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml";><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Distributed Lookup Service (dLS) in the perfSONAR
Framework</title><meta name="generator" content="DocBook XSL Stylesheets
V1.71.1" /></head><body><div class="article" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h1 class="title"><a
id="id824766"></a>Distributed Lookup Service (dLS) in the perfSONAR
Framework</h1></div><div><div class="authorgroup"><div class="author"><h3
class="author"><span class="firstname">J.</span> <span
class="surname">Boote</span></h3></div><div class="author"><h3
class="author"><span class="firstname">M.</span> <span
class="surname">Glowiak</span></h3></div><div class="author"><h3
class="author"><span class="firstname">M.</span> <span
class="surname">Swany</span></h3></div><div class="author"><h3
class="author"><span class="firstname">J.</span> <span
class="surname">Zurawski</span></h3></div></div></div><div><p cla
ss="copyright">Copyright © 2006, 2007 Internet2, Poznan Supercomputing and
Networking Center, University of Delaware</p></div></div><hr /></div><div
class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a
href="#changes">1. Document Changes</a></span></dt><dt><span
class="section"><a href="#introduction">2.
Introduction</a></span></dt><dt><span class="section"><a
href="#system_specific_operation">3. System Specific
Operation</a></span></dt><dd><dl><dt><span class="section"><a
href="#system_overview">3.1. Overview</a></span></dt><dt><span
class="section"><a href="#system_scope">3.2. Scope
Formation</a></span></dt><dd><dl><dt><span class="section"><a
href="#scope_specification">3.2.1. Scope
Specification</a></span></dt><dt><span class="section"><a
href="#scope_hierarchy">3.2.2. Scope Hierarchy</a></span></dt><dt><span
class="section"><a href="#scope_defaults">3.2.3. Scope
Defaults</a></span></dt><dt><span class="section"><a
href="#scope_algorithms">3.2.4.
Scope Algorithms</a></span></dt><dd><dl><dt><span class="sec!
tion"><a
href="#join_procedure">3.2.4.1. Join
Procedure</a></span></dt><dd><dl><dt><span class="section"><a
href="#join_alg">3.2.4.1.1.
Algorithm</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#token_messages">3.2.5. Token Messages for Control and
Election</a></span></dt><dd><dl><dt><span class="section"><a
href="#leader_election">3.2.5.1. Leader Election</a></span></dt><dt><span
class="section"><a href="#registration_control">3.2.5.2. Registration
Control</a></span></dt><dd><dl><dt><span class="section"><a
href="#passing_algorithm">3.2.5.2.1. Passing
Algorithm</a></span></dt><dt><span class="section"><a
href="#rotation_time_computation">3.2.5.2.2. Rotation Time
Computation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#summarization_messages">3.2.6. Summarization
Messages</a></span></dt></dl></dd><dt><span class="section"><a
href="#bootstrapping">3.3. Bootstrapping</a></span></dt><dt><span
class="section"><a href="#system_summarization"
>3.4. Summarization</a></span></dt><dd><dl><dt><span class="section"><a
>href="#system_summarization_lower">3.4.1. Lower
>Scope</a></span></dt><dt><span class="section"><a
>href="#system_summarization_upper">3.4.2. Upper
>Scope</a></span></dt><dd><dl><dt><span class="section"><a
>href="#system_summarization_upper_alg">3.4.2.1. IP Address
>Algorithm</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
>href="#system_search">3.5. Search</a></span></dt><dd><dl><dt><span
>class="section"><a href="#system_search_discovery_phase">3.5.1. Discovery
>Phase</a></span></dt><dd><dl><dt><span class="section"><a
>href="#system_search_discovery_algorithm">3.5.1.1.
>Algorithm</a></span></dt></dl></dd><dt><span class="section"><a
>href="#system_search_metadata_query_phase">3.5.2. Metadata Query
>Phase</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
>href="#structures_and_messages">4. Structures and
>Messages</a></span></dt><dd><dl><dt><span class="section"><a
>href="#service_metad
ata">4.1. Service Metadata Example</a></span></dt><dt><span !
class="s
ection"><a href="#lookup_info">4.2. Lookup
Information</a></span></dt><dt><span class="section"><a href="#ls_ring">4.3.
LS Ring File Structure</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_ring_lower">4.3.1. Lower Level</a></span></dt><dt><span
class="section"><a href="#ls_ring_upper">4.3.2. Upper
Level</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_join">4.4. LS Join</a></span></dt><dd><dl><dt><span
class="section"><a href="#ls_join_request">4.4.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_join_response">4.4.2. Response</a></span></dt></dl></dd><dt><span
class="section"><a href="#ls_token_message">4.5. LS Token
Message</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_token_message_request">4.5.1. Request</a></span></dt><dt><span
class="section"><a href="#ls_token_message_response">4.5.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_summary_message">4.6. LS Summary Message</a></span>
</dt><dd><dl><dt><span class="section"><a
href="#ls_summary_message_upper">4.6.1.
Upper</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_summary_message_upper_request">4.6.1.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_summary_message_upper_response">4.6.1.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_summary_message_lower">4.6.2.
Lower</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_summary_message_lower_request">4.6.2.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_summary_message_lower_response">4.6.2.2.
Response</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#ls_leader_message">4.7. LS Leader
Message</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_leader_message_request">4.7.1. Request</a></span></dt><dt><span
class="section"><a href="#ls_leader_message_response">4.7.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a href="#ls_
discovery_message">4.8. LS Discovery Message</a></span></dt>!
<dd><dl>
<dt><span class="section"><a href="#ls_discovery_message_request">4.8.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_discovery_message_response">4.8.2.
Response</a></span></dt></dl></dd></dl></dd><dt><span class="glossary"><a
href="#glossary">Terms</a></span></dt><dt><span class="bibliography"><a
href="#bibliography">References</a></span></dt></dl></div><div
class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2
class="title" style="clear: both"><a id="changes"></a>1. Document
Changes</h2></div></div></div><div class="table"><a id="table.1"></a><p
class="title"><b>Table 1. Change Log</b></p><div
class="table-contents"><table summary="Change Log" border="1"><colgroup><col
align="left" /></colgroup><thead><tr><th align="left">Version</th><th
align="left">Date</th><th align="left">Description</th><th
align="left">Author(s)</th></tr></thead><tbody><tr><td
align="left">1.0</td><td align="left">12/17/2007</td><td align="left">Initial
Prepa
ration</td><td align="left">J. Zurawski</td></tr><tr><td
align="left">1.1</td><td align="left">1/1/2008</td><td align="left">Update of
Scope Formation and boot-strapping</td><td align="left">J.
Boote</td></tr></tbody></table></div></div><br class="table-break"
/></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h2 class="title" style="clear: both"><a
id="introduction"></a>2. Introduction</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml";><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Distributed Lookup Service (dLS) in the perfSONAR
Framework</title><meta name="generator" content="DocBook XSL Stylesheets
V1.71.0" /></head><body><div class="article" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h1 class="title"><a
id="id2478927"></a>Distributed Lookup Service (dLS) in the perfSONAR
Framework</h1></div><div><div class="authorgroup"><div class="author"><h3
class="author"><span class="firstname">J.</span> <span
class="surname">Boote</span></h3></div><div class="author"><h3
class="author"><span class="firstname">M.</span> <span
class="surname">Glowiak</span></h3></div><div class="author"><h3
class="author"><span class="firstname">M.</span> <span
class="surname">Swany</span></h3></div><div class="author"><h3
class="author"><span class="firstname">J.</span> <span
class="surname">Zurawski</span></h3></div></div></div><div><p cl
ass="copyright">Copyright © 2006, 2007, 2008 Internet2, Poznan
Supercomputing and Networking Center, University of
Delaware</p></div></div><hr /></div><div class="toc"><p><b>Table of
Contents</b></p><dl><dt><span class="section"><a href="#changes">1. Document
Changes</a></span></dt><dt><span class="section"><a href="#introduction">2.
Introduction</a></span></dt><dt><span class="section"><a
href="#system_specific_operation">3. System Specific
Operation</a></span></dt><dd><dl><dt><span class="section"><a
href="#system_overview">3.1. Overview</a></span></dt><dt><span
class="section"><a href="#system_scope">3.2. Scope
Formation</a></span></dt><dd><dl><dt><span class="section"><a
href="#scope_specification">3.2.1. Scope
Specification</a></span></dt><dt><span class="section"><a
href="#scope_hierarchy">3.2.2. Scope Hierarchy</a></span></dt><dt><span
class="section"><a href="#scope_defaults">3.2.3. Scope
Defaults</a></span></dt><dt><span class="section"><a href="#scope_algorithms">
3.2.4. Scope Algorithms</a></span></dt><dd><dl><dt><span cla!
ss="sect
ion"><a href="#join_procedure">3.2.4.1. Join
Procedure</a></span></dt><dd><dl><dt><span class="section"><a
href="#join_alg">3.2.4.1.1.
Algorithm</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#token_messages">3.2.5. Token Messages for Control and
Election</a></span></dt><dd><dl><dt><span class="section"><a
href="#leader_election">3.2.5.1. Leader Election</a></span></dt><dt><span
class="section"><a href="#registration_control">3.2.5.2. Registration
Control</a></span></dt><dd><dl><dt><span class="section"><a
href="#passing_algorithm">3.2.5.2.1. Passing
Algorithm</a></span></dt><dt><span class="section"><a
href="#rotation_time_computation">3.2.5.2.2. Rotation Time
Computation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#summarization_messages">3.2.6. Summarization
Messages</a></span></dt></dl></dd><dt><span class="section"><a
href="#bootstrapping">3.3. Bootstrapping</a></span></dt><dt><span
class="section"><a href="#system_summari
zation">3.4. Summarization</a></span></dt><dd><dl><dt><span
class="section"><a href="#system_summarization_lower">3.4.1. Lower
Scope</a></span></dt><dt><span class="section"><a
href="#system_summarization_upper">3.4.2. Upper
Scope</a></span></dt><dd><dl><dt><span class="section"><a
href="#system_summarization_upper_alg">3.4.2.1. IP Address
Algorithm</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#system_search">3.5. Search</a></span></dt><dd><dl><dt><span
class="section"><a href="#system_search_discovery_phase">3.5.1. Discovery
Phase</a></span></dt><dd><dl><dt><span class="section"><a
href="#system_search_discovery_algorithm">3.5.1.1.
Algorithm</a></span></dt></dl></dd><dt><span class="section"><a
href="#system_search_metadata_query_phase">3.5.2. Metadata Query
Phase</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#structures_and_messages">4. Structures and
Messages</a></span></dt><dd><dl><dt><span class="section"><a href="#servic
e_metadata">4.1. Service Metadata Example</a></span></dt><dt!
><span c
lass="section"><a href="#lookup_info">4.2. Lookup
Information</a></span></dt><dt><span class="section"><a href="#ls_ring">4.3.
LS Ring File Structure</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_ring_lower">4.3.1. Lower Level</a></span></dt><dt><span
class="section"><a href="#ls_ring_upper">4.3.2. Upper
Level</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_join">4.4. LS Join</a></span></dt><dd><dl><dt><span
class="section"><a href="#ls_join_request">4.4.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_join_response">4.4.2. Response</a></span></dt></dl></dd><dt><span
class="section"><a href="#ls_token_message">4.5. LS Token
Message</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_token_message_request">4.5.1. Request</a></span></dt><dt><span
class="section"><a href="#ls_token_message_response">4.5.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_summary_message">4.6. LS Summary Message</a>
</span></dt><dd><dl><dt><span class="section"><a
href="#ls_summary_message_upper">4.6.1.
Upper</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_summary_message_upper_request">4.6.1.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_summary_message_upper_response">4.6.1.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_summary_message_lower">4.6.2.
Lower</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_summary_message_lower_request">4.6.2.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_summary_message_lower_response">4.6.2.2.
Response</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#ls_leader_message">4.7. LS Leader
Message</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_leader_message_request">4.7.1. Request</a></span></dt><dt><span
class="section"><a href="#ls_leader_message_response">4.7.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a hre
f="#ls_discovery_message">4.8. LS Discovery Message</a></spa!
n></dt><
dd><dl><dt><span class="section"><a
href="#ls_discovery_message_request">4.8.1. Request</a></span></dt><dt><span
class="section"><a href="#ls_discovery_message_response">4.8.2.
Response</a></span></dt></dl></dd></dl></dd><dt><span class="glossary"><a
href="#glossary">Terms</a></span></dt><dt><span class="bibliography"><a
href="#bibliography">References</a></span></dt></dl></div><div
class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2
class="title" style="clear: both"><a id="changes"></a>1. Document
Changes</h2></div></div></div><div class="table"><a id="table.1"></a><p
class="title"><b>Table 1. Change Log</b></p><div
class="table-contents"><table summary="Change Log" border="1"><colgroup><col
align="left" /></colgroup><thead><tr><th align="left">Version</th><th
align="left">Date</th><th align="left">Description</th><th
align="left">Author(s)</th></tr></thead><tbody><tr><td
align="left">1.0</td><td align="left">12/17/2007</td><td align="left">Initia
l Preparation</td><td align="left">J. Zurawski</td></tr><tr><td
align="left">1.1</td><td align="left">1/1/2008</td><td align="left">Update of
Scope Formation and boot-strapping</td><td align="left">J.
Boote</td></tr><tr><td align="left">1.0</td><td align="left">1/7/2008</td><td
align="left">Addition/Correction of scope diagrams</td><td align="left">J.
Zurawski</td></tr></tbody></table></div></div><br class="table-break"
/></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h2 class="title" style="clear: both"><a
id="introduction"></a>2. Introduction</h2></div></div></div><p>
This document describes the
<span class="emphasis"><em>Distributed Lookup Service</em></span>
(<span><strong class="command">dLS</strong></span>)
- in the <a href="#id905481">perfSONAR</a> system. This modification
extends
+ in the <a href="#id2532917">perfSONAR</a> system. This modification
extends
the basic <span class="emphasis"><em>Lookup Service</em></span>
(<span><strong class="command">LS</strong></span>)
functionality that has been present in the system for some time. The
basic LS supports the storage and querying of
@@ -13,8 +13,8 @@
</p><p>
From the clients' perspective, <span><strong
class="command">LS</strong></span> operation involves
<span class="emphasis"><em>registration</em></span>, <span
class="emphasis"><em>deregistration</em></span>,
- and <span class="emphasis"><em>querying</em></span>. Clients wish to
discover the services
- that are running in the network.
+ <span class="emphasis"><em>discovery</em></span>, and <span
class="emphasis"><em>querying</em></span>.
+ Clients wish to discover the services that are running in the network.

The <span><strong class="command">LS</strong></span> enables this by
gathering information from the
services and then using it to fulfill client queries. The following
figure presents basic <span><strong class="command">LS</strong></span>
interactions.
@@ -66,7 +66,7 @@
<a href="#lookup_info">Lookup Information</a>).
</p><p>
The idea is to move the metadata from a service-local
- <a href="#id905499">XML</a> data store to a specialized
+ <a href="#id2532935">XML</a> data store to a specialized
<span><strong class="command">LS</strong></span> with additional
searching capabilities. The
<span><strong class="command">LS</strong></span> consists of an
XML database, (i.e.
<a href="#Berkeley DB XML">Berkeley DB XML</a> or <a
href="#eXist XML DB">eXist XML DB</a>)
@@ -164,12 +164,13 @@
amount of information that needs to be shared globally, but
still allow the information to be found.
</p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="scope_specification"></a>3.2.1. Scope
Specification</h4></div></div></div><p>
- <span class="emphasis"><em>Scope's</em></span> are specified
as a '!' separated
- list of URIs, the protocol schema of each URI is defined as
- 'psls'. (A simplified URI syntax is being used, not the
+ <span class="emphasis"><em>Scope</em></span> designations
are specified as a
+ <span><strong class="command">!</strong></span> separated
list of URIs, the protocol
+ schema of each URI is defined as <span><strong
class="command">psls</strong></span>.
+ (A simplified URI syntax is being used, not the
complete URI specification so port numbers and protocol
- specifications other than 'psls' are not allowed.) The full
- string defines the current
+ specifications other than <span><strong
class="command">psls</strong></span> are not
+ allowed.) The full string defines the current
<span class="emphasis"><em>Scope</em></span>. Parent <span
class="emphasis"><em>Scopes</em></span>
will be found by removing components of the
<span class="emphasis"><em>Scope</em></span> while child
@@ -192,14 +193,21 @@
the last path component is removed and the
remaining URI is used as the last component of
the URI list, and defines the parent
- <span class="emphasis"><em>Scope</em></span>.
+ <span class="emphasis"><em>Scope</em></span>. An
example of this would be
+ <span
class="emphasis"><em>psls://perfsonar.net/!psls://geant.net/psnc</em></span>.
+ The next level up from this would be
+ <span
class="emphasis"><em>psls://perfsonar.net/!psls://geant.net</em></span>.
</li><li>
If the last URI has a fully qualified hostname with
more than two parts (for example, www.example.com
has three parts, or labels) then the first
component of the hostname is removed, and the
resulting URI is used as the last URI in the list,
- and defines the parent <span
class="emphasis"><em>Scope</em></span>.
+ and defines the parent <span
class="emphasis"><em>Scope</em></span>. An
+ example of this would be
+ <span
class="emphasis"><em>psls://perfsonar.net/!psls://ls.internet2.edu</em></span>.
+ The next level up from this would be
+ <span
class="emphasis"><em>psls://perfsonar.net/!psls://internet2.edu</em></span>.
</li><li>
If the last URI has a fully qualified hostname with
two or less parts (for example, example.com) then
@@ -207,7 +215,12 @@
now truncated URI list defines the parent
<span class="emphasis"><em>Scope</em></span>. If
the last URI is
being removed from this action, then there is no
- parent, and you are at the root of this hierarchy.
+ parent, and you are at the root of this hierarchy.
An
+ example of this would be
+ <span
class="emphasis"><em>psls://perfsonar.net/!psls://internet2.edu</em></span>.
+ The next level up from this would be
+ <span
class="emphasis"><em>psls://perfsonar.net</em></span>, where this
+ <span><strong class="command">LS</strong></span>
would be a member.
</li></ol></div><p>
</p><p>
When configuring a new <span><strong
class="command">LS</strong></span> instance the
@@ -223,14 +236,27 @@
<span><strong class="command">LS</strong></span> can
simply use the same
<span class="emphasis"><em>Scope</em></span>
specification, the
reason to create a new one might be to sub-divide a
- domain for performance reasons.) </li><li>
+ domain for performance reasons.) An example of this
would be
+ <span
class="emphasis"><em>psls://perfsonar.net/!psls://geant.net/psnc</em></span>.
+ This path allows the new LS to join an already
in-progress
+ unit that has started at:
+ <span
class="emphasis"><em>psls://perfsonar.net/!psls://geant.net</em></span>.</li><li>
If the new <span><strong
class="command">LS</strong></span> is in a DNS
sub-domain of the final URI in the given
<span class="emphasis"><em>Scope</em></span>, the
final URI can use
the full sub-domain as the hostname component of
- the final URI. </li><li>
+ the final URI. An example of this would be
+ <span
class="emphasis"><em>psls://perfsonar.net/!psls://ls.internet2.edu</em></span>.
+ This path allows the new LS to join an already
in-progress
+ unit that has started at:
+ <span
class="emphasis"><em>psls://perfsonar.net/!psls://internet2.edu</em></span>.</li><li>
If the new <span><strong
class="command">LS</strong></span> is in a different
- domain, then it can append a new URI to the list.
+ domain, then it can append a new URI to the list. An
+ example of this would be
+ <span
class="emphasis"><em>psls://perfsonar.net/!psls://rnp.br</em></span>.
+ This path allows the new LS to join the root
+ <span class="emphasis"><em>perfSONAR</em></span>
deployment at:
+ <span
class="emphasis"><em>psls://perfsonar.net</em></span>.
</li></ol></div><p>
</p></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="scope_hierarchy"></a>3.2.2. Scope Hierarchy</h4></div></div></div><p>
The hierarchy of <span><strong
class="command">LS</strong></span> servers is largely
@@ -253,22 +279,27 @@
<span><strong class="command">LS</strong></span> instances
interact and the roles they
play:
</p><div class="itemizedlist"><ul type="disc"><li>
- A and B are both in the same domain (and have the
+ A and B are both in the same domain
+ (<span class="emphasis"><em>ESnet</em></span>, and
have the
same scope specification). They will do
intra-summary sharing of information with each
other. One of them will be elected as the
- leader of the 'domain' level, and will summarize
- the domain for participation in the global
- ring.
+ leader of the <span
class="emphasis"><em>domain</em></span> level, and
+ will summarize the domain for participation in the
+ global ring.
</li><li><p>
C and D have a similar arrangement as A and B
- above, but are part of a sub-domain. This
sub-domain
+ above, but are part of a sub-domain (the
+ <span class="emphasis"><em>ls.</em></span>
subclass of
+ <span
class="emphasis"><em>geant.net</em></span>). This sub-domain
will be summarized and one of (C or D) will
represent the sub-domain information in the
domain level ring.
</p><p>
E and F have the exact same arrangement as
- C and D.
+ C and D (this time the path leading to
+ <span class="emphasis"><em>psnc</em></span>
within
+ <span
class="emphasis"><em>geant.net</em></span>).
</p><p>
The two leaders from these two sub-domains
will participate in a domain level ring - and
@@ -280,7 +311,9 @@
in the global ring.
</p></li><li><p>
H is specified using a sub-scope of the one G
- is specified with. H is in a scope of its
+ is specified with (the <span
class="emphasis"><em>net.</em></span>
+ subdomain of <span
class="emphasis"><em>internet2.edu</em></span>).
+ H is in a scope of its
own, and therefore participates in a ring
of one. Another <span><strong
class="command">LS</strong></span> instance
could be started using the same scope
@@ -298,7 +331,14 @@
in the global ring representing the registed
content of all eight <span><strong
class="command">LS</strong></span>
instances.
- </li></ul></div><p>
+ </li></ul></div><p>
+
+
+ </p><p>
+ The above diagram is summarized below with additional scope
+ and information exchange annotations.
+ </p><p>
+ </p><div class="mediaobject"><img
src="images/global_scope_tree.png" /></div><p>
</p></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="scope_defaults"></a>3.2.3. Scope Defaults</h4></div></div></div><p>
The default <span class="emphasis"><em>Scope</em></span>
<span><strong class="command">SHOULD</strong></span> be
determined by appending a URI
@@ -306,11 +346,11 @@
<span><strong class="command">LS</strong></span> to the
global ls.perfsonar.net domain
that will be supported by the perfSONAR consortium.
For example,
- a new <span><strong class="command">LS</strong></span>
started on ls.example.com would
+ a new <span><strong class="command">LS</strong></span>
started on rnp.br would
get a default <span class="emphasis"><em>Scope</em></span>
of:
</p><pre class="programlisting">

- psls://perfsonar.net/!psls://ls.example.com
+ psls://perfsonar.net/!psls://ls.rnp.br

</pre><p>
</p><p>
@@ -319,9 +359,9 @@
</p><div class="orderedlist"><ol type="1"><li>
psls://perfsonar.net
</li><li>
- psls://perfsonar.net/!psls://example.com
+ psls://perfsonar.net/!psls://rnp.br
</li><li>
- psls://perfsonar.net/!psls://ls.example.com
+ psls://perfsonar.net/!psls://ls.rnp.br
</li></ol></div><p>
</p><p>
This particular choice of defaults means that each domain
@@ -1034,10 +1074,8 @@
<span class="emphasis"><em>Layer 3</em></span>.
</p><pre class="programlisting">

- &lt;nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
- id="m_ale-netutil-1"&gt;
- &lt;netutil:subject
xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/";
- id="s_ale-netutil-1"&gt;
+ &lt;nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
id="m_ale-netutil-1"&gt;
+ &lt;netutil:subject
xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/";
id="s_ale-netutil-1"&gt;
&lt;nmwgt:interface
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/"&gt;
&lt;nmwgt:ifAddress
type="ipv4"&gt;128.4.133.165&lt;/nmwgt:ifAddress&gt;

&lt;nmwgt:hostName&gt;ale.pc.cis.udel.edu&lt;/nmwgt:hostName&gt;
@@ -1070,8 +1108,7 @@
metadata from the <span><strong class="command">MA</strong></span>.
</p><pre class="programlisting">

- &lt;nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
-
id="http://newcastle.pc.cis.udel.edu:6767/perfSONAR_PS/services/snmpMA"&gt;
+ &lt;nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
id="http://newcastle.pc.cis.udel.edu:6767/perfSONAR_PS/services/snmpMA"&gt;
&lt;perfsonar:subject id="subject.15977808"&gt;
&lt;psservice:service id="service.16283379"&gt;
&lt;psservice:serviceName&gt;UDel perfSONAR-PS SNMP
MA&lt;/psservice:serviceName&gt;
@@ -1086,12 +1123,11 @@
&lt;/perfsonar:subject&gt;
&lt;/nmwg:metadata&gt;

- &lt;nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
-
id="http://newcastle.pc.cis.udel.edu:6666/perfSONAR_PS/services/LS/1177595435/1";

-
metadataIdRef="http://newcastle.pc.cis.udel.edu:6767/perfSONAR_PS/services/snmpMA"&gt;
+ &lt;nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
id="http://newcastle.pc.cis.udel.edu:6666/perfSONAR_PS/services/LS/1177595435/1";

+
metadataIdRef="http://newcastle.pc.cis.udel.edu:6767/perfSONAR_PS/services/snmpMA"&gt;
&lt;nmwg:metadata id="m_ale-netutil-1"&gt;
- &lt;netutil:subject
xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/";
- id="s_ale-netutil-1"&gt;
+ &lt;netutil:subject
xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/";
id="s_ale-netutil-1"&gt;
&lt;nmwgt:interface
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/"&gt;
&lt;nmwgt:ifAddress
type="ipv4"&gt;128.4.133.165&lt;/nmwgt:ifAddress&gt;

&lt;nmwgt:hostName&gt;ale.pc.cis.udel.edu&lt;/nmwgt:hostName&gt;
@@ -1737,8 +1773,8 @@
A query language (with some programming language
features) that is designed to query collections of XML data. It
is semantically similar to SQL.
- </p></dd></dl></div><div class="glossdiv"><dl></dl></div><div
class="glossdiv"><dl></dl></div></div><div class="bibliography"><div
class="titlepage"><div><div><h2 class="title"><a
id="bibliography"></a>References</h2></div></div></div><div
class="biblioentry"><a id="id905481"></a><p>[<abbr
class="abbrev">perfSONAR</abbr>] <span class="title"><i>
+ </p></dd></dl></div><div class="glossdiv"><dl></dl></div><div
class="glossdiv"><dl></dl></div></div><div class="bibliography"><div
class="titlepage"><div><div><h2 class="title"><a
id="bibliography"></a>References</h2></div></div></div><div
class="biblioentry"><a id="id2532917"></a><p>[<abbr
class="abbrev">perfSONAR</abbr>] <span class="title"><i>
<a href="http://www.perfsonar.net"; target="_top">perfSONAR</a>
- </i>. </span></p></div><div class="biblioentry"><a
id="id905499"></a><p>[<abbr class="abbrev">XML</abbr>] <span class="title"><i>
+ </i>. </span></p></div><div class="biblioentry"><a
id="id2532935"></a><p>[<abbr class="abbrev">XML</abbr>] <span
class="title"><i>
<a href="http://www.w3.org/XML"; target="_top">Extensible Markup
Language (XML)</a>
</i>. </span></p></div></div></div></body></html>

Modified: trunk/nmwg/doc/dLS/dLS_spec.xml
===================================================================
--- trunk/nmwg/doc/dLS/dLS_spec.xml 2008-01-07 14:23:28 UTC (rev 325)
+++ trunk/nmwg/doc/dLS/dLS_spec.xml 2008-01-07 14:42:54 UTC (rev 326)
@@ -30,6 +30,7 @@
<copyright>
<year>2006</year>
<year>2007</year>
+ <year>2008</year>
<holder>Internet2</holder>
<holder>Poznan Supercomputing and Networking Center</holder>
<holder>University of Delaware</holder>
@@ -68,6 +69,12 @@
<entry>Update of Scope Formation and boot-strapping</entry>
<entry>J. Boote</entry>
</row>
+ <row>
+ <entry>1.0</entry>
+ <entry>1/7/2008</entry>
+ <entry>Addition/Correction of scope diagrams</entry>
+ <entry>J. Zurawski</entry>
+ </row>
</tbody>
</tgroup>
</table>
@@ -92,8 +99,8 @@
<para>
From the clients' perspective, <command>LS</command> operation involves
<emphasis>registration</emphasis>, <emphasis>deregistration</emphasis>,
- and <emphasis>querying</emphasis>. Clients wish to discover the
services
- that are running in the network.
+ <emphasis>discovery</emphasis>, and <emphasis>querying</emphasis>.
+ Clients wish to discover the services that are running in the network.

The <command>LS</command> enables this by gathering information from
the
services and then using it to fulfill client queries. The following
figure presents basic <command>LS</command> interactions.
@@ -296,12 +303,13 @@
<section id="scope_specification" xreflabel="Scope Specification">
<title>Scope Specification</title>
<para>
- <emphasis>Scope's</emphasis> are specified as a '!' separated
- list of URIs, the protocol schema of each URI is defined as
- 'psls'. (A simplified URI syntax is being used, not the
+ <emphasis>Scope</emphasis> designations are specified as a
+ <command>!</command> separated list of URIs, the protocol
+ schema of each URI is defined as <command>psls</command>.
+ (A simplified URI syntax is being used, not the
complete URI specification so port numbers and protocol
- specifications other than 'psls' are not allowed.) The full
- string defines the current
+ specifications other than <command>psls</command> are not
+ allowed.) The full string defines the current
<emphasis>Scope</emphasis>. Parent
<emphasis>Scopes</emphasis>
will be found by removing components of the
<emphasis>Scope</emphasis> while child
@@ -329,7 +337,10 @@
the last path component is removed and the
remaining URI is used as the last component of
the URI list, and defines the parent
- <emphasis>Scope</emphasis>.
+ <emphasis>Scope</emphasis>. An example of this
would be
+
<emphasis>psls://perfsonar.net/!psls://geant.net/psnc</emphasis>.
+ The next level up from this would be
+
<emphasis>psls://perfsonar.net/!psls://geant.net</emphasis>.
</listitem>

<listitem>
@@ -338,7 +349,11 @@
has three parts, or labels) then the first
component of the hostname is removed, and the
resulting URI is used as the last URI in the list,
- and defines the parent <emphasis>Scope</emphasis>.
+ and defines the parent <emphasis>Scope</emphasis>.
An
+ example of this would be
+
<emphasis>psls://perfsonar.net/!psls://ls.internet2.edu</emphasis>.
+ The next level up from this would be
+
<emphasis>psls://perfsonar.net/!psls://internet2.edu</emphasis>.
</listitem>

<listitem>
@@ -348,7 +363,12 @@
now truncated URI list defines the parent
<emphasis>Scope</emphasis>. If the last URI is
being removed from this action, then there is no
- parent, and you are at the root of this hierarchy.
+ parent, and you are at the root of this hierarchy.
An
+ example of this would be
+
<emphasis>psls://perfsonar.net/!psls://internet2.edu</emphasis>.
+ The next level up from this would be
+ <emphasis>psls://perfsonar.net</emphasis>, where
this
+ <command>LS</command> would be a member.
</listitem>
</orderedlist>
</para>
@@ -368,18 +388,31 @@
<command>LS</command> can simply use the same
<emphasis>Scope</emphasis> specification, the
reason to create a new one might be to sub-divide a
- domain for performance reasons.) </listitem>
+ domain for performance reasons.) An example of this
would be
+
<emphasis>psls://perfsonar.net/!psls://geant.net/psnc</emphasis>.
+ This path allows the new LS to join an already
in-progress
+ unit that has started at:
+
<emphasis>psls://perfsonar.net/!psls://geant.net</emphasis>.</listitem>

<listitem>
If the new <command>LS</command> is in a DNS
sub-domain of the final URI in the given
<emphasis>Scope</emphasis>, the final URI can use
the full sub-domain as the hostname component of
- the final URI. </listitem>
+ the final URI. An example of this would be
+
<emphasis>psls://perfsonar.net/!psls://ls.internet2.edu</emphasis>.
+ This path allows the new LS to join an already
in-progress
+ unit that has started at:
+
<emphasis>psls://perfsonar.net/!psls://internet2.edu</emphasis>.</listitem>

<listitem>
If the new <command>LS</command> is in a different
- domain, then it can append a new URI to the list.
+ domain, then it can append a new URI to the list. An
+ example of this would be
+
<emphasis>psls://perfsonar.net/!psls://rnp.br</emphasis>.
+ This path allows the new LS to join the root
+ <emphasis>perfSONAR</emphasis> deployment at:
+ <emphasis>psls://perfsonar.net</emphasis>.
</listitem>
</orderedlist>
</para>
@@ -419,25 +452,30 @@
play:
<itemizedlist>
<listitem>
- A and B are both in the same domain (and have the
+ A and B are both in the same domain
+ (<emphasis>ESnet</emphasis>, and have the
same scope specification). They will do
intra-summary sharing of information with each
other. One of them will be elected as the
- leader of the 'domain' level, and will summarize
- the domain for participation in the global
- ring.
+ leader of the <emphasis>domain</emphasis> level, and
+ will summarize the domain for participation in the
+ global ring.
</listitem>
<listitem>
<para>
C and D have a similar arrangement as A and B
- above, but are part of a sub-domain. This
sub-domain
+ above, but are part of a sub-domain (the
+ <emphasis>ls.</emphasis> subclass of
+ <emphasis>geant.net</emphasis>). This sub-domain
will be summarized and one of (C or D) will
represent the sub-domain information in the
domain level ring.
</para>
<para>
E and F have the exact same arrangement as
- C and D.
+ C and D (this time the path leading to
+ <emphasis>psnc</emphasis> within
+ <emphasis>geant.net</emphasis>).
</para>
<para>
The two leaders from these two sub-domains
@@ -453,7 +491,9 @@
<listitem>
<para>
H is specified using a sub-scope of the one G
- is specified with. H is in a scope of its
+ is specified with (the <emphasis>net.</emphasis>
+ subdomain of
<emphasis>internet2.edu</emphasis>).
+ H is in a scope of its
own, and therefore participates in a ring
of one. Another <command>LS</command> instance
could be started using the same scope
@@ -475,8 +515,24 @@
content of all eight <command>LS</command>
instances.
</listitem>
- </itemizedlist>
+ </itemizedlist>
+
+
</para>
+
+ <para>
+ The above diagram is summarized below with additional scope
+ and information exchange annotations.
+ </para>
+
+ <para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/global_scope_tree.png"/>
+ </imageobject>
+ </mediaobject>
+ </para>
+
</section>


@@ -489,11 +545,11 @@
<command>LS</command> to the global ls.perfsonar.net domain
that will be supported by the perfSONAR consortium.
For example,
- a new <command>LS</command> started on ls.example.com would
+ a new <command>LS</command> started on rnp.br would
get a default <emphasis>Scope</emphasis> of:
<programlisting>
<![CDATA[
- psls://perfsonar.net/!psls://ls.example.com
+ psls://perfsonar.net/!psls://ls.rnp.br
]]>
</programlisting>
</para>
@@ -506,10 +562,10 @@
psls://perfsonar.net
</listitem>
<listitem>
- psls://perfsonar.net/!psls://example.com
+ psls://perfsonar.net/!psls://rnp.br
</listitem>
<listitem>
- psls://perfsonar.net/!psls://ls.example.com
+ psls://perfsonar.net/!psls://ls.rnp.br
</listitem>
</orderedlist>
</para>

Added: trunk/nmwg/doc/dLS/dLS_spec_1.html



  • nmwg: r326 - trunk/nmwg/doc/dLS, svnlog, 01/07/2008

Archive powered by MHonArc 2.6.16.

Top of Page