(57)【要約】【課題】      大量のデータを煩雑な操作をすることなく記憶させる。【解決手段】  電子機器３０ａ，３０ｂ，３０ｃおよび３０ｄを接続した仮想ストレージ装置１０が１つの仮想的な記憶領域を定義し、複数の電子機器３０ａ〜３０ｄの記憶領域をこの仮想的な記憶領域に対応付ける。そして、仮想ストレージ装置１０はこの仮想的な記憶領域をコンピュータ２０を介してユーザに提示し、ユーザにはこの仮想的な記憶領域にデータを書き込むような操作を行わせる。しかし実際には、コンピュータ２０はこの仮想的な記憶領域に対応付けられた記憶領域を有する電子機器３０ａ〜３０ｄに対してデータの書き込みを行う。【選択図】    図１
2006235751.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータと、記憶部を有する複数の電子機器とが接続されている仮想ストレージ装置であって、
各々の前記電子機器により貸与される記憶領域を特定する情報を受信する受信手段と、
前記受信手段により受信された複数の前記記憶領域の前記情報に基づき、１の仮想的な記憶領域である仮想領域を定義する定義手段と、
前記電子機器の前記記憶領域におけるデータの記憶位置を表す領域情報と、前記定義手段により定義された前記仮想領域におけるデータの記憶位置を表す仮想領域情報とを対応付けるマッピング手段と、
前記コンピュータが出力する書込データの容量を取得し、当該書込データを書き込むとみなす前記仮想領域の仮想領域情報を決定する決定手段と、
前記決定手段により決定された仮想領域情報に対応付けられた領域情報が表す記憶領域に、前記コンピュータが出力する前記書込データを書き込ませる書込制御手段と
を備える仮想ストレージ装置。
【請求項２】
前記仮想領域に書き込まれているとみなされるデータを前記コンピュータに通知する通知手段と、
前記通知手段が通知したデータの中から、前記コンピュータが読み出しを要求した読出データを特定する特定手段と、
前記マッピング手段によって、前記特定手段により特定された前記読出データが書き込まれているとみなされる仮想領域の仮想領域情報に対応付けられた領域情報を特定し、当該領域情報が表す電子機器の前記記憶領域に記憶された前記読出データを前記コンピュータに読み出させる読出制御手段とを備える
請求項１記載の仮想ストレージ装置。
【請求項３】
前記書込制御手段は、前記書込データを書き込ませる記憶領域が複数の前記電子機器により貸与された記憶領域となる場合に、当該書込データを分割するデータ分割手段を備える
請求項１記載の仮想ストレージ装置。
【請求項４】
接続される機器の正当性を証明する署名情報を、記憶領域を貸与する前記電子機器と前記書込データを出力する前記コンピュータとに送信する署名送信手段を備える
請求項１記載の仮想ストレージ装置。
【請求項５】
コンピュータに、
複数の電子機器により貸与される記憶領域を特定する情報を受信する受信機能と、
前記受信機能により受信された複数の前記記憶領域の前記情報に基づき、１の仮想的な記憶領域である仮想領域を定義する定義機能と、
前記電子機器の前記記憶領域におけるデータの記憶位置を表す領域情報と、前記定義手段により定義された前記仮想領域におけるデータの記憶位置を表す仮想領域情報とを対応付けるマッピング機能と、
前記電子機器に書き込まれるべき書込データの容量を取得し、当該書込データを書き込むとみなす前記仮想領域の仮想領域情報を決定する決定機能と、
前記決定機能により決定された仮想領域情報に対応付けられた領域情報が表す記憶領域に、前記書込データを書き込ませる書込制御機能と
を実現させるためのプログラム。
【請求項６】
仮想ストレージ装置が、コンピュータに記憶されたデータを複数の電子機器により貸与された記憶領域に書き込ませる仮想ストレージ方法であって、
各々の前記電子機器が、貸与する記憶領域を特定する情報を前記仮想ストレージ装置に送信する過程と、
前記仮想ストレージ装置が、前記送信された複数の前記記憶領域の前記情報に基づき、１の仮想的な記憶領域である仮想領域を定義する過程と、
前記仮想ストレージ装置が、前記電子機器の前記記憶領域におけるデータの記憶位置を表す領域情報と、前記定義された前記仮想領域におけるデータの記憶位置を表す仮想領域情報とを対応付ける過程と、
前記コンピュータが、書き込むべきデータの容量を前記仮想ストレージ装置に通知する過程と、
前記仮想ストレージ装置が、前記通知された前記データの容量に基づいて当該データを書き込むとみなす仮想領域の仮想領域情報を決定し、決定された仮想領域情報に対応付けられた領域情報を前記コンピュータに通知する過程と、
前記コンピュータが、前記通知された領域情報により表される記憶領域を有する電子機器に前記データを送信する過程と
を有する仮想ストレージ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大容量のデータを記憶させるための技術に関する。
【背景技術】
【０００２】
コンピュータ性能やネットワーク通信速度の向上に伴い、データの容量は増加の一途を辿っている。そのため、いわゆるパソコン等のコンピュータにおいては、ＨＤＤ（Hard Disk Drive）等の記憶装置の大容量化が進んでいる。このような傾向はコンピュータに限ったものではなく、ＨＤＤレコーダ等のいわゆるネットワーク家電や、家庭用のゲーム機、あるいはオフィス等に設置されたプリンタといった種々の電子機器においても見られる。
【０００３】
ところで、コンピュータの利用に際しては、例えばＯＳ（Operating System）の入れ替えやデータのバックアップを目的に、大量のデータを一時的に外部に退避（記憶）させておくことがある。このような場合、従来は特許文献１に記載されているようなネットワークストレージサービスを利用することが多かった。しかし、このようなサービスを利用した場合、サービスの利用料金やデータ通信に係る通信料金が必要となる。しかも、取り扱うデータが大容量となれば、利用料金・通信料金ともに相当な額に達することも考えられる。また、上述のネットワークストレージサービスでは、データが記憶されるのは外部のサーバ装置であるため、利用者の意図に反して第三者にデータが流出し、不正に利用されてしまうおそれもあった。
【０００４】
【特許文献１】特開２００１−３５６９４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このような不都合を回避するためには、例えばＣＤ−Ｒ（Compact Disk-Recordable）等の記録媒体にデータを記憶させたりするなどして、データを利用者自身で管理することが求められる。しかし、大量のデータを複数の記録媒体に分散して記憶させたら、データの書き込みや読み出しのために何度も記録媒体の入れ替えをしなければならず、操作が非常に煩雑になるという問題があった。また、大量のデータを複数の記録媒体に記憶させた場合には、所望のデータがどの記録媒体に記憶されているかわからなくなったり、一部の記録媒体を紛失したり破損したりすることも考えられた。かといって、大容量の記録装置を新たに購入するのは、金銭的な負担を強いられるという問題があった。
本発明は上述の事情に鑑みてなされたものであり、その目的は、大量のデータを煩雑な操作をすることなく記憶させることにある。
【課題を解決するための手段】
【０００６】
上述の課題を解決するために、本発明は、コンピュータと、記憶部を有する複数の電子機器とを接続した仮想ストレージ装置であって、各々の前記電子機器により貸与される記憶領域を特定する情報を受信する受信手段と、前記受信手段により受信された複数の前記記憶領域の前記情報に基づき、１の仮想的な記憶領域である仮想領域を定義する定義手段と、前記電子機器の前記記憶領域におけるデータの記憶位置を表す領域情報と、前記定義手段により定義された前記仮想領域におけるデータの記憶位置を表す仮想領域情報とを対応付けるマッピング手段と、前記コンピュータが出力する書込データの容量を取得し、当該書込データを書き込むとみなす前記仮想領域の仮想領域情報を決定する決定手段と、前記決定手段により決定された仮想領域情報に対応付けられた領域情報が表す記憶領域に、前記コンピュータが出力する前記書込データを書き込ませる書込制御手段とを備える仮想ストレージ装置を提供する。
この仮想ストレージ装置のように、複数の電子機器により貸与された記憶領域を１つの仮想的な記憶領域（仮想領域）として定義し、この仮想領域と実際の記憶領域を対応付けることで、コンピュータからはこの仮想領域にデータを書き込むような操作を行うだけで、大量のデータをさまざまな電子機器に分散して記憶させることが可能となる。
【０００７】
また、本発明の仮想ストレージ装置は、より好適な態様として、前記仮想領域に書き込まれているとみなされるデータを前記コンピュータに通知する通知手段と、前記通知手段が通知したデータの中から、前記コンピュータが読み出しを要求した読出データを特定する特定手段と、前記マッピング手段によって、前記特定手段により特定された前記読出データが書き込まれているとみなされる仮想領域の仮想領域情報に対応付けられた領域情報を特定し、当該領域情報が表す電子機器の前記記憶領域に記憶された前記読出データを前記コンピュータに読み出させる読出制御手段とを備える。
仮想ストレージ装置がこのような構成を備えることによって、コンピュータにおいては、所望のデータが複数の記憶領域に散在しているような場合であっても、１つの仮想領域にアクセスするような操作を行うだけで所望のデータを全て読み出すことが可能となる。
【０００８】
また、本発明の仮想ストレージ装置は、より好適な態様として、前記書込制御手段は、前記書込データを書き込ませる記憶領域が複数の前記電子機器により貸与された記憶領域となる場合に、当該書込データを分割するデータ分割手段を備える。
このようにすれば、１つの記憶領域に書き込みきれないような大容量のデータをも書き込むことが可能となる。
【０００９】
また、本発明の仮想ストレージ装置は、より好適な態様として、接続される機器の正当性を証明する署名情報を、記憶領域を貸与する前記電子機器と前記書込データを出力する前記コンピュータとに送信する署名送信手段を備える。
このようにすれば、コンピュータと電子機器とが互いの署名情報を照合することが可能となり、データの書き込みおよび読み出しをより安全に行うことが可能となる。
【００１０】
なお、本発明は、仮想ストレージ装置に、複数の電子機器により貸与される記憶領域を特定する情報を受信する受信機能と、前記受信機能により受信された複数の前記記憶領域の前記情報に基づき、１の仮想的な記憶領域である仮想領域を定義する定義機能と、前記電子機器の前記記憶領域におけるデータの記憶位置を表す領域情報と、前記定義手段により定義された前記仮想領域におけるデータの記憶位置を表す仮想領域情報とを対応付けるマッピング機能と、前記電子機器に書き込まれるべき書込データの容量を取得し、当該書込データを書き込むとみなす前記仮想領域の仮想領域情報を決定する決定機能と、前記決定機能により決定された仮想領域情報に対応付けられた領域情報が表す記憶領域に、前記書込データを書き込ませる書込制御機能とを実現させるためのプログラムとしても特定される。
【００１１】
あるいは、本発明は、仮想ストレージ装置が、コンピュータに記憶されたデータを複数の電子機器により貸与された記憶領域に書き込ませる仮想ストレージ方法であって、各々の前記電子機器が、貸与する記憶領域を特定する情報を前記仮想ストレージ装置に送信する過程と、前記仮想ストレージ装置が、前記送信された複数の前記記憶領域の前記情報に基づき、１の仮想的な記憶領域である仮想領域を定義する過程と、前記仮想ストレージ装置が、前記電子機器の前記記憶領域におけるデータの記憶位置を表す領域情報と、前記定義された前記仮想領域におけるデータの記憶位置を表す仮想領域情報とを対応付ける過程と、前記コンピュータが、書き込むべきデータの容量を前記仮想ストレージ装置に通知する過程と、前記仮想ストレージ装置が、前記通知された前記データの容量に基づいて当該データを書き込むとみなす仮想領域の仮想領域情報を決定し、決定された仮想領域情報に対応付けられた領域情報を前記コンピュータに通知する過程と、前記コンピュータが、前記通知された領域情報により表される記憶領域を有する電子機器に前記データを送信する過程とを有する仮想ストレージ方法としても特定される。
【発明の効果】
【００１２】
以上のように、本発明によれば、大量のデータを煩雑な操作をすることなく記憶させることが可能となる。
【発明を実施するための最良の形態】
【００１３】
［ａ］本発明の概要
本発明は、簡単に説明すると、例えば家庭内に備えられているさまざまな電子機器の記憶領域の空き領域を用いて、これらをあたかも１つの大容量の記憶装置であるかのようにユーザに認識させるものである。ここでいう電子機器とは、パーソナルコンピュータや家庭用ゲーム機、あるいはＨＤＤレコーダ等のいわゆるネットワーク家電等が該当する。本発明においては、これらの電子機器を接続した仮想ストレージ装置が１つの仮想的な記憶領域を定義し、複数の電子機器の記憶領域をこの仮想的な記憶領域に対応付ける。そして、仮想ストレージ装置はこの仮想的な記憶領域をコンピュータを介してユーザに提示し、ユーザにはこの仮想的な記憶領域にデータを書き込むような操作を行わせる。しかし、このとき実際には、コンピュータはこの仮想的な記憶領域に対応付けられた記憶領域を有する電子機器に対してデータの書き込みを行っている、というものである。
以下では、本発明の実施の形態について、図面を参照しつつ詳細に説明する。
【００１４】
［ｂ］構成
図１は、本発明の一実施形態に係る仮想ストレージシステム１の全体構成を示した図である。この仮想ストレージシステム１は、仮想ストレージ装置１０と、コンピュータ２０と、複数の電子機器３０ａ，３０ｂ，３０ｃ，３０ｄとを備えており、ネットワーク４０を介して相互に接続されている。本実施形態においては、ネットワーク４０はいわゆる家庭内ＬＡＮ（Local Area Network）等の小規模なクローズド・ネットワークである。つまり、ネットワーク４０は、未知のユーザによる外部からのアクセスを許可しない。
なお、図１には電子機器３０ａ〜３０ｄのみが示されているが、本実施形態の仮想ストレージシステム１に接続される電子機器の数は任意であり、これより多くても少なくてもよい。また、これらの電子機器を特に区別する必要がない場合には、これを「電子機器３０」と総称する。説明の便宜上、ここでは電子機器３０をパーソナルコンピュータとする。
【００１５】
また、本実施形態において、コンピュータ２０と電子機器３０は説明の便宜上区別されるものであり、実際には電子機器３０の１台がコンピュータ２０の機能を果たしてもよいし、コンピュータ２０が電子機器３０の１台として機能してもよい。そこで以下では、コンピュータ２０と電子機器３０に共通する事項を説明する際には、これらを総称した「接続機器」という名称を適宜用いることとする。
【００１６】
図２は、仮想ストレージ装置１０の内部構成を示したブロック図である。この仮想ストレージ装置１０は、制御部１１と、記憶部１２と、表示部１３と、操作部１４と、通信部１５とを備える。制御部１１は図示せぬＣＰＵ（Central Processing Unit）やＲＡＭ（Random Access Memory），ＲＯＭ（Read Only Memory）等を備えた演算装置であり、図示せぬ制御プログラムを実行して仮想ストレージ装置１０の各部の動作を制御するほか、記憶部１２に記憶された仮想ストレージプログラムＰＧｓを実行する。記憶部１２は例えばＨＤＤ等の記憶装置であり、上述の仮想ストレージプログラムＰＧｓと、署名情報ＳＩＧと、接続機器リストＬＳＴと、マッピングテーブルＴＢＬとを記憶している。表示部１３は例えば液晶ディスプレイ等の表示装置であり、管理者に対して各種情報を表示する。操作部１４は例えばマウスやキーボード等の入力装置であり、操作者からの入力を受け付ける。通信部１５は、仮想ストレージ装置１０がネットワーク４０を介してコンピュータ２０や電子機器３０とデータの授受を行うためのインターフェース装置である。
【００１７】
ここで、記憶部１２に記憶されている接続機器リストＬＳＴとマッピングテーブルＴＢＬについて説明する。
図３に接続機器リストＬＳＴの一例を示す。この接続機器リストＬＳＴには、仮想ストレージ装置１０とネットワーク４０を介して接続されている接続機器の、「クライアント名」と、「パスワード」と、「識別情報」と、「貸出容量」とが記述されている。「クライアント名」および「パスワード」は、後述する接続機器との認証処理において用いられる情報である。これらはいずれも、各接続機器のユーザによって決定される適当な文字列である。「識別情報」は、データを書き込む際の接続先を識別および特定するために用いられる情報であり、例えば各接続機器のＩＰ（Internet Protocol）アドレスやＭＡＣ（Media Access Control）アドレスがこれに該当する。「貸出容量」は、各接続機器のユーザが仮想ストレージ装置１０に対して貸し出す記憶領域の記憶容量を示す情報であり、その記憶容量が例えばＧＢ（ギガバイト）単位で記述される。
【００１８】
この図３において、クライアント名「ａ」、「ｂ」、「ｃ」、「ｄ」および「ｃｐ」は、それぞれ電子機器３０ａ，３０ｂ，３０ｃ，３０ｄおよびコンピュータ２０を意味している。すなわち、電子機器３０ａ，３０ｂ，３０ｃ，３０ｄは、後述する自機の記憶部３２のうち、それぞれ、４０ＧＢ，３０ＧＢ，２０ＧＢ，１０ＧＢの記憶領域を仮想ストレージ装置１０に貸し出していることを意味している。つまり、仮想ストレージ装置１０が借り受けた記憶領域は、合わせて１００ＧＢである。
【００１９】
なお、各接続機器は「クライアント名」によって区別されているが、これらのユーザは全て同じであってもよい。なぜならば、家庭内ＬＡＮ等の小規模なネットワークにおいては、全ての電子機器の所有者が同一であることも考えられるからである。本実施形態においては、各接続機器の区別を容易ならしめるために、これらの接続機器を別個のユーザのものであるとした。
また、説明の便宜上、コンピュータ２０が貸し出す記憶領域は０ＧＢ，すなわちコンピュータ２０は記憶領域を貸し出さないものとするが、もちろん、コンピュータ２０自体が記憶領域を貸し出してもよい。
【００２０】
続いて、図４にマッピングテーブルＴＢＬの一例を示す。このマッピングテーブルＴＢＬには、「領域情報」と、「仮想領域情報」と、「記憶データ」とが記述されている。
「領域情報」は、接続機器が貸し出した記憶領域に対して割り振られたアドレス情報であり、接続機器の各記憶領域上の物理的な記憶位置を特定するものである。同図において、アドレス「ａ００」〜「ａ３９」は電子機器３０ａが貸し出した記憶領域を表しており、同様に、アドレス「ｂ００」〜「ｂ２９」、「ｃ００」〜「ｃ１９」、「ｄ００」〜「ｄ０９」はそれぞれ、電子機器３０ｂ，３０ｃ，３０ｄが貸し出した記憶領域を表している。ここでは、説明の便宜上、この「領域情報」を１ＧＢ単位で記述しているが、実際にはさらに小さい単位で記述されることが望ましい。なお、この「領域情報」は図３の接続機器リストＬＳＴの「貸出容量」に関連付けられており、この「貸出容量」の値に応じて決定されるものである。
【００２１】
「仮想領域情報」は、仮想ストレージ装置１０の制御部１１が定義する仮想的な記憶領域（以下、「仮想領域」という）に対して割り振られたアドレス情報である。上述のように、本実施形態では仮想ストレージ装置１０は合計１００ＧＢの記憶領域を借り受けているため、制御部１１は１００ＧＢの仮想領域を定義する。そして、この１００ＧＢの仮想領域の各々について、上述した「領域情報」の対応付けが行われている。具体的には、「仮想領域情報」はアドレス「ｖ００」〜「ｖ９９」で定義されており、このそれぞれについて、上述した「領域情報」のアドレス「ａ００」〜「ｄ０９」が対応付けられている。
「記憶データ」は、上述の「領域情報」で示された記憶領域に実際に記憶されているデータを特定するための情報である。同図の例は、仮想領域にまだデータが何も記憶されていないことを表しているため、「記憶データ」は未定義（ｎｕｌｌ値）である。データが記憶された場合の例は追って説明する。
【００２２】
続いて、接続機器の構成について説明する。
図５は、コンピュータ２０の内部構成を示したブロック図である。このコンピュータ２０は、制御部２１と、記憶部２２と、表示部２３と、操作部２４と、通信部２５とを備える。これらは、記憶部２２の記憶内容が記憶部１２と異なることを除けば、その構成は仮想ストレージ装置１０の各部とほぼ同様である。よって、ここでは記憶部２２の記憶内容のみ説明する。
【００２３】
記憶部２２にはエージェントプログラムＰＧａが記憶されている。エージェントプログラムＰＧａは、コンピュータ２０と仮想ストレージ装置１０との間の認証処理や、ユーザに指示されたデータの書込処理などを制御部２１に実行させるプログラムである。このエージェントプログラムＰＧａはいわゆる常駐プログラムであり、コンピュータ２０の起動と同時にＲＡＭにロードされて実行されるが、もちろん、ユーザの実行指示に応じて実行されてもよい。
【００２４】
なお、電子機器３０の内部構成も上述のコンピュータ２０の構成とほぼ同様である。そこで、電子機器３０の内部構成については特に図示せず、図５を代用するものとする。この場合、上述のコンピュータ２０と区別するために、同図の各符号の１桁目が「２」であるものを「３」に置き換える。つまり、電子機器３０は、制御部３１と、記憶部３２と、表示部３３と、操作部３４と、通信部３５とを備えているということである。なお、電子機器３０の記憶部３２にも、コンピュータ２０と同様のエージェントプログラムＰＧａが記憶されている。また、記憶部３２には、少なくとも仮想ストレージ装置１０に貸し出すことができるだけの記憶容量が確保されている。
【００２５】
［ｃ］動作
上記構成のもと、本実施形態の仮想ストレージシステム１においては、仮想ストレージ装置１０の制御部１１が仮想ストレージプログラムＰＧｓを実行し、接続機器の制御部（２１または３１）がエージェントプログラムＰＧａを実行する。これによって、仮想ストレージ装置１０がコンピュータ２０のユーザに仮想領域を提示し、ユーザに対してはあたかもこの仮想領域にデータを書き込むかのように認識させながら、実際には電子機器３０により貸し出された記憶領域にデータが書き込まれる、という処理が行われる。この処理によって提供されるサービスを、「仮想ストレージサービス」という。ここからは、このデータの書込処理と、データの書込処理に先立って行われる記憶領域の登録処理のそれぞれにおける各装置の具体的な動作について説明する。
【００２６】
［ｃ−１］記憶領域の登録処理
図６は、接続機器が貸し出す記憶領域（空き領域の一部）を登録する処理を示したシーケンスチャートである。この処理は、仮想ストレージサービスを利用する全ての接続機器が行うものである。同図に沿って説明すると、はじめに接続機器の制御部は、「クライアント名」と「パスワード」を入力することによって認証処理を実行する（ステップＳ１０１）。この認証処理は周知の手法に従ったものでよい。認証処理を行って接続機器と仮想ストレージ装置１０との間の接続が確立されると、仮想ストレージ装置１０の制御部１１は、接続機器に対して「貸出容量」の入力を要求する（ステップＳ１０２）。この要求に応じて、接続機器の制御部は「貸出容量」の値をユーザに入力させ、これを送信する（ステップＳ１０３）。なお、このとき接続機器の制御部は、記憶部の空き容量を検出し、記憶部の空き容量を上回る値を「貸出容量」としてユーザが入力した場合には、この入力を無効とするなどの処理を行ってもよい。
【００２７】
その後、仮想ストレージ装置１０の制御部１１は、ステップＳ１０３において送信された「貸出容量」の値に基づき、マッピングテーブルＴＢＬを更新する（ステップＳ１０４）。続いて制御部１１は、接続機器リストＬＳＴにこの接続機器に関する行を追加して更新する（ステップＳ１０５）。そして最後に、制御部１１は署名情報をこの接続機器に通知する（ステップＳ１０６）。署名情報とは接続機器の正当性を証明するための情報であり、署名情報を有していない接続機器は他の接続機器とデータのやりとりが行えないようになっている。そのため、接続機器はこの署名情報を記憶部に記憶しておく。
【００２８】
以上が記憶領域の登録処理の概要である。続いて、この処理によってマッピングテーブルＴＢＬが更新されていく様子を図７を参照しつつ説明する。ここでは、最初に電子機器３０ａが４０ＧＢの記憶領域を登録し、次に電子機器３０ｂが３０ＧＢの記憶領域を登録する場合を例に示す。
まず、電子機器３０ａが記憶領域の登録処理を行うと、４０ＧＢの仮想領域が定義される。これを示したのが図７（ａ）である。このとき制御部１１は、電子機器３０ａの記憶領域のアドレス「ａ００」〜「ａ３９」のそれぞれを、仮想領域のアドレス「ｖ００」〜「ｖ３９」に対応付ける。このような対応付けの処理のことを、ここでは「マッピング」という。続いて、電子機器３０ｂが記憶領域の登録処理を行うと、さらに３０ＧＢの仮想領域が追加されて、７０ＧＢの仮想領域が定義される。これを示したのが図７（ｂ）である。このとき制御部１１は、電子機器３０ｂの記憶領域のアドレス「ｂ００」〜「ｂ２９」が図７（ａ）において定義された仮想領域に連続するように、アドレス情報の対応付けを行う。すなわち制御部１１は、電子機器３０ｂの記憶領域のアドレス「ｂ００」〜「ｂ２９」のそれぞれを、仮想領域のアドレス「ｖ４０」〜「ｖ６９」に対応付ける。
【００２９】
このような記憶領域の登録処理が全ての接続機器において行われると、図４のマッピングテーブルＴＢＬに示した仮想領域が定義される。この仮想領域を模式的に示したのが図８である。図示のように、仮想領域は連続したアドレス情報を有する１つの記憶領域として定義されている。しかし、その実体は電子機器３０ａ，３０ｂ，３０ｃおよび３０ｄの記憶領域（図中のａ，ｂ，ｃおよびｄ）であり、これらの記憶領域に連続したアドレス情報を定義することで、１つの仮想領域を実現している。
なお、この記憶領域の登録処理は全ての接続機器において行われるが、その回数は特に制限されるものではない。例えば、貸し出す記憶領域を変更したい場合には、接続機器はその都度この処理を行えばよい。
【００３０】
［ｃ−２］データ書込処理
続いて、上記［ｃ−１］に示した処理によって登録された記憶領域にデータが書き込まれる場合の処理について説明する。ここでは、上述の電子機器３０ａ〜３０ｄによって登録された１００ＧＢの記憶領域にコンピュータ２０がデータを書き込む場合を例に説明する。なお、この処理が開始される前に、ステップＳ１０１と同様の認証処理が行われてもよい。また、この処理の開始時においては、この１００ＧＢの記憶領域にはデータが何も書き込まれていないものとする。
図９は、コンピュータ２０がデータを書き込む処理を示したシーケンスチャートである。同図に沿って説明すると、はじめに、コンピュータ２０のユーザが表示部２３および操作部２４を用いてデータを書き込む旨の指示を入力し、コンピュータ２０の制御部２１がこの指示を検出する（ステップＳ２０１）。
【００３１】
図１０は、このとき制御部２１が表示部２３に表示させる画面を例示した図である。このように表示された画面を用いて、ユーザは書き込むべきデータを指示する。同図において、領域ａ１にはコンピュータ２０の記憶領域に記憶されているデータの一覧が各データのデータ容量と共に示されている。ここに示されるデータは、記憶部２２の全体から抽出されるものであってもよいし、所定の一部の記憶領域であってもよい。例えば、データの書込処理を行うためのフォルダ（あるいはディレクトリ）を記憶部２２にあらかじめ定義しておき、このフォルダに記憶されているデータを仮想領域に書き込むのであれば、領域ａ１にはこのフォルダの記憶内容を示せばよい。図１０の領域ａ１はこのような場合の例であり、このフォルダに「Ｆ０１」および「Ｆ０２」という名前のフォルダと「Ｄ０１」という名前のデータとが記憶されていることを示している。
また、領域ａ２には仮想領域に記憶されているデータの一覧が示される。図１０は、仮想領域にデータがまだ記憶されていない状態を示している。そして、ボタンｂ１およびｂ２はそれぞれデータの書き込みおよび読み出しを指示するボタンであり、ユーザがデータの書き込みまたは読み出しを指示するときに選択（クリック）されるものである。
【００３２】
図１０の画面を用いてユーザが書き込むべきデータを指示し、この指示を制御部２１が検出したら、続いて制御部２１は仮想領域にデータを書き込む旨の書き込み要求を仮想ストレージ装置１０に送信する（ステップＳ２０２）。このとき制御部２１は、送信する書き込み要求に書き込むべきデータのデータ容量を含める。
この書き込み要求を受信した仮想ストレージ装置１０においては、制御部１１がマッピングテーブルＴＢＬを参照し、コンピュータ２０が書き込もうとしているデータを記憶させる仮想領域を所定の決定基準に基づいて決定する（ステップＳ２０３）。この決定基準は任意であるが、本実施形態では「データが記憶されていない仮想領域のうち、仮想領域情報の値が小さい仮想領域から順にデータを記憶させていく」という基準を設けることとする。そして制御部１１は、ステップＳ２０３において決定された仮想領域に対応付けられた記憶領域の領域情報と、この記憶領域を有する電子機器３０の識別情報とをコンピュータ２０に送信する（ステップＳ２０４）。
【００３３】
領域情報と識別情報とを受信したら、コンピュータ２０の制御部２１は、この識別情報によって特定される電子機器３０に対して、この領域情報によって特定される記憶領域へとデータを書き込む旨の要求を送信する（ステップＳ２０５）。このとき制御部２１は、上述した記憶領域の登録処理において取得した署名情報も電子機器３０に送信する。
この要求を受信した電子機器３０においては、制御部３１が署名情報の照合を行い、要求元であるコンピュータ２０の電子機器３０へのアクセスの正当性を評価する（ステップＳ２０６）。そして、このアクセスが正当であると判断したら、制御部３１は記憶領域の利用を許可する旨の通知をこのコンピュータ２０に送信する（ステップＳ２０７）。この通知を受信したら、コンピュータ２０の制御部２１は、書き込むべきデータを記憶部２２から順次読み出し、電子機器３０に送信する（ステップＳ２０８）。これと同時に、電子機器３０の制御部３１は、受信したデータを順次記憶部３２の記憶領域に書き込んでいく。
【００３４】
データが全て書き込まれたら、最後に制御部３１は、データの書き込みが終了した旨の通知を仮想ストレージ装置１０に送信する（ステップＳ２０９）。このとき制御部３１は、記憶部３２の記憶領域に記憶されたデータの名前とデータ容量とを仮想ストレージ装置１０に送信する。この通知を受信したら、仮想ストレージ装置１０の制御部１１はマッピングテーブルＴＢＬを更新し、コンピュータ２０に表示部２３の画面表示を更新させる旨の指示を送信する（ステップＳ２１０）。コンピュータ２０においては、書き込んだデータの内容が反映されるように制御部２１が表示部２３の表示内容を制御して画面を更新させる（ステップＳ２１１）。
【００３５】
データの書込処理はこのような流れで行われる。続いて、この処理を具体的な例を用いて説明する。ここでは図１０の例を用いて、フォルダ「Ｆ０１」とフォルダ「Ｆ０２」を電子機器３０に書き込む場合について説明する。
まず、フォルダ「Ｆ０１」のデータを書き込ませるとき、コンピュータ２０のユーザは領域ａ１からフォルダ「Ｆ０１」を選択し、ボタンｂ１をクリックする。すると、３０ＧＢのフォルダ「Ｆ０１」を書き込む要求が仮想ストレージ装置１０に送信される（ステップＳ２０１〜Ｓ２０２）。
【００３６】
その後、仮想ストレージ装置１０は、フォルダ「Ｆ０１」のデータを記憶させる仮想領域を決定する。この時点では、仮想領域にはまだ何もデータが記憶されていないため、いずれの記憶領域も利用可能であるが、ここでは「データが記憶されていない仮想領域のうち、仮想領域情報の値が小さい仮想領域から順にデータを記憶させていく」という決定基準に基づき、アドレス「ｖ００」〜「ｖ２９」の３０ＧＢの仮想領域にフォルダ「Ｆ０１」のデータを記憶させることを決定する。この決定に従い、仮想ストレージ装置１０は電子機器３０の識別情報（ＩＰアドレス等）と領域情報とを送信する。このとき送信される識別情報は、仮想領域情報のアドレス「ｖ００」〜「ｖ２９」に対応した領域情報がアドレス「ａ００」〜「ａ２９」であることから、電子機器３０ａの識別情報となる。（ステップＳ２０３〜Ｓ２０４）。
【００３７】
コンピュータ２０は、受信した識別情報に基づいて電子機器３０ａにデータの書き込みを要求する。電子機器３０ａではコンピュータ２０の署名情報の照合が行われた後で、記憶領域の利用を許可する通知がコンピュータ２０に送信される。これにより、アドレス「ａ００」〜「ａ２９」によって特定される記憶部２２の記憶領域にフォルダ「Ｆ０１」の３０ＧＢのデータが書き込まれると共に、このデータが書き込まれたことが仮想ストレージ装置１０に通知される（ステップＳ２０５〜Ｓ２０９）。
【００３８】
データの書き込みが終了した旨の通知を受けて、仮想ストレージ装置１０はマッピングテーブルＴＢＬの内容を更新する。すなわち、アドレス「ａ００」〜「ａ２９」の「領域情報」に対応する仮想領域に「Ｆ０１」という「記憶データ」が書き込まれたことをマッピングテーブルＴＢＬに記述する。また、マッピングテーブルＴＢＬの更新と共に、コンピュータ２０に表示されている画面も更新される。具体的には、図１０の領域ａ１からフォルダ「Ｆ０１」が消去されると共に、領域ａ２にフォルダ「Ｆ０１」が表示される。フォルダ「Ｆ０１」はアドレス「ｖ００」〜「ｖ２９」の「仮想領域情報」を占有しているので、仮想領域の空き容量は７０ＧＢとなる（ステップＳ２１０〜Ｓ２１１）。
この処理が行われた後のマッピングテーブルＴＢＬと表示部２３の画面は、それぞれ図１１と図１２のようになる。
【００３９】
次に、フォルダ「Ｆ０１」が書き込まれた状態でさらにフォルダ「Ｆ０２」が書き込まれる場合を説明する。上述のフォルダ「Ｆ０１」の場合と重複する説明は適宜割愛する。
フォルダ「Ｆ０２」のデータ容量は５０ＧＢであり、仮想領域には既にフォルダ「Ｆ０１」のデータが記憶されていることから、このデータを記憶させる仮想領域はアドレス「ｖ３０」〜「ｖ７９」の仮想領域情報によって特定される仮想領域である。この仮想領域は、電子機器３０ａ，３０ｂおよび３０ｃの記憶領域に対応付けられているため、フォルダ「Ｆ０２」のデータはコンピュータ２０の制御部２１によって３つのデータに分割される。この場合、分割されたフォルダ「Ｆ０２」のデータは、電子機器３０ａの「ａ３０」〜「ａ３９」の記憶領域と、電子機器３０ｂの「ｂ００」〜「ｂ２９」の記憶領域と、電子機器３０ｃの「ｃ００」〜「ｃ０９」の記憶領域とに書き込まれると共に、制御部３１はこのようにデータが書き込まれたことを仮想ストレージ装置１０に通知する（ステップＳ２０１〜Ｓ２０９）。
【００４０】
データの書き込みが終了した旨の通知を受けて、仮想ストレージ装置１０はマッピングテーブルＴＢＬの内容を更新する。すなわち、アドレス「ａ３０」〜「ａ３９」、「ｂ００」〜「ｂ２９」および「ｃ００」〜「ｃ０９」の「領域情報」に対応する仮想領域に「Ｆ０２」という「記憶データ」が書き込まれたことをマッピングテーブルＴＢＬに記述する。また、マッピングテーブルＴＢＬの更新と共に、コンピュータ２０に表示されている画面も更新される。具体的には、図１０の領域ａ１からフォルダ「Ｆ０２」が消去されると共に、領域ａ２にフォルダ「Ｆ０２」が表示される。フォルダ「Ｆ０２」はアドレス「ｖ３０」〜「ｖ７９」の「仮想領域情報」を占有しているので、仮想領域の空き容量は２０ＧＢとなる（ステップＳ２１０〜Ｓ２１１）。
【００４１】
この処理が行われた後のマッピングテーブルＴＢＬと表示部２３の画面は、それぞれ図１３と図１４のようになる。上述したように、フォルダ「Ｆ０１」および「Ｆ０２」のデータは複数の電子機器３０に記憶されている。加えて、フォルダ「Ｆ０２」のデータは、制御部２１によって３つのデータに分割されている。しかし、図１４に示された領域ａ２は、上述の仮想領域情報に基づいて生成されているため、領域ａ２はあたかも１つの記憶領域のように表示されている。このような表示を実現することで、ユーザは、どのデータをどの記憶領域に書き込むかといったことを意識することなく、極めて簡単な操作で大量のデータを書き込むことが可能となる。また、このような表示を実現することで、書き込んだデータを読み出す際にも、所望のデータを複数の記憶装置から探し出したりする必要がなくなるという効果が得られる。
【００４２】
［ｃ−３］データ読出処理
続いて、上記［ｃ−２］に示した処理によって書き込まれたデータを読み出す処理について説明する。
図１５は、コンピュータ２０がデータを読み出す処理を示したシーケンスチャートである。同図に沿って説明すると、はじめに、コンピュータ２０のユーザが表示部２３および操作部２４を用いてデータを読み出す旨の指示を入力し、コンピュータ２０の制御部２１がこの指示を検出する（ステップＳ３０１）。具体的には、ユーザは図１４の領域ａ２から読み出すべきデータを選択し、ボタンｂ２をクリックすることで読み出しの指示を行う。続いて、制御部２１は仮想領域からデータを読み出す旨の要求を仮想ストレージ装置１０に送信する（ステップＳ３０２）。このとき制御部２１は、送信する要求に読み出すべきデータのデータ名を含める。
【００４３】
この読み出し要求を受信した仮想ストレージ装置１０においては、制御部１１がマッピングテーブルＴＢＬを参照し、コンピュータ２０が読み出そうとしているデータを記憶している電子機器３０を特定する（ステップＳ３０３）。具体的には、制御部１１は送信されたデータ名に一致する「記憶データ」をマッピングテーブルＴＢＬから特定し、この「記憶データ」に対応する「領域情報」に基づいて対象の電子機器３０を特定する。そして、制御部１１はこの領域情報と、特定された電子機器の識別情報とをコンピュータ２０に送信する（ステップＳ３０４）。
【００４４】
領域情報と識別情報とを受信したら、コンピュータ２０の制御部２１は、この識別情報によって特定される電子機器３０に対して、この領域情報によって特定される記憶領域からデータを読み出す旨の要求を送信する（ステップＳ３０５）。このとき制御部２１は、上述した記憶領域の登録処理において取得した署名情報も電子機器３０に送信する。
この要求を受信した電子機器３０においては、制御部３１が署名情報の照合を行い、要求元であるコンピュータ２０の電子機器３０へのアクセスの正当性を評価する（ステップＳ３０６）。そして、このアクセスが正当であると判断したら、制御部３１はデータを記憶部３２から順次読み出し、コンピュータ２０に送信する（ステップＳ３０７）。
【００４５】
データが全て読み出されたら、最後に制御部３１は、データの読み出しが終了した旨の通知を仮想ストレージ装置１０に送信する（ステップＳ３０８）。このとき制御部３１は、記憶部３２の記憶領域から読み出されたデータの名前とデータ容量とを仮想ストレージ装置１０に送信する。この通知を受信したら、仮想ストレージ装置１０の制御部１１はマッピングテーブルＴＢＬを更新し、コンピュータ２０に表示部２３の画面表示を更新させる旨の指示を送信する（ステップＳ３０９）。コンピュータ２０においては、制御部２１が、読み出したデータの内容が反映されるように表示部２３の表示内容を制御し、画面を更新させる（ステップＳ３１０）。
【００４６】
データの読出処理はこのような流れで行われる。例えば、この読出処理の開始前にマッピングテーブルＴＢＬは図１３に示した状態となっており、コンピュータ２０の表示部２３には図１４に示した画面が表示されているものとする。この状態でフォルダ「Ｆ０２」のデータを読み出す処理を行うと、マッピングテーブルＴＢＬは図１１に示した状態となり、コンピュータ２０の表示部２３には図１２に示した画面が表示されることとなる。さらにこの状態でフォルダ「Ｆ０１」のデータを読み出す処理を行うと、電子機器３０に記憶されていたデータは全て読み出されるので、マッピングテーブルＴＢＬは図４，コンピュータ２０の表示部２３は図１０に示した状態となる。
【００４７】
上記［ｃ−２］および［ｃ−３］によって、データの書き込みおよび読み出しを行う場合の処理が説明された。これらの処理は、コンピュータ２０のユーザによるデータの書き込みまたは読み出しの指示を契機に行われるものであるが、ユーザが入力するのはあくまでも仮想領域への書き込みまたは仮想領域からの読み出しの指示だけであり、以降の処理はコンピュータ２０と電子機器３０がエージェントプログラムＰＧａを実行することによって実現されるものである。そのため、本実施形態の仮想ストレージシステム１によれば、ユーザは煩雑な操作を行うことなく、あたかも１つの記憶装置を使用しているような感覚でデータの書き込みや読み出しをすることが可能となる。
【００４８】
また、本実施形態の仮想ストレージシステム１においては、ユーザが従前より所有している電子機器３０の空き領域を用いるため、極めて安価に大容量の記憶領域を確保することが可能となる。さらに、これらのデータはユーザの所有する電子機器３０に記憶されるため、ネットワークストレージサービス等を利用して外部のサーバ装置にデータを記憶させる場合よりも安全性を向上させることも容易である。
【００４９】
［ｄ］変形例
なお、本発明は上述した態様に限定されるものではなく、その実施に際しては種々の変形が可能である。以下にその例をいくつか示す。
上述の実施形態においては、仮想ストレージ装置１０の記憶部１２は仮想領域の一部を構成していなかったが、仮想ストレージ装置が記憶領域を貸し出すことも可能である。また、コンピュータが仮想ストレージ装置と同等の機能を備え、コンピュータ自体がマッピング等の処理を行いながら他の電子機器の記憶領域を利用することも可能である。
【００５０】
また、上述の実施形態においては、接続機器が貸し出す記憶領域を登録する処理は、それぞれの接続機器自体で行うと説明した。だが、接続機器の種類によっては、このような操作が煩雑となることも考えられる。そこで、このような場合には、記憶領域の登録処理をネットワークを介して接続されたコンピュータや仮想ストレージ装置が行うようにしてもよい。すなわちこの場合、コンピュータや仮想ストレージ装置は接続機器とユーザの間のインターフェースとして機能することを意味している。
【００５１】
また、上述の実施形態においては、記憶領域を貸し出す際にはユーザが具体的な値（貸出容量）によってデータ容量を指定すると説明したが、このような態様に限定されない。例えば、貸出容量を設定するときに、具体的な値でデータ容量を指定するのではなく「空き容量全体の○％」というような指定を行えるようにすることも容易に可能である。このようにすれば、各接続機器は貸し出す記憶領域を動的に変化させることができるので、自機が自由に使用できる空き領域がなくなってしまうような不都合を防ぐことができる。
【００５２】
また、上述の実施形態においては、データを記憶させる仮想領域の決定基準は「データが記憶されていない仮想領域のうち、仮想領域情報の値が小さい仮想領域から順にデータを記憶させていく」であると説明したが、このような態様に限定されない。例えば、貸出容量の大きい記憶領域から順にデータを記憶させていってもよいし、データの書き込み・読み出し速度が速い記憶領域から順にデータを記憶させていってもよい。
また、上述の例でフォルダ「Ｆ０２」のデータを書き込んだときのように、データを複数の接続機器の記憶領域に分割して記憶する必要がある場合には、データを分割する数がより少なくなるような仮想領域を選択してもよい。例えば、上述したフォルダ「Ｆ０２」のデータを書き込む処理の場合、アドレス「ｂ００」〜「ｂ２９」および「ｃ００」〜「ｃ１９」の記憶領域に書き込むことで、データを分割する回数を１回にすることができる。データの分割回数が少なければ、より高速にデータの書き込みおよび読み出しを行うことが可能となる。
【００５３】
また、上述の実施形態においては、ネットワーク４０は家庭内ＬＡＮであると説明したが、このような態様に限定されず、その他のネットワークを用いてもよい。この場合、同一ユーザや、特定の少数のユーザのみが接続されていることが望ましいため、ネットワークは外部に接続されていないクローズド・ネットワークが好適であるが、もちろんインターネット等のオープン・ネットワークであってもよい。なお、オフィス等での利用においては、パーソナルコンピュータやサーバ装置に加えて、プリンタや複写機、あるいはファクシミリ装置等を電子機器として用いることも可能である。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態に係る仮想ストレージシステムの全体構成を示した図である。
【図２】同実施形態の仮想ストレージ装置の内部構成を示したブロック図である。
【図３】同実施形態における接続機器リストの一例を示した図である。
【図４】同実施形態におけるマッピングテーブルの一例を示した図である。
【図５】同実施形態におけるコンピュータの内部構成を示したブロック図である。
【図６】同実施形態において接続機器が貸し出す記憶領域を登録する処理を示したシーケンスチャートである。
【図７】同実施形態においてマッピングテーブルが更新されていく様子を示した図である。
【図８】同実施形態における仮想領域を模式的に示した図である。
【図９】同実施形態においてコンピュータがデータを書き込む処理を示したシーケンスチャートである。
【図１０】同実施形態において表示部２３に表示される画面を例示した図である。
【図１１】同実施形態におけるマッピングテーブルの一例を示した図である。
【図１２】同実施形態における表示部の画面の一例を示した図である。
【図１３】同実施形態におけるマッピングテーブルの一例を示した図である。
【図１４】同実施形態における表示部の画面の一例を示した図である。
【図１５】同実施形態においてコンピュータがデータを読み出す処理を示したシーケンスチャートである。
【符号の説明】
【００５５】
１…仮想ストレージシステム、１０…仮想ストレージ装置、２０…コンピュータ、３０，３０ａ，３０ｂ，３０ｃ，３０ｄ…電子機器、４０…ネットワーク、１１，２１，３１…制御部、１２，２２，３２…記憶部、１３，２３，３３…表示部、１４，２４，３４…操作部、１５，２５，３５…通信部。
【図１】
2006235751.tif 000003
【図２】
2006235751.tif 000004
【図３】
2006235751.tif 000005
【図４】
2006235751.tif 000006
【図５】
2006235751.tif 000007
【図６】
2006235751.tif 000008
【図７】
2006235751.tif 000009
【図８】
2006235751.tif 000010
【図９】
2006235751.tif 000011
【図１０】
2006235751.tif 000012
【図１１】
2006235751.tif 000013
【図１２】
2006235751.tif 000014
【図１３】
2006235751.tif 000015
【図１４】
2006235751.tif 000016
【図１５】
2006235751.tif 000017