(57)【要約】【課題】ユニークＩＤを用いることで、追記保証できるようにする一方で、クライアントに負荷をあまりかけず、しかも、既存の多くのアプリケーションを利用することができるストレージ制御装置を提供する。【解決手段】  ディスク装置１０２内の領域に対して特有のオブジェクトＩＤが、クライアント端末１０ａ，１０ｂからの読出要求に含まれている場合に、ディスク装置１０２内でオブジェクトＩＤが示す領域からコンテンツを読み出す第１ディスク管理部１３０と、コンテンツに対して特有で、コンテンツが更新されると変化するユニークＩＤが、クライアント端末１０ａからのアクセス要求に含まれている場合に、ユニークＩＤに基づいて、ディスク装置１０２にアクセスして、アクセス要求を実行する第２ディスク管理部１１０とを備えている。【選択図】  図１
2005321953.tif 000002
【特許請求の範囲】
【請求項１】
外部からの要求に応じて、データの集合体であるオブジェクトが格納されている1以上の記憶装置にアクセスするストレージ制御装置において、
前記記憶装置内の領域に対して特有のオブジェクトＩＤが、外部からの読出要求に含まれている場合に、該記憶装置内で該オブジェクトＩＤが示す領域からオブジェクトを読み出して、該外部へ該オブジェクトを送る第一の記憶装置管理部と、
オブジェクトに対して特有で、該オブジェクトが更新されると変化するユニークＩＤが、外部からのアクセス要求に含まれている場合に、該ユニークＩＤに基づいて、該記憶装置にアクセスして、該アクセス要求を実行する第二の記憶装置管理部と、
を備えていることを特徴とするストレージ制御装置。
【請求項２】
請求項１に記載のストレージ制御装置において、
前記第一の記憶装置管理部と前記第二の記憶装置管理部とは、それぞれ、外部との通信用に互いに異なる通信ポートを有している、
ことを特徴とするストレージ制御装置。
【請求項３】
請求項１に記載のストレージ制御装置において、
外部からの要求の内容に応じて、該要求を、前記第一の記憶装置管理部と前記第二の記憶装置管理部とのうちのいずれか一方に振り分ける通信制御部を有している、
ことを特徴とするストレージ制御装置。
【請求項４】
請求項１から３のいずれか一項に記載のストレージ制御装置において、
前記第二の記憶装置管理部は、前記ユニークＩＤと前記オブジェトＩＤとの対応関係が記憶されているコンテンツ管理テーブルを有し、
前記第二の記憶装置管理部は、外部からの読出要求に該ユニークＩＤが含まれている場合に、前記コンテンツ管理テーブルを参照して、該ユニークＩＤに対応するオブジェクトＩＤを取得するコンテンツ管理工程と、前記記憶装置内で該オブジェクトＩＤが示す領域に書き込まれているオブジェクトを読み出して、該外部へ該オブジェクトを送る読出工程と、を実行する、
ことを特徴とするストレージ制御装置。
【請求項５】
請求項１から４のいずれか一項に記載のストレージ制御装置において、
前記第一の記憶装置管理部は、新規なオブジェクトの更新前オブジェクトＩＤと、該新規なオブジェクトに対応する更新オブジェクトの更新後オブジェクトＩＤとを関連づけて格納されているオブジェクトＩＤ管理テーブルを有し、
前記第一の記憶装置管理部は、外部からの読出要求に更新前オブジェクトＩＤが含まれている場合に、前記オブジェクトＩＤ管理テーブルを参照して、該更新前オブジェクトＩＤと関連付けられている最新の更新後オブジェクトＩＤを抽出するオブジェクトＩＤ管理工程と、前記記憶装置内で該最新の更新後オブジェクトＩＤが示す領域に書き込まれているオブジェクトを読み出し、該外部へ該オブジェクトを送る読出工程と、を実行する、
ことを特徴とするストレージ制御装置。
【請求項６】
請求項５に記載のストレージ制御装置において、
前記第一の記憶装置管理部の前記オブジェクトＩＤ管理工程では、外部からの読出要求に更新前オブジェクトＩＤと更新後オブジェクトＩＤとのうちの一方のオブジェクトＩＤが含まれ、さらに、該オブジェクトＩＤそのものが示す領域のオブジェクトを希望しているか、該オブジェクトＩＤと関連付けられている最新の更新後オブジェクトＩＤが示す領域のオブジェクトを希望しているかを示す情報が含まれている場合に、該情報が該オブジェクトＩＤそのものが示す領域のオブジェクトを希望している旨を示す際には、該オブジェクトＩＤを前記読出工程に渡し、該情報が最新の更新後オブジェクトＩＤが示す領域のオブジェクトを希望している旨を示す際には、前記オブジェクトＩＤ管理テーブルから該オブジェクトＩＤと関連付けられている前記最新の更新後オブジェクトＩＤを抽出して該最新の更新後オブジェクトＩＤを前記読出工程に渡す、
ことを特徴とするストレージ制御装置。
【請求項７】
請求項１から３のいずれか一項に記載のストレージ制御装置において、
前記第二の記憶装置管理部は、前記ユニークＩＤと前記オブジェトＩＤとの対応関係が記憶されるコンテンツ管理テーブルを有し、
前記第二の記憶装置管理部は、前記外部から新規書込み要求で新規なオブジェクトを受信すると、該新規なオブジェクトに対する更新前ユニークＩＤを生成して、該更新前ユニークＩＤを前記コンテンツ管理テーブルに格納するコンテンツ管理工程と、該更新前ユニークＩＤに対する更新前オブジェクトＩＤを生成して、該更新前オブジェクトＩＤを前記コンテンツ管理テーブルに格納するオブジェクトＩＤ管理工程と、前記記憶装置内で該更新前オブジェクトＩＤが示す位置に前記新規なオブジェクトを格納し、前記更新前ユニークＩＤ及び更新前オブジェクトＩＤを前記外部へ送る書込み工程と、を実行する。
【請求項８】
請求項７に記載のストレージ制御装置において、
前記第二の記憶装置管理部は、前記外部からオブジェクト更新要求で更新オブジェクトと共に前記更新前ユニークＩＤを受信すると、前記コンテンツ管理工程で、該更新オブジェクトに対する更新後ユニークＩＤを生成して、該更新後ユニークＩＤを前記コンテンツ管理テーブルに格納し、前記オブジェクトＩＤ管理工程で、該更新後ユニークＩＤに対する更新後オブジェクトＩＤを生成して、該更新後オブジェクトＩＤを前記コンテンツ管理テーブルに格納し、前記書込み工程で、前記記憶装置内で該更新後オブジェクトＩＤが示す位置に前記更新オブジェクトを格納し、前記更新後ユニークＩＤを前記外部へ送る、
【請求項９】
請求項８に記載のストレージ制御装置において、
前記第二の記憶装置管理部の前記オブジェクトＩＤ管理工程では、前記更新前オブジェクトＩＤを生成した段階で該更新前オブジェクトＩＤを前記第二の記憶装置管理部に送信すると共に、前記更新後オブジェクトＩＤを生成した段階で該更新後オブジェクトＩＤを該第二の記憶装置管理部に送信し、
前記第一の記憶装置管理部は、新規なオブジェクトに対する更新前オブジェクトＩＤと、該新規なオブジェクトに対応する更新オブジェクトに対する更新後オブジェクトＩＤとを関連づけて格納するオブジェクトＩＤ管理テーブルを有し、
前記第一の記憶装置管理部は、前記第二の記憶装置管理部からの前記更新前オブジェクトＩＤ及び前記更新後オブジェクトＩＤを関連付けて前記オブジェクトＩＤ管理テーブルに格納し、外部からの読出要求に更新前オブジェクトＩＤが含まれている場合に、前記オブジェクトＩＤ管理テーブルを参照して、該更新前オブジェクトＩＤと関連付けられている最新の更新後オブジェクトＩＤを抽出するオブジェクト管理工程と、前記記憶装置内で該最新の更新後オブジェクトＩＤが示す領域に書き込まれているオブジェクトを読み出し、該外部へ該オブジェクトを送る読出工程と、を実行する、
ことを特徴とするストレージ制御装置。
【請求項１０】
請求項７から９のいずれか一項に記載のストレージ制御装置において、
前記第二の記憶装置管理部は、前記外部からの読出要求に該ユニークＩＤが含まれている場合に、前記コンテンツ管理工程で、前記コンテンツ管理テーブルを参照して、該ユニークＩＤに対応するオブジェクトＩＤを取得し、前記記憶装置内で該オブジェクトＩＤが示す領域に書き込まれているオブジェクトを読み出して、該外部へ該オブジェクトを送る読出工程を実行する、
ことを特徴とするストレージ制御装置。
【請求項１１】
請求項１から１０のいずれか一項に記載のストレージ制御装置と、
前記ストレージ制御装置によりアクセスされる１以上の前記記憶装置と、
を備えていることを特徴とするストレージ装置。
【請求項１２】
外部からの要求に応じて、データの集合体であるオブジェクトが格納されている1以上の記憶装置にアクセスするストレージ制御装置の動作プログラムにおいて、
前記記憶装置内の領域に対して特有のオブジェクトＩＤが、外部からの読出要求に含まれている場合に、該記憶装置内で該オブジェクトＩＤが示す領域からオブジェクトを読み出して、該外部へ該オブジェクトを送る第一の記憶装置管理工程と、
オブジェクトに対して特有で、該オブジェクトが更新されると変化するユニークＩＤが、外部からのアクセス要求に含まれている場合に、該ユニークＩＤに基づいて、該記憶装置にアクセスして、該アクセス要求を実行する第二の記憶装置管理工程と、
をコンピュータに実行させることを特徴とするストレージ制御装置の動作プログラム。
【請求項１３】
請求項１２に記載のストレージ制御装置の動作プログラムにおいて、
前記第二の記憶装置管理工程では、
前記外部からの読出要求に前記ユニークＩＤが含まれている場合に、前記ユニークＩＤと前記オブジェトＩＤとの対応関係が記憶されているコンテンツ管理テーブルを参照して、該ユニークＩＤに対応するオブジェクトＩＤを取得するコンテンツ管理工程と、
前記記憶装置内で前記オブジェクトＩＤが示す領域に書き込まれているオブジェクトを読み出して、前記外部へ該オブジェクトを送る読出工程と
を実行する、
ことを特徴とするストレージ制御装置の動作プログラム。
【請求項１４】
請求項１２及び１３のいずれか一項に記載のストレージ制御装置の動作プログラムにおいて、
前記第一の記憶装置管理工程では、
前記外部からの読出要求に更新前オブジェクトＩＤが含まれている場合に、新規なオブジェクトの更新前オブジェクトＩＤと、該新規なオブジェクトに対応する更新オブジェクトの更新後オブジェクトＩＤとを関連づけて格納されているオブジェクトＩＤ管理テーブルを参照して、該更新前オブジェクトＩＤと関連付けられている最新の更新後オブジェクトＩＤを抽出するオブジェクトＩＤ管理工程と、
前記記憶装置内で前記最新の更新後オブジェクトＩＤが示す領域に書き込まれているオブジェクトを読み出し、該外部へ該オブジェクトを送る読出工程と、
を実行する、
ことを特徴とするストレージ制御装置の動作プログラム。
【請求項１５】
請求項１４に記載のストレージ制御装置の動作プログラムにおいて、
前記第一の記憶装置管理工程の前記オブジェクトＩＤ管理工程では、前記外部からの読出要求に更新前オブジェクトＩＤと更新後オブジェクトＩＤとのうちの一方のオブジェクトＩＤが含まれ、さらに、該オブジェクトＩＤそのものが示す領域のオブジェクトを希望しているか、該オブジェクトＩＤと関連付けられている最新の更新後オブジェクトＩＤが示す領域のオブジェクトを希望しているかを示す情報が含まれている場合に、該情報が該オブジェクトＩＤそのものが示す領域のオブジェクトを希望している旨を示す際には、該オブジェクトＩＤを前記読出工程に渡し、該情報が最新の更新後オブジェクトＩＤが示す領域のオブジェクトを希望している旨を示す際には、前記オブジェクトＩＤ管理テーブルから該オブジェクトＩＤと関連付けられている前記最新の更新後オブジェクトＩＤを抽出して該最新の更新後オブジェクトＩＤを前記読出工程に渡す、
ことを特徴とするストレージ制御装置の動作プログラム。
【請求項１６】
請求項１２に記載のストレージ制御装置の動作プログラムにおいて、
前記第二の記憶装置管理工程では、
外部から新規書込み要求で新規なオブジェクトを受信すると、該新規なオブジェクトに対する更新前ユニークＩＤを生成して、該更新前ユニークＩＤをコンテンツ管理テーブルに格納するコンテンツ管理工程と、
前記更新前ユニークＩＤに対する更新前オブジェクトＩＤを生成して、該更新前オブジェクトＩＤを前記コンテンツ管理テーブルに格納するオブジェクトＩＤ管理工程と、
前記記憶装置内で前記更新前オブジェクトＩＤが示す位置に前記新規なオブジェクトを格納し、前記更新前ユニークＩＤ及び更新前オブジェクトＩＤを前記外部へ送る書込み工程と、
を実行する、
ことを特徴とするストレージ制御装置の動作プログラム。
【請求項１７】
請求項１６に記載のストレージ制御装置の動作プログラムにおいて、
前記第二の記憶装置管理工程の前記コンテンツ管理工程では、前記外部からオブジェクト更新要求で更新オブジェクトと共に前記更新前ユニークＩＤを受信すると、該更新オブジェクトに対する更新後ユニークＩＤを生成して、該更新後ユニークＩＤを前記コンテンツ管理テーブルに格納し、
前記第二の記憶装置管理工程の前記オブジェクトＩＤ管理工程では、前記更新後ユニークＩＤに対する更新後オブジェクトＩＤを生成して、該更新後オブジェクトＩＤを前記コンテンツ管理テーブルに格納し、
前記第二の記憶装置管理工程の前記書込み工程では、前記記憶装置内で前記更新後オブジェクトＩＤが示す位置に前記更新オブジェクトを格納し、前記更新後ユニークＩＤを前記外部へ送る、
ことを特徴とするストレージ制御装置の動作プログラム。
【請求項１８】
請求項１７に記載のストレージ制御装置の動作プログラムにおいて、
前記第二の記憶装置管理部の前記オブジェクトＩＤ管理工程では、前記更新前オブジェクトＩＤを生成した段階で該更新前オブジェクトＩＤを前記第二の記憶装置管理工程に渡すと共に、前記更新後オブジェクトＩＤを生成した段階で該更新後オブジェクトＩＤを該第一の記憶装置管理工程に渡し、
前記第一の記憶装置管理工程では、
前記第二の記憶装置管理工程から渡された前記更新前オブジェクトＩＤ及び前記更新後オブジェクトＩＤを関連付けて前記オブジェクトＩＤ管理テーブルに格納し、前記外部からの読出要求に更新前オブジェクトＩＤが含まれている場合に、前記オブジェクトＩＤ管理テーブルを参照して、該更新前オブジェクトＩＤと関連付けられている最新の更新後オブジェクトＩＤを抽出するオブジェクトＩＤ管理工程と、
前記記憶装置内で前記最新の更新後オブジェクトＩＤが示す領域に書き込まれているオブジェクトを読み出し、該外部へ該オブジェクトを送る読出工程と、
を実行する、
ことを特徴とするストレージ制御装置の動作プログラム。
【請求項１９】
請求項１６から１８のいずれか一項に記載のストレージ制御装置の動作プログラムにおいて、
前記第二の記憶装置管理工程の前記コンテンツ管理工程では、外部からの読出要求に該ユニークＩＤが含まれている場合に、前記コンテンツ管理テーブルを参照して、該ユニークＩＤに対応するオブジェクトＩＤを取得し、
前記第二の記憶装置管理工程では、前記記憶装置内で、前記コンテンツ管理工程で取得した前記オブジェクトＩＤが示す領域に書き込まれているオブジェクトを読み出して、前記へ該オブジェクトを送る読出工程を実行する、
ことを特徴とするストレージ制御装置の動作プログラム。
【請求項２０】
請求項１７及び１８のいずれか一項に記載のストレージ制御装置の動作プログラムにおいて、
前記第二の記憶装置管理工程の前記コンテンツ管理工程では、新規なオブジェクトの前記更新前ユニークＩＤと、該新規なオブジェクトに対応する更新オブジェクトの前記更新後ユニークＩＤとを関連付けて、前記コンテンツ管理テーブルに格納し、
前記第二の記憶装置管理工程の前記オブジェクトＩＤ管理工程では、前記更新前ユニークＩＤと関連付けて更新前オブジェクトＩＤを前記コンテンツ管理テーブルに格納すると共に、前記更新後ユニークＩＤと関連付けて更新後オブジェクトＩＤを前記コンテンツ管理テーブルに格納し、
前記第二の記憶装置管理工程の前記コンテンツ管理工程では、外部からユニークＩＤ又はオブジェクトＩＤに関するＩＤリスト要求を受信すると、前記コンテンツ管理テーブルから、前記ＩＤリスト要求に応じて、相互に関連付けられている１以上のユニークＩＤ、又は相互に関連付けられている１以上のオブジェクトＩＤを抽出し、該１以上のユニークＩＤ又は該１以上のオブジェクトＩＤを該外部へ送信する、
ことを特徴とするストレージ制御装置の動作プログラム。
【請求項２１】
請求項２０に記載のストレージ制御装置の動作プログラムにおいて、
前記第二の記憶装置管理工程の前記コンテンツ管理工程では、新規なオブジェクトの前記更新前ユニークＩＤに関連付けて該新規なオブジェクトの属性情報を前記コンテンツ管理テーブルに格納すると共に、前記更新オブジェクトの前記更新後ユニークＩＤに関連付けて該更新オブジェクトの属性情報を前記コンテンツ管理テーブルに格納し、
前記第二の記憶装置管理工程の前記コンテンツ管理工程では、外部からユニークＩＤ又はオブジェクトＩＤに関する前記ＩＤリスト要求で属性が定められている場合には、前記コンテンツ管理テーブルから、前記ＩＤリスト要求に応じて、該ＩＤリスト要求で定められた属性を満足する相互に関連付けられている１以上のユニークＩＤ、又は、該ＩＤリスト要求で定められた属性を満足する相互に関連付けられている１以上のオブジェクトＩＤを抽出し、該１以上のユニークＩＤ又は該１以上のオブジェクトＩＤを該外部へ送信する、
ことを特徴とするストレージ制御装置の動作プログラム。
【請求項２２】
請求項１３から２１のいずれか一項に記載のストレージ制御装置の動作プログラムにおいて、
前記第二の記憶装置管理工程の前記コンテンツ管理工程では、外部からユニークＩＤに対するオブジェクトＩＤを要求するオブジェクトＩＤ要求を受信すると、前記コンテンツ管理テーブルから、前記ユニークＩＤに対するオブジェクトＩＤを抽出し、該オブジェクトＩＤを該外部へ送信する、
ことを特徴とするストレージ制御装置の動作プログラム。
【請求項２３】
外部からの要求に応じて、データの集合体であるオブジェクトが格納されている1以上の記憶装置にアクセスするアクセス制御方法において、
前記記憶装置内の領域に対して特有のオブジェクトＩＤが、外部からの読出要求に含まれている場合に、該記憶装置内で該オブジェクトＩＤが示す領域からオブジェクトを読み出して、該外部へ該オブジェクトを送る第一の記憶装置管理工程と、
オブジェクトに対して特有で、該オブジェクトが更新されると変化するユニークＩＤが、外部からのアクセス要求に含まれている場合に、該ユニークＩＤに基づいて、該記憶装置にアクセスして、該アクセス要求を実行する第二の記憶装置管理工程と、
を含むことを特徴とするアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部からの要求に応じて、1以上の記憶装置にアクセスするストレージ制御装置、その動作プログラム、及び１以上の記憶装置に対するアクセス制御方法に関する。
【背景技術】
【０００２】
データの集合体であるオブジェクト、言い換えるとコンテンツ本体が格納されているディスク装置にアクセスする場合、コンテンツの記憶領域に対して特有のオブジェクトＩＤを用いて、コンテンツを管理することが多い。しかし、近年、このオブジェクトＩＤの換わりに、コンテンツ本体に対して特有で、コンテンツ本体が1ビットでも変更されると変化するユニークＩＤを用いるものが現れてきている。
【０００３】
以下の特許文献１及び特許文献２には、いずれもユニークＩＤを用いて、コンテンツを管理する方法等が記載されている。
【０００４】
このユニークＩＤを用いたコンテンツの管理は、(1)追記保証できる、(2)読出したコンテンツが指定したＩＤに対応するコンテンツであるか否かをクライアントが自己検証できる、(3)ディスク装置を備えているストレージ装置はクライアントに対してコンテンツの格納位置に透過なコンテンツへのアクセスを提供できる、といった利点がある。これらの利点のうち、特許文献１にも記載されている追記保証に関しては、改ざんされ易い電子文書を紙同様に信頼できるものにできるという点で、特に注目されている。例えば、米証券取引委員会が課した規則17条a-4（SEC Rule 17a-4）は、不正取引の証拠保存のために、自社の証券取引、仲介、売買業務に関する電子メールなどを３年間保存する、あるいは利用可能な場所に2年間保存することを義務付けている。ユニークＩＤは、このような法規制準拠のために、コンテンツ管理に用いられつつある。
【０００５】
【特許文献１】US5,978,791
【特許文献２】WO200139043
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述したオブジェクトＩＤを用いたコンテンツ管理方法では、コンテンツを更新しても、コンテンツの格納領域に変化がなければ、オブジェクトＩＤは変化しないが、ユニークＩＤを用いたコンテンツ管理方法は、コンテンツを更新する毎に、ユニークＩＤが変化してしまうため、コンテンツを読み出すためには、クライアントが変化するユニークＩＤを管理する必要があり、クライアントに負荷を課すことになる。さらに、コンテンツが格納されているストレージ装置に対してアクセスする際に用いられるアプリケーションは、その多くが、オブジェクトＩＤを用いる管理方法に依存しており、ユニークＩＤを用いる管理方法と整合しない。
【０００７】
すなわち、ユニークＩＤを用いたコンテンツ管理方法は、追記保証できる等の利点があるものの、ＩＤの管理等でクライアントに負荷がかかってしまう上に、既存の多くのアプリケーションを利用できないという問題点がある。
【０００８】
本発明は、このような従来技術の問題点に着目し、ユニークＩＤを用いることで、追記保証できるようにする一方で、クライアントに負荷をあまりかけず、しかも、既存の多くのアプリケーションを利用することができるストレージ制御装置、その動作プログラム、及びアクセス制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記目的を達成するためのストレージ制御装置に係る発明は、
外部からの要求に応じて、データの集合体であるオブジェクトが格納されている1以上の記憶装置にアクセスするストレージ制御装置において、
前記記憶装置内の領域に対して特有のオブジェクトＩＤが、外部からの読出要求に含まれている場合に、該記憶装置内で該オブジェクトＩＤが示す領域からオブジェクトを読み出して、該外部へ該オブジェクトを送る第一の記憶装置管理部と、
オブジェクトに対して特有で、該オブジェクトが更新されると変化するユニークＩＤが、外部からのアクセス要求に含まれている場合に、該ユニークＩＤに基づいて、該記憶装置にアクセスして、該アクセス要求を実行する第二の記憶装置管理部と、
を備えていることを特徴とするものである。
【００１０】
ここで、前記ストレージ制御装置は、前記第一の記憶装置管理部と前記第二の記憶装置管理部とが、それぞれ、外部との通信用に互いに異なる通信ポートを有していてもよいし、外部からの要求の内容に応じて、該要求を、前記第一の記憶装置管理部と前記第二の記憶装置管理部とのうちのいずれか一方に振り分ける通信制御部を有していてもよい。
【００１１】
また、前記目的を達成するためのストレージ制御装置の動作プログラムに係る第一の発明は、
外部からの要求に応じて、データの集合体であるオブジェクトが格納されている1以上の記憶装置にアクセスするストレージ制御装置の動作プログラムにおいて、
前記記憶装置内の領域に対して特有のオブジェクトＩＤが、外部からの読出要求に含まれている場合に、該記憶装置内で該オブジェクトＩＤが示す領域からオブジェクトを読み出して、該外部へ該オブジェクトを送る第一の記憶装置管理工程と、
オブジェクトに対して特有で、該オブジェクトが更新されると変化するユニークＩＤが、外部からのアクセス要求に含まれている場合に、該ユニークＩＤに基づいて、該記憶装置にアクセスして、該アクセス要求を実行する第二の記憶装置管理工程と、
をコンピュータに実行させることを特徴とするものである。
【００１２】
前記目的を達成するためのアクセス制御方法は、
外部からの要求に応じて、データの集合体であるオブジェクトが格納されている1以上の記憶装置にアクセスするアクセス制御方法において、
前記記憶装置内の領域に対して特有のオブジェクトＩＤが、外部からの読出要求に含まれている場合に、該記憶装置内で該オブジェクトＩＤが示す領域からオブジェクトを読み出して、該外部へ該オブジェクトを送る第一の記憶装置管理工程と、
オブジェクトに対して特有で、該オブジェクトが更新されると変化するユニークＩＤが、外部からのアクセス要求に含まれている場合に、該ユニークＩＤに基づいて、該記憶装置にアクセスして、該アクセス要求を実行する第二の記憶装置管理工程と、を含むことを特徴とするものである。
【発明の効果】
【００１３】
本発明によれば、オブジェクトに対して特有のユニークＩＤに基づいて、記憶装置にアクセスする第２記憶装置管理部を有するので、オブジェクトの追記保証を確保することができる。また、本発明では、記憶装置内の領域に対して特有のオブジェクトＩＤに基づいて、オブジェクトを読み出す第１記憶装置管理部を有するので、オブジェクトの読出に関しては、オブジェクトの変更に伴ってＩＤが変化するユニークＩＤを管理する手間が不要になり、クライアントの負荷を軽減することができる上に、オブジェクトＩＤの使用を前提とした従来からのアプリケーションも利用することができる。さらに、本発明では、オブジェクトの読出時には、オブジェクトＩＤを用いてオブジェクトを読み出すことで、ユニークＩＤを用いてオブジェクトを読み出す際にユニークＩＤをオブジェクトＩＤに変換するための負荷を軽減することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明に係るストレージ装置の一実施形態について、図面を用いて説明する。
【００１５】
図１に示すように、本実施形態のストレージ装置１００は、ネットワーク３０を介して、複数の計算機（以下、「クライアント端末」とする）１０ａ，１０ｂに接続されている。このストレージ装置１００は、複数のディスク装置１０２ａ，１０２ｂ，…と、これら複数のディスク装置１０２ａ，１０２ｂ，…にアクセスするストレージ制御装置１０１とを備えている。
【００１６】
ストレージ制御装置１０１は、機能的には、ディスク装置１０２の格納領域に対して特有のオブジェクトＩＤに基づいて、ディスク装置１０２に対する読出処理等を行う第１ディスク管理部１３０と、コンテンツに対して特有でコンテンツが更新されると変化するユニークＩＤに基づいて、ディスク装置１０２に対して読出及び書込み処理等を行う第２ディスク管理部１１０と、を有している。ストレージ制御装置１０１には、各ディスク管理部１３０，１１０がそれぞれ複数も設けられている。
【００１７】
第１ディスク管理部１３０は、オブジェクトＩＤを管理するｏＩＤ管理部１３２と、ディスク装置１０２内のオブジェクトＩＤが示す領域からコンテンツを読み出す読出部１３３と、オブジェクトＩＤ等が格納されるｏＩＤ管理テーブル１３５と、外部との間で通信を行うための通信制御部１３４と、を有している。
【００１８】
第２ディスク管理部１１０は、ディスク装置１０２に書き込まれるコンテンツに対してユニークＩＤを生成すると共に、このユニークＩＤとこのＩＤに対応するオブジェクトＩＤとの間のマッピングを行うコンテンツ管理部１１１と、ディスク装置１０２に書き込まれるコンテンツに対してオブジェクトＩＤを生成すると共に、このオブジェクトＩＤを管理するｏＩＤ管理部１１２と、ディスク装置１０２に対してコンテンツの読出及び書込みを行う読出/書込部１１３と、ユニークＩＤとオブジェクトＩＤとの対向関係が格納されるコンテンツ管理テーブル１２０と、オブジェクトＩＤ等が格納されるｏＩＤ管理テーブル１２５と、外部との間で通信を行うための通信制御部１１４と、を有している。
【００１９】
各ディスク管理部の通信制御部１３４，１１４には、それぞれ、ネットワーク３０に接続されている独自の通信ポート１３９，１１９が設けられている。
【００２０】
クライアント端末１０ａ，１０ｂは、アプリケーション１１ａ，１１ｂと、コンテンツＩＤ管理テーブル２０ａ，２０ｂを有している。クライアント端末１０ａは、ユニークＩＤを用いて、ストレージ装置１００へ各種要求を送信し、クライアント端末１０ｂは、オブジェクトＩＤを用いて、ストレージ装置１００へ各種要求を送信する。このため、クライアント端末１０ａのアプリケーション１１ａは、ユニークＩＤの使用を前提としたアプリケーションで、クライアント端末１０ａのコンテンツＩＤ管理テーブル２０ａには、ユニークＩＤが格納される。また、クライアント端末１０ｂのアプリケーション１１ｂは、オブジェクトＩＤの使用を前提としたアプリケーションで、コンテンツＩＤ管理テーブル２０ｂには、オブジェクトＩＤが格納される。
【００２１】
以上のストレージ装置１００のストレージ制御装置１０１は、ハードウェア的には、図２に示すように、複数のコントローラユニット２０１ａ，２０１ｂ，…を有して構成されている。各コントローラユニット２０１は、各種プログラムが格納されているプログラムメモリ２４０と、前述の各種テーブル１２０，１２５，１３５等が格納されているデータメモリ２５０と、プログラムメモリ２４０に格納されている各種プログラムを実行するＣＰＵ２６０と、ディスク装置１０２に格納される又は格納されていたコンテンツが一時的に格納されるキャッシュメモリ２７０と、ネットワーク３０に接続されている第１フロント・インタフェース２８１及び第２フロント・インタフェース２８２と、ディスク装置１０２及び他のコントローラユニット２０１との間でデータを送受信するためのバック・インタフェース２９０と、を備えている。
【００２２】
プログラムメモリ２４０には、ネットワーク３０を介して端末等との間で通信するための通信制御プログラム２２０と、前述の第１ディスク管理部１３０の動作を実現するための第１ディスク管理プログラム２３０と、第２ディスク管理部１１０の動作を実現するための第２ディスク管理プログラム２１０とが格納されている。第１ディスク管理プログラム２３０は、コンテンツ管理部１３２の動作を実現するためのコンテンツ管理プログラム２３２と、読出部１３３の動作を実現するためのコンテンツ読出プログラム２３３とを有している。また、第２ディスク管理プログラム２１０は、コンテンツ管理部１１１の動作を実現するためのコンテンツ管理プログラム２１１と、ｏＩＤ管理部１３２の動作を実現するためのｏＩＤ管理プログラム２１２と、読出/書込み部１１３の動作を実現するためのコンテンツ読出/書込みプログラム２１３とを有している。すなわち、図１に示す各ディスク管理部１３０，１１０は、プログラムメモリ２４０に格納されている各ディスク管理プログラム２３０，２１０をＣＰＵ２６０が実行することで機能する。
【００２３】
また、図１における第１ディスク管理部１３０の通信制御部１３４は、通信制御プログラム２２０が格納されているプログラムメモリ２４０と、このプログラム２２０を実行するＣＰＵ２６０と、第１フロント・インタフェース２８１とを有して構成され、同じく、図１における第２ディスク管理部１３０の通信制御部１１４は、通信制御プログラム２２０が格納されているプログラムメモリ２４０と、このプログラム２２０を実行するＣＰＵ２６０と、第２フロント・インタフェース２８２とを有して構成されている。
【００２４】
また、コントローラユニット２０１ａ，２０１ｂ，…が複数存在することは、図１で、各ディスク管理部１３０，１１０がそれぞれ複数も設けられていることに対応する。
【００２５】
第２ディスク管理部１１０のコンテンツ管理テーブル１２０は、図３（ａ）に示すように、ユニークＩＤが格納されるユニークＩＤ欄１２１と、ユニークＩＤと対応するオブジェクトＩＤが格納されるオブジェクトＩＤ欄１２２と、ユニークＩＤが示すコンテンツの更新に伴って、新たに付されたユニークＩＤが格納されるChildユニークＩＤ欄１２３と、ユニークＩＤが示すコンテンツの属性、例えば、作成者名や作成日等が格納される属性欄１２４を有している。
【００２６】
第２ディスク管理部１１０のｏＩＤ管理テーブル１２５は、同図（ｂ）に示すように、オブジェクトＩＤが格納されるオブジェクトＩＤ欄１２６と、オブジェクトＩＤが示すディスク領域に格納されているコンテンツの更新に伴って、新たに付されたオブジェクトＩＤが格納されるChildオブジェクトＩＤ欄１２７と、複数存在する第１ディスク管理部１３０のうちの１つの第１ディスク管理部１３０を特定するためのＩＤが格納される第１管理ノードＩＤ欄１２８と、を有している。第１ディスク管理部１３０のｏＩＤ管理テーブル１３５は、同図（ｃ）に示すように、第２ディスク管理部１１０のｏＩＤ管理テーブル１２５と基本的に同じで、オブジェクトＩＤ欄１２６と、ChildオブジェクトＩＤ欄１２７と、複数存在する第２ディスク管理部１１０のうちの１つの第２ディスク管理部１１０を特定するためのＩＤが格納される第２管理ノードＩＤ欄１３８と、を有している。
【００２７】
ユニークＩＤの使用を前提としたアプリケーション１１ａを有するクライアント端末１０ａのコンテンツＩＤ管理テーブル２０ａは、同図（ｄ）に示すように、ユニークＩＤが格納されるユニークＩＤ欄２１ａと、ユニークＩＤに対応するオブジェクトＩＤが格納されるオブジェクトＩＤ欄２２ａと、ユニークＩＤが示すコンテンツの属性が格納される属性欄２３ａと、を有している。また、オブジェクトＩＤの使用を前提としたアプリケーション１１ｂを有するクライアント端末１０ｂのコンテンツＩＤ管理テーブル２０ｂは、同図（ｅ）に示すように、オブジェクトＩＤが格納されるオブジェクトＩＤ欄２２ｂと、オブジェクトＩＤが示すディスク領域に格納されているコンテンツの属性が格納される属性欄２３ｂと、を有している。
【００２８】
次に、図４及び図５（ａ）〜（ｄ）を用いて、クライアント端末１０ａ，１０ｂとストレージ装置１００との間で送受信される各種コマンドのデータ構成について説明する。なお、図４及び図５（ａ）〜（ｄ）では省略されているが、これらのコマンドには、さらに、TCPヘッダやIPヘッダ等が付される。
【００２９】
同図（ａ）に示すように、クライアント端末１０ａから送信される新規書込みコマンド４００は、シーケンスＩＤ４０１と、コマンドＩＤ４０２と、コンテンツ本体の属性４０３と、新規に書き込むコンテンツ本体４０４と、を有している。同図（ｂ）に示すように、ストレージ装置１００からクライアント端末１０ａに返信される新規書込みリプライ４００ｒは、シーケンスＩＤ４０１と、ストレージ装置１００がコンテンツ本体に対して付したユニークＩＤ４０６と、このユニークＩＤに対応するオブジェクトＩＤ４０５と、を有している。なお、本実施形態では、新規書込み要求を送信したクライアント端末１０ａに対して、この新規書込みリプライ４００ｒで、ユニークＩＤの他に、オブジェクトＩＤも知らせるようにしているが、ユニークＩＤのみを知らせるようにしてもよい。
【００３０】
同図（ｃ）に示すように、クライアント端末１０ａから送信される更新コマンド４１０は、シーケンスＩＤ４１１と、コマンドＩＤ４１２と、更新前のコンテンツ本体に付されたユニークＩＤ４１３と、更新後のコンテンツ本体の属性４０３と、更新後のコンテンツ本体４０４と、を有している。このように、本実施形態では、コンテンツを更新する際には、コンテンツの新規書込み時と異なり、ユニークＩＤが必要になる。同図（ｄ）に示すように、ストレージ装置１００からクライアント端末１０ａに返信される更新リプライ４１０ｒは、シーケンスＩＤ４１１と、ストレージ装置１００が更新後のコンテンツ本体に対して付したユニークＩＤ４１６と、を有している。
【００３１】
なお、以上の新規書込みコマンド４００、新規書込みリプライ４００ｒ、更新コマンド４１０、更新リプライ４１０ｒは、いずれも、複数のクライアント端末１０ａ，１０ｂのうち、ユニークＩＤの使用を前提としたアプリケーション１１ａを有するクライアント端末１０ａと、ユニークＩＤに基づいてコンテンツを管理する第２ディスク管理部１１０との間で送受信されるコマンドである。
【００３２】
同図（ｅ）に示すように、各クライアント端末１０ａ，１０ｂから送信される読出コマンド４２０は、シーケンスＩＤ４２１と、コマンドＩＤ４２２と、ユニークＩＤとオブジェクトＩＤとのうちのどちらで読出コンテンツを特定するかを示すＩＤタイプ４２３と、ＩＤタイプで指定したタイプのＩＤ４２４と、ＩＤタイプとしてオブジェクトＩＤのタイプを指定した際に、自動的に最新のコンテンツを読み出して欲しいのか、オブジェクトＩＤ自身が示すコンテンツを読み出して欲しいのかを示すＡ／Ｍフラグ４２６と、を有している。同図（ｆ）に示すように、ストレージ装置１００から各クライアント端末１０ａ，１０ｂに返信される読出リプライ４２０ｒは、シーケンスＩＤ４２１と、コンテンツ本体４２５と、を有している。なお、ＩＤのタイプとしてユニークＩＤを指定した読出コマンド及びその読出リプライは、ユニークＩＤの使用を前提としたアプリケーション１１ａを有するクライアント端末１０ａと、ユニークＩＤに基づいてコンテンツを管理する第２ディスク管理部１１０と間で送受信される。また、ＩＤのタイプとしてオブジェクトＩＤを指定した読出コマンド及びその読出リプライは、各クライアント端末１０ａ，１０ｂと、オブジェクトＩＤに基づいてコンテンツを管理する第１ディスク管理部１３０と間で送受信される。
【００３３】
コンテンツに対する一連のＩＤ、つまりＩＤリストを請求するために、各クライアント端末１０ａ，１０ｂから送信されるＩＤリスト獲得コマンド４３０は、図５（ａ）に示すように、シーケンスＩＤ４３１と、コマンドＩＤ４３２と、ユニークＩＤとオブジェクトＩＤとのうちのどちらのタイプのＩＤリストが必要かを示すＩＤタイプ４３３と、属性に対する条件４３４と、を有している。ここで、属性に対する条件４３４には、例えば、新規コンテンツ、この新規コンテンツに対する一連の更新コンテンツに関する属性のうちで、特定のコンテンツ作成者のみのコンテンツに関するＩＤが欲しいときには、コンテンツ作成者名が格納され、ある作成日以降のみのコンテンツに関するＩＤが欲しいときには、作成日が格納される。同図（ｂ）に示すように、ストレージ装置１００から各クライアント端末１０ａ，１０ｂに返信されるＩＤリスト獲得リプライ４３０ｒは、シーケンスＩＤ４３１と、ＩＤリスト獲得コマンド４３０で指定されたＩＤタイプのＩＤのリスト４３５と、を有している。
【００３４】
特定のユニークＩＤに対するオブジェクトＩＤを請求するために、クライアント端末１０ａから送信されるｏＩＤ獲得コマンド４４０は、同図（ｃ）に示すように、シーケンスＩＤ４４１と、コマンドＩＤ４４２と、ユニークＩＤ４４３とを有している。また、ストレージ装置１００からクライアント端末１０ａに返信されるｏＩＤ獲得リプライ４４０ｒは、同図（ｄ）に示すように、シーケンスＩＤ４４１と、ｏＩＤ獲得コマンド４４０で指定されたユニークＩＤ４４３に対応するオブジェクトＩＤ４４４とを有している。なお、このｏＩＤ獲得コマンド及びそのリプライは、ユニークＩＤの使用を前提としたアプリケーション１１ａを有するクライアント端末１０ａと、ユニークＩＤに基づいてコンテンツを管理する第２ディスク管理部１１０と間で送受信される。
【００３５】
次に、同図（ｅ）（ｆ）を用いて、ｏＩＤ配布コマンド４５０及びそのリプライ４５０ｒについて説明する。このコマンド４５０及びそのリプライ４５０ｒは、以上のコマンド等と異なり、ストレージ装置１００内の第１ディスク管理部１３０と第２ディスク管理部１１０との間で送受信されるものである。ｏＩＤ配布コマンド４５０は、後述するように、第２ディスク管理部１１０が新規書込みコマンド又は更新コマンドを受信した際に第１ディスク管理部１３０へ送られるコマンドで、シーケンスＩＤ４５１と、コマンドＩＤ４５２と、オブジェクトＩＤ４５３と、ｃ−オブジェクトＩＤ４５４と、属性４５５と、送信元である第２ディスク管理部１１０を特定する第２管理ノードＩＤ４５６とを有している。また、第１ディスク管理部１３０から第２ディスク管理部１１０へ返信されるｏＩＤ配布リプライ４５０ｒは、シーケンスＩＤ４５１を有している。
【００３６】
次に、本実施形態のストレージ制御装置１０１の動作について説明する。
【００３７】
まず、図６に示すフローチャートに従って、ユニークＩＤの使用を前提としたアプリケーション１１ａを有するクライアント端末１０ａから新規書込みコマンドが送信された場合の、ストレージ制御装置１０１の動作について説明する。
【００３８】
クライアント端末１０ａは、ストレージ装置１００に対して新規書込みを行う際には、図４（ａ）に示す新規書込みコマンド４００をストレージ装置１００へ送信する（Ｓ６００）。つまり、コンテンツ本体４０４に、その属性４０３、コマンドＩＤ４０２、シーケンスＩＤ４０１を付した新規書込みコマンド４００を作成し、これを送信する。第２ディスク管理部１１０の通信制御部１１４がこれを受信すると（Ｓ６１０）、コンテンツ管理部１１１が、新規書込みコマンドに含まれているコンテンツ本体に対するユニークＩＤを作成し（Ｓ６１１）、このユニークＩＤと新規書込みコマンドに含まれているコンテンツ属性とをコンテンツ管理テーブル１２０に登録する（Ｓ６１２）。そして、ｏＩＤ管理部１１２は、予め定められたルールに従って受信したコンテンツ本体の格納位置を指定するオブジェクトＩＤを生成し（Ｓ６１３）、これをコンテンツ管理テーブル１２０及びｏＩＤ管理テーブル１２５に登録する（Ｓ６１４）。続いて、読出/書込部１１３は、オブジェクトＩＤが指定する位置にコンテンツ本体を書き込む（Ｓ６１５）。ｏＩＤ管理部１１２は、コンテンツ本体がディスク装置１０２に書き込まれると、第１ディスク管理部１３０に対して新規コンテンツに付したオブジェクトＩＤを通知するために、後述のｏＩＤ配布処理を実行する（Ｓ６１６）。新規コンテンツの書込み（Ｓ６１５）及びｏＩＤ配布処理（Ｓ６１６）が終了すると、通信制御部１１４は、クライアント端末１０ａに対して、図４（ｂ）に示す新規書込みリプライ４００ｒを送信する（Ｓ６１７）。この新規書込みリプライ４００ｒには、前述したように、新規書込みコマンド４００のシーケンスＩＤと同じシーケンスＩＤ４０１と、新規コンテンツに対して付されたオブジェクトＩＤ４０５及びユニークＩＤ４０６とが含まれている。クライアント端末１０ａは、この新規書込みリプライ４００ｒを受信すると、新規書込みリプライ４００ｒに含まれているシーケンスＩＤから、これに対応するコンテンツが何であるかを把握し、コンテンツＩＤ管理テーブル２０ａの対応コンテンツの属性が登録されている行に、ユニークＩＤ及び対応オブジェクトＩＤを登録する（Ｓ６０１）。このコンテンツＩＤ管理テーブル２０ａに登録されたオブジェクトＩＤ及びユニークＩＤは、後述するように、コンテンツの更新時やＩＤリスト要求時等に使用される。
【００３９】
次に、図７に示すフローチャートに従って、ユニークＩＤの使用を前提としたアプリケーション１１ａを有するクライアント端末１０ａから更新コマンドが送信された場合の、ストレージ制御装置１０１の動作について説明する。
【００４０】
クライアント端末１０ａは、ストレージ装置１００に格納されているコンテンツを更新する際には、図４（ｃ）に示す更新コマンド４１０をストレージ装置１００へ送信する（Ｓ７００）。つまり、更新後のコンテンツ本体４１５に、その属性４１４、以前にストレージ装置１００の第２ディスク管理部１１０から取得した更新前のコンテンツに対するユニークＩＤ４１３、コマンドＩＤ４１２、及びシーケンスＩＤ４１１を付した更新コマンド４１０を作成し、これを送信する。第２ディスク管理部１１０の通信制御部１１４がこれを受信すると（Ｓ７１０）、コンテンツ管理部１１１が、更新コマンドに含まれている更新コンテンツ本体に対するユニークＩＤを作成し（Ｓ７１１）、図３（ａ）に示すように、このユニークＩＤ「９９」と更新コマンドに含まれているコンテンツ属性とをコンテンツ管理テーブル１２０に登録すると共に、このユニークＩＤ「９９」を更新前のユニークＩＤ「１２」に対する子供世代のユニークＩＤ（ｃ−uＩＤ）として登録する（Ｓ７１２）。そして、ｏＩＤ管理部１１２は、予め定められたルールに従って受信した更新コンテンツ本体の格納位置を指定するオブジェクトＩＤを生成し（Ｓ７１３）、これをコンテンツ管理テーブル１２０に登録すると共に（Ｓ７１４）、図３（ｃ）に示すように、この更新オブジェクトＩＤ「/loc2/12．1」を更新前オブジェクトＩＤ「/loc1/12」の子供世代のオブジェクトＩＤ（ｃ−ｏＩＤ）として登録する（Ｓ７１５）。続いて、読出/書込部１１３は、更新オブジェクトＩＤが指定する位置に更新コンテンツ本体を書き込む（Ｓ７１６）。ここで、更新コンテンツ本体（ｕＩＤ＝９９）は、図１に示すように、更新前コンテンツ本体（ｕＩＤ＝１２）に対して、ディスク装置１０２内の異なる領域に書き込まれるので、更新前コンテンツ本体（ｕＩＤ＝１２）はディスク装置１０２内に残る。すなわち、本実施形態では、コンテンツを追記保証できる。ｏＩＤ管理部１１２は、更新コンテンツ本体がディスク装置１０２に書き込まれると、第１ディスク管理部１３０に対して更新コンテンツに付したオブジェクトＩＤを通知するために、後述のｏＩＤ配布処理を実行する（Ｓ７１７）。更新コンテンツの書込み（Ｓ７１６）及びｏＩＤ配布処理（Ｓ７１７）が終了すると、通信制御部１１４は、クライアント端末１０ａに対して、図４（ｄ）に示す更新リプライ４１０ｒを送信する（Ｓ７１８）。この更新リプライ４１０ｒには、前述したように、更新コマンド４１０のシーケンスＩＤと同じシーケンスＩＤ４１１と、更新コンテンツに対して付されたユニークＤ４０５とが含まれている。クライアント端末１０ａは、この更新リプライ４１０ｒを受信すると、更新リプライ４１０ｒに含まれているシーケンスＩＤから、これに対応するコンテンツが何であるかを把握し、コンテンツＩＤ管理テーブル２０ａの対応コンテンツの属性が登録されている行に、ユニークＩＤを登録する（Ｓ７０１）。なお、本実施形態では、図４（ｂ）（ｄ）に示すように、新規書込みリプライ４００ｒと異なり、更新リプライ４１０ｒ中に更新オブジェクトＩＤを含ませていないために、クライアント端末１０ａのコンテンツＩＤテーブル２０ａには登録されない。これは、後述��るように、本実施形態では、更新ユニークＩＤでも、新規コンテンツに対するオブジェクトＩＤでも、最新のコンテンツを読み出すことができる上に、ユニークＩＤが分かっていれば、ｏＩＤ獲得コマンドを第２ディスク管理部１１０へ送信することで、このユニークＩＤに対するオブジェクトＩＤを取得することができるからである。但し、本実施形態において、更新リプライ４１０ｒ中に更新オブジェクトＩＤを含ませてもよいことは言うまでもない。
【００４１】
次に、図１２に示すフローチャートに従って、図６におけるステップ６１６のｏＩＤ配布処理及び図７におけるステップ７１７のｏＩＤ配布処理について説明する。
【００４２】
前述したように、第２ディスク管理部１１０のｏＩＤ管理部１１２は、コンテンツをディスク装置１０２に書き込むと、第１ディスク管理部１３０に対してコンテンツに付したオブジェクトＩＤを通知するために、図５（ｅ）に示すｏＩＤ配布コマンド４５０を作成し、これを送信する（Ｓ１２１０）。つまり、シーケンスＩＤ４５１と、コマンドＩＤ４５２と、オブジェクトＩＤ４５３と、ｃ−オブジェクトＩＤ４５４と、属性４５５と、送信元である第２ディスク管理部１１０を特定する第２管理ノードＩＤ４５６とを有するｏＩＤ配布コマンド４５０を作成し、これを送信する。第１ディスク管理部１３０のｏＩＤ管理部１３２がこれを受信すると（Ｓ１２２０）、ｏＩＤ配布コマンドに含まれているｃ-ｏＩＤ，Ａｔｔｒ，ｍＩＤをオブジェクト管理テーブル１３５に登録する（Ｓ１２２１）。なお、第２ディスク管理部１１０で新規コンテンツをディスク装置１０２に書き込んだときには、未だｃ-ｏＩＤが生成されていない段階なので、ｏＩＤ配布コマンド中にｃ-ｏＩＤが含まれておらず、当然、この段階では、ｃ-ｏＩＤは登録されない。登録した後、ｏＩＤ管理部１３２は、第２ディスク管理部１１０に対してｏＩＤ配布リプライを送信する（Ｓ１２２２）。第２ディスク管理部１１０のｏＩＤ管理部１１２は、これを受信すると（Ｓ１２１１）、ｏＩＤ配布コマンドの送信時に把握しておいた第１ディスク管理部１３０を特定する第１管理ノードＩＤを、ｏＩＤ管理テーブル１２５に登録する（Ｓ１２１２）。
【００４３】
次に、図８に示すフローチャートに従って、ユニークＩＤの使用を前提としたアプリケーション１１ａを有するクライアント端末１０ａから読出コマンドが送信された場合の、ストレージ制御装置１０１の動作について説明する。
【００４４】
クライアント端末１０ａは、ストレージ装置１００に格納されているコンテンツを読み出す際には、図４（ｅ）に示す読出コマンド４２０を作成し、これをストレージ装置１００へ送信する（Ｓ８００）。つまり、シーケンスＩＤ４２１と、コマンドＩＤ４２２と、ＩＤタイプ４２３と、ＩＤタイプで指定されたタイプのＩＤ４２４と、Ａ／Ｍフラグ４２６とを有する読出コマンド４２０を作成し、これを送信する。ここで、クライアント端末１０ａは、ＩＤタイプとして、ユニークＩＤタイプを選択したとする。なお、Ａ／Ｍフラグ４２６は、ＩＤタイプとしてオブジェクトＩＤタイプが選択されたときに、ストレージ制御装置１０１の動作を特定するためのものであるため、以上のように、ユニークＩＤタイプが選択された場合には、Ａ／Ｍフラグ４２６が何ら設定されてなくても、また、どのように設定されようが、ストレージ制御装置１０１の動作に何ら影響はない。
【００４５】
第２ディスク管理部１１０の通信制御部１１４がこの読出コマンドを受信すると（Ｓ８１０）、コンテンツ管理部１１１が、コンテンツ管理テーブル１２０から、読出コマンド中に含まれているユニークＩＤに対応するオブジェクトＩＤを取得し（Ｓ８１１）、これを読出/書込部１１３に渡す。読出/書込部１１３は、ディスク装置１０２内でオブジェクトＩＤが示す領域からコンテンツを読み出し、これを通信制御部１１４に渡す（Ｓ８１２）。通信制御部１１４は、読み出されたコンテンツを受け取ると、図４（ｆ）に示すように、読み出されたコンテンツ４２５に、読出コマンドに含まれていたシーケンスＩＤ４２１を付した読出リプライ４２０ｒを作成し、これをクライアント端末１０ａに送信する（Ｓ８１３）。
【００４６】
次に、図９に示すフローチャートに従って、いずれかのクライアント端末１０ａ又は１０ｂが、ＩＤタイプとしてオブジェクトＩＤタイプを指定した読出コマンドを送信した場合の、ストレージ制御装置１０１の動作について説明する。
【００４７】
いずれかのクライアント端末１０ａ又は１０ｂは、前述したように、図４（ｅ）に示す読出コマンド４２０中のＩＤタイプとしてオブジェクトＩＤタイプを指定し、さらに、Ａ／Ｍフラグ４２６で、自動的に最新のコンテンツを読み出して欲しい旨を示すＡ（Auto）、又は、オブジェクトＩＤ自身が示すコンテンツを読み出して欲しい旨を示すＭ（Mamual）を指定したとする。なお、このＡ／Ｍフラグ４２６は、初期設定としてＡが設定されている。クライアント端末１０ａ又は１０ｂが以上の読出コマンドをストレージ装置１００へ送信すると（Ｓ９００）、第１ディスク管理部１３０の通信制御部１３４がこの読出コマンドを受信する（Ｓ９１０）。ｏＩＤ管理部１３２は、まず、この読出コマンドを解析して、読出コマンド中のＡ／Ｍフラグがいずれに設定されているかを把握し（Ｓ９１１）、自動的に最新のコンテンツを読み出して欲しい旨を示すＡが設定されている場合には、図４（ｃ）に示すoＩＤ管理テーブル１３５から、読出コマンドに含まれているオブジェクトＩＤに関連した一連のオブジェクトＩＤのうちから最新のオブジェクトＩＤを取得し、この最新のオブジェクトＩＤを読出部１３３に渡す（Ｓ９１２）。一方、読出コマンド中のＡ／ＭフラグがオブジェクトＩＤ自身が示すコンテンツを読み出して欲しい旨を示すＭが設定されている場合には、読出コマンド中のオブジェクトＩＤがそのまま読出部１３３に渡される。
【００４８】
読出部１３３は、ｏＩＤ管理部１３２からオブジェクトＩＤを受け取ると、ディスク装置１０２内でオブジェクトＩＤが示す領域からコンテンツを読み出し、これを通信制御部１３４に渡す（Ｓ９１３）。すなわち、読出部１３３は、ｏＩＤ管理部１３２から渡されたオブジェクトＩＤに応じて、最新のコンテンツ又は最新でないコンテンツを読み出す。通信制御部１３４は、読み出されたコンテンツを受け取ると、図４（ｆ）に示すように、読み出されたコンテンツ４２５に、読出コマンドに含まれていたシーケンスＩＤ４２１を付した読出リプライ４２０ｒを作成し、これをクライアント端末１０ａ又は１０ｂに送信する（Ｓ９１４）。
【００４９】
以上のように、本実施形態では、いずれのクライアント端末１０ａ又は１０ｂからでも、オブジェクトＩＤを指定することで、このオブジェクトＩＤが示す領域に格納されているコンテンツを読み出すことができる。クライアント端末１０ａは、図８を用いて前述したように、ユニークＩＤを所有しているので、ユニークＩＤに基づいてコンテンツを読み出すことができるが、ユニークＩＤに基づいてコンテンツを読み出す場合、このユニークＩＤをオブジェクトＩＤに変換する必要がある。一方、オブジェクトＩＤに基づいてコンテンツを読み出す場合には、ＩＤ変換が不要であるため、ストレージ制御装置１０１にとって、ユニークＩＤに基づいてコンテンツを読み出すときよりも負荷が小さい。また、ストレージ装置は、多くの場合、書込み要求の頻度よりも読出要求の頻度の方が遥かに多く、読出要求の場合の負荷を軽減することは極めて重要である。本実施形態では、このような事情を考慮して、ユニークＩＤに基づくコンテンツ更新を可能にすることで、コンテンツの追記保証を確保しつつも、オブジェクトＩＤを用いてもコンテンツを読み出すことができるようにしたことで、オブジェクトＩＤの使用を前提とした従来からのアプリケーションの使用を確保し、しかも、ストレージ制御装置１０１の読出要求時の負荷を軽減している。
【００５０】
次に、図１０に示すフローチャートに従って、いずれかのクライアント端末１０ａ又は１０ｂが、ＩＤリスト獲得コマンドを送信した場合の、ストレージ制御装置１０１の動作について説明する。
【００５１】
いずれかのクライアント端末１０ａ又は１０ｂは、図５（ａ）に示すＩＤリスト獲得コマンド４３０を作成し、これを第２ディスク管理部１１０へ送信する（Ｓ１０００）。つまり、シーケンスＩＤ４３１、コマンドＩＤ４３２、ＩＤタイプ４３３、属性に対する条件４３４を有するＩＤリスト獲得コマンド４３０を作成し、これを送信する。第２ディスク管理部１１０の通信制御部１１４がこのＩＤリスト獲得コマンドを受信すると（Ｓ１０１０）、これをコンテンツ管理部１１１に渡す。コンテンツ管理部１１１は、ＩＤリスト獲得コマンド中のＩＤタイプであって、属性に対する条件を満たすＩＤをコンテンツ管理テーブル１２０から取得し（Ｓ１０１１）、これをＩＤリストとして通信制御部１１４に渡す。通信制御部１１４は、コンテンツ管理部１１１から受け取ったＩＤリストにシーケンスＩＤを付したＩＤリスト獲得リプライ４３０ｒ（図５（ｂ））を作成し、クライアント端末１０ａ又は１０ｂにＩＤリスト獲得リプライを送信する（Ｓ１０１２）。
【００５２】
クライアント端末１０ａ又は１０ｂは、このＩＤリスト獲得リプライを受信すると、このリプライに含まれているＩＤリストに示されているＩＤをコンテンツＩＤ管理テーブル２０ａ，２０ｂに登録する（Ｓ１００１）。
【００５３】
オブジェクトＩＤの使用を前提としたアプリケーション１１ｂを有するクライアント端末１０ｂは、コンテンツの新規書込み及び更新ができないため、新規書込み及び更新時に第２ディスク管理部１１０から送信されるユニークＩＤ及びオブジェクトＩＤを受信することができない。つまり、クライアント端末１０ｂは、新規書込み及び更新時にコンテンツのＩＤを所有していない。このため、本実施形態では、クライアント端末１０ｂからコンテンツの読出を可能にするために、ＩＤリストの要求を行うことで、コンテンツのＩＤを取得でいるようにしている。
【００５４】
次に、図１１に示すフローチャートに従って、クライアント端末１０ａがＩＤ獲得コマンドを送信した場合の、ストレージ制御装置１０１の動作について説明する。クライアント端末１０ａは、前述したように、コンテンツの更新時に、更新コンテンツのユニークＩＤを取得できるものの、更新コンテンツのオブジェクトＩＤを取得できない。そこで、オブジェクトＩＤを用いて、一連のコンテンツのうちのいずれかのコンテンツを読出しできるように、本実施形態では、ＩＤ獲得コマンドでユニークＩＤを指定することで、このユニークＩＤに対応するオブジェクトＩＤを取得できるようにしている。
【００５５】
クライアント端末１０ａは、図５（ｃ）に示すＩＤ獲得コマンド４４０を作成し、これを第２ディスク管理部１１０へ送信する（Ｓ１１００）。つまり、シーケンスＩＤ４４１、コマンドＩＤ４４２、獲得したいオブジェクトＩＤに対応するユニークＩＤ４４３を有するＩＤ獲得コマンド４４０を作成し、これを送信する。第２ディスク管理部１１０の通信制御部１１４がこのＩＤ獲得コマンドを受信すると（Ｓ１１１０）、これをコンテンツ管理部１１１に渡す。コンテンツ管理部１１１は、ＩＤ獲得コマンド中のユニークＩＤに対応するオブジェクトＩＤをコンテンツ管理テーブル１２０から取得し（Ｓ１１１１）、これを通信制御部１１４に渡す。通信制御部１１４は、コンテンツ管理部１１１から受け取ったオブジェクトＩＤリストにシーケンスＩＤを付したＩＤ獲得リプライ４４０ｒ（図５（ｄ））を作成し、クライアント端末１０ａにＩＤリスト獲得リプライを送信する（Ｓ１１１２）。
【００５６】
クライアント端末１０ａは、このＩＤ獲得リプライを受信すると、このリプライに含まれているオブジェクトＩＤをコンテンツＩＤ管理テーブル２０ａに登録する（Ｓ１１０１）。
【００５７】
以上のように、本実施形態では、オブジェクトに対して特有のユニークＩＤに基づいて、ディスク装置１０２にアクセスする第２ディスク管理部１１０を有するので、コンテンツの追記保証を確保することができる。また、本実施形態では、ディスク装置１０２内の領域に対して特有のオブジェクトＩＤに基づいて、コンテンツを読み出す第１ディスク管理部１３０を有するので、コンテンツの読出に関しては、コンテンツの変更に伴ってＩＤが変化するユニークＩＤを管理する手間が不要になり、クライアントの負荷を軽減することができる上に、オブジェクトＩＤの使用を前提とした従来からのアプリケーションも利用することができる。さらに、本実施形態では、オブジェクトの読出時には、オブジェクトＩＤを用いてオブジェクトを読み出すことで、ユニークＩＤを用いてオブジェクトを読み出す際にユニークＩＤをオブジェクトＩＤに変換するための負荷を軽減することができる。
【００５８】
なお、以上の実施形態では、第１ディスク管理部１３０に専用通信ポート１３９を設けると共に、第２ディスク管理部１１０にも専用通信ポート１１９を設けているが、本発明はこれに限定されるものではなく、各管理部１１０，１３０に共有の通信ポートを設け、各クライアント端末１０ａ，１０ｂからのコマンドのヘッダに含まれているアドレス、又はコマンド中の要求に応じて、２つの管理部１１０，１３０のうちの一方の管理部に振り分けるようにしてもよい。
【００５９】
また、以上の実施形態では、複数のディスク装置１０２を有するストレージ装置１００内に、ストレージ制御装置１０１が組み込まれているが、複数のディスク装置からストレージ制御装置を独立させてもよい。
【００６０】
また、以上の実施形態では、オブジェクトＩＤに基づいてディスク装置１０２に対する読出処理等を行う第１ディスク管理部１３０と、ユニークＩＤに基づいてディスク装置１０２に対して読出及び書込み処理等を行う第２ディスク管理部１１０とが、互いに独立している構成について説明した。しかし、他の実施形態として、１つの管理部で、上述した２つの管理部の動作を行う構成としてもよい。この場合、受信コマンドに含まれているＩＤ等に基づいて、管理部は、２つの管理部のいずれの動作を行うかを判断して、その動作を行うようにする。
【００６１】
また、以上の実施形態では、オブジェクトＩＤに基づいてデータを読み出したクライアント端末が、ストレージ制御装置１０１から直接オブジェクトＩＤリストを読み出している。しかし、他の実施形態として、ある計算機が一括してオブジェクトＩＤ当に関するリストをストレージ制御装置１０１から読み出し、各クライアント端末にこのリストを配布するようにすることもできる。これにより、ストレージ制御装置１０１におけるリスト管理の負担を軽減することができる。
【図面の簡単な説明】
【００６２】
【図１】本発明に係る一実施形態としてのストレージ装置の機能構成を示す説明図である。
【図２】本発明に係る一実施形態としてのストレージ装置のハード構成を示す説明図である。
【図３】本発明に係る一実施形態としての各種テーブル構成を示す説明図で、同図（ａ）はコンテンツ管理テーブルを示し、同図（ｂ）は第２ディスク管理部のｏＩＤ管理テーブルを示し、同図（ｃ）は第１ディスク管理部のｏＩＤ管理テーブルを示し、同図（ｄ）は一のクライアント端末のコンテンツＩＤ管理テーブルを示し、同図（ｅ）は他のクライアント端末のコンテンツＩＤ管理テーブルを示している。
【図４】本発明に係る一実施形態としての各種コマンドとそのリプライのデータ構成を示す説明図で、同図（ａ）は新規書込みコマンドのデータ構成を示し、同図（ｂ）は新規書込みリプライのデータ構成を示し、同図（ｃ）は更新コマンドのデータ構成を示し、同図（ｄ）は更新リプライのデータ構成を示し、同図（ｅ）は読出コマンドのデータ構成を示し、同図（ｆ）は読出リプライのデータ構成を示している。
【図５】本発明に係る一実施形態の各種コマンドとそのリプライのデータ構成を示す説明図で、同図（ａ）はＩＤリスト獲得コマンドのデータ構成を示し、同図（ｂ）はＩＤリスト獲得リプライのデータ構成を示し、同図（ｃ）はｏＩＤ獲得コマンドのデータ構成を示し、同図（ｄ）はｏＩＤ獲得リプライのデータ構成を示し、同図（ｅ）はｏＩＤ配布コマンドのデータ構成を示し、同図（ｆ）はｏＩＤ配布リプライのデータ構成を示している。
【図６】本発明に係る一実施形態としてのストレージ装置におけるコンテンツ新規書込み処理を示すフローチャートである。
【図７】本発明に係る一実施形態としてのストレージ装置におけるコンテンツ更新処理を示すフローチャートである。
【図８】本発明に係る一実施形態としてのストレージ装置におけるコンテンツ読出し処理（IDタイプとしてユニークIDを指定）を示すフローチャートである。
【図９】本発明に係る一実施形態としてのストレージ装置におけるコンテンツ読出し処理（IDタイプとしてオブジェクトIDを指定）を示すフローチャートである。
【図１０】本発明に係る一実施形態としてのストレージ装置におけるＩＤリスト獲得処理を示すフローチャートである。
【図１１】本発明に係る一実施形態としてのストレージ装置におけるオブジェクトＩＤ獲得処理を示すフローチャートである。
【図１２】本発明に係る一実施形態としてのストレージ装置におけるオブジェクトＩＤ配布処理を示すフローチャートである。
【符号の説明】
【００６３】
１０ａ，１０ｂ：クライアント端末、２０ａ，２０ｂ：コンテンツＩＤ管理テーブル、３０：ネットワーク、１００：ストレージ装置、１０２ａ，１０２ｂ：ディスク装置、１１０：第２ディスク管理部、１１１：コンテンツ管理部、１１２，１３２：ｏＩＤ管理部、１１３：読出/書込部、１１４，１３４：通信制御部、１１９，１３９：通信ポート、１２０：コンテンツ管理テーブル、１２５，１３５：ｏＩＤ管理テーブル、１３０：第１ディスク管理部、１３３：読出部。
【図１】
2005321953.tif 000003
【図２】
2005321953.tif 000004
【図３】
2005321953.tif 000005
【図４】
2005321953.tif 000006
【図５】
2005321953.tif 000007
【図６】
2005321953.tif 000008
【図７】
2005321953.tif 000009
【図８】
2005321953.tif 000010
【図９】
2005321953.tif 000011
【図１０】
2005321953.tif 000012
【図１１】
2005321953.tif 000013
【図１２】
2005321953.tif 000014