Methods of applying diffs

deltas as a news stream

  1. Make a robust delta/sigma algorithm and try applying patches to incomplete datasets.
  2. When a patch fails, ignore it
  3. Compare the resulting dataset with the original, checking the original includes the genearted,
  4. and checking some subjective notion of usefulness of the generated subset.
  1. Make a non-robust delta/sigma algorithm
  2. Send out changes timestamped
  3. When theyt arrive out of sync, rewind and replay
  4. When the reply patch fails, ask for help, or inform one of the agents that a specific operation failed.

Deltas in concurrent development - using delta locally with CVS

  1. Use a robust delta/sigma algorithm.
  2. Operate CVS by keeping a commonly agreed versioin, geneating diffs by each party.
  3. Apply smallest diff to the other dataset to generate a new common one.
  4. Check in the common one, and load it into the local application.

Deltas in concurrent development - async notification style

  1. Use a robust delta/sigma algorithm
  2. Keeping the latest version of each party for a certian timeout t, larger than twice the diamter time of the net. Keep all patches applied to that version or any version indirectly derived from it.
  3. When a change is made, generate a delta and email/new it to everyone, with the version if of the version it was made of, and the version id generated of the new result version.
  4. When someone else's delta arrives, apply it if you can to the version it was generated from. This might involve waiting for other patches if that version is not abailable yet.
  5. Re-generate all patches in order, making a tree.
  6. Where a tree forks because two patches are based on the same version, try to merge them by applying one patch to the result of the other.
  7. If that fails, then the later patch is deemed invalid, and all any versions derived from it are usuable and are discarded. The patches are kept, though, as they may be re-usable, as a later arriving earlier sent patch may in fact fix the problem (Unlikely and ignorable?. (then inform the sender of the patch that it fails.? No. They will find out.)
  8. Apply smallest diff to the other dataset to generate a new common one.
  9. Check in the common one, and load it into the local application.

On async message receipt

  1. Parse incoming message from RFC822 format into RDF form.
  2. Parse body of the message according to conent type, encoding, etc.
  3. From the content (subject?) get the URI of the file whcih is being patched
  4. From a local rule generate from that the directory where the local copy is stored
  5. Load the version history from local subdirectory like /.p2vs/status.n3