本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報共有システムは、図1に例示するように、複数のストレージデバイス10a,b…と、少なくとも一つの端末20a,b…とを含んで構成される。
各ストレージデバイス10は、本発明の情報機器に相当し、制御部11、記憶部12及び、通信部13を含んで構成される。また各端末20は、制御部21、記憶部22、操作部23、表示部24、及び通信部25を含んで基本的に構成される。各ストレージデバイス10は、一般に、互いに異なるローカルエリアネットワーク(LAN)に接続されており、各LANは、それぞれルータRを介してインターネットに接続される。すなわち各ストレージデバイス10は、インターネット上のサーバに対してアクセス可能であり、またルータRの設定によっては、ストレージデバイス10同士で、インターネットを介して、相互に通信が可能となっている。本実施の形態においては、このインターネット上には動的DNS(Domain Name Service)サーバ50やクラウドサーバ60等が接続されているものとする。
ストレージデバイス10の制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態においてこのストレージデバイス10の制御部11は、通信部13を介して入力される指示に従い、記憶部12に情報を格納し、また、記憶部12に格納された情報を読み出して通信部13を介して外部の装置へ送出するといった、一般的なNASとしての動作を行う。
さらに本実施の形態では、各ストレージデバイス10には、予め固有の識別情報が設定されているものとする。そして制御部11は、この識別情報を、予め定められたタイミングごとに繰返して、動的DNSサーバ50に送出する。
また本実施の形態の一例において制御部11は、端末20との間で通信部13が近距離通信を行ったときに、認証情報を発行し、近距離通信を行っている端末20に対して当該発行した認証情報を送出する。また制御部11は、端末20から他のストレージデバイス10が発行した認証情報を受信すると、当該受信した認証情報を用いて当該認証情報を発行したストレージデバイス10にアクセスして共有の設定を行う。本実施の形態のある例ではこの制御部11はVPN(Virtual Private Network)サーバまたはVPNクライアントとしての動作を行ってもよい。この制御部11の詳しい処理の内容については後に述べる。
記憶部12は、制御部11により実行されるプログラムを保持するメモリ部12aと、外部の機器からの指示で格納され、あるいは読み出される情報を保持するディスクドライブ12bとを含んで構成される。ここでディスクドライブ12bは例えばハードディスクドライブや、SSD(Solid State Drive)等のディスクデバイスでよい。またメモリ部12aに格納されるプログラムは、DVD−ROM等のコンピュータ可読かつ持続的に情報を保持する記憶媒体に格納されて提供され、この記憶部12のメモリ部12aに格納されたものであってもよい。またこのプログラムはネットワーク等の通信手段を介して提供され、このメモリ部12aに格納されたものであってもよい。さらに、本実施の形態では、この記憶部12のメモリ部12aは制御部11のワークメモリとしても動作する。
本実施の形態の一例に係る通信部13は、ネットワークインタフェース等の第1通信部131と、NFC(Near Field Communication)やブルートゥース(登録商標)等の近距離通信を行う第2通信部132とを含んで構成される。この通信部13は、外部の機器から受信する指示や情報を制御部11に出力する。またこの通信部13は、制御部11から入力される指示に従って、第1通信部131または第2通信部132を介して、当該指示に係る情報を外部の機器に出力する。
端末20は、例えば携帯電話機等である。制御部21は、CPU等のプログラム制御デバイスで構成され、記憶部22に格納されたプログラムに従って動作する。本実施の形態では、この制御部21は、端末20としての一般的な機能を実現するための処理を実行する。例えば端末20が携帯電話機であれば、この制御部21は、携帯電話通信網を介した音声通信の発呼や、着信の処理等を実行する。また本実施の形態においてこの制御部21は、情報の共有元となるべきストレージデバイス10との間で近距離通信を行って認証情報を受信する。また制御部21は、他の端末20から認証情報を受信して記憶部22に保持させる。さらにこの制御部21は、情報の共有先となるストレージデバイス10に対して、保持した認証情報を送出する処理を行う。この制御部21の詳しい動作については後に述べる。
記憶部22は、制御部12により実行されるプログラムを保持する。このプログラムは、DVD−ROM等のコンピュータ可読かつ持続的に情報を保持する記憶媒体に格納されて提供され、この記憶部22に格納されたものであってもよい。またこのプログラムはネットワーク等の通信手段を介して提供され、この記憶部22に格納されたものであってもよい。さらに本実施の形態では、この記憶部22は、制御部21のワークメモリとしても動作する。
操作部23は、テンキーや、タッチパネル等であり、利用者の操作を受け入れて、当該操作の内容を表す情報を制御部21に出力する。表示部24は、例えばディスプレイ等であり、制御部21から入力される指示に従って情報を表示出力する。
通信部25は、ネットワークインタフェース(例えば無線LANインタフェース)である第1通信部251と、NFCやブルートゥース等の近距離通信を行う第2通信部252とを含んで構成される。この端末20が携帯電話機であれば、この通信部25は、携帯電話回線網上にある基地局装置との間で通信を行うためのモジュールをさらに含んでもよい。
動的DNSサーバ50は、インターネットを介してストレージデバイス10から識別情報を受信すると、その受信元のネットワークアドレス(一般に、ルータRのWAN(Wide Area Network)側アドレスとなる)を参照し、識別情報と当該参照して得られたネットワークアドレスとを関連付けて記憶する。
ここでストレージデバイス10の制御部11の動作について説明する。この制御部11は、機能的には図2(a)に例示するように、情報共有モジュール30を含んで構成される。この情報共有モジュール30は、認証情報提供部31と、認証情報受入部32と、認証部33と、共有設定部34と、情報共有部35を含んで構成される。本実施の形態のある例においては、ストレージデバイス10同士はVPNを利用して情報の共有を行う。
認証情報提供部31は、端末20から認証情報の発行が要求されると、当該求めに応じて認証情報を発行する。また認証情報提供部31は、当該発行した認証情報を、要求元である端末20に対して近距離通信にて送出する。さらにこの認証情報提供部31は、当該発行した認証情報を記憶部12に格納して保持する。具体的な例として、この認証情報提供部31が発行する認証情報は乱数値で構わない。
またこの認証情報提供部31は、ストレージデバイス10同士がVPNを利用して情報の共有を行う場合は、VPN接続のための認証情報(アカウント情報(ユーザ名とパスワード)や、必要な場合は事前共有鍵など、以下、VPN認証情報と呼ぶ)を、予め行われた設定の内容から読み出して送出する。具体的に認証情報提供部31は、端末20に対して近距離通信にて、発行した認証情報とともに、このVPN認証情報とストレージデバイス10の識別情報(動的DNSサーバ50に対して送出するものと同じもの)とを送出する。
認証情報受入部32は、他のストレージデバイス10から認証情報を受け入れて保持する端末20との間で近距離通信を行い、当該認証情報を含んだ情報を受け入れる。具体的にこの認証情報受入部32は、端末20から近距離通信にて受信した認証情報と、VPN認証情報と、他のストレージデバイス10の識別情報とを受け入れる。また、この認証情報受入部32は、ネットワーク(ここでの例ではVPN)を介して他のストレージデバイス10から受信した認証情報を受け入れる。認証情報受入部32は、端末20から近距離通信にて受信した認証情報については、VPN認証情報、及び識別情報とともに共有設定部34に対して出力する。またこの認証情報受入部32は、他のストレージデバイス10(または端末20)からネットワークを介して受信した認証情報については、認証部33に出力する。
認証部33は、認証情報受入部32が受け入れた認証情報が、自己が過去に発行した認証情報として記憶部12に格納されているか否かを調べる。そして当該受け入れた認証情報と同じ認証情報が、自己が過去に発行した認証情報として記憶部12に格納されていれば、共有設定部34に対して、この認証情報の送信元となった他のストレージデバイス10との間で共有の設定を行うよう指示する。なお、このとき、当該記憶部12に格納されていた認証情報を破棄するなど、使用不能に設定してもよい。また、受け入れた認証情報と同じ認証情報が、自己が過去に発行した認証情報として記憶部12に格納されていなければ共有の設定を行うことなく、処理を終了する。
共有設定部34は、端末20から受信した認証情報を用いて、共有元情報機器である他のストレージデバイス10にアクセスし、共有対象となる情報を取得可能な状態に設定する。具体的にこの共有設定部34は、認証情報受入部32から認証情報と、VPN認証情報と、他のストレージデバイス10の識別情報とを受け入れると、当該識別情報に関連付けて記憶しているネットワークアドレスを提供するよう、インターネット上の動的DNSサーバ50に対して要求する。
共有設定部34は、この要求に応答して、動的DNSサーバ50が送信したネットワークアドレスを受けて、当該ネットワークアドレスに対してVPNによる接続を試みる。この際、入力されたVPN認証情報を用いた認証が行われる。共有設定部34は、VPNによる接続に成功すると、接続先である他のストレージデバイス10(共有元となるストレージデバイス)に対して、認証情報を送出する。なお、ここではVPN認証情報としてVPN接続に必要な情報のすべてを、VPNによる接続を試みる側のストレージデバイス10が端末20を介して受け取っているが、本実施の形態はこれに限られず、例えばUPnP(Universal Plug and Play)技術を用いた広く知られている方法を採用してもよい。この場合は、VPN認証情報は、VPN接続に必要な情報の一部であってもよいし、また場合によってはVPN認証情報はなくてもよい。さらにストレージデバイス10間の通信を可能とするために、UDPホールパンチング等の他の広く知られた技術を用いてもよい。
またこの共有設定部34は、接続先である他のストレージデバイス10(共有元となるストレージデバイス)から認証に成功した旨の情報を受け入れると、当該他のストレージデバイス10の少なくとも一部を、自己の管理するファイルシステムの一部としてマウントする。この処理では、FUSE(Filesystem in Userspace)等、広く知られた技術を利用できる。また(共有元側の制御部11の)共有設定部34は、認証部33から要求の設定を行うよう指示を受けると、VPNにより接続されている他のストレージデバイス10(共有先のストレージデバイス)に対して認証が完了した旨を表す情報を送出する。
情報共有部35は、ネットワークを介して情報の読み出しまたは書き込み等の指示を受け入れる。本実施の形態ではこの情報共有部35は、ディスクドライブ12bに格納された情報の一覧を提供すべき旨の指示を受けると、自己の記憶部12のディスクドライブ12bに格納されている情報の一覧とともに、マウントした他のストレージデバイス10の記憶部12のディスクドライブ12bに格納されている情報の一覧を出力する。またこのマウントした他のストレージデバイス10の記憶部12に格納されている情報の読み出し指示を受け入れると、情報共有部35は、当該指示に従い、マウントした他のストレージデバイス10の記憶部12に格納された情報をネットワークを介して取得して出力する。
なお、ここでは共有の対象となる情報を保持するストレージデバイス10に対してVPNを用いて接続し、以降はその接続を維持しながら、必要に応じて共有の対象となる情報の一覧を利用者に提供し、あるいは共有の対象となる情報を取得して提供することとしていた。この方法は、例えば共有の対象となる情報が所定のディレクトリに格納されたファイルであるものと設定され、当該ディレクトリ内のファイルが適宜に変更される場合等に適している。しかしながら本実施の形態はこれだけに限られない。
すなわち本実施の形態のある例では、共有の対象となる情報を保持するストレージデバイス10に対しVPNにて接続した側の(共有先となる)ストレージデバイス10の情報共有部35は、当該共有の対象となる情報を、利用者の指示の有無によらずに取得し、自己のディスクドライブ12bに格納しておいてもよい。この場合、共有の対象の情報は共有先のストレージデバイス10に複写されることとなる。この例では、複写の処理が完了した後は、VPN接続が切断されても構わない。
次に、端末20の制御部21の動作について説明する。本実施の形態において端末20は、一般的な携帯電話機の制御部としての動作を行うほか、次のように動作する。本実施の形態の制御部21は、機能的には図3に例示するように、認証情報要求部41と、認証情報交換部42と、認証情報提供部43とを含んで構成される。
認証情報要求部41は、利用者の操作に応じてストレージデバイス10との間で近距離通信を行い、認証情報を要求する。またこの認証情報要求部41は、要求に応じてストレージデバイス10から認証情報を含む情報を受信すると、当該受信した情報を記憶部22に格納して保持する。
認証情報交換部42は、利用者の指示操作により、他の端末20に対して近距離通信にて、記憶部22に格納した認証情報を含んだ情報(ストレージデバイス10から受け入れたもの)を送出する。またこの認証情報交換部42は、他の端末20から近距離通信にて、認証情報(ストレージデバイス10が発行したもの)を含む情報を受け入れると、当該情報を記憶部22に格納して保持する。
認証情報提供部43は、利用者の指示操作に応じて、ストレージデバイス10との間で通信を行い、記憶部22に格納した、認証情報(他のストレージデバイス10が発行したもの)を含む情報を送出する。本実施の一例では、認証情報提供部43は、利用者の指示操作に応じて、ストレージデバイス10との間で近距離通信を行い、記憶部22に格納した、認証情報を含む情報を送出することとしているが、本実施の形態はこれに限られず、認証情報提供部43は、近距離通信以外の通信方法、例えば無線LANを介して行う方法その他の各種通信方法を用いて、認証情報等を送出することとしてもよい。以下では、近距離通信を行う場合を例として説明する。
本実施の形態の一例に係る情報共有システムは、以上の構成を備えてなり、次のように動作する。以下の例では、一対のストレージデバイス10a,bの間で情報の共有を行う例を示す。またストレージデバイス10aはLANaに接続されており、ストレージデバイス10bはLANbに接続される。各LANにはそれぞれルータRa,Rbが備えられ、インターネットに接続されている。
さらに各ストレージデバイス10a,bは、ルータRaまたはRbを介して、定期的に繰返してインターネット上の動的DNSサーバ50に対し、自己の識別情報を送出している。これにより動的DNSサーバ50は、ルータRaまたはRbのWAN側のネットワークアドレス(つまり、各ストレージデバイス10a,bに対して情報を送出する際の送出先)を得て、各識別情報に対して得られた上記ネットワークアドレスを関連付けて記憶する。
端末20aの所持者がストレージデバイス10aに近づいて、端末20aをストレージデバイス10aに、ストレージデバイス10aの第2通信部132と、端末20aとが近距離通信を行うことが可能となる程度に近接させる。すると端末20aとストレージデバイス10aとが図4に例示するように動作する。すなわち、端末20aは記憶部22内に認証情報を保持しているか否かを調べ、保持していなければ認証情報をストレージデバイス10aに要求する(S1)。また、利用者が明示的に、認証情報をストレージデバイス10aに要求するよう指示してもよい。この場合は当該利用者の指示があった場合に、端末20aが認証情報をストレージデバイス10aに要求する。
ストレージデバイス10aは、端末20aからの要求に応答し、認証情報を発行して(S2)、要求元である端末20aに対して近距離通信にて当該発行した認証情報と、VPN認証情報と、ストレージデバイス10aの識別情報(動的DNSサーバ50に対して送出するものと同じもの)とを含む情報を送出する(S3)。またストレージデバイス10aは、当該発行した認証情報を記憶部12に格納して保持する(S4)。端末20aは、ストレージデバイス10aから受信した情報を記憶する(S5)。
次に、端末20aの所持者は、端末20bの所持者(ストレージデバイス10bに近接し得る者、具体的にはストレージデバイス10bの所持者)に近付き、端末20aに対し、認証情報を送出するよう指示する。また、端末20bの所持者には認証情報を受信するよう端末20bの操作を行わせる。そして各端末20の所持者は、端末20aと端末20bとを、互いに近距離通信が可能な程度に近接させる。
すると、端末20aが他の端末20bに対して近距離通信にて、記憶部22に格納した認証情報を含んだ情報(ストレージデバイス10aから受け入れたもの)を送出する。そして端末20bが、他の端末である端末20aから近距離通信にて認証情報(ストレージデバイス10aが発行したもの)を含む情報を受け入れ、当該情報を記憶する。なお、ここでは、端末20a,20b間での認証情報の受け渡しは、近距離通信によることとしたが、本実施の形態ではこれに限られず、他の方式の通信、例えば無線LAN等を介した通信や、端末20a側で認証情報を表す符号画像(バーコード等)を表示させ、端末20b側でそれを撮影して復号することなどといった方法での通信によって認証情報の受け渡しを行っても構わない。以下では、近距離通信を行う場合を例として説明する。
次に、端末20bの所持者が、ストレージデバイス10bに近づいて、ストレージデバイス10bの第2通信部132と端末20bとが近距離通信を行うことが可能となる程度に、端末20bをストレージデバイス10bに近接させる。すると端末20bとストレージデバイス10bとストレージデバイス10aとが図5に例示するように動作する。なお、ここでは、端末20bと、ストレージデバイス10bとの間での通信は、近距離通信によることとしたが、本実施の形態ではこれに限られず、他の方式の通信、例えば無線LAN等を介した通信等、他の通信方法を用いても構わない。近距離通信でない場合は、端末20bをストレージデバイス10bに近接させる必要は必ずしもない。一例として無線LANを用いる場合、ストレージデバイス10bがウェブサーバとして動作し、HTTP(Hyper Text Transfer Protocol)を用いて端末20bとの間で通信を行って情報を取得することとしてもよい。以下では、近距離通信を行う場合を例として説明する。
すなわち、端末20bは自身の記憶部22内に認証情報を保持しているか否かを調べる。ここでは認証情報を保持しているので、当該認証情報をストレージデバイス10bに送出する(S11)。またここでは利用者が明示的に、認証情報をストレージデバイス10bに送出するよう指示してもよい。この場合は当該利用者の指示があった場合に、端末20bが認証情報をストレージデバイス10bに送出する。
本実施の形態の一例では、ストレージデバイス10bは、共有対象となる情報を保持する共有元情報機器である他のストレージデバイス10aが発行する認証情報を受け入れた端末20bとの間で近距離通信を行い、当該認証情報を含む情報を受け入れることとなる。ここではストレージデバイス10bは、端末20bから、ストレージデバイス10aが発行した認証情報と、ストレージデバイス10aとの間でVPN接続を行うためのVPN認証情報と、ストレージデバイス10aの識別情報とを受け入れる。
ストレージデバイス10bは、端末20bから受け入れた識別情報に関連付けて記憶しているネットワークアドレスを提供するよう、インターネット上の動的DNSサーバ50に対して要求し、ストレージデバイス10bは、この要求に応答して、動的DNSサーバ50が送信したネットワークアドレスを取得する(S12)。そしてストレージデバイス10bは、当該ネットワークアドレス(ストレージデバイス10a)に対してVPNによる接続を試みる(S13)。この際、入力されたVPN認証情報を用いた認証が行われる。ストレージデバイス10bは、VPNによる接続に成功すると、相手方に対して、端末20bから受け入れた認証情報を送出する(S14)。
ストレージデバイス10aは、接続されたVPNを介して、ストレージデバイス10bから認証情報を受け入れて、当該受け入れた認証情報が、自己が過去に発行した認証情報として記憶部12に格納されているか否かを調べる(S15)。ここで、自己が過去に発行した認証情報として記憶部12に格納されていなければ(Noならば)共有の設定を行うことなく、処理を終了する。
また受け入れた認証情報と同じ認証情報が、自己が過去に発行した認証情報として記憶部12に格納されていれば(Yesならば)、ストレージデバイス10bに対して認証に成功した旨の情報を送出する(S16)。
ストレージデバイス10bは、接続先であるストレージデバイス10a(共有元となるストレージデバイス)から認証に成功した旨の情報を受け入れて、ストレージデバイス10aのディスクドライブ12b内の少なくとも一部を、自己の管理するファイルシステムの一部としてマウントする(S17)。
以下、ストレージデバイス10bは、情報の一覧の求めに応じて、自己のディスクドライブ12b内の情報のみならず、マウントしたストレージデバイス10aのディスクドライブ12b内の情報を含めた一覧を出力する。また、ストレージデバイス10aのディスクドライブ12b内の情報の読み出し指示に応答し、ストレージデバイス10aのディスクドライブ12bから情報を読み出して出力するようになる。
なお、処理S13においてUPnP失敗レスポンスを受信した場合や、UPnPでポートを開放した後、共有元のストレージデバイス10aからの情報送信が失敗した場合、あるいは、VPNのセッション失敗レスポンスを受信した場合、あるいは処理中、応答がない状態が一定時間以上あった場合(いわゆるタイムアウトの場合)などにおいては、ストレージデバイス10bはVPN接続に失敗したものとして処理を終了する。このときには、後に再びVPN接続を試行してもよい。このようにVPN接続に失敗した場合、ストレージデバイス10bは、その旨を端末20bの所持者に対して報知し、再度端末20bから認証情報等を送出するよう指示してもよい。端末20bの所持者が再度、端末20bを操作してストレージデバイス10bとの間の通信を行わせ、認証情報等を送出すると、ストレージデバイス10bは当該受け入れた情報を用いて処理S12以下の処理を再度実行する。なお、この場合に、ストレージデバイス10bは、前回の通信とは違う方式の通信にて端末20bから認証情報等を受け入れてもよい。例えば、前回の通信がHTTPを用いたものであれば、VPN接続失敗後、再度認証情報等を受け入れるときにはHTTPによる受け入れは行わず、例えば近接通信等他の通信方法でのみ認証情報を受け入れるようにしてもよい。
またこの際に、ストレージデバイス10aもまた、接続先であるストレージデバイス10bのディスクドライブ12b内の少なくとも一部を自己の管理するファイルシステムの一部としてマウントしてもよい。
なお、情報のアクセス権については、マウントした側のアカウント情報に応じて、マウントされる側のストレージデバイス10側で設定可能であるようにしておく。このアクセス権の設定により、各ストレージデバイス10のディスクドライブ12bの一部に限り、共有の対象とする設定が可能となる。このような設定については、例えば、ストレージデバイス10が設定用のウェブページを提供し、当該ウェブページ上で設定を受け入れるようにするなど、広く知られた技術により実現可能である。なお、こうしたウェブページについては、無線または有線ネットワークを介して、ストレージデバイス10を配した施設(自宅や会社等)内から行ってもよいし、外出先から行うことも可能であるが、このような技術もまた、広く知られているので、ここでの詳しい説明を省略する。
さらに本実施の形態の別の動作例では、端末20aの所持者が、端末20aをストレージデバイス10bに近づけて、端末20aがストレージデバイス10bに対して認証情報を送出するようにしてもよい。この例では、端末20bは必ずしも必要でない。
また、本実施の形態の上記の動作例では、ストレージデバイス10a内の情報を、ストレージデバイス10bを介して共有することとしていたが、本実施の形態はこの例に限られるものではない。すなわち、端末20aから認証情報を受け入れた端末20bが直接ストレージデバイス10aにアクセスしてもよい。この場合、端末20bは、端末20aから受け入れた識別情報に関連付けて記憶しているネットワークアドレスを提供するよう、インターネット上の動的DNSサーバ50に対して要求する。そして端末20bは、この要求に応答して、動的DNSサーバ50が送信したネットワークアドレスを受けて、当該ネットワークアドレス(ストレージデバイス10a)に対してVPNによる接続を試みる。この際、入力されたVPN認証情報を用いた認証が行われる。端末20bは、VPNによる接続に成功すると、相手方に対して、端末20aから受け入れた認証情報を送出する。
ストレージデバイス10aは、接続されたVPNを介して、端末20bから認証情報を受け入れて、当該受け入れた認証情報が、自己が過去に発行した認証情報として記憶部12に格納されているか否かを調べる。ここで、自己が過去に発行した認証情報として記憶部12に格納されていなければ共有の設定を行うことなく、処理を終了する。
また受け入れた認証情報と同じ認証情報が、自己が過去に発行した認証情報として記憶部12に格納されていれば、端末20bに対して認証に成功した旨の情報を送出する。
端末20bは、接続先であるストレージデバイス10a(共有元となるストレージデバイス)から認証に成功した旨の情報を受け入れると、その後は利用者の指示に従い、ストレージデバイス10aに対して情報一覧の提供を求める動作や、指定した情報の読み出しを要求する動作を行う。
ストレージデバイス10aは、情報の一覧の求めに応じて、自己のディスクドライブ12b内の情報の一覧(共有の対象が限られている場合は、当該限られた情報の一覧でよい)を出力する。また、ストレージデバイス10aは、端末20bからのディスクドライブ12b内の情報の読み出しの要求に応答し、ディスクドライブ12bから指示された情報を読み出して、要求元の端末20bに対して出力する。
さらに上述の例において、端末20bもまた、ストレージデバイス10bから認証情報を含む情報(VPNの接続のためのVPN認証情報等をさらに含んでもよい)を近距離通信により得ておき、端末20aからストレージデバイス10aの認証情報等を受信したときに、端末20aに対してストレージデバイス10bから受けた認証情報を含む情報を送信してもよい。
この場合は、ストレージデバイス10aもまた、端末20aからストレージデバイス10bの認証情報を受け入れることが可能となる。つまり、端末20aの所持者が、ストレージデバイス10aに端末20aを近接させたときに、端末20aが端末20bから受け入れた認証情報等があれば、端末20aはストレージデバイス10aに対して当該認証情報等を近距離通信にて送出する。この例ではストレージデバイス10aがストレージデバイス10bに対してVPN接続を試みるようになる。
一般にVPN接続は、一方側から他方側への接続ができない場合であっても、他方側から一方側への接続が可能な場合もあるので、このように双方でVPN接続を試行することにより共有の設定に成功する可能性が向上する。
またこのように双方からVPN接続を試みるようにする場合には、VPN接続されたストレージデバイス10間でそれぞれが保持している認証情報を相手方に送信する。そしてストレージデバイス10は他のストレージデバイス10から受信した認証情報が自己の発行した認証情報として記憶部12に格納されている場合、当該認証情報を削除するなどして利用不能としてもよい。
また同時期に双方からVPN接続を試みることにより競合が発生する場合は、VPN接続を試みようとするストレージデバイス10が他のストレージデバイス10からVPN接続を試みるパケットを受信していないかを調べ、受信していないときにVPN接続の試行を開始することとしてもよい。また、双方で一斉にVPN接続の試行を開始してしまい、競合が発生したときには、VPN接続の試行を双方で中断し、それぞれのストレージデバイス10にて所定の方法で発生させたランダムな時間だけ待機した後、再びVPN接続の試行を開始するようにしてもよい。
[クラウドサーバを用いる例]
また本発明の実施の形態の別の例では、インターネット上にあるクラウドサーバ60を利用してもよい。クラウドサーバ60を利用する場合のストレージデバイス10の制御部11の動作について説明する。この例の制御部11は、機能的には図2(b)に例示するように、情報共有モジュール30′を備える。この情報共有モジュール30′は、認証情報提供部31と、認証情報受入部32と、共有設定部34′と、情報共有部35′を含んで構成される。ここで既に説明した構成と同様の構成となるものについては同じ符号を付して繰り返しての説明を省略する。
本実施の形態においてクラウドサーバ60には、ストレージデバイス10に対応するアカウントが予め設定されているものとし、あるストレージデバイス10から受信した(アップロードされた)情報を、当該ストレージデバイス10に対応するアカウントに関連付けて保持する。このクラウドサーバ60としては、ドロップボックス(登録商標)や、エバーノート(登録商標)等、広く知られたサービスを用いることができる。
なお、この例ではVPNを利用した情報の共有は必須でないので、共有元となるストレージデバイス10aの認証情報提供部31は、VPN認証情報やストレージデバイス10a自身の識別情報を送出する必要は必ずしもない。一方で、この例では、共有元の情報を保持するストレージデバイス10aからアップロードされた情報にアクセスするためのクラウドサーバ60のアカウントの情報(以下、アカウント情報と呼ぶ)が必要となる場合がある。この場合、当該アカウント情報は、情報の共有先において、予め設定して記憶させておけばよい。
またVPN認証情報や識別情報が端末20に対して送出されない場合は、共有先のストレージデバイス10bの認証情報受入部32は、端末20からは認証情報は受け入れるが、これらVPN認証情報や識別情報は受け入れないこととなる。
一方、共有元のストレージデバイス10aでは、共有設定部34′は、認証情報提供部31が認証情報を発行すると、共有の対象として指定された情報を、当該認証情報をキーとして暗号化する。この例では同じ認証情報を用いて復号が可能となる方法で暗号化する。共有元のストレージデバイス10aの共有設定部34′はそして、当該暗号化した情報を、クラウドサーバ60にアップロードする。
この例の共有先のストレージデバイス10bの認証情報受入部32は、端末20から近距離通信にて受信した認証情報を共有設定部34′に出力する。またこの共有先のストレージデバイス10bの共有設定部34′は、端末20から認証情報を受信すると、これを記憶部12に格納して保持する。
共有先のストレージデバイス10bの情報共有部35′は、認証情報受入部32が受け入れて共有設定部34′により記憶部12に保持された認証情報と、予め設定されているアカウント情報とを用い、予め指定されたクラウドサーバ60にアクセスする。具体的にこの共有先のストレージデバイス10bの情報共有部35′は、ネットワークを介して情報の読み出しまたは書き込み等の指示を受け入れる。本実施の形態のこの例では、共有先のストレージデバイス10bの情報共有部35′は、ディスクドライブ12bに格納された情報の一覧を提供すべき旨の指示を受けると、自己の記憶部12のディスクドライブ12bに格納されている情報の一覧とともに、共有元情報機器である他のストレージデバイス10aがクラウドサーバ60にアップロードした情報の一覧を出力する。
また共有元情報機器である他のストレージデバイス10aがクラウドサーバ60にアップロードした情報の読み出し指示を利用者から受け入れると、共有先のストレージデバイス10bの情報共有部35′は、当該指示に従い、クラウドサーバ60にアクセスし、記憶部12に格納されたアカウント情報に関連付けて保持されている情報を取得し、当該情報を記憶部12に格納された認証情報で復号して出力する。なお、ここまでの説明で、共有の対象となる情報が複数のファイルを含む場合は、共有元のストレージデバイス10では、当該複数のファイルをいわゆるZIP等でアーカイブしてから認証情報にて暗号化を施してもよい。この場合、共有先のストレージデバイス10は、認証情報にて復号してアーカイブを取り出し、当該アーカイブから、各ファイルを取り出して共有の対象となった情報を得る。
本実施の形態のこの例のシステムは次のように動作する。すなわち端末20aの所持者がストレージデバイス10aに近づいて、端末20aをストレージデバイス10aに、ストレージデバイス10aの第2通信部132と、端末20aとが近距離通信を行うことが可能となる程度に近接させる。すると端末20aとストレージデバイス10aとが図6に例示するように動作する。すなわち、端末20aが認証情報をストレージデバイス10aに要求する(S21)と、ストレージデバイス10aは、端末20aからの当該要求に応答し、認証情報を発行する(S22)。
そしてストレージデバイス10aは、要求元である端末20aに対して、当該発行した認証情報と、クラウドサーバ60のアカウント情報とを含む情報を、近距離通信にて送出する(S23)。またストレージデバイス10aは、当該発行した認証情報を用いて、記憶部12に格納されている共有の対象となる情報を暗号化して、クラウドサーバ60にアップロードする(S24)。端末20aは、ストレージデバイス10aから受信した情報を記憶する(S25)。
次に、端末20aの所持者は、端末20bの所持者(ストレージデバイス10bに近接し得る者、具体的にはストレージデバイス10bの所持者)に近付き、端末20aに対し、認証情報を送出するよう指示する。また、端末20bの所持者には認証情報を受信するよう端末20bの操作を行わせる。そして各端末20の所持者は、端末20aと端末20bとを、互いに近距離通信が可能な程度に近接させる。
すると、端末20aが他の端末20bに対して近距離通信にて、記憶部22に格納した認証情報を含んだ情報(ストレージデバイス10aから受け入れたもの)を送出する。そして端末20bが、他の端末である端末20aから近距離通信にて認証情報(ストレージデバイス10aが発行したもの)を含む情報を受け入れ、当該情報を自己の記憶部22に記憶する。
次に、端末20bの所持者が、ストレージデバイス10bに近づいて、ストレージデバイス10bの第2通信部132と端末20bとが近距離通信を行うことが可能となる程度に、端末20bをストレージデバイス10bに近接させる。すると端末20bとストレージデバイス10bとストレージデバイス10aとが次のように動作する。
すなわち、端末20bは記憶部22内に保持した認証情報をストレージデバイス10bに送出する。ストレージデバイス10bは、共有対象となる情報を保持する共有元情報機器である他のストレージデバイス10aが発行する認証情報を受け入れた端末20bとの間で近距離通信を行い、当該認証情報やアカウント情報を含む情報を受け入れて、これらの情報を記憶部12に格納する。
ストレージデバイス10bは、その後、端末20b等からネットワークを介して情報の一覧の要求を受け入れると、クラウドサーバ60にアクセスし、記憶部12に格納したアカウント情報に関連付けて保持されている情報の一覧を読み出す。そして自己のディスクドライブ12b内の情報の一覧とともに、当該読み出した一覧を、一覧の要求元に対して出力する。
また、ストレージデバイス10bは、端末20b等からネットワークを介して、クラウドサーバ60に、ストレージデバイス10aのアカウント情報に関連付けて格納されている情報を読み出すべき旨の指示を受けると、クラウドサーバ60にアクセスし、記憶部12に格納したアカウント情報に関連付けて保持されている情報を取得し、当該取得した情報を記憶部12に格納した認証情報で復号し、その復号の結果である共有対象の情報を、上記指示を行った端末20b等に対して出力するようになる。
さらに本実施の形態のこの例においても、端末20aから認証情報を受け入れた端末20bが直接クラウドサーバ60にアクセスしてもよい。この場合、端末20bは、利用者の指示によりクラウドサーバ60にアクセスし、端末20aから受け入れたアカウント情報に関連付けて保持されている情報の一覧を読み出して、当該一覧を表示出力する。
またこの端末20bは、利用者から当該クラウドサーバ60に、共有元からアップロードされた情報を取得するべき旨の指示を受けて、クラウドサーバ60にアクセスし、端末20aから受け入れたアカウント情報に関連付けて保持されている情報を取得し、当該取得した情報を、端末20aから受け入れた認証情報で復号し、その復号の結果である共有対象の情報を、表示出力する等、所定の処理に供する。
なお、これら共有の対象となる情報へアクセスする端末20bや、ストレージデバイス10bは、それぞれクラウドサーバ60にアクセスする際に、予めそれぞれに設定されたアカウント情報(クラウドサーバ60にサインインするための情報)を利用してもよい。
[選択的に動作する例]
さらに本実施の形態において、制御部11は図2(a)に示した情報共有モジュール30としての処理と、図2(b)に示した情報共有モジュール30′としての処理とを所定の条件に基づいて切替えて実行してもよい。一例として、この切替の条件は、共有の対象となる情報のサイズに基づくものであってもよい。例えば共有の対象となる情報のサイズが所定のしきい値を超える場合に図2(a)に示した情報共有モジュール30としての処理を実行し、そうでなければ図2(b)に示した情報共有モジュール30′としての処理を実行するようにしてもよい。
[共有対象を直接送信する例]
また本実施の形態では、共有対象の情報を保持するストレージデバイス10(共有元のストレージデバイス10)は、近距離通信が可能な程度に近接した端末20に対して、共有の対象とする情報を送出することとしてもよい。
この例に係るストレージデバイス10の制御部11は、機能的には図7に例示するように、情報共有モジュール30″を含む。またこの情報共有モジュール30″は、認証情報提供部31′と、認証情報受入部32と、認証部33と、共有設定部34″と、情報共有部35″と、判断部36とを含んで構成される。ここで既に説明した構成と同様の構成をとるものについては同じ符号を付して詳しい説明を省略する。
共有元のストレージデバイス10の判断部36は、認証情報提供部31′から入力される判断の指示に従い、共有の対象となる情報(ディスクドライブ12bに格納された情報のうちから予め指定されているものとする)が、予め定めた条件を満足しているか否かを判断する。例えばこの判断部36は共有の対象となる情報のサイズが予め定めたしきい値を下回っているか否かを調べる。共有元のストレージデバイス10の判断部36は、この条件(例えば共有の対象となる情報のサイズが予め定めたしきい値を下回っているとの条件)を満足すると判断すると、当該共有の対象となる情報を認証情報提供部31′に出力して、端末20に送出させる。
またこの共有元のストレージデバイス10の判断部36は、共有の対象となる情報が、予め定めた条件を満足していないと判断すると、判断部36は認証情報提供部31′に対して、共有の対象となる情報そのものを出力せずに、認証情報の出力をするよう指示する。なお、共有の対象が、ディスクドライブ12bに格納されているすべての情報でない場合は、共有元のストレージデバイス10の判断部36は、共有の対象として指定された情報を特定する対象特定情報(パス名等)を、認証情報とともに出力してもよい。
共有元のストレージデバイス10の認証情報提供部31′は、端末20から認証情報の発行が要求されると、判断部36に対して判断の指示を出力する。またこの共有元のストレージデバイス10の認証情報提供部31′は、判断部36が共有の対象となる情報を出力すると、認証情報を発行し、要求元である端末20に対して、当該発行した認証情報と、判断部36が出力した、共有の対象となる情報とを、近距離通信等により送出する。また共有元のストレージデバイス10の認証情報提供部31′は、当該発行した認証情報を記憶部12に格納して保持する。さらに共有元のストレージデバイス10の認証情報提供部31′は、ストレージデバイス10同士がVPNを利用して情報の共有を行う場合は、VPN接続のためのVPN認証情報と共有元のストレージデバイス10自身の識別情報(動的DNSサーバ50に対して送出するものと同じもの)とを、予め行われた設定の内容から読み出して端末20に対して近距離通信等により送出する。
一方、共有元のストレージデバイス10の判断部36が共有の対象となる情報そのものを出力せず、認証情報(及び対象特定情報)の出力をするよう指示したときには、共有元のストレージデバイス10の認証情報提供部31′は、認証情報を発行し、要求元である端末20に対して、当該発行した認証情報を、近距離通信等により送出する。またこの認証情報提供部31′は、当該発行した認証情報を記憶部12に格納して保持する。さらにこの認証情報提供部31′は、ストレージデバイス10同士がVPNを利用して情報の共有を行う場合は、VPN接続のためのVPN認証情報と共有元のストレージデバイス10自身の識別情報(動的DNSサーバ50に対して送出するものと同じもの)とを、予め行われた設定の内容から読み出して端末20に対して近距離通信等により送出する。
この例では、他のストレージデバイス10(共有先のストレージデバイス10)から認証情報受入部32が認証情報を受け入れたときには、共有元のストレージデバイス10の認証部33は、自己が過去に発行した認証情報として当該受け入れた認証情報と同じ認証情報が自身の記憶部12に格納されているか否かを調べる。そして当該受け入れた認証情報と同じ認証情報が、自己が過去に発行した認証情報として記憶部12に格納されていれば、共有設定部34″に対して、この認証情報の送信元となった他のストレージデバイス10との間で共有の設定を行うよう指示する。なお、このとき、当該記憶部12に格納されていた認証情報を破棄するなど、使用不能に設定してもよい。また、受け入れた認証情報と同じ認証情報が、自己が過去に発行した認証情報として記憶部12に格納されていなければ、共有元のストレージデバイス10の認証部33は、共有の設定を行わせることなく、処理を終了する。
また、この例では、共有先のストレージデバイス10の認証情報受入部32は、端末20から近距離通信等により受信した認証情報を、共有設定部34″に対して、VPN認証情報及び識別情報(端末20から受信していれば)とともに出力することになる。
この共有先のストレージデバイス10の共有設定部34″,情報共有部35″の動作は、既に説明した共有設定部34または共有設定部34′、並びに情報共有部35または情報共有部35′と同様となる。
また端末20の制御部21は、図8に例示するように、情報要求部46と、情報交換部47と、認証情報提供部43と、情報処理部48とを含んで構成される。
情報要求部46は、利用者の操作に応じてストレージデバイス10との間で通信(近距離通信等)を行い、認証情報を要求する。情報要求部46は、要求に応じてストレージデバイス10から認証情報を含む情報を受信すると、当該受信した情報を記憶部22に格納して保持する。ここで保持する情報には、共有の対象となった情報そのものが含まれ得る。
情報交換部47は、利用者の指示操作により、他の端末20に対し近距離通信等により、記憶部22に格納した認証情報を含んだ情報(ストレージデバイス10から受け入れたもの)を送出する。またこの情報交換部47は、他の端末20から近距離通信等により、認証情報(ストレージデバイス10が発行したもの)を含む情報を受け入れると、当該情報を記憶部22に格納して保持する。
認証情報提供部43は、利用者の指示操作に応じて、ストレージデバイス10との間で通信(近距離通信等)を行い、記憶部22に格納した、認証情報(他のストレージデバイス10が発行したもの)を含む情報を送出する。
情報処理部48は、情報交換部47が他の端末20から受信した情報のうちに、共有の対象となった情報そのものが含まれていれば、当該情報を、利用者の指示により表示出力する等、所定の処理に供する。
本実施の形態の別の例に係る情報共有システムは、以上の構成を備えてなり、次のように動作する。以下の例では、基本的には一対のストレージデバイス10a,bの間で情報の共有を行う例を示す。この例は既に説明したものと同様の構成をとるものであるが、情報の共有方法の一つとして、共有の対象として設定された情報が予め定めた条件を満足する場合の動作が加わっている点が異なる。
利用者は、共有対象の情報を格納したストレージデバイス10aに対し、そのディスクドライブ12bに格納されている情報のうち、共有の対象とする情報がどれであるかを予め設定しておく。具体的には、ストレージデバイス10aに対して有線または無線LANを介して接続されているPC等から、ストレージデバイス10aに対して共有の対象となる情報を特定する操作を行っておき、ストレージデバイス10aが当該特定された情報を表す対象特定情報を生成して保持しておく。また、別の例では、ストレージデバイス10aに対してインターネットを介して、端末20(例えば端末20a)から共有の対象となる情報を特定する操作を行ってもよい。この場合もストレージデバイス10aが当該特定された情報を表す対象特定情報を生成して保持する。ここで端末20aの所持者が例えばストレージデバイス10aに近づいて、端末20aをストレージデバイス10aに、ストレージデバイス10aの第2通信部132と、端末20aとが近距離通信を行うことが可能となる程度に近接させる。すると端末20aが自身の記憶部22内に認証情報を保持しているか否かを調べ、保持していなければ認証情報をストレージデバイス10aに要求する。また、利用者が明示的に、認証情報をストレージデバイス10aに要求するよう指示してもよい。この場合は当該利用者の指示があった場合に、端末20aが認証情報をストレージデバイス10aに要求する。
ストレージデバイス10aは、端末20aからの要求に応答し、認証情報を発行する。またこのときストレージデバイス10aは、共有の対象となった情報が予め定めた条件を満足するか否かを調べる。具体的に、この条件は既に述べたように、情報のサイズが予め定めたしきい値を下回る条件でよい。
ストレージデバイス10aは、ここで共有の対象となった情報が予め定めた条件を満足すると判断すると、認証情報の要求元である端末20aに対して、近距離通信にて、発行した認証情報と、VPN接続のためのVPN認証情報と、ストレージデバイス10aの識別情報(動的DNSサーバ50に対して送出するものと同じもの)と、共有の対象となった情報そのものとを含む情報を送出する。
一方、ストレージデバイス10aは、共有の対象となっている情報が予め定めた条件を満足しない場合は、認証情報の要求元である端末20aに対して、近距離通信にて、発行した認証情報と、VPN接続のためのVPN認証情報と、ストレージデバイス10aの識別情報(動的DNSサーバ50に対して送出するものと同じもの)とを含み、共有の対象となった情報そのものを含まない情報を送出する。またこのとき、ストレージデバイス10aは、端末20aに対して、共有の対象となった情報を特定するための対象特定情報を送出してもよい。なお、共有の対象となっている情報が静止画像や動画像等である場合は、ストレージデバイス10aは次のような処理を行ってもよい。すなわち、共有の対象となっている静止画像や動画像のサイズが予め定めたしきい値を下回らない場合、ストレージデバイス10aは、静止画像であれば、それをリサイズして縮小処理し、縮小処理結果(具体的にはサムネイル画像等)を、認証情報等とともに端末20aに対して送出してもよい。また動画像の場合、代表的なフレーム(例えば動画像がMPEG(Motion Picture Experts Group)形式である場合、最初のIフレームなどとする)を選択的に抽出し、当該抽出したフレームの静止画像を、認証情報等とともに端末20aに対して送出してもよい。
さらにいずれの場合であってもストレージデバイス10aは、当該発行した認証情報を記憶部12に格納して保持する。
端末20aは、ストレージデバイス10aから受信した情報を記憶する。そして次に、端末20aの所持者は、端末20bの所持者(ストレージデバイス10bに近接し得る者、具体的にはストレージデバイス10bの所持者)に対して、認証情報を受信するよう端末20bの操作を行わせる。また、端末20aの所持者は、端末20aに対し、認証情報を送出するよう指示する。そして各端末20の所持者は、端末20aと端末20bとを、互いに通信が可能な状態とする。具体的に近距離通信を行う場合は、端末20a,bの各所持者は、各端末20a,bを互いに近接させる。
すると、端末20aが他の端末20bに対して、通信(近距離通信等)にて、端末20aの記憶部22に格納した認証情報を含んだ情報(ストレージデバイス10aから受け入れたもの)を送出する。そして端末20bが、他の端末である端末20aから近距離通信等により認証情報(ストレージデバイス10aが発行したもの)を含む情報を受け入れ、当該情報を記憶する。この記憶される情報には、対象特定情報や、共有の対象となった情報に基づいて生成された縮小画像(サムネイル画像)等が含まれてもよい。この縮小画像等、共有の対象となった情報に基づいて生成された情報は、端末20bの所持者に対して、共有の対象となった情報をプレビューさせる処理(表示する処理など)に供される。
このとき、端末20aが、共有の対象となる情報そのものをストレージデバイス10aから受け入れていれば、当該共有の対象となる情報そのものも、端末20bに送出されることとなる。この場合、利用者は端末20bを操作することで、当該共有の対象となる情報を表示出力するなど、所定の処理に供することが可能となる。
また端末20bの所持者は、端末20bに対してストレージデバイス10bとの間で通信を行うよう指示する。このとき端末20bとストレージデバイス10bとは、図5に例示した動作を行う。一例として端末20bの所持者は、ストレージデバイス10bに近づいて、ストレージデバイス10bの第2通信部132と端末20bとが近距離通信を行うことが可能となる程度に、端末20bをストレージデバイス10bに近接させてもよい。このときには端末20bとストレージデバイス10bとは、図5に例示した動作を行うこととなる。すなわちストレージデバイス10bは、端末20bから認証情報等を受け入れて、当該認証情報等を用いて、ストレージデバイス10aとの間でVPN接続を行い、ストレージデバイス10aをマウントする。そしてその後、ストレージデバイス10bは、情報の一覧の求めに応じて、自己のディスクドライブ12b内の情報のみならず、マウントしたストレージデバイス10aのディスクドライブ12b内の情報を含めた一覧を出力する。また、ストレージデバイス10aのディスクドライブ12b内の情報の読み出し指示に応答し、ストレージデバイス10aのディスクドライブ12bから情報を読み出して出力するようになる。例えば本実施の形態のこの例では、ストレージデバイス10bは、認証情報とともに対象特定情報を受け入れてもよい。この場合、対象特定情報を受け入れたストレージデバイス10bは、マウントしたストレージデバイス10aのディスクドライブ12bから、当該対象特定情報で特定される情報(共有の対象とされた情報)を取得し、端末20b等に対して出力する。
なお、この例においても、VPN接続を用いずに、クラウドサーバ60を利用して情報の共有を行うこととしてもよい。また、ストレージデバイス10aが共有の対象となる情報を端末20aに送出するときには、認証情報の提供は必ずしも必要でない。さらに、ここまでの説明では共有の対象となる情報の送出の条件として、当該情報のサイズが予め定めたサイズを下回る場合としたが、本実施の形態はこれに限られず、例えば、当該情報の種類が予め定めた種類であるなど、情報の種類(拡張子やヘッダ情報により識別する)によって異ならせてもよい。さらに別の条件として、共有の対象とされた情報が、クラウドサーバ60に既にアップロードされているか否か(ストレージデバイス10a上の情報がクラウドサービスを介して取得可能か否か)によって異ならせてもよい。つまり、共有の対象とされた情報が、クラウドサーバ60に既にアップロードされている場合は、共有の対象となる情報そのものを送出しないよう制御する。
さらにこの例でも、端末20bは、必ずしもストレージデバイス10bを介してストレージデバイス10a内の共有の対象の情報を取得する必要はなく、端末20bが直接、ネットワークを介してストレージデバイス10a内の共有の対象の情報を取得してもよい。この場合、ストレージデバイス10bは、端末20bから利用者名やパスワード等の認証設定情報を受け入れておく。そしてストレージデバイス10bはストレージデバイス10aに対して認証情報(ストレージデバイス10aが発行したもの)と、端末20bから受け入れた認証設定情報とを送信し、認証処理を行っておくとともに、端末20bに対するアクセス許可を設定するよう求めておく。ストレージデバイス10aが端末20bからの認証設定情報を参照して、共有の対象となった情報へのアクセスを許可する設定を行った後、端末20bからストレージデバイス10aへ直接アクセスして、認証設定情報を用いた認証を行うことで、端末20bがストレージデバイス10a内の、共有の対象となった情報を取得することが可能となる。
またここまでの説明において、ストレージデバイス10aは、共有の対象となった情報について、所定の条件に基づいて変換処理を行い、当該変換処理後の情報を共有の対象としてもよい。具体的に例えば、端末20aの所持者が共有の対象となる情報を特定する操作を行う際に、併せて共有先の端末20bにおいて処理可能な情報の形式を指定する。一例として共有の対象となった情報が動画像情報であれば、端末20aの所持者は、端末20bにおいて再生可能な符号化方式を表す情報を入力し、端末20aが当該入力された情報をストレージデバイス10aに送出してもよい。
この場合、ストレージデバイス10aは、当該情報を参照して、共有の対象として特定された情報を変換して、指定された符号化方式の情報として、ディスクドライブ12aに格納し、当該変換後の情報を、共有の対象とした処理を行うこととする。
またここでは、ストレージデバイス10aは、共有の対象となった情報のサイズが所定のしきい値を下回る場合に、端末10aに対し、近距離通信にて当該情報を送出することとしていたが、近距離通信であってもNFCとブルートゥースの双方が利用できる場合、あるいは端末10aに対して無線LANや携帯電話回線網を介して情報を送出できる場合には、ストレージデバイス10aは次のように動作してもよい。
すなわちこの例のストレージデバイス10aは、端末20aからの認証情報の要求に応答し、認証情報を発行するとともに、共有の対象となっている情報が予め定めた第1の条件を満足するか否かを調べる。具体的に、この第1の条件は、情報のサイズが予め定めた第1のしきい値T1を下回るとの条件でよい。
ストレージデバイス10aは、ここで共有の対象となっている情報が予め定めた第1の条件を満足すると判断すると、認証情報の要求元である端末20aに対して、近距離通信(例えばNFC)にて、発行した認証情報と、VPN接続のためのVPN認証情報と、ストレージデバイス10aの識別情報(動的DNSサーバ50に対して送出するものと同じもの)と、共有の対象となった情報とを含む情報を送出する。
一方、ストレージデバイス10aは、共有の対象となっている情報が上記第1の条件を満足しない場合は、共有の対象となっている情報が予め定めた第2の条件を満足するか否かを調べる。具体的に、この第2の条件は、情報のサイズが予め定めた第2しきい値T2(ただしT2>T1)を下回るとの条件でよい。
ストレージデバイス10aは、ここで共有の対象となっている情報が予め定めた第2の条件を満足すると判断すると、認証情報の要求元である端末20aに対して、近距離通信(例えばNFCより伝送効率の高いブルートゥース、トランスファージェット(登録商標)、Wi-Fi Direct(登録商標))や無線LANあるいは携帯電話回線網を介した通信により、発行した認証情報と、VPN接続のためのVPN認証情報と、ストレージデバイス10aの識別情報(動的DNSサーバ50に対して送出するものと同じもの)と、共有の対象となった情報とを含む情報を送出する。
なお、ブルートゥース等を用いる場合は、情報の送受に先立って、ペアリングまたは機器登録等の設定が必要となる。そこでこの例による情報の送受を行う場合は事前に、当該必要な設定を、ストレージデバイス10aと、端末20aとにおいてそれぞれ行っておき、第2の条件を満足したときに、採用する方式での通信を開始する手順をストレージデバイス10aと、端末20aとにおいてそれぞれ行うものとする。
さらにストレージデバイス10aは、共有の対象となっている情報が上記第1の条件も第2の条件も満足しない場合は、認証情報の要求元である端末20aに対して、近距離通信にて、発行した認証情報と、VPN接続のためのVPN認証情報と、ストレージデバイス10aの識別情報(動的DNSサーバ50に対して送出するものと同じもの)とを含み、共有の対象となった情報を含まない情報を送出する。
さらにいずれの場合であってもストレージデバイス10aは、当該発行した認証情報を記憶部12に格納して保持する。
ここで無線LANや携帯電話回線網を介しての通信にて、情報を伝送する場合、ストレージデバイス10aは近距離通信にて当該伝送しようとする情報を提供する、自己内のサーバへアクセスするための参照情報(URL)を送出し、当該URLに対して端末20aにアクセスさせて情報を伝送するようにしてもよい。
[認証情報のタイムアウト]
またここまでの説明において、認証情報を発行したストレージデバイス10は、認証情報を発行する際など、発行した認証情報を記憶するまでの所定のタイミングで、図示しない計時部(カレンダーチップ等で実現可能である)から、処理の時点の日時情報を読み取って、この読み取った日時情報と発行した認証情報とを関連付けて記憶しておいてもよい。
この場合、当該ストレージデバイス10は、予め定められたタイミングごとに、上記計時部が計時する日時情報を読み取り、いずれかの認証情報に関連付けられた日時情報について、当該日時情報と計時部から読み取った日時情報の差が予め定めたしきい値を超えている場合に、当該日時情報に関連付けられた認証情報を記憶部12から削除するなど、使用不能に設定してもよい。
またここまでの説明ではストレージデバイス10は、認証情報を、近距離通信を用いて端末20へ送出することとしていたが、端末20が携帯電話機などSMS(ショートメッセージサービス)等のネットワークを介した通信手段に対応している場合は、SMS等によって認証情報を送出してもよい。
[3台以上による共有]
さらにここまでの説明において、複数のストレージデバイス10間で共有の対象となった情報を送受する際に相互にVPNによる接続を行うこととした例によると、VPNサーバ側となったストレージデバイス10の処理能力等の条件によってVPNサーバの受け入れ可能な相手先ストレージデバイス10の数を超えるストレージデバイス10からVPN接続の要求があることも想定される。
このような例を考慮して、VPNサーバとして動作しているストレージデバイス10aは、VPNサーバの受け入れ可能な相手先ストレージデバイス10の数をNとして、N+1台目のストレージデバイス10n(または端末20n)からVPN接続の要求があった場合に、クラウドサーバ60が利用可能であるか否かを調べる。具体的にここではクラウドサーバ60へのアクセスが可能であるか、クラウドサーバ60への情報のアップロードが可能であるか否か(クラウドサーバ60は場合によってはアップロード可能な情報のサイズが限られているので、当該サイズを超えるものでないか)を調べる。
ここでVPNサーバとして動作しているストレージデバイス10aは、クラウドサーバ60への情報のアップロードが可能であると判断すると、新たに認証情報を発行して、この発行した認証情報を用いて共有の対象となった情報を暗号化し、クラウドサーバ60へアップロードする。また、N+1台目となったストレージデバイス10n(または端末20n)から情報の一覧の要求があったときに、予め定められた形式の情報として、新たに発行した認証情報を含む情報(クラウドサーバ60を特定する情報をさらに含んでもよい)を、当該ストレージデバイス10nまたは端末20nに送出する。
ここで予め定められた形式とは、予め定めた特定のファイル名、あるいは特定の拡張子を有するファイル名とすることが考えられる。この場合、ストレージデバイス10nまたは端末20nは、一覧のうちに、この特定のファイル名の情報が含まれる場合に、当該情報に含まれる認証情報(新たに発行されたもの)を取り出す。またクラウドサーバ60を特定する情報がさらに含まれる場合は、当該情報を読み出す。
そしてストレージデバイス10nまたは端末20nは、当該取り出した情報で特定されるクラウドサーバ60(あるいはクラウドサーバ60は事前に定められたものであってもよい)にアクセスして、暗号化された共有対象の情報を取得する。そしてストレージデバイス10nまたは端末20nは当該情報を、先にストレージデバイス10aから取得した、新たに発行された認証情報で復号し、共有の対象となった情報を得て、所定の処理に供する。
また、VPNサーバとなっているストレージデバイス10aは、クラウドサーバ60への情報のアップロードが可能でないと判断したときには、現在VPN接続中のストレージデバイス10または端末20のうち一つを選択して、当該選択したストレージデバイス10または端末20とのVPN接続を切断する。この選択は、最後にVPN接続されたストレージデバイス10n-1または端末20n-1を除く他のストレージデバイス10または端末20からランダムに選択してもよいし、接続している時間が最長のものを選択してもよい。
また選択した相手方が端末20であれば、切断前に「切断しますがよろしいですか?」といった警告ダイアログを表示し、一定の時間内に応答がない場合、あるいはこの警告ダイアログで切断してもよい旨の指示があった場合に当該選択した端末20とのVPN接続を切断してもよい。この際に、警告ダイアログで切断してはいけない旨の指示がされたときには、当該端末20とのVPN接続は維持し、これとは異なるストレージデバイス10または端末20の選択を行う。
さらにVPNサーバとして動作しているストレージデバイス10aは、クラウドサーバ60への情報のアップロードが可能であると判断した場合であっても、現在VPN接続中のストレージデバイス10または端末20のうち一つを選択して、当該選択したストレージデバイス10または端末20とのVPN接続を切断するようにしてもよい。この選択は、最後に接続されたストレージデバイス10nまたは端末20nを除く他のストレージデバイス10または端末20からランダムに選択してもよいし、接続している時間が最長のものを選択してもよい。
そしてストレージデバイス10aは、新たに認証情報を発行して、この発行した認証情報を用いて共有の対象となった情報を暗号化し、クラウドサーバ60へアップロードするとともに、当該新たに発行した認証情報を含む情報を、選択したストレージデバイス10または端末20へ送出する。
この例では、VPNのクライアントとして動作しているストレージデバイス10や端末20は、VPN接続中に、VPNサーバとなっているストレージデバイス10側から、新たに発行された認証情報を含んだ所定の情報が受信されると、VPNの接続を切断して、クラウドサーバ60(事前に定められたものであってもよいし、上記新たに発行された認証情報とともにクラウドサーバ60を特定する情報が送信されてもよい)にアクセスして、暗号化された共有対象の情報を取得する。そしてこのストレージデバイス10または端末20は当該取得した情報を、先にストレージデバイス10から取得した、新たに発行された認証情報で復号し、共有の対象となった情報を得て、所定の処理に供する。
なお、ストレージデバイス10a内の共有の対象となる情報が、複数のファイルからなる場合などでは、ストレージデバイス10aは、共有の対象となる情報のうち、上記選択したストレージデバイス10または端末20が、それまでに取得したファイルを除く部分を、暗号化してクラウドサーバ60にアップロードすることとしてもよい。
さらに、ここまでの説明においてストレージデバイス10は、端末20との間で近接通信を行う場合、当該近接通信の対象となる端末20に対して非接触給電にて充電を行うこととしてもよい。このような技術としては、例えばQi(登録商標)や、A4WP(登録商標)など広く知られたものがあるので、ここでの詳しい説明は省略する。
さらに、ここまでの説明においては、共有元の情報を保持するストレージデバイス10と、共有先となるストレージデバイス10とはVPN等により相互に通信可能に接続し、共有先となるストレージデバイス10のファイルシステムに、共有元のストレージデバイス10のファイルシステムをマウントすることとしていた。しかしながら共有の対象がファイルごとに特定される場合など、共有の対象となる情報によっては、ファイルシステムをマウントするのではなく、共有の対象となる情報を、FTP(File Transfer Protocol)等により、共有元であるストレージデバイス10から共有先であるストレージデバイス10へファイルごとに転送してもよい。この場合、共有先のストレージデバイス10は、当該転送により得たファイルを、共有先である端末20に対して送出するなどの処理を行う。