[Nfd-dev] Naming conventions for "sequence number"

Lan Wang (lanwang) lanwang at memphis.EDU
Sat Jul 19 05:05:18 PDT 2014


On Jul 16, 2014, at 12:35 PM, Lixia Zhang <lixia at CS.UCLA.EDU> wrote:

> 
> On Jul 16, 2014, at 5:10 AM, Lan Wang (lanwang) <lanwang at memphis.edu> wrote:
> 
>> Alex,
>> 
>> What is the difference between Version and Sequence number?  Is Version based on timestamps?  If so, it seems that Version should be explicitly called Timestamp.  
>> 
>> Lan
> 
> there are cases one is preferred over the other depending on app needs.
> there are cases both are used: see RFC 3550 (RTP) as an example: it uses both timestamp and seq#
> the former can tell the time gaps between data
> the latter can tell whether any piece is missing

Yes, agree that timestamp and seq# can be both useful.  I was just trying to point out that the Version concept is vague and I agree with Jeff that there's a no clear distinction between version and sequence number.  So instead of trying to define the semantic of version and sequence, why not just use timestamp (which doesn't have to be sequential) and seq# (which has to be sequential)?  The application can use either one or both to differentiate between different pieces of data.

Lan
> 
> 
>> On Jul 15, 2014, at 11:46 PM, Alex Afanasyev <alexander.afanasyev at ucla.edu> wrote:
>> 
>>> Hi Jeff and all,
>>> 
>>> We had a follow up discussion today about naming conventions and in particular we got to one question about "sequence numbers".   The CCNx naming convention that we going to revert for now defines markers for segments (sequential and non-sequential) and marker for version.  What this convention is missing is the marker for sequential sequence numbers for "infinite" collection.  Examples of this could be stream of generated notifications n NFD, dataset in ChronoSync, frames in webrtc (?).  In the past, we kind of used "segment" convention to represent such numbers, but during our discussion we agreed that there is different semantics for "segments" and "sequence numbers" and it is useful to explicitly distinguish between them:
>>> 
>>> - "Segment" is a Data packet that is a part of a bigger data blob (e.g., segments of one frame).  If third party (repo, cache, library?) understands this semantics, than it can try request all the segments and stop when finished.
>>> 
>>> - "Sequence number" (for "infinite" collections) denotes that the particular Data object is part of the collection, but is independent piece of this collection (individual frame).   It is also possible that such a piece can be further segmented.   If third parties understand this semantics, they can perform very different actions compared to segments.   
>>> 
>>> The proposal at hand is that we not just define markers for "segment" (%00 prefix) and "version" (%FD) as it is in NFD, but also add a new notion of sequence numbers (say, %FE for now).
>>> 
>>> This definition doesn't imply we need to do any immediate change in any of the application we have.  It is just for the future applications/updates we use a more semantically correct ways to mark out sequence numbers.  This will also prepare libraries for any convention change later.  The place where we plan to use it right away is in NFD notification stream protocol (http://redmine.named-data.net/projects/nfd/wiki/Notification).
>>> 
>>> Can you give opinions about this proposal?
>>> 
>>> ---
>>> Alex
>>> 
>>> 
>>> _______________________________________________
>>> Nfd-dev mailing list
>>> Nfd-dev at lists.cs.ucla.edu
>>> http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev
>> 
>> 
>> _______________________________________________
>> Nfd-dev mailing list
>> Nfd-dev at lists.cs.ucla.edu
>> http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev
> 





More information about the Nfd-dev mailing list