要約

  • RFC 5262 の版番号は完全状態と差分を並べ、失われた更新を発見できるが、その保証は特定 watcher の特定フィードに限られる。
  • 証跡には基準文書、各差分、watcher、認可方針、再構成と期限を残し、その後の連絡試行や人の応答を別の事実として扱う必要がある。

数字は連続していたが、文字コードが変わっていた

受信側は最初の pidf-full を UTF-8 として受け入れた。その後の差分系列は欠番なく届いたが、途中の送信側更新が別の文字コードを使った。版の順序は正しくても、受信契約は連続していない。

RFC 5262 は、最初に受理した文字集合を後続差分でも受け入れ続けるよう求め、文字集合の変更まで受け入れる必要はないとする。これは版番号だけでは表現できないフィード条件の一例である。

連続性は番号、内容型、文字コード、presentity、購読、方針の組として初めて意味を持つ。

完全状態と差分状態は同じ系列に属する

application/pidf-diff+xml は pidf-full と pidf-diff を運ぶ。前者がローカルな基準を作り、後者が XML Patch の add、replace、remove を適用する。

任意の version を使う場合、更新ごとに一つ増える。完全文書へ戻っても差分へ進んでも同じカウンターである。そのため受信者は順序を確かめ、欠番を見つけられる。

一方、その数は内容の正確さや開示の完全性を採点しない。現実の変化から発行までの遅れも測らない。

正しい系列は誤った基準からも作れる

568 が 567 の次であっても、567 が同じ presentity、watcher、購読、認可方針の基準でなければならない。古いキャッシュや別方針の基準に、完璧な差分を重ねても誤りは修復されない。

証跡には完全文書のバイト列とハッシュ、presentity URI、watcher、ダイアログまたはフィード、内容型、文字コード、方針版を保存する。開始番号だけでは基準のすり替えを検出できない。

watcher ごとに異なる完全な視野が成立する

プレゼンス情報は機微情報になり得る。周辺プロトコルの認可方針は、誰に何をいつ見せるかを決める。項目がないことは「偽」だけでなく「非開示」を意味し得る。

版系列は許可された投影を整列するだけで、隠された事実を復元しない。内部担当者と外部取引先が異なる連絡先を受け取り、双方の系列に欠番がないことも正しい状態である。

したがって比較には watcher と方針範囲が必要だ。同じ版番号だけで同じ世界を推定してはならない。

欠落の検出と回復を分ける

期待値が 569 で到着が 570 なら、欠落は分かる。しかし新しい基準はまだない。表示を停止するのか、完全文書を要求するのか、中間状態を捨てるのかはアプリケーションが決める。

回復の証拠には、最初の不一致、欠落範囲、最後の信頼ハッシュ、置換した完全文書、可視化時点が必要である。警報が消えただけでは回復を証明しない。

対応能力、適用、保存、表示は別々である

SIMPLE は部分通知の利用を交渉できる。これは形式を理解できるという合意であり、特定差分の到着や適用ではない。XPath 選択に失敗する場合も、処理結果がメモリーに留まる場合もある。

受信順、各操作結果、中間ハッシュ、永続化、下流表示を結んで初めて、利用者が何を見たか説明できる。

有効な XML は人の応答ではない

文書は整形式でなければならず、スキーマにも適合することが望ましい。しかし端末は直後に切断され、人は応答意思を変え、後続セッションは失敗し得る。

安全な表現は「この watcher が、このフィードで受け取った最新状態を再構成した」である。「本人が対応可能だった」には別の実行証拠が要る。

部分プレゼンスの証跡

保存する項目は次のとおりである。

  • presentity、watcher、購読、ダイアログ、フィード識別子
  • 認可方針、版、判断、開示範囲
  • 内容型と文字コード
  • 完全基準のバイト列、ハッシュ、版、受信時刻、期限
  • 各差分のバイト列、ハッシュ、版、順序、受信時刻
  • 期待版、受信版、欠落
  • 操作、セレクター、変更前状態、適用結果
  • 中間文書と再構成文書のハッシュ
  • 回復要求、置換基準、破棄状態
  • 保存確認と下流表示
  • 連絡試行、交渉、配送、人またはサービスの結果

この証跡はプレゼンスを確実性へ変えない。連続した一つの見え方を、組織全体の真実へ昇格させないためにある。

Sources