アップスピン:Googleの新しいグローバルファイルシステム





先日 、Googleのエンジニアグループによって開発さている新しいプロジェクトUpspinについて知られるようになりました。 プロジェクト参加者の主なタスクは、安全なファイル共有を確保するためのフレームワークを作成することです。 アップスピンは、略して、一連のプロトコル、インターフェイス、およびその他のソフトウェアコンポーネントを定義します。これにより、FSやストレージサービスなどのさまざまなデータをバインドできます。 フレームワークはGo言語で記述されています。 BSDライセンスの下で配布されています。 プロジェクト自体はGoogleの公式開発ではなく、従業員の「趣味」であることは注目に値します。



ファイルの場所に関係なく、Upspinはファイルへのアクセスを統合するため、グローバルネットワークのほぼどこからでもデータを取得できます。 開発者によると、彼らの開発は、ファイル共有のためのさまざまなソフトウェア要素の現在の断片化に関する問題を解決する試みです。 その結果、さまざまなプラットフォームで作業するユーザーは、中間ダウンロード、ファイルの保存および再パッケージ化に時間を費やす必要があります。



問題自体をよりよく理解するために、ユーザーがFacebookにアップロードされた写真を別のソーシャルネットワーク、たとえばVkontakteに投稿したい状況を想像できます。 この場合、最初に写真をPCまたは電話にアップロードしてから、別のソーシャルネットワークに再保存する必要があります。 ファイルを別のユーザーに転送したり、スマートフォンからリモートPCに転送したりするには、利用可能なファイルサービスの「クラウド」に情報をアップロードする必要があります。 ファイルに対するユーザーの制御は、データが選択したサービスのサーバーに到達するとすぐに消えます。 データのセキュリティを維持するために、この場合は暗号化する必要があります。



システムには3つの主要コンポーネントがあります。





ファイルを識別するために、Upspin開発者は、ユーザーの電子メールと仮想パスで構成される「ann@example.com/dir/file」タイプのスキームの使用を提案します。 グローバルファイル識別子がわかっている場合、アクセス権を持つすべてのユーザーは、ほぼすべてのローカルアプリケーションからこのファイルにアクセスできます。 これは、独自のファイルシステム内の通常のファイル、またはフレームワークと互換性のあるオンラインサービスフレームワークへの参照として機能します。



このプロジェクトの利点は、センサーからのデータであろうと、ネットワークサービスへのリクエストの結果であろうと、動的に変化する情報へのアクセスを提供することとも言えます。 グローバル名前空間をローカルファイルシステムにアタッチするには、ユーザーはFUSEモジュールを受け取ります。 2番目のオプションは、「cp」などの典型的なコマンドのセットを備えたアップスピンプログラムです。 グローバルFSに接続するには、Upspin実装の1つをインストールし、電子メール用のキーを作成してキーストアに登録するだけです。



エクスポートされたディレクトリにAccessと呼ばれる特別なファイルを作成することにより、アクセスを制御できます。このファイルには、他のユーザーに付与されたすべての特権がリストされます。 その結果、「read:joe@here.com、mae@there.com」などのルールをファイルに追加すると、ユーザーjoe@here.comおよびmae@there.comは現在のディレクトリおよびサブディレクトリのファイルを読み取ることができます。 さらに、このフレームワークにより、レコードへのアクセスを提供したり、ディレクトリの内容を表示したり、削除したり、ファイルを作成したりできます。 テンプレートまたはさまざまなファイルのアクセスルールの個々の定義を使用して、個別のグループポリシーを作成することもできます。



開発者によると、主な目標の1つは、最大レベルのセキュリティを確保することです。 パフォーマンスに関しては、セカンダリロールが割り当てられます。 ユーザーデータのセキュリティを確保するために、公開キーでユーザーを識別する方法が使用されます。 そのうちの1つは、集中化されたkey.upspin.ioキーサーバーを備えたキー透過性です。 最初に、デジタル署名によるコンテンツ検証が使用され、すべてのデータはエンドツーエンド暗号化を使用して暗号化された形式で送信されます。 これにより、独自のUpspinサーバーの展開、クラウドストレージへのファイルの保存など、多くのことが可能になります。



All Articles