Design Considerations for a DECADE SDT draft-kutscher-decade-protocol-00 draft-kutscher-decade-protocol-00
Dirk.Kutscher@neclab.eu Martin Stiemerling@neclab.eu Jan Seedorf@neclab.eu
IETF-82, Taipei DECADE WG
1
Design Considerations for a DECADE SDT - - PowerPoint PPT Presentation
Design Considerations for a DECADE SDT draft-kutscher-decade-protocol-00 draft-kutscher-decade-protocol-00 Dirk.Kutscher@neclab.eu Martin Stiemerling@neclab.eu Jan Seedorf@neclab.eu IETF-82, Taipei DECADE WG 1 Background DECADE
IETF-82, Taipei DECADE WG
1
2
– Expected to leverage existing transport / application protocols
– Not an actual protocol – Intended to be used with an SDT instantiation
– Want to name resources globally uniquely – Same name for all replicas of a resource (on different servers)
3
4
5
– Globally unique names – Application-independent – Name-content binding through hashes
– Key function: representing object hashes, with hash identifier – Support for different hash algorithms – Extensibility mechanism for application-specific URI parameters – Defined mapping from NI URIs to HTTP URIs
6 !"#$% &'(")*' !"#$% +,'%(
7 &'(")*' !"#$% (&'(")*')-""*- !"#$%
!"#$%
+.."*,(&'(")*'..#/0
8
+.."*,(&'(")*'..#/0
!"#$%
+..,..%%
!"#$%
+.."*,(&'(")*'..#/0
9
+.."*,(&'(")*'..#/0
!"#$%
+..,..%%
) ) ) )
) ) )
12322245/6222327 12322245/6222327 12322245/6222327
)2!22222222222222228 )2!22222222222222228 )2!22222222222222228
922222222 922222222 922222222: : : : )2;<2. )2;<2. )2;<2. )2;<2. *22222222222222222222222222222222222222 *22222222222222222222222222222222222222 *22222222222222222222222222222222222222 *22222222222222222222222222222222222222: : : : =*-"*.2!% =*-"*.2!% =*-"*.2!% =*-"*.2!% 5=;>6222222222222222222222222222222222222222 5=;>6222222222222222222222222222222222222222 5=;>6222222222222222222222222222222222222222 5=;>6222222222222222222222222222222222222222: : : : 5=;>2?24=6 5=;>2?24=6 5=;>2?24=6 5=;>2?24=6 @222222222222A)2/((2B<222222222222@ @222222222222A)2/((2B<222222222222@ @222222222222A)2/((2B<222222222222@ @222222222222A)2/((2B<222222222222@ ) ) ) )
)27 )27 )27
) ) )
) ) ) 320. 320. 320. 320.
>*2/23222222222222222222222222222222320. >*2/23222222222222222222222222222222320. >*2/23222222222222222222222222222222320.
>*223 >*223 >*223 8 8 8 8
92 92 92
128 128 128
C C C D)2/((2B(*25*6 D)2/((2B(*25*6 D)2/((2B(*25*6 D)2/((2B(*25*6
10
D)2/((2B(*25*6 D)2/((2B(*25*6 D)2/((2B(*25*6 D)2/((2B(*25*6
) ) ) )
) ) )
12322245/6222327 12322245/6222327 12322245/6222327
)2!22222222222222228 )2!22222222222222228 )2!22222222222222228
922222222 922222222 922222222: : : : )2;<2. )2;<2. )2;<2. )2;<2. *22222222222222222222222222222222222222 *22222222222222222222222222222222222222 *22222222222222222222222222222222222222 *22222222222222222222222222222222222222: : : : =*-"*.2!% =*-"*.2!% =*-"*.2!% =*-"*.2!% 5=;>6222222222222222222222222222222222222222 5=;>6222222222222222222222222222222222222222 5=;>6222222222222222222222222222222222222222 5=;>6222222222222222222222222222222222222222: : : : 5=;>2?24=6 5=;>2?24=6 5=;>2?24=6 5=;>2?24=6 @222222222222A)2/((2B<222222222222@ @222222222222A)2/((2B<222222222222@ @222222222222A)2/((2B<222222222222@ @222222222222A)2/((2B<222222222222@ ) ) ) )
)27 )27 )27
) ) )
) ) ) 320. 320. 320. 320.
>*2/23222222222222222222222222222222320. >*2/23222222222222222222222222222222320. >*2/23222222222222222222222222222222320.
>*223 >*223 >*223 8 8 8 8
92 92 92
128 128 128
C C C D)2/((2B(*25*6 D)2/((2B(*25*6 D)2/((2B(*25*6 D)2/((2B(*25*6
– When referring a user to a DECADE server
– Seems preferable, since protocol-independent
11
D)2/((2B(*25*6 D)2/((2B(*25*6 D)2/((2B(*25*6 D)2/((2B(*25*6
) ) ) )
) ) )
12322245/6222327 12322245/6222327 12322245/6222327
)2!22222222222222228 )2!22222222222222228 )2!22222222222222228
922222222 922222222 922222222: : : : )2;<2. )2;<2. )2;<2. )2;<2. *22222222222222222222222222222222222222 *22222222222222222222222222222222222222 *22222222222222222222222222222222222222 *22222222222222222222222222222222222222: : : : =*-"*.2!% =*-"*.2!% =*-"*.2!% =*-"*.2!% 5=;>6222222222222222222222222222222222222222 5=;>6222222222222222222222222222222222222222 5=;>6222222222222222222222222222222222222222 5=;>6222222222222222222222222222222222222222: : : : 5=;>2?24=6 5=;>2?24=6 5=;>2?24=6 5=;>2?24=6 @222222222222A)2/((2B<222222222222@ @222222222222A)2/((2B<222222222222@ @222222222222A)2/((2B<222222222222@ @222222222222A)2/((2B<222222222222@ ) ) ) )
)27 )27 )27
) ) )
) ) ) 320. 320. 320. 320.
>*2/23222222222222222222222222222222320. >*2/23222222222222222222222222222222320. >*2/23222222222222222222222222222222320.
>*223 >*223 >*223 8 8 8 8
92 92 92
128 128 128
C C C D)2/((2B(*25*6 D)2/((2B(*25*6 D)2/((2B(*25*6 D)2/((2B(*25*6
12
D)2/((2B(*25*6 D)2/((2B(*25*6 D)2/((2B(*25*6 D)2/((2B(*25*6
system protocols may provide different capabilities for organizing resources in hierarchical structures
– Collections, file system directories etc.
– For instance: collecting all chunks of a larger object into one collection
– For instance: collecting all chunks of a larger object into one collection
– It‘s a server implementation thing – SDT does not want to know about – DECADE has unique naming feature – Can structure objects on application layer by listing them in an index file (think torrent files)
collections
– Simpler implementations – better interoperability!
13
communication
– Servers to redistribute objects to other servers
),,,,,,,,,,,,,)222222222=;>2222222222),,,,,,,,,,,,,) ),,,,,,,,,,,,,)222222222=;>2222222222),,,,,,,,,,,,,) ),,,,,,,,,,,,,)222222222=;>2222222222),,,,,,,,,,,,,) ),,,,,,,,,,,,,)222222222=;>2222222222),,,,,,,,,,,,,) 3222=0E/=02222327 3222=0E/=02222327 3222=0E/=02222327 3222=0E/=02222327
123222=0E/=022223 123222=0E/=022223 123222=0E/=022223 32224B@B2222327 32224B@B2222327 32224B@B2222327 32224B@B2222327
1232224B@B22223 1232224B@B22223 1232224B@B22223 8,,,,,,,,,,,,,92222222224=22222222228,,,,,,,,,,,,,9 8,,,,,,,,,,,,,92222222224=22222222228,,,,,,,,,,,,,9 8,,,,,,,,,,,,,92222222224=22222222228,,,,,,,,,,,,,9 8,,,,,,,,,,,,,92222222224=22222222228,,,,,,,,,,,,,9
– Would like to specify a set of target servers
method
– Would be nice to find a way around this – Would prefer not to loose interoperability with vanilla servers
14
15
16
17
storage provider;
reading the value of a data object;
such as NFS, iSCSI, WebDAV etc.;
select data objects based on filter/search
and
providing first-in, first-out access for storing and retrieving data;
allowing a client to find out about the subset of CDMI features that a server supports;
18
select data objects based on filter/search expressions;
specify subsets of data objects to be returned);
notifying clients about changes to a file system or to certain objects); and
data objects based on meta data or content search expressions).
storage provider;
reading the value of a data object;
such as NFS, iSCSI, WebDAV etc.;
select data objects based on filter/search
and
providing first-in, first-out access for storing and retrieving data;
allowing a client to find out about the subset of CDMI features that a server supports;
19
select data objects based on filter/search expressions;
specify subsets of data objects to be returned);
notifying clients about changes to a file system or to certain objects); and
data objects based on meta data or content search expressions).
20
21
(..)&'(")*'B**.'*!%.FDD
3222G222232A232232D322222223222223332F323AG3))3DF3D3 3222G222232A232232D322222223222223332F323AG3))3DF3D3 3222G222232A232232D322222223222223332F323AG3))3DF3D3 3 3 3 3;B@.30B(B3;B@.3H3E;E ;B@.30B(B3;B@.3H3E;E ;B@.30B(B3;B@.3H3E;E ;B@.30B(B3;B@.3H3E;E32*(<2.222223 32*(<2.222223 32*(<2.222223 32*(<2.222223 325B*62322#'!B22325B*62322222232223222222222222222223 325B*62322#'!B22325B*62322222232223222222222222222223 325B*62322#'!B22325B*62322222232223222222222222222223 325B*62322#'!B22325B*62322222232223222222222222222223
22
23
– Want to specify the DECADE NI profile – With extensions for locators
– Keep application layer features to application (re: collections)
– Keep application layer features to application (re: collections) – Try not to break interoperability with existing gear
– Goal: do not exclude leveraging CDMI by design – ideally requiring
– SDT with CDMI can probably be done – have to do it carefully – Quesition is whether this should be the baseline SDT spec – Proposed way forward: enable SDT implementation leveraging CDMI implementations
24