Subject: Re: [decade] DECADE Charter discussion (Song Haibin)

From: Tao Ma <[email-masked]>
Date: Thu, 24 Sep 2009 09:42:59 +0800

Hi,
   Two questions:
1 Does the introduction of DECADE bring some changes to P2P application
protocols? To my understanding,  "a peer can choose to store content in the
in-network storage, and direct other peers to retrieve from that location"
means some changes to P2P application protocols. How does DECADE protocol
and current P2P application protocol integrate or interact with each other?
2 I am curious about the so-called in-network storage system. Would DECADE
WG add some description about  the in-network storage system including its
current situation and componets ?
0.1 cents
Thank you:)

Tao Ma
Beijing University of Posts and Telecommunications, Mobile lIfe and New
mEdia(MINE) Lab

---

From: "David A. Bryan" <[email-masked]>
Date: Wed, 23 Sep 2009 22:30:23 -0400

My thought is that an application or protocol may need some changes to
take full advantage of DECADE, depending on what mechanisms may (or
may not) exist in the application/protocol.

For example, you will need a way to be provided a link as a response
for a query. If the application already replies with a multi-protocol
link (for example if you can reply with an HTTP link and some other
protocol), you are probably in good shape. However, I suspect there
are a large number of applications that may not behave this way today.

For example, imagine a protocol where you search for a value, and it
immediately returns the object (not a link/reference to it). In such a
case, you would need a change. To phrase it another way, if you have
two primitives like search (to locate the responsible location) and
retrieve (to get the object), particularly if the location to retrieve
from is given as a link, you may be able to work with DECADE with a
fairly simple change. If it is an atomic "fetch" operation, you likely
need a more radical change.

Another consideration is the security mechanism. The
application/protocol will need to be able to pass credentials to the
person retrieving the object that will allow them to access the object
stored in the in network storage. This feature may very well not be
supported in the current protocol.

I'm sure there are other changes that you may need, so yes, I expect
most applications/protocol will need some modifications. I think once
there is widespread deployment of DECADE servers, however, that the
incentive of better performance (not to mention increased availability
of resources when peers are offline) would be enough that at least
some P2P applications would implement it.

Do we have some P2P application developers here can comment? (I've
implemented many P2P apps, but all for communications (VoIP, IM, etc),
so we didn't really do object storage beyond rather small things like
VM and configuration files...)

David

On Wed, Sep 23, 2009 at 9:42 PM, Tao Ma <[email-masked]> wrote:
> _______________________________________________
> decade mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/decade
>
>

---

From: Tao Ma <[email-masked]>
Date: Thu, 24 Sep 2009 11:41:19 +0800

Hi,
   I think the least changes to most populalar P2P application should be a
philosophy or principle of designing DECADE protocol. Thus,  the analysis
and evaluation of the future interaction with the current P2P application as
David did in the mail would be necessary.
   Regards
Tao Ma
Beijing University of Posts and Telecommunications, Mobile lIfe and New
mEdia(MINE) Lab

2009/9/24 David A. Bryan <[email-masked]>

---

From: Song Haibin <[email-masked]>
Date: Thu, 24 Sep 2009 11:51:13 +0800

Hi,
 
Yes, there could be a little changes to the existing P2P applications to use
DECADE as David said. That's also what one delivery document is going to do.

-  An informational document describing the integration of DECADE with
existing P2P applications (e.g., integration with Bittorrent).

Thanks!
Haibin

________________________________

	From: Tao Ma [mailto:[email-masked]] 
	Sent: Thursday, September 24, 2009 11:41 AM
	To: David A. Bryan
	Cc: Song Haibin; [email-masked]; Chunhong Zhang
	Subject: Re: [decade] DECADE Charter discussion (Song Haibin)

	Hi,
	   I think the least changes to most populalar P2P application
should be a philosophy or principle of designing DECADE protocol. Thus,  the
analysis and evaluation of the future interaction with the current P2P
application as David did in the mail would be necessary.
	   Regards
	Tao Ma
	Beijing University of Posts and Telecommunications, Mobile lIfe and
New mEdia(MINE) Lab

		My thought is that an application or protocol may need some
changes to
		take full advantage of DECADE, depending on what mechanisms
may (or
		may not) exist in the application/protocol.
		
		For example, you will need a way to be provided a link as a
response
		for a query. If the application already replies with a
multi-protocol
		link (for example if you can reply with an HTTP link and
some other
		protocol), you are probably in good shape. However, I
suspect there
		are a large number of applications that may not behave this
way today.
		
		For example, imagine a protocol where you search for a
value, and it
		immediately returns the object (not a link/reference to it).
In such a
		case, you would need a change. To phrase it another way, if
you have
		two primitives like search (to locate the responsible
location) and
		retrieve (to get the object), particularly if the location
to retrieve
		from is given as a link, you may be able to work with DECADE
with a
		fairly simple change. If it is an atomic "fetch" operation,
you likely
		need a more radical change.
		
		Another consideration is the security mechanism. The
		application/protocol will need to be able to pass
credentials to the
		person retrieving the object that will allow them to access
the object
		stored in the in network storage. This feature may very well
not be
		supported in the current protocol.
		
		I'm sure there are other changes that you may need, so yes,
I expect
		most applications/protocol will need some modifications. I
think once
		there is widespread deployment of DECADE servers, however,
that the
		incentive of better performance (not to mention increased
availability
		of resources when peers are offline) would be enough that at
least
		some P2P applications would implement it.
		
		Do we have some P2P application developers here can comment?
(I've
		implemented many P2P apps, but all for communications (VoIP,
IM, etc),
		so we didn't really do object storage beyond rather small
things like
		VM and configuration files...)
		
		David

---

From: Song Haibin <[email-masked]>
Date: Thu, 24 Sep 2009 14:00:22 +0800

I removed my name from the subject.

Thanks!
Haibin

>-----Original Message-----
>From: [email-masked] [mailto:[email-masked]] 
>On Behalf Of Song Haibin
>Sent: Thursday, September 24, 2009 11:51 AM
>To: 'Tao Ma'; 'David A. Bryan'
>Cc: [email-masked]; 'Chunhong Zhang'
>Yes, there could be a little changes to the existing P2P 
>applications to use DECADE as David said. That's also what one 
>delivery document is going to do.
>
>>
>-  An informational document describing the integration of 
>DECADE with existing P2P applications (e.g., integration with 
>Bittorrent).
> >
>
>Thanks!
>Haibin
>
>  
>
> 
>
>
>	   I think the least changes to most populalar P2P 
>application should be a philosophy or principle of designing 
>DECADE protocol. Thus,  the analysis and evaluation of the 
>future interaction with the current P2P application as David 
>did in the mail would be necessary.
>	   Regards
>	Tao Ma
>	Beijing University of Posts and Telecommunications, 
>Mobile lIfe and New mEdia(MINE) Lab
>	
>

---

From: Richard Alimi <[email-masked]>
Date: Thu, 24 Sep 2009 09:46:29 -0400

Hi David,

> VM and configuration files...)

While I wouldn't classify myself as a "P2P application developer", I can 
comment a bit on how we accomplished our integration of BitTorrent with our 
Sailor work.  This is certainly not the only way it can be done, but I'm 
mentioning it to give some intuition.  We integrated with Vuze (formerly 
Azureus) as a plugin, so some of our implementation reflects what could be 
reasonably accomplished within Vuze's Plugin API (e.g., we avoided changing 
formats for existing messages).

After the initial handshake, peer A and B send each other a message 
identifying the name/address and an identifier which uniquely identifies the 
in-network storage used by a peer.  If a peer does not receive the additional 
handshake message from the other peer, it assumes the other peer does not 
support the extension, and falls back to the traditional BitTorrent protocol. 
For the remainder, lets assume both peers support in-network storage. Note 
that they may or may not have access to in-network storage of their own, but 
they understand the protocol.

At a high-level, we added two messages:

1) slr-bt-request: This is a request for a block from peer A to peer B that
   includes an access token for A's in-network storage.  Peer B may use the
   token to directly store the block in A's storage.  We use this message
   instead of BitTorrent's 'request' message.

2) slr-bt-direct: This is used by peer B to indicate to peer A where to
   retrieve the block. If peer B is using its own in-network storage,
   then it includes an access token, and peer A downloads data from B's
   in-network storage into its own storage, and then retrieves the block.
   If B is not using its own in-network storage, then B stores the block
   in to A's storage (using the token received from A), and A retrieves it
   from there.

There are a couple more specifics here that handle the cases when one or both 
of the peers do not have access to in-network storage themselves (e.g., if 
their ISP has not yet offered the service).  If you are interested in the 
details, I'd be happy to fill them in.  I left them out for now since the 
details may not be constructive at this point in the DECADE discussion :)

-- 
Richard Alimi
Department of Computer Science
Yale University

---

From: "David A. Bryan" <[email-masked]>
Date: Thu, 24 Sep 2009 10:33:10 -0400

Thanks, Richard. I think this really useful to see -- a bit of a twist
on what I was thinking. I think there are likely to be a number of
clever ways (similar to this) that could be used to integrate existing
applications with DECADE, and one hopes, make it as painless of a
process for the developers as possible -- the less pain, the greater
the adoption.

David

---

From: Tao Ma <[email-masked]>
Date: Fri, 25 Sep 2009 14:48:37 +0800

Hi,
I am interested in your Sailor work. Would you give me the website link or
are there some papers about your Sailor project? Thanks.
Tao Ma
Mobile lIfe and New mEdia(MINE) Lab
Beijing University of Posts and Telecommunications

2009/9/24 Richard Alimi <[email-masked]>