(57)【特許請求の範囲】
【請求項１】
クラウドストレージと通信を行う通信部と、
前記クラウドストレージから取得されたデータをキャッシュする記憶部と、
内蔵ストレージを搭載可能な端末と接続されるインタフェース部と、
前記端末が前記インタフェース部を介して前記記憶部へのアクセスを要求した場合に、アクセスを要求されたアドレスに基づき、前記通信により前記クラウドストレージへアクセスするアクセス処理部と、
前記クラウドストレージへのアクセスにより前記クラウドストレージに記憶されたデータを取得し、前記記憶部にキャッシュさせるデータ処理部と、
前記記憶部にキャッシュされたデータを前記端末へ出力させる出力処理部と、
を備える、記憶装置。
【請求項２】
前記端末がアクセスを要求する前記アドレスを、前記クラウドストレージに記憶されたデータを示す疑似アドレスとして生成するアドレス処理部、
を備える、請求項１に記載の記憶装置。
【請求項３】
前記アクセス処理部は、前記記憶部に記憶されたディスクタイプ設定情報に基づき、前記端末からのアクセスに対する応答を行う、請求項１又は請求項２に記載の記憶装置。
【請求項４】
前記データ処理部は、前記クラウドストレージのデータのハッシュと前記記憶部にキャッシュされたデータのハッシュとに差分がある場合に、前記記憶部にキャッシュされたデータを前記クラウドストレージのデータで更新する、請求項１〜３のいずれか１項に記載の記憶装置。
【請求項５】
前記データ処理部は、前記記憶部にキャッシュされたデータに変更が加えられた場合に、変更後のデータに基づき、前記クラウドストレージのデータ、前記クラウドストレージのデータのハッシュ、前記記憶部にキャッシュされたデータのハッシュ、及び前記アドレスを更新する、請求項４に記載の記憶装置。
【請求項６】
前記記憶装置の形状は、前記内蔵ストレージの形状と同一であり、
前記記憶装置のインタフェース規格は、前記内蔵ストレージのインタフェース規格と同一である、請求項１〜請求項５のいずれか１項に記載の記憶装置。
【請求項７】
通信部が、クラウドストレージと通信を行うことと、
記憶部が、前記クラウドストレージから取得されたデータをキャッシュすることと、
インタフェース部が、内蔵ストレージを搭載可能な端末と接続されることと、
アクセス処理部が、前記端末が前記インタフェース部を介して前記記憶部へのアクセスを要求した場合に、アクセスを要求されたアドレスに基づき、前記通信により前記クラウドストレージへアクセスすることと、
データ処理部が、前記クラウドストレージへのアクセスにより前記クラウドストレージに記憶されたデータを取得し、前記記憶部にキャッシュさせることと、
出力処理部が、前記記憶部にキャッシュされたデータを前記端末へ出力させることと、
を含む、記憶方法。
【請求項８】
コンピュータを、
クラウドストレージと通信を行う通信部と、
前記クラウドストレージから取得されたデータをキャッシュする記憶部と、
内蔵ストレージを搭載可能な端末と接続されるインタフェース部と、
前記端末が前記インタフェース部を介して前記記憶部へのアクセスを要求した場合に、アクセスを要求されたアドレスに基づき、前記通信により前記クラウドストレージへアクセスするアクセス処理部と、
前記クラウドストレージへのアクセスにより前記クラウドストレージに記憶されたデータを取得し、前記記憶部にキャッシュさせるデータ処理部と、
前記記憶部にキャッシュされたデータを前記端末へ出力させる出力処理部と、
として機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置、記憶方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ＰＣ（Personal Computer）やサーバ等の端末に搭載された内蔵ストレージに関して、ストレージ容量の拡張やデータの冗長性の確保のために、外部のリソースを利用するための技術が各種提案されている。
【０００３】
例えば、下記特許文献１には、クラウドコンピューティングにより、クライアントコンピュータがクラウドシステムのコンピューティングリソースを利用する技術が開示されている。具体的に、当該技術におけるクライアントコンピュータは、クラウド管理サーバを介してクラウドシステムのストレージリソースにアクセスし、当該ストレージリソースを利用する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１５７２３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術のようにクラウドストレージを利用する場合、端末とクラウドストレージは、インターネット等のネットワークを介して互いに接続される。端末がネットワークに接続されることによりセキュリティリスクが高まる。例えば、当該ネットワークを介して、外部から端末に不正アクセスされる恐れがある。そのため、ユーザは、端末に対してセキュリティ対策を実施する必要がある。このように、ユーザが端末をネットワークに接続してクラウドストレージを利用する場合、セキュリティ対策の実施によりユーザにかかる負担が大きかった。
【０００６】
上述の課題を鑑み、本発明の目的は、クラウドストレージの利用におけるユーザの負担を軽減することが可能な記憶装置、記憶方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上述の課題を解決するために、本発明の一態様に係る記憶装置は、クラウドストレージと通信を行う通信部と、前記クラウドストレージから取得されたデータをキャッシュする記憶部と、内蔵ストレージを搭載可能な端末と接続されるインタフェース部と、前記端末が前記インタフェース部を介して前記記憶部へのアクセスを要求した場合に、アクセスを要求されたアドレスに基づき、前記通信により前記クラウドストレージへアクセスするアクセス処理部と、前記クラウドストレージへのアクセスにより前記クラウドストレージに記憶されたデータを取得し、前記記憶部にキャッシュさせるデータ処理部と、前記記憶部にキャッシュされたデータを前記端末へ出力させる出力処理部と、を備える。
【０００８】
本発明の一態様に係る記憶方法は、通信部が、クラウドストレージと通信を行うことと、記憶部が、前記クラウドストレージから取得されたデータをキャッシュすることと、インタフェース部が、内蔵ストレージを搭載可能な端末と接続されることと、アクセス処理部が、前記端末が前記インタフェース部を介して前記記憶部へのアクセスを要求した場合に、アクセスを要求されたアドレスに基づき、前記通信により前記クラウドストレージへアクセスすることと、データ処理部が、前記クラウドストレージへのアクセスにより前記クラウドストレージに記憶されたデータを取得し、前記記憶部にキャッシュさせることと、出力処理部が、前記記憶部にキャッシュされたデータを前記端末へ出力させることと、を含む。
【０００９】
本発明の一態様に係るプログラムは、コンピュータを、クラウドストレージと通信を行う通信部と、前記クラウドストレージから取得されたデータをキャッシュする記憶部と、内蔵ストレージを搭載可能な端末と接続されるインタフェース部と、前記端末が前記インタフェース部を介して前記記憶部へのアクセスを要求した場合に、アクセスを要求されたアドレスに基づき、前記通信により前記クラウドストレージへアクセスするアクセス処理部と、前記クラウドストレージへのアクセスにより前記クラウドストレージに記憶されたデータを取得し、前記記憶部にキャッシュさせるデータ処理部と、前記記憶部にキャッシュされたデータを前記端末へ出力させる出力処理部と、として機能させる。
【発明の効果】
【００１０】
本発明によれば、クラウドストレージの利用におけるユーザの負担を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態に係る記憶システムの構成の一例を示す図である。
【図２】同実施形態に係るＳＡＴＡディスク型クラウドストレージのハードウェア構成の一例を示すブロック図である。
【図３】同実施形態に係るＳＡＴＡディスク型クラウドストレージの機能構成の一例を示すブロック図である。
【図４】同実施形態に係るＳＡＴＡディスク型クラウドストレージにおける初期設定に関する処理の流れの一例を示すフローチャートである。
【図５】同実施形態に係るＳＡＴＡディスク型クラウドストレージにおける動作に関する処理の流れの一例を示すフローチャートである。
【図６】本発明の第２の実施形態に係る記憶装置の機能構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら本発明の各実施形態について詳しく説明する。
【００１３】
＜＜１．第１の実施形態＞＞
図１〜図５を参照して、本発明の第１の実施形態について説明する。
【００１４】
＜１−１．記憶システムの構成＞
まず、図１を参照して、第１の実施形態に係る記憶システムの構成の一例について説明する。図１は、第１の実施形態に係る記憶システムの構成例を示す図である。図１に示すように、記憶システム１は、端末２、クラウドストレージ３、及び初期設定用端末４を含む。端末２とクラウドストレージ３は、ネットワーク５を介して、互いに通信可能に接続されている。
【００１５】
端末２は、内蔵ストレージを搭載可能な端末である。端末２の一例として、ＰＣ（Personal Computer）、サーバ装置、スマートフォンやタブレット端末等を含むモバイル端末、ＰＯＳ（Point of sale system）端末やＡＴＭ端末等の専用機器、カーナビゲーションシステム等の車載機器等が挙げられる。端末２は、内蔵ストレージを搭載するためのスロット６を有する。
【００１６】
内蔵ストレージの一例として、２．５インチ型ＳＡＴＡディスクが挙げられる。２．５インチ型ＳＡＴＡディスクは、大きさが２．５インチ、形状が汎用のＳＡＴＡディスク形状、インタフェース規格がＳＡＴＡ（Serial ATA）インタフェースの内蔵ストレージである。
【００１７】
なお、内蔵ストレージの大きさは、かかる例に限定されない。例えば、内蔵ストレージの大きさは、３．５インチ（３．５インチ型）であってもよい。
【００１８】
また、内蔵ストレージの形状は、かかる例に限定されない。例えば、内蔵ストレージの形状は、ＰＣＩ−ｅ（Peripheral Component Interconnect-Express）カード形状、ＵＳＢ（Universal Serial Bus）フラッシュメモリ形状、Ｍ．２  ＳＳＤ（Solid State Drive）形状、ＩＤＥ（Integrated Drive Electronics）ディスク形状、ＳＡＳ（Serial Attached SCSI）ディスク形状等のいずれかであってもよい。なお、いずれの形状も汎用の形状であることが望ましい。
【００１９】
また、内蔵ストレージのインタフェース規格は、かかる例に限定されない。内蔵ストレージのインタフェース規格は、内蔵ストレージの形状に応じた規格であってよい。
例えば、内蔵ストレージの形状がＰＣＩ−ｅカード形状である場合、インタフェース規格は、ＰＣＩ−ｅインタフェースである。
内蔵ストレージの形状がＵＳＢフラッシュメモリ形状である場合、インタフェース規格は、ＵＳＢインタフェースである。
内蔵ストレージの形状がＭ．２  ＳＳＤ形状である場合、インタフェース規格は、ＮＶＭｅ（Non-Volatile Memory Express）インタフェースである。
内蔵ストレージの形状がＩＤＥディスク形状である場合、インタフェース規格は、ＩＤＥインタフェースである。
内蔵ストレージの形状がＳＡＳディスク形状である場合、インタフェース規格は、ＳＡＳインタフェース等である。
【００２０】
なお、内蔵ストレージに搭載される記録媒体は、ＨＤＤ（hard disk drive）、ＳＳＤ等の任意の記録媒体であってよい。
【００２１】
スロット６は、端末２に内蔵ストレージを接続するための多様なコネクタ（不図示）を有する。内蔵ストレージは、内蔵ストレージのインタフェース規格と対応するスロット６のコネクタに、ケーブルを介して接続される。
【００２２】
なお、スロット６が有するコネクタの数及びスロット６に接続される内蔵ストレージの数は限定されない。本実施形態では、スロット６が有する複数のコネクタの内の２つのコネクタに対して、ＳＡＴＡディスク７とＳＡＴＡディスク型クラウドストレージ８がそれぞれ接続される例について説明する。
【００２３】
ＳＡＴＡディスク７は、端末２に搭載される内蔵ストレージの一例である。本実施形態では、上述した２．５インチ型ＳＡＴＡディスクがＳＡＴＡディスク７として用いられる。そのため、ＳＡＴＡディスク７のインタフェース規格は、ＳＡＴＡインタフェースである。よって、ＳＡＴＡディスク７は、スロット６が有するＳＡＴＡコネクタにケーブルを介して接続される。
【００２４】
ＳＡＴＡディスク型クラウドストレージ８は、本実施形態に係る記憶装置の一例である。ＳＡＴＡディスク型クラウドストレージ８は、形状がＳＡＴＡディスク形状であり、ネットワーク５（例えばインターネット）を介してクラウドストレージ３と通信可能である。よって、「ＳＡＴＡディスク型クラウドストレージ」と称される。
【００２５】
ＳＡＴＡディスク型クラウドストレージ８の形状（コネクタ位置及びねじ穴位置等を含む）は、内蔵ストレージの形状と同一である。例えば、本実施形態に係る内蔵ストレージはＳＡＴＡディスク７であるため、ＳＡＴＡディスク型クラウドストレージ８の形状は、２．５インチ型ＳＡＴＡディスク形状である。これにより、ＳＡＴＡディスク型クラウドストレージ８を端末２に搭載する場合に、ＳＡＴＡディスク型クラウドストレージ８の形状に合わせて端末２を加工や改造する必要がない。よって、ＳＡＴＡディスク型クラウドストレージ８を端末２に搭載する場合のユーザの負担を軽減することができる。
【００２６】
また、ＳＡＴＡディスク型クラウドストレージ８のインタフェース規格は、内蔵ストレージのインタフェース規格と同一である。例えば、本実施形態に係る内蔵ストレージはＳＡＴＡディスク７であるため、ＳＡＴＡディスク型クラウドストレージ８のインタフェース規格は、ＳＡＴＡインタフェースである。これにより、内蔵ストレージが接続されていたスロット６のコネクタにＳＡＴＡディスク型クラウドストレージ８を接続することができる。よって、ＳＡＴＡディスク型クラウドストレージ８を内蔵ストレージの代替として、端末２に搭載することができる。
【００２７】
クラウドストレージ３は、クラウド環境に設けられたストレージである。クラウドストレージ３には、ネットワーク５を介して接続された端末がアクセス可能である。本実施形態では、ネットワーク５を介して接続されたＳＡＴＡディスク型クラウドストレージ８のみがクラウドストレージ３にアクセス可能である。
【００２８】
初期設定用端末４は、ＳＡＴＡディスク型クラウドストレージ８の初期設定を行うための端末である。初期設定用端末４は、例えば、ＵＳＢケーブルを介してＳＡＴＡディスク型クラウドストレージ８に接続される。なお、ＳＡＴＡディスク型クラウドストレージ８が端末２に搭載されていない場合、初期設定用端末４は、ＳＡＴＡディスク型クラウドストレージ８に直接接続可能である。そのため、ＳＡＴＡディスク型クラウドストレージ８の初期設定は、ＳＡＴＡディスク型クラウドストレージ８が端末２に搭載される前に行われる。
【００２９】
＜１−２．ＳＡＴＡディスク型クラウドストレージのハードウェア構成＞
以上、第１の実施形態に係る記憶システム１の構成について説明した。続いて、図２を参照して、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージのハードウェア構成の一例について説明する。図２は、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージのハードウェア構成の一例を示すブロック図である。
【００３０】
図２に示すように、ＳＡＴＡディスク型クラウドストレージ８は、ＵＳＢコネクタ１０、ＳＡＴＡコネクタ１１、処理装置２０、メモリ３０、通信装置４０、ＳＳＤ５０、及びバッテリ６０を含む。
【００３１】
ＵＳＢコネクタ１０は、ＳＡＴＡディスク型クラウドストレージ８と初期設定用端末４とを接続するコネクタである。ＳＡＴＡコネクタ１１は、ＳＡＴＡディスク型クラウドストレージ８と端末２とを接続するコネクタである。
【００３２】
処理装置２０は、プログラム制御により種々の演算処理を実行し、端末２全体を制御している。処理装置２０は、例えば、ＣＰＵ（Central Processing Unit）により実現される。
【００３３】
メモリ３０は、例えば、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）やフラッシュＲＯＭ（Read Only Memory）等の電気的に書き換え可能な不揮発性メモリで構成される。
【００３４】
通信装置４０は、モバイル通信、無線通信、及び有線通信のいずれかによる通信ネットワークを介して、他の機器と各種データの送受信を行う。例えば、通信装置４０は、モバイル通信により基地局を介してネットワーク５と接続する。また、通信装置４０は、Ｗｉ−Ｆｉ（登録商標）等の無線ＬＡＮインタフェースを含んで構成され、無線通信によりルータを介してネットワーク５と接続してもよい。また、通信装置４０は、イーサネット（登録商標）等の有線ＬＡＮインタフェースを含んで構成され、有線通信によりルータを介してネットワーク５と接続してもよい。
【００３５】
ＳＳＤ５０は、アプリケーション、デバイスドライバなどの各種のプログラム、その他、プログラムの動作により取得した各種のデータ等を記憶する。
【００３６】
バッテリ６０は、停電等の発生時に、ＳＡＴＡディスク型クラウドストレージ８に外部電源から電力が供給されていない場合に、当該バッテリ６０の出力電力をＳＡＴＡディスク型クラウドストレージ８の動作電源として出力する。これにより、例えば、クラウドストレージ３への未書き込みデータがある状態で停電等が発生した場合に、ＳＡＴＡディスク型クラウドストレージ８は、バッテリ６０の出力電力を用いて動作することで、未書き込みデータの書き込みを完了することができる。
【００３７】
なお、本実施形態に係る記憶システム１では、管理者が初期設定用端末４とＳＡＴＡディスク型クラウドストレージ８を接続することで、ＳＡＴＡディスク型クラウドストレージ８の初期設定が行われる。初期設定後のＳＡＴＡディスク型クラウドストレージ８は、端末２に既に搭載されている内蔵ストレージの代替として、管理者によって端末２の内部に搭載される。なお、初期設定後のＳＡＴＡディスク型クラウドストレージ８は、端末２に既に搭載されている内蔵ストレージを外して搭載されてもよいし、内蔵ストレージを外さずに搭載されてもよい。内蔵ストレージを外すか否かは、例えば、スロット６の数に基づき決定される。
【００３８】
＜１−３．ＳＡＴＡディスク型クラウドストレージの機能構成＞
以上、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージ８のハードウェア構成について説明した。続いて、図３を参照して、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージ８の機能構成の一例について説明する。図３は、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージ８の機能構成の一例を示すブロック図である。
【００３９】
図３に示すように、ＳＡＴＡディスク型クラウドストレージ８は、インタフェース部１１０、制御部１２０、通信部１３０、記憶部１４０、及び電源部１５０を含む。
【００４０】
インタフェース部１１０は、ＳＡＴＡディスク型クラウドストレージ８を外部端末と接続し、ＳＡＴＡディスク型クラウドストレージ８と外部端末との間の情報の送受信を行う機能を有する。当該機能は、例えば、図２を参照して説明したＵＳＢコネクタ１０及びＳＡＴＡコネクタ１１により実現される。インタフェース部１１０は、外部端末から受信した情報を制御部１２０へ出力する。
【００４１】
インタフェース部１１０は、ＵＳＢケーブルを介してＵＳＢコネクタ１０に接続された初期設定用端末４から送信される情報を受信する。初期設定用端末４から送信される情報は、例えば、ＳＡＴＡディスク型クラウドストレージ８の初期設定情報である。一例として、初期設定情報は、クラウドストレージ接続設定情報及びディスクタイプ設定情報を含む。
【００４２】
クラウドストレージ接続設定情報は、具体的に、ＩＤとパスワード等のクラウドストレージ３に接続するための情報を含む。
ディスクタイプ設定情報は、具体的に、記憶部１４０のパーティション構造、フォーマット種類、及びディスク容量等、ＳＡＴＡディスク型クラウドストレージ８が内蔵ストレージであると端末２に見せかけるための情報を含む。
【００４３】
なお、インタフェース部１１０が初期設定用端末４から受信した初期設定情報は、制御部１２０を介して記憶部１４０に記憶される。
【００４４】
また、インタフェース部１１０は、ＳＡＴＡケーブルを介してＳＡＴＡコネクタ１１に接続された端末２から送信される情報を受信する。端末２から送信される情報は、例えば、記憶部１４０へのアクセス要求を示す情報である。
【００４５】
また、インタフェース部１１０は、制御部１２０から入力される情報を、ＳＡＴＡケーブルを介してＳＡＴＡコネクタ１１に接続された端末２へ送信する。制御部１２０から入力される情報は、例えば、クラウドストレージ３に記憶されているデータである。
【００４６】
インタフェース部１１０は、外部電源からの電力をＳＡＴＡディスク型クラウドストレージ８へ供給する機能も有する。ここで、外部電源は、例えば、ＳＡＴＡケーブルを介してＳＡＴＡコネクタ１１に接続された端末２が有する電源である。
【００４７】
制御部１２０は、ＳＡＴＡディスク型クラウドストレージ８の動作全般を制御する機能を有する。当該機能は、例えば、図２を参照して説明した処理装置２０により実現される。図３に示すように、制御部１２０は、初期設定部１２０２、アドレス処理部１２０４、アクセス処理部１２０６、データ処理部１２０８、及び出力処理部１２１０を含む。
【００４８】
初期設定部１２０２は、ＳＡＴＡディスク型クラウドストレージ８の初期設定を行う機能を有する。例えば、初期設定部１２０２は、初期設定用端末４の接続時に記憶部１４０に記憶された初期設定情報に基づき、ＳＡＴＡディスク型クラウドストレージ８の初期設定（初期設定用端末４接続時の初期設定）を行う。初期設定用端末４接続時の初期設定は、例えば、ＳＡＴＡディスク型クラウドストレージ８に接続された初期設定用端末４から送信された初期設定情報が記憶部１４０に記憶された時に行われる。
【００４９】
初期設定用端末４接続時の初期設定において、初期設定部１２０２は、まず、記憶部１４０に記憶された初期設定情報に含まれるディスクタイプ設定情報に基づき、ＳＡＴＡディスク型クラウドストレージ８のディスクタイプの設定を行う。
【００５０】
続いて、初期設定部１２０２は、記憶部１４０に記憶された初期設定情報に含まれるクラウドストレージ接続設定情報に基づき、ＳＡＴＡディスク型クラウドストレージ８とクラウドストレージ３を接続するための接続設定を行う。これにより、通信部１３０は、クラウドストレージ３と通信を行うことができるようになる。
【００５１】
接続設定後、初期設定部１２０２は、アクセス処理部１２０６にクラウドストレージ３へアクセスさせ、クラウドストレージ３の状態を解析する。例えば、初期設定部１２０２は、クラウドストレージ３に保存されているファイル群（以下、「保存済みファイル群」とも称される）と、設定したＳＡＴＡディスク型クラウドストレージ８のディスクタイプを解析する。そして、初期設定部１２０２は、保存済みファイル群に対して疑似的なアドレッシングを行い、保存済みファイル群に疑似的にアクセスするためのアドレス（以下、「疑似アドレス」とも称される）を、アドレス処理部１２０４に生成させる。疑似アドレスの生成後、初期設定部１２０２は、生成された疑似アドレスをデータ処理部１２０８にクラウドストレージ３及び記憶部１４０に記憶させる。
【００５２】
さらに、初期設定部１２０２は、ディスクタイプ設定情報と疑似アドレスの整合性を検証するための差分チェック用ハッシュを生成する。そして、初期設定部１２０２は、アクセス処理部１２０６にクラウドストレージ３へアクセスさせ、差分チェック用ハッシュをデータ処理部１２０８にクラウドストレージ３上に保存させる。
【００５３】
また、例えば、初期設定部１２０２は、初期設定用端末４接続時の初期設定で生成された情報に基づき、ＳＡＴＡディスク型クラウドストレージ８の初期設定（端末２接続時の初期設定）を行う。端末２接続時の初期設定は、例えば、ＳＡＴＡディスク型クラウドストレージ８に接続された端末２からＳＡＴＡディスク型クラウドストレージ８へ電力が供給された時に行われる。
【００５４】
端末２接続時の初期設定において、初期設定部１２０２は、まず、初期設定用端末４接続時の初期設定で設定した接続設定に基づき、通信部１３０にクラウドストレージ３と通信を行わせ、アクセス処理部１２０６にクラウドストレージ３へアクセスさせる。
【００５５】
続いて、初期設定部１２０２は、記憶部１４０に記憶されたディスクタイプ設定情報及び疑似アドレスと、クラウドストレージ３に記憶されたディスクタイプ設定情報及び疑似アドレスとを、差分チェック用ハッシュを用いて比較する。
【００５６】
比較した情報に差分があった場合、初期設定部１２０２は、データ処理部１２０８に記憶部１４０に記憶されたディスクタイプ設定情報及び疑似アドレスをクラウドストレージ３に記憶された情報で更新させる。この時、初期設定部１２０２は、更新後の情報に基づき差分チェック用ハッシュを生成し、記憶部１４０に記憶された差分チェック用ハッシュもデータ処理部１２０８に更新させる。
【００５７】
なお、ユーザは、記憶部１４０のディスク容量を増加したい場合、ディスクタイプ設定情報が示すディスク容量を増加させてもよい。ディスク容量が増加された場合、初期設定部１２０２は、ＳＡＴＡディスク型クラウドストレージ８の初期設定（例えば端末２接続時の初期設定）を再度行う。これにより、初期設定部１２０２は、記憶部１４０に記憶されたデータをそのままに、ユーザに物理容量が増加したように見せることができる。
【００５８】
アドレス処理部１２０４は、アドレスに関する処理を行う機能を有する。アドレス処理部１２０４は、例えば、端末２がアクセスを要求するアドレスを、クラウドストレージ３に記憶されたデータ（保存済みファイル群）を示す疑似アドレスとして生成する。アドレス処理部１２０４は、例えば、初期設定用端末４接続時の初期設定において、初期設定部１２０２からの指示を受けて疑似アドレスを生成する。生成後、アドレス処理部１２０４は、生成した疑似アドレスを初期設定部１２０２へ出力する。
【００５９】
アクセス処理部１２０６は、アクセスに関する処理を行う。例えば、アクセス処理部１２０６は、端末２がインタフェース部１１０を介して記憶部１４０へのアクセスした際の応答に関する処理を行う。具体的に、アクセス処理部１２０６は、ＳＡＴＡプロトコルをエミュレーションし、記憶部１４０に記憶されたディスクタイプ設定情報に基づき、端末２からのアクセスに対する応答を行う。ディスクタイプ設定情報は、例えば、内蔵ストレージの構成を示す情報である。これにより、アクセス処理部１２０６は、端末２に対して、ＳＡＴＡディスク型クラウドストレージ８が内蔵ストレージであると見せかけることができる。
【００６０】
また、アクセス処理部１２０６は、クラウドストレージ３へのアクセスに関する処理を行う。アクセス処理部１２０６は、例えば、端末２がインタフェース部１１０を介して記憶部１４０へのアクセスを要求した場合に、アクセスを要求された疑似アドレスに基づき、通信によりクラウドストレージ３へアクセスする。具体的に、アクセス処理部１２０６は、通信部１３０による通信を介して、クラウドストレージ３上の保存済みファイル群の中の疑似アドレスが示すデータへアクセスする。
【００６１】
データ処理部１２０８は、データに関する処理を行う機能を有する。例えば、データ処理部１２０８は、クラウドストレージ３上に記憶されたデータを取得する。具体的に、データ処理部１２０８は、アクセス処理部１２０６が疑似アドレスに基づきアクセスしたデータを取得する。
【００６２】
また、データ処理部１２０８は、データを記憶部１４０にキャッシュ（一時記憶）させる。例えば、データ処理部１２０８は、クラウドストレージ３へのアクセスにより取得したデータを記憶部１４０にキャッシュさせる。これにより、端末２にアクセスを要求された記憶部１４０は、端末２が内蔵ストレージにアクセスした場合と同様のレスポンス速度を実現することができる。
【００６３】
また、データ処理部１２０８は、記憶部１４０にキャッシュさせたデータを更新する。例えば、データ処理部１２０８は、クラウドストレージ３のデータの差分チェック用ハッシュと記憶部１４０にキャッシュされたデータの差分チェック用ハッシュとに差分がある場合に、記憶部１４０にキャッシュされたデータをクラウドストレージ３のデータで更新する。
【００６４】
また、データ処理部１２０８は、クラウドストレージ３に記憶されたデータを更新する。例えば、記憶部１４０にキャッシュされたデータに変更が加えられたとする。この場合、データ処理部１２０８は、メモリ３０に展開された変更後のデータに基づき、クラウドストレージ３のデータ、クラウドストレージ３のデータの差分チェック用ハッシュを更新する。さらに、データ処理部１２０８は、変更後のデータで記憶部１４０にキャッシュされたデータのハッシュ、及び疑似アドレスも更新する。
【００６５】
これにより、データ処理部１２０８は、クラウドストレージ３に記憶されたデータの状態を常に最新の状態に保つことができる。また、データ処理部１２０８は、データに冗長性を持たせることができる。なお、クラウドストレージ３に関する設備はクラウド事業者によって管理される。そのため、ユーザには、クラウドストレージ３に関する設備の管理の負担がかからない。よって、データ処理部１２０８の機能により、クラウドストレージの利用におけるユーザの負担を軽減することができる。
【００６６】
出力処理部１２１０は、データの出力に関する処理を行う機能を有する。例えば、出力処理部１２１０は、端末２からのアクセスに対する出力を制御する。具体的に、出力処理部１２１０は、端末２が記憶部１４０へのアクセスを要求した場合、記憶部１４０にキャッシュされたデータを端末２へ出力させる。 
【００６７】
通信部１３０は、クラウドストレージ３と通信を行う機能を有する。当該機能は、例えば、図２を参照して説明した通信装置４０により実現される。当該機能により、通信部１３０は、クラウドストレージ３と各種情報の送受信を行う。なお、通信部１３０は、モバイル通信、無線通信、及び有線通信のいずれかの通信によりクラウドストレージ３と通信を行う。
【００６８】
記憶部１４０は、各種情報を記憶する機能を有する。当該機能は、例えば、図２を参照して説明したＳＳＤ５０により実現される。当該機能により、記憶部１４０は、例えば、インタフェース部１１０を介して初期設定用端末４から受信されたＳＡＴＡディスク型クラウドストレージ８の初期設定情報を記憶する。また、記憶部１４０は、初期設定部１２０２による初期設定で生成される疑似アドレス及び差分チェック用ハッシュを記憶する。また、記憶部１４０は、通信部１３０を介してクラウドストレージ３から受信されたデータを記憶（キャッシュ）する。
【００６９】
電源部１５０は、停電等の発生時に外部電源からＳＡＴＡディスク型クラウドストレージ８に電力が供給されていない場合に、ＳＡＴＡディスク型クラウドストレージ８に電力を供給する機能を有する。当該機能は、例えば、図２を参照して説明したバッテリ６０により実現される。
【００７０】
＜１−４．処理の流れ＞
以上、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージ８の機能構成について説明した。続いて、図４及び図５を参照して、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージ８における処理の流れについて説明する。
【００７１】
（初期設定に関する処理の流れ）
まず、図４を参照して、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージ８における初期設定に関する処理の流れについて説明する。図４は、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージ８における初期設定に関する処理の流れの一例を示すフローチャートである。
【００７２】
図４に示すように、まず、ＳＡＴＡディスク型クラウドストレージ８は、初期設定用端末４が接続されたか否かを確認する（Ｓ１０２）。初期設定用端末４が接続された場合（Ｓ１０２／ＹＥＳ）、ＳＡＴＡディスク型クラウドストレージ８は、Ｓ１０４の処理を実行する。一方、初期設定用端末４が接続されていない場合（Ｓ１０２／ＮＯ）、ＳＡＴＡディスク型クラウドストレージ８は、Ｓ１０２の処理を繰り返す。
【００７３】
初期設定用端末４の接続後、ＳＡＴＡディスク型クラウドストレージ８は、初期設定用端末４から送信される初期設定情報を記憶する（Ｓ１０４）。初期設定情報の記憶後、ＳＡＴＡディスク型クラウドストレージ８は、記憶した初期設定情報に基づき、初期設定用端末４接続時の初期設定を行う（Ｓ１０６）。
【００７４】
初期設定後、ＳＡＴＡディスク型クラウドストレージ８は、ＳＡＴＡディスク型クラウドストレージ８は、端末２に接続されて電力が供給されたか否かを確認する（Ｓ１０８）。電力が供給された場合（Ｓ１０８／ＹＥＳ）、ＳＡＴＡディスク型クラウドストレージ８は、Ｓ１１０の処理を実行する。一方、電力が供給されていない場合（Ｓ１０８／ＮＯ）、ＳＡＴＡディスク型クラウドストレージ８は、Ｓ１０８の処理を繰り返す。
【００７５】
電力の供給後、ＳＡＴＡディスク型クラウドストレージ８は、端末２接続時の初期設定を行い（Ｓ１１０）、初期設定に関する処理を終了する。
【００７６】
（動作に関する処理の流れ）
続いて、図５を参照して、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージ８における動作に関する処理の流れについて説明する。図５は、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージ８における動作に関する処理の流れの一例を示すフローチャートである。なお、以下では、初期設定用端末４接続時の初期設定及び端末２接続時の初期設定が完了し、端末２に搭載されたＳＡＴＡディスク型クラウドストレージ８における処理について説明する。
【００７７】
図５に示すように、まず、ＳＡＴＡディスク型クラウドストレージ８は、端末２から記憶部１４０へのアクセス要求があるか否かを確認する（Ｓ２０２）。アクセス要求があった場合（Ｓ２０２／ＹＥＳ）、ＳＡＴＡディスク型クラウドストレージ８は、Ｓ２０４の処理を実行する。一方、アクセス要求がない場合（Ｓ２０２／ＮＯ）、ＳＡＴＡディスク型クラウドストレージ８は、Ｓ２０２の処理を繰り返す。
【００７８】
ＳＡＴＡディスク型クラウドストレージ８は、ＳＡＴＡプロトコルをエミュレーションする（Ｓ２０４）。ＳＡＴＡディスク型クラウドストレージ８は、疑似アドレスに基づき、クラウドストレージ３上のデータへアクセスする（Ｓ２０６）。
【００７９】
アクセス後、ＳＡＴＡディスク型クラウドストレージ８は、疑似アドレスが最新であるか否かを確認する（Ｓ２０８）。疑似アドレスが最新である場合（Ｓ２０８／ＹＥＳ）、ＳＡＴＡディスク型クラウドストレージ８は、Ｓ２１２の処理を実行する。一方、疑似アドレスが最新でない場合（Ｓ２０８／ＮＯ）、ＳＡＴＡディスク型クラウドストレージ８は、疑似アドレスを更新し（Ｓ２１０）、Ｓ２１２の処理を実行する。
【００８０】
ＳＡＴＡディスク型クラウドストレージ８は、クラウドストレージ３上のアクセスしたデータを取得する（Ｓ２１２）。データの取得後、ＳＡＴＡディスク型クラウドストレージ８は、取得したデータをキャッシュする（Ｓ２１４）。データのキャッシュ後、ＳＡＴＡディスク型クラウドストレージ８は、キャッシュしたデータを端末２へ出力する（Ｓ２１６）。
【００８１】
データの出力後、ＳＡＴＡディスク型クラウドストレージ８は、出力したデータに変更が加えられたか否かを確認する（Ｓ２１８）。データに変更が加えられた場合（Ｓ２１８／ＹＥＳ）、ＳＡＴＡディスク型クラウドストレージ８は、Ｓ２２０の処理を実行する。一方、データに変更が加えられていない場合（Ｓ２１８／ＮＯ）、ＳＡＴＡディスク型クラウドストレージ８は、Ｓ２０２から処理を繰り返す。
【００８２】
ＳＡＴＡディスク型クラウドストレージ８は、変更が加えられたデータに基づき、クラウドストレージ３及び記憶部１４０のデータ、疑似アドレス、及びハッシュを更新する（Ｓ２２０）。更新後、ＳＡＴＡディスク型クラウドストレージ８は、Ｓ２０２から処理を繰り返す。
【００８３】
＜１−５．変形例＞
以上、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージ８における処理の流れについて説明した。続いて、第１の実施形態の変形例について説明する。なお、以下に説明する各変形例は、単独で第１の実施形態に適用されてもよいし、組み合わせで第１の実施形態に適用されてもよい。また、各変形例は、第１の実施形態で説明した構成に代えて適用されてもよいし、第１の実施形態で説明した構成に対して追加的に適用されてもよい。
【００８４】
（１）第１の変形例
上述した第１の実施形態では、クラウドストレージ３と接続するためにＩＤとパスワードが用いられる例に説明したが、かかる例に限定されない。クラウドストレージ３と接続するために、指紋センサ等を用いた生体認証が行われてもよい。これにより、クラウドストレージ３との接続におけるセキュリティが向上する。
【００８５】
（２）第２の変形例
複数の端末２の各々にＳＡＴＡディスク型クラウドストレージ８が搭載されている場合、各々のＳＡＴＡディスク型クラウドストレージ８が同じクラウドストレージ３へ接続するように接続設定が行われてもよい。これにより、複数の端末２のユーザが異なる場合、複数のユーザでデータを共有することができる。
【００８６】
以上説明したように、第１の実施形態に係るＳＡＴＡディスク型クラウドストレージ８は、クラウドストレージ３と通信を行い、クラウドストレージ３から取得されたデータをキャッシュする。また、ＳＡＴＡディスク型クラウドストレージ８は、端末２と接続される。端末２がインタフェース部１１０を介して記憶部１４０へのアクセスを要求した場合に、ＳＡＴＡディスク型クラウドストレージ８は、アクセスを要求されたアドレスに基づき、通信によりクラウドストレージ３へアクセスする。ＳＡＴＡディスク型クラウドストレージ８は、クラウドストレージ３へのアクセスによりクラウドストレージ３に記憶されたデータを取得し、記憶部１４０にキャッシュさせる。そして、ＳＡＴＡディスク型クラウドストレージ８は、記憶部１４０にキャッシュされたデータを端末２へ出力させる。
【００８７】
かかる構成により、クラウドストレージ３の利用時におけるインターネット等のネットワーク５への接続は、ＳＡＴＡディスク型クラウドストレージ８の内部のみで行われ、端末２はネットワーク５に直接接続されない。これにより、ユーザがクラウドストレージ３の利用にあたりセキュリティ対策を行わなかったとしても、ネットワーク５を介して端末２が外部から直接不正アクセスされることが防がれる。
【００８８】
以上より、ユーザは、クラウドストレージ３を利用するために、セキュリティに関する新しい知識を取得しなくてもよいし、端末２とクラウドストレージ３との間のセキュリティ対策を新しく施さなくてもよい。よって、第１の実施形態に係る記憶装置は、クラウドストレージの利用におけるユーザの負担を軽減することができる。
【００８９】
＜＜２．第２の実施形態＞＞
以上、本発明の第１の実施形態について説明した。続いて、図６を参照して、本発明の第２の実施形態について説明する。図６は、本発明の第２の実施形態に係る記憶装置８の機能構成の一例を示すブロック図である。
【００９０】
図６に示すように、第２の実施形態に係る記憶装置８は、少なくともインタフェース部１１０、通信部１３０、記憶部１４０、アクセス処理部１２０６、データ処理部１２０８、及び出力処理部１２１０を備えていればよい。
【００９１】
インタフェース部１１０は、内蔵ストレージを搭載可能な端末と接続される。
【００９２】
通信部１３０は、クラウドストレージと通信を行う。
【００９３】
記憶部１４０は、クラウドストレージから取得されたデータをキャッシュする。
【００９４】
アクセス処理部１２０６は、端末がインタフェース部１１０を介して記憶部１４０へのアクセスを要求した場合に、アクセスを要求されたアドレスに基づき、通信によりクラウドストレージへアクセスする。
【００９５】
データ処理部１２０８は、クラウドストレージへのアクセスによりクラウドストレージに記憶されたデータを取得し、記憶部１４０にキャッシュさせる。
【００９６】
出力処理部１２１０は、記憶部１４０にキャッシュされたデータを端末へ出力させる。
【００９７】
かかる構成により、クラウドストレージの利用時におけるインターネット等のネットワークへの接続は、記憶装置８の内部のみで行われ、端末はネットワークに直接接続されない。これにより、ユーザがクラウドストレージの利用にあたりセキュリティ対策を行わなかったとしても、ネットワークを介して端末が外部から直接不正アクセスされることが防がれる。
【００９８】
以上より、ユーザは、クラウドストレージを利用するために、セキュリティに関する新しい知識を取得しなくてもよいし、端末とクラウドストレージとの間のセキュリティ対策を新しく施さなくてもよい。よって、第２の実施形態に係る記憶装置８は、クラウドストレージの利用におけるユーザの負担を軽減することができる。
【００９９】
以上、本発明の各実施形態について説明した。なお、上述した各実施形態における記憶システム１の全部または一部の機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【０１００】
以上、図面を参照してこの発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【０１０１】
１  記憶システム
２  端末
３  クラウドストレージ
４  初期設定用端末
５  ネットワーク
６  スロット
７  ＳＡＴＡディスク
８  ＳＡＴＡディスク型クラウドストレージ
１０  ＵＳＢコネクタ
１１  ＳＡＴＡコネクタ
２０  処理装置
３０  メモリ
４０  通信装置
５０  ＳＳＤ
６０  バッテリ
１１０  インタフェース部
１２０  制御部
１３０  通信部
１４０  記憶部
１５０  電源部
１２０２  初期設定部
１２０４  アドレス処理部
１２０６  アクセス処理部
１２０８  データ処理部
１２１０  出力処理部
【要約】
【課題】クラウドストレージの利用におけるユーザの負担を軽減することが可能な記憶装置、記憶方法、及びプログラムを提供する。
【解決手段】クラウドストレージと通信を行う通信部と、前記クラウドストレージから取得されたデータをキャッシュする記憶部と、内蔵ストレージを搭載可能な端末と接続されるインタフェース部と、前記端末が前記インタフェース部を介して前記記憶部へのアクセスを要求した場合に、アクセスを要求されたアドレスに基づき、前記通信により前記クラウドストレージへアクセスするアクセス処理部と、前記クラウドストレージへのアクセスにより前記クラウドストレージに記憶されたデータを取得し、前記記憶部にキャッシュさせるデータ処理部と、前記記憶部にキャッシュされたデータを前記端末へ出力させる出力処理部と、を備える、記憶装置。
【選択図】図３【図１】
0006820076.tif 000002
【図２】
0006820076.tif 000003
【図３】
0006820076.tif 000004
【図４】
0006820076.tif 000005
【図５】
0006820076.tif 000006
【図６】
0006820076.tif 000007