The Annotation Layer (A-Layer)

Introduction

From the abstract of the paper: "Annotations are a mechanism for adding state to packets that is orthogonal to the data payload. Historically, two ways of adding annotations to packets have been used: overloading reserved bits in the header, and using IP options. In the first case, the amount of space available is very limited and difficult to share. In the second case, packets with IP options are dropped on many Internet paths. We propose a more general and flexible mechanism for annotating packets that appends annotations to the end of packets, in the IP payload. We show that many existing proposals for adding state to packets can exploit this common mechanism for annotations. Our key result is that packets annotated in this way have a much higher probability of successful transport across the network than those for which IP options have been used."
Read the rest of the paper describing the A-Layer.

Then read the implementation overview.

Getting the source

Download the source as a compressed tarball or browse it directly.

Documentation

* The daily development notebook.
* Formalized implementation design notes.
* A list of helpful resources.

Code Size

The *nix utility wc, which counts raw lines of text, outputs the following information about the code:

Lines Directory
3454  engine/ 
345   userApps/ 
288   include/
171   traffic/ 
84    moduleApps/ 

4342  Total

David A. Wheeler's sloccount, which counts "non-blank, non-comment" lines of code (see further documentation), outputs the following:

SLOC    Directory       SLOC-by-Language (Sorted)
2136    engine          ansic=2136
214     userApps        ansic=214
139     include         ansic=139
113     traffic         ansic=113
44      moduleApps      ansic=44

Totals grouped by language (dominant language first):
ansic:         2646 (100.00%)

Total Physical Source Lines of Code (SLOC)                = 2,646
Development Effort Estimate, Person-Years (Person-Months) = 0.56 (6.67)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 0.43 (5.14)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 1.30



Return to my Homepage.