近年,オンライン上にデータを保存できるクラウドストレージが発展を遂げており,個人や企業がGoogle DriveやOneDrive等でデータを管理することも一般的になってきた.令和2年版情報通信白書 [1]によると,2019年度においてクラウドサービスを利用する企業の割合は64.7%であり,この値は2015年から増加傾向にある.内閣官房IT総合戦略室は政府情報システムにおけるクラウドサービスの利用に係る基本方針 [2]で,クラウドサービスの利用メリットとして,効率性の向上,セキュリティ水準の向上,技術革新対応力の向上,柔軟性の向上,および可用性の向上をあげた.これらから将来,個人や企業があらゆるデータをクラウドストレージで管理することが想定される.
クラウドストレージでは,ユーザ個々のアカウントごとに領域が設けられてデータが管理される.それらのデータは全てオンライン上で管理され,インターネットに繋がってさえいればどこからでもアクセス可能であるという特性から,ユーザは自身のアカウント内のデータを別のアカウントからもアクセスできるようにするための共有操作を行う.ユーザが負担を感じず円滑にこの操作を行うことができれば,クラウドストレージの利用はさらに増えると推測できる.そこで,本研究は,将来的にあらゆるデータをオンライン上で管理することを想定し,アカウント間で円滑にクラウドデータを共有できるシステムの開発を目指す.
調査
一般的なクラウドストレージシステムは,共有用リンク発行または共有ユーザの追加によってクラウドデータを共有できる.
前者は,クラウドデータを他者と共有可能状態にした後,共有用URLを発行することで共有を行う手法である.この手法では共有元ユーザがURLを発行した後,メールやSNS等を開いて,送信相手を指定してURLを送る等,共有のために複数のツールを用いて操作を行う必要がある.共有先ユーザは,共有元から送られたURLにアクセスするためにメールやSNSを開く必要がある.後者は,共有先ユーザのアカウント情報を入力して,閲覧や編集の権限を付与することでデータを共有する手法である.この手法では,共有元ユーザが共有先ユーザのアカウント名やアカウントに紐づけられたメールアドレス等の情報を入手して,入力する必要がある.
これらの手法は操作が煩雑であるうえに,共有元ユーザが自身のアカウントおよび共有先ユーザのアカウントの違いを意識せざるを得ないことや,データの視覚的な移動を伴わないことから,円滑なデータ共有ができない.
Touch-based system for transferring data [3]は,クラウドサービスを活用してマルチタッチ操作でクリップボードのデータを共有できるシステムである.共有元デバイスでコピーしたデータをクラウドストレージに保存して,共有元デバイスと同じアカウントでログイン中の共有先デバイスでそのデータにアクセスすることで共有を行う.マルチタッチ操作を用いることでデバイス間のデータ共有がより直感的になった.しかしながら,マルチタッチに対応したデバイスのみでしか利用できない制約があるうえに,異なるアカウントのクラウドストレージにデータを共有することができない.
市川ら [4]は,オンラインデータの共有を手軽にするためのストレージミドルウェアの開発を行った.クラウドストレージであるDropboxのアカウント同士で共有を行うことを想定して,ユーザに対してストレージ上のデータ階層(パス)や,共有元および共有先アカウントの違いの意識を取り除くことで手軽なデータ共有を可能にした.一方で,データ共有の操作に必要となる専用ソフトウェアやDropboxのアプリケーションをインストールする手間があることや,共有先および共有元のデバイスにNFCタグが搭載される必要があること等の制約があり,円滑なクラウドデータ共有に改善余地がある.
研究方法
本研究のアプローチ
前述の課題を解決し,クラウドストレージ間でより円滑にクラウドデータの共有を行うために次の3点の指針を定義した.
アカウント情報の提示を最低限にする
データが視覚的な移動を伴う
どのデバイスでもシステムが利用できる
これらから,スマートフォンを共有元デバイスと共有先デバイスとを仲介するデバイスとして活用してシステムを実装する.
Shoot Shareの開発
Shoot Shareの概要
Shoot Shareは,共有元デバイスおよび共有先デバイスにスマートフォンをかざすだけでクラウドデータを共有できるウェブアプリケーションである.システムに利用するクラウドストレージとしてGoogle Driveを選定して,Google Apps Scriptで実装を行った.
Shoot Shareを利用する状況の想定
共有元であるデバイスA,共有先であるデバイスB,および仲介端末となるスマートフォンの3種類のデバイスがある.デバイスAおよびスマートフォンは同じGoogleアカウントでブラウザにログインする.デバイスBは,それらとは異なるGoogleアカウントでブラウザにログインする.
共有元ユーザはデバイスAおよびスマートフォンを操作する.共有先ユーザはデバイスBを操作する.
Shoot Shareの機能
Shoot Shareは,画像撮影,光学文字認識(OCR),ファイル検索,QRコード生成,QRコード読み取り,およびデータ共有の6つの機能から構成される.画像撮影では,スマートフォンのカメラ機能を用いる.光学文字認識(OCR)は,画像からテキストを抽出してデジタルデータにする技術である.ユーザは共有したいデータをスマートフォンで撮影し,その画像をOCRにかけることで,データ検索や共有を行うためにデータ名を自分自身で入力する必要がなくなることから,円滑な共有操作ができる.ファイル検索では,共有するデータをデータ名で検索して参照できる.QRコード生成では,Shoot Shareにアクセスしたデバイスがログイン中のメールアドレスをQRコードに変換する.QRコード読み取りでは,スマートフォンのカメラ機能を用いて生成されたQRコードを読み取る.データ共有では,メールアドレスによるデータの共有を行う.
ユーザの操作およびシステムの仕組み
デバイスAでの操作
共有元ユーザは,デバイスAでGoogle Driveにアクセスして,共有したいデータを表示する.これにより,共有するデータをスマートフォンで選択できる.
デバイスBでの操作および内部の仕組み
共有先ユーザは,デバイスBでShoot Shareにアクセスして,QRコードを表示するボタンを押す.これにより,共有元ユーザが共有先をスマートフォンで指定できる.システムは,アクセスされたことを検知して,アクセスしたデバイスでログイン中のGoogleアカウントのメールアドレスを自動的に取得する.システムは,それをQRコードに変換し,共有先ユーザのGoogle Drive内に一意の画像データとして保存した後,そのデータを呼び出すことでQRコードをUIとして表示する.
スマートフォンでの操作および内部の仕組み
共有元ユーザは,スマートフォンでの操作フローに沿ってウェブアプリケーション内で共有を行う.
ユーザの操作に応じて,システムは内部で複数の処理を行う.
- 手順1
ユーザは,共有元デバイスに表示された共有したいデータの撮影をする.この操作により,画像がOCRにかけられて画像内のテキストがUIに反映される.システムは,はじめに,画像をHTMLのcanvasに挿入する.次に,canvasのデータをbase64形式データにエンコードする.そして,得られたbase64データを画像としてデコードしてGoogle Drive内の特定のディレクトリに保存する.最後に,保存された画像をOCRにかけることでテキストデータを取得し,その結果のリストを作成してUIに反映させる.
- 手順2
ユーザは,手順1で作成されたリストからデータ検索にかけるテキストを選択する.選択すると自動的に次の画面に遷移して,選択したテキストを名前に含むGoogle Drive内のデータがUIに反映される.システムは,指定されたテキストをデータ名に含むGoogle Drive内のデータを検索し,検索結果のリストを作成してUIに反映させる.
- 手順3
ユーザは,手順2で作成されたリストから共有するデータを選択する.選択すると,システムはデータを共有する準備を行い,自動的に次の画面に遷移する.
- 手順4
ユーザは,共有先デバイスの画面に表示されたQRコードを撮影する.システムは,QRコードの情報を読み取り,それがメールアドレスであった場合はUIに反映させる.
- 手順5
ユーザは,共有するデータに対して共有相手に与える権限を選択する.選択可能な権限は,コメント不可の閲覧者,コメント可の閲覧者および編集者である.この操作で共有の準備が完了する.システムは,選択された権限をUIに反映させる.
- 手順6
ユーザは,共有先および共有の権限を確認して共有を行うボタンを押す.この操作で共有が完了する.システムは,手順4で取得したメールアドレスおよび手順5で取得した共有の権限をユーザに提示する.
まとめ
本研究では,クラウドストレージ間のデータ共有をより円滑に行うために,共有元デバイスおよび共有先デバイスに仲介端末となるスマートフォンをかざすだけでクラウドデータを共有できるウェブアプリケーションShoot Shareを開発した.すべての機能をウェブアプリケーションとして実装することで,あらゆるデバイスで利用可能となり,システムの汎用性が高まった.
現時点では,Shoot ShareはGoogle Driveのみで利用可能である.また,QRコードを表示する手法では共有元ユーザおよび共有先ユーザの手間が増えることは避けられないため,更なる改善の余地があると考える.今後の展望として,他のクラウドストレージでも利用可能にすることで汎用性を高めつつ,QRコード表示以外の手法でよりユーザの手間を減らすことができるクラウドデータ共有システムの開発を目指す.
参考文献
[1] 総務省. 令和2 年版情報通信白書. https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r02/html/nd252110.html.
[2] 内閣官房IT 総合戦略室. 政府情報システムにおけるクラウドサービスの利用に係る基本方針. https://www.kantei.go.jp/jp/singi/it2/cio/kettei/20210330kihon.pdf, 2018.
[3] Pranav Kirtikumar Mistry, Suranga Chandima Nanayakkara, and Partricia Emilia Maes. Touchbased system for transferring data, May 3 2012. US20120110470A1.
[4] 市川泰宏, 高田秀志. 組織内での手軽な情報の受け渡しを可能にするストレージミドルウェアの構築. 研究報告グループウェアとネットワークサービス(GN), Vol. 2013-GN-86, No. 4, pp. 1–8, 2013.