(58)【調査した分野】(Int.Cl.,DB名)
第一のストレージ装置に記憶されているデータに対する更新内容を、第二のストレージ装置に記憶されている前記データの複製に適用する場合において、前記更新内容を表す更新情報を記憶する記憶手段と、
前記記憶手段の使用状況が基準を満たすか否かを判定する判定手段と、
前記記憶手段の使用状況が前記基準を満たす場合に、前記データに対する更新を抑制する抑制手段と、
を備え、
前記判定手段は、前記記憶手段の使用率が第一の閾値以上であるか否か、及び、前記記憶手段の使用率が前記第一の閾値よりも大きい第二の閾値以上であるか否かを判定し、
前記抑制手段は、前記記憶手段の使用率が前記第一の閾値以上である場合、前記データに対する更新命令が実行される優先度を低下させ、前記記憶手段の使用率が前記第二の閾値以上である場合、前記データに対する更新の受付を停止する、
ストレージ制御装置。
前記記憶手段の使用状況が前記基準を満たすことを契機として、前記更新内容が前記データの複製に適用されるように、前記記憶手段に記憶されている前記更新情報を前記第二のストレージ装置に送信する送信手段をさらに備える、
請求項1または請求項2に記載のストレージ制御装置。
所定のタイミングに前記データに関するスナップショットを取得することを繰り返し実行し、連続する2つの前記スナップショットの差分を求めることによって前記更新情報を生成する生成手段をさらに備える、
請求項1乃至請求項3のいずれか一項に記載のストレージ制御装置。
第一のストレージ装置に記憶されているデータに対する更新内容を、第二のストレージ装置に記憶されている前記データの複製に適用する場合において、前記更新内容を表す更新情報を記憶する記憶手段を備えるコンピュータに、
前記記憶手段の使用状況が基準を満たすか否かを判定する判定処理と、
前記記憶手段の使用状況が前記基準を満たす場合に、前記データに対する更新を抑制する抑制処理と、
を実行させるためのプログラムであって、
前記判定処理は、前記記憶手段の使用率が第一の閾値以上であるか否か、及び、前記記憶手段の使用率が前記第一の閾値よりも大きい第二の閾値以上であるか否かを判定し、
前記抑制処理は、前記記憶手段の使用率が前記第一の閾値以上である場合、前記データに対する更新命令が実行される優先度を低下させ、前記記憶手段の使用率が前記第二の閾値以上である場合、前記データに対する更新の受付を停止する、
ストレージ制御プログラム。
【背景技術】
【0002】
近年、通信ネットワークに接続され、CIFS(Common Internet File System)やNFS(Network File System)等のプロトコルを使用することによってファイルシステムを共有するNAS(Network Attached Storage)が、様々なコンピュータシステムにおいて使用されている。
【0003】
また、災害や障害の発生に備えて、運用系(プライマリ、常用系)サイトと待機系(セカンダリ、予備系)サイトとを備えることによって、高可用性や高信頼性を実現したコンピュータシステムでは、例えば上述したNASを用いたレプリケーションと呼ばれる処理を行う。レプリケーションとは、運用系サイトにおいて災害あるいは障害が発生した場合に、待機系サイトが運用系サイトに代わってサービスを提供できるようにするために、運用系サイトにおけるストレージ装置に記憶されたデータの複製を、待機系サイトにおけるストレージ装置に格納して保持する(データを移行する)処理のことである。
【0004】
高度に情報化された現代社会においては、コンピュータシステムに対する可用性、信頼性、性能等に対する要求レベルは年々高くなってきており、このような要求を実現可能なレプリケーションに関する技術への期待が高まってきている。
【0005】
このような技術に関連する技術として、特許文献1には、レプリケーションに際し、レプリケーション元からレプリケーション先へ転送されることになる1以上の命令をそのまま転送するかわりに、当該命令を転送用命令に変換するシステムが開示されている。当該転送用命令は、レプリケーションにおけるデータ転送総量が、レプリケーション元からレプリケーション先へ当該命令をそのまま転送する場合のデータ転送総量よりも少なくする命令形式を有する。そしてこのシステムは、その転送用命令を、レプリケーション元からレプリケーション先に転送する手段を備えている。
【0006】
また、特許文献2には、移行前ボリュームグループから移行後ボリュームグループへの移行を行うストレージシステムが開示されている。このシステムにおけるストレージ装置は、移行中において、移行前ボリュームグループ及び移行後ボリュームグループに含まれる複数ボリュームにおける任意ボリュームに対するホストからのライトコマンドを受け付ける。このシステムは、複数ボリュームのそれぞれに、予め定められた順番で、受信したライトコマンドのライトデータを書き込む。このシステムは、複数のボリュームの各々において、排他ロックをしてからライトデータを書き込み、最後のボリュームへのライトデータの書き込みを完了した後に、その排他ロックを解除する。
【0007】
また、特許文献3には、自動階層化の方式が異なるストレージシステム間において、ホスト装置側でデータの配置状況を把握していない場合にも、配置状況を維持しながらデータの移行を行う装置が開示されている。この装置は、格納するデータを1つ以上の物理領域のいずれかに配置する移行元ストレージシステムに対するホスト装置からの入出力要求を監視する。この装置は、監視により得られるデータ毎の特性を表す情報に基づいて、各データの配置状況を推測し、推測した配置状況に基づきデータ毎に優先度を決定する。この装置は、移行元ストレージシステムから移行対象のデータを取得する。そしてこの装置は、格納するデータをその特性または優先度に基づき性能が異なる複数の物理領域のいずれかに配置する移行先ストレージシステムに対して、移行対象の各データについて、優先度を付加した書き込み命令を発行する。
【発明を実施するための形態】
【0018】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【0019】
<第1の実施形態>
図1は、本願発明の第1の実施の形態に係るストレージ制御システム1の構成を示すブロック図である。ストレージ制御システム1は、大別して、運用系ストレージ装置10(第一のストレージ装置)、待機系ストレージ装置20(第二のストレージ装置)、及び、ユーザ端末装置30を含む。運用系ストレージ装置10及び待機系ストレージ装置20は、例えばNASであり、通信ネットワークを介して通信可能に接続されている。
【0020】
ユーザ端末装置30(クライアント端末装置)は、ユーザがアプリケーションを実行する際に入力操作を行なう、例えばパーソナルコンピュータ等の情報処理装置である。ユーザ端末装置30と運用系ストレージ装置10とは、通信ネットワークを介して通信可能に接続されている。ユーザにより実行されたアプリケーションは、運用系ストレージ装置10に記憶されているデータである運用系オブジェクトブロック100に対するアクセスを行なう。
【0021】
ストレージ制御システム1は、運用系ストレージ装置10と待機系ストレージ装置20とによる冗長構成を備えるシステムである。そしてストレージ制御システム1は、運用系ストレージ装置10に記憶されている運用系オブジェクトブロック100に関して、運用系ストレージ装置10から待機系ストレージ装置20に対するレプリケーションを行う。即ち、待機系ストレージ装置20に記憶されているデータである待機系オブジェクトブロック200は、運用系オブジェクトブロック100の複製である。本実施形態に係るストレージ制御システム1は、運用系オブジェクトブロック100に対する更新と同じタイミングでその更新内容を待機系オブジェクトブロック200に適用(反映)することを行わない、非同期レプリケーションを行うこととする。
【0022】
本実施形態に係る運用系ストレージ装置10は、上述した非同期レプリケーションの実行を制御するストレージ制御装置としての機能を備えている。尚、ストレージ制御システム1は、運用系ストレージ装置10とは異なる装置として、ストレージ制御装置を備えてもよい。本実施形態では以降、ストレージ制御装置として動作する運用系ストレージ装置10の構成について説明することとする。
【0023】
尚、
図1には説明の便宜上、運用系オブジェクトブロック100及び待機系オブジェクトブロック200を1つずつ示しているが、ストレージ制御システム1は、運用系オブジェクトブロック100及び待機系オブジェクトブロック200を複数(の系統分)備えてもよい。その場合、ストレージ制御システム1は、運用系オブジェクトブロック100と待機系オブジェクトブロック200との複数の組み合わせに関して、それぞれレプリケーションを実行可能であることとする。
【0024】
本実施形態に係る運用系ストレージ装置10は、記憶部11、判定部12、更新制御部13、生成部14、及び、送信部15を備える。
【0025】
記憶部11は、電子メモリあるいは磁気ディスク等の記憶デバイスである。記憶部11は、後述する更新情報143を記憶可能な基本領域111と拡張領域112とを備えている。基本領域111は、更新情報143を記憶するために予め確保されている記憶領域であり、拡張領域112は、基本領域111における未使用部分(更新情報143を新たに記憶可能な部分)が少なくなってきた場合に、後述する生成部14によって、更新情報143を記憶可能な記憶領域として新たに拡張される記憶領域である。
【0026】
例えば、基本領域111は、複数の運用系オブジェクトブロック100の個々に対して専用に割り当てられた記憶領域であり、拡張領域112は、複数の運用系オブジェクトブロック100のいずれかに割り当て可能な、複数の運用系オブジェクトブロック100に共通する記憶領域であってもよい。また、ある運用系オブジェクトブロック100に関する記憶部11において拡張可能な拡張領域112の記憶容量の上限は、所定の値に設定されていることとする。
【0027】
生成部14は、所定のタイミングに運用系オブジェクトブロック100に関するスナップショット141を取得することを繰り返し実行する。但しスナップショット141は、あるタイミングにおける運用系オブジェクトブロック100の値を表すデータである。生成部14は、スナップショット141を、例えば所定の時間間隔で(即ち定期的に)取得してもよい。
【0028】
生成部14は、スナップショット141と、前回取得したスナップショット142との差分を求めることによって、運用系オブジェクトブロック100に対する更新内容を表す更新情報143を生成する。生成部14は、スナップショット141を取得するたびに、生成した更新情報143を、記憶部11に格納する。
【0029】
判定部12は、所定のタイミングに(例えば定期的に)、記憶部11にアクセスすることによって、記憶部11の使用状況を確認し、その使用状況が基準を満たすか否かを判定する。本実施形態に係る判定部12は、例えば当該使用状況として、記憶領域が上限まで拡張された拡張領域112を含む記憶部11の使用率(即ち、記憶部11の記憶容量の上限値に対して、更新情報143が記憶されている領域が占める割合)を取得する。
【0030】
そして判定部12は、取得した記憶部11の使用率が、第一の閾値以上であるか否か、及び、当該第一の閾値よりも大きい第二の閾値以上であるか否かを判定する。本実施形態では、例えば、第一の閾値を90%とし、第二の閾値を95%とする。但し、第一の閾値及び第二の閾値の値は、90%及び95%に限定されない。
【0031】
判定部12は、記憶部11の使用率が、90%以上であるか否か、及び95%以上であるか否かを判定した結果を、更新制御部13及び送信部15に通知する。
【0032】
更新制御部13は、抑制部130、命令バッファ131、及び、優先度管理テーブル132を備える。更新制御部13は、例えば、複数の運用系オブジェクトブロック100の個々に対する更新を制御可能である。
【0033】
図2は、本実施形態に係る命令バッファ131の構成を例示する図である。命令バッファ131は、ユーザ端末装置30が実行するアプリケーションによって発行された、運用系オブジェクトブロック100に対する更新命令(書き込み命令)の待ち行列を格納可能なバッファである。
【0034】
図2に例示する通り、命令バッファ131は、更新命令を識別可能な命令識別子と、当該更新命令に含まれる書き込みデータとを関連付けて記憶している。更新制御部13は、命令バッファ131から更新命令を順次読み出すことによって、運用系オブジェクトブロック100に対する更新を実行する。
【0035】
図3は、本実施形態に係る優先度管理テーブル132の構成を例示する図である。優先度管理テーブル132は、命令バッファ131に格納されている各更新命令に関する、実行される優先度を表す情報である。但し、この優先度は、例えば、更新命令を発行したアプリケーションによって付与されることとする。更新命令を発行したアプリケーションは、例えば、ユーザが当該アプリケーションを実行する入力操作を行った際に入力した、当該アプリケーションに関する優先度を表す情報等に基づいて、各更新命令に関する優先度を付与してもよい。
【0036】
図3に示す例では、更新命令に関する優先度は、「高」、「中」、「低」という3段階の値によって設定されている。そして、更新制御部13は、優先度がより高い更新命令から優先して、更新命令を命令バッファ131から読み出して、運用系オブジェクトブロック100に対する更新を実行する。尚、更新命令に関する優先度が取り得る値は、
図3に例示するような3段階の値に限定されない。更新命令に関する優先度は、例えば、2段階、あるいは、4段階以上の値を取るようにしてもよい。
【0037】
図1に示す抑制部130は、判定部12から通知された、記憶部11の使用率に関する判定結果に応じて、命令バッファ131に格納されている更新命令が、更新制御部13によって実行されることを抑制する。
【0038】
例えば、抑制部130は、判定部12から通知された、記憶部11の使用率に関する判定結果が90%未満である場合、更新制御部13による命令バッファ131に格納されている更新命令の実行を抑制することを行わない。
【0039】
抑制部130は、判定部12から通知された記憶部11の使用率に関する判定結果が、90%以上である場合、優先度管理テーブル132が示す各更新命令に関する優先度を低下させる。抑制部130は、例えば
図3に示す例では、「命令0001」に関する優先度を「高」から「中」へ1段階低下させ、「命令0003」及び「命令0004」に関する優先度を「中」から「低」へ1段階低下させる。抑制部130は、優先度が「低」である「命令0002」及び「命令0005」に関しては、優先度を「低」のままとする。抑制部130は、上述の通りに更新命令に関する優先度を低下させた結果を、
図3に例示する通り、優先度管理テーブル132に反映する。
【0040】
例えば、運用系ストレージ装置10における、ある運用系オブジェクトブロック100に対する更新命令に関する優先度が上述のように低下した場合、更新制御部13は、当該運用系オブジェクトブロック100とは異なる別の運用系オブジェクトブロック100に対する更新命令を優先して実行する。
【0041】
抑制部130は、判定部12から通知された記憶部11の使用率に関する判定結果が、95%以上である場合、上述した更新命令に関する優先度を低下させることに加えて、更新命令の受付を停止することもあわせて実行する。この場合、抑制部130は、アプリケーションによって新たに発行された運用系オブジェクトブロック100に対する更新命令が、命令バッファ131に格納されること(即ち、更新命令の待ち行列に入ること)を停止する。
【0042】
送信部15は、例えば定期的に、記憶部11に記憶されている1以上の更新情報143を、待機系ストレージ装置20へ送信する。送信部15は、また、判定部12から記憶部11の使用率が90%以上であることを通知された場合、定期的な更新情報143の送信に加えて、その通知を契機として、記憶部11に記憶されている1以上の更新情報143を、待機系ストレージ装置20へ送信する。
【0043】
待機系ストレージ装置20は、運用系ストレージ装置10における送信部15によって送信された更新情報143に基づいて、更新情報143が示す運用系オブジェクトブロック100に対する更新内容を、待機系オブジェクトブロック200に適用(反映)する。待機系ストレージ装置20は、運用系オブジェクトブロック100に対する更新内容を、待機系オブジェクトブロック200に適用したのち、待機系オブジェクトブロック200への適用が完了したことを、運用系ストレージ装置10へ通知する。
【0044】
運用系ストレージ装置10における生成部14は、待機系ストレージ装置20から待機系オブジェクトブロック200への更新内容の適用が完了したことを通知されたのち、スナップショット141及び142を削除(リフレッシュ)するとともに、記憶部11に記憶されている更新情報143を削除する。
【0045】
また、運用系ストレージ装置10における抑制部130は、待機系ストレージ装置20から待機系オブジェクトブロック200への更新内容の適用が完了したことを通知されたのち、運用系オブジェクトブロック100に対する更新を抑制している場合は、その抑制を解除する。
【0046】
次に
図4のフローチャートを参照して、本実施形態に係る運用系ストレージ装置10の動作(処理)について詳細に説明する。
【0047】
判定部12は、所定のタイミングに、更新情報143が記憶された記憶部11の使用率を確認する(ステップS101)。使用率が90%未満である場合(ステップS102でNo)、全体の処理は終了する。使用率が90%以上である場合(ステップS102でYes)、送信部15は、記憶部11に記憶されている更新情報143を、待機系ストレージ装置20へ送信することを開始する(ステップS103)。更新制御部13における抑制部130は、命令バッファ131に格納されている更新命令が実行される優先度を下げる(ステップS104)。
【0048】
ステップS101において判定部12によって確認された記憶部11の使用率が95%未満である場合(ステップS105でNo)、処理はステップS107へ進む。記憶部11の使用率が95%以上である場合(ステップS105でYes)、抑制部130は、更新命令の受付を停止する(ステップS106)。
【0049】
運用系ストレージ装置10は、待機系ストレージ装置20から、待機系オブジェクトブロック200の更新が完了したことを受信する(ステップS107)。生成部14は、スナップショット141及び142を削除し、記憶部11に記憶されている更新情報143を削除する(ステップS108)。抑制部130は、ステップS104及びS106で行なった運用系オブジェクトブロック100に対する更新の抑制を解除し(ステップS109)、全体の処理は終了する。
【0050】
本実施形態に係る運用系ストレージ装置10(ストレージ制御装置)は、ストレージ装置に記憶されたデータに対する更新を、別のストレージ装置に格納されている当該データの複製に対して非同期に適用することを、確実に行うことができる。その理由は、運用系ストレージ装置10は、運用系オブジェクトブロック100に関する更新情報143を記憶する記憶部11の使用状況が基準を満たす場合、運用系オブジェクトブロック100に対する更新を抑制するからである。
【0051】
以下に、本実施形態に係る運用系ストレージ装置10によって実現される効果について、詳細に説明する。
【0052】
運用系サイトから待機系サイトへの非同期レプリケーションを行うコンピュータシステムでは、更新ブロック(更新が発生したデータ)を、ストレージ装置における所定の記憶領域に記憶(蓄積)し、所定のタイミングに、当該記憶領域に記憶された更新ブロックが、運用系サイトから待機系サイトに転送される。したがって、例えば、短期間に当該記憶領域の記憶容量を超えるような大量の更新ブロックが発生した場合、当該記憶領域に更新ブロックを記憶しきれなくなることによって、レプリケーションを確実に行うことができなくなるという問題がある。
【0053】
このような課題に対して、本実施形態に係る運用系ストレージ装置10は、記憶部11と、判定部12と、抑制部130とを備え、例えば
図1乃至
図4を参照して上述した通り動作する。即ち、記憶部11は、運用系ストレージ装置10(第一のストレージ装置)に記憶されている運用系オブジェクトブロック100(データ)に対する更新内容を、待機系ストレージ装置20(第二のストレージ装置)に記憶されている待機系オブジェクトブロック200(当該データの複製)に適用する場合において、当該更新内容を表す更新情報143を記憶する。判定部12は、記憶部11の使用状況が基準を満たすか否かを判定する。そして抑制部130は、記憶部11の使用状況が当該基準を満たす場合に、運用系オブジェクトブロック100に対する更新を抑制する。
【0054】
即ち、本実施形態に係る運用系ストレージ装置10は、記憶部11において、更新情報143を新たに記憶可能な記憶領域が残り少なくなってきた場合に、運用系オブジェクトブロック100に対する更新を抑制することによって、更新情報143の生成を抑制する。これにより、運用系ストレージ装置10は、記憶部11に更新情報143を記憶しきれなくなる状態が発生することを回避するので、非同期レプリケーションを確実に行うことができる。
【0055】
また、本実施形態に係る抑制部130は、記憶部11の使用率が第一の閾値(例えば90%)以上である場合、運用系オブジェクトブロック100に対する更新命令が実行される優先度を低下させ、記憶部11の使用率が第一の閾値よりも大きい第二の閾値(例えば95%)以上である場合、運用系オブジェクトブロック100に対する更新の受付を停止する。即ち、抑制部130は、記憶部11の使用状況に応じて、運用系オブジェクトブロック100に対する更新を抑制する度合いを変更する。例えば、記憶部11に更新情報143を記憶しきれなくなる状態が発生することを回避するために、運用系オブジェクトブロック100に対する更新の抑制を必要以上に行った場合、ストレージ制御システム1の性能が必要以上に低下する問題が発生する。本実施形態に係る運用系ストレージ装置10は、記憶部11の使用状況に応じて、運用系オブジェクトブロック100に対する更新を抑制する度合いを変更するので、ストレージ制御システム1の性能が必要以上に低下することを回避しつつ、非同期レプリケーションを確実に行うことを実現する。
【0056】
また、本実施形態に係る送信部15は、記憶部11の使用状況が基準を満たすことを契機として、更新内容が待機系オブジェクトブロック200に適用されるように、記憶部11に記憶されている更新情報143を待機系ストレージ装置20に送信する。運用系ストレージ装置10は、更新内容が待機系オブジェクトブロック200に適用されることにより、その更新内容を表す更新情報143を記憶部11から削除することができる。したがって、本実施形態に係る運用系ストレージ装置10は、ストレージ装置に記憶されたデータに対する更新を、別のストレージ装置に格納されている当該データの複製に対して非同期に適用することを、より確実に行うことができる。
【0057】
また、本実施形態に係る運用系ストレージ装置10が備えるストレージ制御装置としての機能は、本実施形態に係るストレージ制御システム1のようなレプリケーションシステム以外のシステムでも利用可能である。例えば、当該ストレージ制御装置としての機能は、管理対象とするデータに関するあるタイミングにおけるスナップショットを起点として、時間の経過と共に更新される当該データのバックアップを生成するようなシステムなどにおいても利用可能である。
【0058】
<第2の実施形態>
図5は、本願発明の第2の実施形態に係るストレージ制御装置40の構成を示すブロック図である。
【0059】
本実施形態に係るストレージ制御装置40は、記憶部41、判定部42、及び、抑制部43を備える。
【0060】
記憶部41は、第一のストレージ装置50に記憶されているデータ500に対する更新内容を、第二のストレージ装置51に記憶されているデータ500の複製510に適用する場合において、当該更新内容を表す更新情報410を記憶する。
【0061】
判定部42は、記憶部41の使用状況が基準420を満たすか否かを判定する。
【0062】
抑制部43は、記憶部41の使用状況が基準420を満たす場合に、データ500に対する更新を抑制する。
【0063】
本実施形態に係るストレージ制御装置40は、ストレージ装置に記憶されたデータに対する更新を、別のストレージ装置に格納されている当該データの複製に対して非同期に適用することを、確実に行うことができる。その理由は、ストレージ制御装置40は、データ500に関する更新情報410を記憶する記憶部41の使用状況が基準を満たす場合、データ500に対する更新を抑制するからである。
【0064】
<ハードウェア構成例>
上述した各実施形態において
図1、及び、
図5に示したストレージ制御装置(運用系ストレージ装置)における各部は、専用のHW(HardWare)(電子回路)によって実現することができる。また、
図1、及び、
図5において、少なくとも、下記構成は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。
・記憶部11及び41における記憶制御機能、
・判定部12及び42、
・抑制部130及び43、
・生成部14、
・送信部15。
【0065】
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、
図6を参照して説明する。
【0066】
図6は、本願発明の各実施形態に係るストレージ制御装置を実行可能な情報処理装置900(コンピュータ)の構成を例示的に説明する図である。即ち、
図6は、
図1、及び、
図5に示したストレージ制御装置を実現可能なコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【0067】
図6に示した情報処理装置900は、構成要素として下記を備えている。
・CPU(Central_Processing_Unit)901、
・ROM(Read_Only_Memory)902、
・RAM(Random_Access_Memory)903、
・ハードディスク(記憶装置)904、
・通信インタフェース905、
・バス906(通信線)、
・CD−ROM(Compact_Disc_Read_Only_Memory)等の記録媒体907に格納されたデータを読み書き可能なリーダライタ908、
・モニターやスピーカ、キーボード等の入出力インタフェース909。
【0068】
即ち、上記構成要素を備える情報処理装置900は、これらの構成がバス906を介して接続された一般的なコンピュータである。情報処理装置900は、CPU901を複数備える場合もあれば、マルチコアにより構成されたCPU901を備える場合もある。
【0069】
そして、上述した実施形態を例に説明した本願発明は、
図6に示した情報処理装置900に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図(
図1、及び、
図5)における上述した構成、或いはフローチャート(
図4)の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ(RAM903)、または、ROM902やハードディスク904等の不揮発性の記憶デバイスに格納すれば良い。
【0070】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、CD−ROM等の各種記録媒体907を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体907によって構成されると捉えることができる。
【0071】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。