perfsonar-dev - nmwg: r336 - trunk/nmwg/doc/dLS
Subject: perfsonar development work
List archive
- From:
- To: ,
- Subject: nmwg: r336 - trunk/nmwg/doc/dLS
- Date: Fri, 4 Apr 2008 06:25:26 -0400
Author: mac
Date: 2008-04-04 06:25:26 -0400 (Fri, 04 Apr 2008)
New Revision: 336
Modified:
trunk/nmwg/doc/dLS/dLS_spec.html
trunk/nmwg/doc/dLS/dLS_spec_1.html
Log:
HTML generated
Modified: trunk/nmwg/doc/dLS/dLS_spec.html
===================================================================
--- trunk/nmwg/doc/dLS/dLS_spec.html 2008-03-22 06:25:49 UTC (rev 335)
+++ trunk/nmwg/doc/dLS/dLS_spec.html 2008-04-04 10:25:26 UTC (rev 336)
@@ -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, 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 clas!
s="secti
on"><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_summariz
ation">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
_metadata">4.1. Service Metadata Example</a></span></dt><dt>!
<span cl
ass="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 href
="#ls_discovery_message">4.8. LS Discovery Message</a></span!
></dt><d
d><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
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>
+<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.72.0" /></head><body><div class="article" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h1 class="title"><a
id="id2486774"></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="#id905683">perfSONAR</a> system. This modification
extends
+ in the [<a href="#id2540754"><span
class="citation">perfSONAR</span></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
@@ -61,15 +61,15 @@
metadata</em></span> record about
itself and full metadata (i.e. containing all static measurement
information such as subject, eventType(s), and any parameters,
see
- <a href="#service_metadata">Service Metadata Example</a>) about
stored data it has
+ <a href="#service_metadata" title="4.1. Service Metadata
Example">Service Metadata Example</a>) about stored data it has
knowledge of. Such a record is called Lookup Information (see
- <a href="#lookup_info">Lookup Information</a>).
+ <a href="#lookup_info" title="4.2. Lookup Information">Lookup
Information</a>).
</p><p>
The idea is to move the metadata from a service-local
- <a href="#id905701">XML</a> data store to a specialized
+ [<a href="#id2540773"><span class="citation">XML</span></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>)
+ <a href="#Berkeley DB XML" title="Berkeley DB XML"></a> or <a
href="#eXist XML DB" title="eXist XML DB"></a>)
that handles the storage of data in native formats. While a
service instance may support limited searching, this is not
necessary as they should be focused on storing or gathering data
@@ -356,7 +356,8 @@
The default <span class="emphasis"><em>Scope</em></span>
<span><strong class="command">SHOULD</strong></span> be
determined by appending a URI
with the fully qualified hostname of the host running the
- <span><strong class="command">LS</strong></span> to the
global ls.perfsonar.net domain
+ <span><strong class="command">LS</strong></span> to the
global
+ <span class="emphasis"><em>perfsonar.net</em></span> domain
that will be supported by the perfSONAR consortium.
For example,
a new <span><strong class="command">LS</strong></span>
started on rnp.br would
@@ -405,7 +406,7 @@
based upon continents or countries. This optimizations
can be added in after the fact, without changing
<span><strong class="command">Scope</strong></span>
specifications for already
- deployed <span><strong class="command">LS</strong></span>
instances. (Already
+ deployed <span><strong class="command">LS</strong></span>
instances. Already
deployed <span><strong class="command">LS</strong></span>
instances would simply
jump over the geographic <span
class="emphasis"><em>Scope</em></span>
directly to the root <span
class="emphasis"><em>Scope</em></span>. This
@@ -416,7 +417,7 @@
of the <span><strong class="command">dLS</strong></span>, no
matter which scope we are
talking about, are as follows:
</p><p>
- </p><div class="itemizedlist"><ul type="opencircle"><li
style="list-style-type: circle"><p><a href="#join_procedure">Join
Procedure</a> - Join Procedure</p></li><li style="list-style-type:
circle"><p><a href="#token_messages">Token Messages for Control and
Election</a> - Token Passing</p></li><li style="list-style-type:
circle"><p><a href="#summarization_messages">Summarization Messages</a> -
Summarization Notification</p></li></ul></div><p>
+ </p><div class="itemizedlist"><ul type="opencircle"><li
style="list-style-type: circle"><p><a href="#join_procedure"
title="3.2.4.1. Join Procedure">Join Procedure</a> - Join
Procedure</p></li><li style="list-style-type: circle"><p><a
href="#token_messages" title="3.2.5. Token Messages for Control and
Election">Token Messages for Control and Election</a> - Token
Passing</p></li><li style="list-style-type: circle"><p><a
href="#summarization_messages" title="3.2.6. Summarization
Messages">Summarization Messages</a> - Summarization
Notification</p></li></ul></div><p>
</p><p>
Each of these procedures is important to keeping members of
the
distributed <span class="emphasis"><em>service</em></span>
functioning correctly. The
@@ -427,7 +428,7 @@
When an <span><strong class="command">LS</strong></span>
instance comes online it must have some
knowledge of potential peers (both inter and intra
scope). This
information is contained in <span
class="emphasis"><em>LSRing</em></span> (see
- <a href="#ls_ring">LS Ring File Structure</a>) files.
The inter-domain knowledge (i.e.
+ <a href="#ls_ring" title="4.3. LS Ring File
Structure">LS Ring File Structure</a>) files. The inter-domain knowledge
(i.e.
<span class="emphasis"><em>lower</em></span>) is used
first to establish a connection
to an already in progress grouping, or perhaps to start
a group that
may not exist yet.
@@ -436,7 +437,7 @@
<span class="emphasis"><em>LSRing</em></span>
information and send an
<span class="emphasis"><em>LSControl</em></span> message
to known <span><strong class="command">LS</strong></span>
instances with a <span
class="emphasis"><em>join</em></span>
- <span class="emphasis"><em>eventType</em></span> (see <a
href="#ls_join">LS Join</a>)
+ <span class="emphasis"><em>eventType</em></span> (see <a
href="#ls_join" title="4.4. LS Join">LS Join</a>)
until a successful response is seen. The <span><strong
class="command">LS</strong></span>
candidate will then search through the successful
<span class="emphasis"><em>LSControlResponse</em></span>
to this message and update its
@@ -461,7 +462,7 @@
After this initial warm-up the <span><strong
class="command">LS</strong></span> will observe the
rules of token etiquette and remain silent until it is
contacted with
a token, or it has not seen one in a very long time (see
- <a href="#token_messages">Token Messages for Control and
Election</a>).
+ <a href="#token_messages" title="3.2.5. Token Messages
for Control and Election">Token Messages for Control and Election</a>).
</p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h6 class="title"><a
id="join_alg"></a>3.2.4.1.1. Algorithm</h6></div></div></div><p>
The algorithm for joining a logical group works as
follows. Some
steps have been simplified for the sake of the
diagram. Additional
@@ -494,7 +495,7 @@
and update it's own <span
class="emphasis"><em>LSRing</em></span>.
<span><strong
class="command">LS1</strong></span> will now wait (i.e. the length of
the token rotation time, see
- <a
href="#rotation_time_computation">Rotation Time Computation</a>) until it is
time
+ <a href="#rotation_time_computation"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>)
until it is time
to speak to the group.
</p></li><li><p>
<span><strong
class="command">LS2</strong></span> sends
@@ -536,7 +537,7 @@
</p></li><li><p>
After a full cycle of leader election, a
new leader is
known. This new leader may start the
backup leader election.
- See <a href="#leader_election">Leader
Election</a> for more details.
+ See <a href="#leader_election"
title="3.2.5.1. Leader Election">Leader Election</a> for more details.
</p></li><li><p>
Regular token exchange and summarization
notification will
resume in time.
@@ -564,14 +565,14 @@
</p></div></div></div><div class="section" lang="en"
xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a
id="token_messages"></a>3.2.5. Token Messages for Control and
Election</h4></div></div></div><p>
When scopes are created, they form themselves into logical groups
around which tokens must be passed. This token passing mechanism
is
- used for two purposes: <a href="#leader_election">Leader
Election</a> and
- <a href="#registration_control">Registration Control</a>. A
leader is necessary to
+ used for two purposes: <a href="#leader_election"
title="3.2.5.1. Leader Election">Leader Election</a> and
+ <a href="#registration_control" title="3.2.5.2. Registration
Control">Registration Control</a>. A leader is necessary to
circulate group updates, to start tokens to initiate registration,
and
to represent a given scope in an upper scope.
</p><p>
The <span class="emphasis"><em>token</em></span> is an
<span><strong class="command">LSControlMessage</strong></span> (see
- <a href="#ls_token_message">LS Token Message</a>) meant to be
passed around an
+ <a href="#ls_token_message" title="4.5. LS Token Message">LS Token
Message</a>) meant to be passed around an
<span><strong class="command">LSRing</strong></span> to the
various members in some order. There
are various criteria that can be used in deciding how to order the
group so that everyone can predict where the token is, when they
might
@@ -610,7 +611,7 @@
mechanism, initiated by the current leader, with the current
leader
excluded. The <span class="emphasis"><em>Leader</em></span> and
<span class="emphasis"><em>Vice-leader</em></span> <span><strong
class="command">LS</strong></span> instances
- should exchange messages (see <a href="#ls_leader_message">LS
Leader Message</a>)
+ should exchange messages (see <a href="#ls_leader_message"
title="4.7. LS Leader Message">LS Leader Message</a>)
periodically to ensure that in the event of a failure the lower
level will still maintain a cached copy of the information at the
upper level. It should be noted that whenever a the
@@ -671,8 +672,8 @@
The token can be viewed as <span class="emphasis"><em>permission
to talk</em></span>
and permits the holding <span><strong
class="command">LS</strong></span> to send its summary
information to all other available <span><strong
class="command">LS</strong></span> instances
- (see <a href="#ls_summary_message_lower">Lower</a> and
- <a href="#ls_summary_message_upper">Upper</a>). The responses
will
+ (see <a href="#ls_summary_message_lower"
title="4.6.2. Lower">Lower</a> and
+ <a href="#ls_summary_message_upper"
title="4.6.1. Upper">Upper</a>). The responses will
be parsed to get any useful updated information about current
<span><strong class="command">dLS</strong></span> cloud state.
</p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h6 class="title"><a
id="passing_algorithm"></a>3.2.5.2.1. Passing
Algorithm</h6></div></div></div><p>
@@ -702,7 +703,7 @@
with any new service info.
</p></li><li><p>
<span><strong class="command">LS1</strong></span> waits
- (see <a href="#rotation_time_computation">Rotation Time
Computation</a>).
+ (see <a href="#rotation_time_computation"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>).
</p></li><li><p>
<span><strong class="command">LS1</strong></span> sends
token to next
<span><strong class="command">LS</strong></span>
(<span><strong class="command">LS2</strong></span>) from the
@@ -713,10 +714,10 @@
</p><p>
Each note in the local group is responsible for monitoring the
state of the token. If the internal timer (see
- <a href="#rotation_time_computation">Rotation Time
Computation</a>) expires without
+ <a href="#rotation_time_computation"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>)
expires without
seeing a token a new token should be generated. If a token is
seen too soon (see
- <a href="#rotation_time_computation">Rotation Time
Computation</a>) it should be
+ <a href="#rotation_time_computation"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>)
it should be
dropped. This will ensure that too many tokens do not enter
into
the group at a given time.
</p></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h6 class="title"><a
id="rotation_time_computation"></a>3.2.5.2.2. Rotation Time
Computation</h6></div></div></div><p>
@@ -739,8 +740,8 @@
initiated. Conversely if a token is seen too early (less than
half the calculated time) the token should be dropped.
</p></div></div></div><div class="section" lang="en"
xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a
id="summarization_messages"></a>3.2.6. Summarization
Messages</h4></div></div></div><p>
- <a href="#system_summarization_lower">Lower Scope</a> and
- <a href="#system_summarization_upper">Upper Scope</a> contain
examples of the
+ <a href="#system_summarization_lower" title="3.4.1. Lower
Scope">Lower Scope</a> and
+ <a href="#system_summarization_upper" title="3.4.2. Upper
Scope">Upper Scope</a> contain examples of the
message format for this exchange. It is left up to the
implementation when the summarization occurs (i.e. at message
send time, or also as a periodic event).
@@ -748,7 +749,7 @@
Bootstrapping is the mechanism used by any
<span class="emphasis"><em>perfSONAR</em></span> service to find
the first
<span><strong class="command">LS</strong></span> instance. Once
any <span><strong class="command">LS</strong></span>
- instance is found, the <a href="#system_search">Search</a>
+ instance is found, the <a href="#system_search"
title="3.5. Search">Search</a>
mechanism can be used to find specific ones as required.
(For example, a new <span><strong
class="command">LS</strong></span> instance will need
to look for any current <span><strong
class="command">LS</strong></span> instances in the
@@ -784,7 +785,7 @@
<span><strong class="command">LS</strong></span> cloud.
</p><p>
We start by making an observation that summarization is best based on
- scope (see also <a href="#system_scope">Scope Formation</a>). Simply
put, this
+ scope (see also <a href="#system_scope" title="3.2. Scope
Formation">Scope Formation</a>). Simply put, this
means that we should attempt to summarize <span
class="emphasis"><em>more</em></span> the
<span class="emphasis"><em>farther</em></span> away from the
source that we get. This creates a smaller data set that travels
@@ -840,7 +841,7 @@
information to other <span><strong
class="command">LS</strong></span> instances to propagate the
appropriate information. Information exchange will be handled
using a
<span class="emphasis"><em>taking turns</em></span> protocol such
as
- <a href="#Token Ring">Token Ring</a>. The holder of the token
will then
+ <a href="#Token Ring" title="Token Ring"></a>. The holder of the
token will then
perform the information exchange to other known instances. The
following diagram illustrates the exchange between
<span><strong class="command">LS</strong></span> deployments.
@@ -866,7 +867,7 @@
<span><strong class="command">LS</strong></span>s (generally
representing other domains) in
order to form a higher-level, or <span
class="emphasis"><em>upper</em></span>, scope.
The mechanics of how we learn who is the designated leader are
- discussed in <a href="#leader_election">Leader Election</a>. The
leader from
+ discussed in <a href="#leader_election" title="3.2.5.1. Leader
Election">Leader Election</a>. The leader from
each of the first layers of this hierarchy (and the designated
backup)
will be responsible for examining each member's summary information
and building a summarization/aggregation that represents the
contents
@@ -881,11 +882,11 @@
Summarization will be performed using specialized summary
algorithm.
Topology information such as IP addresses will be summarized using
algorithms based on Radix Tree (see
- <a href="#system_summarization_upper_alg">IP Address
Algorithm</a>).
+ <a href="#system_summarization_upper_alg" title="3.4.2.1. IP
Address Algorithm">IP Address Algorithm</a>).
</p><p>
Other information can be summarized in an easier manner through the
use of either Extensible Stylesheet Language Transformation
- (<a href="#XSLT">XSLT</a>) documents or the <a
href="#XQuery">XQuery</a>
+ (<a href="#XSLT" title="XSLT"></a>) documents or the <a
href="#XQuery" title="XQuery"></a>
language as discussed in the previous section.
These mechanisms will take into account the XML elements that
represent the network topology currently used in metadata subjects
as
@@ -895,8 +896,8 @@
<span class="emphasis"><em>service summary</em></span> that
represents the breadth of
the original input. This consists minimally of IP networks and
addresses and the eventTypes which are stored and can be generated.
- See <a href="#ls_summary_message_lower">Lower</a> or
- <a href="#ls_summary_message_upper">Upper</a> for a mock-up of the
+ See <a href="#ls_summary_message_lower"
title="4.6.2. Lower">Lower</a> or
+ <a href="#ls_summary_message_upper" title="4.6.1. Upper">Upper</a>
for a mock-up of the
summary output. Additional transformations, while aggressive, will
strive to preserve as much information as possible to remain
useful
during the search procedures.
@@ -984,8 +985,8 @@
<span><strong class="command">LS</strong></span> instance (or
instances) that contain the relevant
details. This separation of full data and summary data means the
overall
act of searching is broken down into two distinct phases -
- <a href="#system_search_discovery_phase">Discovery Phase</a> and
- <a href="#system_search_metadata_query_phase">Metadata Query
Phase</a>.
+ <a href="#system_search_discovery_phase" title="3.5.1. Discovery
Phase">Discovery Phase</a> and
+ <a href="#system_search_metadata_query_phase" title="3.5.2. Metadata
Query Phase">Metadata Query Phase</a>.
</p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="system_search_discovery_phase"></a>3.5.1. Discovery
Phase</h4></div></div></div><p>
The discovery phase is used to locate the set of Authoritative
<span><strong class="command">LS</strong></span> (or
<span><strong class="command">LS</strong></span>s) for a given
@@ -995,87 +996,117 @@
of subject, eventType and Authoritative <span><strong
class="command">LS</strong></span>).
Either a specific API call and a pre-prepared query, or some
automatic
mechanism, must map the desired query into a query of the
Discovery
- info-set (see <a href="#ls_discovery_message">LS Discovery
Message</a>)
+ info-set (see <a href="#ls_discovery_message" title="4.8. LS
Discovery Message">LS Discovery Message</a>)
</p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h5 class="title"><a
id="system_search_discovery_algorithm"></a>3.5.1.1. Algorithm</h5></div></div></div><p>
The discovery algorithm is as follows.
</p><p>
</p><div class="orderedlist"><ol type="1"><li><p>
- A client locates an <span><strong
class="command">LS</strong></span> of some sort (this
- may be known beforehand via a configuration value, or from
- bootstrapping).
+ A client locates any <span><strong
class="command">LS</strong></span> instance. This
+ SHOULD be one close to the client as possible for
+ efficiency.
</p></li><li><p>
The client should start by making a discovery query (see
- <a href="#ls_discovery_message">LS Discovery Message</a>)
to locate an
+ <a href="#ls_discovery_message" title="4.8. LS Discovery
Message">LS Discovery Message</a>) to locate an
<span><strong class="command">LS</strong></span> that
contains the data it is interested
- in. The results of this query will be:
+ in. This query is used to find the authoritative
+ <span><strong class="command">LS</strong></span> instances
for a set of
+ data (eventType) about a part of the network (topology).
</p><p>
- </p><div class="orderedlist"><ol type="1"><li><p>
- <span><strong
class="command">Failure</strong></span>: Returned if there is no
- <span><strong class="command">LS</strong></span> at
a higher scope than the current
- one, and nothing was found in the summary info-set
that
- matches the query.
- </p></li><li><p>
- <span><strong
class="command">Referral</strong></span>: This is returned when there
- is no match other than a
- <span class="emphasis"><em>global
wildcard</em></span>.
- </p><p>
- </p><div class="orderedlist"><ol type="1"><li><p>
- If this <span><strong
class="command">LS</strong></span> is not participating
- in the highest (<span
class="emphasis"><em>upper</em></span>) scope,
- then it returns the leader of its current scope
- (or a direct referral to an instance of the
- next-higher scope.) This is effectively a
- wildcard match saying <span
class="emphasis"><em>I don't know the
- answer, but I know who might.</em></span> This
is
- how the Metadata registered to an
- <span><strong
class="command">LS</strong></span> in another scope (domain)
- is found.
- </p></li></ol></div><p>
- </p></li><li><p>
- <span><strong
class="command">Success</strong></span>: We define success to mean at
- least one matching <span><strong
class="command">LS</strong></span> has been
- returned. The <span><strong
class="command">LS</strong></span> must return the
- following:
- </p><p>
- </p><div class="orderedlist"><ol type="1"><li><p>
- If this <span><strong
class="command">LS</strong></span> is an
- <span><strong
class="command">HLS</strong></span> for the discovery query, it
- returns itself.
- </p></li><li><p>
- This <span><strong
class="command">LS</strong></span> also returns any other
- <span><strong
class="command">HLS</strong></span> instances it has found that
- match. An <span><strong
class="command">LS</strong></span> instance will have
- summary information from other domains when it
is
- participating in a higher-level scope
(such as
- upper).
- </p></li><li><p>
- Note: this is where recursive searches would be
- added into the discovery phase. The trail up
the
- scope hierarchy would be followed by the
- <span><strong
class="command">LS</strong></span> itself instead of returning
- the leader <span><strong
class="command">LS</strong></span>. Ideally, this
- list would be iterated on by the
- <span><strong
class="command">LS</strong></span> so that only leaf
- <span><strong
class="command">LS</strong></span> instances are returned.
- </p></li></ol></div><p>
- </p></li></ol></div><p>
+ A successful result of this query will contain two parts:
+ </p><p>
+ </p><div class="orderedlist"><ol type="1"><li><p>
+ <span><strong class="command">Referral:</strong></span>
+ </p><p>
+ This section
+ is used to return the list of all
+ <span><strong class="command">LS</strong></span>
instances
+ that MUST be consulted in order to find the
+ complete set of authoratitive
+ <span><strong class="command">LS</strong></span>
instances for the
+ given discovery request. This is not
+ necessarily the complete set since querying
+ these can lead to additional instances to check.
+ A client can
+ of course terminate this iteration earlier. For
+ instance, some clients could only want to find
+ a single source for a given set of data, and
+ may not care that another source exists.
+ </p><p>
+ If the <span><strong
class="command">LS</strong></span> is not at the
+ root scope, it MUST return the parent scope
+ in this list. (This is the only way to find
+ autoritative <span><strong
class="command">LS</strong></span> instances
+ in other scopes.)
+ </p><p>
+ The <span><strong class="command">LS</strong></span>
MUST return any
+ peer <span><strong class="command">LS</strong></span>
instances, and
+ any lower-scope <span><strong
class="command">LS</strong></span> instances
+ that match the summary-infoset query.
+ </p><p>
+ The Referral list can only be empty if this
+ <span><strong class="command">LS</strong></span> is in
the root scope
+ and there are no matching records in the
+ summary scope.
+ </p><p>
+ Note: It will be a future optimization to allow
+ recursive searches in the discovery phase.
+ Therefore, eventually, it
+ will not be required for the
+ <span><strong class="command">LS</strong></span> to
return the parent
+ scope if it is willing to make the query on
+ behalf of the client and return the results.
+ (Presumably caching them to optimize future
+ queries.)
+ </p></li><li><p>
+ <span><strong
class="command">Authoratative:</strong></span>
+ </p><p>
+ This section is used to return the list
+ of known authoratative <span><strong
class="command">LS</strong></span>
+ instances.
+ </p><p>
+ If the <span><strong
class="command">LS</strong></span> instance
+ is authoratative for the given query,
+ it will return itself.
+ </p><p>
+ Note: this is where recursive searches could
+ yeild additional authoritative <span><strong
class="command">LS</strong></span>
+ instances from queries it has made on behalf of
+ the client. If all participating
+ <span><strong class="command">LS</strong></span>
instances supported
+ recursive mode discovery, this would allow the
+ response to the client to have a completely
+ empty referral section, and a complete
+ list of <span><strong
class="command">Authoratative</strong></span>
+ instances in this section.
+ However, for complete discovery to work, all clients
+ MUST support iterative queries. Recursive
+ queries are mearly an optimization.
+ </p></li></ol></div><p>
+ </p><p>
+ If both of these sections have empty lists, that
+ indicates that there is no data in the global
+ <span><strong class="command">LS</strong></span> network
of services that matches the
+ given query.
</p></li><li><p>
- The client will need to iterate through the list of
returned
- <span><strong class="command">LS</strong></span>
instances. If the <span><strong class="command">LS</strong></span>
- returns itself, this <span><strong
class="command">LS</strong></span> can be used in the
- following Metadata query phase. If the returned
- <span><strong class="command">LS</strong></span> is
different, a discovery query should
- be made to it.
+ The client will need to iterate through the list of all
+ returned referral instances to find all
+ <span><strong
class="command">Authoratative</strong></span> instances. Then, the
+ client will need to make
+ <a href="#system_search_metadata_query_phase"
title="3.5.2. Metadata Query Phase">Metadata Query Phase</a>
+ queries to each and every instance found in the discovery
+ phase to find the complete set of data that can
+ potentially match the query.
</p></li></ol></div><p>
</p></div></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="system_search_metadata_query_phase"></a>3.5.2. Metadata Query
Phase</h4></div></div></div><p>
The Metadata Query Phase with an individual <span><strong
class="command">LS</strong></span> is
the same as the query mechanism that is in place with the current
<span><strong class="command">LS</strong></span> implementations.
</p><p>
- Once we have found the <span><strong
class="command">HLS</strong></span> (or
- <span><strong class="command">HLS</strong></span>s) that contain
data in the range of our
- discovery query, we can pose Metadata Queries to each of them. The
- results will be failure or success.
+ Once we have found the complete list of
+ <span><strong class="command">Authoritative</strong></span>
<span><strong class="command">LS</strong></span> instances
+ from the discovery phase, we can pose Metadata Queries to each of
+ them. The results will be failure or success.
+
</p></div></div></div><div class="section" lang="en"
xml:lang="en"><div class="titlepage"><div><div><h2 class="title"
style="clear: both"><a id="structures_and_messages"></a>4. Structures and
Messages</h2></div></div></div><p>
The following messages will be used as examples throughout this
document.
Descriptions are provided where applicable.
@@ -1711,6 +1742,18 @@
<nmwg:metadata id="metadata.1">
<!-- WHAT DO I LOOK LIKE?!? -->
+ <!-- I should have syntax to query for the combination
+ of eventType and topology. Some amount of wild-carding
+ should be available as well. (i.e. I'm interested in
+ all authoritative LS servers that have information about
+ a given router.) So - I (jwb) think a complete wildcard
+ of the eventType space should be allowed. As to the
+ topology part - there is already aggregation features
+ available. So, I think we should specify that valid
+ topology elements should be used.
+ i.e. the 'network' element can be used
+ to find specific data about a given network.
+ -->
</nmwg:metadata>
@@ -1720,18 +1763,20 @@
</pre></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_discovery_message_response"></a>4.8.2. Response</h4></div></div></div><p>
The response message will feature a status message, as described
- in <a href="#system_search_discovery_algorithm">Algorithm</a>.
+ in <a href="#system_search_discovery_algorithm"
title="3.5.1.1. Algorithm">Algorithm</a>.
</p><pre class="programlisting">
<nmwg:message type="LSDiscoveryResponse">
<nmwg:metadata id="metadata.1.r">
- <!-- may be any of these: -->
- <nmwg:eventType>success</nmwg:eventType>
- <nmwg:eventType>failure</nmwg:eventType>
+ <!-- possible event types (make uri's) for metadata
here are:
- <nmwg:eventType>referral</nmwg:eventType>
+ <nmwg:eventType>referral</nmwg:eventType>
+ <nmwg:eventType>authoratative</nmwg:eventType>
+
+ <nmwg:eventType>error-codes...</nmwg:eventType>
+
</nmwg:metadata>
<nmwg:data id="data.1.r" metadataIdRef="metadata.1.r">
@@ -1739,7 +1784,10 @@
<!-- for failure: -->
<nmwgr:datum value="some message" />
- <!-- for success/referral -->
+
+ <!-- for authoratative and/or referral
+ list out the psservice info for each LS -->
+
<nmwg:metadata id="metadata.6">
<perfsonar:subject id="subject.6">
<psservice:service id="service.6">
@@ -1786,8 +1834,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="id905683"></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="id2540754"></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="id905701"></a><p>[<abbr class="abbrev">XML</abbr>] <span class="title"><i>
+ </i>. </span></p></div><div class="biblioentry"><a
id="id2540773"></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_1.html
===================================================================
--- trunk/nmwg/doc/dLS/dLS_spec_1.html 2008-03-22 06:25:49 UTC (rev 335)
+++ trunk/nmwg/doc/dLS/dLS_spec_1.html 2008-04-04 10:25:26 UTC (rev 336)
@@ -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, 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 clas!
s="secti
on"><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_summariz
ation">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
_metadata">4.1. Service Metadata Example</a></span></dt><dt>!
<span cl
ass="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 href
="#ls_discovery_message">4.8. LS Discovery Message</a></span!
></dt><d
d><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
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>
+<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.72.0" /></head><body><div class="article" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h1 class="title"><a
id="id2486774"></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="#id905683">perfSONAR</a> system. This modification
extends
+ in the [<a href="#id2540754"><span
class="citation">perfSONAR</span></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
@@ -61,15 +61,15 @@
metadata</em></span> record about
itself and full metadata (i.e. containing all static measurement
information such as subject, eventType(s), and any parameters,
see
- <a href="#service_metadata">Service Metadata Example</a>) about
stored data it has
+ <a href="#service_metadata" title="4.1. Service Metadata
Example">Service Metadata Example</a>) about stored data it has
knowledge of. Such a record is called Lookup Information (see
- <a href="#lookup_info">Lookup Information</a>).
+ <a href="#lookup_info" title="4.2. Lookup Information">Lookup
Information</a>).
</p><p>
The idea is to move the metadata from a service-local
- <a href="#id905701">XML</a> data store to a specialized
+ [<a href="#id2540773"><span class="citation">XML</span></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>)
+ <a href="#Berkeley DB XML" title="Berkeley DB XML"></a> or <a
href="#eXist XML DB" title="eXist XML DB"></a>)
that handles the storage of data in native formats. While a
service instance may support limited searching, this is not
necessary as they should be focused on storing or gathering data
@@ -356,7 +356,8 @@
The default <span class="emphasis"><em>Scope</em></span>
<span><strong class="command">SHOULD</strong></span> be
determined by appending a URI
with the fully qualified hostname of the host running the
- <span><strong class="command">LS</strong></span> to the
global ls.perfsonar.net domain
+ <span><strong class="command">LS</strong></span> to the
global
+ <span class="emphasis"><em>perfsonar.net</em></span> domain
that will be supported by the perfSONAR consortium.
For example,
a new <span><strong class="command">LS</strong></span>
started on rnp.br would
@@ -405,7 +406,7 @@
based upon continents or countries. This optimizations
can be added in after the fact, without changing
<span><strong class="command">Scope</strong></span>
specifications for already
- deployed <span><strong class="command">LS</strong></span>
instances. (Already
+ deployed <span><strong class="command">LS</strong></span>
instances. Already
deployed <span><strong class="command">LS</strong></span>
instances would simply
jump over the geographic <span
class="emphasis"><em>Scope</em></span>
directly to the root <span
class="emphasis"><em>Scope</em></span>. This
@@ -416,7 +417,7 @@
of the <span><strong class="command">dLS</strong></span>, no
matter which scope we are
talking about, are as follows:
</p><p>
- </p><div class="itemizedlist"><ul type="opencircle"><li
style="list-style-type: circle"><p><a href="#join_procedure">Join
Procedure</a> - Join Procedure</p></li><li style="list-style-type:
circle"><p><a href="#token_messages">Token Messages for Control and
Election</a> - Token Passing</p></li><li style="list-style-type:
circle"><p><a href="#summarization_messages">Summarization Messages</a> -
Summarization Notification</p></li></ul></div><p>
+ </p><div class="itemizedlist"><ul type="opencircle"><li
style="list-style-type: circle"><p><a href="#join_procedure"
title="3.2.4.1. Join Procedure">Join Procedure</a> - Join
Procedure</p></li><li style="list-style-type: circle"><p><a
href="#token_messages" title="3.2.5. Token Messages for Control and
Election">Token Messages for Control and Election</a> - Token
Passing</p></li><li style="list-style-type: circle"><p><a
href="#summarization_messages" title="3.2.6. Summarization
Messages">Summarization Messages</a> - Summarization
Notification</p></li></ul></div><p>
</p><p>
Each of these procedures is important to keeping members of
the
distributed <span class="emphasis"><em>service</em></span>
functioning correctly. The
@@ -427,7 +428,7 @@
When an <span><strong class="command">LS</strong></span>
instance comes online it must have some
knowledge of potential peers (both inter and intra
scope). This
information is contained in <span
class="emphasis"><em>LSRing</em></span> (see
- <a href="#ls_ring">LS Ring File Structure</a>) files.
The inter-domain knowledge (i.e.
+ <a href="#ls_ring" title="4.3. LS Ring File
Structure">LS Ring File Structure</a>) files. The inter-domain knowledge
(i.e.
<span class="emphasis"><em>lower</em></span>) is used
first to establish a connection
to an already in progress grouping, or perhaps to start
a group that
may not exist yet.
@@ -436,7 +437,7 @@
<span class="emphasis"><em>LSRing</em></span>
information and send an
<span class="emphasis"><em>LSControl</em></span> message
to known <span><strong class="command">LS</strong></span>
instances with a <span
class="emphasis"><em>join</em></span>
- <span class="emphasis"><em>eventType</em></span> (see <a
href="#ls_join">LS Join</a>)
+ <span class="emphasis"><em>eventType</em></span> (see <a
href="#ls_join" title="4.4. LS Join">LS Join</a>)
until a successful response is seen. The <span><strong
class="command">LS</strong></span>
candidate will then search through the successful
<span class="emphasis"><em>LSControlResponse</em></span>
to this message and update its
@@ -461,7 +462,7 @@
After this initial warm-up the <span><strong
class="command">LS</strong></span> will observe the
rules of token etiquette and remain silent until it is
contacted with
a token, or it has not seen one in a very long time (see
- <a href="#token_messages">Token Messages for Control and
Election</a>).
+ <a href="#token_messages" title="3.2.5. Token Messages
for Control and Election">Token Messages for Control and Election</a>).
</p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h6 class="title"><a
id="join_alg"></a>3.2.4.1.1. Algorithm</h6></div></div></div><p>
The algorithm for joining a logical group works as
follows. Some
steps have been simplified for the sake of the
diagram. Additional
@@ -494,7 +495,7 @@
and update it's own <span
class="emphasis"><em>LSRing</em></span>.
<span><strong
class="command">LS1</strong></span> will now wait (i.e. the length of
the token rotation time, see
- <a
href="#rotation_time_computation">Rotation Time Computation</a>) until it is
time
+ <a href="#rotation_time_computation"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>)
until it is time
to speak to the group.
</p></li><li><p>
<span><strong
class="command">LS2</strong></span> sends
@@ -536,7 +537,7 @@
</p></li><li><p>
After a full cycle of leader election, a
new leader is
known. This new leader may start the
backup leader election.
- See <a href="#leader_election">Leader
Election</a> for more details.
+ See <a href="#leader_election"
title="3.2.5.1. Leader Election">Leader Election</a> for more details.
</p></li><li><p>
Regular token exchange and summarization
notification will
resume in time.
@@ -564,14 +565,14 @@
</p></div></div></div><div class="section" lang="en"
xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a
id="token_messages"></a>3.2.5. Token Messages for Control and
Election</h4></div></div></div><p>
When scopes are created, they form themselves into logical groups
around which tokens must be passed. This token passing mechanism
is
- used for two purposes: <a href="#leader_election">Leader
Election</a> and
- <a href="#registration_control">Registration Control</a>. A
leader is necessary to
+ used for two purposes: <a href="#leader_election"
title="3.2.5.1. Leader Election">Leader Election</a> and
+ <a href="#registration_control" title="3.2.5.2. Registration
Control">Registration Control</a>. A leader is necessary to
circulate group updates, to start tokens to initiate registration,
and
to represent a given scope in an upper scope.
</p><p>
The <span class="emphasis"><em>token</em></span> is an
<span><strong class="command">LSControlMessage</strong></span> (see
- <a href="#ls_token_message">LS Token Message</a>) meant to be
passed around an
+ <a href="#ls_token_message" title="4.5. LS Token Message">LS Token
Message</a>) meant to be passed around an
<span><strong class="command">LSRing</strong></span> to the
various members in some order. There
are various criteria that can be used in deciding how to order the
group so that everyone can predict where the token is, when they
might
@@ -610,7 +611,7 @@
mechanism, initiated by the current leader, with the current
leader
excluded. The <span class="emphasis"><em>Leader</em></span> and
<span class="emphasis"><em>Vice-leader</em></span> <span><strong
class="command">LS</strong></span> instances
- should exchange messages (see <a href="#ls_leader_message">LS
Leader Message</a>)
+ should exchange messages (see <a href="#ls_leader_message"
title="4.7. LS Leader Message">LS Leader Message</a>)
periodically to ensure that in the event of a failure the lower
level will still maintain a cached copy of the information at the
upper level. It should be noted that whenever a the
@@ -671,8 +672,8 @@
The token can be viewed as <span class="emphasis"><em>permission
to talk</em></span>
and permits the holding <span><strong
class="command">LS</strong></span> to send its summary
information to all other available <span><strong
class="command">LS</strong></span> instances
- (see <a href="#ls_summary_message_lower">Lower</a> and
- <a href="#ls_summary_message_upper">Upper</a>). The responses
will
+ (see <a href="#ls_summary_message_lower"
title="4.6.2. Lower">Lower</a> and
+ <a href="#ls_summary_message_upper"
title="4.6.1. Upper">Upper</a>). The responses will
be parsed to get any useful updated information about current
<span><strong class="command">dLS</strong></span> cloud state.
</p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h6 class="title"><a
id="passing_algorithm"></a>3.2.5.2.1. Passing
Algorithm</h6></div></div></div><p>
@@ -702,7 +703,7 @@
with any new service info.
</p></li><li><p>
<span><strong class="command">LS1</strong></span> waits
- (see <a href="#rotation_time_computation">Rotation Time
Computation</a>).
+ (see <a href="#rotation_time_computation"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>).
</p></li><li><p>
<span><strong class="command">LS1</strong></span> sends
token to next
<span><strong class="command">LS</strong></span>
(<span><strong class="command">LS2</strong></span>) from the
@@ -713,10 +714,10 @@
</p><p>
Each note in the local group is responsible for monitoring the
state of the token. If the internal timer (see
- <a href="#rotation_time_computation">Rotation Time
Computation</a>) expires without
+ <a href="#rotation_time_computation"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>)
expires without
seeing a token a new token should be generated. If a token is
seen too soon (see
- <a href="#rotation_time_computation">Rotation Time
Computation</a>) it should be
+ <a href="#rotation_time_computation"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>)
it should be
dropped. This will ensure that too many tokens do not enter
into
the group at a given time.
</p></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h6 class="title"><a
id="rotation_time_computation"></a>3.2.5.2.2. Rotation Time
Computation</h6></div></div></div><p>
@@ -739,8 +740,8 @@
initiated. Conversely if a token is seen too early (less than
half the calculated time) the token should be dropped.
</p></div></div></div><div class="section" lang="en"
xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a
id="summarization_messages"></a>3.2.6. Summarization
Messages</h4></div></div></div><p>
- <a href="#system_summarization_lower">Lower Scope</a> and
- <a href="#system_summarization_upper">Upper Scope</a> contain
examples of the
+ <a href="#system_summarization_lower" title="3.4.1. Lower
Scope">Lower Scope</a> and
+ <a href="#system_summarization_upper" title="3.4.2. Upper
Scope">Upper Scope</a> contain examples of the
message format for this exchange. It is left up to the
implementation when the summarization occurs (i.e. at message
send time, or also as a periodic event).
@@ -748,7 +749,7 @@
Bootstrapping is the mechanism used by any
<span class="emphasis"><em>perfSONAR</em></span> service to find
the first
<span><strong class="command">LS</strong></span> instance. Once
any <span><strong class="command">LS</strong></span>
- instance is found, the <a href="#system_search">Search</a>
+ instance is found, the <a href="#system_search"
title="3.5. Search">Search</a>
mechanism can be used to find specific ones as required.
(For example, a new <span><strong
class="command">LS</strong></span> instance will need
to look for any current <span><strong
class="command">LS</strong></span> instances in the
@@ -784,7 +785,7 @@
<span><strong class="command">LS</strong></span> cloud.
</p><p>
We start by making an observation that summarization is best based on
- scope (see also <a href="#system_scope">Scope Formation</a>). Simply
put, this
+ scope (see also <a href="#system_scope" title="3.2. Scope
Formation">Scope Formation</a>). Simply put, this
means that we should attempt to summarize <span
class="emphasis"><em>more</em></span> the
<span class="emphasis"><em>farther</em></span> away from the
source that we get. This creates a smaller data set that travels
@@ -840,7 +841,7 @@
information to other <span><strong
class="command">LS</strong></span> instances to propagate the
appropriate information. Information exchange will be handled
using a
<span class="emphasis"><em>taking turns</em></span> protocol such
as
- <a href="#Token Ring">Token Ring</a>. The holder of the token
will then
+ <a href="#Token Ring" title="Token Ring"></a>. The holder of the
token will then
perform the information exchange to other known instances. The
following diagram illustrates the exchange between
<span><strong class="command">LS</strong></span> deployments.
@@ -866,7 +867,7 @@
<span><strong class="command">LS</strong></span>s (generally
representing other domains) in
order to form a higher-level, or <span
class="emphasis"><em>upper</em></span>, scope.
The mechanics of how we learn who is the designated leader are
- discussed in <a href="#leader_election">Leader Election</a>. The
leader from
+ discussed in <a href="#leader_election" title="3.2.5.1. Leader
Election">Leader Election</a>. The leader from
each of the first layers of this hierarchy (and the designated
backup)
will be responsible for examining each member's summary information
and building a summarization/aggregation that represents the
contents
@@ -881,11 +882,11 @@
Summarization will be performed using specialized summary
algorithm.
Topology information such as IP addresses will be summarized using
algorithms based on Radix Tree (see
- <a href="#system_summarization_upper_alg">IP Address
Algorithm</a>).
+ <a href="#system_summarization_upper_alg" title="3.4.2.1. IP
Address Algorithm">IP Address Algorithm</a>).
</p><p>
Other information can be summarized in an easier manner through the
use of either Extensible Stylesheet Language Transformation
- (<a href="#XSLT">XSLT</a>) documents or the <a
href="#XQuery">XQuery</a>
+ (<a href="#XSLT" title="XSLT"></a>) documents or the <a
href="#XQuery" title="XQuery"></a>
language as discussed in the previous section.
These mechanisms will take into account the XML elements that
represent the network topology currently used in metadata subjects
as
@@ -895,8 +896,8 @@
<span class="emphasis"><em>service summary</em></span> that
represents the breadth of
the original input. This consists minimally of IP networks and
addresses and the eventTypes which are stored and can be generated.
- See <a href="#ls_summary_message_lower">Lower</a> or
- <a href="#ls_summary_message_upper">Upper</a> for a mock-up of the
+ See <a href="#ls_summary_message_lower"
title="4.6.2. Lower">Lower</a> or
+ <a href="#ls_summary_message_upper" title="4.6.1. Upper">Upper</a>
for a mock-up of the
summary output. Additional transformations, while aggressive, will
strive to preserve as much information as possible to remain
useful
during the search procedures.
@@ -984,8 +985,8 @@
<span><strong class="command">LS</strong></span> instance (or
instances) that contain the relevant
details. This separation of full data and summary data means the
overall
act of searching is broken down into two distinct phases -
- <a href="#system_search_discovery_phase">Discovery Phase</a> and
- <a href="#system_search_metadata_query_phase">Metadata Query
Phase</a>.
+ <a href="#system_search_discovery_phase" title="3.5.1. Discovery
Phase">Discovery Phase</a> and
+ <a href="#system_search_metadata_query_phase" title="3.5.2. Metadata
Query Phase">Metadata Query Phase</a>.
</p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="system_search_discovery_phase"></a>3.5.1. Discovery
Phase</h4></div></div></div><p>
The discovery phase is used to locate the set of Authoritative
<span><strong class="command">LS</strong></span> (or
<span><strong class="command">LS</strong></span>s) for a given
@@ -995,87 +996,117 @@
of subject, eventType and Authoritative <span><strong
class="command">LS</strong></span>).
Either a specific API call and a pre-prepared query, or some
automatic
mechanism, must map the desired query into a query of the
Discovery
- info-set (see <a href="#ls_discovery_message">LS Discovery
Message</a>)
+ info-set (see <a href="#ls_discovery_message" title="4.8. LS
Discovery Message">LS Discovery Message</a>)
</p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h5 class="title"><a
id="system_search_discovery_algorithm"></a>3.5.1.1. Algorithm</h5></div></div></div><p>
The discovery algorithm is as follows.
</p><p>
</p><div class="orderedlist"><ol type="1"><li><p>
- A client locates an <span><strong
class="command">LS</strong></span> of some sort (this
- may be known beforehand via a configuration value, or from
- bootstrapping).
+ A client locates any <span><strong
class="command">LS</strong></span> instance. This
+ SHOULD be one close to the client as possible for
+ efficiency.
</p></li><li><p>
The client should start by making a discovery query (see
- <a href="#ls_discovery_message">LS Discovery Message</a>)
to locate an
+ <a href="#ls_discovery_message" title="4.8. LS Discovery
Message">LS Discovery Message</a>) to locate an
<span><strong class="command">LS</strong></span> that
contains the data it is interested
- in. The results of this query will be:
+ in. This query is used to find the authoritative
+ <span><strong class="command">LS</strong></span> instances
for a set of
+ data (eventType) about a part of the network (topology).
</p><p>
- </p><div class="orderedlist"><ol type="1"><li><p>
- <span><strong
class="command">Failure</strong></span>: Returned if there is no
- <span><strong class="command">LS</strong></span> at
a higher scope than the current
- one, and nothing was found in the summary info-set
that
- matches the query.
- </p></li><li><p>
- <span><strong
class="command">Referral</strong></span>: This is returned when there
- is no match other than a
- <span class="emphasis"><em>global
wildcard</em></span>.
- </p><p>
- </p><div class="orderedlist"><ol type="1"><li><p>
- If this <span><strong
class="command">LS</strong></span> is not participating
- in the highest (<span
class="emphasis"><em>upper</em></span>) scope,
- then it returns the leader of its current scope
- (or a direct referral to an instance of the
- next-higher scope.) This is effectively a
- wildcard match saying <span
class="emphasis"><em>I don't know the
- answer, but I know who might.</em></span> This
is
- how the Metadata registered to an
- <span><strong
class="command">LS</strong></span> in another scope (domain)
- is found.
- </p></li></ol></div><p>
- </p></li><li><p>
- <span><strong
class="command">Success</strong></span>: We define success to mean at
- least one matching <span><strong
class="command">LS</strong></span> has been
- returned. The <span><strong
class="command">LS</strong></span> must return the
- following:
- </p><p>
- </p><div class="orderedlist"><ol type="1"><li><p>
- If this <span><strong
class="command">LS</strong></span> is an
- <span><strong
class="command">HLS</strong></span> for the discovery query, it
- returns itself.
- </p></li><li><p>
- This <span><strong
class="command">LS</strong></span> also returns any other
- <span><strong
class="command">HLS</strong></span> instances it has found that
- match. An <span><strong
class="command">LS</strong></span> instance will have
- summary information from other domains when it
is
- participating in a higher-level scope
(such as
- upper).
- </p></li><li><p>
- Note: this is where recursive searches would be
- added into the discovery phase. The trail up
the
- scope hierarchy would be followed by the
- <span><strong
class="command">LS</strong></span> itself instead of returning
- the leader <span><strong
class="command">LS</strong></span>. Ideally, this
- list would be iterated on by the
- <span><strong
class="command">LS</strong></span> so that only leaf
- <span><strong
class="command">LS</strong></span> instances are returned.
- </p></li></ol></div><p>
- </p></li></ol></div><p>
+ A successful result of this query will contain two parts:
+ </p><p>
+ </p><div class="orderedlist"><ol type="1"><li><p>
+ <span><strong class="command">Referral:</strong></span>
+ </p><p>
+ This section
+ is used to return the list of all
+ <span><strong class="command">LS</strong></span>
instances
+ that MUST be consulted in order to find the
+ complete set of authoratitive
+ <span><strong class="command">LS</strong></span>
instances for the
+ given discovery request. This is not
+ necessarily the complete set since querying
+ these can lead to additional instances to check.
+ A client can
+ of course terminate this iteration earlier. For
+ instance, some clients could only want to find
+ a single source for a given set of data, and
+ may not care that another source exists.
+ </p><p>
+ If the <span><strong
class="command">LS</strong></span> is not at the
+ root scope, it MUST return the parent scope
+ in this list. (This is the only way to find
+ autoritative <span><strong
class="command">LS</strong></span> instances
+ in other scopes.)
+ </p><p>
+ The <span><strong class="command">LS</strong></span>
MUST return any
+ peer <span><strong class="command">LS</strong></span>
instances, and
+ any lower-scope <span><strong
class="command">LS</strong></span> instances
+ that match the summary-infoset query.
+ </p><p>
+ The Referral list can only be empty if this
+ <span><strong class="command">LS</strong></span> is in
the root scope
+ and there are no matching records in the
+ summary scope.
+ </p><p>
+ Note: It will be a future optimization to allow
+ recursive searches in the discovery phase.
+ Therefore, eventually, it
+ will not be required for the
+ <span><strong class="command">LS</strong></span> to
return the parent
+ scope if it is willing to make the query on
+ behalf of the client and return the results.
+ (Presumably caching them to optimize future
+ queries.)
+ </p></li><li><p>
+ <span><strong
class="command">Authoratative:</strong></span>
+ </p><p>
+ This section is used to return the list
+ of known authoratative <span><strong
class="command">LS</strong></span>
+ instances.
+ </p><p>
+ If the <span><strong
class="command">LS</strong></span> instance
+ is authoratative for the given query,
+ it will return itself.
+ </p><p>
+ Note: this is where recursive searches could
+ yeild additional authoritative <span><strong
class="command">LS</strong></span>
+ instances from queries it has made on behalf of
+ the client. If all participating
+ <span><strong class="command">LS</strong></span>
instances supported
+ recursive mode discovery, this would allow the
+ response to the client to have a completely
+ empty referral section, and a complete
+ list of <span><strong
class="command">Authoratative</strong></span>
+ instances in this section.
+ However, for complete discovery to work, all clients
+ MUST support iterative queries. Recursive
+ queries are mearly an optimization.
+ </p></li></ol></div><p>
+ </p><p>
+ If both of these sections have empty lists, that
+ indicates that there is no data in the global
+ <span><strong class="command">LS</strong></span> network
of services that matches the
+ given query.
</p></li><li><p>
- The client will need to iterate through the list of
returned
- <span><strong class="command">LS</strong></span>
instances. If the <span><strong class="command">LS</strong></span>
- returns itself, this <span><strong
class="command">LS</strong></span> can be used in the
- following Metadata query phase. If the returned
- <span><strong class="command">LS</strong></span> is
different, a discovery query should
- be made to it.
+ The client will need to iterate through the list of all
+ returned referral instances to find all
+ <span><strong
class="command">Authoratative</strong></span> instances. Then, the
+ client will need to make
+ <a href="#system_search_metadata_query_phase"
title="3.5.2. Metadata Query Phase">Metadata Query Phase</a>
+ queries to each and every instance found in the discovery
+ phase to find the complete set of data that can
+ potentially match the query.
</p></li></ol></div><p>
</p></div></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="system_search_metadata_query_phase"></a>3.5.2. Metadata Query
Phase</h4></div></div></div><p>
The Metadata Query Phase with an individual <span><strong
class="command">LS</strong></span> is
the same as the query mechanism that is in place with the current
<span><strong class="command">LS</strong></span> implementations.
</p><p>
- Once we have found the <span><strong
class="command">HLS</strong></span> (or
- <span><strong class="command">HLS</strong></span>s) that contain
data in the range of our
- discovery query, we can pose Metadata Queries to each of them. The
- results will be failure or success.
+ Once we have found the complete list of
+ <span><strong class="command">Authoritative</strong></span>
<span><strong class="command">LS</strong></span> instances
+ from the discovery phase, we can pose Metadata Queries to each of
+ them. The results will be failure or success.
+
</p></div></div></div><div class="section" lang="en"
xml:lang="en"><div class="titlepage"><div><div><h2 class="title"
style="clear: both"><a id="structures_and_messages"></a>4. Structures and
Messages</h2></div></div></div><p>
The following messages will be used as examples throughout this
document.
Descriptions are provided where applicable.
@@ -1087,32 +1118,32 @@
<span class="emphasis"><em>Layer 3</em></span>.
</p><pre class="programlisting">
- <nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
id="m_ale-netutil-1">
- <netutil:subject
xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/"
id="s_ale-netutil-1">
- <nmwgt:interface
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/">
- <nmwgt:ifAddress
type="ipv4">128.4.133.165</nmwgt:ifAddress>
-
<nmwgt:hostName>ale.pc.cis.udel.edu</nmwgt:hostName>
- <nmwgt:ifName>eth0</nmwgt:ifName>
- <nmwgt:ifIndex>2</nmwgt:ifIndex>
- <nmwgt:direction>in</nmwgt:direction>
- <nmwgt:capacity>1000000000</nmwgt:capacity>
- </nmwgt:interface>
- </netutil:subject>
- <nmwg:eventType>
+ <b style="color:blue"><nmwg:metadata</b><b style="color:green">
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="m_ale-netutil-1"</b><b
style="color:blue">></b>
+ <b style="color:blue"><netutil:subject</b><b
style="color:green">
xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/"
id="s_ale-netutil-1"</b><b style="color:blue">></b>
+ <b style="color:blue"><nmwgt:interface</b><b
style="color:green"> xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/"</b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgt:ifAddress</b><b
style="color:green"> type="ipv4"</b><b
style="color:blue">></b>128.4.133.165<b
style="color:blue"></nmwgt:ifAddress</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgt:hostName</b><b
style="color:green"></b><b style="color:blue">></b>ale.pc.cis.udel.edu<b
style="color:blue"></nmwgt:hostName</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgt:ifName</b><b
style="color:green"></b><b style="color:blue">></b>eth0<b
style="color:blue"></nmwgt:ifName</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgt:ifIndex</b><b
style="color:green"></b><b style="color:blue">></b>2<b
style="color:blue"></nmwgt:ifIndex</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgt:direction</b><b
style="color:green"></b><b style="color:blue">></b>in<b
style="color:blue"></nmwgt:direction</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgt:capacity</b><b
style="color:green"></b><b style="color:blue">></b>1000000000<b
style="color:blue"></nmwgt:capacity</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwgt:interface</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></netutil:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b style="color:blue">></b>
http://ggf.org/ns/nmwg/tools/snmp/2.0
- </nmwg:eventType>
- <nmwg:eventType>
+ <b style="color:blue"></nmwg:eventType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b style="color:blue">></b>
http://ggf.org/ns/nmwg/characteristic/utilization/2.0
- </nmwg:eventType>
- <nmwg:parameters id="p_ale-netutil-1">
- <nmwg:parameter name="supportedEventType">
+ <b style="color:blue"></nmwg:eventType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameters</b><b
style="color:green"> id="p_ale-netutil-1"</b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="supportedEventType"</b><b
style="color:blue">></b>
http://ggf.org/ns/nmwg/tools/snmp/2.0
- </nmwg:parameter>
- <nmwg:parameter name="supportedEventType">
+ <b style="color:blue"></nmwg:parameter</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="supportedEventType"</b><b
style="color:blue">></b>
http://ggf.org/ns/nmwg/characteristic/utilization/2.0
- </nmwg:parameter>
- </nmwg:parameters>
- </nmwg:metadata>
+ <b style="color:blue"></nmwg:parameter</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h3 class="title"><a
id="lookup_info"></a>4.2. Lookup Information</h3></div></div></div><p>
Example Lookup Information from a Measurement Archive
@@ -1121,51 +1152,51 @@
metadata from the <span><strong class="command">MA</strong></span>.
</p><pre class="programlisting">
- <nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
id="http://newcastle.pc.cis.udel.edu:6767/perfSONAR_PS/services/snmpMA">
- <perfsonar:subject id="subject.15977808">
- <psservice:service id="service.16283379">
- <psservice:serviceName>UDel perfSONAR-PS SNMP
MA</psservice:serviceName>
- <psservice:accessPoint>
+ <b style="color:blue"><nmwg:metadata</b><b style="color:green">
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
id="http://newcastle.pc.cis.udel.edu:6767/perfSONAR_PS/services/snmpMA"</b><b
style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.15977808"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.16283379"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>UDel perfSONAR-PS SNMP
MA<b style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
http://newcastle.pc.cis.udel.edu:6767/perfSONAR_PS/services/snmpMA
- </psservice:accessPoint>
- <psservice:serviceType>MA</psservice:serviceType>
- <psservice:serviceDescription>
+ <b style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>MA<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
perfSPNAR-PS SNMP MA deployed at UDel, Newark DE, USA
- </psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
- </nmwg:metadata>
+ <b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
<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">
- <nmwg:metadata id="m_ale-netutil-1">
- <netutil:subject
xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/"
id="s_ale-netutil-1">
- <nmwgt:interface
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/">
- <nmwgt:ifAddress
type="ipv4">128.4.133.165</nmwgt:ifAddress>
-
<nmwgt:hostName>ale.pc.cis.udel.edu</nmwgt:hostName>
- <nmwgt:ifName>eth0</nmwgt:ifName>
- <nmwgt:ifIndex>2</nmwgt:ifIndex>
- <nmwgt:direction>in</nmwgt:direction>
- <nmwgt:capacity>1000000000</nmwgt:capacity>
- </nmwgt:interface>
- </netutil:subject>
- <nmwg:eventType>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="m_ale-netutil-1"</b><b style="color:blue">></b>
+ <b style="color:blue"><netutil:subject</b><b
style="color:green">
xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/"
id="s_ale-netutil-1"</b><b style="color:blue">></b>
+ <b style="color:blue"><nmwgt:interface</b><b
style="color:green"> xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/"</b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgt:ifAddress</b><b
style="color:green"> type="ipv4"</b><b
style="color:blue">></b>128.4.133.165<b
style="color:blue"></nmwgt:ifAddress</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgt:hostName</b><b
style="color:green"></b><b style="color:blue">></b>ale.pc.cis.udel.edu<b
style="color:blue"></nmwgt:hostName</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgt:ifName</b><b
style="color:green"></b><b style="color:blue">></b>eth0<b
style="color:blue"></nmwgt:ifName</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgt:ifIndex</b><b
style="color:green"></b><b style="color:blue">></b>2<b
style="color:blue"></nmwgt:ifIndex</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgt:direction</b><b
style="color:green"></b><b style="color:blue">></b>in<b
style="color:blue"></nmwgt:direction</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgt:capacity</b><b
style="color:green"></b><b style="color:blue">></b>1000000000<b
style="color:blue"></nmwgt:capacity</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwgt:interface</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></netutil:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b style="color:blue">></b>
http://ggf.org/ns/nmwg/tools/snmp/2.0
- </nmwg:eventType>
- <nmwg:eventType>
+ <b style="color:blue"></nmwg:eventType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b style="color:blue">></b>
http://ggf.org/ns/nmwg/characteristic/utilization/2.0
- </nmwg:eventType>
- <nmwg:parameters id="p_ale-netutil-1">
- <nmwg:parameter name="supportedEventType">
+ <b style="color:blue"></nmwg:eventType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameters</b><b
style="color:green"> id="p_ale-netutil-1"</b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="supportedEventType"</b><b
style="color:blue">></b>
http://ggf.org/ns/nmwg/tools/snmp/2.0
- </nmwg:parameter>
- <nmwg:parameter name="supportedEventType">
+ <b style="color:blue"></nmwg:parameter</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="supportedEventType"</b><b
style="color:blue">></b>
http://ggf.org/ns/nmwg/characteristic/utilization/2.0
- </nmwg:parameter>
- </nmwg:parameters>
- </nmwg:metadata>
- </nmwg:data>
+ <b style="color:blue"></nmwg:parameter</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:data</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h3 class="title"><a id="ls_ring"></a>4.3. LS
Ring File Structure</h3></div></div></div><p>
The <span><strong class="command">LSRing</strong></span> file
represents the
@@ -1180,71 +1211,71 @@
our scope (for example, a domain).
</p><pre class="programlisting">
- <nmwg:store type="LSRing-lower">
+ <b style="color:blue"><nmwg:store</b><b style="color:green">
type="LSRing-lower"</b><b style="color:blue">></b>
- <!-- dont store yourself... -->
+ <b style="color:blue"><!--</b><b style="color:green"> dont
store yourself... --</b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.2">
- <perfsonar:subject id="subject.2">
- <psservice:service id="service.2">
- <psservice:serviceName>Internet2 LS
#2</psservice:serviceName>
-
<psservice:accessPoint>http://packrat.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
- <nmwg:parameters>
- <nmwg:parameter
name="active">0</nmwg:parameter>
- <nmwg:parameter
name="leader">0</nmwg:parameter>
- </nmwg:parameters>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #2<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://packrat.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="active"</b><b style="color:blue">></b>0<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="leader"</b><b style="color:blue">></b>0<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.6">
- <perfsonar:subject id="subject.6">
- <psservice:service id="service.6">
- <psservice:serviceName>Internet2 LS
#6</psservice:serviceName>
-
<psservice:accessPoint>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
- <nmwg:parameters>
- <nmwg:parameter
name="active">1</nmwg:parameter>
- <nmwg:parameter
name="leader">0</nmwg:parameter>
- </nmwg:parameters>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #6<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="active"</b><b style="color:blue">></b>1<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="leader"</b><b style="color:blue">></b>0<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.1">
- <perfsonar:subject id="subject.1">
- <psservice:service id="service.1">
- <psservice:serviceName>Internet2 LS
#1</psservice:serviceName>
-
<psservice:accessPoint>http://patdev0.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
- <nmwg:parameters>
- <nmwg:parameter
name="active">1</nmwg:parameter>
- <nmwg:parameter
name="leader">1</nmwg:parameter>
- </nmwg:parameters>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.1"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.1"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.1"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #1<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://patdev0.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="active"</b><b style="color:blue">></b>1<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="leader"</b><b style="color:blue">></b>1<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.9">
- <perfsonar:subject id="subject.9">
- <psservice:service id="service.9">
- <psservice:serviceName>Internet2 LS
#9</psservice:serviceName>
-
<psservice:accessPoint>http://thunderbird.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
- <nmwg:parameters>
- <nmwg:parameter
name="active">1</nmwg:parameter>
- <nmwg:parameter
name="leader">0</nmwg:parameter>
- </nmwg:parameters>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.9"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.9"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.9"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #9<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://thunderbird.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="active"</b><b style="color:blue">></b>1<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="leader"</b><b style="color:blue">></b>0<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:store>
+ <b style="color:blue"></nmwg:store</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_ring_upper"></a>4.3.2. Upper Level</h4></div></div></div><p>
The <span class="emphasis"><em>upper</em></span> level represents
the interaction
@@ -1252,41 +1283,41 @@
split).
</p><pre class="programlisting">
- <nmwg:store type="LSRing-upper">
+ <b style="color:blue"><nmwg:store</b><b style="color:green">
type="LSRing-upper"</b><b style="color:blue">></b>
- <!-- dont store yourself... -->
+ <b style="color:blue"><!--</b><b style="color:green"> dont
store yourself... --</b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.2">
- <perfsonar:subject id="subject.2">
- <psservice:service id="service.2">
- <psservice:serviceName>ESnet LS
#2</psservice:serviceName>
-
<psservice:accessPoint>http://mea1.es.net:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
- <nmwg:parameters>
- <nmwg:parameter
name="active">1</nmwg:parameter>
- <nmwg:parameter
name="leader">0</nmwg:parameter>
- </nmwg:parameters>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>ESnet LS #2<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://mea1.es.net:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="active"</b><b style="color:blue">></b>1<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="leader"</b><b style="color:blue">></b>0<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.1">
- <perfsonar:subject id="subject.1">
- <psservice:service id="service.1">
- <psservice:serviceName>Geant LS
#1</psservice:serviceName>
-
<psservice:accessPoint>http://ls.perfsonar.pionier.net.pl:8080/XML-LS-1.1.1/services/LookupService</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
- <nmwg:parameters>
- <nmwg:parameter
name="active">1</nmwg:parameter>
- <nmwg:parameter
name="leader">1</nmwg:parameter>
- </nmwg:parameters>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.1"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.1"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.1"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Geant LS #1<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://ls.perfsonar.pionier.net.pl:8080/XML-LS-1.1.1/services/LookupService<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="active"</b><b style="color:blue">></b>1<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="leader"</b><b style="color:blue">></b>1<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:store>
+ <b style="color:blue"></nmwg:store</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h3 class="title"><a id="ls_join"></a>4.4. LS
Join</h3></div></div></div><p>
The <span><strong class="command">LSJoin</strong></span> messages
are used by a service to
@@ -1300,23 +1331,23 @@
contain service information.
</p><pre class="programlisting">
- <nmwg:message type="LSControlRequest">
+ <b style="color:blue"><nmwg:message</b><b
style="color:green"> type="LSControlRequest"</b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.2">
- <perfsonar:subject id="subject.2">
- <psservice:service id="service.2">
- <psservice:serviceName>Internet2 LS
#2</psservice:serviceName>
-
<psservice:accessPoint>http://packrat.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
-
<nmwg:eventType>http://perfsonar.net/services/LS/join</nmwg:eventType>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #2<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://packrat.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://perfsonar.net/services/LS/join<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:data id="data.2" metadataIdRef="metadata.2" />
+ <b style="color:blue"><nmwg:data</b><b style="color:green">
id="data.2" metadataIdRef="metadata.2" /</b><b style="color:blue">></b>
- </nmwg:message>
+ <b style="color:blue"></nmwg:message</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_join_response"></a>4.4.2. Response</h4></div></div></div><p>
The response message should indicate success or failure via the
@@ -1328,45 +1359,45 @@
snapshot of the group.
</p><pre class="programlisting">
- <nmwg:message type="LSControlResponse">
+ <b style="color:blue"><nmwg:message</b><b
style="color:green"> type="LSControlResponse"</b><b
style="color:blue">></b>
- <nmwg:metadata id="metadata.6">
- <perfsonar:subject id="subject.6">
- <psservice:service id="service.6">
- <psservice:serviceName>Internet2 LS
#6</psservice:serviceName>
-
<psservice:accessPoint>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
-
<nmwg:eventType>http://perfsonar.net/services/LS/join/success</nmwg:eventType>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #6<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://perfsonar.net/services/LS/join/success<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:data id="data.6" metadataIdRef="metadata.6">
- <nmwg:metadata id="metadata.1">
- <perfsonar:subject id="subject.1">
- <psservice:service id="service.1">
- <psservice:serviceName>Internet2 LS
#1</psservice:serviceName>
-
<psservice:accessPoint>http://patdev0.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:data</b><b style="color:green">
id="data.6" metadataIdRef="metadata.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.1"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.1"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.1"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #1<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://patdev0.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.9">
- <perfsonar:subject id="subject.9">
- <psservice:service id="service.9">
- <psservice:serviceName>Internet2 LS
#9</psservice:serviceName>
-
<psservice:accessPoint>http://thunderbird.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
- </nmwg:metadata>
- </nmwg:data>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.9"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.9"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.9"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #9<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://thunderbird.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:data</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:message>
+ <b style="color:blue"></nmwg:message</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h3 class="title"><a
id="ls_token_message"></a>4.5. LS Token Message</h3></div></div></div><p>
This message exchange represents the token that is passed between
@@ -1379,77 +1410,77 @@
<span class="emphasis"><em>upper</em></span> depending on the
token we are exchanging).
</p><pre class="programlisting">
- <nmwg:message type="LSControlRequest">
+ <b style="color:blue"><nmwg:message</b><b style="color:green">
type="LSControlRequest"</b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.6">
- <perfsonar:subject id="subject.6">
- <psservice:service id="service.6">
- <psservice:serviceName>Internet2 LS
#6</psservice:serviceName>
-
<psservice:accessPoint>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
-
<nmwg:eventType>http://perfsonar.net/services/LS/token/lower</nmwg:eventType>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #6<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://perfsonar.net/services/LS/token/lower<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:data id="data.6" metadataIdRef="metadata.6">
+ <b style="color:blue"><nmwg:data</b><b style="color:green">
id="data.6" metadataIdRef="metadata.6"</b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.2">
- <perfsonar:subject id="subject.2">
- <psservice:service id="service.2">
- <psservice:serviceName>Internet2 LS
#2</psservice:serviceName>
-
<psservice:accessPoint>http://packrat.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
- <nmwg:parameters>
- <nmwg:parameter
name="active">1</nmwg:parameter>
- <nmwg:parameter
name="leader">0</nmwg:parameter>
- </nmwg:parameters>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #2<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://packrat.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="active"</b><b style="color:blue">></b>1<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="leader"</b><b style="color:blue">></b>0<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.1">
- <!-- blah blah -->
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.1"</b><b style="color:blue">></b>
+ <b style="color:blue"><!--</b><b style="color:green">
blah blah --</b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.9">
- <!-- blah blah -->
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.9"</b><b style="color:blue">></b>
+ <b style="color:blue"><!--</b><b style="color:green">
blah blah --</b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:data>
+ <b style="color:blue"></nmwg:data</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:message>
+ <b style="color:blue"></nmwg:message</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_token_message_response"></a>4.5.2. Response</h4></div></div></div><p>
The response to this message should indicate success or failure.
Failure and timeouts should trigger a resend.
</p><pre class="programlisting">
- <nmwg:message type="LSControlResponse">
+ <b style="color:blue"><nmwg:message</b><b
style="color:green"> type="LSControlResponse"</b><b
style="color:blue">></b>
- <nmwg:metadata id="metadata.2">
- <perfsonar:subject id="subject.2">
- <psservice:service id="service.2">
- <psservice:serviceName>Internet2 LS
#2</psservice:serviceName>
-
<psservice:accessPoint>http://packrat.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
-
<nmwg:eventType>http://perfsonar.net/services/LS/token/lower/success</nmwg:eventType>
- <nmwg:parameters>
- <nmwg:parameter
name="active">1</nmwg:parameter>
- <nmwg:parameter
name="leader">0</nmwg:parameter>
- </nmwg:parameters>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #2<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://packrat.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://perfsonar.net/services/LS/token/lower/success<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="active"</b><b style="color:blue">></b>1<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="leader"</b><b style="color:blue">></b>0<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:parameters</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:data id="data.2" metadataIdRef="metadata.2">
- <nmwgr:datum value="some sort of message?">
- </nmwg:data>
+ <b style="color:blue"><nmwg:data</b><b style="color:green">
id="data.2" metadataIdRef="metadata.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><nmwgr:datum</b><b
style="color:green"> value="some sort of message?"</b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:data</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:message>
+ <b style="color:blue"></nmwg:message</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h3 class="title"><a
id="ls_summary_message"></a>4.6. LS Summary Message</h3></div></div></div><p>
The <span class="emphasis"><em>summary</em></span> message
represents one
@@ -1467,35 +1498,35 @@
is the summary info.
</p><pre class="programlisting">
- <nmwg:message type="LSControlRequest">
+ <b style="color:blue"><nmwg:message</b><b
style="color:green"> type="LSControlRequest"</b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.2">
- <perfsonar:subject id="subject.2">
- <psservice:service id="service.2">
- <psservice:serviceName>Internet2 LS
#2</psservice:serviceName>
-
<psservice:accessPoint>http://packrat.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
-
<nmwg:eventType>http://perfsonar.net/services/LS/summary/upper</nmwg:eventType>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #2<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://packrat.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://perfsonar.net/services/LS/summary/upper<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:data id="data.2" metadataIdRef="metadata.2">
- <nmwg:metadata>
- <summary:subject
xmlns:summary="http://ggf.org/ns/nmwg/summary/2.0/">
- <nmtl3:network>
-
<nmtl3:ipAddress>128.4.10.0/16</nmtl3:ipAddress>
- </nmtl3:network>
- </summary:subject>
-
<nmwg:eventType>http://ggf.org/ns/nmwg/tools/snmp/2.0</nmwg:eventType>
-
<nmwg:eventType>http://ggf.org/ns/nmwg/characteristic/utilization/2.0</nmwg:eventType>
-
<nmwg:eventType>http://ggf.org/ns/nmwg/characteristic/errors/2.0</nmwg:eventType>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:data</b><b
style="color:green"> id="data.2" metadataIdRef="metadata.2"</b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><summary:subject</b><b
style="color:green">
xmlns:summary="http://ggf.org/ns/nmwg/summary/2.0/"</b><b
style="color:blue">></b>
+ <b style="color:blue"><nmtl3:network</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmtl3:ipAddress</b><b
style="color:green"></b><b style="color:blue">></b>128.4.10.0/16<b
style="color:blue"></nmtl3:ipAddress</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmtl3:network</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></summary:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://ggf.org/ns/nmwg/tools/snmp/2.0<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://ggf.org/ns/nmwg/characteristic/utilization/2.0<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://ggf.org/ns/nmwg/characteristic/errors/2.0<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:data>
+ <b style="color:blue"></nmwg:data</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:message>
+ <b style="color:blue"></nmwg:message</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h5 class="title"><a
id="ls_summary_message_upper_response"></a>4.6.1.2. Response</h5></div></div></div><p>
The response message should indicate success or failure via
@@ -1517,26 +1548,26 @@
</p></li></ul></div><p>
</p><pre class="programlisting">
- <nmwg:message type="LSControlResponse">
+ <b style="color:blue"><nmwg:message</b><b
style="color:green"> type="LSControlResponse"</b><b
style="color:blue">></b>
- <!-- whomever answers ... -->
- <nmwg:metadata id="metadata.6">
- <perfsonar:subject id="subject.6">
- <psservice:service id="service.6">
- <psservice:serviceName>Internet2 LS
#6</psservice:serviceName>
-
<psservice:accessPoint>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
-
<nmwg:eventType>http://perfsonar.net/services/LS/summary/upper/success</nmwg:eventType>
- </nmwg:metadata>
+ <b style="color:blue"><!--</b><b style="color:green">
whomever answers ... --</b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #6<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://perfsonar.net/services/LS/summary/upper/success<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:data id="data.6" metadataIdRef="metadata.6">
- <nmwgr:datum value="some sort of message?">
- </nmwg:data>
+ <b style="color:blue"><nmwg:data</b><b
style="color:green"> id="data.6" metadataIdRef="metadata.6"</b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgr:datum</b><b
style="color:green"> value="some sort of message?"</b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:data</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:message>
+ <b style="color:blue"></nmwg:message</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div></div><div class="section" lang="en"
xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a
id="ls_summary_message_lower"></a>4.6.2. Lower</h4></div></div></div><p>
This message exchange represents when an LS instance is holding
@@ -1549,33 +1580,33 @@
<span class="emphasis"><em>parameters</em></span>) summary.
</p><pre class="programlisting">
- <nmwg:message type="LSControlRequest">
+ <b style="color:blue"><nmwg:message</b><b
style="color:green"> type="LSControlRequest"</b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.2">
- <perfsonar:subject id="subject.2">
- <psservice:service id="service.2">
- <psservice:serviceName>Internet2 LS
#2</psservice:serviceName>
-
<psservice:accessPoint>http://packrat.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
-
<nmwg:eventType>http://perfsonar.net/services/LS/summary/lower</nmwg:eventType>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #2<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://packrat.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://perfsonar.net/services/LS/summary/lower<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:data id="data.2" metadataIdRef="metadata.2">
+ <b style="color:blue"><nmwg:data</b><b
style="color:green"> id="data.2" metadataIdRef="metadata.2"</b><b
style="color:blue">></b>
- <nmwg:metadata>
- <!-- Metadata info, sans parameters of course -->
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><!--</b><b style="color:green">
Metadata info, sans parameters of course --</b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:metadata>
- <!-- Metadata info, sans parameters of course -->
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><!--</b><b style="color:green">
Metadata info, sans parameters of course --</b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:data>
+ <b style="color:blue"></nmwg:data</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:message>
+ <b style="color:blue"></nmwg:message</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h5 class="title"><a
id="ls_summary_message_lower_response"></a>4.6.2.2. Response</h5></div></div></div><p>
The response message should indicate success or failure via
@@ -1597,26 +1628,26 @@
</p></li></ul></div><p>
</p><pre class="programlisting">
- <nmwg:message type="LSControlResponse">
+ <b style="color:blue"><nmwg:message</b><b
style="color:green"> type="LSControlResponse"</b><b
style="color:blue">></b>
- <!-- whomever answers ... -->
- <nmwg:metadata id="metadata.6">
- <perfsonar:subject id="subject.6">
- <psservice:service id="service.6">
- <psservice:serviceName>Internet2 LS
#6</psservice:serviceName>
-
<psservice:accessPoint>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
-
<nmwg:eventType>http://perfsonar.net/services/LS/summary/lower/success</nmwg:eventType>
- </nmwg:metadata>
+ <b style="color:blue"><!--</b><b style="color:green">
whomever answers ... --</b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #6<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://perfsonar.net/services/LS/summary/lower/success<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:data id="data.6" metadataIdRef="metadata.6">
- <nmwgr:datum value="some sort of message?">
- </nmwg:data>
+ <b style="color:blue"><nmwg:data</b><b
style="color:green"> id="data.6" metadataIdRef="metadata.6"</b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwgr:datum</b><b
style="color:green"> value="some sort of message?"</b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:data</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:message>
+ <b style="color:blue"></nmwg:message</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div></div></div><div class="section" lang="en"
xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a
id="ls_leader_message"></a>4.7. LS Leader Message</h3></div></div></div><p>
This message exchange will be conducted between the Leader and
@@ -1635,67 +1666,67 @@
well as the summary data.
</p><pre class="programlisting">
- <nmwg:message type="LSControlRequest">
+ <b style="color:blue"><nmwg:message</b><b
style="color:green"> type="LSControlRequest"</b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.6">
- <perfsonar:subject id="subject.6">
- <psservice:service id="service.6">
- <psservice:serviceName>Internet2 LS
#6</psservice:serviceName>
-
<psservice:accessPoint>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
-
<nmwg:eventType>http://perfsonar.net/services/LS/leader</nmwg:eventType>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #6<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://perfsonar.net/services/LS/leader<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:data id="data.6" metadataIdRef="metadata.6">
+ <b style="color:blue"><nmwg:data</b><b style="color:green">
id="data.6" metadataIdRef="metadata.6"</b><b style="color:blue">></b>
- <!-- first name the upper level leader -->
+ <b style="color:blue"><!--</b><b style="color:green">
first name the upper level leader --</b><b style="color:blue">></b>
- <nmwg:metadata id="metadata.2">
- <perfsonar:subject id="subject.2">
- <psservice:service id="service.2">
- <psservice:serviceName>ESnet LS
#2</psservice:serviceName>
-
<psservice:accessPoint>http://mea1.es.net:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
-
<nmwg:eventType>http://perfsonar.net/services/LS/summary</nmwg:eventType>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.2"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>ESnet LS #2<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://mea1.es.net:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://perfsonar.net/services/LS/summary<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <!-- then its summary -->
+ <b style="color:blue"><!--</b><b style="color:green">
then its summary --</b><b style="color:blue">></b>
- <nmwg:data id="data.2" metadataIdRef="metadata.2">
- <nmwg:metadata>
- <summary:subject
xmlns:summary="http://ggf.org/ns/nmwg/summary/2.0/">
- <nmtl3:network>
-
<nmtl3:ipAddress>128.4.10.0/16</nmtl3:ipAddress>
- </nmtl3:network>
- </summary:subject>
-
<nmwg:eventType>http://ggf.org/ns/nmwg/tools/snmp/2.0</nmwg:eventType>
-
<nmwg:eventType>http://ggf.org/ns/nmwg/characteristic/utilization/2.0</nmwg:eventType>
-
<nmwg:eventType>http://ggf.org/ns/nmwg/characteristic/errors/2.0</nmwg:eventType>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:data</b><b
style="color:green"> id="data.2" metadataIdRef="metadata.2"</b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><summary:subject</b><b
style="color:green">
xmlns:summary="http://ggf.org/ns/nmwg/summary/2.0/"</b><b
style="color:blue">></b>
+ <b style="color:blue"><nmtl3:network</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmtl3:ipAddress</b><b
style="color:green"></b><b style="color:blue">></b>128.4.10.0/16<b
style="color:blue"></nmtl3:ipAddress</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmtl3:network</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></summary:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://ggf.org/ns/nmwg/tools/snmp/2.0<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://ggf.org/ns/nmwg/characteristic/utilization/2.0<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b
style="color:blue">></b>http://ggf.org/ns/nmwg/characteristic/errors/2.0<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:data>
+ <b style="color:blue"></nmwg:data</b><b
style="color:green"></b><b style="color:blue">></b>
- <!-- we could go on and on like that... -->
+ <b style="color:blue"><!--</b><b style="color:green"> we
could go on and on like that... --</b><b style="color:blue">></b>
- </nmwg:data>
+ <b style="color:blue"></nmwg:data</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:message>
+ <b style="color:blue"></nmwg:message</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_leader_message_response"></a>4.7.2. Response</h4></div></div></div><p>
The response message will contain the results (success or
failure).
</p><pre class="programlisting">
- <nmwg:message type="LSControlRequest">
+ <b style="color:blue"><nmwg:message</b><b
style="color:green"> type="LSControlRequest"</b><b style="color:blue">></b>
- <!-- tbd -->
+ <b style="color:blue"><!--</b><b style="color:green"> tbd
--</b><b style="color:blue">></b>
- </nmwg:message>
+ <b style="color:blue"></nmwg:message</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h3 class="title"><a
id="ls_discovery_message"></a>4.8. LS Discovery
Message</h3></div></div></div><p>
The discovery message represents the step used to find the
@@ -1706,54 +1737,71 @@
section with some identifying features.
</p><pre class="programlisting">
- <nmwg:message type="LSDiscoveryRequest">
+ <b style="color:blue"><nmwg:message</b><b
style="color:green"> type="LSDiscoveryRequest"</b><b
style="color:blue">></b>
- <nmwg:metadata id="metadata.1">
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.1"</b><b style="color:blue">></b>
- <!-- WHAT DO I LOOK LIKE?!? -->
+ <b style="color:blue"><!--</b><b style="color:green">
WHAT DO I LOOK LIKE?!? --</b><b style="color:blue">></b>
+ <!-- I should have syntax to query for the combination
+ of eventType and topology. Some amount of wild-carding
+ should be available as well. (i.e. I'm interested in
+ all authoritative LS servers that have information about
+ a given router.) So - I (jwb) think a complete wildcard
+ of the eventType space should be allowed. As to the
+ topology part - there is already aggregation features
+ available. So, I think we should specify that valid
+ topology elements should be used.
+ i.e. the 'network' element can be used
+ to find specific data about a given network.
+ -->
- </nmwg:metadata>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:data id="data.1" metadataIdRef="metadata.1" />
+ <b style="color:blue"><nmwg:data</b><b style="color:green">
id="data.1" metadataIdRef="metadata.1" /</b><b style="color:blue">></b>
- </nmwg:message>
+ <b style="color:blue"></nmwg:message</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_discovery_message_response"></a>4.8.2. Response</h4></div></div></div><p>
The response message will feature a status message, as described
- in <a href="#system_search_discovery_algorithm">Algorithm</a>.
+ in <a href="#system_search_discovery_algorithm"
title="3.5.1.1. Algorithm">Algorithm</a>.
</p><pre class="programlisting">
- <nmwg:message type="LSDiscoveryResponse">
+ <b style="color:blue"><nmwg:message</b><b
style="color:green"> type="LSDiscoveryResponse"</b><b
style="color:blue">></b>
- <nmwg:metadata id="metadata.1.r">
- <!-- may be any of these: -->
- <nmwg:eventType>success</nmwg:eventType>
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.1.r"</b><b style="color:blue">></b>
- <nmwg:eventType>failure</nmwg:eventType>
+ <!-- possible event types (make uri's) for metadata
here are:
- <nmwg:eventType>referral</nmwg:eventType>
- </nmwg:metadata>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b style="color:blue">></b>referral<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b style="color:blue">></b>authoratative<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+
+ <b style="color:blue"><nmwg:eventType</b><b
style="color:green"></b><b style="color:blue">></b>error-codes...<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- <nmwg:data id="data.1.r" metadataIdRef="metadata.1.r">
+ <b style="color:blue"><nmwg:data</b><b style="color:green">
id="data.1.r" metadataIdRef="metadata.1.r"</b><b style="color:blue">></b>
- <!-- for failure: -->
- <nmwgr:datum value="some message" />
+ <b style="color:blue"><!--</b><b style="color:green"> for
failure: --</b><b style="color:blue">></b>
+ <b style="color:blue"><nmwgr:datum</b><b
style="color:green"> value="some message" /</b><b style="color:blue">></b>
- <!-- for success/referral -->
- <nmwg:metadata id="metadata.6">
- <perfsonar:subject id="subject.6">
- <psservice:service id="service.6">
- <psservice:serviceName>Internet2 LS
#6</psservice:serviceName>
-
<psservice:accessPoint>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS</psservice:accessPoint>
-
<psservice:serviceType>LS</psservice:serviceType>
-
<psservice:serviceDescription>...</psservice:serviceDescription>
- </psservice:service>
- </perfsonar:subject>
- </nmwg:metadata>
+
+ <!-- for authoratative and/or referral
+ list out the psservice info for each LS -->
+
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="metadata.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="subject.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="service.6"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>Internet2 LS #6<b
style="color:blue"></psservice:serviceName</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:accessPoint</b><b
style="color:green"></b><b
style="color:blue">></b>http://mead.internet2.edu:8080/perfSONAR_PS/services/LS<b
style="color:blue"></psservice:accessPoint</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>LS<b
style="color:blue"></psservice:serviceType</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b
style="color:blue"><psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>...<b
style="color:blue"></psservice:serviceDescription</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></psservice:service</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></perfsonar:subject</b><b
style="color:green"></b><b style="color:blue">></b>
+ <b style="color:blue"></nmwg:metadata</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:data>
+ <b style="color:blue"></nmwg:data</b><b
style="color:green"></b><b style="color:blue">></b>
- </nmwg:message>
+ <b style="color:blue"></nmwg:message</b><b
style="color:green"></b><b style="color:blue">></b>
</pre></div></div></div><div class="glossary"><div
class="titlepage"><div><div><h2 class="title"><a
id="glossary"></a>Terms</h2></div></div></div><div class="glossdiv"><h3
class="title">A</h3><dl><dt><a id=""></a></dt><dd><p>
</p></dd></dl></div><div class="glossdiv"><h3
class="title">B</h3><dl><dt><a id="Berkeley DB XML"></a>Berkeley DB
XML</dt><dd><p>
@@ -1786,8 +1834,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="id905683"></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="id2540754"></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="id905701"></a><p>[<abbr class="abbrev">XML</abbr>] <span class="title"><i>
+ </i>. </span></p></div><div class="biblioentry"><a
id="id2540773"></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>
- nmwg: r336 - trunk/nmwg/doc/dLS, svnlog, 04/04/2008
Archive powered by MHonArc 2.6.16.