CosmosVFS

CosmosVFS(旧webifi)は、オンラインストレージサービスの抽象化レイヤです.
CosmosVFSを利用することで、各種のオンラインストレージサービスを単一のファイルツリーにマウントして、HTTPやFTPから利用することが出来ます.
また、CosmosVFSのサブシステムであるAsteroidをマウントすることで、無料で10GBのストレージを利用することができます.

URL

http://www.cosmos-vfs.com/tomcat/cosmos/fileservice/googlelogin/GoogleLoginTop


動作イメージ

webifi-overview-image005.png

主な特長

・複数のオンラインストレージサービスを単一のファイルツリー構造に集約します.
GoogleDrive?OneDrive?、AmazonS3をFTP/9P2000で操作できます。
GoogleDrive?OneDrive?上の静的コンテンツをHTTPで配信できます.
・CosmosVFSのサブシステムであるAsteroidをマウントすることで、無料で10GBのオンラインストレージを提供します.

マニュアル

Cosmos-VFS.pdf
webifiの基本的な操作方法が載っているマニュアルです.

デモ

筆者のGoogleDrive?に置いたファイルを以下のURLで公開しています.
wordで作ったhtmファイル

net2ftp2cosmos

net2ftp2cosmosは、ブラウザ上で動作するCosmosVFSのFTPエンドポイント専用のFTPクライアントです。
net2ftp2cosmosを用いることで、FTPクライアントを用意しなくても、CosmosVFSのFTPエンドポイントに対して、ファイルのアップロードやダウンロードができます.
net2ftp2cosmosは、net2ftpをベースに実装しました.

net2ftp2cosmos.png

CosmosFTPClient

CosmosFTPClient.png

CosmosFTPClientは大容量ファイルのアップロードとダウンロードに対応した、CosmosVFSのFTPエンドポイント専用クライアントです.
net2FTP2Cosomosでは10MB程度のファイルのアップロード/ダウンロードにしか対応していませんが、CosmosFTPClientを用いることで100MB越えのファイルをアップロード/ダウンロードすることができます.
また、汎用のFTPクライアントでは、大容量のファイルのアップロード/ダウンロード時にタイムアウトが発生することがありますが、CosmosFTPClientはタイムアウト制限を解除してあります.

CosmosFTPClient-20200502-002.zip

Cosmos9P2KClient

Cosmos9P2KClientは、CosmosVFSの9P2000エンドポイントに対応した、GUIの9P2000クライアントです.

BLOB Storage

CosmosVFSのルートファイルシステムは、BLOBStorage(Microsoft AzureのBLOB Storageではない)という、DB上に構築した仮想のファイルシステムを利用します.
このBLOB Storageは、RDBのBLOB型を利用してファイルを格納する、階層構造のファイルシステムです.
CosmosVFSではルートファイルシステムにBLOB Storageを採用することで、サーバー上の実ファイルシステムにユーザーのファイル空間をマウントしない方式を採用しています.
これにより、ユーザーごとのファイル空間の分離性を高め、RDBの検索性を利用してスケーラブルな管理を実現しています.

blob-storage-image-001.png

サブシステム

CosmosVFSのサブシステムは、バックエンドのストレージとして利用可能な独自のファイルシステムを提供します.
CosmosVFSとサブシステムの間の通信は、管理用APIにRest形式のWebAPIを使用し、ファイル転送に9P2000を使用します.
したがって、各サブシステムは独立した9P2000サーバーとして機能します.
ファイル転送に9P2000を採用したのは、将来的にブロック型のストレージをマウントするケースを想定したからです.

サブシステムを利用するには、CosmosVFS上で各サブシステムを有効化してから、マウントしてください.

subsystem-overview-image-001.png

サブシステムの実装の一つであるAsteroidサブシステムは、バックエンドにS3互換のオブジェクトストレージを採用しています.
ユーザーはAsteroidをマウントすることで、無料で10GBのストレージを利用することが出来ます.

その他

現在ベータ版として公開しています.そのため、エンドポイントのURLを今後の実装で変更する可能性があります.

Q&A

・HTTPエンドポイントで配信したhtmlファイルが文字化けする.

 htmlファイルをUTF-8で記述してください.

制限事項

・HTTPエンドポイントでホストできるファイルサイズの上限は20MBです.

・CosmosVFSのWebUIの操作は一定時間操作がない場合にセッションが切れるように設計しています.

リンク

Qiitaの紹介記事
オンラインストレージサービスの抽象化レイヤCosmosVFSの紹介



FreeBSDでCosmosVFSのFTPエンドポイントをマウントした際の記事
CosmosVFSを使ってFreeBSDからGoogleDriveをマウントした


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS