draft-ietf-p2psip-service-discovery-00.txt | draft-ietf-p2psip-service-discovery-01.txt | |||
---|---|---|---|---|
P2PSIP Working Group J. Maenpaa | P2PSIP Working Group J. Maenpaa | |||
Internet-Draft G. Camarillo | Internet-Draft G. Camarillo | |||
Intended status: Standards Track Ericsson | Intended status: Standards Track Ericsson | |||
Expires: July 23, 2010 January 19, 2010 | Expires: January 13, 2011 July 12, 2010 | |||
Service Discovery Usage for REsource LOcation And Discovery (RELOAD) | Service Discovery Usage for REsource LOcation And Discovery (RELOAD) | |||
draft-ietf-p2psip-service-discovery-00.txt | draft-ietf-p2psip-service-discovery-01.txt | |||
Abstract | Abstract | |||
REsource LOcation and Discovery (RELOAD) does not define a generic | REsource LOcation and Discovery (RELOAD) does not define a generic | |||
service discovery mechanism as part of the base protocol. This | service discovery mechanism as part of the base protocol. This | |||
document defines how the Recursive Distributed Rendezvous (ReDiR) | document defines how the Recursive Distributed Rendezvous (ReDiR) | |||
service discovery mechanism used in OpenDHT can be applied to RELOAD | service discovery mechanism used in OpenDHT can be applied to RELOAD | |||
overlays to provide a generic service discovery mechanism. | overlays to provide a generic service discovery mechanism. | |||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted to IETF in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF). Note that other groups may also distribute | |||
other groups may also distribute working documents as Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | This Internet-Draft will expire on January 13, 2011. | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | ||||
The list of Internet-Draft Shadow Directories can be accessed at | ||||
http://www.ietf.org/shadow.html. | ||||
This Internet-Draft will expire on July 23, 2010. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2010 IETF Trust and the persons identified as the | Copyright (c) 2010 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3. Introduction to ReDiR . . . . . . . . . . . . . . . . . . . . 4 | 3. Introduction to ReDiR . . . . . . . . . . . . . . . . . . . . 4 | |||
4. Using ReDiR in a RELOAD Overlay Instance . . . . . . . . . . . 6 | 4. Using ReDiR in a RELOAD Overlay Instance . . . . . . . . . . . 6 | |||
4.1. Data Structure . . . . . . . . . . . . . . . . . . . . . . 6 | 4.1. Data Structure . . . . . . . . . . . . . . . . . . . . . . 6 | |||
4.2. Selecting the Starting Level . . . . . . . . . . . . . . . 7 | 4.2. Selecting the Starting Level . . . . . . . . . . . . . . . 7 | |||
4.3. Service Provider Registration . . . . . . . . . . . . . . 7 | 4.3. Service Provider Registration . . . . . . . . . . . . . . 7 | |||
4.4. Refreshing Registrations . . . . . . . . . . . . . . . . . 8 | 4.4. Refreshing Registrations . . . . . . . . . . . . . . . . . 8 | |||
4.5. Service Lookups . . . . . . . . . . . . . . . . . . . . . 8 | 4.5. Service Lookups . . . . . . . . . . . . . . . . . . . . . 8 | |||
4.6. Removing Registrations . . . . . . . . . . . . . . . . . . 9 | 4.6. Removing Registrations . . . . . . . . . . . . . . . . . . 9 | |||
5. Access Control Rules . . . . . . . . . . . . . . . . . . . . . 9 | 5. Access Control Rules . . . . . . . . . . . . . . . . . . . . . 9 | |||
6. REDIR Kind Definition . . . . . . . . . . . . . . . . . . . . 9 | 6. REDIR Kind Definition . . . . . . . . . . . . . . . . . . . . 10 | |||
7. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 7. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
8. Overlay Configuration Document Extension . . . . . . . . . . . 11 | 8. Overlay Configuration Document Extension . . . . . . . . . . . 12 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
10.1. Access Control Policies . . . . . . . . . . . . . . . . . 12 | 10.1. Access Control Policies . . . . . . . . . . . . . . . . . 12 | |||
10.2. Data Kind-ID . . . . . . . . . . . . . . . . . . . . . . . 12 | 10.2. Data Kind-ID . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
11.1. Normative References . . . . . . . . . . . . . . . . . . . 12 | 11.1. Normative References . . . . . . . . . . . . . . . . . . . 13 | |||
11.2. Informative References . . . . . . . . . . . . . . . . . . 13 | 11.2. Informative References . . . . . . . . . . . . . . . . . . 13 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
1. Introduction | 1. Introduction | |||
REsource LOcation And Discovery (RELOAD) [I-D.ietf-p2psip-base] is a | REsource LOcation And Discovery (RELOAD) [I-D.ietf-p2psip-base] is a | |||
peer-to-peer signaling protocol that can be used to maintain an | peer-to-peer signaling protocol that can be used to maintain an | |||
overlay network, and to store data in and retrieve data from the | overlay network, and to store data in and retrieve data from the | |||
overlay. Although RELOAD defines a Traversal Using Relays around | overlay. Although RELOAD defines a Traversal Using Relays around | |||
Network Address Translation (TURN) specific service discovery | Network Address Translation (TURN) specific service discovery | |||
skipping to change at page 5, line 44 | skipping to change at page 5, line 44 | |||
where b is the redirBranchingFactor. | where b is the redirBranchingFactor. | |||
Figure 1 shows an example of a ReDiR tree with a branching factor of | Figure 1 shows an example of a ReDiR tree with a branching factor of | |||
2. Each node is shown as two horizontal lines separated by a | 2. Each node is shown as two horizontal lines separated by a | |||
vertical bar. The lines represent the two intervals each node is | vertical bar. The lines represent the two intervals each node is | |||
responsible for. At level 0, there is only one node, (0,0) | responsible for. At level 0, there is only one node, (0,0) | |||
responsible for two intervals that together cover the entire | responsible for two intervals that together cover the entire | |||
identifier space of the RELOAD Overlay Instance. At level 1, there | identifier space of the RELOAD Overlay Instance. At level 1, there | |||
are two nodes, (1,0) and (1,1), each of which is responsible for half | are two nodes, (1,0) and (1,1), each of which is responsible for half | |||
of the identifier space. At leavel 2, there are four nodes. Each of | of the identifier space. At level 2, there are four nodes. Each of | |||
them owns one fourth of the identifier space. At level 3, there are | them owns one fourth of the identifier space. At level 3, there are | |||
eight nodes each of which is responsible for one eight of the | eight nodes each of which is responsible for one eight of the | |||
identifier space. | identifier space. | |||
Level 0 __________________|__________________ | Level 0 __________________|__________________ | |||
| | | | | | |||
Level 1 ________|________ ________|________ | Level 1 ________|________ ________|________ | |||
| | | | | | | | | | |||
Level 2 ___|___ ___|___ ___|___ ___|___ | Level 2 ___|___ ___|___ ___|___ ___|___ | |||
| | | | | | | | | | | | | | | | | | |||
skipping to change at page 7, line 41 | skipping to change at page 7, line 41 | |||
the last 16 service lookups completed and take Lstart to be the mode | the last 16 service lookups completed and take Lstart to be the mode | |||
of those depths. | of those depths. | |||
4.3. Service Provider Registration | 4.3. Service Provider Registration | |||
A node MUST use the following procedure to register as a service | A node MUST use the following procedure to register as a service | |||
provider in the RELOAD Overlay Instance: | provider in the RELOAD Overlay Instance: | |||
1. A node n with Node-ID n.id wishing to register as a service | 1. A node n with Node-ID n.id wishing to register as a service | |||
provider starts from level Lstart (see Section 4.2 for the | provider starts from level Lstart (see Section 4.2 for the | |||
details on selecting the starting level). First, node n MUST | details on selecting the starting level). Therefore, node n sets | |||
send a RELOAD Store request to add its RedirServiceProvider entry | level=Lstart. | |||
to the dictionary stored in the tree node associated with | 2. Node n MUST send a RELOAD Fetch request to fetch the contents of | |||
I(Lstart,n.id). An interval I(l,k) is defined as the unique | the tree node associated with I(level,n.id). An interval I(l,k) | |||
interval at level l in the ReDiR tree that encloses key k | is defined as the unique interval at level l in the ReDiR tree | |||
2. Node n MUST send a RELOAD Fetch request to obtain the contents of | that encloses key k. The fetch MUST be a wildcard fetch. | |||
the tree node associated with I(Lstart,n.id). The fetch MUST be | 3. Node n MUST send a RELOAD Store request to add its | |||
a wildcard fetch. | RedirServiceProvider entry to the dictionary stored in the tree | |||
3. If node n's Node-ID is the numerically lowest or highest among | node associated with I(level,n.id) | |||
the Node-IDs stored in the tree node, node n MUST continue up the | ||||
tree towards the root (level 0), repeating steps 1 and 2. Node n | 4. If node n's Node-ID is the numerically lowest or highest among | |||
MUST continue this until it reaches either the root or a level at | the Node-IDs stored in the tree node associated with | |||
which n.id is not the lowest or highest Node-ID in the interval. | I(Lstart,n.id), node n MUST continue up the tree towards the root | |||
4. Node n MUST also walk down the tree through tree nodes associated | (level 0), repeating steps 2 and 3. Node n MUST continue this | |||
until it reaches either the root or a level at which n.id is not | ||||
the lowest or highest Node-ID in the interval I(level,n.id). | ||||
5. Node n MUST also walk down the tree through tree nodes associated | ||||
with the intervals I(Lstart,n.id),I(Lstart+1,n.id),..., at each | with the intervals I(Lstart,n.id),I(Lstart+1,n.id),..., at each | |||
step fetching the current contents of the tree node, and storing | step fetching the current contents of the tree node, and storing | |||
its redirServiceProvider record if n.id is the lowest or highest | its redirServiceProvider record if n.id is the lowest or highest | |||
Node-ID in the interval. Node n MUST end this downward walk when | Node-ID in the interval. Node n MUST end this downward walk when | |||
it reaches a level at which it is the only service provider in | it reaches a level at which it is the only service provider in | |||
the interval. | the interval. | |||
Note that above, when we refer to 'the tree node associated with | ||||
I(l,k)', we mean the entire tree node (that is, all the intervals | ||||
within the tree node) responsible for interval I(l,k). In contrast, | ||||
I(l,k) refers to a specific interval within a tree node. | ||||
4.4. Refreshing Registrations | 4.4. Refreshing Registrations | |||
All state in the ReDiR tree is soft. If an entry (Node-ID) is not | All state in the ReDiR tree is soft. If an entry (Node-ID) is not | |||
refreshed for redirRefreshPeriod seconds, it MUST be dropped from the | refreshed for redirRefreshPeriod seconds, it MUST be dropped from the | |||
dictionary by the peer storing the tree node. redirRefreshPeriod is a | dictionary by the peer storing the tree node. redirRefreshPeriod is a | |||
new element in the RELOAD overlay configuration document (see | new element in the RELOAD overlay configuration document (see | |||
Section 8). Every service provider MUST repeat the entire | Section 8). Every service provider MUST repeat the entire | |||
registration process periodically until it leaves the RELOAD Overlay | registration process periodically until it leaves the RELOAD Overlay | |||
Instance. | Instance. | |||
skipping to change at page 8, line 38 | skipping to change at page 8, line 48 | |||
4.5. Service Lookups | 4.5. Service Lookups | |||
The purpose of a service lookup on identifier k in namespace ns is to | The purpose of a service lookup on identifier k in namespace ns is to | |||
find the node that has joined ns whose identifier most immediately | find the node that has joined ns whose identifier most immediately | |||
follows identifier k. | follows identifier k. | |||
A service lookup is similar to the registration operation. The | A service lookup is similar to the registration operation. The | |||
service lookup starts from some level level=Lstart (see Section 4.2 | service lookup starts from some level level=Lstart (see Section 4.2 | |||
for the details on selecting the starting level). At each step, the | for the details on selecting the starting level). At each step, the | |||
node n wishing to discover a service provider MUST fetch the current | node n wishing to discover a service provider MUST fetch the tree | |||
interval I(level,n.id) using a RELOAD Fetch request and MUST | node associated with the current interval I(level,n.id) using a | |||
determine where to look next as follows: | RELOAD Fetch request and MUST determine where to look next as | |||
follows: | ||||
1. If the successor of node n is not present in the tree node | 1. If the successor of node n is not present in the tree node | |||
associated with I(level,n.id), then its successor must occur in a | associated with I(level,n.id), then its successor must occur in a | |||
larger range of the keyspace. Node n MUST set level=level-1 and | larger range of the keyspace. Node n MUST set level=level-1 and | |||
try again. | try again. | |||
2. If n.id is sandwiched between two Node-IDs in I(level,n.id), the | 2. If n.id is sandwiched between two Node-IDs in I(level,n.id), the | |||
successor must lie somewhere in I(level,n.id). Node n MUST set | successor must lie somewhere in I(level,n.id). Node n MUST set | |||
level=level+1 and repeat. | level=level+1 and repeat. | |||
3. Otherwise, there is a Node-ID s stored in the node associated | 3. Otherwise, there is a Node-ID s stored in the node associated | |||
with I(level,n.id) whose identifier succeeds n.id, and there are | with I(level,n.id) whose identifier succeeds n.id, and there are | |||
no Node-IDs between n.id and s. Thus, s must be the closest | no Node-IDs between n.id and s. Thus, s must be the closest | |||
successor of n.id, and the lookup is done. | successor of n.id, and the lookup is done. | |||
Note that above, when we refer to 'the tree node associated with | ||||
I(l,k)', we mean the entire tree node (that is, all the intervals | ||||
within the tree node) responsible for interval I(l,k). In contrast, | ||||
I(l,k) refers to a specific interval within a tree node. | ||||
4.6. Removing Registrations | 4.6. Removing Registrations | |||
Before leaving the RELOAD Overlay Instance, a service provider MUST | Before leaving the RELOAD Overlay Instance, a service provider MUST | |||
remove the redirServiceProvider records it has stored by storing | remove the redirServiceProvider records it has stored by storing | |||
"nonexistent" values in their place, as described in | "nonexistent" values in their place, as described in | |||
[I-D.ietf-p2psip-base]. | [I-D.ietf-p2psip-base]. | |||
5. Access Control Rules | 5. Access Control Rules | |||
As specified in RELOAD base [I-D.ietf-p2psip-base], every kind which | As specified in RELOAD base [I-D.ietf-p2psip-base], every kind which | |||
skipping to change at page 10, line 26 | skipping to change at page 10, line 36 | |||
Access Control | Access Control | |||
The access control policy for the REDIR kind is the NODE-ID-MATCH | The access control policy for the REDIR kind is the NODE-ID-MATCH | |||
policy that was defined in Section 5. | policy that was defined in Section 5. | |||
7. Example | 7. Example | |||
Figure 2 shows an example of a ReDiR tree containing information | Figure 2 shows an example of a ReDiR tree containing information | |||
about four different service providers whose Node-IDs are 2, 3, 4, | about four different service providers whose Node-IDs are 2, 3, 4, | |||
and 7. Initially, the ReDiR tree is empty. | and 7. Initially, the ReDiR tree is empty. | |||
Level 0 ____2_3_________7_|__________________ | Level 0 ____2_3___4_____7_|__________________ | |||
| | | | | | |||
Level 1 ____2_3_|_4_____7 ________|________ | Level 1 ____2_3_|_4_____7 ________|________ | |||
| | | | | | | | | | |||
Level 2 ___|2_3 4__|__7 ___|___ ___|___ | Level 2 ___|2_3 4__|__7 ___|___ ___|___ | |||
| | | | | | | | | | | | | | | | | | |||
Level 3 _|_ _|3 4|_ _|_ _|_ _|_ _|_ _|_ | Level 3 _|_ _|3 _|_ _|_ _|_ _|_ _|_ _|_ | |||
Figure 2: Example of a ReDiR tree | Figure 2: Example of a ReDiR tree | |||
First, peer 2 whose Node-ID is 2 joins the namespace. Since this is | First, peer 2 whose Node-ID is 2 joins the namespace. Since this is | |||
the first registration peer 2 performs, peer 2 sets the starting | the first registration peer 2 performs, peer 2 sets the starting | |||
level Lstart to 2, as was described in Section 4.2. Also all other | level Lstart to 2, as was described in Section 4.2. Also all other | |||
peers in this example will start from level 2. Peer 2 stores a | peers in this example will start from level 2. First, peer 2 fetches | |||
RedirServiceProvider record containing its Node-ID in the tree node | the contents of the tree node associated with interval I(2,2) from | |||
associated with interval I(2,2). Peer 2 also fetches the contents of | the overlay. Peer 2 also stores its RedirServiceProvider record in | |||
that tree node from the overlay. Since peer 2's Node-ID is the only | that tree node. Since peer 2's Node-ID is the only Node-ID stored in | |||
Node-ID stored in the interval, peer 2 continues up the tree. In | the tree node (i.e., peer 2's Node-ID fulfills the condition that it | |||
fact, peer 2 continues up in the tree all the way to the root | is the numerically lowest or highest among the keys stored in the | |||
inserting its own Node-ID in all levels since the tree is empty. As | node), peer 2 continues up the tree. In fact, peer 2 continues up in | |||
described in Section 4.3, peer 2 also walks down the tree. The | the tree all the way to the root inserting its own Node-ID in all | |||
levels since the tree is empty (which means that peer 2's Node-ID | ||||
always fulfills the condition that it is the numerically lowest or | ||||
highest Node-ID in the interval I(level, 2) during the upward walk). | ||||
As described in Section 4.3, peer 2 also walks down the tree. The | ||||
downward walk peer 2 does ends at level 2 since peer 2 is the only | downward walk peer 2 does ends at level 2 since peer 2 is the only | |||
node in its interval at that level. | node in its interval at that level. | |||
The next peer to join the namespace is peer 3, whose Node-ID is 3. | The next peer to join the namespace is peer 3, whose Node-ID is 3. | |||
Peer 3 starts from level 2. At that level, peer 3 stores its Node-ID | Peer 3 starts from level 2. At that level, peer 3 stores its | |||
in the same interval I(2,3) that already contains the Node-ID of peer | RedirServiceProvider record in the same interval I(2,3) that already | |||
2. Since peer 3 has the numerically highest Node-ID in the interval, | contains the Node-ID of peer 2. Since peer 3 has the numerically | |||
it continues up the tree. Peer 3 stores its node-ID also at levels 1 | highest Node-ID in the tree node associated with I(2,3), peer 3 | |||
and 0 since its Node-ID is numerically highest among the Node-IDs | continues up the tree. Peer 3 stores its RedirServiceProvider record | |||
stored in the tree nodes it fetches. Peer 3 also does a downward | also at levels 1 and 0 since its Node-ID is numerically highest among | |||
walk which starts from level 2 (i.e., the starting level). Since | the Node-IDs stored in the intervals to which its own Node-ID | |||
peer 3 is not the only node in interval I(2,3), it continues down the | belongs. Peer 3 also does a downward walk which starts from level 2 | |||
tree to level 3. The downward walk ends at this level since peer 3 | (i.e., the starting level). Since peer 3 is not the only node in | |||
is the only entry in the interval I(3,3). | interval I(2,3), it continues down the tree to level 3. The downward | |||
walk ends at this level since peer 3 is the only service provider in | ||||
the interval I(3,3). | ||||
The third peer to join the namespace is peer 7, whose Node-ID is 7. | The third peer to join the namespace is peer 7, whose Node-ID is 7. | |||
Like the two earlier peers, also peer 7 starts from level 2 because | Like the two earlier peers, also peer 7 starts from level 2 because | |||
this is the first registration it performs. Peer 7 stores its | this is the first registration it performs. Peer 7 stores its | |||
RedirServiceProvider record at level 2. At level 1, peer 7 has the | RedirServiceProvider record at level 2. At level 1, peer 7 has the | |||
numerically highest Node-ID (because it is the only node in interval | numerically highest (and lowest) Node-ID in its interval I(1,7) | |||
I(1,7); peers 2 and 3 are stored in the same tree node but in a | (because it is the only node in interval I(1,7); peers 2 and 3 are | |||
different interval) and therefore it stores its Node-ID in the tree | stored in the same tree node but in a different interval) and | |||
node associated with interval I(1,7). Peer 7 also has the | therefore it stores its Node-ID in the tree node associated with that | |||
numerically highest Node-ID in the interval I(0,7) associated with | interval. Peer 7 also has the numerically highest Node-ID in the | |||
its Node-ID at level 0. Peer 7 also does a downward walk, which ends | interval I(0,7) associated with its Node-ID at level 0. Finally, | |||
at level 2 because peer 7 is the only node in its interval at that | peer 7 performs a downward walk, which ends at level 2 because peer 7 | |||
level. | is the only node in its interval at that level. | |||
The final peer to join the ReDiR tree is peer 4, whose Node-ID is 4. | The final peer to join the ReDiR tree is peer 4, whose Node-ID is 4. | |||
Peer 4 starts by storing its RedirServiceProvider record at level 2. | Peer 4 starts by storing its RedirServiceProvider record at level 2. | |||
Since it is the only peer associated with interval I(2,4), it | Since it has the numerically lowest Node-ID in the tree node | |||
continues up in the tree to level 1. At level 1, peer 4 stores its | associated with interval I(2,4), it continues up in the tree to level | |||
record in the tree node associated with interval I(1,4) because it | 1. At level 1, peer 4 stores its record in the tree node associated | |||
has the numerically lowest Node-ID in that interval. Next, peer 4 | with interval I(1,4) because it has the numerically lowest Node-ID in | |||
continues to the root level. At the root level, there are other | that interval. Next, peer 4 continues to the root level, at which it | |||
peers having higher and lower Node-IDs than peer 4 in interval | stores its RedirServiceProvider record and finishes the upward walk | |||
I(0,4). Therefore, peer 4 does not store a RedirServiceProvider | since the root level was reached. Peer 4 also does a downward walk | |||
record at the tree node associated with the interval I(0,4). Peer 4 | starting from level 2. The downward walk stops at level 2 because | |||
also does a downward walk starting from level 2. The downward walk | peer 4 is the only peer in the interval I(2,4). | |||
stops at level 3 because peer 4 is the only peer in the interval | ||||
I(3,4). | ||||
8. Overlay Configuration Document Extension | 8. Overlay Configuration Document Extension | |||
This document extends the RELOAD overlay configuration document by | This document extends the RELOAD overlay configuration document by | |||
adding two new elements inside each "configuration" element. | adding two new elements inside each "configuration" element. | |||
redirBranchingFactor: The branching factor of the ReDir tree. The | redirBranchingFactor: The branching factor of the ReDir tree. The | |||
default value is 10. | default value is 10. | |||
redirRefreshPeriod: The interval at which a service provider needs | redirRefreshPeriod: The interval at which a service provider needs | |||
skipping to change at page 13, line 5 | skipping to change at page 13, line 20 | |||
This kind-ID was defined in Section 6. | This kind-ID was defined in Section 6. | |||
11. References | 11. References | |||
11.1. Normative References | 11.1. Normative References | |||
[I-D.ietf-p2psip-base] | [I-D.ietf-p2psip-base] | |||
Jennings, C., Lowekamp, B., Rescorla, E., Baset, S., and | Jennings, C., Lowekamp, B., Rescorla, E., Baset, S., and | |||
H. Schulzrinne, "REsource LOcation And Discovery (RELOAD) | H. Schulzrinne, "REsource LOcation And Discovery (RELOAD) | |||
Base Protocol", draft-ietf-p2psip-base-06 (work in | Base Protocol", draft-ietf-p2psip-base-08 (work in | |||
progress), November 2009. | progress), March 2010. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
11.2. Informative References | 11.2. Informative References | |||
[I-D.ietf-p2psip-concepts] | [I-D.ietf-p2psip-concepts] | |||
Bryan, D., Matthews, P., Shim, E., Willis, D., and S. | Bryan, D., Matthews, P., Shim, E., Willis, D., and S. | |||
Dawkins, "Concepts and Terminology for Peer to Peer SIP", | Dawkins, "Concepts and Terminology for Peer to Peer SIP", | |||
draft-ietf-p2psip-concepts-02 (work in progress), | draft-ietf-p2psip-concepts-02 (work in progress), | |||
End of changes. 20 change blocks. | ||||
76 lines changed or deleted | 88 lines changed or added | |||
This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |