Skip to Content.
Sympa Menu

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

Subject: perfsonar development work

List archive

nmwg: r338 - trunk/nmwg/doc/dLS


Chronological Thread 
  • From:
  • To: ,
  • Subject: nmwg: r338 - trunk/nmwg/doc/dLS
  • Date: Tue, 8 Apr 2008 10:21:05 -0400

Author: zurawski
Date: 2008-04-08 10:21:03 -0400 (Tue, 08 Apr 2008)
New Revision: 338

Modified:
trunk/nmwg/doc/dLS/Makefile
trunk/nmwg/doc/dLS/dLS_spec.html
trunk/nmwg/doc/dLS/dLS_spec_1.html
Log:
setting the mime type

-jason



Modified: trunk/nmwg/doc/dLS/Makefile
===================================================================
--- trunk/nmwg/doc/dLS/Makefile 2008-04-04 12:51:00 UTC (rev 337)
+++ trunk/nmwg/doc/dLS/Makefile 2008-04-08 14:21:03 UTC (rev 338)
@@ -4,7 +4,7 @@
HTMLSHEET=/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl
#FOSHEET=/usr/share/xml/docbook/stylesheet/nwalsh/fo/docbook.xsl

-all: clean html pdf
+all: clean html

html: clean
xsltproc -o $(FILE).html --stringparam appendix.autolabel A
--stringparam chapter.autolabel 1 --stringparam part.autolabel I
--stringparam reference.autolabel I --stringparam section.autolabel 1
--stringparam toc.section.depth 5 --stringparam section.autolabel.max.depth 5
$(HTMLSHEET) $(FILE).xml

Modified: trunk/nmwg/doc/dLS/dLS_spec.html
===================================================================
--- trunk/nmwg/doc/dLS/dLS_spec.html 2008-04-04 12:51:00 UTC (rev 337)
+++ trunk/nmwg/doc/dLS/dLS_spec.html 2008-04-08 14:21:03 UTC (rev 338)
@@ -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_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>
+<html xmlns="http://www.w3.org/1999/xhtml";><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Distributed Lookup Service (dLS) in the perfSONAR
Framework</title><meta name="generator" content="DocBook XSL Stylesheets
V1.71.0" /></head><body><div class="article" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h1 class="title"><a
id="id2478927"></a>Distributed Lookup Service (dLS) in the perfSONAR
Framework</h1></div><div><div class="authorgroup"><div class="author"><h3
class="author"><span class="firstname">J.</span> <span
class="surname">Boote</span></h3></div><div class="author"><h3
class="author"><span class="firstname">M.</span> <span
class="surname">Glowiak</span></h3></div><div class="author"><h3
class="author"><span class="firstname">M.</span> <span
class="surname">Swany</span></h3></div><div class="author"><h3
class="author"><span class="firstname">J.</span> <span
class="surname">Zurawski</span></h3></div></div></div><div><p cl
ass="copyright">Copyright © 2006, 2007, 2008 Internet2, Poznan
Supercomputing and Networking Center, University of
Delaware</p></div></div><hr /></div><div class="toc"><p><b>Table of
Contents</b></p><dl><dt><span class="section"><a href="#changes">1. Document
Changes</a></span></dt><dt><span class="section"><a href="#introduction">2.
Introduction</a></span></dt><dt><span class="section"><a
href="#system_specific_operation">3. System Specific
Operation</a></span></dt><dd><dl><dt><span class="section"><a
href="#system_overview">3.1. Overview</a></span></dt><dt><span
class="section"><a href="#system_scope">3.2. Scope
Formation</a></span></dt><dd><dl><dt><span class="section"><a
href="#scope_specification">3.2.1. Scope
Specification</a></span></dt><dt><span class="section"><a
href="#scope_hierarchy">3.2.2. Scope Hierarchy</a></span></dt><dt><span
class="section"><a href="#scope_defaults">3.2.3. Scope
Defaults</a></span></dt><dt><span class="section"><a href="#scope_algorithms">
3.2.4. Scope Algorithms</a></span></dt><dd><dl><dt><span cla!
ss="sect
ion"><a href="#join_procedure">3.2.4.1. Join
Procedure</a></span></dt><dd><dl><dt><span class="section"><a
href="#join_alg">3.2.4.1.1.
Algorithm</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#token_messages">3.2.5. Token Messages for Control and
Election</a></span></dt><dd><dl><dt><span class="section"><a
href="#leader_election">3.2.5.1. Leader Election</a></span></dt><dt><span
class="section"><a href="#registration_control">3.2.5.2. Registration
Control</a></span></dt><dd><dl><dt><span class="section"><a
href="#passing_algorithm">3.2.5.2.1. Passing
Algorithm</a></span></dt><dt><span class="section"><a
href="#rotation_time_computation">3.2.5.2.2. Rotation Time
Computation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#summarization_messages">3.2.6. Summarization
Messages</a></span></dt></dl></dd><dt><span class="section"><a
href="#bootstrapping">3.3. Bootstrapping</a></span></dt><dt><span
class="section"><a href="#system_summari
zation">3.4. Summarization</a></span></dt><dd><dl><dt><span
class="section"><a href="#system_summarization_lower">3.4.1. Lower
Scope</a></span></dt><dt><span class="section"><a
href="#system_summarization_upper">3.4.2. Upper
Scope</a></span></dt><dd><dl><dt><span class="section"><a
href="#system_summarization_upper_alg">3.4.2.1. IP Address
Algorithm</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#system_search">3.5. Search</a></span></dt><dd><dl><dt><span
class="section"><a href="#system_search_discovery_phase">3.5.1. Discovery
Phase</a></span></dt><dd><dl><dt><span class="section"><a
href="#system_search_discovery_algorithm">3.5.1.1.
Algorithm</a></span></dt></dl></dd><dt><span class="section"><a
href="#system_search_metadata_query_phase">3.5.2. Metadata Query
Phase</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#structures_and_messages">4. Structures and
Messages</a></span></dt><dd><dl><dt><span class="section"><a href="#servic
e_metadata">4.1. Service Metadata Example</a></span></dt><dt!
><span c
lass="section"><a href="#lookup_info">4.2. Lookup
Information</a></span></dt><dt><span class="section"><a href="#ls_ring">4.3.
LS Ring File Structure</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_ring_lower">4.3.1. Lower Level</a></span></dt><dt><span
class="section"><a href="#ls_ring_upper">4.3.2. Upper
Level</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_join">4.4. LS Join</a></span></dt><dd><dl><dt><span
class="section"><a href="#ls_join_request">4.4.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_join_response">4.4.2. Response</a></span></dt></dl></dd><dt><span
class="section"><a href="#ls_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="#id2540926"><span
class="citation">perfSONAR</span></a>] system. This modification extends
+ in the <a href="#id2533141">perfSONAR</a> system. This modification
extends
the basic <span class="emphasis"><em>Lookup Service</em></span>
(<span><strong class="command">LS</strong></span>)
functionality that has been present in the system for some time. The
basic LS supports the storage and querying of
@@ -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" title="4.1. Service Metadata
Example">Service Metadata Example</a>) about stored data it has
+ <a href="#service_metadata">Service Metadata Example</a>) about
stored data it has
knowledge of. Such a record is called Lookup Information (see
- <a href="#lookup_info" title="4.2. Lookup Information">Lookup
Information</a>).
+ <a href="#lookup_info">Lookup Information</a>).
</p><p>
The idea is to move the metadata from a service-local
- [<a href="#id2540944"><span class="citation">XML</span></a>]
data store to a specialized
+ <a href="#id2533159">XML</a> data store to a specialized
<span><strong class="command">LS</strong></span> with additional
searching capabilities. The
<span><strong class="command">LS</strong></span> consists of an
XML database, (i.e.
- <a href="#Berkeley DB XML" title="Berkeley DB XML"></a> or <a
href="#eXist XML DB" title="eXist XML DB"></a>)
+ <a href="#Berkeley DB XML">Berkeley DB XML</a> or <a
href="#eXist XML DB">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
@@ -417,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"
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><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><p>
Each of these procedures is important to keeping members of
the
distributed <span class="emphasis"><em>service</em></span>
functioning correctly. The
@@ -428,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" title="4.3. LS Ring File
Structure">LS Ring File Structure</a>) files. The inter-domain knowledge
(i.e.
+ <a href="#ls_ring">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.
@@ -437,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" title="4.4. LS Join">LS Join</a>)
+ <span class="emphasis"><em>eventType</em></span> (see <a
href="#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
@@ -462,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" title="3.2.5. Token Messages
for Control and Election">Token Messages for Control and Election</a>).
+ <a href="#token_messages">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
@@ -495,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"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>)
until it is time
+ <a
href="#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
@@ -537,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"
title="3.2.5.1. Leader Election">Leader Election</a> for more details.
+ See <a href="#leader_election">Leader
Election</a> for more details.
</p></li><li><p>
Regular token exchange and summarization
notification will
resume in time.
@@ -565,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"
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
+ used for two purposes: <a href="#leader_election">Leader
Election</a> and
+ <a href="#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" title="4.6. LS Token Message">LS Token
Message</a>) meant to be passed around an
+ <a href="#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.8. LS Leader Message">LS Leader Message</a>)
+ should exchange messages (see <a href="#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.7.2. Lower">Lower</a> and
- <a href="#ls_summary_message_upper"
title="4.7.1. Upper">Upper</a>). The responses will
+ (see <a href="#ls_summary_message_lower">Lower</a> and
+ <a href="#ls_summary_message_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>
@@ -703,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"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>).
+ (see <a href="#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
@@ -714,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"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>)
expires without
+ <a href="#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"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>)
it should be
+ <a href="#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>
@@ -740,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" 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
+ <a href="#system_summarization_lower">Lower Scope</a> and
+ <a href="#system_summarization_upper">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).
@@ -749,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"
title="3.5. Search">Search</a>
+ instance is found, the <a href="#system_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
@@ -785,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" title="3.2. Scope
Formation">Scope Formation</a>). Simply put, this
+ scope (see also <a href="#system_scope">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
@@ -841,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" title="Token Ring"></a>. The holder of the
token will then
+ <a href="#Token Ring">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.
@@ -867,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" title="3.2.5.1. Leader
Election">Leader Election</a>. The leader from
+ discussed in <a href="#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
@@ -882,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" title="3.4.2.1. IP
Address Algorithm">IP Address Algorithm</a>).
+ <a href="#system_summarization_upper_alg">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" title="XSLT"></a>) documents or the <a
href="#XQuery" title="XQuery"></a>
+ (<a href="#XSLT">XSLT</a>) documents or the <a
href="#XQuery">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
@@ -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.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
+ See <a href="#ls_summary_message_lower">Lower</a> or
+ <a href="#ls_summary_message_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.
@@ -985,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" 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>.
+ <a href="#system_search_discovery_phase">Discovery Phase</a> and
+ <a href="#system_search_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
@@ -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.9. LS
Discovery Message">LS Discovery Message</a>)
+ info-set (see <a href="#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.9. LS Discovery
Message">LS Discovery Message</a>) to locate an
+ <a href="#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
@@ -1092,7 +1092,7 @@
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>
+ <a href="#system_search_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.
@@ -1819,7 +1819,7 @@

</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>.
+ in <a href="#system_search_discovery_algorithm">Algorithm</a>.
</p><pre class="programlisting">

&lt;nmwg:message type="LSDiscoveryResponse"&gt;
@@ -1890,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="id2540926"></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="id2533141"></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="id2540944"></a><p>[<abbr class="abbrev">XML</abbr>] <span
class="title"><i>
+ </i>. </span></p></div><div class="biblioentry"><a
id="id2533159"></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>


Property changes on: trunk/nmwg/doc/dLS/dLS_spec.html
___________________________________________________________________
Name: svn:mime-type
+ text/html

Modified: trunk/nmwg/doc/dLS/dLS_spec_1.html
===================================================================
--- trunk/nmwg/doc/dLS/dLS_spec_1.html 2008-04-04 12:51:00 UTC (rev 337)
+++ trunk/nmwg/doc/dLS/dLS_spec_1.html 2008-04-08 14:21:03 UTC (rev 338)
@@ -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_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>
+<html xmlns="http://www.w3.org/1999/xhtml";><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Distributed Lookup Service (dLS) in the perfSONAR
Framework</title><meta name="generator" content="DocBook XSL Stylesheets
V1.71.0" /></head><body><div class="article" lang="en" xml:lang="en"><div
class="titlepage"><div><div><h1 class="title"><a
id="id2478927"></a>Distributed Lookup Service (dLS) in the perfSONAR
Framework</h1></div><div><div class="authorgroup"><div class="author"><h3
class="author"><span class="firstname">J.</span> <span
class="surname">Boote</span></h3></div><div class="author"><h3
class="author"><span class="firstname">M.</span> <span
class="surname">Glowiak</span></h3></div><div class="author"><h3
class="author"><span class="firstname">M.</span> <span
class="surname">Swany</span></h3></div><div class="author"><h3
class="author"><span class="firstname">J.</span> <span
class="surname">Zurawski</span></h3></div></div></div><div><p cl
ass="copyright">Copyright © 2006, 2007, 2008 Internet2, Poznan
Supercomputing and Networking Center, University of
Delaware</p></div></div><hr /></div><div class="toc"><p><b>Table of
Contents</b></p><dl><dt><span class="section"><a href="#changes">1. Document
Changes</a></span></dt><dt><span class="section"><a href="#introduction">2.
Introduction</a></span></dt><dt><span class="section"><a
href="#system_specific_operation">3. System Specific
Operation</a></span></dt><dd><dl><dt><span class="section"><a
href="#system_overview">3.1. Overview</a></span></dt><dt><span
class="section"><a href="#system_scope">3.2. Scope
Formation</a></span></dt><dd><dl><dt><span class="section"><a
href="#scope_specification">3.2.1. Scope
Specification</a></span></dt><dt><span class="section"><a
href="#scope_hierarchy">3.2.2. Scope Hierarchy</a></span></dt><dt><span
class="section"><a href="#scope_defaults">3.2.3. Scope
Defaults</a></span></dt><dt><span class="section"><a href="#scope_algorithms">
3.2.4. Scope Algorithms</a></span></dt><dd><dl><dt><span cla!
ss="sect
ion"><a href="#join_procedure">3.2.4.1. Join
Procedure</a></span></dt><dd><dl><dt><span class="section"><a
href="#join_alg">3.2.4.1.1.
Algorithm</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#token_messages">3.2.5. Token Messages for Control and
Election</a></span></dt><dd><dl><dt><span class="section"><a
href="#leader_election">3.2.5.1. Leader Election</a></span></dt><dt><span
class="section"><a href="#registration_control">3.2.5.2. Registration
Control</a></span></dt><dd><dl><dt><span class="section"><a
href="#passing_algorithm">3.2.5.2.1. Passing
Algorithm</a></span></dt><dt><span class="section"><a
href="#rotation_time_computation">3.2.5.2.2. Rotation Time
Computation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#summarization_messages">3.2.6. Summarization
Messages</a></span></dt></dl></dd><dt><span class="section"><a
href="#bootstrapping">3.3. Bootstrapping</a></span></dt><dt><span
class="section"><a href="#system_summari
zation">3.4. Summarization</a></span></dt><dd><dl><dt><span
class="section"><a href="#system_summarization_lower">3.4.1. Lower
Scope</a></span></dt><dt><span class="section"><a
href="#system_summarization_upper">3.4.2. Upper
Scope</a></span></dt><dd><dl><dt><span class="section"><a
href="#system_summarization_upper_alg">3.4.2.1. IP Address
Algorithm</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#system_search">3.5. Search</a></span></dt><dd><dl><dt><span
class="section"><a href="#system_search_discovery_phase">3.5.1. Discovery
Phase</a></span></dt><dd><dl><dt><span class="section"><a
href="#system_search_discovery_algorithm">3.5.1.1.
Algorithm</a></span></dt></dl></dd><dt><span class="section"><a
href="#system_search_metadata_query_phase">3.5.2. Metadata Query
Phase</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a
href="#structures_and_messages">4. Structures and
Messages</a></span></dt><dd><dl><dt><span class="section"><a href="#servic
e_metadata">4.1. Service Metadata Example</a></span></dt><dt!
><span c
lass="section"><a href="#lookup_info">4.2. Lookup
Information</a></span></dt><dt><span class="section"><a href="#ls_ring">4.3.
LS Ring File Structure</a></span></dt><dd><dl><dt><span class="section"><a
href="#ls_ring_lower">4.3.1. Lower Level</a></span></dt><dt><span
class="section"><a href="#ls_ring_upper">4.3.2. Upper
Level</a></span></dt></dl></dd><dt><span class="section"><a
href="#ls_join">4.4. LS Join</a></span></dt><dd><dl><dt><span
class="section"><a href="#ls_join_request">4.4.1.
Request</a></span></dt><dt><span class="section"><a
href="#ls_join_response">4.4.2. Response</a></span></dt></dl></dd><dt><span
class="section"><a href="#ls_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="#id2540926"><span
class="citation">perfSONAR</span></a>] system. This modification extends
+ in the <a href="#id2533141">perfSONAR</a> system. This modification
extends
the basic <span class="emphasis"><em>Lookup Service</em></span>
(<span><strong class="command">LS</strong></span>)
functionality that has been present in the system for some time. The
basic LS supports the storage and querying of
@@ -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" title="4.1. Service Metadata
Example">Service Metadata Example</a>) about stored data it has
+ <a href="#service_metadata">Service Metadata Example</a>) about
stored data it has
knowledge of. Such a record is called Lookup Information (see
- <a href="#lookup_info" title="4.2. Lookup Information">Lookup
Information</a>).
+ <a href="#lookup_info">Lookup Information</a>).
</p><p>
The idea is to move the metadata from a service-local
- [<a href="#id2540944"><span class="citation">XML</span></a>]
data store to a specialized
+ <a href="#id2533159">XML</a> data store to a specialized
<span><strong class="command">LS</strong></span> with additional
searching capabilities. The
<span><strong class="command">LS</strong></span> consists of an
XML database, (i.e.
- <a href="#Berkeley DB XML" title="Berkeley DB XML"></a> or <a
href="#eXist XML DB" title="eXist XML DB"></a>)
+ <a href="#Berkeley DB XML">Berkeley DB XML</a> or <a
href="#eXist XML DB">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
@@ -417,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"
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><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><p>
Each of these procedures is important to keeping members of
the
distributed <span class="emphasis"><em>service</em></span>
functioning correctly. The
@@ -428,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" title="4.3. LS Ring File
Structure">LS Ring File Structure</a>) files. The inter-domain knowledge
(i.e.
+ <a href="#ls_ring">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.
@@ -437,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" title="4.4. LS Join">LS Join</a>)
+ <span class="emphasis"><em>eventType</em></span> (see <a
href="#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
@@ -462,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" title="3.2.5. Token Messages
for Control and Election">Token Messages for Control and Election</a>).
+ <a href="#token_messages">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
@@ -495,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"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>)
until it is time
+ <a
href="#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
@@ -537,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"
title="3.2.5.1. Leader Election">Leader Election</a> for more details.
+ See <a href="#leader_election">Leader
Election</a> for more details.
</p></li><li><p>
Regular token exchange and summarization
notification will
resume in time.
@@ -565,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"
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
+ used for two purposes: <a href="#leader_election">Leader
Election</a> and
+ <a href="#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" title="4.6. LS Token Message">LS Token
Message</a>) meant to be passed around an
+ <a href="#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.8. LS Leader Message">LS Leader Message</a>)
+ should exchange messages (see <a href="#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.7.2. Lower">Lower</a> and
- <a href="#ls_summary_message_upper"
title="4.7.1. Upper">Upper</a>). The responses will
+ (see <a href="#ls_summary_message_lower">Lower</a> and
+ <a href="#ls_summary_message_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>
@@ -703,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"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>).
+ (see <a href="#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
@@ -714,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"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>)
expires without
+ <a href="#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"
title="3.2.5.2.2. Rotation Time Computation">Rotation Time Computation</a>)
it should be
+ <a href="#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>
@@ -740,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" 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
+ <a href="#system_summarization_lower">Lower Scope</a> and
+ <a href="#system_summarization_upper">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).
@@ -749,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"
title="3.5. Search">Search</a>
+ instance is found, the <a href="#system_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
@@ -785,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" title="3.2. Scope
Formation">Scope Formation</a>). Simply put, this
+ scope (see also <a href="#system_scope">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
@@ -841,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" title="Token Ring"></a>. The holder of the
token will then
+ <a href="#Token Ring">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.
@@ -867,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" title="3.2.5.1. Leader
Election">Leader Election</a>. The leader from
+ discussed in <a href="#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
@@ -882,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" title="3.4.2.1. IP
Address Algorithm">IP Address Algorithm</a>).
+ <a href="#system_summarization_upper_alg">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" title="XSLT"></a>) documents or the <a
href="#XQuery" title="XQuery"></a>
+ (<a href="#XSLT">XSLT</a>) documents or the <a
href="#XQuery">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
@@ -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.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
+ See <a href="#ls_summary_message_lower">Lower</a> or
+ <a href="#ls_summary_message_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.
@@ -985,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" 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>.
+ <a href="#system_search_discovery_phase">Discovery Phase</a> and
+ <a href="#system_search_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
@@ -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.9. LS
Discovery Message">LS Discovery Message</a>)
+ info-set (see <a href="#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.9. LS Discovery
Message">LS Discovery Message</a>) to locate an
+ <a href="#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
@@ -1092,7 +1092,7 @@
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>
+ <a href="#system_search_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.
@@ -1819,7 +1819,7 @@

</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>.
+ in <a href="#system_search_discovery_algorithm">Algorithm</a>.
</p><pre class="programlisting">

<b style="color:blue">&lt;nmwg:message</b><b
style="color:green"> type="LSDiscoveryResponse"</b><b
style="color:blue">&gt;</b>
@@ -1890,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="id2540926"></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="id2533141"></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="id2540944"></a><p>[<abbr class="abbrev">XML</abbr>] <span
class="title"><i>
+ </i>. </span></p></div><div class="biblioentry"><a
id="id2533159"></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>


Property changes on: trunk/nmwg/doc/dLS/dLS_spec_1.html
___________________________________________________________________
Name: svn:mime-type
+ text/html



  • nmwg: r338 - trunk/nmwg/doc/dLS, svnlog, 04/08/2008

Archive powered by MHonArc 2.6.16.

Top of Page