Sync Framework の用語集
この用語集には、Sync Framework で使用する概念および用語の定義が記載されています。
用語
- バッチ処理 (バッチ分割)
変更データ全体を 1 回で転送するのではなく、小さなまとまりに分けて送信するプロセス。
- 変更単位
ストア内の変更追跡の最小単位。変更単位は項目内に含まれます (連絡先という項目の氏名フィールドや住所フィールドなど)。変更の伝達では、変更対象となる変更単位だけを送信する必要があります。競合検出では、同じ変更単位に対する変更だけが競合と見なされます。
- クライアント
Sync Framework アーキテクチャに統合するサービス、アプリケーション、またはデバイス。
- クロック ベクター
レプリカに対する更新を表すレプリカ キー/ティック数のペア。ベクターには、0 からティック数までの間に発生したすべての変更が含まれます。
- 同時実行の競合
後で同期される異なる 2 つのレプリカで同じ項目または変更単位が変更された場合に発生する競合。
- 競合の解決方法
競合が発生した場合に、どの変更をストアに書き込むかを決定するための方法。標準的な競合の解決方法としては、最後に書き込みを行った方を優先させる方法、同期元を優先させる方法、同期先を優先させる方法のほか、カスタムや保留といった解決方法もあります。"カスタム" の場合、解決処理を行うアプリケーションが、競合ログから競合を読み取り、解決方法を選択します。"保留" の場合、競合している変更データや、変更に関連付けられているナレッジと共に、競合がログに記録されます。
- 整合性単位
整合性の最小単位。同じ整合性単位を持つすべての変更は一緒に送信されるため、整合性単位の一部分だけが適用されているときに同期を中断することはできません。
- 制約の競合
項目または変更単位が持つ制約 (フォルダーの関係や、ファイル システムにおいて、まったく同じ名前が付けられたデータの場所など) に違反する競合。
- エンドポイント
「参加者」を参照。このドキュメントでは、ノードやエンドポイントが同義語として使用されています。
- フィルターの忘れられたナレッジ
フィルター追跡の起点を定義するナレッジ。フィルター追跡レプリカでは、非実体を削除し、フィルターの忘れられたナレッジを進めて削除された非実体の最大バージョンを含めることによって、ストレージ領域を節約することができます。
- フィルター キー
フィルター キー マップにおいて、フィルターにマップされる 4 バイトの値。
- フィルター選択されたレプリカ
フィルターにある項目の項目データだけが格納されるレプリカ。その例として、三つ星以上と評価された歌だけが保存されるメディア ストレージ レプリカが挙げられます。歌に対する評価が変更されると、項目がフィルターに追加されるか、フィルターから除外されることがあります。開発者は、フィルター選択されたレプリカに格納する項目データを制御するためのカスタム フィルターを定義できます。
- フィルター追跡レプリカ
フィルターに含まれている項目やフィルター内外に最近移動された項目を特定できるレプリカ。フィルター追跡レプリカには、フィルターにない項目の項目データが格納されることがあります。フィルター追跡レプリカを使用すると、フィルターを追跡しないレプリカを使用した場合に比べ、フィルター選択されたレプリカに効率的に同期することができます。
- フレキシブル識別子
レプリカなど、各種の同期エンティティに割り当てられる識別子。固定長の識別子と可変長の識別子があります。
- 非実体
フィルター内に存在したものの除外された、フィルターされたレプリカ内の項目または変更単位。フィルターされたレプリカでは、非実体のメタデータは格納されますが、項目や変更単位データは格納されません。
- グローバル識別子
データ項目に割り当てられる一意の識別子。すべてのクライアントを通じて一意であることが必要です。グローバル識別子はフレキシブル識別子であるため、形式は任意です。ただし、GUID 形式、8 バイトのプレフィックスが一般的です。
- 項目
同期対象となるデータまたはメタデータの単位。データの項目として代表的なものに、ファイルやレコードがあります。これに対し、メタデータの項目として代表的なものに、ナレッジ項目があります。
- ナレッジ
把握しているすべての変更を表すメタデータ。それぞれの参加者によって管理されます。最も単純な形態として知られるウォーターマークでは、レプリカ キーとレプリカ ティック数のペアで構成されるクロック ベクターがナレッジ項目に相当します。
- 学習したナレッジ
同期元レプリカ側の特定の変更に関する現在のナレッジ、およびそのレプリカについてログに記録された競合。学習したナレッジは、"その変更バッチを適用した時点で自分が学習することになる情報" を表すものです。
- 関連付けられているナレッジ
同期元レプリカの現在のナレッジ。競合検出に使用されます。関連付けられているナレッジは、"変更が加えられた時点で相手が把握していた情報" を表します。
- マージ廃棄標識
競合している 2 つの項目をマージすることによって制約の競合が解決されるときに作成されるマーカー。制約の競合がマージによって解決されると、小さい方の項目 ID が優先される項目 ID として選択され、大きい方の項目 ID が優先されない項目 ID として選択されます。優先される項目 ID は、マージされた項目を識別するために使用されます。マージ廃棄標識は、優先されない項目 ID が同期コミュニティ内の優先される項目 ID と同じ項目を示すことを追跡します。
- ノード
「参加者」を参照。このドキュメントでは、ノードやエンドポイントが同義語として使用されています。
- 参加者
プロバイダーと、それに関連付けられているレプリカ。
- 必須ナレッジ
変更または変更バッチを処理するために同期先プロバイダーで必要となる最小限のナレッジ。
- 範囲
同じクロック ベクターが適用される、連続する一連の項目識別子。範囲は、開始位置、終了位置、および範囲内のすべての ID に適用されるクロック ベクターで表されます。
- レプリカ
ファイル システムやデータベースなど、同期対象となる特定の情報リポジトリ。およびそのリポジトリを表すメタデータ ストア。
- レプリカ ID
レプリカを一意に識別する値。
- レプリカ キー
レプリカ キー マップにおいて、レプリカ ID にマップされる 4 バイトの値。
- スコープ
同期対象になっている一連のデータ。
- 同期アプリケーション
同期セッションをホストし、同期プロバイダーを呼び出して、異なるデータ ストアを同期するソフトウェア コンポーネント (個人情報管理ソフトウェア、音楽データベースなど)。
- 同期コミュニティ
データの同期状態を互いに維持する一連のレプリカ。
- 同期プロバイダー
同期のレプリカを表すソフトウェア コンポーネント。同期元としての同期プロバイダーは、そのレプリカから変更を列挙します。同期先としての同期プロバイダーは、そのレプリカに変更を適用します。データ形式の不一致があった場合は、必要なスキーマ変換が実行されます。
- 同期セッション
同期元プロバイダーがその変更を列挙し、同期先プロバイダーに送信することにより、変更が同期先のストアに適用される、という 1 方向の同期。
- ティック数
レプリカに固有の、単調に増加する数値。レプリカ キーと組み合わされて、バージョンを形成します。
- 廃棄標識
削除済みの項目を表すために使用されるマーカー。廃棄標識を使って、削除された項目を追跡することで、その項目が同期コミュニティに再挿入されるのを防ぐことができます。
- トポロジ
同期に関与する一連の機器、およびそれらの相互接続方法。たとえば、スター型トポロジでは、ハブとなる中心的機器 (通常はサーバー) がすべての変更を管理し、それ以外の多数の機器がクライアントとして機能します。
- バージョン
項目のリビジョンを識別するメタデータ。項目のレプリカ キーとレプリカ ティック数で構成されます。