Subject: [nwcrg] Network Coding Architecture

From: Victor Firoiu <[email-masked]>
Date: Tue, 11 Nov 2014 14:39:51 -0500

Dear Netcoders,

In preparation for our meeting on Friday, here is a draft presentation with
a few ideas and proposals for Network Coding Architecture. It outlines
functional areas and building blocks, along with several use cases
providing examples of constructing Network Coding protocol instances out of
building blocks.

You can find the draft at
http://www.ietf.org/proceedings/91/slides/slides-91-nwcrg-0.pdf

Please comment on the list as well as in our meeting on Friday.

Best,

Victor

---

From: Marie-Jose Montpetit <[email-masked]>
Date: Tue, 11 Nov 2014 19:46:08 +0000

Thanks Victor!

List:

I cannot be at the meeting but here are my inputs.

- You will see that the slides contain a fairly complete architecture that I suppose will end up in a WG draft? What will happen to draft-firoiu-nwcrg-network-coding-taxonomy-01?

- And I am sure the document will surprise you as the list has been very quiet. True, a lot of the work has been done off list which may annoy some of you. I myself would recommend that in the future, edits to the architecture should be done from recommendations from the whole list. I thank Victor for his hard work trying to get his, Brian's, Vincent's and my ideas together but I am sure that as the chair there will be increased burden on him and to have more people involved in commenting would maybe help him as both author and editor. I am also used to very open lists in the IETF and I would believe (Lars correct me if not) that the IRTF is similar.

- There are of course many aspects of the architecture that will raise I am sure at lot of discussions at the meeting hence the risk to have all the time of this set of slides only.  I would propose a change in the agenda to allow the Fulcrum and Tetrys teams to be able to present their solution to the group first as I think they will influence how the use cases are perceived now that there are different network codes in the solution set. That could lead to further thinking/discussion on ideas of cooperation/federation between solutions. 

- Finally I am concerned about the patents in the field that could lead to infringement if some of the elements of the architecture were to be implemented. I have seen or heard of patents for the different approaches to the coding coefficients, TCP with network coding and network coded specific congestion control. I know that some members of the list have done extensive patent searches on solutions and I would like to know more.

I am sorry I cannot be at the meeting. I will try to follow remotely but this is always iffy. Hence the note above.

Looking forward to much more discussion on the list!!!

Have a super meeting! And thanks again Victor (and my other co-authors!)

Marie-Jose Montpetit, Ph.D.
[email-masked]
@SocialTVMIT

> On Nov 11, 2014, at 2:39 PM, Victor Firoiu <[email-masked]> wrote:
> 
> Dear Netcoders,
> 
> In preparation for our meeting on Friday, here is a draft presentation with a few ideas and proposals for Network Coding Architecture. It outlines functional areas and building blocks, along with several use cases providing examples of constructing Network Coding protocol instances out of building blocks.
> 
> http://www.ietf.org/proceedings/91/slides/slides-91-nwcrg-0.pdf <http://www.ietf.org/proceedings/91/slides/slides-91-nwcrg-0.pdf>
> 
> _______________________________________________
> nwcrg mailing list
> [email-masked]
> https://www.irtf.org/mailman/listinfo/nwcrg

---

From: Victor Firoiu <[email-masked]>
Date: Tue, 11 Nov 2014 15:14:06 -0500

The taxonomy document is resubmitted as an RG draft, as we decided during
the meeting in London. It will have the name
draft-nwcrg-network-coding-taxonomy-00.txt.

I also wanted to send these ideas sooner, it took longer than expected to
merge them. As always, I encourage all to send their ideas and comments on
the mail list at any time.

Our agenda that I sent to the mail list a month ago and also uploaded at
http://www.ietf.org/proceedings/91/agenda/agenda-91-nwcrg
has slots for talks in the first part of our meeting on Friday. We will
have plenty of time for both the talks and discussions on taxonomy and
architecture during our 2.5hr meeting.

Victor

On Tue, Nov 11, 2014 at 2:46 PM, Marie-Jose Montpetit <[email-masked]>
wrote:

> - You will see that the slides contain a fairly complete architecture that
> I suppose will end up in a WG draft? What will happen to
> draft-firoiu-nwcrg-network-coding-taxonomy-01?
>
> - And I am sure the document will surprise you as the list has been very
> quiet. True, a lot of the work has been done off list which may annoy some
> of you. I myself would recommend that in the future, edits to the
> architecture should be done from recommendations from the whole list. I
> thank Victor for his hard work trying to get his, Brian's, Vincent's and my
> ideas together but I am sure that as the chair there will be increased
> burden on him and to have more people involved in commenting would maybe
> help him as both author and editor. I am also used to very open lists in
> the IETF and I would believe (Lars correct me if not) that the IRTF is
> similar.
>
> - There are of course many aspects of the architecture that will raise I
> am sure at lot of discussions at the meeting hence the risk to have all the
> time of this set of slides only.  I would propose a change in the agenda to
> allow the Fulcrum and Tetrys teams to be able to present their solution to
> the group first as I think they will influence how the use cases are
> perceived now that there are different network codes in the solution set.
> That could lead to further thinking/discussion on ideas of
> cooperation/federation between solutions.
>
> - Finally I am concerned about the patents in the field that could lead to
> infringement if some of the elements of the architecture were to be
> implemented. I have seen or heard of patents for the different approaches
> to the coding coefficients, TCP with network coding and network coded
> specific congestion control. I know that some members of the list have done
> extensive patent searches on solutions and I would like to know more.
>
> I am sorry I cannot be at the meeting. I will try to follow remotely but
> this is always iffy. Hence the note above.
>
> In preparation for our meeting on Friday, here is a draft presentation
> with a few ideas and proposals for Network Coding Architecture. It outlines

---

From: Marie-Jose Montpetit <[email-masked]>
Date: Tue, 11 Nov 2014 20:18:37 +0000

Thanks!

/mjm

> On Nov 11, 2014, at 3:14 PM, Victor Firoiu <[email-masked]> wrote:
> 
> The taxonomy document is resubmitted as an RG draft, as we decided during the meeting in London. It will have the name draft-nwcrg-network-coding-taxonomy-00.txt.
> 
> I also wanted to send these ideas sooner, it took longer than expected to merge them. As always, I encourage all to send their ideas and comments on the mail list at any time.
> 
> http://www.ietf.org/proceedings/91/agenda/agenda-91-nwcrg <http://www.ietf.org/proceedings/91/agenda/agenda-91-nwcrg>
> has slots for talks in the first part of our meeting on Friday. We will have plenty of time for both the talks and discussions on taxonomy and architecture during our 2.5hr meeting.
> 
> Victor
> 
> 
> On Tue, Nov 11, 2014 at 2:46 PM, Marie-Jose Montpetit <[email-masked] <mailto:[email-masked]>> wrote:
> Thanks Victor!
> 
> List:
> 
> [email-masked] <mailto:[email-masked]>
> @SocialTVMIT
> 
>> On Nov 11, 2014, at 2:39 PM, Victor Firoiu <[email-masked] <mailto:[email-masked]>> wrote:
>> 
>> Dear Netcoders,
>> 
>> [email-masked] <mailto:[email-masked]>
>> https://www.irtf.org/mailman/listinfo/nwcrg <https://www.irtf.org/mailman/listinfo/nwcrg>
> 
>

---

From: "Morten V. Pedersen" <[email-masked]>
Date: Thu, 13 Nov 2014 00:01:09 +0100

Hi all,
I think the architectures / use-cases presented are all ones where 
network coding has potential. I agree with the items specified on the 
overview slide.

I very much agree that starting by looking at existing 
protocols/architectures and how network coding ideas/concepts could be 
integrated there, would be a good way for the research group to focus in 
on something concrete. What would maybe be relevant to discuss in this 
context is where to start?

 From my point two interesting working groups to look at would be the 
ppsp (peer-to-peer streaming protocol) and mptcp (multipath tcp).

I would be interested if the list has some more suggestions of existing 
architectures where network coding could have potential?

- M

On 11/11/2014 08:39 PM, Victor Firoiu wrote:
> with a few ideas and proposals for Network Coding Architecture. It
> outlines functional areas and building blocks, along with several use
> cases providing examples of constructing Network Coding protocol
> instances out of building blocks.
>

---

From: Marie-Jose Montpetit <[email-masked]>
Date: Wed, 12 Nov 2014 23:08:43 +0000

Do you have any?

> On Nov 12, 2014, at 6:01 PM, Morten V. Pedersen <[email-masked]> wrote:
> 
> Hi all,
> I think the architectures / use-cases presented are all ones where network coding has potential. I agree with the items specified on the overview slide.
> 
> I very much agree that starting by looking at existing protocols/architectures and how network coding ideas/concepts could be integrated there, would be a good way for the research group to focus in on something concrete. What would maybe be relevant to discuss in this context is where to start?
> 
> From my point two interesting working groups to look at would be the ppsp (peer-to-peer streaming protocol) and mptcp (multipath tcp).
> 
> I would be interested if the list has some more suggestions of existing architectures where network coding could have potential?
> 
> - M
> 
>

---

From: "Morten V. Pedersen" <[email-masked]>
Date: Thu, 13 Nov 2014 01:22:42 +0100

Yes, judging from your question I think I might have understood the:

"Start with several use cases with potential for practical applications, 
such as existing implementations"

bullet in the slides a bit different than intended.

So let me answer your question like this:

Do I have existing implementations not currently using network coding, 
but where network coding could have potential: No, but I think the ppsp 
and mptcp working groups might have.

Do I have existing implementations already using network coding we can 
survey and break into building blocks: Yes, and we can definitely look 
at those :) as an example we have a sliding window encoding block in the 
Kodo library, but which has some interesting architectural differences 
to Tetrys' elastic window encoder.

- M

---

From: Marie-Jose Montpetit <[email-masked]>
Date: Thu, 13 Nov 2014 04:10:27 +0000

"Do I have existing implementations not currently using network coding, but where network coding could have potential: No, but I think the ppsp and mptcp working groups might have."

There is much more SDN, TAPS, homenet maybe some others. The ppsp guys have specifically said they would not consider coding.

"we have a sliding window encoding block in the Kodo library, but which has some interesting architectural differences to Tetrys' elastic window encoder"
That could be an interesting presentation :-)

Thanks

---

From: Marie-Jose Montpetit <[email-masked]>
Date: Thu, 13 Nov 2014 11:18:26 +0000

But Morten all these groups will not be strictly interested in the Kodo library more by coded "solutions" and then whoever implements may or may not choose to use Kodo or some other library depending on the network code they choose. That's why the architecture is and should include the use cases that may make it to the IETF and then identify the compliant network codes and like the intro to the architecture says "promote innovation" :-)

> On Nov 12, 2014, at 11:10 PM, Marie-Jose Montpetit <[email-masked]> wrote:
>

---

From: Vincent Roca <[email-masked]>
Date: Thu, 13 Nov 2014 06:11:43 -1000

Hello,

I’m pretty sure there are WG potentially interested (DTN, now an IETF WG, might be an additional one).
But all of them are very focussed and will only consider a subset of the NC architecture and its set of BBs.
So there’s plenty of work to do in our NWC RG, with some use-cases and proposed solution in mind (since
it helps a lot), but we need to make sure the output remains coherent and has the required agility to fit
different targets. 
To your question, Morten, « where to start? », I’d answer: by discussing all together and identifying some
common parts, or the well identified elementary functional parts. The architectural presentation tries to start
this kind of discussion. I know you/others all have many ideas too. Let’s put them on the table.

Cheers,

  Vincent

---

From: Jonathan DETCHART <[email-masked]>
Date: Thu, 13 Nov 2014 20:43:16 +0100

Dear Victor, dear all,

I think we should add another use case without relay (for situations 
where you cannot/do not want to have access to intermediate nodes), i.e. 
without in-net recoding. It’s missing and we need it for Tetrys.
We could also consider a multi source and multi path and multi 
destination use-case following the same idea.

See the document in attachment.

    Jonathan and Vincent

---

From: Victor Firoiu <[email-masked]>
Date: Thu, 13 Nov 2014 14:57:04 -0500

Thanks, Jonathan.

All the use cases, while exemplified with coding in middle nodes, do not
require such in-network coding.
So your example can be a particular sub-case of Use case 2 or 3, maybe with
some adjustments.

We can discuss this in the second part of our meeting tomorrow.

Victor

On Thu, Nov 13, 2014 at 2:43 PM, Jonathan DETCHART <
[email-masked]> wrote:

>  Dear Victor, dear all,
>
> I think we should add another use case without relay (for situations where
> you cannot/do not want to have access to intermediate nodes), i.e. without
> in-net recoding. It’s missing and we need it for Tetrys.
> We could also consider a multi source and multi path and multi destination
> use-case following the same idea.
>
> nwcrg mailing [email-masked]://www.irtf.org/mailman/listinfo/nwcrg
>
>
>

---

From: "Morten V. Pedersen" <[email-masked]>
Date: Thu, 13 Nov 2014 21:09:13 +0100

I totally agree, I did not intend to suggest that they should use Kodo. 
Only that as we potentially specify some form of sliding window coding 
BB, we can can use both the Tetrys' elastic window code and the sliding 
window coding in Kodo as reference designs. My gut feeling is that they 
are actually functionally equivalent i.e. one can be implemented in 
terms of the other. Although they from a design perspective use two 
seemingly different approaches. The Kodo version is based on dividing 
the stream into generations/blocks whereas the Tetrys' version works on 
an unbound stream (as I see it).

- M

---

From: "Morten V. Pedersen" <[email-masked]>
Date: Thu, 13 Nov 2014 21:12:40 +0100

@Marie-Jose: As a follow-up question to you. Do you have links or 
similar to working group documents where you see some potential for 
Network Coding in the working groups that you mention?

- M

---

From: Marie-Jose Montpetit <[email-masked]>
Date: Thu, 13 Nov 2014 20:16:46 +0000

It's a big job... Some yes some no.

Chairs: is this a draft that could be useful?

Marie-José Montpetit
[email-masked]
[email-masked]

> On Nov 13, 2014, at 15:12, Morten V. Pedersen <[email-masked]> wrote:
> 
> @Marie-Jose: As a follow-up question to you. Do you have links or similar to working group documents where you see some potential for Network Coding in the working groups that you mention?
> 
> - M
>

---

From: Marie-Jose Montpetit <[email-masked]>
Date: Thu, 13 Nov 2014 20:26:42 +0000

Well that raises another use case where maybe there is a possibility for in network encoding but the coding nodes are managed by different authorities hence there would have to be also decoding at the egress of each sub networks?

Marie-José Montpetit
[email-masked]<mailto:[email-masked]>
[email-masked]<mailto:[email-masked]>

On Nov 13, 2014, at 14:57, Victor Firoiu <[email-masked]<mailto:[email-masked]>> wrote:

Thanks, Jonathan.

All the use cases, while exemplified with coding in middle nodes, do not require such in-network coding.
So your example can be a particular sub-case of Use case 2 or 3, maybe with some adjustments.

Victor

On Thu, Nov 13, 2014 at 2:43 PM, Jonathan DETCHART <[email-masked]<mailto:[email-masked]>> wrote:
Dear Victor, dear all,

I think we should add another use case without relay (for situations where you cannot/do not want to have access to intermediate nodes), i.e. without in-net recoding. It’s missing and we need it for Tetrys.
We could also consider a multi source and multi path and multi destination use-case following the same idea.

   Jonathan and Vincent

Best,

Victor

_______________________________________________
nwcrg mailing list
[email-masked]<mailto:[email-masked]>
https://www.irtf.org/mailman/listinfo/nwcrg

_______________________________________________
nwcrg mailing list
[email-masked]<mailto:[email-masked]>
https://www.irtf.org/mailman/listinfo/nwcrg

---

From: Victor Firoiu <[email-masked]>
Date: Thu, 13 Nov 2014 15:30:19 -0500

I think it would be useful. We should hear opinions from the group and
community and then we can decide.

So, question to the list: do you think it would be useful to write a draft
on related IETF/IRTF documents where we see some potential for Network
Coding?

Victor

On Thu, Nov 13, 2014 at 3:16 PM, Marie-Jose Montpetit <[email-masked]>
wrote:

> similar to working group documents where you see some potential for Network
> Coding in the working groups that you mention?
> >
> > - M
> >
> >> But Morten all these groups will not be strictly interested in the Kodo
> library more by coded "solutions" and then whoever implements may or may
> not choose to use Kodo or some other library depending on the network code
> they choose. That's why the architecture is and should include the use
> cases that may make it to the IETF and then identify the compliant network
> codes and like the intro to the architecture says "promote innovation" :-)
> >>
> >>
> >>> "Do I have existing implementations not currently using network
> coding, but where network coding could have potential: No, but I think the
> ppsp and mptcp working groups might have."
> >>>
> >>> There is much more SDN, TAPS, homenet maybe some others. The ppsp guys
> have specifically said they would not consider coding.
> >>>
> >>> "we have a sliding window encoding block in the Kodo library, but
> which has some interesting architectural differences to Tetrys' elastic
> window encoder"

---

From: "Morten V. Pedersen" <[email-masked]>
Date: Thu, 13 Nov 2014 21:35:09 +0100

+1 on the point-to-point use case. Also I think the multi-source and 
multi-destination one is interesting e.g. in peer-to-peer scenarios, so 
also +1 one on that as well.

Perhaps we can have both a set of generic use-cases/architectures 
(without mention of specific protocols and such) and then map those to a 
set of specific use-cases based on existing known implementations (like 
the Coded TCP on in use-case 5).

So e.g. the Tetrys protocol would map to the architecture in Jonathan's 
attached document.

- M

---

From: "Morten V. Pedersen" <[email-masked]>
Date: Thu, 13 Nov 2014 21:45:51 +0100

+1 from my side, I think this could be useful for researcher not 
familiar with the whole IRTF/IETF eco-system to find relevant and 
interesting problems to work on.

- M

On 11/13/2014 09:30 PM, Victor Firoiu wrote:
> So, question to the list: do you think it would be useful to write a
> draft on related IETF/IRTF documents where we see some potential for
> Network Coding?
>
> Victor
>
> On Thu, Nov 13, 2014 at 3:16 PM, Marie-Jose Montpetit <[email-masked]
> <mailto:[email-masked]>> wrote:
>
>     [email-masked] <mailto:[email-masked]>
>      > On Nov 13, 2014, at 15:12, Morten V. Pedersen <[email-masked]
>     <mailto:[email-masked]>> wrote:
>      >
>      >> But Morten all these groups will not be strictly interested in
>     the Kodo library more by coded "solutions" and then whoever
>     implements may or may not choose to use Kodo or some other library
>     depending on the network code they choose. That's why the
>     architecture is and should include the use cases that may make it to
>     the IETF and then identify the compliant network codes and like the
>     intro to the architecture says "promote innovation" :-)
>      >>
>      >>
>      >>> On Nov 12, 2014, at 11:10 PM, Marie-Jose Montpetit
>     <[email-masked] <mailto:[email-masked]>> wrote:
>      >>>
>     coding, but where network coding could have potential: No, but I
>     think the ppsp and mptcp working groups might have."
>      >>>
>      >>> There is much more SDN, TAPS, homenet maybe some others. The
>     ppsp guys have specifically said they would not consider coding.
>      >>>
>      >>> "we have a sliding window encoding block in the Kodo library,
>     but which has some interesting architectural differences to Tetrys'
>     elastic window encoder"

---

From: Marie-Jose Montpetit <[email-masked]>
Date: Fri, 14 Nov 2014 00:29:57 +0000

-1
Well as I am the one in the middle here I think this would be good and bad. Good to highlight the areas where NC research could go but 2. also making little of the years of attendance to iETF to those groups.

Ready to hear from others.

Marie-José Montpetit

On Nov 13, 2014, at 15:31, Victor Firoiu <[email-masked]<mailto:[email-masked]>> wrote:

I think it would be useful. We should hear opinions from the group and community and then we can decide.

So, question to the list: do you think it would be useful to write a draft on related IETF/IRTF documents where we see some potential for Network Coding?

Victor

On Thu, Nov 13, 2014 at 3:16 PM, Marie-Jose Montpetit <[email-masked]<mailto:[email-masked]>> wrote:
It's a big job... Some yes some no.

Marie-José Montpetit

> On Nov 13, 2014, at 15:12, Morten V. Pedersen <[email-masked]<mailto:[email-masked]>> wrote:
>
>>> On Nov 12, 2014, at 11:10 PM, Marie-Jose Montpetit <[email-masked]<mailto:[email-masked]>> wrote:
>>>

---

From: Cedric Adjih <[email-masked]>
Date: Fri, 14 Nov 2014 17:58:55 +0100 (CET)

Hello Victor, hello all,

  Thank you and, Brian, Marie-Jose and Vincent, for this first
fine draft of a network coding architecture.
I like how you have described different use cases which are
involving different elements, and how you have split them
in building blocks. I think this will really also help bootstrap
the group, and pave the way for discussion and work.

  Sorry as I could not attend the IRTF. As for comments, 
I would have a few here:
- for all the use cases, the NC internal architecture is described:
    {NC Coding} <-> {NC Reliability} <-> {NC Congestion Control}

  This is nice; but also maybe that one issue in some scenarios 
is the knowledge about the state of other nodes in the network. 
This is specially true in use cases 2 and 3, e.g.
when there is recoding and multiple paths.
  In the architecture, this is actually already included as "feedback",
but it might be worth adding more details, as it may become 
a non-trivial module.

  I'm also saying this, because with I. Amdouni, we went through the
exercice to trying to extract the sliding window mechanism 
from DRAGONCAST (her CISEW draft): we found out there are lots
of possibilities to exchange neighbor state (more or less compactly)

  This also raises the question of the frontier between the {NC Coding}
module, and the {NC Reliability}. For instance, that the decision 
to keep or drop coded payloads (stored in {NC Coding}) 
might depend on the state of other nodes.
So will {NC Coding} be just a set of coded packets (a giant matrix),
with all the logic handled in {NC Reliability} ? etc.

- Also I am curious by the use cases for reliability such as case 2, 
case 4. In discussions with Bhumip, thinking of SDN use cases, we tried
to think about how network coding could be used in wired networks:
it could improve reliability with respect to node or link failure,
however this would seem to come at the cost of permanent cost in bandwidth
(the permanent extra redundancy necessary to cover disappearence 
of one node/link). 
Do you know, netcoders, if there a way to make it work better 
for such use cases? 

- There might be some scenarios without congestion control, but
obviously we can have a "Null Congestion Control".

thank you for the excellent progress,
cheers,
-- Cedric

----- Original Message -----
| From: "Victor Firoiu" <[email-masked]>
| To: [email-masked]
| Sent: Tuesday, November 11, 2014 8:39:51 PM
| Subject: [nwcrg] Network Coding Architecture
| 
| 
| 
| 
| 
| 
| 
| Dear Netcoders,
| 
| In preparation for our meeting on Friday, here is a draft
| presentation with a few ideas and proposals for Network Coding
| Architecture. It outlines functional areas and building blocks,
| along with several use cases providing examples of constructing
| Network Coding protocol instances out of building blocks.
| 
| 
| You can find the draft at
| http://www.ietf.org/proceedings/91/slides/slides-91-nwcrg-0.pdf
| 
| 
| Please comment on the list as well as in our meeting on Friday.
| 
| Best,
| 
| Victor
| 
| 
| _______________________________________________
| nwcrg mailing list
| [email-masked]
| https://www.irtf.org/mailman/listinfo/nwcrg
|