perfsonar-dev - nmwg: r337 - trunk/nmwg/doc/dLS
Subject: perfsonar development work
List archive
- From:
- To: ,
- Subject: nmwg: r337 - trunk/nmwg/doc/dLS
- Date: Fri, 4 Apr 2008 08:51:00 -0400
Author: mac
Date: 2008-04-04 08:51:00 -0400 (Fri, 04 Apr 2008)
New Revision: 337
Modified:
trunk/nmwg/doc/dLS/dLS_spec.html
trunk/nmwg/doc/dLS/dLS_spec.xml
trunk/nmwg/doc/dLS/dLS_spec_1.html
Log:
updateToken example
Modified: trunk/nmwg/doc/dLS/dLS_spec.html
===================================================================
--- trunk/nmwg/doc/dLS/dLS_spec.html 2008-04-04 10:25:26 UTC (rev 336)
+++ trunk/nmwg/doc/dLS/dLS_spec.html 2008-04-04 12:51:00 UTC (rev 337)
@@ -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.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>
+<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_updatetoken">4.5. LS
UpdateToken</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_updatetoken_request">4.5.1. Request</a></span></dt><dt><span
class="section"><a href="#ls_updatetoken_response">4.5.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_token_message">4.6. LS Token Message</a></span></dt>
<dd><dl><dt><span class="section"><a href="#ls_token_message_request">4.6.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_token_message_response">4.6.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_summary_message">4.7. LS Summary
Message</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_summary_message_upper">4.7.1.
Upper</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_summary_message_upper_request">4.7.1.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_summary_message_upper_response">4.7.1.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_summary_message_lower">4.7.2.
Lower</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_summary_message_lower_request">4.7.2.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_summary_message_lower_response">4.7.2.2.
Response</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#ls_leade
r_message">4.8. LS Leader Message</a></span></dt><dd><dl><dt!
><span c
lass="section"><a href="#ls_leader_message_request">4.8.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_leader_message_response">4.8.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_discovery_message">4.9. LS Discovery
Message</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_discovery_message_request">4.9.1. Request</a></span></dt><dt><span
class="section"><a href="#ls_discovery_message_response">4.9.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>
This document describes the
<span class="emphasis"><em>Distributed Lookup Service</em></span>
(<span><strong class="command">dLS</strong></span>)
- in the [<a href="#id2540754"><span
class="citation">perfSONAR</span></a>] system. This modification extends
+ in the [<a href="#id2540926"><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
@@ -66,7 +66,7 @@
<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="#id2540773"><span class="citation">XML</span></a>]
data store to a specialized
+ [<a href="#id2540944"><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" title="Berkeley DB XML"></a> or <a
href="#eXist XML DB" title="eXist XML DB"></a>)
@@ -572,7 +572,7 @@
</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" title="4.5. LS Token Message">LS Token
Message</a>) meant to be passed around an
+ <a href="#ls_token_message" title="4.6. 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
@@ -611,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"
title="4.7. LS Leader Message">LS Leader Message</a>)
+ should exchange messages (see <a href="#ls_leader_message"
title="4.8. 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
@@ -672,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"
title="4.6.2. Lower">Lower</a> and
- <a href="#ls_summary_message_upper"
title="4.6.1. Upper">Upper</a>). The responses will
+ (see <a href="#ls_summary_message_lower"
title="4.7.2. Lower">Lower</a> and
+ <a href="#ls_summary_message_upper"
title="4.7.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>
@@ -896,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"
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
+ See <a href="#ls_summary_message_lower"
title="4.7.2. Lower">Lower</a> or
+ <a href="#ls_summary_message_upper" title="4.7.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.
@@ -996,7 +996,7 @@
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" title="4.8. LS
Discovery Message">LS Discovery Message</a>)
+ info-set (see <a href="#ls_discovery_message" title="4.9. 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>
@@ -1006,7 +1006,7 @@
efficiency.
</p></li><li><p>
The client should start by making a discovery query (see
- <a href="#ls_discovery_message" title="4.8. LS Discovery
Message">LS Discovery Message</a>) to locate an
+ <a href="#ls_discovery_message" title="4.9. 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. This query is used to find the authoritative
<span><strong class="command">LS</strong></span> instances
for a set of
@@ -1399,10 +1399,66 @@
</nmwg:message>
- </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>
+ </pre></div></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h3 class="title"><a
id="ls_updatetoken"></a>4.5. LS UpdateToken</h3></div></div></div><p>
+ The <span><strong class="command">LS UpdateToken</strong></span>
messages are used by a service to
+ inform all members of the ring about new accepted member of that
ring.
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_updatetoken_request"></a>4.5.1. Request</h4></div></div></div><p>
+ The request should contain information about new member of the
ring as well as token id, ttl and registrar url.
+ </p><pre class="programlisting">
+
+ <nmwg:message type="LSControlRequest"
+
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/"
+
xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/">
+
+ <nmwg:metadata id="UpdateTokenMetadata">
+
+ <!-- new member of the ring -->
+
+ <perfsonar:subject id="Info">
+ <psservice:service id="ServiceInfo">
+ <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>
+
+ <!-- update Token type -->
+
<nmwg:eventType>http://perfsonar.net/services/LS/updateToken</nmwg:eventType>
+
+ <!-- additional parameters -->
+ <nmwg:parameters>
+
+ <!-- URL of registrar: the LS that sent initial
updateToken message to the leader -->
+ <nmwg:parameter
name="registrar-url">http://reed.man.poznan.pl:8080/axis2/services/SimpleService</nmwg:parameter>
+
+ <!-- Scope to register in -->
+ <nmwg:parameter
name="scope">unused</nmwg:parameter>
+
+ <!-- token id set by the leader -->
+ <nmwg:parameter
name="token-id">uri:an-unique-token-id</nmwg:parameter>
+
+ <!-- TTL set by leader basing on number N of
active peers in LS ring (e.g.: ceil(1.2 x N) ) -->
+ <nmwg:parameter
name="ttl">3</nmwg:parameter>
+
+ </nmwg:parameters>
+
+ </nmwg:metadata>
+
+ <nmwg:data id="DataTrigger"
metadataIdRef="UpdateTokenMetadata" />
+
+ </nmwg:message>
+
+ </pre></div><div class="section" lang="en"
xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a
id="ls_updatetoken_response"></a>4.5.2. Response</h4></div></div></div><p>
+ The response message contains result code
+ </p><pre class="programlisting">
+
+
+ </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.6. LS Token Message</h3></div></div></div><p>
This message exchange represents the token that is passed between
<span><strong class="command">LS</strong></span> instances in a
cloud.
- </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_token_message_request"></a>4.5.1. Request</h4></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_token_message_request"></a>4.6.1. Request</h4></div></div></div><p>
This message contains metadata/data pair(s) wherein the
<span class="emphasis"><em>metadata</em></span> is the sending
<span><strong class="command">LS</strong></span>s
info, and the data contains the contents of the
@@ -1453,7 +1509,7 @@
</nmwg:message>
- </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>
+ </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.6.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">
@@ -1482,16 +1538,16 @@
</nmwg:message>
- </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>
+ </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.7. LS Summary Message</h3></div></div></div><p>
The <span class="emphasis"><em>summary</em></span> message
represents one
<span><strong class="command">LS</strong></span>s attempt to
summarize all internal information.
This message is broadcast to all peers at a particular layer of the
hierarchy.
- </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_summary_message_upper"></a>4.6.1. Upper</h4></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_summary_message_upper"></a>4.7.1. Upper</h4></div></div></div><p>
This message exchange represents when an LS instance is holding
the token and sharing summary information with
<span class="emphasis"><em>upper</em></span> leveled peers.
- </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h5 class="title"><a
id="ls_summary_message_upper_request"></a>4.6.1.1. Request</h5></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h5 class="title"><a
id="ls_summary_message_upper_request"></a>4.7.1.1. Request</h5></div></div></div><p>
The message consists of
<span class="emphasis"><em>metadata</em></span>/<span
class="emphasis"><em>data</em></span> pair(s) that
contain service information. The <span
class="emphasis"><em>data</em></span> portion
@@ -1528,7 +1584,7 @@
</nmwg:message>
- </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>
+ </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.7.1.2. Response</h5></div></div></div><p>
The response message should indicate success or failure via
the <span class="emphasis"><em>eventType</em></span>, and will
contain
<span class="emphasis"><em>metadata</em></span>/<span
class="emphasis"><em>data</em></span> pair(s).
@@ -1569,11 +1625,11 @@
</nmwg:message>
- </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>
+ </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.7.2. Lower</h4></div></div></div><p>
This message exchange represents when an LS instance is holding
the token and sharing summary information with
<span class="emphasis"><em>lower</em></span> scoped peers.
- </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h5 class="title"><a
id="ls_summary_message_lower_request"></a>4.6.2.1. Request</h5></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h5 class="title"><a
id="ls_summary_message_lower_request"></a>4.7.2.1. Request</h5></div></div></div><p>
The message consists of
<span class="emphasis"><em>metadata</em></span>/<span
class="emphasis"><em>data</em></span> pair(s) that
contain service information as well as the minimal (without
@@ -1608,7 +1664,7 @@
</nmwg:message>
- </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>
+ </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.7.2.2. Response</h5></div></div></div><p>
The response message should indicate success or failure via
the <span class="emphasis"><em>eventType</em></span>, and will
contain
<span class="emphasis"><em>metadata</em></span>/<span
class="emphasis"><em>data</em></span> pair(s).
@@ -1649,7 +1705,7 @@
</nmwg:message>
- </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>
+ </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.8. LS Leader Message</h3></div></div></div><p>
This message exchange will be conducted between the Leader and
<span class="emphasis"><em>Vice-Leader</em></span> on some
(frequent) interval. It may
even become a part of the Leader's token exchange with the
@@ -1661,7 +1717,7 @@
the vice leader will have a summary of the <span
class="emphasis"><em>upper</em></span>
level and be able to continue answering <span
class="emphasis"><em>lower</em></span> level
queries and obtaining information from the higher levels.
- </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_leader_message_request"></a>4.7.1. Request</h4></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_leader_message_request"></a>4.8.1. Request</h4></div></div></div><p>
The request message will contain the identification information as
well as the summary data.
</p><pre class="programlisting">
@@ -1718,7 +1774,7 @@
</nmwg:message>
- </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>
+ </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.8.2. Response</h4></div></div></div><p>
The response message will contain the results (success or
failure).
</p><pre class="programlisting">
@@ -1728,11 +1784,11 @@
</nmwg:message>
- </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>
+ </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.9. LS Discovery
Message</h3></div></div></div><p>
The discovery message represents the step used to find the
<span class="emphasis"><em>location</em></span> of information in
the distributed service.
The actual query is performed after this step.
- </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_discovery_message_request"></a>4.8.1. Request</h4></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_discovery_message_request"></a>4.9.1. Request</h4></div></div></div><p>
The request message features a simple <span
class="emphasis"><em>metadata</em></span>
section with some identifying features.
</p><pre class="programlisting">
@@ -1761,7 +1817,7 @@
</nmwg:message>
- </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>
+ </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.9.2. Response</h4></div></div></div><p>
The response message will feature a status message, as described
in <a href="#system_search_discovery_algorithm"
title="3.5.1.1. Algorithm">Algorithm</a>.
</p><pre class="programlisting">
@@ -1834,8 +1890,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="id2540754"></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="id2540926"></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="id2540773"></a><p>[<abbr class="abbrev">XML</abbr>] <span
class="title"><i>
+ </i>. </span></p></div><div class="biblioentry"><a
id="id2540944"></a><p>[<abbr class="abbrev">XML</abbr>] <span
class="title"><i>
<a href="http://www.w3.org/XML" target="_top">Extensible Markup
Language (XML)</a>
</i>. </span></p></div></div></div></body></html>
Modified: trunk/nmwg/doc/dLS/dLS_spec.xml
===================================================================
--- trunk/nmwg/doc/dLS/dLS_spec.xml 2008-04-04 10:25:26 UTC (rev 336)
+++ trunk/nmwg/doc/dLS/dLS_spec.xml 2008-04-04 12:51:00 UTC (rev 337)
@@ -2074,6 +2074,105 @@
</section>
</section>
+
+
+
+
+
+ <!-- updateToken message -->
+
+
+
+
+ <section id="ls_updatetoken" xreflabel="LS UpdateToken">
+ <title>LS UpdateToken</title>
+
+ <para>
+ The <command>LS UpdateToken</command> messages are used by a service
to
+ inform all members of the ring about new accepted member of that
ring.
+ </para>
+
+
+ <section id="ls_updatetoken_request" xreflabel="Request">
+ <title>Request</title>
+
+ <para>
+ The request should contain information about new member of the
ring as well as token id, ttl and registrar url.
+ </para>
+
+ <programlisting>
+ <![CDATA[
+ <nmwg:message type="LSControlRequest"
+
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/"
+
xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/">
+
+ <nmwg:metadata id="UpdateTokenMetadata">
+
+ <!-- new member of the ring -->
+
+ <perfsonar:subject id="Info">
+ <psservice:service id="ServiceInfo">
+ <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>
+
+ <!-- update Token type -->
+
<nmwg:eventType>http://perfsonar.net/services/LS/updateToken</nmwg:eventType>
+
+ <!-- additional parameters -->
+ <nmwg:parameters>
+
+ <!-- URL of registrar: the LS that sent initial
updateToken message to the leader -->
+ <nmwg:parameter
name="registrar-url">http://reed.man.poznan.pl:8080/axis2/services/SimpleService</nmwg:parameter>
+
+ <!-- Scope to register in -->
+ <nmwg:parameter name="scope">unused</nmwg:parameter>
+
+ <!-- token id set by the leader -->
+ <nmwg:parameter
name="token-id">uri:an-unique-token-id</nmwg:parameter>
+
+ <!-- TTL set by leader basing on number N of active
peers in LS ring (e.g.: ceil(1.2 x N) ) -->
+ <nmwg:parameter name="ttl">3</nmwg:parameter>
+
+ </nmwg:parameters>
+
+ </nmwg:metadata>
+
+ <nmwg:data id="DataTrigger"
metadataIdRef="UpdateTokenMetadata" />
+
+ </nmwg:message>
+ ]]>
+ </programlisting>
+
+ </section>
+
+ <section id="ls_updatetoken_response" xreflabel="Response">
+ <title>Response</title>
+
+ <para>
+ The response message contains result code
+ </para>
+
+ <programlisting>
+ <![CDATA[
+ ]]>
+ </programlisting>
+
+ </section>
+ </section>
+
+
+
+
+ <!-- token message -->
+
+
+
+
<section id="ls_token_message" xreflabel="LS Token Message">
<title>LS Token Message</title>
Modified: trunk/nmwg/doc/dLS/dLS_spec_1.html
===================================================================
--- trunk/nmwg/doc/dLS/dLS_spec_1.html 2008-04-04 10:25:26 UTC (rev 336)
+++ trunk/nmwg/doc/dLS/dLS_spec_1.html 2008-04-04 12:51:00 UTC (rev 337)
@@ -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.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>
+<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_updatetoken">4.5. LS
UpdateToken</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_updatetoken_request">4.5.1. Request</a></span></dt><dt><span
class="section"><a href="#ls_updatetoken_response">4.5.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_token_message">4.6. LS Token Message</a></span></dt>
<dd><dl><dt><span class="section"><a href="#ls_token_message_request">4.6.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_token_message_response">4.6.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_summary_message">4.7. LS Summary
Message</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_summary_message_upper">4.7.1.
Upper</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_summary_message_upper_request">4.7.1.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_summary_message_upper_response">4.7.1.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_summary_message_lower">4.7.2.
Lower</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_summary_message_lower_request">4.7.2.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_summary_message_lower_response">4.7.2.2.
Response</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#ls_leade
r_message">4.8. LS Leader Message</a></span></dt><dd><dl><dt!
><span c
lass="section"><a href="#ls_leader_message_request">4.8.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_leader_message_response">4.8.2.
Response</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_discovery_message">4.9. LS Discovery
Message</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_discovery_message_request">4.9.1. Request</a></span></dt><dt><span
class="section"><a href="#ls_discovery_message_response">4.9.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>
This document describes the
<span class="emphasis"><em>Distributed Lookup Service</em></span>
(<span><strong class="command">dLS</strong></span>)
- in the [<a href="#id2540754"><span
class="citation">perfSONAR</span></a>] system. This modification extends
+ in the [<a href="#id2540926"><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
@@ -66,7 +66,7 @@
<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="#id2540773"><span class="citation">XML</span></a>]
data store to a specialized
+ [<a href="#id2540944"><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" title="Berkeley DB XML"></a> or <a
href="#eXist XML DB" title="eXist XML DB"></a>)
@@ -572,7 +572,7 @@
</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" title="4.5. LS Token Message">LS Token
Message</a>) meant to be passed around an
+ <a href="#ls_token_message" title="4.6. 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
@@ -611,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"
title="4.7. LS Leader Message">LS Leader Message</a>)
+ should exchange messages (see <a href="#ls_leader_message"
title="4.8. 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
@@ -672,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"
title="4.6.2. Lower">Lower</a> and
- <a href="#ls_summary_message_upper"
title="4.6.1. Upper">Upper</a>). The responses will
+ (see <a href="#ls_summary_message_lower"
title="4.7.2. Lower">Lower</a> and
+ <a href="#ls_summary_message_upper"
title="4.7.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>
@@ -896,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"
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
+ See <a href="#ls_summary_message_lower"
title="4.7.2. Lower">Lower</a> or
+ <a href="#ls_summary_message_upper" title="4.7.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.
@@ -996,7 +996,7 @@
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" title="4.8. LS
Discovery Message">LS Discovery Message</a>)
+ info-set (see <a href="#ls_discovery_message" title="4.9. 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>
@@ -1006,7 +1006,7 @@
efficiency.
</p></li><li><p>
The client should start by making a discovery query (see
- <a href="#ls_discovery_message" title="4.8. LS Discovery
Message">LS Discovery Message</a>) to locate an
+ <a href="#ls_discovery_message" title="4.9. 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. This query is used to find the authoritative
<span><strong class="command">LS</strong></span> instances
for a set of
@@ -1399,10 +1399,66 @@
<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>
+ </pre></div></div><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h3 class="title"><a
id="ls_updatetoken"></a>4.5. LS UpdateToken</h3></div></div></div><p>
+ The <span><strong class="command">LS UpdateToken</strong></span>
messages are used by a service to
+ inform all members of the ring about new accepted member of that
ring.
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_updatetoken_request"></a>4.5.1. Request</h4></div></div></div><p>
+ The request should contain information about new member of the
ring as well as token id, ttl and registrar url.
+ </p><pre class="programlisting">
+
+ <nmwg:message type="LSControlRequest"
+
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/"
+
xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/">
+
+ <b style="color:blue"><nmwg:metadata</b><b
style="color:green"> id="UpdateTokenMetadata"</b><b
style="color:blue">></b>
+
+ <b style="color:blue"><!--</b><b
style="color:green"> new member of the ring --</b><b
style="color:blue">></b>
+
+ <b style="color:blue"><perfsonar:subject</b><b
style="color:green"> id="Info"</b><b style="color:blue">></b>
+ <b style="color:blue"><psservice:service</b><b
style="color:green"> id="ServiceInfo"</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"><!--</b><b
style="color:green"> update Token type --</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/updateToken<b
style="color:blue"></nmwg:eventType</b><b style="color:green"></b><b
style="color:blue">></b>
+
+ <b style="color:blue"><!--</b><b
style="color:green"> additional parameters --</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"><!--</b><b
style="color:green"> URL of registrar: the LS that sent initial updateToken
message to the leader --</b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="registrar-url"</b><b
style="color:blue">></b>http://reed.man.poznan.pl:8080/axis2/services/SimpleService<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+
+ <b style="color:blue"><!--</b><b
style="color:green"> Scope to register in --</b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="scope"</b><b style="color:blue">></b>unused<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+
+ <b style="color:blue"><!--</b><b
style="color:green"> token id set by the leader --</b><b
style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="token-id"</b><b
style="color:blue">></b>uri:an-unique-token-id<b
style="color:blue"></nmwg:parameter</b><b style="color:green"></b><b
style="color:blue">></b>
+
+ <b style="color:blue"><!--</b><b
style="color:green"> TTL set by leader basing on number N of active peers in
LS ring (e.g.: ceil(1.2 x N) ) --</b><b style="color:blue">></b>
+ <b style="color:blue"><nmwg:parameter</b><b
style="color:green"> name="ttl"</b><b style="color:blue">></b>3<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"> id="DataTrigger" metadataIdRef="UpdateTokenMetadata"
/</b><b style="color:blue">></b>
+
+ <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_updatetoken_response"></a>4.5.2. Response</h4></div></div></div><p>
+ The response message contains result code
+ </p><pre class="programlisting">
+
+
+ </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.6. LS Token Message</h3></div></div></div><p>
This message exchange represents the token that is passed between
<span><strong class="command">LS</strong></span> instances in a
cloud.
- </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_token_message_request"></a>4.5.1. Request</h4></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_token_message_request"></a>4.6.1. Request</h4></div></div></div><p>
This message contains metadata/data pair(s) wherein the
<span class="emphasis"><em>metadata</em></span> is the sending
<span><strong class="command">LS</strong></span>s
info, and the data contains the contents of the
@@ -1453,7 +1509,7 @@
<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>
+ </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.6.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">
@@ -1482,16 +1538,16 @@
<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>
+ </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.7. LS Summary Message</h3></div></div></div><p>
The <span class="emphasis"><em>summary</em></span> message
represents one
<span><strong class="command">LS</strong></span>s attempt to
summarize all internal information.
This message is broadcast to all peers at a particular layer of the
hierarchy.
- </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_summary_message_upper"></a>4.6.1. Upper</h4></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_summary_message_upper"></a>4.7.1. Upper</h4></div></div></div><p>
This message exchange represents when an LS instance is holding
the token and sharing summary information with
<span class="emphasis"><em>upper</em></span> leveled peers.
- </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h5 class="title"><a
id="ls_summary_message_upper_request"></a>4.6.1.1. Request</h5></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h5 class="title"><a
id="ls_summary_message_upper_request"></a>4.7.1.1. Request</h5></div></div></div><p>
The message consists of
<span class="emphasis"><em>metadata</em></span>/<span
class="emphasis"><em>data</em></span> pair(s) that
contain service information. The <span
class="emphasis"><em>data</em></span> portion
@@ -1528,7 +1584,7 @@
<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>
+ </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.7.1.2. Response</h5></div></div></div><p>
The response message should indicate success or failure via
the <span class="emphasis"><em>eventType</em></span>, and will
contain
<span class="emphasis"><em>metadata</em></span>/<span
class="emphasis"><em>data</em></span> pair(s).
@@ -1569,11 +1625,11 @@
<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>
+ </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.7.2. Lower</h4></div></div></div><p>
This message exchange represents when an LS instance is holding
the token and sharing summary information with
<span class="emphasis"><em>lower</em></span> scoped peers.
- </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h5 class="title"><a
id="ls_summary_message_lower_request"></a>4.6.2.1. Request</h5></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h5 class="title"><a
id="ls_summary_message_lower_request"></a>4.7.2.1. Request</h5></div></div></div><p>
The message consists of
<span class="emphasis"><em>metadata</em></span>/<span
class="emphasis"><em>data</em></span> pair(s) that
contain service information as well as the minimal (without
@@ -1608,7 +1664,7 @@
<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>
+ </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.7.2.2. Response</h5></div></div></div><p>
The response message should indicate success or failure via
the <span class="emphasis"><em>eventType</em></span>, and will
contain
<span class="emphasis"><em>metadata</em></span>/<span
class="emphasis"><em>data</em></span> pair(s).
@@ -1649,7 +1705,7 @@
<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>
+ </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.8. LS Leader Message</h3></div></div></div><p>
This message exchange will be conducted between the Leader and
<span class="emphasis"><em>Vice-Leader</em></span> on some
(frequent) interval. It may
even become a part of the Leader's token exchange with the
@@ -1661,7 +1717,7 @@
the vice leader will have a summary of the <span
class="emphasis"><em>upper</em></span>
level and be able to continue answering <span
class="emphasis"><em>lower</em></span> level
queries and obtaining information from the higher levels.
- </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_leader_message_request"></a>4.7.1. Request</h4></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_leader_message_request"></a>4.8.1. Request</h4></div></div></div><p>
The request message will contain the identification information as
well as the summary data.
</p><pre class="programlisting">
@@ -1718,7 +1774,7 @@
<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>
+ </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.8.2. Response</h4></div></div></div><p>
The response message will contain the results (success or
failure).
</p><pre class="programlisting">
@@ -1728,11 +1784,11 @@
<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>
+ </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.9. LS Discovery
Message</h3></div></div></div><p>
The discovery message represents the step used to find the
<span class="emphasis"><em>location</em></span> of information in
the distributed service.
The actual query is performed after this step.
- </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_discovery_message_request"></a>4.8.1. Request</h4></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h4 class="title"><a
id="ls_discovery_message_request"></a>4.9.1. Request</h4></div></div></div><p>
The request message features a simple <span
class="emphasis"><em>metadata</em></span>
section with some identifying features.
</p><pre class="programlisting">
@@ -1761,7 +1817,7 @@
<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>
+ </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.9.2. Response</h4></div></div></div><p>
The response message will feature a status message, as described
in <a href="#system_search_discovery_algorithm"
title="3.5.1.1. Algorithm">Algorithm</a>.
</p><pre class="programlisting">
@@ -1834,8 +1890,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="id2540754"></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="id2540926"></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="id2540773"></a><p>[<abbr class="abbrev">XML</abbr>] <span
class="title"><i>
+ </i>. </span></p></div><div class="biblioentry"><a
id="id2540944"></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: r337 - trunk/nmwg/doc/dLS, svnlog, 04/04/2008
Archive powered by MHonArc 2.6.16.