まず、本実施例1にかかる管理装置の概要について説明する。本実施例1にかかる管理装置は、システムで共通して利用される共通データを種別毎に分割して記憶し、複数の個別装置から共通データに対するアクセス要求を受け付けた場合に、受け付けたアクセス要求と共通データの種別とを対応付けて管理し、共通データの種別に対応付けられたアクセス要求の送信元となる複数の個別装置に対して、該当する種別の共通データを一括して送信する(マルチキャスト転送する)。
このように、本実施例1にかかる管理装置は、アクセス要求と共通データの種別とを対応付けて管理し、共通データの種別に対応付けられたアクセス要求の送信元となる複数の個別装置に対して、該当する種別の共通データを一括して送信するので、システム起動時などに複数の個別装置からアクセス要求を受け付けた場合であっても、効率よく共通データを送信することができ、各個別装置のアクセス時間を短縮することができる。
次に、本実施例1にかかるシステムの構成について説明する。図1は、本実施例1にかかるシステムの構成を示す図である。同図に示すように、このシステムは、共通データを格納する管理装置100に個別装置60〜80が接続されている。ここでは説明の便宜上、個別装置60〜80のみを示すが、このシステムは他の個別装置も備えているものとする。
個別装置60〜80は、共通データを取得して所定の処理を実行するカードを備えている。具体的に、個別装置60は、カード60a〜60cを備え、個別装置70は、カード70a,70bを備え、個別装置80は、カード80a,80cを備えている。
ここで、例えば、カード60a,70a,80aは、共通データ「a」を用いて処理を行い、カード60b,70bは、共通データ「b」を用いて処理を行い、カード60c,80cは、共通データ「c」を用いて所定の処理を行うものとする。
個別装置60〜80は、システムの起動時(あるいは再起動時)等に、共通データを取得するアクセス要求を管理装置100に送信する。そして、管理装置100からアクセス要求に対応する共通データを取得した場合には、取得した共通データを、対応するカードに出力し、各カードに所定の処理を実行させる。
個別装置60〜80から管理装置に送信されるアクセス要求には、個別装置を識別する個別装置識別情報と、アクセス要求識別情報(アクセス要求識別情報の説明は後述する)と、必要に応じて、アクセス要求の優先度を示す優先度情報(例えば、優先設定ON/OFF及び優先度情報)とが含まれているものとする。
本実施例では一例として、優先度情報は、「1,2,3,・・・」の数値によって示され、数値が小さいものほど優先度が高いアクセス要求とする。個別装置60〜80の管理者は、予め、優先度情報をアクセス要求に含めるか否かを設定しておき、優先度情報を含める場合には、予め、優先度情報の値を設定しておくものとする。
管理装置100は、システムで共通して利用される共通データを種別毎に分割して記憶し、複数の個別装置から共通データに対するアクセス要求を受け付けた場合に、受け付けたアクセス要求と共通データの種別とを対応付けて管理し、共通データの種別に対応付けられたアクセス要求の送信元となる複数の個別装置に対して、該当する種別の共通データをマルチキャスト転送する装置である。
図2は、本実施例1にかかる管理装置100の構成を示す機能ブロック図である。同図に示すように、この管理装置100は、共通データ記憶部110と、マルチキャストグループID用バッファ120と、個別装置群IF部130と、アクセス内容判定部140と、処理待ち用FIFO150と、共通データ管理部160とを備えて構成される。
共通データ記憶部110は、共通データを種別毎に分割して記憶する記憶手段である。図3は、共通データ記憶部110が記憶する共通データのデータ構造の一例を示す図である。同図に示すように、共通データは、共通データ「a」、「b」、「c」に分割されて記憶されており、各共通データは、マルチキャストグループIDに対応付けられている。
具体的には、マルチキャストグループID「A」に共通データ「a」が対応付けられ、マルチキャストグループID「B」に共通データ「b」が対応付けられ、マルチキャストグループID「C」に共通データ「c」が対応付けられている。ここで、マルチキャストグループIDは、該当する共通データをマルチキャスト転送する場合に、マルチキャスト転送対象となる個別装置の組を識別する情報である。
マルチキャストグループID用バッファ120は、各マルチキャストグループIDに対応させて、アクセス要求識別情報を記憶する記憶手段である。図4は、マルチキャストグループID用バッファ120のデータ構造の一例を示す図である。
図4に示すように、このマルチキャストグループID用バッファ120は、マルチキャストグループID「A」に対応するバッファ120a、マルチキャストグループID「B」に対応するバッファ120b、マルチキャストグループID「C」に対応するバッファ120cを備えており、各バッファ120a〜120cが、各マルチグループIDに対応する、アクセス要求識別情報を記憶している。
図4に示す例では、バッファ120aが、アクセス要求識別情報「x,v,s」を記憶し、バッファ120bが、アクセス要求識別情報「y,w」を記憶し、バッファ120cが、アクセス要求識別情報「t,z」を記憶している。各バッファ120a〜120cのアクセス要求識別情報は、後述するアクセス内容判定部140によって登録される。
ここで、アクセス要求識別情報「x」は、カード60aのアクセス要求を識別する情報であり、アクセス要求識別情報「y」は、カード60bのアクセス要求を識別する情報であり、アクセス要求識別情報「z」は、カード60cのアクセス要求を識別する情報である。
また、アクセス要求識別情報「v」は、カード70aのアクセス要求を識別する情報であり、アクセス要求識別情報「w」は、カード70bのアクセス要求を識別する情報である。また、アクセス要求識別情報「s」は、カード80aのアクセス要求を識別する情報であり、アクセス要求識別情報「t」は、カード80cのアクセス要求を識別する情報である。
そして、図4に示す例では、バッファ120aに格納されたアクセス要求識別情報「x,v,s」に対応するカード60a,70a,80aを備えた個別装置60〜80に向けて、マルチキャストグループID「A」に対応する共通データ「a」(図3参照)がマルチキャスト転送される。
また、バッファ120bに格納されたアクセス要求識別情報「y,w」に対応するカード60b,70bを備えた個別装置60,70に向けて、マルチキャストグループID「B」に対応する共通データ「b」(図3参照)がマルチキャスト転送される。
また、バッファ120cに格納されたアクセス要求識別情報「t,z」に対応するカード60c,80cを備えた個別装置60,80に向けて、マルチグループID「C」に対応する共通データ「c」(図3参照)がマルチキャスト転送される。
図2の説明に戻ると、個別装置群IF部130は、主に個別装置60〜80との間における通信を制御する手段である。
アクセス内容判定部140は、個別装置60〜80からアクセス要求を取得した場合に、マルチキャストグループID用バッファ120にアクセス要求識別情報を登録すると共に、アクセス要求に対応するリクエストを処理待ち用FIFO150に登録する手段である。以下において、アクセス内容判定部140が、マルチキャストグループID用バッファ120にアクセス要求識別情報を登録する処理を説明した後に、処理待ち用FIFO150にリクエストを登録する処理について説明する。
まず、マルチキャストグループID用バッファ120にアクセス要求識別情報を登録する処理について説明する。アクセス内容判定部140は、管理テーブルを保持しており、個別装置60〜80からアクセス要求を取得した場合に、アクセス要求に含まれる個別装置識別情報およびアクセス要求識別情報と、管理テーブルとを比較することにより、マルチキャストグループID用バッファ120の各バッファ120a〜120cに登録するアクセス要求識別情報を識別して登録する。
図5は、アクセス内容判定部140が保持する管理テーブルのデータ構造の一例を示す図である。同図に示すように、この管理テーブルは、個別装置識別情報と、アクセス要求識別情報と、マルチキャストグループIDとを対応付けて記憶している。
具体的に、個別装置識別情報「k1001」は、アクセス要求識別情報「x」、「y」、「z」に対応しており、アクセス要求識別情報「x」は、マルチキャストグループID「A」に対応し、アクセス要求識別情報「y」は、マルチキャストグループID「B」に対応し、アクセス要求識別情報「z」は、マルチキャストグループID「C」に対応している。
また、個別装置識別情報「k1002」は、アクセス要求識別情報「v」、「w」に対応しており、アクセス要求識別情報「v」は、マルチキャストグループID「A」に対応し、アクセス要求識別情報「w」は、マルチキャストグループID「B」に対応している。
また、個別装置識別情報「k1003」は、アクセス要求識別情報「s」、「t」に対応しており、アクセス要求識別情報「s」は、マルチキャストグループID「A」に対応し、アクセス要求識別情報「t」は、マルチキャストグループID「C」に対応している。
例えば、アクセス内容判定部140は、個別装置60から個別装置識別情報「k1001」とアクセス要求識別情報「x」とを含んだアクセス要求を取得した場合には、マルチキャストグループID「A」に対応するため、アクセス要求識別情報「x」をバッファ120aに登録する。
次に、アクセス内容判定部140が処理待ち用FIFO150にリクエストを登録する処理について説明する。また、かかる処理を「アクセス要求に優先度情報が含まれていない場合」と「アクセス要求に優先度情報が含まれている場合」に分けて説明する。なお、アクセス内容判定部140は、アクセス要求のヘッダー情報により、優先度が設定されているか否かを判定する。
(アクセス要求に優先度情報が含まれていない場合)
アクセス内容判定部140が、個別装置60〜80からアクセス要求を取得し、取得したアクセス要求に優先度情報が含まれていない場合には、処理待ち用FIFO150の優先度フラグを「オフ」に設定する。
そして、アクセス内容判定部140は、アクセス要求に含まれる個別装置識別情報と、管理データ(図5参照)とを基にして、アクセス要求に対応するリクエストを作成する。図3に示したように、マルチキャストグループID(共通データ)の種別が3種類の場合には、リクエストの種類も3種類となる。
本実施例1では一例として、マルチキャストグループID「A」(共通データ「a」)に対応するリクエストを「リクエストA」、マルチキャストグループID「B」(共通データ「b」)に対応するリクエストを「リクエストB」、マルチキャストグループID「C」(共通データ「c」)に対応するリクエストを「リクエストC」とする。
アクセス内容判定部140は、個別装置60〜80からアクセス要求を取得した場合には、アクセス要求に含まれる個別装置識別情報およびアクセス要求識別情報と、管理データとを比較して、リクエストを作成する。例えば、アクセス内容判定部140は、個別装置識別情報「k1001」、アクセス要求識別情報「x」を有するアクセス要求を取得した場合には、マルチキャストグループID「A」に対応するので、リクエストAを作成する。
アクセス内容判定部140は、リクエストを作成した順に、処理待ち用FIFO150にリクエストを登録する。なお、アクセス内容判定部140は、リクエストを登録する場合に、すでに同一のリクエストが処理待ち用FIFO150に登録されている場合には、リクエストを登録しない。
例えば、アクセス内容判定部140は、リクエストAを処理待ち用FIFO150に登録する場合に、すでに、処理待ち用FIFO150にリクエストAが登録されている場合には、新規にリクエストAを登録しない。
(アクセス要求に優先度情報が含まれている場合)
アクセス内容判定部140が、個別装置60〜80からアクセス要求を取得し、取得したアクセス要求に優先度情報が含まれている場合には、処理待ち用FIFO150の優先度フラグを「オン」に設定する。
そして、アクセス内容判定部140は、上述した、アクセス要求に優先度情報が含まれていない場合と同様にして、アクセス要求に対応するリクエストを生成し、生成したリクエストと優先度情報とを対応付けて、処理待ち用FIFO150にリクエストを登録する。
なお、アクセス内容判定部140は、リクエストに対応付けられた優先度情報に基づいて、優先度の高いリクエストから順に、処理待ち用FIFO150にリクエストを登録しても良い。また、アクセス内容判定部140は、リクエストAを処理待ち用FIFO150に登録する場合に、すでに、処理待ち用FIFO150にリクエストAが登録されている場合には、新規にリクエストAを登録しない。
また、アクセス内容判定部140は、図1に示したシステムの構成情報を保持しており、管理装置100に接続される個別装置の個数を管理している。従って、個別装置60〜80からのリクエストの種別および個数をカウントすることで、個別装置60〜80からのアクセスが完了したか否かを判定する。個別装置60〜80は判定結果を共通データ管理部160に出力する。
処理待ち用FIFO150は、アクセス内容判定部140によって登録されるリクエストを記憶する記憶手段(FIFO)である。図6は、処理待ち用FIFO150のデータ構造の一例を示す図である。
同図に示すように、この処理待ち用FIFO150は、リクエストを識別するリクエストIDと、優先度情報とを対応付けて記憶している。なお、リクエストに優先度情報が対応付けられていない場合には、リクエストに対応する優先度情報がブランクとなる。
なお、処理待ち用FIFO150は、優先度フラグ(図示略)が設定されており、優先度フラグが「オン」となっている場合には、優先度の高いリクエストから順に、共通データ管理部160に読み出される。一方、優先度フラグが「オフ」となっている場合には、先に登録されたリクエストから順に共通データ管理部160に読み出される。
共通データ管理部160は、アクセス内容判定部140からアクセスの完了通知を取得した後に、処理待ち用FIFO150からリクエストを取得し、リクエストに対応する共通データを共通データ記憶部110から読み出すと共に、マルチキャストグループID用バッファ120に記憶された情報に基づいて、共通データをマルチキャスト転送する手段である。
以下において、共通データ管理部160の処理について説明する。共通データ管理部160の処理は、共通データを共通データ記憶部110から読み出す処理と、共通データをマルチキャスト転送する処理に大別されるので、まず、共通データを共通データ記憶部110から読み出す処理を説明した後に、共通データをマルチキャスト転送する処理について説明する。
共通データ管理部160が、共通データを共通データ記憶部110から読み出す処理について説明する。共通データ管理部160は、処理待ち用FIFO150の優先度フラグを参照し、優先度フラグが「オフ」になっている場合には、処理待ち用FIFO150に先に登録されたリクエストから順に取得する。
一方、優先度フラグが「オン」になっている場合には、処理待ち用FIFO150に登録されたリクエストのうち、優先順位の高いリクエストから順に取得する。例えば、優先度情報が図6のように設定されている場合には、リクエストA,B,Cの順に、処理待ち用FIFO150からリクエストを取得する。
そして、取得したリクエストと共通データ記憶部110に記憶された共通データ(図3参照)とを比較して、リクエストに対応する共通データを共通データ記憶部110から取得する。なお、リクエストA〜Cは、マルチキャストグループIDA〜Cにそれぞれ対応しているものとする。従って、共通データ管理部160は、リクエストAを取得した場合には、共通データ「a」を読み出し、リクエストBを取得した場合には、共通データ「b」を読み出し、リクエストCを取得した場合には、共通データ「c」を読み出す。
次に、共通データ管理部160が、共通データをマルチキャスト転送する処理について説明する。共通データ管理部160は、共通データを取得した場合に、取得した共通データのマルチキャストグループIDに対応するバッファ(バッファ120a〜120cのいずれか一つ)を参照し、参照したバッファに含まれるアクセス要求識別情報に基づいて、共通データを該当個別装置にマルチキャスト転送する。
具体的に、共通データ管理部160が、共通データ「a」を取得した場合には、マルチキャストグループID「A」に対応するバッファ120aを参照する。そして、共通データ管理部160は、バッファ120aに含まれるアクセス要求識別情報「x,v,s」に対応する個別装置60〜80(例えば、図5参照)に対して、共通データ「a」をマルチキャスト転送する。
共通データ管理部160は、共通データ「a」をマルチキャスト転送した後に、バッファ120aに記憶されたアクセス要求識別情報を削除する。
また、共通データ管理部160が、共通データ「b」を取得した場合には、マルチキャストグループID「B」に対応するバッファ120bを参照する。そして、共通データ管理部160は、バッファ120bに含まれるアクセス要求識別情報「y,w」に対応する個別装置60,70(例えば、図5参照)に対して、共通データ「b」をマルチキャスト転送する。
共通データ管理部160は、共通データ「b」をマルチキャスト転送した後に、バッファ120bに記憶されたアクセス要求識別情報を削除する。
また、共通データ管理部160が、共通データ「c」を取得した場合には、マルチキャストグループID「C」に対応するバッファ120cを参照する。そして、共通データ管理部160は、バッファ120cに含まれるアクセス要求識別情報「t,z」に対応する個別装置60,80(例えば、図5参照)に対して、共通データ「c」をマルチキャスト転送する。
共通データ管理部160は、共通データ「c」をマルチキャスト転送した後に、バッファ120cに記憶されたアクセス要求識別情報を削除する。なお、共通データ管理部160は、アクセス要求識別情報に対応する個別装置および、各個別装置の宛先情報等を保持しているものとする。
次に、アクセス内容判定部140および共通データ管理部160の処理に伴って変化するマルチキャストグループID用バッファ120について説明する。図7は、マルチキャストグループID用バッファ120のデータ変化を説明する図である。
アクセス内容判定部140は、個別装置60〜80からアクセス要求を取得した場合に、まず、バッファ120aにアクセス要求識別情報「x,v,s」を登録し(図7の1段目参照)、続いて、バッファ120bにアクセス要求識別情報「y,w」を登録し、バッファ120cにアクセス要求識別情報「t」を登録する(図7の2段目参照)。その後、バッファ120cにアクセス要求識別情報「z」を登録する(図7の3段目参照)。
また、共通データ管理部160が、共通データ「a」をマルチキャスト転送した後に、バッファ120aに記憶されたアクセス要求識別情報「x,v,s」を削除し(図7の4段目参照)、共通データ「b」をマルチキャスト転送した後に、バッファ120bに記憶されたアクセス要求識別情報「y,w」を削除し(図7の5段目参照)、共通データ「c」をマルチキャスト転送した後に、バッファ120cに記憶されたアクセス要求識別情報「t,z」を削除する(図7の6段目参照)。
次に、本実施例1にかかる管理装置100の処理手順について説明する。図8および図9は、本実施例1にかかる管理装置100の処理手順を示すフローチャートである。同図に示すように、管理装置100は、アクセス内容判定部140が、各個別装置60〜80からアクセス要求を受け付け(ステップS101)、アクセス先を判定し、該当するマルチキャストグループIDを識別する(ステップS102)。
そして、アクセス内容判定部140は、マルチキャストグループID用バッファ120にアクセス要求識別情報を格納し(ステップS103)、アクセス要求に優先度情報が設定されているか否かを判定する(ステップS104)。
アクセス要求に優先度情報が設定されていない場合には(ステップS105,No)、先着のリクエスト(登録対象となるリクエストと同じリクエスト;以下同様)が処理待ち用FIFO150に存在するか否かを判定し(ステップS106)、先着のリクエストが存在する場合には(ステップS107,Yes)、ステップS113に移行する。
一方、先着のリクエストが存在しない場合には(ステップS107,No)、処理待ち用FIFO150にリクエストを格納し、処理待ち用FIFO150の優先度フラグをオフに設定し(ステップS108)、ステップS113に移行する。
ところで、ステップS105において、アクセス要求に優先度情報が設定されている場合には(ステップS105,Yes)、処理待ち用FIFO150に先着のリクエストが存在するか否かを判定し(ステップS109)、先着のリクエストが存在しない場合には(ステップS110,No)、処理待ち用FIFO150にリクエストを格納し、処理待ち用FIFO150の優先度フラグをオンに設定し(ステップS111)、ステップS113に移行する。
一方、先着のリクエストが存在する場合には(ステップS110,Yes)、処理待ち用FIFO150の優先度フラグをオンに設定し(ステップS112)、アクセス要求の受信が完了したか否かを判定し(ステップS113)、アクセス要求の受信が完了していない場合には(ステップS114,No)、ステップS102に移行する。
一方、アクセス要求の受信が完了した場合には(ステップS114,Yes)、処理待ち用FIFO150の優先度フラグがオンとなっているか否かを判定し(ステップS115)、優先度フラグがオンとなっている場合には(ステップS116,Yes)、優先度情報に基づいて、処理待ち用FIFO150からリクエストを読み出し(ステップS117)、該当個別装置に共通データをマルチキャストする(ステップS118)。
そして、処理待ち用FIFO150の読み出しが完了したか否かを判定し(ステップS119)、読み出しが完了していない場合には(ステップS120,No)、ステップS117に移行する。一方、読み出しが完了している場合には(ステップS120,Yes)、処理を終了する。
ところで、ステップS116において、処理待ち用FIFO150の優先度フラグがオフとなっている場合には(ステップS116,No)、処理待ち用FIFO150に先に格納されたリクエストから順に読み出し(ステップS121)、該当個別装置に共通データをマルチキャストする(ステップS122)。
そして、処理待ち用FIFO150の読み出しが完了したか否かを判定し(ステップS123)、読み出しが完了していない場合には(ステップS124,No)、ステップS121に移行する。一方、読み出しが完了している場合には(ステップS124,Yes)、処理を終了する。
図10−1は、本実施例1のシステムにかかるタイミングイメージを示す図である。同図に示すように、個別装置60〜80が同時に管理装置100にアクセス要求を行った場合でも、管理装置100が、共通データをマルチキャスト送信するので、個別装置60〜80の待ち時間を無くし、システムを迅速に立ち上げることが可能となる。
ここで、本実施例1における具体的な効果を数値で説明する。図10−2は、本実施例1における具体的な効果を説明するための図である。前提条件として、個別装置60,70,80があり、個別装置60はカード10a,10b,10cを搭載し、個別装置70はカード20a,20bを搭載し、個別装置80はカード30a,30cを搭載する。
また、システムの共通データのサイズを120MByteとする。カード種別を3つとしカード1種当たり、40MByte(120MByte÷3)のデータを使用する。システムの共通データへのアクセス速度を16MByteとする。システムの共通を格納するメモリとしてコンパクトフラッシュ(登録商標)を想定する。
また、管理装置100と個別装置60〜80間のパスアクセス速度を160Mbyteとする。クロック100MHz、データ幅16Bitのシリアルバス(SERDES)を想定。なお、アクセス要求パケットサイズは小さいため、転送時間に入れない。
上記の前提条件に基づいて、カード1種分のデータ転送処理にかかる時間を算出する。
システムの共通データからカード1種分のデータリード時間は、
40Mbyte÷16Mbyte/sec=2.5sec
となる。また、管理装置100と個別装置60〜80間のデータ転送時間は、
40Mbyte÷160Mbps=40Mbyte÷20Mbps/sec=2.0sec
となる。
次に、従来構成における全データ転送にかかる時間を算出する。管理装置は、全てシリアル処理にて転送処理を行うため、各転送処理時間が加算される。すなわち、従来構成による転送時間は、個別装置60〜80の転送時間をそれぞれ加算した時間となる。
個別装置60は、カード10a〜10cを備えているため、データリード時間は、2.5sec×3となる。個別装置70は、カード20a,20bを備えているため、データリード時間は、2.5sec×2となる。個別装置80は、カード30a,30cを備えているため、データリード時間は、2.5sec×2となる。従って、従来構成による転送時間は、上記したデータリード時間にデータ転送時間2.0secを加算した値となるので、
2.5sec×7+2.0sec=19.5sec
となる(図10−2の上段参照)。
一方、本実施例1では、個別装置の接続数によらず、カード種別分の転送時間ですむ。すなわち、本実施例1にかかる転送時間は、共通データ「a」のデータリード時間と、共通データ「b」のデータリード時間と、共通データ「c」のデータリード時間と、データ転送時間を加算した値となるので、
2.5sec×3+2.0sec=10sec
となる(図10−2の下段参照)。
図10−2に示したように、従来構成による転送時間と本実施例1にかかる転送時間とを比較すると、本実施例1にかかる転送時間のほうが10sec短くなるため、データ転送時間を短縮することができる。
上述してきたように、本実施例1にかかる管理装置100は、共通データ記憶部110がシステムで共通して利用される共通データを種別毎に分割して記憶し、アクセス内容判定部140が複数の個別装置から共通データに対するアクセス要求を受け付けた場合に、受け付けたアクセス要求識別情報とマルチキャストグループIDとを対応付けてマルチキャストグループID用バッファ120に登録し、共通データ管理部160が、共通データの種別に対応付けられたアクセス要求の送信元となる複数の個別装置に対して、該当する種別の共通データをマルチキャスト転送するので、システム起動時などに複数の個別装置60〜80からアクセス要求を受け付けた場合であっても、効率よく共通データを送信することができ、各個別装置のアクセス時間を短縮することができる。
また、本実施例1にかかる管理装置100は、同じ共通データへのアクセスをグルーピングして管理しているため、同じ共通データへのアクセス要求数が増加しても(個別装置が増設され、アクセス要求数が増加しても)、アクセス時間の増加を防ぐことが出来る。
また、本実施例1では、管理装置100が、各個別装置のアクセス時間の増加を防いでいるので、各個別装置間が特別な処理を実施する必要がないので、各個別装置の処理負荷を軽減することが出来る。
また、本実施例1にかかる管理装置100は、転送先をマルチキャストグループID用バッファ120に登録して、マルチキャスト転送を実行するので、転送準備処理負荷を軽減することが出来る。
また、本実施例1にかかる管理装置100は、処理待ち用FIFO150にリクエストを格納し、共通データ管理部160が、先に登録されたリクエスト順、あるいは優先度情報に応じてリクエストを読み出し、共通データを送信するので、個別装置からのバラバラなアクセス要求に対して、システム側の要求に従ったアクセス応答を返すことが出来る。
ところで、本実施例1において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部あるいは一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図2に示した管理装置100の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部がCPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
図11は、実施例にかかる管理装置100を構成するコンピュータ200のハードウェア構成を示す図である。図11に示すように、このコンピュータ(管理装置)200は、入力装置201、モニタ202、マルチキャストグループID用バッファ203(図2に示したマルチキャストグループID用バッファ120に対応する)と、処理待ち用FIFO204(図2に示した処理待ち用FIFO150に対応する)と、RAM(Random Access Memory)205、ROM(Read Only Memory)206、記憶媒体からデータを読み取る媒体読取装置207、他の装置(例えば、個別装置60〜80)との間でデータの送受信を行う通信装置208、CPU(Central Processing Unit)209、HDD(Hard Disk Drive)210をバス211で接続して構成される。
そして、HDD210には、上記した管理装置100の機能と同様の機能を発揮する管理プログラム210bが記憶されている。CPU209が、管理プログラム210bを読み出して実行することにより、管理プロセス209aが起動される。ここで、管理プロセス209aは、図2に示したアクセス内容判定部140、共通データ管理部160に対応する。
また、HDD210は、共通データ210aを記憶する。CPU209は、HDD210に格納された共通データ210aを読み出して、RAM205に格納し、RAM205に格納された共通データ205aを用いて、マルチキャスト転送を実行する。
ところで、図11に示した管理プログラム210bは、必ずしも最初からHDD210に記憶させておく必要はない。たとえば、コンピュータに挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータの内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータに接続される「他のコンピュータ(またはサーバ)」などに管理プログラム210bを記憶しておき、コンピュータがこれらから管理プログラム210bを読み出して実行するようにしてもよい。
次に、本実施例2にかかる管理装置について説明する。本実施例2にかかる管理装置は複数の個別装置に該当する種別のデータを一括して送信している最中に、他の個別装置からアクセス要求を受け付けた場合に、他の個別装置に対して途中から共通データを送信した後に、未送信の共通データを他の端末装置に再送する。
図15は、本実施例2の効果を説明するための図である。ここでは一例として、個別装置60,70が、共通データ「a」に対するアクセス要求を送信した後に、個別装置80が共通データ「a」に対するアクセス要求を送信した場合について説明する。リセット解除のタイミング等による時間差が個別装置60〜80に存在すると、各個別装置60〜80が共通データ「a」に対するアクセス要求を管理装置に送信するタイミングがずれる。
図15の下段に示すように、実施例2では、個別装置60,70から共通データに対するアクセス要求を受信した場合に、管理装置は、共通データ「a」のマルチキャスト転送の準備が整った時点で、共通データ「a」のマルチキャスト転送を個別装置60,70に対して開始する。共通データ「a」のマルチキャスト転送は、個別装置80からのアクセス要求を受け付けていない場合でも開始される。なお、管理装置は、マルチキャスト転送により共通データ「a」の全データの内、何処までデータを転送したのかを管理しておく。
管理装置は、マルチキャスト転送を実行している最中に、個別装置80から共通データ「a」に対するアクセス要求を受信した場合には、転送先に個別装置80を追加して、個別装置60〜80に共通データ「a」を引き続き転送する。すなわち、個別装置80は、共通データ「a」を途中から取得する。そして、管理装置は、マルチキャスト転送が一旦完了し、共通データ「a」の転送準備が終わった後に、共通データ「a」の不足分のみを個別装置80に転送する。
本実施例2の手法によれば、個別装置60,70がアクセス要求を行った後に、個別装置80がアクセス要求を遅れて行った場合には、個別装置60〜80に共通データ「a」が完全に転送されるまでの時間が時間Aとなる。
一方、図15の上段に示すように、実施例1では、個別装置60および個別装置70から共通データに対するアクセス要求を受け付けた場合に、管理装置100は、共通データ「a」のマルチキャスト転送の準備が整った時点で、共通データ「a」のマルチキャスト転送を開始する。共通データ「a」のマルチキャスト転送は、個別装置80からのアクセス要求を受信していない場合でも開始される。
管理装置100は、マルチキャスト転送を実行している最中に、個別装置80から共通データ「a」に対するアクセス要求を受信した場合には、個別装置60,70に対するマルチキャスト転送を完了させる。そして、管理装置100は、個別装置60,70に対するマルチキャスト転送を完了させた後に、個別装置80に対して共通データ「a」の送信をはじめから開始する。
このように、管理装置100は、個別装置60,70に対するマルチキャスト転送が完了した後にまとめて、共通データ「a」を個別装置80に転送しているので、全ての個別装置に共通データを転送するまでの時間が時間Bとなる。実施例1と実施例2とを比較すると、実施例1と比較して、実施例2の方が、マルチキャスト転送の終了時間が時間Cだけ短縮されていることがわかる。
次に、本実施例2にかかるシステムの構成について説明する。図16は、本実施例2にかかるシステムの構成を示す図である。同図に示すように、このシステムは、共通データを格納する管理装置300に個別装置60〜80が接続されている。ここでは説明の便宜上、個別装置60〜80のみを示すが、このシステムは他の個別装置も備えているものとする。なお、個別装置60〜80に関する説明は、図1に示した個別装置と同様である。
管理装置300は、個別装置からアクセス要求を受信した場合に、各個別装置に対応した共通データをマルチキャスト転送する装置である。また、管理装置300は、個別装置に該当する共通データを一括して送信している最中に、他の個別装置からアクセス要求を受け付けた場合に、他の個別装置に対して途中から共通データを送信した後に、未送信の共通データを他の端末装置に再送する。
図17は、本実施例2にかかる管理装置300の構成を示す図である。図17に示すように、この管理装置300は、共通データ記憶部310と、マルチキャストグループID用バッファ320と、個別装置群IF部330と、アクセス内容判定部340と、処理待ち用FIFO350と、共通データ管理部360とを有する。
共通データ記憶部310は、共通データを種別毎に分割して記憶する記憶手段である。なお、共通データ記憶部310が記憶する共通データのデータ構造は、図3に示した共通データと同様である。
マルチキャストグループID用バッファ320は、各マルチキャストグループIDに対応させて、アクセス要求識別情報を記憶する記憶手段である。図18は、本実施例2にかかるマルチキャストグループID用バッファ320のデータ構造の一例を示す図である。
図18に示すように、このマルチキャストグループID用バッファ320は、マルチキャストグループID「A」に対応するバッファ320a、マルチキャストグループID「B」に対応するバッファ320b、マルチキャストグループID「C」に対応するバッファ320cを有している。
また、各バッファ320a〜320cは、アクセス要求識別情報と、再送サイズとを対応付けて記憶している。ここで、再送サイズは、対応付けられたアクセス要求識別情報に再送する共通データのサイズを示す。再送サイズは、後述するアクセス内容判定部340によって登録される。
図17の説明に戻ると、個別装置群IF部330は、主に個別装置60〜80との間における通信を制御する手段である。
アクセス内容判定部340は、個別装置60〜80からアクセス要求を取得した場合に、マルチキャストグループID用バッファ320にアクセス要求識別情報を登録する手段である。また、アクセス内容判定部340は、アクセス要求に対応するリクエストを処理待ち用FIFO350に登録する。
以下において、アクセス内容判定部340が、マルチキャストグループID用バッファ320にアクセス要求識別情報を登録する処理を説明した後に、処理待ち用FIFO350にリクエストを登録する処理について説明する。
まず、マルチキャストグループID用バッファ320にアクセス要求識別情報を登録する処理について説明する。アクセス内容判定部340は、管理テーブルを保持しており、個別装置60〜80からアクセス要求を取得した場合に、アクセス要求に含まれる個別装置識別情報およびアクセス要求識別情報と、管理テーブルとを比較することにより、マルチキャストグループID用バッファ320の各バッファ320a〜320cに登録するアクセス要求識別情報を識別して登録する。アクセス内容判定部340が保持する管理テーブルのデータ構造は、図5に示した管理テーブルのデータ構造と同様である。
なお、アクセス内容判定部340は、アクセス要求識別情報を各バッファ320a〜320cに登録する場合に、転送管理テーブルに基づいて、再送サイズをあわせて登録する。
ここで、転送管理テーブルは、転送された共通データの転送サイズを管理するテーブルである。図19は、転送管理テーブルのデータ構造の一例を示す図である。図19に示すように、転送管理テーブルは、マルチキャストグループIDと転送済データサイズとを対応付けて記憶している。転送管理テーブルは、アクセス内容判定部340が保持しているものとする。
例えば、アクセス内容判定部340は、アクセス要求識別情報「x」をバッファ320aに登録する場合には、転送管理テーブル内のマルチキャストグループIDの転送済データサイズを参照する。ここで、転送済データが「0」であれば、まだマルチキャスト転送は行われていないので、アクセス要求識別情報「x」と再送サイズ「0」とを対応付けてバッファ320aに登録する。
また、アクセス内容判定部340は、アクセス要求識別情報「s」をバッファ320aに登録する場合には、転送管理テーブル内のマルチキャストグループIDの転送済データサイズを参照する。ここで、転送済データが「50」であれば、アクセス要求識別情報「s」と再送サイズ「50」とを対応付けてバッファ320aに登録する。
転送管理テーブルにおいて、転送済データサイズの初期値は「0」となっている。アクセス内容判定部340は、共通データのマルチキャスト転送が開始された時点から、転送された共通データのデータサイズをカウントアップし、転送管理テーブルの転送済データサイズを順次更新する。
なお、マルチキャストグループID「A」に対応する転送済データサイズは、共通データ「a」の転送済データサイズである。マルチキャストグループID「B」に対応する転送済データサイズは、共通データ「b」の転送済データサイズである。マルチキャストグループID「C」に対応する転送済データサイズは、共通データ「c」の転送済データサイズである。
次に、アクセス内容判定部340が処理待ち用FIFO350にリクエストを登録する処理について説明する。また、かかる処理を「アクセス要求に優先度情報が含まれていない場合」と「アクセス要求に優先度情報が含まれている場合」に分けて説明する。なお、アクセス内容判定部340は、アクセス要求のヘッダー情報により、優先度が設定されているか否かを判定する。
(アクセス要求に優先度情報が含まれていない場合)
アクセス内容判定部340が、個別装置からアクセス要求を取得し、取得したアクセス要求に優先度情報が含まれていない場合には、処理待ち用FIFO350の優先度フラグを「オフ」に設定する。
そして、アクセス内容判定部340は、アクセス要求に含まれる個別装置識別情報と、管理データ(図5参照)とを基にして、アクセス要求に対応するリクエストを作成する。図3に示したように、マルチキャストグループID(共通データ)の種別が3種類の場合には、リクエストの種類も3種類となる。
例えば、アクセス内容判定部340は、個別装置識別情報「k1001」、アクセス要求識別情報「x」を有するアクセス要求を取得した場合には、マルチキャストグループID「A」に対応するので、リクエストAを作成する。
アクセス内容判定部340は、リクエストを作成した順に、処理待ち用FIFO350にリクエストを登録する。なお、アクセス内容判定部340は、リクエストを登録する場合に、すでに同一のリクエストが処理待ち用FIFO350に登録されている場合には、リクエストを登録しない。
例えば、アクセス内容判定部340は、リクエストAを処理待ち用FIFO350に登録する場合に、すでに、処理待ち用FIFO350にリクエストAが登録されている場合には、新規にリクエストAを登録しない。
(アクセス要求に優先度情報が含まれている場合)
アクセス内容判定部340が、個別装置からアクセス要求を取得し、取得したアクセス要求に優先度情報が含まれている場合には、処理待ち用FIFO350の優先度フラグを「オン」に設定する。
そして、アクセス内容判定部340は、上述した、アクセス要求に優先度情報が含まれていない場合と同様にして、アクセス要求に対応するリクエストを生成し、生成したリクエストと優先度情報とを対応付けて、処理待ち用FIFO350にリクエストを登録する。
なお、アクセス内容判定部340は、リクエストに対応付けられた優先度情報に基づいて、優先度の高いリクエストから順に、処理待ち用FIFO350にリクエストを登録しても良い。また、アクセス内容判定部340は、リクエストAを処理待ち用FIFO350に登録する場合に、すでに、処理待ち用FIFO350にリクエストAが登録されている場合には、新規にリクエストAを登録しない。
処理待ち用FIFO350は、アクセス内容判定部340によって登録されるリクエストを記憶する記憶手段(FIFO)である。処理待ち用FIFO350のデータ構造は、図6に示した処理待ち用FIFO150のデータ構造と同様である。
なお、処理待ち用FIFO350は、優先度フラグ(図示略)が設定されており、優先度フラグが「オン」となっている場合には、優先度の高いリクエストから順に、共通データ管理部360に読み出される。一方、優先度フラグが「オフ」となっている場合には、先に登録されたリクエストから順に共通データ管理部360に読み出される。
共通データ管理部360は、処理待ち用FIFO350からリクエストを取得し、リクエストに対応する共通データを該当する個別装置にマルチキャスト転送する手段である。共通データ管理部360は、リクエストに対応する共通データを共通データ記憶部310から読み出した時点で、マルチキャストグループID用バッファ320に記憶された情報に基づいて、共通データをマルチキャスト転送する。
なお、共通データ管理部360は、マルチキャスト転送を行っている最中に、転送先が追加された場合には、追加された転送先を加えてマルチキャスト転送を継続する。そして、共通データ管理部360は、マルチキャスト転送が終了した後に、途中から転送を開始した転送先に、不足する分の共通データを再送する。
以下において、共通データ管理部360の処理について説明する。共通データ管理部360の処理は、共通データを共通データ記憶部310から読み出す処理と、共通データをマルチキャスト転送する処理に大別されるので、まず、共通データを共通データ記憶部310から読み出す処理を説明した後に、共通データをマルチキャスト転送する処理について説明する。
共通データ管理部360が、共通データを共通データ記憶部310から読み出す処理について説明する。共通データ管理部360は、処理待ち用FIFO350の優先度フラグを参照し、優先度フラグが「オフ」になっている場合には、処理待ち用FIFO350に先に登録されたリクエストから順に取得する。
一方、優先度フラグが「オン」になっている場合には、処理待ち用FIFO350に登録されたリクエストのうち、優先順位の高いリクエストから順に取得する。例えば、優先度情報が図6のように設定されている場合には、リクエストA,B,Cの順に、処理待ち用FIFO350からリクエストを取得する。
そして、共通データ管理部360は、取得したリクエストと共通データ記憶部310に記憶された共通データ(図3参照)とを比較して、リクエストに対応する共通データを共通データ記憶部310から取得する。
なお、リクエストA〜Cは、マルチキャストグループIDA〜Cにそれぞれ対応しているものとする。従って、共通データ管理部360は、リクエストAを取得した場合には、共通データ「a」を読み出し、リクエストBを取得した場合には、共通データ「b」を読み出し、リクエストCを取得した場合には、共通データ「c」を読み出す。
次に、共通データ管理部360が、共通データをマルチキャスト転送する処理について説明する。共通データ管理部360は、共通データを取得した場合に、取得した共通データのマルチキャストグループIDに対応するバッファ(バッファ320a〜320cのいずれか一つ)を参照し、参照したバッファに含まれるアクセス要求識別情報に基づいて、共通データを該当個別装置にマルチキャスト転送する。
ここで、アクセス内容判定部340および共通データ管理部360の処理に伴って変化するマルチキャストグループID用バッファ320について説明する。図20は、本実施例2にかかるマルチキャストグループID用バッファ320のデータ変化を説明する図である。なお、図20では一例として、個別装置60,70の共通データ「a」に対するリクエスト要求に遅れて、個別装置80が共通データ「a」に対するリクエストを送信した場合について説明する。
アクセス内容判定部340は、個別装置60,70から共通データ「a」に対応するアクセス要求を取得した場合に、バッファ320aにアクセス要求識別情報「x,y」を登録する。また、この時点で、共通データ「a」のマルチキャスト転送は開始されていないので、アクセス要求識別情報「x,y」に対応する再送サイズは「0」となる(ステップS10)。
アクセス内容判定部340は、個別装置60,70から共通データ「b」に対応するアクセス要求を取得した場合に、バッファ320bにアクセス要求識別情報「y,w」を登録する。また、この時点で、共通データ「b」のマルチキャスト転送は開始されていないので、アクセス要求識別情報「y,w」に対応する再送サイズは「0」となる(ステップS11)。
アクセス内容判定部340は、個別装置60,80から共通データ「c」に対応するアクセス要求を取得した場合に、バッファ320cにアクセス要求識別情報「z,t」を登録する。また、この時点で、共通データ「c」のマルチキャスト転送は開始されていないので、アクセス要求識別情報「z,t」に対応する再送サイズは「0」となる。共通データ管理部360は、共通データ「a」の転送準備が整った時点で、バッファ320aを参照し、該当する個別装置60,70にマルチキャスト転送を開始する(ステップS12)。
共通データ管理部360が、共通データ「a」のマルチキャスト転送を実行している最中に、アクセス内容判定部340が、共通データ「a」のアクセス要求を個別装置80から取得した場合には、バッファ320aにアクセス要求識別情報「s」を登録する。この時点で、転送管理テーブル(図19参照)のマルチキャストグループID「A」に対応する転送済データサイズが「50」の場合には、アクセス要求識別情報「s」に対応する再送サイズは「50」となる。
共通データ管理部360は、バッファ320aにアクセス要求識別情報「s」が遅れて登録された時点から、共通データ「a」を個別装置60,70,80にマルチキャスト転送する(ステップS13)。すなわち、共通データ管理部360は、共通データ「a」を途中から個別装置80に転送する。
共通データ管理部360は、共通データ「a」の転送が終了した場合に、バッファ320aに登録されているアクセス要求識別情報のうち、再送サイズが「0」のアクセス要求識別情報「x,v」を削除する。そして、共通データ管理部360は、共通データ「b」の転送準備が整った時点で、バッファ320bを参照し、該当する個別装置60,70にマルチキャスト転送を開始する(ステップS14)。
共通データ管理部360は、共通データ「b」の転送が終了した場合に、バッファ320bに登録されているアクセス要求識別情報のうち、再送サイズが「0」のアクセス要求識別情報「y,w」を削除する。そして、共通データ管理部360は、共通データ「c」の転送準備が整った時点で、バッファ320cを参照し、該当する個別装置60,80にマルチキャスト転送を開始する(ステップS15)。
共通データ管理部360は、共通データ「c」の転送が終了した場合に、バッファ320cに登録されているアクセス要求識別情報のうち、再送サイズが「0」のアクセス要求識別情報「z,t」を削除する。そして、共通データ管理部360は、再送対象となるアクセス要求識別情報をバッファ320aから検出し、該当する個別装置80に、未送信の再送データを転送する(ステップS16)。
共通データ管理部360は、個別装置80に対する再送が完了した場合に、再送対象となったアクセス要求識別情報「s」をバッファ320aから削除する(ステップS17)。
次に、本実施例2にかかる管理装置200の処理手順について説明する。図21および図22は、本実施例2にかかる管理装置200の処理手順を示すフローチャートである。図21に示すように、管理装置200は、アクセス内容判定部340が各個別装置からアクセス要求を受付(ステップS201)、アクセス先を判定し、該当するマルチキャストグループIDを識別する(ステップS202)。
アクセス内容判定部340は、マルチキャストグループID用バッファ320にアクセス要求識別情報を格納し(ステップS203)、アクセス要求に優先度情報が設定されているか否かを判定する(ステップS204)。
アクセス要求に優先度情報が設定されていない場合には(ステップS205,No)、アクセス内容判定部340は、先着のリクエストが処理待ち用FIFO350に存在するか否かを判定し(ステップS206)、先着のリクエストが存在する場合には(ステップS207,Yes)、ステップS213に移行する。
一方、先着のリクエストが存在しない場合には(ステップS207,No)、アクセス内容判定部340は、処理待ち用FIFO350にリクエストを格納し、処理待ち用FIFO350の優先度フラグをオフに設定し(ステップS208)、ステップS213に移行する。
ところで、ステップS205において、アクセス要求に優先度情報が設定されている場合には(ステップS205,Yes)、アクセス内容判定部340は、処理待ち用FIFO350に先着のリクエストが存在するか否かを判定する(ステップS209)。先着のリクエストが存在しない場合には(ステップS210,No)、処理待ち用FIFO350にリクエストを格納し、処理待ち用FIFO350の優先度フラグをオンに設定し(ステップS211)、ステップS213に移行する。
一方、先着のリクエストが存在する場合には(ステップS210,Yes)、処理待ち用FIFO350の優先度フラグをオンに設定し(ステップS212)、共通データの転送準備が完了したか否かを判定する(ステップS213)。共通データの転送準備が完了していない場合には(ステップS214,No)、ステップS202に移行する。
共通データの転送準備が完了している場合には(ステップS214,Yes)、共通データ管理部360が、優先度フラグがオンとなっているか否かを判定する(ステップS215)。優先度フラグがオフとなっている場合には(ステップS216,No)、処理待ち用FIFO350に登録されたリクエストから順に読み出し、該当個別装置にマルチキャストを開始し(ステップS217)、ステップS219に移行する。
一方、優先度フラグがオンとなっている場合には(ステップS216,Yes)、共通データ管理部360は、優先度情報に基づいて、処理待ち用FIFO350からリクエストを読み出し、該当個別情報にマルチキャストを開始する(ステップS218)。
アクセス内容判定部340は、共通データの転送データサイズをカウントし(ステップS219)、マルチキャスト転送中にアクセス要求を受信したか否かを判定する(ステップS220)。マルチキャスト転送中にアクセス要求を受信していない場合には(ステップS221,No)、共通データ管理部360は、共通データの送信が完了した後に、マルチキャストを終了する(ステップS222)。
一方、マルチキャスト転送中にアクセス要求を受信した場合には(ステップS221,Yes)、共通データ管理部360は、新たな転送先を加えてマルチキャストを継続する(ステップS223)。そして、共通データ管理部360は、マルチキャスト転送終了後に、未送信の共通データを個別装置に再送する(ステップS224)。
次に、実施例1の管理装置100と、実施例2の管理装置200との転送時間の違いについて説明する。図23は、実施例1,2の転送時間の違いを説明するための図である。前提条件として、個別装置60,70,80があり、個別装置60はカード10a,10b,10cを搭載し、個別装置70はカード20a,20bを搭載し、個別装置80はカード30a,30cを搭載する。
また、システムの共通データのサイズを120MByteとする。カード種別を3つとしカード1種当たり、40MByte(120MByte÷3)のデータを使用する。システムの共通データへのアクセス速度を16MByteとする。システムの共通を格納するメモリとしてコンパクトフラッシュ(登録商標)を想定する。
また、管理装置100と個別装置60〜80間のパスアクセス速度を160Mbyteとする。クロック100MHz、データ幅16Bitのシリアルバス(SERDES)を想定。なお、アクセス要求パケットサイズは小さいため、転送時間に入れない。また、管理装置が個別装置60,70にデータ転送を開始してから1sec後に、個別装置80からのアクセス要求が発生するものとする。
実施例1に示した管理装置100は、共通データ「a」を転送している最中に、個別装置80からアクセス要求を受けた場合には、共通データ「a」〜「c」の転送が完了した後に、共通データ「a」をはじめから個別装置80に転送する。従って、実施例1にかかる転送時間は、共通データ「a」のデータリード時間×2と、共通データ「b」のデータリード時間と、共通データ「c」のデータリード時間と、データ転送時間を加算した値となるので、
2.5sec×4+2.0sec=12sec
となる(図23の上段参照)。
一方、本実施例2に示した管理装置200は、共通データ「a」を転送している最中に、個別装置80からアクセス要求を受けた場合には、途中から共通データ「a」を個別装置80に転送する。そして、共通データ「a」〜「c」の転送が完了した後に、残りの共通データ「a」を個別装置80に転送する。
従って、本実施例2にかかる転送時間は、共通データ「a」のデータリード時間×2と、共通データ「b」のデータリード時間と、共通データ「c」のデータリード時間と、共通データ「c」のデータリード時間と、データ転送時間を加算した値から1sec減算した値となるので、
2.5sec×4+2.0sec−1.0sec=11sec
となる(図23の下段参照)。
図23に示したように、実施例1の管理装置による転送時間と実施例2の管理装置による転送時間とを比較すると、個別装置80が遅れてアクセス要求を出力した場合には、実施例2の管理装置の方が1sec短くなるため、データ転送時間を短縮することが出来る。
上述してきたように、本実施例2にかかる管理装置200は、複数の個別装置に該当する種別のデータを一括して送信している最中に、他の個別装置からアクセス要求を受け付けた場合に、他の個別装置に対して途中から共通データを送信した後に、未送信の共通データを他の端末装置に再送するので、データ転送時間を短縮することが出来る。
ところで、本実施例2では動作簡略化のため、個別装置60〜80のアクセス要求の内、1つの個別装置(例えば、個別装置80)のアクセス要求が遅れた場合について説明した。しかし、複数の個別装置からのアクセス要求が遅れた場合には、遅れたもの同士の再送サイズを比較し、大きいほうの再送サイズで共通データを再送するものとする。
図24は、複数の個別装置からアクセス要求が遅れた場合のマルチキャストグループID用バッファのデータ構造の一例を示す図である。図24に示す例では、個別装置60に対する共通データ「a」のマルチキャスト転送を実行している最中に、個別装置70,80からアクセス要求を受けた場合のマルチキャストグループID用バッファのデータ構造を示している。ただし、個別装置70は、個別装置80よりも先にアクセス要求を行ったものとする。
共通データ管理部360は、共通データ「a」を再送する場合に、アクセス要求識別情報「v」の再送サイズと、アクセス要求識別情報「s」の再送サイズとを比較する。比較した結果、アクセス要求識別情報「s」の再送サイズの方が大きいので、共通データ管理部360は、再送サイズ「50」の共通データ「a」を個別装置70,80に再送する。
このように、大きいほうの再送サイズにあわせて、共通データの再送サイズを設定することで、一度の再送で、各個別装置で不足するデータを補うことができる。
また、個別装置は、アクセス要求を管理装置に送信する前に、管理装置から共通データの受信を開始し、全ての共通データを受信できた場合には、受信終了報告を管理装置に出力しても良い。受信完了報告を受けた管理装置は、受信完了報告の送信基となる個別装置に対する再送処理をスキップする。このように、再送処理をスキップすることで、データ転送時間を更に削減することができる。
また、本実施例1にかかる管理装置100は、処理待ち用FIFO150にリクエストを格納し、共通データ管理部160が、先に登録されたリクエスト順、あるいは優先度情報に応じてリクエストを読み出し、共通データを送信するので、個別装置からのバラバラなアクセス要求に対して、システム側の要求に従ったアクセス応答を返すことが出来る。
ところで、本実施例2において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部あるいは一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図17に示した管理装置300の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、実施例1に示した管理装置100と同様にして、その全部または任意の一部がCPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
上記の実施例を含む実施形態に関し、以下の付記を開示する。
(付記1)複数の端末装置において共通して利用される共通データを管理する管理装置であって、
前記共通データを種別毎に分割して記憶する共通データ記憶手段と、
前記複数の端末装置から前記共通データに対するアクセス要求を受け付けた場合に、前記アクセス要求と前記共通データの種別とを対応付けて管理する管理手段と、
前記共通データの種別に対応付けられたアクセス要求の送信元となる複数の端末装置に、該当する種別の共通データを一括して送信する送信手段と、
を備えたことを特徴とする管理装置。
(付記2)前記送信手段は、前記端末装置から前記アクセス要求を受け付けた順番に基づいて、前記共通データを送信することを特徴とする付記1に記載の管理装置。
(付記3)前記送信手段は、前記端末装置から送信されるアクセス要求に優先順位が設定されている場合に、当該優先順位に基づいて、前記共通データを送信する順序を判定することを特徴とする付記1または2に記載の管理装置。
(付記4)前記送信手段が複数の端末装置に該当する種別の共通データを一括して送信している間に、他の端末装置から前記アクセス要求を受け付けた場合には、前記他の端末装置を送信先に加えて前記共通データを送信した後に、不足分の共通データを前記他の端末装置に再送する再送手段を更に備えたことを特徴とする付記1、2または3に記載の管理装置。
(付記5)前記再送手段は、複数の端末装置に対して未送信の共通データを再送する場合には、再送する共通データのうち、データ量が最大となる共通データを複数の端末装置に再送することを特徴とする付記4に記載の管理装置。
(付記6)複数の端末装置において共通して利用される共通データを管理する管理装置の管理方法であって、
前記管理装置は、
前記共通データを種別毎に分割して記憶装置に記憶する共通データ記憶ステップと、
前記複数の端末装置から前記共通データに対するアクセス要求を受け付けた場合に、前記アクセス要求と前記共通データの種別とを対応付けて管理する管理ステップと、
前記共通データの種別に対応付けられたアクセス要求の送信元となる複数の端末装置に、該当する種別の共通データを一括して送信する送信ステップと、
を含んだことを特徴とする管理方法。
(付記7)前記送信ステップは、前記端末装置から前記アクセス要求を受け付けた順番に基づいて、前記共通データを送信することを特徴とする付記6に記載の管理方法。
(付記8)前記送信ステップは、前記端末装置から送信されるアクセス要求に優先順位が設定されている場合に、当該優先順位に基づいて、前記共通データを送信する順序を判定することを特徴とする付記6または7に記載の管理方法。