JP2006235751A - 仮想ストレージ装置、仮想ストレージ方法およびプログラム - Google Patents

仮想ストレージ装置、仮想ストレージ方法およびプログラム Download PDF

Info

Publication number
JP2006235751A
JP2006235751A JP2005046156A JP2005046156A JP2006235751A JP 2006235751 A JP2006235751 A JP 2006235751A JP 2005046156 A JP2005046156 A JP 2005046156A JP 2005046156 A JP2005046156 A JP 2005046156A JP 2006235751 A JP2006235751 A JP 2006235751A
Authority
JP
Japan
Prior art keywords
virtual
area
data
storage
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005046156A
Other languages
English (en)
Inventor
Shinji Hizuka
真二 肥塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2005046156A priority Critical patent/JP2006235751A/ja
Publication of JP2006235751A publication Critical patent/JP2006235751A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 大量のデータを煩雑な操作をすることなく記憶させる。
【解決手段】 電子機器30a,30b,30cおよび30dを接続した仮想ストレージ装置10が1つの仮想的な記憶領域を定義し、複数の電子機器30a〜30dの記憶領域をこの仮想的な記憶領域に対応付ける。そして、仮想ストレージ装置10はこの仮想的な記憶領域をコンピュータ20を介してユーザに提示し、ユーザにはこの仮想的な記憶領域にデータを書き込むような操作を行わせる。しかし実際には、コンピュータ20はこの仮想的な記憶領域に対応付けられた記憶領域を有する電子機器30a〜30dに対してデータの書き込みを行う。
【選択図】 図1

Description

本発明は、大容量のデータを記憶させるための技術に関する。
コンピュータ性能やネットワーク通信速度の向上に伴い、データの容量は増加の一途を辿っている。そのため、いわゆるパソコン等のコンピュータにおいては、HDD(Hard Disk Drive)等の記憶装置の大容量化が進んでいる。このような傾向はコンピュータに限ったものではなく、HDDレコーダ等のいわゆるネットワーク家電や、家庭用のゲーム機、あるいはオフィス等に設置されたプリンタといった種々の電子機器においても見られる。
ところで、コンピュータの利用に際しては、例えばOS(Operating System)の入れ替えやデータのバックアップを目的に、大量のデータを一時的に外部に退避(記憶)させておくことがある。このような場合、従来は特許文献1に記載されているようなネットワークストレージサービスを利用することが多かった。しかし、このようなサービスを利用した場合、サービスの利用料金やデータ通信に係る通信料金が必要となる。しかも、取り扱うデータが大容量となれば、利用料金・通信料金ともに相当な額に達することも考えられる。また、上述のネットワークストレージサービスでは、データが記憶されるのは外部のサーバ装置であるため、利用者の意図に反して第三者にデータが流出し、不正に利用されてしまうおそれもあった。
特開2001−356947号公報
このような不都合を回避するためには、例えばCD−R(Compact Disk-Recordable)等の記録媒体にデータを記憶させたりするなどして、データを利用者自身で管理することが求められる。しかし、大量のデータを複数の記録媒体に分散して記憶させたら、データの書き込みや読み出しのために何度も記録媒体の入れ替えをしなければならず、操作が非常に煩雑になるという問題があった。また、大量のデータを複数の記録媒体に記憶させた場合には、所望のデータがどの記録媒体に記憶されているかわからなくなったり、一部の記録媒体を紛失したり破損したりすることも考えられた。かといって、大容量の記録装置を新たに購入するのは、金銭的な負担を強いられるという問題があった。
本発明は上述の事情に鑑みてなされたものであり、その目的は、大量のデータを煩雑な操作をすることなく記憶させることにある。
上述の課題を解決するために、本発明は、コンピュータと、記憶部を有する複数の電子機器とを接続した仮想ストレージ装置であって、各々の前記電子機器により貸与される記憶領域を特定する情報を受信する受信手段と、前記受信手段により受信された複数の前記記憶領域の前記情報に基づき、1の仮想的な記憶領域である仮想領域を定義する定義手段と、前記電子機器の前記記憶領域におけるデータの記憶位置を表す領域情報と、前記定義手段により定義された前記仮想領域におけるデータの記憶位置を表す仮想領域情報とを対応付けるマッピング手段と、前記コンピュータが出力する書込データの容量を取得し、当該書込データを書き込むとみなす前記仮想領域の仮想領域情報を決定する決定手段と、前記決定手段により決定された仮想領域情報に対応付けられた領域情報が表す記憶領域に、前記コンピュータが出力する前記書込データを書き込ませる書込制御手段とを備える仮想ストレージ装置を提供する。
この仮想ストレージ装置のように、複数の電子機器により貸与された記憶領域を1つの仮想的な記憶領域(仮想領域)として定義し、この仮想領域と実際の記憶領域を対応付けることで、コンピュータからはこの仮想領域にデータを書き込むような操作を行うだけで、大量のデータをさまざまな電子機器に分散して記憶させることが可能となる。
また、本発明の仮想ストレージ装置は、より好適な態様として、前記仮想領域に書き込まれているとみなされるデータを前記コンピュータに通知する通知手段と、前記通知手段が通知したデータの中から、前記コンピュータが読み出しを要求した読出データを特定する特定手段と、前記マッピング手段によって、前記特定手段により特定された前記読出データが書き込まれているとみなされる仮想領域の仮想領域情報に対応付けられた領域情報を特定し、当該領域情報が表す電子機器の前記記憶領域に記憶された前記読出データを前記コンピュータに読み出させる読出制御手段とを備える。
仮想ストレージ装置がこのような構成を備えることによって、コンピュータにおいては、所望のデータが複数の記憶領域に散在しているような場合であっても、1つの仮想領域にアクセスするような操作を行うだけで所望のデータを全て読み出すことが可能となる。
また、本発明の仮想ストレージ装置は、より好適な態様として、前記書込制御手段は、前記書込データを書き込ませる記憶領域が複数の前記電子機器により貸与された記憶領域となる場合に、当該書込データを分割するデータ分割手段を備える。
このようにすれば、1つの記憶領域に書き込みきれないような大容量のデータをも書き込むことが可能となる。
また、本発明の仮想ストレージ装置は、より好適な態様として、接続される機器の正当性を証明する署名情報を、記憶領域を貸与する前記電子機器と前記書込データを出力する前記コンピュータとに送信する署名送信手段を備える。
このようにすれば、コンピュータと電子機器とが互いの署名情報を照合することが可能となり、データの書き込みおよび読み出しをより安全に行うことが可能となる。
なお、本発明は、仮想ストレージ装置に、複数の電子機器により貸与される記憶領域を特定する情報を受信する受信機能と、前記受信機能により受信された複数の前記記憶領域の前記情報に基づき、1の仮想的な記憶領域である仮想領域を定義する定義機能と、前記電子機器の前記記憶領域におけるデータの記憶位置を表す領域情報と、前記定義手段により定義された前記仮想領域におけるデータの記憶位置を表す仮想領域情報とを対応付けるマッピング機能と、前記電子機器に書き込まれるべき書込データの容量を取得し、当該書込データを書き込むとみなす前記仮想領域の仮想領域情報を決定する決定機能と、前記決定機能により決定された仮想領域情報に対応付けられた領域情報が表す記憶領域に、前記書込データを書き込ませる書込制御機能とを実現させるためのプログラムとしても特定される。
あるいは、本発明は、仮想ストレージ装置が、コンピュータに記憶されたデータを複数の電子機器により貸与された記憶領域に書き込ませる仮想ストレージ方法であって、各々の前記電子機器が、貸与する記憶領域を特定する情報を前記仮想ストレージ装置に送信する過程と、前記仮想ストレージ装置が、前記送信された複数の前記記憶領域の前記情報に基づき、1の仮想的な記憶領域である仮想領域を定義する過程と、前記仮想ストレージ装置が、前記電子機器の前記記憶領域におけるデータの記憶位置を表す領域情報と、前記定義された前記仮想領域におけるデータの記憶位置を表す仮想領域情報とを対応付ける過程と、前記コンピュータが、書き込むべきデータの容量を前記仮想ストレージ装置に通知する過程と、前記仮想ストレージ装置が、前記通知された前記データの容量に基づいて当該データを書き込むとみなす仮想領域の仮想領域情報を決定し、決定された仮想領域情報に対応付けられた領域情報を前記コンピュータに通知する過程と、前記コンピュータが、前記通知された領域情報により表される記憶領域を有する電子機器に前記データを送信する過程とを有する仮想ストレージ方法としても特定される。
以上のように、本発明によれば、大量のデータを煩雑な操作をすることなく記憶させることが可能となる。
[a]本発明の概要
本発明は、簡単に説明すると、例えば家庭内に備えられているさまざまな電子機器の記憶領域の空き領域を用いて、これらをあたかも1つの大容量の記憶装置であるかのようにユーザに認識させるものである。ここでいう電子機器とは、パーソナルコンピュータや家庭用ゲーム機、あるいはHDDレコーダ等のいわゆるネットワーク家電等が該当する。本発明においては、これらの電子機器を接続した仮想ストレージ装置が1つの仮想的な記憶領域を定義し、複数の電子機器の記憶領域をこの仮想的な記憶領域に対応付ける。そして、仮想ストレージ装置はこの仮想的な記憶領域をコンピュータを介してユーザに提示し、ユーザにはこの仮想的な記憶領域にデータを書き込むような操作を行わせる。しかし、このとき実際には、コンピュータはこの仮想的な記憶領域に対応付けられた記憶領域を有する電子機器に対してデータの書き込みを行っている、というものである。
以下では、本発明の実施の形態について、図面を参照しつつ詳細に説明する。
[b]構成
図1は、本発明の一実施形態に係る仮想ストレージシステム1の全体構成を示した図である。この仮想ストレージシステム1は、仮想ストレージ装置10と、コンピュータ20と、複数の電子機器30a,30b,30c,30dとを備えており、ネットワーク40を介して相互に接続されている。本実施形態においては、ネットワーク40はいわゆる家庭内LAN(Local Area Network)等の小規模なクローズド・ネットワークである。つまり、ネットワーク40は、未知のユーザによる外部からのアクセスを許可しない。
なお、図1には電子機器30a〜30dのみが示されているが、本実施形態の仮想ストレージシステム1に接続される電子機器の数は任意であり、これより多くても少なくてもよい。また、これらの電子機器を特に区別する必要がない場合には、これを「電子機器30」と総称する。説明の便宜上、ここでは電子機器30をパーソナルコンピュータとする。
また、本実施形態において、コンピュータ20と電子機器30は説明の便宜上区別されるものであり、実際には電子機器30の1台がコンピュータ20の機能を果たしてもよいし、コンピュータ20が電子機器30の1台として機能してもよい。そこで以下では、コンピュータ20と電子機器30に共通する事項を説明する際には、これらを総称した「接続機器」という名称を適宜用いることとする。
図2は、仮想ストレージ装置10の内部構成を示したブロック図である。この仮想ストレージ装置10は、制御部11と、記憶部12と、表示部13と、操作部14と、通信部15とを備える。制御部11は図示せぬCPU(Central Processing Unit)やRAM(Random Access Memory),ROM(Read Only Memory)等を備えた演算装置であり、図示せぬ制御プログラムを実行して仮想ストレージ装置10の各部の動作を制御するほか、記憶部12に記憶された仮想ストレージプログラムPGsを実行する。記憶部12は例えばHDD等の記憶装置であり、上述の仮想ストレージプログラムPGsと、署名情報SIGと、接続機器リストLSTと、マッピングテーブルTBLとを記憶している。表示部13は例えば液晶ディスプレイ等の表示装置であり、管理者に対して各種情報を表示する。操作部14は例えばマウスやキーボード等の入力装置であり、操作者からの入力を受け付ける。通信部15は、仮想ストレージ装置10がネットワーク40を介してコンピュータ20や電子機器30とデータの授受を行うためのインターフェース装置である。
ここで、記憶部12に記憶されている接続機器リストLSTとマッピングテーブルTBLについて説明する。
図3に接続機器リストLSTの一例を示す。この接続機器リストLSTには、仮想ストレージ装置10とネットワーク40を介して接続されている接続機器の、「クライアント名」と、「パスワード」と、「識別情報」と、「貸出容量」とが記述されている。「クライアント名」および「パスワード」は、後述する接続機器との認証処理において用いられる情報である。これらはいずれも、各接続機器のユーザによって決定される適当な文字列である。「識別情報」は、データを書き込む際の接続先を識別および特定するために用いられる情報であり、例えば各接続機器のIP(Internet Protocol)アドレスやMAC(Media Access Control)アドレスがこれに該当する。「貸出容量」は、各接続機器のユーザが仮想ストレージ装置10に対して貸し出す記憶領域の記憶容量を示す情報であり、その記憶容量が例えばGB(ギガバイト)単位で記述される。
この図3において、クライアント名「a」、「b」、「c」、「d」および「cp」は、それぞれ電子機器30a,30b,30c,30dおよびコンピュータ20を意味している。すなわち、電子機器30a,30b,30c,30dは、後述する自機の記憶部32のうち、それぞれ、40GB,30GB,20GB,10GBの記憶領域を仮想ストレージ装置10に貸し出していることを意味している。つまり、仮想ストレージ装置10が借り受けた記憶領域は、合わせて100GBである。
なお、各接続機器は「クライアント名」によって区別されているが、これらのユーザは全て同じであってもよい。なぜならば、家庭内LAN等の小規模なネットワークにおいては、全ての電子機器の所有者が同一であることも考えられるからである。本実施形態においては、各接続機器の区別を容易ならしめるために、これらの接続機器を別個のユーザのものであるとした。
また、説明の便宜上、コンピュータ20が貸し出す記憶領域は0GB,すなわちコンピュータ20は記憶領域を貸し出さないものとするが、もちろん、コンピュータ20自体が記憶領域を貸し出してもよい。
続いて、図4にマッピングテーブルTBLの一例を示す。このマッピングテーブルTBLには、「領域情報」と、「仮想領域情報」と、「記憶データ」とが記述されている。
「領域情報」は、接続機器が貸し出した記憶領域に対して割り振られたアドレス情報であり、接続機器の各記憶領域上の物理的な記憶位置を特定するものである。同図において、アドレス「a00」〜「a39」は電子機器30aが貸し出した記憶領域を表しており、同様に、アドレス「b00」〜「b29」、「c00」〜「c19」、「d00」〜「d09」はそれぞれ、電子機器30b,30c,30dが貸し出した記憶領域を表している。ここでは、説明の便宜上、この「領域情報」を1GB単位で記述しているが、実際にはさらに小さい単位で記述されることが望ましい。なお、この「領域情報」は図3の接続機器リストLSTの「貸出容量」に関連付けられており、この「貸出容量」の値に応じて決定されるものである。
「仮想領域情報」は、仮想ストレージ装置10の制御部11が定義する仮想的な記憶領域(以下、「仮想領域」という)に対して割り振られたアドレス情報である。上述のように、本実施形態では仮想ストレージ装置10は合計100GBの記憶領域を借り受けているため、制御部11は100GBの仮想領域を定義する。そして、この100GBの仮想領域の各々について、上述した「領域情報」の対応付けが行われている。具体的には、「仮想領域情報」はアドレス「v00」〜「v99」で定義されており、このそれぞれについて、上述した「領域情報」のアドレス「a00」〜「d09」が対応付けられている。
「記憶データ」は、上述の「領域情報」で示された記憶領域に実際に記憶されているデータを特定するための情報である。同図の例は、仮想領域にまだデータが何も記憶されていないことを表しているため、「記憶データ」は未定義(null値)である。データが記憶された場合の例は追って説明する。
続いて、接続機器の構成について説明する。
図5は、コンピュータ20の内部構成を示したブロック図である。このコンピュータ20は、制御部21と、記憶部22と、表示部23と、操作部24と、通信部25とを備える。これらは、記憶部22の記憶内容が記憶部12と異なることを除けば、その構成は仮想ストレージ装置10の各部とほぼ同様である。よって、ここでは記憶部22の記憶内容のみ説明する。
記憶部22にはエージェントプログラムPGaが記憶されている。エージェントプログラムPGaは、コンピュータ20と仮想ストレージ装置10との間の認証処理や、ユーザに指示されたデータの書込処理などを制御部21に実行させるプログラムである。このエージェントプログラムPGaはいわゆる常駐プログラムであり、コンピュータ20の起動と同時にRAMにロードされて実行されるが、もちろん、ユーザの実行指示に応じて実行されてもよい。
なお、電子機器30の内部構成も上述のコンピュータ20の構成とほぼ同様である。そこで、電子機器30の内部構成については特に図示せず、図5を代用するものとする。この場合、上述のコンピュータ20と区別するために、同図の各符号の1桁目が「2」であるものを「3」に置き換える。つまり、電子機器30は、制御部31と、記憶部32と、表示部33と、操作部34と、通信部35とを備えているということである。なお、電子機器30の記憶部32にも、コンピュータ20と同様のエージェントプログラムPGaが記憶されている。また、記憶部32には、少なくとも仮想ストレージ装置10に貸し出すことができるだけの記憶容量が確保されている。
[c]動作
上記構成のもと、本実施形態の仮想ストレージシステム1においては、仮想ストレージ装置10の制御部11が仮想ストレージプログラムPGsを実行し、接続機器の制御部(21または31)がエージェントプログラムPGaを実行する。これによって、仮想ストレージ装置10がコンピュータ20のユーザに仮想領域を提示し、ユーザに対してはあたかもこの仮想領域にデータを書き込むかのように認識させながら、実際には電子機器30により貸し出された記憶領域にデータが書き込まれる、という処理が行われる。この処理によって提供されるサービスを、「仮想ストレージサービス」という。ここからは、このデータの書込処理と、データの書込処理に先立って行われる記憶領域の登録処理のそれぞれにおける各装置の具体的な動作について説明する。
[c−1]記憶領域の登録処理
図6は、接続機器が貸し出す記憶領域(空き領域の一部)を登録する処理を示したシーケンスチャートである。この処理は、仮想ストレージサービスを利用する全ての接続機器が行うものである。同図に沿って説明すると、はじめに接続機器の制御部は、「クライアント名」と「パスワード」を入力することによって認証処理を実行する(ステップS101)。この認証処理は周知の手法に従ったものでよい。認証処理を行って接続機器と仮想ストレージ装置10との間の接続が確立されると、仮想ストレージ装置10の制御部11は、接続機器に対して「貸出容量」の入力を要求する(ステップS102)。この要求に応じて、接続機器の制御部は「貸出容量」の値をユーザに入力させ、これを送信する(ステップS103)。なお、このとき接続機器の制御部は、記憶部の空き容量を検出し、記憶部の空き容量を上回る値を「貸出容量」としてユーザが入力した場合には、この入力を無効とするなどの処理を行ってもよい。
その後、仮想ストレージ装置10の制御部11は、ステップS103において送信された「貸出容量」の値に基づき、マッピングテーブルTBLを更新する(ステップS104)。続いて制御部11は、接続機器リストLSTにこの接続機器に関する行を追加して更新する(ステップS105)。そして最後に、制御部11は署名情報をこの接続機器に通知する(ステップS106)。署名情報とは接続機器の正当性を証明するための情報であり、署名情報を有していない接続機器は他の接続機器とデータのやりとりが行えないようになっている。そのため、接続機器はこの署名情報を記憶部に記憶しておく。
以上が記憶領域の登録処理の概要である。続いて、この処理によってマッピングテーブルTBLが更新されていく様子を図7を参照しつつ説明する。ここでは、最初に電子機器30aが40GBの記憶領域を登録し、次に電子機器30bが30GBの記憶領域を登録する場合を例に示す。
まず、電子機器30aが記憶領域の登録処理を行うと、40GBの仮想領域が定義される。これを示したのが図7(a)である。このとき制御部11は、電子機器30aの記憶領域のアドレス「a00」〜「a39」のそれぞれを、仮想領域のアドレス「v00」〜「v39」に対応付ける。このような対応付けの処理のことを、ここでは「マッピング」という。続いて、電子機器30bが記憶領域の登録処理を行うと、さらに30GBの仮想領域が追加されて、70GBの仮想領域が定義される。これを示したのが図7(b)である。このとき制御部11は、電子機器30bの記憶領域のアドレス「b00」〜「b29」が図7(a)において定義された仮想領域に連続するように、アドレス情報の対応付けを行う。すなわち制御部11は、電子機器30bの記憶領域のアドレス「b00」〜「b29」のそれぞれを、仮想領域のアドレス「v40」〜「v69」に対応付ける。
このような記憶領域の登録処理が全ての接続機器において行われると、図4のマッピングテーブルTBLに示した仮想領域が定義される。この仮想領域を模式的に示したのが図8である。図示のように、仮想領域は連続したアドレス情報を有する1つの記憶領域として定義されている。しかし、その実体は電子機器30a,30b,30cおよび30dの記憶領域(図中のa,b,cおよびd)であり、これらの記憶領域に連続したアドレス情報を定義することで、1つの仮想領域を実現している。
なお、この記憶領域の登録処理は全ての接続機器において行われるが、その回数は特に制限されるものではない。例えば、貸し出す記憶領域を変更したい場合には、接続機器はその都度この処理を行えばよい。
[c−2]データ書込処理
続いて、上記[c−1]に示した処理によって登録された記憶領域にデータが書き込まれる場合の処理について説明する。ここでは、上述の電子機器30a〜30dによって登録された100GBの記憶領域にコンピュータ20がデータを書き込む場合を例に説明する。なお、この処理が開始される前に、ステップS101と同様の認証処理が行われてもよい。また、この処理の開始時においては、この100GBの記憶領域にはデータが何も書き込まれていないものとする。
図9は、コンピュータ20がデータを書き込む処理を示したシーケンスチャートである。同図に沿って説明すると、はじめに、コンピュータ20のユーザが表示部23および操作部24を用いてデータを書き込む旨の指示を入力し、コンピュータ20の制御部21がこの指示を検出する(ステップS201)。
図10は、このとき制御部21が表示部23に表示させる画面を例示した図である。このように表示された画面を用いて、ユーザは書き込むべきデータを指示する。同図において、領域a1にはコンピュータ20の記憶領域に記憶されているデータの一覧が各データのデータ容量と共に示されている。ここに示されるデータは、記憶部22の全体から抽出されるものであってもよいし、所定の一部の記憶領域であってもよい。例えば、データの書込処理を行うためのフォルダ(あるいはディレクトリ)を記憶部22にあらかじめ定義しておき、このフォルダに記憶されているデータを仮想領域に書き込むのであれば、領域a1にはこのフォルダの記憶内容を示せばよい。図10の領域a1はこのような場合の例であり、このフォルダに「F01」および「F02」という名前のフォルダと「D01」という名前のデータとが記憶されていることを示している。
また、領域a2には仮想領域に記憶されているデータの一覧が示される。図10は、仮想領域にデータがまだ記憶されていない状態を示している。そして、ボタンb1およびb2はそれぞれデータの書き込みおよび読み出しを指示するボタンであり、ユーザがデータの書き込みまたは読み出しを指示するときに選択(クリック)されるものである。
図10の画面を用いてユーザが書き込むべきデータを指示し、この指示を制御部21が検出したら、続いて制御部21は仮想領域にデータを書き込む旨の書き込み要求を仮想ストレージ装置10に送信する(ステップS202)。このとき制御部21は、送信する書き込み要求に書き込むべきデータのデータ容量を含める。
この書き込み要求を受信した仮想ストレージ装置10においては、制御部11がマッピングテーブルTBLを参照し、コンピュータ20が書き込もうとしているデータを記憶させる仮想領域を所定の決定基準に基づいて決定する(ステップS203)。この決定基準は任意であるが、本実施形態では「データが記憶されていない仮想領域のうち、仮想領域情報の値が小さい仮想領域から順にデータを記憶させていく」という基準を設けることとする。そして制御部11は、ステップS203において決定された仮想領域に対応付けられた記憶領域の領域情報と、この記憶領域を有する電子機器30の識別情報とをコンピュータ20に送信する(ステップS204)。
領域情報と識別情報とを受信したら、コンピュータ20の制御部21は、この識別情報によって特定される電子機器30に対して、この領域情報によって特定される記憶領域へとデータを書き込む旨の要求を送信する(ステップS205)。このとき制御部21は、上述した記憶領域の登録処理において取得した署名情報も電子機器30に送信する。
この要求を受信した電子機器30においては、制御部31が署名情報の照合を行い、要求元であるコンピュータ20の電子機器30へのアクセスの正当性を評価する(ステップS206)。そして、このアクセスが正当であると判断したら、制御部31は記憶領域の利用を許可する旨の通知をこのコンピュータ20に送信する(ステップS207)。この通知を受信したら、コンピュータ20の制御部21は、書き込むべきデータを記憶部22から順次読み出し、電子機器30に送信する(ステップS208)。これと同時に、電子機器30の制御部31は、受信したデータを順次記憶部32の記憶領域に書き込んでいく。
データが全て書き込まれたら、最後に制御部31は、データの書き込みが終了した旨の通知を仮想ストレージ装置10に送信する(ステップS209)。このとき制御部31は、記憶部32の記憶領域に記憶されたデータの名前とデータ容量とを仮想ストレージ装置10に送信する。この通知を受信したら、仮想ストレージ装置10の制御部11はマッピングテーブルTBLを更新し、コンピュータ20に表示部23の画面表示を更新させる旨の指示を送信する(ステップS210)。コンピュータ20においては、書き込んだデータの内容が反映されるように制御部21が表示部23の表示内容を制御して画面を更新させる(ステップS211)。
データの書込処理はこのような流れで行われる。続いて、この処理を具体的な例を用いて説明する。ここでは図10の例を用いて、フォルダ「F01」とフォルダ「F02」を電子機器30に書き込む場合について説明する。
まず、フォルダ「F01」のデータを書き込ませるとき、コンピュータ20のユーザは領域a1からフォルダ「F01」を選択し、ボタンb1をクリックする。すると、30GBのフォルダ「F01」を書き込む要求が仮想ストレージ装置10に送信される(ステップS201〜S202)。
その後、仮想ストレージ装置10は、フォルダ「F01」のデータを記憶させる仮想領域を決定する。この時点では、仮想領域にはまだ何もデータが記憶されていないため、いずれの記憶領域も利用可能であるが、ここでは「データが記憶されていない仮想領域のうち、仮想領域情報の値が小さい仮想領域から順にデータを記憶させていく」という決定基準に基づき、アドレス「v00」〜「v29」の30GBの仮想領域にフォルダ「F01」のデータを記憶させることを決定する。この決定に従い、仮想ストレージ装置10は電子機器30の識別情報(IPアドレス等)と領域情報とを送信する。このとき送信される識別情報は、仮想領域情報のアドレス「v00」〜「v29」に対応した領域情報がアドレス「a00」〜「a29」であることから、電子機器30aの識別情報となる。(ステップS203〜S204)。
コンピュータ20は、受信した識別情報に基づいて電子機器30aにデータの書き込みを要求する。電子機器30aではコンピュータ20の署名情報の照合が行われた後で、記憶領域の利用を許可する通知がコンピュータ20に送信される。これにより、アドレス「a00」〜「a29」によって特定される記憶部22の記憶領域にフォルダ「F01」の30GBのデータが書き込まれると共に、このデータが書き込まれたことが仮想ストレージ装置10に通知される(ステップS205〜S209)。
データの書き込みが終了した旨の通知を受けて、仮想ストレージ装置10はマッピングテーブルTBLの内容を更新する。すなわち、アドレス「a00」〜「a29」の「領域情報」に対応する仮想領域に「F01」という「記憶データ」が書き込まれたことをマッピングテーブルTBLに記述する。また、マッピングテーブルTBLの更新と共に、コンピュータ20に表示されている画面も更新される。具体的には、図10の領域a1からフォルダ「F01」が消去されると共に、領域a2にフォルダ「F01」が表示される。フォルダ「F01」はアドレス「v00」〜「v29」の「仮想領域情報」を占有しているので、仮想領域の空き容量は70GBとなる(ステップS210〜S211)。
この処理が行われた後のマッピングテーブルTBLと表示部23の画面は、それぞれ図11と図12のようになる。
次に、フォルダ「F01」が書き込まれた状態でさらにフォルダ「F02」が書き込まれる場合を説明する。上述のフォルダ「F01」の場合と重複する説明は適宜割愛する。
フォルダ「F02」のデータ容量は50GBであり、仮想領域には既にフォルダ「F01」のデータが記憶されていることから、このデータを記憶させる仮想領域はアドレス「v30」〜「v79」の仮想領域情報によって特定される仮想領域である。この仮想領域は、電子機器30a,30bおよび30cの記憶領域に対応付けられているため、フォルダ「F02」のデータはコンピュータ20の制御部21によって3つのデータに分割される。この場合、分割されたフォルダ「F02」のデータは、電子機器30aの「a30」〜「a39」の記憶領域と、電子機器30bの「b00」〜「b29」の記憶領域と、電子機器30cの「c00」〜「c09」の記憶領域とに書き込まれると共に、制御部31はこのようにデータが書き込まれたことを仮想ストレージ装置10に通知する(ステップS201〜S209)。
データの書き込みが終了した旨の通知を受けて、仮想ストレージ装置10はマッピングテーブルTBLの内容を更新する。すなわち、アドレス「a30」〜「a39」、「b00」〜「b29」および「c00」〜「c09」の「領域情報」に対応する仮想領域に「F02」という「記憶データ」が書き込まれたことをマッピングテーブルTBLに記述する。また、マッピングテーブルTBLの更新と共に、コンピュータ20に表示されている画面も更新される。具体的には、図10の領域a1からフォルダ「F02」が消去されると共に、領域a2にフォルダ「F02」が表示される。フォルダ「F02」はアドレス「v30」〜「v79」の「仮想領域情報」を占有しているので、仮想領域の空き容量は20GBとなる(ステップS210〜S211)。
この処理が行われた後のマッピングテーブルTBLと表示部23の画面は、それぞれ図13と図14のようになる。上述したように、フォルダ「F01」および「F02」のデータは複数の電子機器30に記憶されている。加えて、フォルダ「F02」のデータは、制御部21によって3つのデータに分割されている。しかし、図14に示された領域a2は、上述の仮想領域情報に基づいて生成されているため、領域a2はあたかも1つの記憶領域のように表示されている。このような表示を実現することで、ユーザは、どのデータをどの記憶領域に書き込むかといったことを意識することなく、極めて簡単な操作で大量のデータを書き込むことが可能となる。また、このような表示を実現することで、書き込んだデータを読み出す際にも、所望のデータを複数の記憶装置から探し出したりする必要がなくなるという効果が得られる。
[c−3]データ読出処理
続いて、上記[c−2]に示した処理によって書き込まれたデータを読み出す処理について説明する。
図15は、コンピュータ20がデータを読み出す処理を示したシーケンスチャートである。同図に沿って説明すると、はじめに、コンピュータ20のユーザが表示部23および操作部24を用いてデータを読み出す旨の指示を入力し、コンピュータ20の制御部21がこの指示を検出する(ステップS301)。具体的には、ユーザは図14の領域a2から読み出すべきデータを選択し、ボタンb2をクリックすることで読み出しの指示を行う。続いて、制御部21は仮想領域からデータを読み出す旨の要求を仮想ストレージ装置10に送信する(ステップS302)。このとき制御部21は、送信する要求に読み出すべきデータのデータ名を含める。
この読み出し要求を受信した仮想ストレージ装置10においては、制御部11がマッピングテーブルTBLを参照し、コンピュータ20が読み出そうとしているデータを記憶している電子機器30を特定する(ステップS303)。具体的には、制御部11は送信されたデータ名に一致する「記憶データ」をマッピングテーブルTBLから特定し、この「記憶データ」に対応する「領域情報」に基づいて対象の電子機器30を特定する。そして、制御部11はこの領域情報と、特定された電子機器の識別情報とをコンピュータ20に送信する(ステップS304)。
領域情報と識別情報とを受信したら、コンピュータ20の制御部21は、この識別情報によって特定される電子機器30に対して、この領域情報によって特定される記憶領域からデータを読み出す旨の要求を送信する(ステップS305)。このとき制御部21は、上述した記憶領域の登録処理において取得した署名情報も電子機器30に送信する。
この要求を受信した電子機器30においては、制御部31が署名情報の照合を行い、要求元であるコンピュータ20の電子機器30へのアクセスの正当性を評価する(ステップS306)。そして、このアクセスが正当であると判断したら、制御部31はデータを記憶部32から順次読み出し、コンピュータ20に送信する(ステップS307)。
データが全て読み出されたら、最後に制御部31は、データの読み出しが終了した旨の通知を仮想ストレージ装置10に送信する(ステップS308)。このとき制御部31は、記憶部32の記憶領域から読み出されたデータの名前とデータ容量とを仮想ストレージ装置10に送信する。この通知を受信したら、仮想ストレージ装置10の制御部11はマッピングテーブルTBLを更新し、コンピュータ20に表示部23の画面表示を更新させる旨の指示を送信する(ステップS309)。コンピュータ20においては、制御部21が、読み出したデータの内容が反映されるように表示部23の表示内容を制御し、画面を更新させる(ステップS310)。
データの読出処理はこのような流れで行われる。例えば、この読出処理の開始前にマッピングテーブルTBLは図13に示した状態となっており、コンピュータ20の表示部23には図14に示した画面が表示されているものとする。この状態でフォルダ「F02」のデータを読み出す処理を行うと、マッピングテーブルTBLは図11に示した状態となり、コンピュータ20の表示部23には図12に示した画面が表示されることとなる。さらにこの状態でフォルダ「F01」のデータを読み出す処理を行うと、電子機器30に記憶されていたデータは全て読み出されるので、マッピングテーブルTBLは図4,コンピュータ20の表示部23は図10に示した状態となる。
上記[c−2]および[c−3]によって、データの書き込みおよび読み出しを行う場合の処理が説明された。これらの処理は、コンピュータ20のユーザによるデータの書き込みまたは読み出しの指示を契機に行われるものであるが、ユーザが入力するのはあくまでも仮想領域への書き込みまたは仮想領域からの読み出しの指示だけであり、以降の処理はコンピュータ20と電子機器30がエージェントプログラムPGaを実行することによって実現されるものである。そのため、本実施形態の仮想ストレージシステム1によれば、ユーザは煩雑な操作を行うことなく、あたかも1つの記憶装置を使用しているような感覚でデータの書き込みや読み出しをすることが可能となる。
また、本実施形態の仮想ストレージシステム1においては、ユーザが従前より所有している電子機器30の空き領域を用いるため、極めて安価に大容量の記憶領域を確保することが可能となる。さらに、これらのデータはユーザの所有する電子機器30に記憶されるため、ネットワークストレージサービス等を利用して外部のサーバ装置にデータを記憶させる場合よりも安全性を向上させることも容易である。
[d]変形例
なお、本発明は上述した態様に限定されるものではなく、その実施に際しては種々の変形が可能である。以下にその例をいくつか示す。
上述の実施形態においては、仮想ストレージ装置10の記憶部12は仮想領域の一部を構成していなかったが、仮想ストレージ装置が記憶領域を貸し出すことも可能である。また、コンピュータが仮想ストレージ装置と同等の機能を備え、コンピュータ自体がマッピング等の処理を行いながら他の電子機器の記憶領域を利用することも可能である。
また、上述の実施形態においては、接続機器が貸し出す記憶領域を登録する処理は、それぞれの接続機器自体で行うと説明した。だが、接続機器の種類によっては、このような操作が煩雑となることも考えられる。そこで、このような場合には、記憶領域の登録処理をネットワークを介して接続されたコンピュータや仮想ストレージ装置が行うようにしてもよい。すなわちこの場合、コンピュータや仮想ストレージ装置は接続機器とユーザの間のインターフェースとして機能することを意味している。
また、上述の実施形態においては、記憶領域を貸し出す際にはユーザが具体的な値(貸出容量)によってデータ容量を指定すると説明したが、このような態様に限定されない。例えば、貸出容量を設定するときに、具体的な値でデータ容量を指定するのではなく「空き容量全体の○%」というような指定を行えるようにすることも容易に可能である。このようにすれば、各接続機器は貸し出す記憶領域を動的に変化させることができるので、自機が自由に使用できる空き領域がなくなってしまうような不都合を防ぐことができる。
また、上述の実施形態においては、データを記憶させる仮想領域の決定基準は「データが記憶されていない仮想領域のうち、仮想領域情報の値が小さい仮想領域から順にデータを記憶させていく」であると説明したが、このような態様に限定されない。例えば、貸出容量の大きい記憶領域から順にデータを記憶させていってもよいし、データの書き込み・読み出し速度が速い記憶領域から順にデータを記憶させていってもよい。
また、上述の例でフォルダ「F02」のデータを書き込んだときのように、データを複数の接続機器の記憶領域に分割して記憶する必要がある場合には、データを分割する数がより少なくなるような仮想領域を選択してもよい。例えば、上述したフォルダ「F02」のデータを書き込む処理の場合、アドレス「b00」〜「b29」および「c00」〜「c19」の記憶領域に書き込むことで、データを分割する回数を1回にすることができる。データの分割回数が少なければ、より高速にデータの書き込みおよび読み出しを行うことが可能となる。
また、上述の実施形態においては、ネットワーク40は家庭内LANであると説明したが、このような態様に限定されず、その他のネットワークを用いてもよい。この場合、同一ユーザや、特定の少数のユーザのみが接続されていることが望ましいため、ネットワークは外部に接続されていないクローズド・ネットワークが好適であるが、もちろんインターネット等のオープン・ネットワークであってもよい。なお、オフィス等での利用においては、パーソナルコンピュータやサーバ装置に加えて、プリンタや複写機、あるいはファクシミリ装置等を電子機器として用いることも可能である。
本発明の一実施形態に係る仮想ストレージシステムの全体構成を示した図である。 同実施形態の仮想ストレージ装置の内部構成を示したブロック図である。 同実施形態における接続機器リストの一例を示した図である。 同実施形態におけるマッピングテーブルの一例を示した図である。 同実施形態におけるコンピュータの内部構成を示したブロック図である。 同実施形態において接続機器が貸し出す記憶領域を登録する処理を示したシーケンスチャートである。 同実施形態においてマッピングテーブルが更新されていく様子を示した図である。 同実施形態における仮想領域を模式的に示した図である。 同実施形態においてコンピュータがデータを書き込む処理を示したシーケンスチャートである。 同実施形態において表示部23に表示される画面を例示した図である。 同実施形態におけるマッピングテーブルの一例を示した図である。 同実施形態における表示部の画面の一例を示した図である。 同実施形態におけるマッピングテーブルの一例を示した図である。 同実施形態における表示部の画面の一例を示した図である。 同実施形態においてコンピュータがデータを読み出す処理を示したシーケンスチャートである。
符号の説明
1…仮想ストレージシステム、10…仮想ストレージ装置、20…コンピュータ、30,30a,30b,30c,30d…電子機器、40…ネットワーク、11,21,31…制御部、12,22,32…記憶部、13,23,33…表示部、14,24,34…操作部、15,25,35…通信部。

Claims (6)

  1. コンピュータと、記憶部を有する複数の電子機器とが接続されている仮想ストレージ装置であって、
    各々の前記電子機器により貸与される記憶領域を特定する情報を受信する受信手段と、
    前記受信手段により受信された複数の前記記憶領域の前記情報に基づき、1の仮想的な記憶領域である仮想領域を定義する定義手段と、
    前記電子機器の前記記憶領域におけるデータの記憶位置を表す領域情報と、前記定義手段により定義された前記仮想領域におけるデータの記憶位置を表す仮想領域情報とを対応付けるマッピング手段と、
    前記コンピュータが出力する書込データの容量を取得し、当該書込データを書き込むとみなす前記仮想領域の仮想領域情報を決定する決定手段と、
    前記決定手段により決定された仮想領域情報に対応付けられた領域情報が表す記憶領域に、前記コンピュータが出力する前記書込データを書き込ませる書込制御手段と
    を備える仮想ストレージ装置。
  2. 前記仮想領域に書き込まれているとみなされるデータを前記コンピュータに通知する通知手段と、
    前記通知手段が通知したデータの中から、前記コンピュータが読み出しを要求した読出データを特定する特定手段と、
    前記マッピング手段によって、前記特定手段により特定された前記読出データが書き込まれているとみなされる仮想領域の仮想領域情報に対応付けられた領域情報を特定し、当該領域情報が表す電子機器の前記記憶領域に記憶された前記読出データを前記コンピュータに読み出させる読出制御手段とを備える
    請求項1記載の仮想ストレージ装置。
  3. 前記書込制御手段は、前記書込データを書き込ませる記憶領域が複数の前記電子機器により貸与された記憶領域となる場合に、当該書込データを分割するデータ分割手段を備える
    請求項1記載の仮想ストレージ装置。
  4. 接続される機器の正当性を証明する署名情報を、記憶領域を貸与する前記電子機器と前記書込データを出力する前記コンピュータとに送信する署名送信手段を備える
    請求項1記載の仮想ストレージ装置。
  5. コンピュータに、
    複数の電子機器により貸与される記憶領域を特定する情報を受信する受信機能と、
    前記受信機能により受信された複数の前記記憶領域の前記情報に基づき、1の仮想的な記憶領域である仮想領域を定義する定義機能と、
    前記電子機器の前記記憶領域におけるデータの記憶位置を表す領域情報と、前記定義手段により定義された前記仮想領域におけるデータの記憶位置を表す仮想領域情報とを対応付けるマッピング機能と、
    前記電子機器に書き込まれるべき書込データの容量を取得し、当該書込データを書き込むとみなす前記仮想領域の仮想領域情報を決定する決定機能と、
    前記決定機能により決定された仮想領域情報に対応付けられた領域情報が表す記憶領域に、前記書込データを書き込ませる書込制御機能と
    を実現させるためのプログラム。
  6. 仮想ストレージ装置が、コンピュータに記憶されたデータを複数の電子機器により貸与された記憶領域に書き込ませる仮想ストレージ方法であって、
    各々の前記電子機器が、貸与する記憶領域を特定する情報を前記仮想ストレージ装置に送信する過程と、
    前記仮想ストレージ装置が、前記送信された複数の前記記憶領域の前記情報に基づき、1の仮想的な記憶領域である仮想領域を定義する過程と、
    前記仮想ストレージ装置が、前記電子機器の前記記憶領域におけるデータの記憶位置を表す領域情報と、前記定義された前記仮想領域におけるデータの記憶位置を表す仮想領域情報とを対応付ける過程と、
    前記コンピュータが、書き込むべきデータの容量を前記仮想ストレージ装置に通知する過程と、
    前記仮想ストレージ装置が、前記通知された前記データの容量に基づいて当該データを書き込むとみなす仮想領域の仮想領域情報を決定し、決定された仮想領域情報に対応付けられた領域情報を前記コンピュータに通知する過程と、
    前記コンピュータが、前記通知された領域情報により表される記憶領域を有する電子機器に前記データを送信する過程と
    を有する仮想ストレージ方法。
JP2005046156A 2005-02-22 2005-02-22 仮想ストレージ装置、仮想ストレージ方法およびプログラム Withdrawn JP2006235751A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005046156A JP2006235751A (ja) 2005-02-22 2005-02-22 仮想ストレージ装置、仮想ストレージ方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005046156A JP2006235751A (ja) 2005-02-22 2005-02-22 仮想ストレージ装置、仮想ストレージ方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2006235751A true JP2006235751A (ja) 2006-09-07

Family

ID=37043360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005046156A Withdrawn JP2006235751A (ja) 2005-02-22 2005-02-22 仮想ストレージ装置、仮想ストレージ方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2006235751A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250476A (ja) * 2009-04-14 2010-11-04 Fujitsu Ltd ストレージ制御プログラム、ストレージシステム、およびストレージ制御方法
JP2012118587A (ja) * 2010-11-29 2012-06-21 Canon Inc 管理装置及びその制御方法、並びにプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250476A (ja) * 2009-04-14 2010-11-04 Fujitsu Ltd ストレージ制御プログラム、ストレージシステム、およびストレージ制御方法
JP2012118587A (ja) * 2010-11-29 2012-06-21 Canon Inc 管理装置及びその制御方法、並びにプログラム

Similar Documents

Publication Publication Date Title
US8402459B2 (en) License management system, license management computer, license management method, and license management program embodied on computer readable medium
US9135407B2 (en) License management apparatus, license management method, and storage medium
US9576162B2 (en) Information processing apparatus, information management method, and information management program
US20140223570A1 (en) Information processing apparatus, information processing system, and license management method
JP2008084298A (ja) 複写される内容に基づいて著作権料を査定するシステム、方法およびプログラム
CN107463345A (zh) 控制方法和存储介质
JP4066705B2 (ja) 画像処理システム、プログラムおよび記録媒体
JP2011128796A (ja) 文書利用管理システム、文書処理装置、操作権限管理装置、文書管理装置及びプログラム
JP6938983B2 (ja) 情報処理システム、情報処理装置及び情報処理方法
JP2007310481A (ja) 文書管理方法、そのプログラム及び記録媒体、並びに文書共有サーバ及び文書共有システム
JP6451888B2 (ja) 情報処理装置、システム及びプログラム
JP2008257340A (ja) 情報処理装置、情報処理方法、記憶媒体及びプログラム
JP2017167941A (ja) 画像処理装置、情報処理装置及び画像処理プログラム
JP6075011B2 (ja) 情報処理装置、システム及び情報提供方法
JP6131647B2 (ja) 情報処理装置、プログラム及びファイル管理システム
JP2006235751A (ja) 仮想ストレージ装置、仮想ストレージ方法およびプログラム
JP5949552B2 (ja) アクセス制御情報生成システム
JP5929384B2 (ja) 情報処理装置及び情報処理プログラム
JP4632450B2 (ja) 通信装置及びその制御方法
US20120271951A1 (en) Control method for providing storage space of application and terminal and server therefor
JP2018081572A (ja) サービス提供システム、情報処理装置、プログラム及び情報処理システム
JP4882550B2 (ja) オブジェクト管理システム及びオブジェクト管理方法、並びにコンピュータ・プログラム
JP5070553B1 (ja) 情報処理システム、情報処理端末、情報処理管理プログラム
JP2005346738A (ja) サーバ、プリンタ機器情報作成装置、プリンタ機器情報設定方法、プリンタ機器情報作成方法、プログラム、及び記録媒体
JP2007249806A (ja) 文書共有システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071217

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090128