Orkas Orkas
ホーム ブログ アーキテクチャ
アーキテクチャ

クラウド同期の実践:Orkas がデータ同期を確実にする仕組み

Orkas が、暗号化された転送、内容保存、サーバー側の確定処理、アカウント単位の同期ロック、同期ルール、モデル支援の競合処理、削除確認、同期ごみ箱によって、ユーザーデータを複数デバイスへ同期する仕組み。

ユーザーデータのクラウド同期は、単なるアップロードとダウンロードではありません。転送中のプライベートな内容を守り、保存コストを抑え、複数デバイスの書き込みを順序づけ、データの形を理解し、危険な削除の前に確認し、判断が間違っていたときの戻り道を残す必要があります。

Orkas はクラウド同期を、裏側の補助機能ではなく製品の重要な設計境界として扱います。会話、エージェント、スキル、タスク状態、知識ファイル、設定をデバイス間で動かしながら、責任の線を明確にします。デバイスは内容を準備し、オブジェクトストレージは暗号化されたデータを保持し、サーバーは正本となる索引を公開します。

この設計を、暗号化された内容の流れ、内容識別子にもとづく保存、アカウント単位の同期ロック、サーバー側の確定処理、決定的な同期ルール、モデル支援による競合処理、削除確認、同期ごみ箱、復旧用の印という枠組みで見ていきます。

クラウド同期の全体像
デバイス上のデータユーザーのデータを読み取り、前回成功した基準と比較します。
安全性の層暗号化、ハッシュ化、検証を行い、この同期で何をしたいかを明確にします。
クラウド保存内容オブジェクトと、存在すべき項目を示す小さな索引を保持します。
復旧の層削除印、競合時の退避、削除確認、同期ごみ箱の記録を残します。
Orkas の同期は、ただのミラーリングではなく、データ同期の経路に置かれた安全確認の集まりです。
要点 ローカルファーストのまま、もう一台のマシンでも 同期はオプトインで、ワークスペースは既定で自分のマシンに残ります。この境界はローカルファースト AI エージェントのページで詳しく説明しています。
Orkas をダウンロード — 無料

同期の約束

各同期処理は四つの問いに答えます。どの内容を動かせるか、どう保護するか、誰が次のクラウド索引を公開できるか、そして判断を戻すには何が必要かです。

各同期処理で守ること
対象範囲ユーザーデータだけを対象にします。
暗号化内容はデバイスを出る前に保護されます。
保存オブジェクトは内容の識別子にもとづいて保存します。
ロック同じアカウントでは、一つの同期だけが結果を公開します。
確定サーバーが検証し、次の索引を書き込みます。
復旧削除と競合には戻り道を残します。
各段階の責任を狭くすることで、同期を信頼できるものにします。

暗号化された内容の流れ

ユーザーデータは、クラウド保存に届く前にデバイス上で準備されます。同期エンジンは候補となる内容を選び、内容の識別子を計算し、データを暗号化し、短時間だけ使える権限でアップロードします。取得時にはメタデータと識別子を検証してから、デバイスに反映します。

ユーザーデータから保護されたクラウドオブジェクトへ
選択ユーザーが作成したデータを選びます。
ハッシュ化内容の識別子とサイズ情報を計算します。
暗号化アップロード前にデータを保護します。
アップロード一時的な権限でオブジェクトのデータを送ります。
検証取得時にハッシュと想定されたメタデータを確認します。
適用検証済みの内容だけをデバイスへ書き戻します。
オブジェクトストレージが見るのは保護されたデータであり、デバイスは書き込み前に内容の識別子を確認します。

保存と索引

Orkas は保存されるデータとクラウド索引を分離します。内容オブジェクトは暗号化されたデータを保持します。クラウド索引は、存在すべきデータ項目、内容の識別子、バージョン、サイズ、クラウド側の更新番号、削除状態を記録します。デバイス基準は、前回成功した同期のあとに何を確認したかを保持します。

三つの記録と役割
デバイス基準このデバイスが前回の成功後に確認した状態。
クラウド索引サーバーが公開する項目、バージョン、削除印の一覧。
内容オブジェクト内容の識別子で保存された暗号化データ。
なぜ分けるのか。 大きなデータはオブジェクトストレージに置き、小さく重要な索引を同期判断の正本にするためです。
索引は「何が存在すべきか」を示し、内容オブジェクトが実際のデータを提供します。

一回の同期処理

一回の同期処理は、最初は軽く確認し、実際に作業があるときだけ厳密な流れに進みます。Orkas はまず変更の有無を確認し、アカウント単位の同期ロックを取得し、その有効期間内で差分を再計算し、内容を移動し、サーバーに索引操作の確定を依頼し、最後にデバイス基準を更新します。

一回の同期処理の流れ
事前確認デバイス状態を読み取り、クラウド索引の情報を取得します。
同期ロックこのデバイスのためにアカウントの同期通路を確保します。
差分再計算同期ロックを持った状態で変更をもう一度比較します。
転送アップロード、ダウンロード、統合、削除準備を行います。
確定サーバーがクラウド側の更新番号、容量、データ形式を確認します。
基準更新成功後に新しい確定状態を記録します。
二回目の差分計算が重要です。事前確認で見たクラウド状態は、実作業時には古くなっている可能性があります。

同期ロック、書き込みロック、確定処理

アカウント単位の同期ロック、サーバー側の書き込みロック、確定前のバージョン確認は、それぞれ別の問題を解きます。同期ロックは複数デバイスが同時に完全な同期処理を走らせる無駄を減らします。サーバー側の書き込みロックは索引の書き込みを順番にします。確定前のバージョン確認は、古い読み取り結果が次の正本になることを防ぎます。容量計算とデータ形式の確認も、同じサーバー側の確定処理で行われます。

確定処理の入口
デバイスが確認アカウントの同期通路は空いているか。
同期ロックを取得同期処理は短い心拍確認の時間枠を得ます。
内容が準備済み内容データは送信または取得済みです。
サーバー側ロック同じアカウントの索引書き込みを順番にします。
確定前確認クラウド側の更新番号が変わっていれば拒否します。
公開次の索引を書き、使用量を更新します。
デバイスはデータを動かし、サーバーは正本となる状態を公開します。

競合より先にルールで判断する

多くの同期判断は競合ではありません。デバイスは、基準、現在のデータ状態、クラウド索引を比較します。クラウドだけが変わったら取得し、デバイスだけが変わったら送信します。両方が変わったときだけ、内容の種類に応じた統合に進みます。何かが消えている場合は、即削除ではなく削除安全確認の流れに入ります。

判断エンジン
基準このデバイスが前回確認した状態。
現在のデータこのデバイスが今持つ内容。
現在のクラウドサーバー索引が宣言する内容。
操作取得、送信、統合、削除印、確認、復元。
基準があることで、「こちらは未変更」と「こちらも変更済み」を区別できます。

競合処理

両側が本当に変更された場合でも、Orkas は最後に書いた側をそのまま優先する方式にはしません。追記型ログは不足している記録を足せます。一覧型データは安定した記録識別子で統合できます。構造化された JSON はバージョン番号と時刻を使えます。Markdown とバイナリファイルは保守的に扱い、無損失の統合を証明できない場合は、採用されなかった側の完全なコピーを残します。

意味が曖昧な文章や構造化データの競合では、関連する版をモデル支援に渡せます。モデルは競合を説明し、統合案を作り、ユーザーの選択を助けられます。ただしモデルだけに任せるわけではありません。決定的な検証、元データの退避、ユーザーに見える復旧経路は残ります。

競合解決の流れ
分類データの形と使えるバージョン情報を識別します。
ルール統合安全な場合は決定的な統合を使います。
モデル支援曖昧な文章の競合を説明し、統合案を作ります。
退避安全を証明できない場合は元データを保持します。
検証構造、識別子、期待される形を確認します。
公開採用された結果だけを確定します。
モデル支援は解決品質を高め、決定的な検証が境界を守ります。

削除確認

Orkas では削除を状態の変化として扱います。クラウド側の削除は削除印になり、デバイス側の削除は候補操作になります。Orkas は最近の書き込みを確認し、大量削除を検出し、消えるユーザーデータが危険に見える場合は同期処理を止めて確認を求めます。

削除確認の流れ
削除を検出データ項目が消えている、または削除印が付いている。
最近の書き込み直近で作り直されたか、編集されたかを確認します。
大量削除チェック異常に大きな削除のまとまりを検出します。
確認表示危険が高いときはユーザーに確認します。
承認承認後に削除印を確定します。
取り消し誤削除ならクラウド側のコピーを取り戻します。
危険な削除は途中で止められます。クラウド上の確定状態になる前に、ユーザーが選べます。

同期ごみ箱と復旧

有効な削除がデバイス上のコピーを取り除く前に、Orkas はそれを同期ごみ箱へ移します。競合で採用されなかった版は、見直しのために退避されます。オブジェクトのアップロードが成功し、確定処理だけが失敗した場合は、次回の同期でそのデータを再利用できます。ユーザーがクラウドデータを明示的に消した場合、他のデバイスはクリーンアップ印を見て、古い内容を再アップロードしません。

復旧の入口
同期ごみ箱削除されたデバイス上のコピーを復元可能なまま残します。
競合退避統合が不確かなとき、採用されなかった版を残します。
保留中のアップロード確定失敗後も、アップロード済みのオブジェクトを再利用できます。
クリーンアップ印クラウドを消去したアカウントに、古いデバイスが再送信しないようにします。
復旧は一つの機能ではなく、失敗しやすい地点に置いた複数の逃げ道です。

この設計で得られるもの

この同期システムでは境界が明確です。デバイスは内容を準備して検証します。オブジェクトストレージは暗号化されたデータを保持します。サーバーは索引を公開します。アカウント単位の同期ロックとサーバー側ロックが処理を整えます。ルールがよくある変更を処理します。モデル支援が曖昧な競合を助けます。削除確認と同期ごみ箱が、取り返しのつきにくい誤操作からユーザーを守ります。

Orkas がクラウド同期に求める水準はここにあります。魔法でも、単純なミラーリングでもなく、ユーザーデータを複数デバイスの間で動かしながら、それでも一貫した体験として扱える仕組みです。