JP2007264744A - ネットワークキャッシュシステム、キャッシュ装置、中継装置、およびプログラム - Google Patents
ネットワークキャッシュシステム、キャッシュ装置、中継装置、およびプログラム Download PDFInfo
- Publication number
- JP2007264744A JP2007264744A JP2006085551A JP2006085551A JP2007264744A JP 2007264744 A JP2007264744 A JP 2007264744A JP 2006085551 A JP2006085551 A JP 2006085551A JP 2006085551 A JP2006085551 A JP 2006085551A JP 2007264744 A JP2007264744 A JP 2007264744A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- computer
- storage device
- request message
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】キャッシュ装置を複数台設置したネットワークキャッシュシステムにおいて、陳腐化したキャッシュデータをコンピュータが取得し、利便性が低下するのを防止する。
【解決手段】コンピュータと、少なくとも1台のストレージ装置と、複数のキャッシュ装置とを接続するネットワークとを備えるネットワークキャッシュシステムにおいて、各キャッシュ装置は、コンピュータからのストレージ装置の特定の論理ユニットのデータに対する書き込みを検出する手段1と、手段1でストレージ装置の特定の論理ユニットのデータに対する書き込みを検出したときに、他のすべてのキャッシュ装置に対して、書き込み対象となった特定の論理ユニットのデータに対応するキャッシュデータの削除を要求する削除要求メッセージを送信する手段2と、他のキャッシュ装置から削除要求メッセージを受信した時に、特定の論理ユニットのデータに対応するキャッシュデータを削除する手段3とを有する。
【選択図】図1
【解決手段】コンピュータと、少なくとも1台のストレージ装置と、複数のキャッシュ装置とを接続するネットワークとを備えるネットワークキャッシュシステムにおいて、各キャッシュ装置は、コンピュータからのストレージ装置の特定の論理ユニットのデータに対する書き込みを検出する手段1と、手段1でストレージ装置の特定の論理ユニットのデータに対する書き込みを検出したときに、他のすべてのキャッシュ装置に対して、書き込み対象となった特定の論理ユニットのデータに対応するキャッシュデータの削除を要求する削除要求メッセージを送信する手段2と、他のキャッシュ装置から削除要求メッセージを受信した時に、特定の論理ユニットのデータに対応するキャッシュデータを削除する手段3とを有する。
【選択図】図1
Description
本発明は、ネットワークキャッシュシステム、キャッシュ装置、中継装置、およびプログラムに係り、特に、キャッシュ装置にキャッシュされているデータと、ストレージ装置に保存されている対応データとが不一致となるのを防止する際に有効な技術に関する。
従来、ハードディスク装置を内蔵しない、ディスクレスパーソナルコンピュータが知られている(下記、特許文献1参照。)
この従来の技術によれば、iSCSIイニシエータ機能を有するコンピュータと、iSCSIターゲット機能を有するストレージ装置と、キャッシュ装置とがIP網で接続されている。
ストレージ装置内のiSCSIターゲットには、論理ユニットがあり、論理ユニットには、コンピュータの動作に必要なデータが保存されている。コンピュータの動作に必要なデータとは、オペレーティングシステム(OS)、アプリケーションソフト、ユーザデータ等である。
コンピュータは、ISCSIプロトコル(RFC 3720で標準化)を使用して、ストレージ装置内の論理ユニットからデータを取得して動作する。
キャッシュ装置は、コンピュータとストレージ装置との間で送受信されるiSCSIオペレーションやデータを中継する。さらに、キャッシュ装置は、コンピュータがストレージ装置から取得したデータをキャッシュ装置内に保存し、コンピュータが再度同一のデータを取得しようとしたときには、キャッシュ装置に保存したデータをコンピュータに返送する。
これにより、コンピュータはストレージ装置からデータを取得する必要がなくなるから、特に、コンピュータとストレージ装置との間の伝達遅延が大きい場合は、コンピュータのデータ取得性能を向上させることができる。
この従来の技術によれば、iSCSIイニシエータ機能を有するコンピュータと、iSCSIターゲット機能を有するストレージ装置と、キャッシュ装置とがIP網で接続されている。
ストレージ装置内のiSCSIターゲットには、論理ユニットがあり、論理ユニットには、コンピュータの動作に必要なデータが保存されている。コンピュータの動作に必要なデータとは、オペレーティングシステム(OS)、アプリケーションソフト、ユーザデータ等である。
コンピュータは、ISCSIプロトコル(RFC 3720で標準化)を使用して、ストレージ装置内の論理ユニットからデータを取得して動作する。
キャッシュ装置は、コンピュータとストレージ装置との間で送受信されるiSCSIオペレーションやデータを中継する。さらに、キャッシュ装置は、コンピュータがストレージ装置から取得したデータをキャッシュ装置内に保存し、コンピュータが再度同一のデータを取得しようとしたときには、キャッシュ装置に保存したデータをコンピュータに返送する。
これにより、コンピュータはストレージ装置からデータを取得する必要がなくなるから、特に、コンピュータとストレージ装置との間の伝達遅延が大きい場合は、コンピュータのデータ取得性能を向上させることができる。
なお、本願発明に関連する先行技術文献としては以下のものがある。
特開2005-149334号公報
しかしながら、従来の技術において、キャッシュ装置を複数台設置し、いずれのキャッシュ装置を介しても、同一のストレージ装置にアクセスすることを許容した場合に、キャッシュ装置にキャッシュされているデータと、ストレージ装置に保存されている対応データが不一致となる(前者の方が古いデータとなる)場合がある。
そのような不一致状態に陥った場合、当該キャッシュ装置を介してストレージ装置からデータを取得しようとすると、キャッシュヒットした結果、ストレージ装置ではなく、キャッシュ装置からデータが返送されることとなるから、コンピュータは古いデータを取得してしまい、コンピュータが誤動作を起こす恐れがある。
データの不一致現象が生じる過程を、図8を用いて具体的に説明する。
図8は、複数の拠点(Site1〜Site3)から同一のストレージ装置(S1)内の論理ユニット(LU0)または論理ユニット(LU1)へのアクセスを可能としたシステムである。
図8において、LAN1〜LAN4は、ローカルエリアネットワーク(Loca1 Area Network)、WANは広域ネットワーク(Wide Area Network)、PC1〜PC4はディスク装置を内蔵しないコンピュータ、Rはルータ、S1はストレージ装置、C1〜C3はキャッシュ装置、LU0,LU1は論理ユニットである。
ここで、コンピュータ(PC1〜PC4)には、pc1〜pc4のIPアドレスが、キャッシュ装置(C1〜C3)には、c1〜c3のIPアドレス、ストレージ装置(S1)には、s1のIPアドレスが付与されている。
そのような不一致状態に陥った場合、当該キャッシュ装置を介してストレージ装置からデータを取得しようとすると、キャッシュヒットした結果、ストレージ装置ではなく、キャッシュ装置からデータが返送されることとなるから、コンピュータは古いデータを取得してしまい、コンピュータが誤動作を起こす恐れがある。
データの不一致現象が生じる過程を、図8を用いて具体的に説明する。
図8は、複数の拠点(Site1〜Site3)から同一のストレージ装置(S1)内の論理ユニット(LU0)または論理ユニット(LU1)へのアクセスを可能としたシステムである。
図8において、LAN1〜LAN4は、ローカルエリアネットワーク(Loca1 Area Network)、WANは広域ネットワーク(Wide Area Network)、PC1〜PC4はディスク装置を内蔵しないコンピュータ、Rはルータ、S1はストレージ装置、C1〜C3はキャッシュ装置、LU0,LU1は論理ユニットである。
ここで、コンピュータ(PC1〜PC4)には、pc1〜pc4のIPアドレスが、キャッシュ装置(C1〜C3)には、c1〜c3のIPアドレス、ストレージ装置(S1)には、s1のIPアドレスが付与されている。
図8において、Site1〜Site3の各拠点にキャッシュ装置を設置する目的は、キャッシュ効果を最大限に得るためである。すなわち、各拠点にキャッシュ装置(C1〜C3)を設置し、例えば、コンピュータ(PC1)とキャッシュ装置(C1)を同一拠点内に設置することで、コンピュータとキャッシュ装置との間の伝送遅延をより小さくし、キャッシュヒットした場合のデータ取得時間を短縮することが目的である。
このようなシステムを構成した場合、C1〜C3のいずれのキャッシュ装置を経由しても、ストレージ装置(S1)内の同一の論理ユニット(LU0)または論理ユニット(LU1)の論理ユニットに対してアクセス(読み出し、書き込み)することができる。
例えば、コンピュータ(PC1)からLU0の論理ユニットのデータを読み出したとする。その場合、読み出したデータは、キャッシュ装置(C1)にも保存される。次に、コンピュータ(PC3)からLU0の論理ユニットの同一のデータを読み出し、当該データを更新して再度書き込む。
そうすると、LU0の論理ユニットに保存されている当該データは更新されるが、キャッシュ装置(C1)に保存されているデータ(これは、LU0の論理ユニットの同一のデータ)は更新されない状態のままである。
このようなシステムを構成した場合、C1〜C3のいずれのキャッシュ装置を経由しても、ストレージ装置(S1)内の同一の論理ユニット(LU0)または論理ユニット(LU1)の論理ユニットに対してアクセス(読み出し、書き込み)することができる。
例えば、コンピュータ(PC1)からLU0の論理ユニットのデータを読み出したとする。その場合、読み出したデータは、キャッシュ装置(C1)にも保存される。次に、コンピュータ(PC3)からLU0の論理ユニットの同一のデータを読み出し、当該データを更新して再度書き込む。
そうすると、LU0の論理ユニットに保存されている当該データは更新されるが、キャッシュ装置(C1)に保存されているデータ(これは、LU0の論理ユニットの同一のデータ)は更新されない状態のままである。
この状態で、再度、コンピュータ(PC1)からLU0の論理ユニットの同一のデータを読み出そうとした場合、キャッシュ装置(C1)でキャッシュヒットすることにより、キャッシュ装置(C1)から当該データが返送されてしまい、更新したデータを取得できず、更新前のデータを取得してしまう。これでは、利便性が低下し、さらには、コンピュータ(PC1)の動作異常の原因ともなる。
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、キャッシュ装置を複数台設置したネットワークキャッシュシステムにおいて、陳腐化したキャッシュデータをコンピュータが取得し、利便性が低下し、さらには、コンピュータが動作異常を起こすのを防止することにある。
また、本発明の他の目的は、前記ネットワークキャッシュシステムに使用されるキャッシュ装置、および中継装置を提供することにある。
また、本発明の他の目的は、前記キャッシュ装置をコンピュータで実行させるためのプログラムを提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、キャッシュ装置を複数台設置したネットワークキャッシュシステムにおいて、陳腐化したキャッシュデータをコンピュータが取得し、利便性が低下し、さらには、コンピュータが動作異常を起こすのを防止することにある。
また、本発明の他の目的は、前記ネットワークキャッシュシステムに使用されるキャッシュ装置、および中継装置を提供することにある。
また、本発明の他の目的は、前記キャッシュ装置をコンピュータで実行させるためのプログラムを提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
本発明は、コンピュータと、前記コンピュータの動作に必要なデータを格納した少なくとも1台のストレージ装置と、前記コンピュータと前記少なくとも1台のストレージ装置との間の通信を仲介し、前記コンピュータが前記少なくとも1台のストレージ装置から取得したデータ、あるいは、前記コンピュータが前記少なくとも1台のストレージ装置に保存したデータを一時的に記憶する複数のキャッシュ装置と、前記コンピュータと、前記少なくとも1台のストレージ装置と、前記複数のキャッシュ装置とを接続するネットワークとを備えるネットワークキャッシュシステムであって、前記各キャッシュ装置は、前記コンピュータからの、前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出する手段1と、前記手段1で前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出したときに、他のすべてのキャッシュ装置に対して、前記アクセスの対象となった前記特定の論理ユニットのデータ、あるいは、前記セッション確立を検出した特定のターゲットのデータに対応するキャッシュデータの削除を要求する削除要求メッセージを送信する手段2と、他のキャッシュ装置から前記削除要求メッセージを受信した時に、前記削除要求メッセージで指定されるデータに対応するキャッシュデータを削除する手段3とを有する。
本発明は、コンピュータと、前記コンピュータの動作に必要なデータを格納した少なくとも1台のストレージ装置と、前記コンピュータと前記少なくとも1台のストレージ装置との間の通信を仲介し、前記コンピュータが前記少なくとも1台のストレージ装置から取得したデータ、あるいは、前記コンピュータが前記少なくとも1台のストレージ装置に保存したデータを一時的に記憶する複数のキャッシュ装置と、前記コンピュータと、前記少なくとも1台のストレージ装置と、前記複数のキャッシュ装置とを接続するネットワークとを備えるネットワークキャッシュシステムであって、前記各キャッシュ装置は、前記コンピュータからの、前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出する手段1と、前記手段1で前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出したときに、他のすべてのキャッシュ装置に対して、前記アクセスの対象となった前記特定の論理ユニットのデータ、あるいは、前記セッション確立を検出した特定のターゲットのデータに対応するキャッシュデータの削除を要求する削除要求メッセージを送信する手段2と、他のキャッシュ装置から前記削除要求メッセージを受信した時に、前記削除要求メッセージで指定されるデータに対応するキャッシュデータを削除する手段3とを有する。
また、本発明は、コンピュータと、前記コンピュータの動作に必要なデータを格納した少なくとも1台のストレージ装置と、前記コンピュータと前記少なくとも1台のストレージ装置との間の通信を仲介し、前記コンピュータが前記少なくとも1台のストレージ装置から取得したデータ、あるいは、前記コンピュータが前記少なくとも1台のストレージ装置に保存したデータを一時的に記憶する複数のキャッシュ装置と、中継装置と、前記コンピュータと、前記少なくとも1台のストレージ装置と、前記複数のキャッシュ装置と、前記中継装置とを接続するネットワークとを備えるネットワークキャッシュシステムであって、前記各キャッシュ装置は、前記コンピュータからの、前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出する手段1と、前記手段1で前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出したときに、前記中継装置に対して、前記アクセスの対象となった前記特定の論理ユニットのデータ、あるいは、前記セッション確立を検出した特定のターゲットのデータに対応するキャッシュデータの削除を要求する削除要求メッセージを送信する手段2と、前記中継装置から前記削除要求メッセージを受信した時に、前記削除要求メッセージで指定されるデータに対応するキャッシュデータを削除する手段3とを有し、前記中継装置は、前記各キャッシュ装置から前記削除要求メッセージを受信した時に、前記削除要求メッセージを送信したキャッシュ装置以外の全てのキャッシュ装置に対して、前記削除要求メッセージを送信する手段1を有する。
また、本発明では、前記各キャッシュ装置は、キャッシュデータの保存を開始したことを前記中継装置に通知する手段4を有し、前記中継装置は、前記各キャッシュ装置からのキャッシュデータ保存開始の通知、あるいは、前記各キャッシュ装置からの、保存中キャッシュデータ照会に対する保存中キャッシュデータの一覧応答を受け取り、前記少なくとも1台のストレージ装置の特定のターゲット、あるいは、特定の論理ユニットのデータに対応するキャッシュデータを保存するキャッシュ装置を管理する手段2を有し、前記中継装置の手段1は、前記各キャッシュ装置から前記削除要求メッセージを受信した時に、前記中継装置の前記手段2に基づき、前記削除要求メッセージで指定されるデータに対応するキャッシュデータを保存しているキャッシュ装置に対して、前記削除要求メッセージを送信する。
また、本発明は、前述のネットワークキャッシュシステムに使用されるキャッシュ装置である。
また、本発明は、前述のネットワークキャッシュシステムに使用される中継装置である。
また、本発明は、前述のキャッシュ装置をコンピュータに実行させるためのプログラムである。
また、本発明は、前述のネットワークキャッシュシステムに使用されるキャッシュ装置である。
また、本発明は、前述のネットワークキャッシュシステムに使用される中継装置である。
また、本発明は、前述のキャッシュ装置をコンピュータに実行させるためのプログラムである。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
本発明によれば、キャッシュ装置を複数台設置したネットワークキャッシュシステムにおいて、陳腐化したキャッシュデータをコンピュータが取得し、利便性が低下し、さらには、コンピュータが動作異常を起こすのを防止することが可能となり、キャッシュ装置導入の効果を高めることが可能となる。
本発明によれば、キャッシュ装置を複数台設置したネットワークキャッシュシステムにおいて、陳腐化したキャッシュデータをコンピュータが取得し、利便性が低下し、さらには、コンピュータが動作異常を起こすのを防止することが可能となり、キャッシュ装置導入の効果を高めることが可能となる。
以下、図面を参照して本発明の実施例を詳細に説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
図1は、本発明の実施例のネットワークキャッシュシステムの概略構成を示すブロック図である。
図1は、中継装置(R1)が、LAN4に接続されている点で、図8のシステムと相異するが、その他の構成は、図8のシステムと同じである。
図1において、コンピュータ(PC1〜PC4)には、pc1〜pc4のIPアドレスが、キャッシュ装置(C1〜C3)には、c1〜c3のIPアドレス、ストレージ装置(S1)には、s1のIPアドレスが付与されている。
ストレージ装置(S1)内には、ターゲット(T1)(ターゲット名;t1)があり、ターゲット(T1)内には論理ユニット(Logica1 Unit)LU0、LU1がある。LU0とLU1の論理ユニットには、論理ユニット番号(LUN:Logical unit Number)が付与され、それぞれ0、1である。
論理ユニット内は、論理ブロックと呼ばれる固定長(通常は、512バイト)のブロックに細分化され、データは論理ブロックに分割されて保存されている。論理ブロックには論理ブロックアドレス(LBA:Logical Block Address)が付与され、論理ユニットに保存されたデータにアクセス(読み出し、書き込み)するには、当該データが保存された論理ブロックのLBAを指定する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
図1は、本発明の実施例のネットワークキャッシュシステムの概略構成を示すブロック図である。
図1は、中継装置(R1)が、LAN4に接続されている点で、図8のシステムと相異するが、その他の構成は、図8のシステムと同じである。
図1において、コンピュータ(PC1〜PC4)には、pc1〜pc4のIPアドレスが、キャッシュ装置(C1〜C3)には、c1〜c3のIPアドレス、ストレージ装置(S1)には、s1のIPアドレスが付与されている。
ストレージ装置(S1)内には、ターゲット(T1)(ターゲット名;t1)があり、ターゲット(T1)内には論理ユニット(Logica1 Unit)LU0、LU1がある。LU0とLU1の論理ユニットには、論理ユニット番号(LUN:Logical unit Number)が付与され、それぞれ0、1である。
論理ユニット内は、論理ブロックと呼ばれる固定長(通常は、512バイト)のブロックに細分化され、データは論理ブロックに分割されて保存されている。論理ブロックには論理ブロックアドレス(LBA:Logical Block Address)が付与され、論理ユニットに保存されたデータにアクセス(読み出し、書き込み)するには、当該データが保存された論理ブロックのLBAを指定する。
論理ユニット(LU0)には、コンピュータ(PC1〜PC4)の動作に必要な共通的なデータ(例えば、OSやアプリケーションソフトウェア)が保存されている。一方、論理ユニット(LU1)は、ユーザB専用の論理ユニットであり、ユーザBが作成したデータ(例えば、文書ファイル)が保存されている。なお、ユーザBは、コンピュータ(PC1〜PC4)を利用する権限を持つ者である。
本来、ストレージ装置は、S1のストレージ装置以外にあってもよいし、ストレージ装置(S1)内のターゲットは、T1に限らず複数あってもよいし、1ターゲット内にLUは複数(3つ以上)あってもよい。しかし、図1では説明を簡単にするために、ストレージ装置を1つ、ターゲットを1つ、ターゲット内の論理ユニットを2つとしている。
コンピュータによるストレージ装置(S1)内の論理ユニットへのアクセス(データの取得、データの保存等)は、IETFでRFC 3720として標準化されたプロトコルであるiSCSI(internet Small Computer System Interface)により行われる。
なお、本実施例は、IP網で転送可能なプロトコルであるならば、iSCSIに限定されず、例えば、FC(Fibre Channel)、FCIP(Fibre Channel over IP)、iFCP(Internet Fibre Channel Protocol)といった、他のSCSIベースのプロトコルを使用することも可能である。
本来、ストレージ装置は、S1のストレージ装置以外にあってもよいし、ストレージ装置(S1)内のターゲットは、T1に限らず複数あってもよいし、1ターゲット内にLUは複数(3つ以上)あってもよい。しかし、図1では説明を簡単にするために、ストレージ装置を1つ、ターゲットを1つ、ターゲット内の論理ユニットを2つとしている。
コンピュータによるストレージ装置(S1)内の論理ユニットへのアクセス(データの取得、データの保存等)は、IETFでRFC 3720として標準化されたプロトコルであるiSCSI(internet Small Computer System Interface)により行われる。
なお、本実施例は、IP網で転送可能なプロトコルであるならば、iSCSIに限定されず、例えば、FC(Fibre Channel)、FCIP(Fibre Channel over IP)、iFCP(Internet Fibre Channel Protocol)といった、他のSCSIベースのプロトコルを使用することも可能である。
例えば、論理ユニット内の特定のデータを読み出すには、コンピュータはストレージ装置に対して、iSCSIオペレーションの1つであるSCSI Commandに、SCSIコマンドの一つであるREADコマンドを搭載したもの(以下、単に、「SCSI-READ」と呼称する)を発行する。SCSI-READでは、論理ユニットとLBAを指定する。
SCSI-READを受信したターゲットは、指定された論理ユニット内の指定されたLBAに保存されたデータを、Data-in(iSCSIオペレーションの1つ)に搭載して、コンピュータに返送する。
また、論理ユニット内にデータを保存するには、コンピュータはストレージ装置に対して、SCSI CommandにWRITEコマンドを搭載したもの(以下、単に、「SCSI-WRITE」と呼称する)と、Data-Out(iSCSIオペレーションの1つ)を発行する。SCSI-WRITEでは、論理ユニットとLBAが指定され、続く、Data-Outでは、当該論理ユニットとLBAに保存されるべき実際のデータが搭載されている。
キャッシュ装置は、上述したような、コンピュータとストレージ装置との間で送受信される一切のiSCSIパケットを中継する。
コンピュータ(PC1)と、ストレージ装置(S1)との間で送受信される一切のiSCSIパケットを中継方法の一例を、図2を用いて説明する。
SCSI-READを受信したターゲットは、指定された論理ユニット内の指定されたLBAに保存されたデータを、Data-in(iSCSIオペレーションの1つ)に搭載して、コンピュータに返送する。
また、論理ユニット内にデータを保存するには、コンピュータはストレージ装置に対して、SCSI CommandにWRITEコマンドを搭載したもの(以下、単に、「SCSI-WRITE」と呼称する)と、Data-Out(iSCSIオペレーションの1つ)を発行する。SCSI-WRITEでは、論理ユニットとLBAが指定され、続く、Data-Outでは、当該論理ユニットとLBAに保存されるべき実際のデータが搭載されている。
キャッシュ装置は、上述したような、コンピュータとストレージ装置との間で送受信される一切のiSCSIパケットを中継する。
コンピュータ(PC1)と、ストレージ装置(S1)との間で送受信される一切のiSCSIパケットを中継方法の一例を、図2を用いて説明する。
まず、コンピュータ(PC1)は、キャッシュ装置(C1)との間でTCPコネクション1を確立し(図2の201)、当該コネクションを利用して、Login Requestをキャッシュ装置(C1)に送信する(図2の202)。
Login Requestを受信したキャッシュ装置(C1)は、Login Request送信元IPアドレス(コンピュータ(PC1)のp1)から、Table1を検索することにより、当該Login Requestの中継先を検索し(図2の203)、検索した中継先であるストレージ装置(S1)(IPアドレスs1、TCPポート3260)との間でTCPコネクション2を確立し(図2の204)、当該TCPコネクション2を利用して、Login Requestを中継する(図2の206)。
この時、キャッシュ装置(C1)は、TCPコネクション1とTCPコネクション2が対であることを管理する(図2の205)。
Login Requestを受信したストレージ装置(S1)は、TCPコネクション2を利用してLogin Responseをキャッシュ装置(C1)に返送し(図2の207)、Login Responseを受信したキャッシュ装置(C1)は、TCPコネクション2に対応するTCPコネクション1を利用して、Login Requestをコンピュータ(PC1)に中継する(図2の208)。
Login Requestを受信したキャッシュ装置(C1)は、Login Request送信元IPアドレス(コンピュータ(PC1)のp1)から、Table1を検索することにより、当該Login Requestの中継先を検索し(図2の203)、検索した中継先であるストレージ装置(S1)(IPアドレスs1、TCPポート3260)との間でTCPコネクション2を確立し(図2の204)、当該TCPコネクション2を利用して、Login Requestを中継する(図2の206)。
この時、キャッシュ装置(C1)は、TCPコネクション1とTCPコネクション2が対であることを管理する(図2の205)。
Login Requestを受信したストレージ装置(S1)は、TCPコネクション2を利用してLogin Responseをキャッシュ装置(C1)に返送し(図2の207)、Login Responseを受信したキャッシュ装置(C1)は、TCPコネクション2に対応するTCPコネクション1を利用して、Login Requestをコンピュータ(PC1)に中継する(図2の208)。
この時、コンピュータ(PC1)とストレージ装置(S1)との間にはiSCSIセッションが確立する(図2の209)。
以降、コンピュータ(PC1)とストレージ装置(S1)との間で送受信されるiSCSIオペレーション、レスポンス、データは、すべてコネクション1とTCPコネクション2およびiSCSIセッションを利用して送受信されることとなる(図2の210〜212)。
さらに、キャッシュ装置(C1)は、イニシエータがターゲットからデータを取得したことを契機に、当該データをキャッシュ装置内にも保存(キャッシュ)する。すなわち、ストレージ装置(S1)からコンピュータ(PC1)に対して返送されたデータは、キャッシュ装置(C1)によって中継されるとともに、キャッシュ装置(C1)内の記憶デバイス(メモリ、ハードディスクドライブ等)にも保存される。
その結果、再度コンピュータ(PC1)からストレージ装置(S1)に対して同一データを読み出すために、SCSI-READが発行された場合には、キャッシュ装置(C1)は当該SCSI-READをストレージ装置(S1)に中継することなく、キャッシュ装置(C1)は折り返し当該データをコンピュータ(PC1)に対して返送する(キャッシュヒットする)。
以降、コンピュータ(PC1)とストレージ装置(S1)との間で送受信されるiSCSIオペレーション、レスポンス、データは、すべてコネクション1とTCPコネクション2およびiSCSIセッションを利用して送受信されることとなる(図2の210〜212)。
さらに、キャッシュ装置(C1)は、イニシエータがターゲットからデータを取得したことを契機に、当該データをキャッシュ装置内にも保存(キャッシュ)する。すなわち、ストレージ装置(S1)からコンピュータ(PC1)に対して返送されたデータは、キャッシュ装置(C1)によって中継されるとともに、キャッシュ装置(C1)内の記憶デバイス(メモリ、ハードディスクドライブ等)にも保存される。
その結果、再度コンピュータ(PC1)からストレージ装置(S1)に対して同一データを読み出すために、SCSI-READが発行された場合には、キャッシュ装置(C1)は当該SCSI-READをストレージ装置(S1)に中継することなく、キャッシュ装置(C1)は折り返し当該データをコンピュータ(PC1)に対して返送する(キャッシュヒットする)。
コンピュータ(PC1)と、ストレージ装置(S1)との間で送受信される一切のiSCSIパケットを中継方法の他の例を、図2−1を用いて説明する。
図2−1では、以下の点で、図2の中継方法と異なっている。
(1)コンピュータ(PC1)からキャッシュ装置(C1)に向かうパケットの着信TCP/IPアドレスが(3260/s1)となり、着信IPアドレスc1からs1に変わった点
(2)その結果、図2のステップ203の「p1から中継先(3260/s1)を検索」が不要になると、ともに、Table1が不要になった点
(3)キャッシュ装置(C1)からコンピュータ(PC1)に向かうパケットの発信IPがs1になった点
(4)以上の結果、コンピュータ(PC1)は、ストレージ装置(S1)の存在のみを意識し、キャッシュ装置(C1)の存在を意識しなくてもよい点
この方法でも、iSCSIパケットを中継することが可能である。
図2−1では、以下の点で、図2の中継方法と異なっている。
(1)コンピュータ(PC1)からキャッシュ装置(C1)に向かうパケットの着信TCP/IPアドレスが(3260/s1)となり、着信IPアドレスc1からs1に変わった点
(2)その結果、図2のステップ203の「p1から中継先(3260/s1)を検索」が不要になると、ともに、Table1が不要になった点
(3)キャッシュ装置(C1)からコンピュータ(PC1)に向かうパケットの発信IPがs1になった点
(4)以上の結果、コンピュータ(PC1)は、ストレージ装置(S1)の存在のみを意識し、キャッシュ装置(C1)の存在を意識しなくてもよい点
この方法でも、iSCSIパケットを中継することが可能である。
以下、本実施例の特徴について説明する。
(a)先ず、本実施例では、複数のキャッシュ装置(C1〜C3)は、ネットワークを介して相互に通信が可能である状態とする。
(b)各キャッシュ装置は、特定の論理ユニット(LU)のデータに対するアクセスを検出、あるいは、特定のターゲットとのiSCSIセッション確立を検出すると、他のすべてのキャッシュ装置に対して、アクセスの対象となった特定の論理ユニットのデータ、あるいは、セッション確立を検出した特定のターゲットのデータに対応するキャッシュデータの削除を要求するメッセージ(以下、削除要求メッセージ)を送信する。
なお、特定の論理ユニット(LU)のデータに対するアクセスとしては、特定の論理ユニット(LU)のデータに対する書き込み(SCSI-WRITE)、特定の論理ユニット(LU)のデータの読み出し(SCSI-READ)、特定の論理ユニット(LU)に対する状態照会(SCSI-READCAPACITY,SCSI-INQUIRY)がある。
また、特定の論理ユニット(LU)のデータに対する書き込み(SCSI-WRITE)以外にも、書き込みを伴うSCSIコマンドがあり、本実施例において、書き込みは、SCSI-WRITEに限定されるものではない。
iSCSIセッション確立は、RFC 3720に定義があるように、コンピュータ(PC)が、Login Requestを送信し、Login Response(成功)が返送されてきたことをもって完了する。
(a)先ず、本実施例では、複数のキャッシュ装置(C1〜C3)は、ネットワークを介して相互に通信が可能である状態とする。
(b)各キャッシュ装置は、特定の論理ユニット(LU)のデータに対するアクセスを検出、あるいは、特定のターゲットとのiSCSIセッション確立を検出すると、他のすべてのキャッシュ装置に対して、アクセスの対象となった特定の論理ユニットのデータ、あるいは、セッション確立を検出した特定のターゲットのデータに対応するキャッシュデータの削除を要求するメッセージ(以下、削除要求メッセージ)を送信する。
なお、特定の論理ユニット(LU)のデータに対するアクセスとしては、特定の論理ユニット(LU)のデータに対する書き込み(SCSI-WRITE)、特定の論理ユニット(LU)のデータの読み出し(SCSI-READ)、特定の論理ユニット(LU)に対する状態照会(SCSI-READCAPACITY,SCSI-INQUIRY)がある。
また、特定の論理ユニット(LU)のデータに対する書き込み(SCSI-WRITE)以外にも、書き込みを伴うSCSIコマンドがあり、本実施例において、書き込みは、SCSI-WRITEに限定されるものではない。
iSCSIセッション確立は、RFC 3720に定義があるように、コンピュータ(PC)が、Login Requestを送信し、Login Response(成功)が返送されてきたことをもって完了する。
(c)削除要求メッセージを受信した他のキャッシュ装置は、自分のキャッシュ装置に保存されている削除要求メッセージで指定されるデータに対応するキャッシュデータを削除する。
(d)(b)において、キャッシュ装置は、削除要求メッセージを「他のすべてのキャッシュ装置」に対して送信する代わりに、「中継装置」に対して送信することもできる。
(e)削除要求メッセージを受信した中継装置は、他のすべてのキャッシュ装置に対して削除要求メッセージを中継する。以下、(c)の処理と同じ。
(f)削除要求メッセージを受信した中継装置は、他のすべてのキャッシュ装置に対して削除要求メッセージを中継する代わりに、一部のキャッシュ装置に対してのみ削除要求メッセージを送信することでもよい。以下、(c)の処理と同じ。
(g)前述の(f)おける「一部のキャッシュ装置」とは、削除対象のキャッシュデータを保存しているキャッシュ装置である。「削除対象のキャッシュデータを保存しているキャッシュ装置」の把握は、各キャッシュ装置から「キャッシュデータ保存開始通知」を受信することにより行う。
なお、「削除対象のキャッシュデータを保存しているキャッシュ装置」の把握は、中継装置(R1)から全キャッシュ装置(C1〜C3)に対して、保存中キャッシュデータ照会を積極的に送信し、各キャッシュ装置(C1〜C3)から、保存中キャッシュデータのLU一覧応答を受けるようにしてもよい。さらに、両者の方法を混在させることも可能である。
(d)(b)において、キャッシュ装置は、削除要求メッセージを「他のすべてのキャッシュ装置」に対して送信する代わりに、「中継装置」に対して送信することもできる。
(e)削除要求メッセージを受信した中継装置は、他のすべてのキャッシュ装置に対して削除要求メッセージを中継する。以下、(c)の処理と同じ。
(f)削除要求メッセージを受信した中継装置は、他のすべてのキャッシュ装置に対して削除要求メッセージを中継する代わりに、一部のキャッシュ装置に対してのみ削除要求メッセージを送信することでもよい。以下、(c)の処理と同じ。
(g)前述の(f)おける「一部のキャッシュ装置」とは、削除対象のキャッシュデータを保存しているキャッシュ装置である。「削除対象のキャッシュデータを保存しているキャッシュ装置」の把握は、各キャッシュ装置から「キャッシュデータ保存開始通知」を受信することにより行う。
なお、「削除対象のキャッシュデータを保存しているキャッシュ装置」の把握は、中継装置(R1)から全キャッシュ装置(C1〜C3)に対して、保存中キャッシュデータ照会を積極的に送信し、各キャッシュ装置(C1〜C3)から、保存中キャッシュデータのLU一覧応答を受けるようにしてもよい。さらに、両者の方法を混在させることも可能である。
前述の(b)において送信され、(c),(d)において受信される「削除要求メッセージ」は、TCP/IPまたはUDP/IPによって、広域ネットワーク(WAN)を介して転送される。
削除要求メッセージには、キャッシュデータを削除したい論理ユニット(LU)を指定する情報が搭載されている。ここで、「論理ユニット(LU)を指定する情報」とは、ターゲット名とLUNの組み合わせで表されるものである。
即ち、LUNは、1つのターゲット内でのみユニークであるため、ターゲット名との組み合わせないと、ただ一つに決まらない。なお、ターゲット名は、RFC3720 iSCSI仕様に従って、全世界で重複しないものが付与されることとなっている。
なお、特定のターゲットとのiSCSIセッション確立を検出したときに、送信される削除要求メッセージは、特定の論理ユニット(LU)に対応するキャッシュデータを削除するものではなく、当該iSCSIセッションが確立した特定のターゲットに対応するキャッシュデータの削除を要求することになる。
削除要求メッセージには、キャッシュデータを削除したい論理ユニット(LU)を指定する情報が搭載されている。ここで、「論理ユニット(LU)を指定する情報」とは、ターゲット名とLUNの組み合わせで表されるものである。
即ち、LUNは、1つのターゲット内でのみユニークであるため、ターゲット名との組み合わせないと、ただ一つに決まらない。なお、ターゲット名は、RFC3720 iSCSI仕様に従って、全世界で重複しないものが付与されることとなっている。
なお、特定のターゲットとのiSCSIセッション確立を検出したときに、送信される削除要求メッセージは、特定の論理ユニット(LU)に対応するキャッシュデータを削除するものではなく、当該iSCSIセッションが確立した特定のターゲットに対応するキャッシュデータの削除を要求することになる。
前述の構成における、キャッシュ装置の動作を詳述する。
動作時の信号シーケンスを図3に示す。
(1)ユーザBは、コンピュータ(PC1)を起動し、文書作成用のアプリケーションソフトを起動する。この際、コンピュータ(PC1)はストレージ装置(S1)内のターゲット(T1)と、RFC3720に規定された手順でiSCSIセッションを確立する。
そして、当該iSCSIセッションを介して、ターゲット(T1)にSCSI-READコマンドを発行することにより、論理ユニット(LU0)から、コンピュータ(PC1)の起動に必要なデータ、およびアプリケーションソフトの起動に必要なデータを取得する(図3では省略)。
(2)次に、ユーザBは、ユーザB専用の論理ユニット(LU1)に保存されたデータ(文書ファイル等)を読み出す。このとき、読み出すデータをAとし、Aは論理ユニット(LU1)内のLBA1〜LBA100(合計100論理ブロック)に保存されているものと仮定する。
動作時の信号シーケンスを図3に示す。
(1)ユーザBは、コンピュータ(PC1)を起動し、文書作成用のアプリケーションソフトを起動する。この際、コンピュータ(PC1)はストレージ装置(S1)内のターゲット(T1)と、RFC3720に規定された手順でiSCSIセッションを確立する。
そして、当該iSCSIセッションを介して、ターゲット(T1)にSCSI-READコマンドを発行することにより、論理ユニット(LU0)から、コンピュータ(PC1)の起動に必要なデータ、およびアプリケーションソフトの起動に必要なデータを取得する(図3では省略)。
(2)次に、ユーザBは、ユーザB専用の論理ユニット(LU1)に保存されたデータ(文書ファイル等)を読み出す。このとき、読み出すデータをAとし、Aは論理ユニット(LU1)内のLBA1〜LBA100(合計100論理ブロック)に保存されているものと仮定する。
コンピュータ(PC1)は、キャッシュ装置(C1)を経由して、SCSI-READコマンド(論理ユニット(LU1)と、LBA1〜100を指定)を発行し、ストレージ装置内論理ユニット(LU1)からデータ(A)を取得する。
取得したデータ(A)は、キャッシュ装置(C1)内にも保存される(図3の301)。図4に示すように、キャッシュ装置(C1)に保存されるデータ(A)は、ターゲット名(t1)、LUN、LBA毎に保存される。
そして、コンピュータ(PC1)が再度同一のデータ(A)をストレージ装置(S1)内論理ユニット(LU0)から取得しようとした際には、キャッシュ装置(C1)内に保存されたデータ(A)がコンピュータ(PC1)に返送される。
データ(A)をストレージ装置(S1)から返送させるよりも、キャッシュ装置(C1)から返送させた方が、コンピュータ(PC1)はデータ(A)を高速に取得できるから、コンピュータ(PC1)の動作が高速化する。
取得したデータ(A)は、キャッシュ装置(C1)内にも保存される(図3の301)。図4に示すように、キャッシュ装置(C1)に保存されるデータ(A)は、ターゲット名(t1)、LUN、LBA毎に保存される。
そして、コンピュータ(PC1)が再度同一のデータ(A)をストレージ装置(S1)内論理ユニット(LU0)から取得しようとした際には、キャッシュ装置(C1)内に保存されたデータ(A)がコンピュータ(PC1)に返送される。
データ(A)をストレージ装置(S1)から返送させるよりも、キャッシュ装置(C1)から返送させた方が、コンピュータ(PC1)はデータ(A)を高速に取得できるから、コンピュータ(PC1)の動作が高速化する。
(3)次に、ユーザBは、コンピュータ(PC1)を停止し、拠点Site2に移動してコンピュータ(PC3)を起動する。この時、コンピュータ(PC3)は、キャッシュ装置(C2)を経由し、(1)と同様にターゲット(T1)に対して、SCSI-READコマンドを発行し、論理ユニット(LU0)からコンピュータ(PC1)の起動に必要なデータ等を取得する。
そして、(2)と同様にターゲット(T1)に対して、SCSI-READコマンドを発行し、論理ユニット(LU1)からデータ(A)を取得する。
さらに、ユーザBは、データ(A)の内容を(A’)に変更し、それを論理ユニット(LU0)に書き込んだと仮定する。データ(A’)の書き込みは、SCSI-WRITEコマンドを発行することによって行なわれる(図3の302〜307)。
(4)(3)の手順によって、ストレージ装置(S1)内の論理ユニット(LU1)のLBA1〜100に保存されているデータ(A)は、(A’)に変化する(図3の308)。一方で、(1)の動作によって、キャッシュ装置(C1)に保存されているデータ(A)は、(A)のままで変化しない。
そして、(2)と同様にターゲット(T1)に対して、SCSI-READコマンドを発行し、論理ユニット(LU1)からデータ(A)を取得する。
さらに、ユーザBは、データ(A)の内容を(A’)に変更し、それを論理ユニット(LU0)に書き込んだと仮定する。データ(A’)の書き込みは、SCSI-WRITEコマンドを発行することによって行なわれる(図3の302〜307)。
(4)(3)の手順によって、ストレージ装置(S1)内の論理ユニット(LU1)のLBA1〜100に保存されているデータ(A)は、(A’)に変化する(図3の308)。一方で、(1)の動作によって、キャッシュ装置(C1)に保存されているデータ(A)は、(A)のままで変化しない。
そこで、キャッシュ装置(C1)に保存されたデータ(A)を消去するために、(3)において、キャッシュ装置(C2)は、論理ユニット(LU1)に対するSCSI-WRITEコマンド発行を検出し(図3のステップ309)、論理ユニット(LU1)のデータに対応するキャッシュデータを削除することを求めるメッセージ(以下、削除要求メッセージ)をキャッシュ装置(C1)とキャッシュ装置(C3)に送信する(図3の310、311)。
削除要求メッセージを受信したキャッシュ装置(C1)は、論理ユニット(LU1)に対応するキャッシュデータ(当然、データ(A)を含む)をすべて削除する(図3の312)。
「SCSI-WRITEコマンド発行を検出」の基準としては、SCSI Response(good)返送を検出した時(図3の307)としてもよいし、SCSI-WRITEを中継した時(図3の303)でもよいし、Data-Outを中継した時(図3の305)でもよい。
なお、前述したように、削除要求メッセージは、特定の論理ユニット(LU)のデータに対するアクセス、即ち、特定の論理ユニット(LU)のデータに対する書き込み(SCSI-WRITE)、特定の論理ユニット(LU)のデータの読み出し(SCSI-READ)、特定の論理ユニット(LU)に対する状態照会(SCSI-READCAPACITY,SCSI-INQUIRY)を検出したときでもよい。
さらには、特定のターゲットとのiSCSIセッション確立を検出した場合であってもよい。但し、この場合には、セッション確立を検出した特定のターゲットのデータに対応するキャッシュデータを削除することになる。
削除要求メッセージを受信したキャッシュ装置(C1)は、論理ユニット(LU1)に対応するキャッシュデータ(当然、データ(A)を含む)をすべて削除する(図3の312)。
「SCSI-WRITEコマンド発行を検出」の基準としては、SCSI Response(good)返送を検出した時(図3の307)としてもよいし、SCSI-WRITEを中継した時(図3の303)でもよいし、Data-Outを中継した時(図3の305)でもよい。
なお、前述したように、削除要求メッセージは、特定の論理ユニット(LU)のデータに対するアクセス、即ち、特定の論理ユニット(LU)のデータに対する書き込み(SCSI-WRITE)、特定の論理ユニット(LU)のデータの読み出し(SCSI-READ)、特定の論理ユニット(LU)に対する状態照会(SCSI-READCAPACITY,SCSI-INQUIRY)を検出したときでもよい。
さらには、特定のターゲットとのiSCSIセッション確立を検出した場合であってもよい。但し、この場合には、セッション確立を検出した特定のターゲットのデータに対応するキャッシュデータを削除することになる。
(5)次に、ユーザBは、コンピュータ(PC3)を停止し、拠点Site1に戻って再びコンピュータ(PC1)を起動する。
この時、ユーザBが、Site2でコンピュータ(PC3)から書き込んだデータ(A’)を読み出そうと、SCSI-READコマンドを発行すると(図3の313)、(4)の手順でキャッシュ装置(C1)内のデータ(A)は消去されているからキャッシュヒットせず(図3の314)、SCSI-READコマンドはストレージ装置(S1)に対して中継され(図3の315)、ストレージ装置からデータ(A’)を取得する(図3の316、317)。
もし、(3)の手順を行っていなかったとすると、キャッシュ装置(C1)からデータ(A)が返送されてしまい(キャッシュヒットしてしまい)、Site2で作成したはずのデータ(A’)を読み出すことができない。
これでは、利便性が低下し、さらにはコンピュータ(PC1)の動作異常をもたらす恐れもある。
この時、ユーザBが、Site2でコンピュータ(PC3)から書き込んだデータ(A’)を読み出そうと、SCSI-READコマンドを発行すると(図3の313)、(4)の手順でキャッシュ装置(C1)内のデータ(A)は消去されているからキャッシュヒットせず(図3の314)、SCSI-READコマンドはストレージ装置(S1)に対して中継され(図3の315)、ストレージ装置からデータ(A’)を取得する(図3の316、317)。
もし、(3)の手順を行っていなかったとすると、キャッシュ装置(C1)からデータ(A)が返送されてしまい(キャッシュヒットしてしまい)、Site2で作成したはずのデータ(A’)を読み出すことができない。
これでは、利便性が低下し、さらにはコンピュータ(PC1)の動作異常をもたらす恐れもある。
手順(3)では、図3の310、311に示すように、削除要求メッセージを、C1とC3のキャッシュ装置(他のすべてのキャッシュ装置)に送信している。
本来ならば、キャッシュ装置(C1)だけに送信すれば充分であるにもかかわらず、すべてのキャッシュ装置(C1、C3)に削除要求メッセージを送信する理由は、キャッシュ装置(C2)は、他のキャッシュ装置が、それぞれ、どの論理ユニット内のデータに対応するキャッシュデータを保存しているか、把握できない点にある。
しかし、本来は、削除要求メッセージを送信しなくてもよいキャッシュ装置(図3では、C3のキャッシュ装置)に対して削除要求メッセージを送信すると、削除要求メッセージ送信に伴うトラフィックが上昇し、広域ネットワーク(WAN)に負担をかけることとなる。
そこで、(6)の手順を行うことにより、その負担を軽減する。以下、 図5に示す信号シーケンスにより、(6)の手順について説明する。
本来ならば、キャッシュ装置(C1)だけに送信すれば充分であるにもかかわらず、すべてのキャッシュ装置(C1、C3)に削除要求メッセージを送信する理由は、キャッシュ装置(C2)は、他のキャッシュ装置が、それぞれ、どの論理ユニット内のデータに対応するキャッシュデータを保存しているか、把握できない点にある。
しかし、本来は、削除要求メッセージを送信しなくてもよいキャッシュ装置(図3では、C3のキャッシュ装置)に対して削除要求メッセージを送信すると、削除要求メッセージ送信に伴うトラフィックが上昇し、広域ネットワーク(WAN)に負担をかけることとなる。
そこで、(6)の手順を行うことにより、その負担を軽減する。以下、 図5に示す信号シーケンスにより、(6)の手順について説明する。
(6)手順(4)において、キャッシュ装置(C2)が、他のキャッシュ装置(C1、C3)に対して削除要求メッセージを送信する代わりに、中継装置(R1)に対して送信する(図5の510)。なお、図5の501〜509までのステップは、図3と同じであるので再度の説明は省略する。
削除要求メッセージを受信した中継装置(R1)は、C2のキャッシュ装置以外のすべてのキャッシュ装置(C1、C3)に対して削除要求メッセージを中継する(図5の511、512)。
削除要求メッセージを受信したキャッシュ装置(C1、C3)の動作は、手順(4)と同様であり、削除要求メッセージを受信したキャッシュ装置(C1)は、論理ユニット(LU1)に対応するキャッシュデータをすべて削除する(図5の513)。
この方法により、キャッシュ装置(C2)のネットワークポートのトラフィックを削減することができる。しかし、キャッシュ装置(C3)に対して、削除要求メッセージが送信されてしまう点では、手順(5)までと事情は変わらない。
そこで、(7)の手順を行うことにより、削除要求メッセージを受信する必要のないキャッシュ装置に対して、削除要求メッセージが送信されてしまうことを防止する。以下、 図6に示す信号シーケンスにより、(7)の手順について説明する。
削除要求メッセージを受信した中継装置(R1)は、C2のキャッシュ装置以外のすべてのキャッシュ装置(C1、C3)に対して削除要求メッセージを中継する(図5の511、512)。
削除要求メッセージを受信したキャッシュ装置(C1、C3)の動作は、手順(4)と同様であり、削除要求メッセージを受信したキャッシュ装置(C1)は、論理ユニット(LU1)に対応するキャッシュデータをすべて削除する(図5の513)。
この方法により、キャッシュ装置(C2)のネットワークポートのトラフィックを削減することができる。しかし、キャッシュ装置(C3)に対して、削除要求メッセージが送信されてしまう点では、手順(5)までと事情は変わらない。
そこで、(7)の手順を行うことにより、削除要求メッセージを受信する必要のないキャッシュ装置に対して、削除要求メッセージが送信されてしまうことを防止する。以下、 図6に示す信号シーケンスにより、(7)の手順について説明する。
(7)キャッシュ装置(C1)は、手順(2)におけるデータ(A)の保存開始された時点(図6の601)で、データ(A)が属する論理ユニット(LU1)に対応するキャッシュデータを保存開始した通知(図6のキャッシュデータ保存開始通知)を、中継装置(R1)に対して発行する(図6の602)。
この通知を受けて、中継装置(R1)は、キャッシュ装置(C1〜C3)におけるLU毎のキャッシュデータ保存状態(保存の有無)を、図7の管理テーブルによって把握する(図6の603)。
図7に示すように、管理テーブルは、ターゲット名(t1)、LUN毎に、対応するキャッシュデータを保存中のキャッシュ装置名を格納する。
図7の管理テーブルの現在状態によれば、キャッシュ装置(C1)とキャッシュ装置(C2)には、論理ユニット(LU0)と論理ユニット(LU1)のキャッシュデータが保存されているが、キャッシュ装置(C3)には、論理ユニット(LU0)と論理ユニット(LU1)のキャッシュデータが保存されていない。
この通知を受けて、中継装置(R1)は、キャッシュ装置(C1〜C3)におけるLU毎のキャッシュデータ保存状態(保存の有無)を、図7の管理テーブルによって把握する(図6の603)。
図7に示すように、管理テーブルは、ターゲット名(t1)、LUN毎に、対応するキャッシュデータを保存中のキャッシュ装置名を格納する。
図7の管理テーブルの現在状態によれば、キャッシュ装置(C1)とキャッシュ装置(C2)には、論理ユニット(LU0)と論理ユニット(LU1)のキャッシュデータが保存されているが、キャッシュ装置(C3)には、論理ユニット(LU0)と論理ユニット(LU1)のキャッシュデータが保存されていない。
次に、手順(3)に示すように、ユーザBは、コンピュータ(PC1)を停止し、拠点Site2に移動してコンピュータ(PC3)を起動し、データ(A)の内容を(A’)に変更し、それを論理ユニット(LU0)に書き込んだとする(図6の604〜611)。
この状態で、手順(6)のように、中継装置(R1)がキャッシュ装置(C2)から削除要求メッセージ(論理ユニット(LU1)を指定)を受信すると(図6の612)、中継装置(R1)は、図7の管理テーブルを参照し、論理ユニット(LU1)のデータに対応するキャッシュデータを保存しているのは、C1のキャッシュ装置であることを判断し、キャッシュ装置(C1)に対してのみ、削除要求メッセージを中継する(図6の613)。
削除要求メッセージを受信したキャッシュ装置(C1)は、論理ユニット(LU1)に対応するキャッシュデータをすべて削除する(図6の614)。
なお、前述したように、中継装置(R1)は、全キャッシュ装置(C1〜C3)に対して、保存中キャッシュデータ照会を積極的に送信し、各キャッシュ装置(C1〜C3)から、保存中キャッシュデータのLU一覧応答を受け執り、「削除対象のキャッシュデータを保存しているキャッシュ装置」を把握するようにしてもよい。
この手順(7)によれば、本来、削除要求メッセージを送信する必要のないキャッシュ装置(ここでは、キャッシュ装置(C3))に削除要求メッセージを送信することがないので、削除要求メッセージ送受信に伴うネットワークの負荷を軽減することができる。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
この状態で、手順(6)のように、中継装置(R1)がキャッシュ装置(C2)から削除要求メッセージ(論理ユニット(LU1)を指定)を受信すると(図6の612)、中継装置(R1)は、図7の管理テーブルを参照し、論理ユニット(LU1)のデータに対応するキャッシュデータを保存しているのは、C1のキャッシュ装置であることを判断し、キャッシュ装置(C1)に対してのみ、削除要求メッセージを中継する(図6の613)。
削除要求メッセージを受信したキャッシュ装置(C1)は、論理ユニット(LU1)に対応するキャッシュデータをすべて削除する(図6の614)。
なお、前述したように、中継装置(R1)は、全キャッシュ装置(C1〜C3)に対して、保存中キャッシュデータ照会を積極的に送信し、各キャッシュ装置(C1〜C3)から、保存中キャッシュデータのLU一覧応答を受け執り、「削除対象のキャッシュデータを保存しているキャッシュ装置」を把握するようにしてもよい。
この手順(7)によれば、本来、削除要求メッセージを送信する必要のないキャッシュ装置(ここでは、キャッシュ装置(C3))に削除要求メッセージを送信することがないので、削除要求メッセージ送受信に伴うネットワークの負荷を軽減することができる。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
PC1〜PC4 コンピュータ
R ルータ
R1 中継装置
C1〜C3 キャッシュ装置
LAN1〜LAN4 ローカルエリアネットワーク
WAN 広域ネットワーク
S1 ストレージ装置
LU0,LU1 論理ユニット、
T ターゲット
R ルータ
R1 中継装置
C1〜C3 キャッシュ装置
LAN1〜LAN4 ローカルエリアネットワーク
WAN 広域ネットワーク
S1 ストレージ装置
LU0,LU1 論理ユニット、
T ターゲット
Claims (9)
- コンピュータと、
前記コンピュータの動作に必要なデータを格納した少なくとも1台のストレージ装置と、
前記コンピュータと前記少なくとも1台のストレージ装置との間の通信を仲介し、前記コンピュータが前記少なくとも1台のストレージ装置から取得したデータ、あるいは、前記コンピュータが前記少なくとも1台のストレージ装置に保存したデータを一時的に記憶する複数のキャッシュ装置と、
前記コンピュータと、前記少なくとも1台のストレージ装置と、前記複数のキャッシュ装置とを接続するネットワークとを備えるネットワークキャッシュシステムであって、
前記各キャッシュ装置は、前記コンピュータからの、前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出する手段1と、
前記手段1で前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出したときに、他のすべてのキャッシュ装置に対して、前記アクセスの対象となった前記特定の論理ユニットのデータ、あるいは、前記セッション確立を検出した特定のターゲットのデータに対応するキャッシュデータの削除を要求する削除要求メッセージを送信する手段2と、
他のキャッシュ装置から前記削除要求メッセージを受信した時に、前記削除要求メッセージで指定されるデータに対応するキャッシュデータを削除する手段3とを有することを特徴とするネットワークキャッシュシステム。 - コンピュータと、
前記コンピュータの動作に必要なデータを格納した少なくとも1台のストレージ装置と、
前記コンピュータと前記少なくとも1台のストレージ装置との間の通信を仲介し、前記コンピュータが前記少なくとも1台のストレージ装置から取得したデータ、あるいは、前記コンピュータが前記少なくとも1台のストレージ装置に保存したデータを一時的に記憶する複数のキャッシュ装置と、
中継装置と、
前記コンピュータと、前記少なくとも1台のストレージ装置と、前記複数のキャッシュ装置と、前記中継装置とを接続するネットワークとを備えるネットワークキャッシュシステムであって、
前記各キャッシュ装置は、前記コンピュータからの、前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出する手段1と、
前記手段1で前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出したときに、前記中継装置に対して、前記アクセスの対象となった前記特定の論理ユニットのデータ、あるいは、前記セッション確立を検出した特定のターゲットのデータに対応するキャッシュデータの削除を要求する削除要求メッセージを送信する手段2と、
前記中継装置から前記削除要求メッセージを受信した時に、前記削除要求メッセージで指定されるデータに対応するキャッシュデータを削除する手段3とを有し、
前記中継装置は、前記各キャッシュ装置から前記削除要求メッセージを受信した時に、前記削除要求メッセージを送信したキャッシュ装置以外の全てのキャッシュ装置に対して、前記削除要求メッセージを送信する手段1を有することを特徴とするネットワークキャッシュシステム。 - 前記各キャッシュ装置は、キャッシュデータの保存を開始したことを前記中継装置に通知する手段4を有し、
前記中継装置は、前記各キャッシュ装置からのキャッシュデータ保存開始の通知、あるいは、前記各キャッシュ装置からの、保存中キャッシュデータ照会に対する保存中キャッシュデータの一覧応答を受け取り、前記少なくとも1台のストレージ装置の特定のターゲット、あるいは、特定の論理ユニットのデータに対応するキャッシュデータを保存するキャッシュ装置を管理する手段2を有し、
前記中継装置の手段1は、前記各キャッシュ装置から前記削除要求メッセージを受信した時に、前記中継装置の前記手段2に基づき、前記削除要求メッセージで指定されるデータに対応するキャッシュデータを保存しているキャッシュ装置に対して、前記削除要求メッセージを送信することを特徴とする請求項2に記載のネットワークキャッシュシステム。 - コンピュータと、
前記コンピュータの動作に必要なデータを格納した少なくとも1台のストレージ装置と、
前記コンピュータと前記少なくとも1台のストレージ装置との間の通信を仲介し、前記コンピュータが前記少なくとも1台のストレージ装置から取得したデータ、あるいは、前記コンピュータが前記少なくとも1台のストレージ装置に保存したデータを一時的に記憶する複数のキャッシュ装置と、
前記コンピュータと、前記少なくとも1台のストレージ装置と、前記複数のキャッシュ装置とを接続するネットワークとを備えるネットワークキャッシュシステムにおけるキャッシュ装置であって、
前記コンピュータからの、前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出する手段1と、
前記手段1で前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出したときに、他のすべてのキャッシュ装置に対して、前記アクセスの対象となった前記特定の論理ユニットのデータ、あるいは、前記セッション確立を検出した特定のターゲットのデータに対応するキャッシュデータの削除を要求する削除要求メッセージを送信する手段2と、
他のキャッシュ装置から前記削除要求メッセージを受信した時に、前記削除要求メッセージで指定されるデータに対応するキャッシュデータを削除する手段3とを有することを特徴とするキャッシュ装置。 - コンピュータと、
前記コンピュータの動作に必要なデータを格納した少なくとも1台のストレージ装置と、
前記コンピュータと前記少なくとも1台のストレージ装置との間の通信を仲介し、前記コンピュータが前記少なくとも1台のストレージ装置から取得したデータ、あるいは、前記コンピュータが前記少なくとも1台のストレージ装置に保存したデータを一時的に記憶する複数のキャッシュ装置と、
中継装置と、
前記コンピュータと、前記少なくとも1台のストレージ装置と、前記複数のキャッシュ装置と、前記中継装置とを接続するネットワークとを備えるネットワークキャッシュシステムにおけるキャッシュ装置であって、
前記コンピュータからの、前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出する手段1と、
前記手段1で前記少なくとも1台のストレージ装置の特定の論理ユニットのデータに対するアクセスを検出、あるいは、特定のターゲットとの間のセッション確立を検出したときに、前記中継装置に対して、前記アクセスの対象となった前記特定の論理ユニットのデータ、あるいは、前記セッション確立を検出した特定のターゲットのデータに対応するキャッシュデータの削除を要求する削除要求メッセージを送信する手段2と、
前記中継装置から前記削除要求メッセージを受信した時に、前記削除要求メッセージで指定されるデータに対応するキャッシュデータを削除する手段3とを有することを特徴とするキャッシュ装置。 - キャッシュデータの保存を開始したことを前記中継装置に通知する手段4を有することを特徴とする請求項5に記載のキャッシュ装置。
- コンピュータと、
前記コンピュータの動作に必要なデータを格納した少なくとも1台のストレージ装置と、
前記コンピュータと前記少なくとも1台のストレージ装置との間の通信を仲介し、前記コンピュータが前記少なくとも1台のストレージ装置から取得したデータ、あるいは、前記コンピュータが前記少なくとも1台のストレージ装置に保存したデータを一時的に記憶する複数のキャッシュ装置と、
中継装置と、
前記コンピュータと、前記少なくとも1台のストレージ装置と、前記複数のキャッシュ装置と、前記中継装置とを接続するネットワークとを備えるネットワークキャッシュシステムにおける中継装置であって、
前記各キャッシュ装置から削除要求メッセージを受信した時に、前記削除要求メッセージを送信したキャッシュ装置以外の全てのキャッシュ装置に対して、前記削除要求メッセージを送信する手段1を有することを特徴とする中継装置。 - 前記各キャッシュ装置からのキャッシュデータ保存開始の通知、あるいは、前記各キャッシュ装置からの、保存中キャッシュデータ照会に対する保存中キャッシュデータの一覧応答を受け取り、前記少なくとも1台のストレージ装置のターゲット、論理ユニット毎に、当該ターゲット、あるいは論理ユニットのデータに対応するキャッシュデータを保存するキャッシュ装置を管理する手段2を有し、
手段1は、前記各キャッシュ装置から前記削除要求メッセージを受信した時に、前記中継装置の前記手段2に基づき、前記削除要求メッセージで指定されるデータに対応するキャッシュデータを保存しているキャッシュ装置に対して、前記削除要求メッセージを送信することを特徴とする請求項7に記載の中継装置。 - コンピュータと、
前記コンピュータの動作に必要なデータを格納した少なくとも1台のストレージ装置と、
前記コンピュータと前記少なくとも1台のストレージ装置との間の通信を仲介し、前記コンピュータが前記少なくとも1台のストレージ装置から取得したデータ、あるいは、前記コンピュータが前記少なくとも1台のストレージ装置に保存したデータを一時的に記憶する複数のキャッシュ装置と、
前記コンピュータと、前記少なくとも1台のストレージ装置と、前記複数のキャッシュ装置とを接続するネットワークとを備えるネットワークキャッシュシステムにおけるキャッシュ装置用のプログラムであって、
コンピュータに、前記請求項4ないし請求項6のいずれか1項に記載の各手段を実現させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006085551A JP2007264744A (ja) | 2006-03-27 | 2006-03-27 | ネットワークキャッシュシステム、キャッシュ装置、中継装置、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006085551A JP2007264744A (ja) | 2006-03-27 | 2006-03-27 | ネットワークキャッシュシステム、キャッシュ装置、中継装置、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007264744A true JP2007264744A (ja) | 2007-10-11 |
Family
ID=38637713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006085551A Pending JP2007264744A (ja) | 2006-03-27 | 2006-03-27 | ネットワークキャッシュシステム、キャッシュ装置、中継装置、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007264744A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009193382A (ja) * | 2008-02-14 | 2009-08-27 | Nec Corp | ブレードサーバシステムのキャッシュサーバ制御回路およびキャッシュサーバ制御方法 |
JP2011028658A (ja) * | 2009-07-28 | 2011-02-10 | Nippon Telegr & Teleph Corp <Ntt> | データベース装置、キャッシュ装置、データベースシステム、キャッシュメンテナンス方法およびそのプログラム |
-
2006
- 2006-03-27 JP JP2006085551A patent/JP2007264744A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009193382A (ja) * | 2008-02-14 | 2009-08-27 | Nec Corp | ブレードサーバシステムのキャッシュサーバ制御回路およびキャッシュサーバ制御方法 |
JP2011028658A (ja) * | 2009-07-28 | 2011-02-10 | Nippon Telegr & Teleph Corp <Ntt> | データベース装置、キャッシュ装置、データベースシステム、キャッシュメンテナンス方法およびそのプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4146653B2 (ja) | 記憶装置 | |
JP4405533B2 (ja) | キャッシュ方法及びキャッシュ装置 | |
US7124169B2 (en) | Network system and its switches | |
JP4963808B2 (ja) | 記憶制御システム | |
US20080126813A1 (en) | Storage control device and method of controlling encryption function of storage control device | |
JP4512179B2 (ja) | ストレージ装置及びそのアクセス管理方法 | |
US20120173840A1 (en) | Sas expander connection routing techniques | |
JP2005202495A (ja) | データ移行方法 | |
JPWO2004104838A1 (ja) | データアクセス応答システム、ストレージシステム、クライアント装置、キャッシュ装置、およびデータアクセス応答システムへのアクセス方法 | |
US7725631B2 (en) | Information system and information storage method of information system | |
JP2004192305A (ja) | iSCSIストレージ管理方法及び管理システム | |
JP2010009573A (ja) | Nas及びcas統合体でデータをバックアップする為の方法と装置 | |
JP2011034525A (ja) | 階層化ストレージシステム及び階層化ストレージシステムにおけるファイルのコピー制御方法 | |
JP2007087059A (ja) | 記憶制御システム | |
JP4175379B2 (ja) | ファイル共有方法およびファイル共有システム | |
JP4607937B2 (ja) | キャッシュ方法及びキャッシュ装置 | |
JP2007072521A (ja) | 記憶制御システム及び記憶制御装置 | |
JP2007264744A (ja) | ネットワークキャッシュシステム、キャッシュ装置、中継装置、およびプログラム | |
JP2005157826A (ja) | アクセス制御装置及び方法 | |
JP4439798B2 (ja) | ディスクアレイ装置の制御方法、及びディスクアレイ装置 | |
JP2004246702A (ja) | 計算機システム、計算機装置、計算機システムにおけるデータアクセス方法及びプログラム | |
JP4485875B2 (ja) | ストレージ接続変更方法、ストレージ管理システム及びプログラム | |
JP2002278905A (ja) | ストレージ装置及び計算機ネットワークシステム | |
KR100952599B1 (ko) | 로컬디스크를 캐쉬로 이용하는 사용자 컴퓨터, 그를이용하는 방법 및 하이브리드 네트워크 스토리지 시스템 | |
JP4607936B2 (ja) | データ転送方法及びデータ転送システム |