Exnode specification: Difference between revisions

From ReddNet
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:
[[Example L-Store xml file]]
[[Example L-Store xml file]]


exnodes and erasure codings.
*L-Store writes extra erasure allocations.
**These allocations are also stored in the exnode file
**These allocations are only useful to a data-rebuilder not the data user
*L-Store can write a LoRS compatible exnode file that excludes the erasure allocations.
**LoRS compatibility
**LoRS does not have access to L-Store's capability to regain a file.
Is this OK?
*The data user does not need (and probably should not be bothered with) to handle error recovery.
*data recovery, data warming, etc all are done by services/agents apart from the data consumer.
*So what user interface and development API are needed by the data users?
*command line tools
**file movement
**file system (some use the term namespace management) tools
***list files, create directories, etc
*C/C++ API
**just need my simple offsets and lengths
**would like to read a vector of data blocks (non-blocked reads)
**don't want to deal with erasure stuff at this point.
***is there a nice way to recover from errors?


Possible XML schema:
Possible XML schema:

Revision as of 20:17, 16 January 2008

The exnode specification is implied by current usage in L-Store and LoRS.

Example LoRS exnode xml file

Example L-Store xml file

exnodes and erasure codings.

  • L-Store writes extra erasure allocations.
    • These allocations are also stored in the exnode file
    • These allocations are only useful to a data-rebuilder not the data user
  • L-Store can write a LoRS compatible exnode file that excludes the erasure allocations.
    • LoRS compatibility
    • LoRS does not have access to L-Store's capability to regain a file.

Is this OK?

  • The data user does not need (and probably should not be bothered with) to handle error recovery.
  • data recovery, data warming, etc all are done by services/agents apart from the data consumer.
  • So what user interface and development API are needed by the data users?
  • command line tools
    • file movement
    • file system (some use the term namespace management) tools
      • list files, create directories, etc
  • C/C++ API
    • just need my simple offsets and lengths
    • would like to read a vector of data blocks (non-blocked reads)
    • don't want to deal with erasure stuff at this point.
      • is there a nice way to recover from errors?

Possible XML schema:

Simplified xml file (remove xmlns to see/understand structure more clearly)

Simple schema