(57)【特許請求の範囲】
【請求項１】
ＳＡＳ（Serial Attached SCSI）ネットワークにおけるマルチパスを制御するシステムであって、
ＳＡＳイニシエータと、ＳＡＳターゲットの第１のポートとを接続することにより、第１のパスを形成する第１のＳＡＳエクスパンダと、
前記ＳＡＳイニシエータと、前記ＳＡＳターゲットの第２のポートとを接続することにより、第２のパスを形成する第２のＳＡＳエクスパンダと
を含み、
前記第１のＳＡＳエクスパンダは、自身のＳＡＳアドレスに代えて、自身及び前記第２のＳＡＳエクスパンダが共通に有する一の仮想的なＳＡＳアドレスである仮想エクスパンダアドレスを前記ＳＡＳイニシエータに通知し、前記第１のポートのＳＡＳアドレス及び前記第２のポートのＳＡＳアドレスに代えて、前記ＳＡＳターゲットの一の仮想的なポートのＳＡＳアドレスである仮想ターゲットポートアドレスを前記ＳＡＳイニシエータに通知し、
前記第２のＳＡＳエクスパンダは、自身のＳＡＳアドレスに代えて、前記仮想エクスパンダアドレスを前記ＳＡＳイニシエータに通知し、前記第１のポートのＳＡＳアドレス及び前記第２のポートのＳＡＳアドレスに代えて、前記仮想ターゲットポートアドレスを前記ＳＡＳイニシエータに通知する、システム。
【請求項２】
前記第１のＳＡＳエクスパンダ及び前記第２のＳＡＳエクスパンダの各々は、前記仮想ターゲットポートアドレスを宛先とするデータを前記ＳＡＳイニシエータから受信すると、前記第１のポート及び前記第２のポートのうちの当該仮想ターゲットポートアドレスに対応付けられた使用中ポートのＳＡＳアドレスを宛先として、当該データを前記ＳＡＳターゲットに送信する、請求項１のシステム。
【請求項３】
前記第１のＳＡＳエクスパンダ及び前記第２のＳＡＳエクスパンダの各々は、前記第１のポート及び前記第２のポートのうちの特定のポートまでのパスの障害を検知すると、前記仮想ターゲットポートアドレスに対応付けられた前記使用中ポートのＳＡＳアドレスを、前記第１のポート及び前記第２のポートのうちの当該特定のポート以外のポートのＳＡＳアドレスに切り替える、請求項２のシステム。
【請求項４】
ＳＡＳイニシエータとＳＡＳターゲットとを接続するＳＡＳエクスパンダとして機能する装置であって、
ＳＡＳエクスパンダとして機能する自装置及び他の装置が前記ＳＡＳイニシエータに接続されている構成を、ＳＡＳエクスパンダとして機能する一の装置が前記ＳＡＳイニシエータの一のワイドポートに接続されている構成として前記ＳＡＳイニシエータに認識させる処理であって、自装置のＳＡＳアドレスに代えて、自装置及び当該他の装置が共通に有する一の仮想的なＳＡＳアドレスである仮想エクスパンダアドレスを前記ＳＡＳイニシエータに通知する処理を行う第１の通知部と、
前記ＳＡＳターゲットの第１のポートが自装置に接続され、前記ＳＡＳターゲットの第２のポートが前記他の装置に接続されている構成を、前記ＳＡＳターゲットの一のポートが前記一の装置に接続されている構成として前記ＳＡＳイニシエータに認識させる処理であって、前記第１のポートのＳＡＳアドレス及び前記第２のポートのＳＡＳアドレスに代えて、前記ＳＡＳターゲットの一の仮想的なポートのＳＡＳアドレスである仮想ターゲットポートアドレスを前記ＳＡＳイニシエータに通知する処理を行う第２の通知部と
を含む、装置。
【請求項５】
前記仮想ターゲットポートアドレスと、前記第１のポート及び前記第２のポートのうちの使用中ポートのＳＡＳアドレスとを対応付けた対応情報を記憶する記憶部と、
前記仮想ターゲットポートアドレスを宛先とするデータを前記ＳＡＳイニシエータから受信する受信部と、
前記対応情報にて前記仮想ターゲットポートアドレスに対応付けられた前記使用中ポートのＳＡＳアドレスを、前記受信部により受信された前記データの宛先として決定する決定部と、
前記受信部により受信された前記データを、前記決定部により決定された前記使用中ポートのＳＡＳアドレスを宛先として送信する送信部と
を更に含む、請求項４の装置。
【請求項６】
前記第１のポート及び前記第２のポートのうちの特定のポートまでのパスの障害を検知する検知部と、
前記検知部により前記特定のポートまでのパスの障害が検知されると、前記対応情報における前記使用中ポートのＳＡＳアドレスを、前記第１のポート及び前記第２のポートのうちの当該特定のポート以外のポートのＳＡＳアドレスに切り替える切り替え部と
を更に含む、請求項５の装置。
【請求項７】
ＳＡＳイニシエータとＳＡＳターゲットとを接続するＳＡＳエクスパンダとして機能する装置であって、
ＳＡＳエクスパンダとして機能する自装置及び他の装置が前記ＳＡＳイニシエータに接続されている構成を、ＳＡＳエクスパンダとして機能する一の装置が前記ＳＡＳイニシエータの一のワイドポートに接続されている構成として前記ＳＡＳイニシエータに認識させる処理であって、自装置のＳＡＳアドレスに代えて、自装置及び当該他の装置が共通に有する一の仮想的なＳＡＳアドレスである仮想エクスパンダアドレスを前記ＳＡＳイニシエータに通知する処理を行う第１の通知部と、
前記ＳＡＳターゲットの第１のポートが自装置に接続され、前記ＳＡＳターゲットの第２のポートが前記他の装置に接続されている構成を、前記ＳＡＳターゲットの一のポートが前記一の装置に接続されている構成として前記ＳＡＳイニシエータに認識させる処理であって、前記第１のポートのＳＡＳアドレス及び前記第２のポートのＳＡＳアドレスに代えて、前記ＳＡＳターゲットの一の仮想的なポートのＳＡＳアドレスである仮想ターゲットポートアドレスを前記ＳＡＳイニシエータに通知する処理を行う第２の通知部と、
前記第１のポートのＳＡＳアドレスと、前記第２のポートのＳＡＳアドレスと、前記仮想ターゲットポートアドレスと、前記第１のポート及び前記第２のポートのうちの優先ポートのＳＡＳアドレスと、前記第１のポート及び前記第２のポートのうちの使用中ポートのＳＡＳアドレスとを対応付けた対応情報を記憶する記憶部と、
前記第１のポート及び前記第２のポートのうちの特定のポートまでのパスの障害を検知する検知部と、
前記検知部により前記特定のポートまでのパスの障害が検知されない場合には、前記対応情報における前記使用中ポートのＳＡＳアドレスとして前記優先ポートのＳＡＳアドレスを設定し、前記検知部により前記特定のポートまでのパスの障害が検知された場合には、前記対応情報における前記使用中ポートのＳＡＳアドレスとして前記第１のポート及び前記第２のポートのうちの当該特定のポート以外のポートのＳＡＳアドレスを設定する設定部と、
前記仮想ターゲットポートアドレスを宛先とするデータを前記ＳＡＳイニシエータから受信する受信部と、
前記対応情報にて前記仮想ターゲットポートアドレスに対応付けられた前記使用中ポートのＳＡＳアドレスを、前記受信部により受信された前記データの宛先として決定する決定部と、
前記受信部により受信された前記データを、前記決定部により決定された前記使用中ポートのＳＡＳアドレスを宛先として送信する送信部と
を含む、装置。
【請求項８】
ＳＡＳイニシエータとＳＡＳターゲットと第１のＳＡＳエクスパンダと第２のＳＡＳエクスパンダとを含むＳＡＳネットワークにおけるマルチパスを制御する方法であって、
前記第１のＳＡＳエクスパンダは、前記ＳＡＳイニシエータと、前記ＳＡＳターゲットの第１のポートとを接続することにより、第１のパスを形成し、
前記第２のＳＡＳエクスパンダは、前記ＳＡＳイニシエータと、前記ＳＡＳターゲットの第２のポートとを接続することにより、第２のパスを形成し、
自身のＳＡＳアドレスに代えて、自身及び前記第２のＳＡＳエクスパンダが共通に有する一の仮想的なＳＡＳアドレスである仮想エクスパンダアドレスを前記ＳＡＳイニシエータに通知し、
前記第１のポートのＳＡＳアドレス及び前記第２のポートのＳＡＳアドレスに代えて、前記ＳＡＳターゲットの一の仮想的なポートのＳＡＳアドレスである仮想ターゲットポートアドレスを前記ＳＡＳイニシエータに通知し、
自身のＳＡＳアドレスに代えて、前記仮想エクスパンダアドレスを前記ＳＡＳイニシエータに通知し、
前記第１のポートのＳＡＳアドレス及び前記第２のポートのＳＡＳアドレスに代えて、前記仮想ターゲットポートアドレスを前記ＳＡＳイニシエータに通知する、方法。
【請求項９】
ＳＡＳイニシエータとＳＡＳターゲットとを接続するＳＡＳエクスパンダとしてコンピュータ装置を機能させるプログラムであって、
前記コンピュータ装置を、
ＳＡＳエクスパンダとして機能する自装置及び他の装置が前記ＳＡＳイニシエータに接続されている構成を、ＳＡＳエクスパンダとして機能する一の装置が前記ＳＡＳイニシエータの一のワイドポートに接続されている構成として前記ＳＡＳイニシエータに認識させる処理であって、自装置のＳＡＳアドレスに代えて、自装置及び当該他の装置が共通に有する一の仮想的なＳＡＳアドレスである仮想エクスパンダアドレスを前記ＳＡＳイニシエータに通知する処理を行う第１の通知部と、
前記ＳＡＳターゲットの第１のポートが自装置に接続され、前記ＳＡＳターゲットの第２のポートが前記他の装置に接続されている構成を、前記ＳＡＳターゲットの一のポートが前記一の装置に接続されている構成として前記ＳＡＳイニシエータに認識させる処理であって、前記第１のポートのＳＡＳアドレス及び前記第２のポートのＳＡＳアドレスに代えて、前記ＳＡＳターゲットの一の仮想的なポートのＳＡＳアドレスである仮想ターゲットポートアドレスを前記ＳＡＳイニシエータに通知する処理を行う第２の通知部と
して機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチパスを制御するシステム及び方法に関する。特に、本発明は、ＳＡＳ（Serial Attached SCSI）ネットワークにおけるマルチパスを制御するシステム及び方法に関する。
【背景技術】
【０００２】
多くのストレージネットワークは、ホストからストレージまでのパスを二重化した冗長構成であるマルチパス構成を有している。例えば、ＳＡＳストレージネットワークにおけるマルチパス構成では、ホストが２つのＳＡＳイニシエータポートを有し、ストレージが２つのＳＡＳターゲットポートを有し、ストレージの２つのＳＡＳターゲットポートからの２つの冗長ＳＡＳリンクをそれぞれホストのＳＡＳイニシエータポートに接続している。そして、１つのＳＡＳイニシエータポートからは２つのＳＡＳターゲットポートのうちの一方のみにアクセスできるようになっている。このマルチパス構成は、一方のパスに障害が発生しても、他方のパスでホストがストレージにアクセスできるようにするものであり、ストレージの信頼性を高めるためには必要な構成である。
ところが、このようなマルチパス構成を構築しただけでは、同じストレージがホストからは別のストレージとして見えてしまう。また、一方のパスの障害時に他方のパスに自動的に切り替えることもできない。
そこで、通常、ホストに、マルチパスを制御するソフトウェア（以下、「マルチパスドライバ」という）をインストールする。マルチパスドライバは、ホストから見えるストレージの数の制御や、パスの障害の検知及びパス障害時のパスの切り替えを行う。即ち、マルチパスドライバは、ホストのアプリケーションからマルチパスを意識させないようにするものである。
【０００３】
尚、従来から、ストレージネットワークにおける冗長構成に関する技術は知られている（例えば、特許文献１、２参照）。
特許文献１では、ホストコンピュータとストレージデバイスとが複数のアクセスパスで接続されているストレージデバイスのマルチパスシステムにおけるホストコンピュータが、すべてのアクセスパスを検出し、検出された各アクセスパスに対して所定の時間間隔で検査Ｉ／Ｏを発行して各アクセスパスの障害発生状況を監視し、各アクセスパスの障害発生状況から、障害が発生していると推定される構成要素をまとめた障害箇所情報を作成する。
【０００４】
特許文献２では、複数の記憶装置を接続するネットワークを有するストレージ装置において、ネットワークからデータを入出力するデータ入出力部と、データ入出力部及び記憶装置間を接続する接続部との間、又は、接続部と接続部との間でデータを入出力するための複数の物理的なリンクのうち、少なくとも１つ以上の物理的なリンクを、少なくとも１
つ以上の論理的なリンクに分割して、１つの物理的なリンクに複数の論理的なリンクを設定し、複数の論理的なリンクに、データを同時に多重化転送すると共に、物理的なリンクにデータを転送する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１５８６６６号公報
【特許文献２】特開２００８−２５０６３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
先に述べた通り、ストレージネットワークでマルチパス構成を構築する場合、通常、ホストにマルチパスドライバをインストールしていた。
しかしながら、現状では、ストレージネットワークのインターフェイスによって、異なるマルチパスドライバをインストールすることが必要である。また、ストレージネットワークのインターフェイスが同一であったとしても、ホストのＯＳが異なる場合、異なるベンダのストレージ製品やスイッチ製品をホストに接続する場合等には、異なるマルチパスドライバをインストールしなければならないことがある。従って、マルチパス構成を導入するのに手間がかかり、しかも、マルチパスドライバの組み合わせによっては予期しない動作が行われることがあるため、システム運用前に入念に組み合わせ検証を行うことが必要となっている。
【０００７】
尚、特許文献１、２の技術は、ストレージネットワークにおける冗長構成に関する技術ではあるが、ホストにマルチパスドライバをインストールする場合のこのような課題を解決するものではない。
【０００８】
本発明の目的は、ＳＡＳネットワークにおけるマルチパスを、ホストにマルチパスドライバをインストールする必要なく制御可能とすることにある。
本発明の他の目的は、ＳＡＳネットワークにおけるマルチパスを、スイッチ及びストレージサブシステム側で制御可能とすることにある。
【課題を解決するための手段】
【０００９】
かかる目的のもと、本発明は、ＳＡＳ（Serial Attached SCSI）ネットワークにおけるマルチパスを制御するシステムであって、ＳＡＳイニシエータと、第１のポート及び第２のポートを有するＳＡＳターゲットと、ＳＡＳイニシエータと、ＳＡＳターゲットの第１のポートとを接続することにより、第１のパスを形成する第１のＳＡＳエクスパンダと、ＳＡＳイニシエータと、ＳＡＳターゲットの第２のポートとを接続することにより、第２のパスを形成する第２のＳＡＳエクスパンダとを含み、第１のＳＡＳエクスパンダは、自身のＳＡＳアドレスに代えて、自身及び第２のＳＡＳエクスパンダが共通に有する一の仮想的なＳＡＳアドレスである仮想エクスパンダアドレスをＳＡＳイニシエータに通知し、少なくとも第１のポートのＳＡＳアドレスに代えて、ＳＡＳターゲットの一の仮想的なポートのＳＡＳアドレスである仮想ターゲットポートアドレスをＳＡＳイニシエータに通知し、第２のＳＡＳエクスパンダは、自身のＳＡＳアドレスに代えて、仮想エクスパンダアドレスをＳＡＳイニシエータに通知し、少なくとも第２のポートのＳＡＳアドレスに代えて、仮想ターゲットポートアドレスをＳＡＳイニシエータに通知し、ＳＡＳイニシエータは、第１のＳＡＳエクスパンダ及び第２のＳＡＳエクスパンダにより仮想エクスパンダアドレスが通知されると、一のＳＡＳエクスパンダが自身の一のワイドポートに接続されていると認識し、第１のＳＡＳエクスパンダ及び第２のＳＡＳエクスパンダにより仮想ターゲットポートアドレスが通知されると、ＳＡＳターゲットが一のポートを介して一のＳＡＳエクスパンダに接続されていると認識する、システムを提供する。
【００１０】
ここで、第１のＳＡＳエクスパンダ及び第２のＳＡＳエクスパンダの各々は、仮想ターゲットポートアドレスを宛先とするデータをＳＡＳイニシエータから受信すると、第１のポート及び第２のポートのうちの仮想ターゲットポートアドレスに対応付けられた使用中ポートのＳＡＳアドレスを宛先として、データをＳＡＳターゲットに送信する、ものであってよい。
また、第１のＳＡＳエクスパンダ及び第２のＳＡＳエクスパンダの各々は、第１のポート及び第２のポートのうちの特定のポートまでのパスの障害を検知すると、仮想ターゲットポートアドレスに対応付けられた使用中ポートのＳＡＳアドレスを、第１のポート及び第２のポートのうちの特定のポート以外のポートのＳＡＳアドレスに切り替える、ものであってよい。
【００１１】
また、本発明は、ＳＡＳイニシエータとＳＡＳターゲットとを接続するＳＡＳエクスパンダとして機能する装置であって、ＳＡＳエクスパンダとして機能する自装置及び他の装置がＳＡＳイニシエータに接続されている構成を、ＳＡＳエクスパンダとして機能する一の装置がＳＡＳイニシエータの一のワイドポートに接続されている構成としてＳＡＳイニシエータに認識させる処理であって、自装置のＳＡＳアドレスに代えて、自装置及び他の装置が共通に有する一の仮想的なＳＡＳアドレスである仮想エクスパンダアドレスをＳＡＳイニシエータに通知する処理を行う第１の通知部と、ＳＡＳターゲットの第１のポートが自装置に接続され、ＳＡＳターゲットの第２のポートが他の装置に接続されている構成を、ＳＡＳターゲットの一のポートが一の装置に接続されている構成としてＳＡＳイニシエータに認識させる処理であって、少なくとも第１のポートのＳＡＳアドレスに代えて、ＳＡＳターゲットの一の仮想的なポートのＳＡＳアドレスである仮想ターゲットポートアドレスをＳＡＳイニシエータに通知する処理を行う第２の通知部とを含む、装置も提供する。
【００１２】
ここで、本発明は、仮想ターゲットポートアドレスと、第１のポート及び第２のポートのうちの使用中ポートのＳＡＳアドレスとを対応付けた対応情報を記憶する記憶部と、仮想ターゲットポートアドレスを宛先とするデータをＳＡＳイニシエータから受信する受信部と、対応情報にて仮想ターゲットポートアドレスに対応付けられた使用中ポートのＳＡＳアドレスを、受信部により受信されたデータの宛先として決定する決定部と、受信部により受信されたデータを、決定部により決定された使用中ポートのＳＡＳアドレスを宛先として送信する送信部とを更に含む、ものであってよい。
また、本発明は、第１のポート及び第２のポートのうちの特定のポートまでのパスの障害を検知する検知部と、検知部により特定のポートまでのパスの障害が検知されると、対応情報における使用中ポートのＳＡＳアドレスを、第１のポート及び第２のポートのうちの特定のポート以外のポートのＳＡＳアドレスに切り替える切り替え部とを更に含む、ものであってよい。
【００１３】
また、本発明は、ＳＡＳイニシエータとＳＡＳターゲットとを接続するＳＡＳエクスパンダとして機能する装置であって、ＳＡＳエクスパンダとして機能する自装置及び他の装置がＳＡＳイニシエータに接続されている構成を、ＳＡＳエクスパンダとして機能する一の装置がＳＡＳイニシエータの一のワイドポートに接続されている構成としてＳＡＳイニシエータに認識させる処理であって、自装置のＳＡＳアドレスに代えて、自装置及び他の装置が共通に有する一の仮想的なＳＡＳアドレスである仮想エクスパンダアドレスをＳＡＳイニシエータに通知する処理を行う第１の通知部と、ＳＡＳターゲットの第１のポートが自装置に接続され、ＳＡＳターゲットの第２のポートが他の装置に接続されている構成を、ＳＡＳターゲットの一のポートが一の装置に接続されている構成としてＳＡＳイニシエータに認識させる処理であって、少なくとも第１のポートのＳＡＳアドレスに代えて、ＳＡＳターゲットの一の仮想的なポートのＳＡＳアドレスである仮想ターゲットポートアドレスをＳＡＳイニシエータに通知する処理を行う第２の通知部と、第１のポートのＳＡＳアドレスと、第２のポートのＳＡＳアドレスと、仮想ターゲットポートアドレスと、第１のポート及び第２のポートのうちの優先ポートのＳＡＳアドレスと、第１のポート及び第２のポートのうちの使用中ポートのＳＡＳアドレスとを対応付けた対応情報を記憶する記憶部と、第１のポート及び第２のポートのうちの特定のポートまでのパスの障害を検知する検知部と、検知部により特定のポートまでのパスの障害が検知されない場合には、対応情報における使用中ポートのＳＡＳアドレスとして優先ポートのＳＡＳアドレスを設定し、検知部により特定のポートまでのパスの障害が検知された場合には、対応情報における使用中ポートのＳＡＳアドレスとして第１のポート及び第２のポートのうちの特定のポート以外のポートのＳＡＳアドレスを設定する設定部と、仮想ターゲットポートアドレスを宛先とするデータをＳＡＳイニシエータから受信する受信部と、対応情報にて仮想ターゲットポートアドレスに対応付けられた使用中ポートのＳＡＳアドレスを、受信部により受信されたデータの宛先として決定する決定部と、受信部により受信されたデータを、決定部により決定された使用中ポートのＳＡＳアドレスを宛先として送信する送信部とを含む、装置も提供する。
【００１４】
更に、本発明は、ＳＡＳイニシエータとＳＡＳターゲットと第１のＳＡＳエクスパンダと第２のＳＡＳエクスパンダとを含むＳＡＳネットワークにおけるマルチパスを制御する方法であって、第１のＳＡＳエクスパンダは、ＳＡＳイニシエータと、ＳＡＳターゲットの第１のポートとを接続することにより、第１のパスを形成し、自身のＳＡＳアドレスに代えて、自身及び第２のＳＡＳエクスパンダが共通に有する一の仮想的なＳＡＳアドレスである仮想エクスパンダアドレスをＳＡＳイニシエータに通知し、少なくとも第１のポートのＳＡＳアドレスに代えて、ＳＡＳターゲットの一の仮想的なポートのＳＡＳアドレスである仮想ターゲットポートアドレスをＳＡＳイニシエータに通知し、第２のＳＡＳエクスパンダは、ＳＡＳイニシエータと、ＳＡＳターゲットの第２のポートとを接続することにより、第２のパスを形成し、自身のＳＡＳアドレスに代えて、仮想エクスパンダアドレスをＳＡＳイニシエータに通知し、少なくとも第２のポートのＳＡＳアドレスに代えて、仮想ターゲットポートアドレスをＳＡＳイニシエータに通知し、ＳＡＳイニシエータは、第１のＳＡＳエクスパンダ及び第２のＳＡＳエクスパンダにより仮想エクスパンダアドレスが通知されると、一のＳＡＳエクスパンダが自身の一のワイドポートに接続されていると認識し、第１のＳＡＳエクスパンダ及び第２のＳＡＳエクスパンダにより仮想ターゲットポートアドレスが通知されると、ＳＡＳターゲットが一のポートを介して一のＳＡＳエクスパンダに接続されていると認識する、方法も提供する。
【００１５】
更にまた、本発明は、ＳＡＳイニシエータとＳＡＳターゲットとを接続するＳＡＳエクスパンダとしてコンピュータ装置を機能させるプログラムであって、コンピュータ装置を、ＳＡＳエクスパンダとして機能する自装置及び他の装置がＳＡＳイニシエータに接続されている構成を、ＳＡＳエクスパンダとして機能する一の装置がＳＡＳイニシエータの一のワイドポートに接続されている構成としてＳＡＳイニシエータに認識させる処理であって、自装置のＳＡＳアドレスに代えて、自装置及び他の装置が共通に有する一の仮想的なＳＡＳアドレスである仮想エクスパンダアドレスをＳＡＳイニシエータに通知する処理を行う第１の通知部と、ＳＡＳターゲットの第１のポートが自装置に接続され、ＳＡＳターゲットの第２のポートが他の装置に接続されている構成を、ＳＡＳターゲットの一のポートが一の装置に接続されている構成としてＳＡＳイニシエータに認識させる処理であって、少なくとも第１のポートのＳＡＳアドレスに代えて、ＳＡＳターゲットの一の仮想的なポートのＳＡＳアドレスである仮想ターゲットポートアドレスをＳＡＳイニシエータに通知する処理を行う第２の通知部として機能させる、プログラムも提供する。
【発明の効果】
【００１６】
本発明によれば、ＳＡＳネットワークにおけるマルチパスを、ホストにマルチパスドライバをインストールする必要なく制御可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態におけるＳＡＳストレージネットワークの構成例を示したブロック図である。
【図２】本発明の実施の形態におけるＳＡＳエクスパンダの構成例を示したブロック図である。
【図３】本発明の実施の形態で用いられるターゲットポート構成テーブルの一例を示した図である。
【図４】本発明の実施の形態におけるＳＡＳエクスパンダの仮想トポロジ報告時の動作例を示したフローチャートである。
【図５−１】本発明の実施の形態におけるＳＡＳエクスパンダの仮想トポロジ生成時の動作例を示したフローチャートである。
【図５−２】本発明の実施の形態におけるＳＡＳエクスパンダの仮想トポロジ報告時の動作例を示したフローチャートである。
【図６】本発明の実施の形態のＳＡＳエクスパンダによる仮想トポロジ報告後のＳＡＳホストからの各装置の見え方を示した図である。
【図７】本発明の実施の形態におけるＳＡＳエクスパンダのＳＡＳフレーム受信時の動作例を示したフローチャートである。
【図８】本発明の実施の形態におけるＳＡＳエクスパンダのパス障害検知時の動作例を示したフローチャートである。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
まず、本発明の実施の形態の概要を説明する。
ＳＡＳストレージネットワークは、ＳＡＳエクスパンダを用いて、複数のＳＡＳデバイス（ＳＡＳイニシエータ及びＳＡＳターゲット）を接続することにより構成される。
このようなＳＡＳストレージネットワークにおいて、本実施の形態では、ＳＡＳの標準を逸脱することなく、ＳＡＳの特徴を利用し、マルチパス構成のために用いるＳＡＳエクスパンダにマルチパス制御機能を搭載する。具体的には、ＳＡＳの特徴のうち、マルチレーン接続と、ＳＭＰ（SAS Management Protocol）によるＳＡＳトポロジのディスカバリプロセスとに注目し、ＳＡＳエクスパンダに対して、各ホストにそのホスト固有の仮想的なＳＡＳトポロジを報告する機能と、ＳＡＳアドレス変換機能とを追加する。
こうすることで、特別なＨＢＡ（Host Bus Adapter）やストレージ装置を必要とせず、また、マルチパスドライバ等の特別なソフトウェアをホストにインストールすることなく、ホストに対して、あたかも信頼性の高い１つのＳＡＳストレージがマルチレーンポートで接続されているように見せることを可能とする。
【００１９】
図１は、本実施の形態におけるＳＡＳストレージネットワーク１の構成例を示したブロック図である。
図示するように、本実施の形態におけるＳＡＳストレージネットワーク１は、ＳＡＳホスト１０と、ＳＡＳスイッチ２０ａ，２０ｂと、ＳＡＳストレージサブシステム３０とを備えている。
【００２０】
ＳＡＳホスト１０は、ＳＡＳスイッチ２０ａ，２０ｂを介してＳＡＳストレージサブシステム３０にアクセスするコンピュータであり、単に「ホスト」ということもある。例えば、ＳＡＳストレージネットワーク１がブレードサーバシステムであるとすると、ＳＡＳホスト１０は、マイクロプロセッサ、メモリ、ネットワークコントローラ等のコンポーネントを１枚に収めたブレードサーバである。
また、ＳＡＳホスト１０は、ＳＡＳイニシエータ１１として機能する部分を含む。ここで、ＳＡＳイニシエータ１１として機能する部分とは、例えばＨＢＡである。
更に、本実施の形態では、後述するように、ＳＡＳイニシエータ１１が、１つのＳＡＳイニシエータポート（以下、単に「イニシエータポート」という）として、ＳＡＳイニシエータ１１内に黒の塗り潰しで示したワイドポートを有するように構成される。そして、ＳＡＳエクスパンダ２１ａ，２１ｂからの冗長なリンク４１ａ，４１ｂがマルチレーンとしてまとめられ、このワイドポートに接続される。従って、ワイドポートには１つのＳＡＳアドレスが割り当てられる。以下では、このＳＡＳアドレスをＨとする。尚、ＳＡＳはマルチレーンによるワイドポート機能を標準でサポートしているので、特別なソフトウェアを必要とせずにこのような構成とすることができる。
【００２１】
ＳＡＳスイッチ２０ａ，２０ｂは、それぞれ、ＳＡＳホスト１０とＳＡＳストレージサブシステム３０とを接続することにより、複数のパスを形成するスイッチモジュールである。
また、ＳＡＳスイッチ２０ａ，２０ｂは、それぞれ、ＳＡＳエクスパンダ２１ａ，２１ｂとして機能する部分を含む。本実施の形態では、第１のＳＡＳエクスパンダの一例として、ＳＡＳエクスパンダ２１ａを設けており、第２のＳＡＳエクスパンダの一例として、ＳＡＳエクスパンダ２１ｂを設けている。
更に、ＳＡＳストレージサブシステム３０からのリンク４２ａはＳＡＳエクスパンダ２１ａに接続され、ＳＡＳストレージサブシステム３０からのリンク４２ｂはＳＡＳエクスパンダ２１ｂに接続される。そして、ＳＡＳエクスパンダ２１ａとＳＡＳエクスパンダ２１ｂも互いに接続され、ブリッジ４３を構成している。
尚、図では、ＳＡＳエクスパンダ２１ａ，２１ｂを示したが、これらを区別する必要がない場合は、単にＳＡＳエクスパンダ２１とも称する。また、ここでは２つのＳＡＳエクスパンダ２１を示したが、ＳＡＳエクスパンダ２１の数は２つには限らない。
【００２２】
ＳＡＳストレージサブシステム３０は、ＳＡＳホスト１０から受信したデータを記憶したり、記憶していたデータをＳＡＳホスト１０に送信したりするサブシステムである。
また、ＳＡＳストレージサブシステム３０は、ＳＡＳエクスパンダ３１ａ，３１ｂとして機能する部分と、ＳＡＳターゲット３２ａ，３２ｂ，３２ｃとして機能する部分とを含む。ここで、ＳＡＳエクスパンダ３１ａ，３１ｂとして機能する部分とは、例えばＳＡＳストレージを制御するＳＡＳストレージコントローラである。また、ＳＡＳターゲット３２ａ，３２ｂ，３２ｃとして機能する部分とは、例えばデュアルポートのＳＡＳストレージであり、それぞれが２つのＳＡＳターゲットポート（以下、単に「ターゲットポート」という）を有している。そして、この２つのターゲットポートのそれぞれがＳＡＳアドレスを有している。以下、ＳＡＳターゲット３２ａ，３２ｂ，３２ｃの２つのターゲットポートのＳＡＳアドレスのうち、ＳＡＳエクスパンダ３１ａ側のターゲットポートのＳＡＳアドレスをＤ１Ａ，Ｄ２Ａ，Ｄ３Ａとし、ＳＡＳエクスパンダ３１ｂ側のターゲットポートのＳＡＳアドレスをＤ１Ｂ，Ｄ２Ｂ，Ｄ３Ｂとする。本実施の形態では、第１のポートの一例として、ＳＡＳエクスパンダ３１ａ側のターゲットポートを用いており、第２のポートの一例として、ＳＡＳエクスパンダ３１ｂ側のターゲットポートを用いている。
尚、図では、ＳＡＳターゲット３２ａ，３２ｂ，３２ｃを示したが、これらを区別する必要がない場合は、単にＳＡＳターゲット３２とも称する。また、ここでは３つのＳＡＳターゲット３２を示したが、ＳＡＳターゲット３２の数は３つには限らない。
【００２３】
このような構成において、ＳＡＳホスト１０からＳＡＳターゲット３２への物理的なパスには、以下の４通りがある（ｘ＝１，２，３）。
（Ａ）イニシエータポートＨ→リンク４１ａ→リンク４２ａ→ターゲットポートＤｘＡ
（Ｂ）イニシエータポートＨ→リンク４１ａ→ブリッジ４３→リンク４２ｂ→ターゲットポートＤｘＢ
（Ｃ）イニシエータポートＨ→リンク４１ｂ→リンク４２ｂ→ターゲットポートＤｘＢ
（Ｄ）イニシエータポートＨ→リンク４１ｂ→ブリッジ４３→リンク４２ａ→ターゲットポートＤｘＡ
本実施の形態では、第１のパスの一例として、パスＡ及びパスＤを用いており、第２のパスの一例として、パスＢ及びパスＣを用いている。
【００２４】
ところで、本実施の形態では、前述の通り、ＳＡＳホスト１０にマルチパスドライバ等の特別なソフトウェアをインストールしない。
しかしながら、図１に示した構成のまま、ＳＡＳホスト１０にマルチパスドライバ等をインストールしなかったとすると、ＳＡＳホスト１０は、ＳＡＳターゲット３２の２つのターゲットポートに別々のパスでアクセスすることができるので、１つのＳＡＳターゲット３２が複数のＳＡＳターゲット３２として見えてしまう。
そこで、ＳＡＳホスト１０から見えるＳＡＳターゲット３２の数の制御及びＳＡＳターゲット３２へのアクセスパスの制御のために、ＳＡＳホスト１０に直接接続されているＳＡＳエクスパンダ２１ａ，２１ｂに対して、以下の機能を搭載する。
（１）ターゲットポート構成テーブル
（２）各ホストにそのホスト固有の仮想的なＳＡＳトポロジを報告する機能
（３）ターゲットポートのＳＡＳアドレスの変換によるパス制御機能
【００２５】
次に、これらの機能が搭載されたＳＡＳエクスパンダ２１の機能構成について説明する。尚、ＳＡＳエクスパンダ２１ａとＳＡＳエクスパンダ２１ｂの機能構成は同様であるので、ここでは、ＳＡＳエクスパンダ２１の機能構成として説明する。
図２は、ＳＡＳエクスパンダ２１の機能構成例を示したブロック図である。
図示するように、ＳＡＳエクスパンダ２１は、受信部２２と、テーブル記憶部２３と、装置情報管理部２４と、トポロジ管理部２５と、宛先変更部２６と、テーブル更新部２７と、送信部２９とを備えている。
【００２６】
受信部２２は、ＳＡＳイニシエータ１１が初期化時に送信したIDENTIFY ADDRESSフレームを受信する。また、ＳＡＳイニシエータ１１がＳＡＳディスカバリプロセスの実行時に送信したＳＡＳトポロジの要求や、自装置がＳＡＳディスカバリプロセス実行時に送信したＳＡＳトポロジの要求に対する応答を受信する。更に、ＳＡＳイニシエータ１１が送信したＳＡＳフレームを受信する。更にまた、パスの障害を検知するための情報を受信する。本実施の形態では、データを受信する受信部、特定のポートまでのパスの障害を検知する検知部の一例として、受信部２２を設けている。
【００２７】
テーブル記憶部２３は、ＳＡＳイニシエータ１１がアクセスすべきターゲットポート等を定義したターゲットポート構成テーブルを記憶する。このターゲットポート構成テーブルについては後で詳しく述べる。本実施の形態では、対応情報を記憶する記憶部の一例として、テーブル記憶部２３を設けている。
【００２８】
装置情報管理部２４は、自装置の装置種別がＳＡＳエクスパンダであることと、自装置の仮想的なＳＡＳアドレス（以下、「仮想エクスパンダアドレス」という）とを含む装置情報を管理する。
【００２９】
トポロジ管理部２５は、ＳＡＳトポロジを知るためのプロセス（ＳＡＳディスカバリプロセス）を自装置が実行するための情報を管理すると共に、ＳＡＳディスカバリプロセスを自装置が実行することによって取得したＳＡＳトポロジに基づいて仮想的なＳＡＳトポロジ（以下、「仮想トポロジ」という）を生成する。特に、この仮想トポロジには、ＳＡＳターゲット３２の仮想的なターゲットポートのＳＡＳアドレス（以下、「仮想ターゲットポートアドレス」という）が含まれる。
【００３０】
宛先変更部２６は、受信部２２が受信したＳＡＳフレームの宛先を、ターゲットポート構成テーブルを参照して変更する。本実施の形態では、使用中ポートのＳＡＳアドレスをデータの宛先として決定する決定部の一例として、宛先変更部２６を設けている。
【００３１】
テーブル更新部２７は、受信部２２が受信した情報に基づいてパスの障害を検知した場合に、ＳＡＳイニシエータ１１がアクセスすべきターゲットポートが切り替わるように、テーブル記憶部２３に記憶されたターゲットポート構成テーブルを更新する。本実施の形態では、使用中ポートのＳＡＳアドレスを特定のポート以外のポートのＳＡＳアドレスに切り替える切り替え部、使用中ポートのＳＡＳアドレスとして特定のポート以外のポートのＳＡＳアドレスを設定する設定部の一例として、テーブル更新部２７を設けている。
【００３２】
送信部２９は、ＳＡＳイニシエータ１１からIDENTIFY ADDRESSフレームを受信した場合には、自装置の装置種別がＳＡＳエクスパンダであることと、自装置の仮想エクスパンダアドレスとをＳＡＳイニシエータ１１に送信する。また、リンクリセット検知時及び変更ブロードキャスト受信時には、他の装置にＳＡＳトポロジの要求を送信する。そして、ＳＡＳイニシエータ１１からのＳＡＳトポロジの要求に対して、仮想トポロジを送信する。更に、ＳＡＳフレームをＳＡＳターゲット３２に送信する。本実施の形態では、仮想エクスパンダアドレスをＳＡＳイニシエータに通知する第１の通知部、仮想ターゲットポートアドレスをＳＡＳイニシエータに通知する第２の通知部、データを送信する送信部の一例として、送信部２９を設けている。
【００３３】
以下、ＳＡＳエクスパンダ２１に搭載する機能（１）〜（３）について説明する。
（１）ターゲットポート構成テーブル
図３は、ＳＡＳエクスパンダ２１のテーブル記憶部２３に記憶させるターゲットポート構成テーブルの一例を示した図である。
図示するように、ターゲットポート構成テーブルは、ＳＡＳホスト１０に提供するストレージの数だけエントリを持つ。図１ではＳＡＳターゲット３２ａ，３２ｂ，３２ｃを示したので、図３では、これらのＳＡＳターゲット３２にそれぞれ対応するエントリ＃１，＃２，＃３を設けている。
【００３４】
また、各エントリに対して、以下の項目ごとに値を設定している。
第一に、そのＳＡＳターゲット３２のＳＡＳエクスパンダ３１ａ側のターゲットポート（図では「ターゲットポートＡ」と表記）のＳＡＳアドレスである。ここでは、図１での説明に従い、エントリ＃１，＃２，＃３に対して、それぞれ、ＳＡＳアドレスＤ１Ａ，Ｄ２Ａ，Ｄ３Ａを記憶している。
第二に、そのＳＡＳターゲット３２のＳＡＳエクスパンダ３１ｂ側のターゲットポート（図では「ターゲットポートＢ」と表記）のＳＡＳアドレスである。ここでは、図１での説明に従い、エントリ＃１，＃２，＃３に対して、それぞれ、ＳＡＳアドレスＤ１Ｂ，Ｄ２Ｂ，Ｄ３Ｂを記憶している。
【００３５】
第三に、そのＳＡＳターゲット３２の仮想ターゲットポートアドレスである。ここでは、Ｄ１Ａ及びＤ１Ｂに対する仮想ターゲットポートアドレスをＤ１、Ｄ２Ａ及びＤ２Ｂに対する仮想ターゲットポートアドレスをＤ２、Ｄ３Ａ及びＤ３Ｂに対する仮想ターゲットポートアドレスをＤ３としている。
第四に、そのＳＡＳターゲット３２の２つのターゲットポートのうちアクセスに優先的に使用すべきターゲットポート（以下、「優先ターゲットポート」という）のＳＡＳアドレスである。ここでは、ＳＡＳエクスパンダ３１ａ側のターゲットポートを優先ターゲットポートとしている。
第五に、そのＳＡＳターゲット３２の２つのターゲットポートのうちアクセスに現在使用中のターゲットポート（以下、「カレントアクセスポート」という）のＳＡＳアドレスである。初期状態では、優先ターゲットポートをカレントアクセスポートとするので、図では、そのときの状態を示している。
【００３６】
尚、このターゲットポート構成テーブルは、ＳＡＳホスト１０やその他のＳＡＳ管理用サーバからＳＭＰにてＳＡＳエクスパンダ２１に送信するとよい。或いは、ウェブ等の管理ユーザインターフェイスから通信回線を介して設定してもよい。
また、ターゲットポート構成テーブルに設定する仮想ターゲットポートアドレスとしては、図３のように新たなＳＡＳアドレスを生成してもよいし、ＳＡＳターゲット３２が既に仮想のＳＡＳアドレス（例えば、ＳＡＳデバイス名等）を持っていればそれを使用してもよい。
【００３７】
ここで、ターゲットポート構成テーブルは、ＳＡＳエクスパンダ２１ａ，２１ｂの両方に持たせる必要がある。そして、ＳＡＳエクスパンダ２１ａが持つターゲットポート構成テーブルとＳＡＳエクスパンダ２１ｂが持つターゲットポート構成テーブルとの間で同期をとることも必要である。
【００３８】
（２）各ホストにそのホスト固有の仮想的なＳＡＳトポロジを報告する機能
ＳＡＳイニシエータ１１は、ＳＡＳのポートの初期化時に、自身のイニシエータポートの接続先を特定する。具体的には、IDENTIFY ADDRESSフレームにより、自身のＰＨＹに接続されている装置の装置種別とＳＡＳアドレスとを特定する。本実施の形態において、ＳＡＳイニシエータ１１は、IDENTIFY ADDRESSフレームを、ＳＡＳエクスパンダ２１ａ，２１ｂの両方に送信する。
これに対し、ＳＡＳエクスパンダ２１は、自身の実ＳＡＳアドレスに代えて、１つの仮想エクスパンダアドレスをＳＡＳイニシエータ１１に通知する。
【００３９】
図４は、このときのＳＡＳエクスパンダ２１の動作例を示したフローチャートである。
ＳＡＳエクスパンダ２１（ＳＡＳエクスパンダ２１ａ，２１ｂ）では、まず、受信部２２が、ＳＡＳイニシエータ１１からIDENTIFY ADDRESSフレームを受信する（ステップ２０１）。
すると、装置情報管理部２４が、自身の装置種別として、ＳＡＳエクスパンダである旨の情報を取得すると共に、自身のＳＡＳアドレスとして、ＳＡＳエクスパンダ２１ａ，２１ｂに共通に与えられた仮想エクスパンダアドレスを取得する（ステップ２０２）。ここで、仮想エクスパンダアドレスは、ＳＡＳエクスパンダ２１内の図示しないメモリに予め記憶しておけばよい。
そして、送信部２９は、装置情報管理部２４が取得した装置種別及びＳＡＳアドレスをＳＡＳイニシエータ１１に送信する（ステップ２０３）。
その結果、ＳＡＳホスト１０のＨＢＡは、自身の２つのＰＨＹが同じＳＡＳエクスパンダに接続されていると判断し、１つの２レーンポートを構成させる。ＨＢＡは、複数のＰＨＹが同一のＳＡＳエクスパンダに接続した場合、ＳＡＳの標準の機能により、ワイドポートを形成し、複数のＰＨＹを１つのポートとして機能させるからである。
【００４０】
その後、ＳＡＳイニシエータ１１は、ＳＡＳトポロジを知るためのプロセス（ＳＡＳディスカバリプロセス）を実行する。ＳＡＳディスカバリプロセスを実行した装置は、ＳＡＳドメインに存在する全ての装置について、装置種別、ＳＡＳアドレス、サポートするプロトコル、どのＳＡＳエクスパンダに接続されているかを知ることができる。ＳＡＳイニシエータ１１はこれを実行し、接続可能なＳＡＳアドレスの特定や、コネクションレートの特定に利用する。
また、通常、ＳＡＳエクスパンダ２１は、ＳＡＳフレームのルーティングのためにルーティングテーブルを構築する必要があるが、自身のルーティングテーブルを構築する方法には、以下の２つの方法がある。
・ＳＡＳエクスパンダ２１がＳＡＳディスカバリプロセスを実行して情報を取得することによりルーティングテーブルを構築するセルフコンフィグレーション
・外部装置（例えばＳＡＳイニシエータ１１）がＳＭＰによってＳＡＳエクスパンダ２１にルーティングテーブルを設定する外部コンフィグレーション
本実施の形態では、このうち、セルフコンフィグレーションのみをサポートする。つまり、ＳＡＳエクスパンダ２１も、自身のルーティングテーブルを構築するためにＳＡＳディスカバリプロセスを実行する。
【００４１】
さて、上述したように、ＳＡＳイニシエータ１１は、ＳＡＳディスカバリプロセスを実行することにより、ＳＡＳエクスパンダ２１にＳＡＳトポロジを要求する。
これに対し、ＳＡＳエクスパンダ２１は、ＳＡＳターゲット３２のターゲットポートの実ＳＡＳアドレスを含む実際のＳＡＳトポロジに代えて、１つの仮想ターゲットポートアドレスを含む仮想的なＳＡＳトポロジ（仮想トポロジ）をＳＡＳイニシエータ１１に通知する。
【００４２】
図５−１及び図５−２は、このときのＳＡＳエクスパンダ２１の動作例を示したフローチャートである。このうち、図５−１は、ＳＡＳエクスパンダ２１がＳＡＳディスカバリプロセスを実行する場合の動作例を示したものであり、図５−２は、ＳＡＳイニシエータ１１がＳＡＳディスカバリプロセスを実行する場合の動作例を示したものである。
まず、ＳＡＳエクスパンダ２１がＳＡＳディスカバリプロセスを実行する場合について説明する。
ＳＡＳエクスパンダ２１では、図５−１に示すように、まず、受信部２２が、リンクリセットの検知又は変更ブロードキャストの受信を行う（ステップ２２１）。
すると、トポロジ管理部２５が、ＳＡＳトポロジを知るためのＳＡＳディスカバリプロセスの実行を開始する（ステップ２２２）。
そして、送信部２９が、他の装置にＳＡＳトポロジを要求する（ステップ２２３）。具体的には、まず、ＰＨＹの接続先の装置に対してＳＡＳトポロジを要求する。そして、その接続先が更にＳＡＳエクスパンダであれば、そのＳＡＳエクスパンダについても同様の処理を行う。
【００４３】
これにより、受信部２２が、ＳＡＳドメインに存在する全ての装置について、装置種別、ＳＡＳアドレス、サポートするプロトコル、どのＳＡＳエクスパンダに接続されているかを示すＳＡＳトポロジを受信する（ステップ２２４）。
すると、トポロジ管理部２５が、受信部２２が受信したＳＡＳトポロジに基づいて仮想トポロジを生成する（ステップ２２５）。ここで、仮想トポロジは、ＨＢＡがアクセス可能な装置のみがあたかもＳＡＳエクスパンダに直接接続されているかのように見せるためのものである。従って、この仮想トポロジを生成する処理は、ターゲットポート構成テーブルを参照して実際のターゲットポートのＳＡＳアドレスを仮想ターゲットポートアドレスに変換する処理や、仮想エクスパンダアドレスを有するＳＡＳエクスパンダにこの仮想のターゲットポートが接続された状態を表すように変換する処理等を含んでいる。或いは、受信部２２が受信したＳＡＳトポロジがターゲットポート構成テーブルの定義と矛盾していれば、エラー情報を生成してもよい。尚、仮想トポロジやエラー情報は、ＳＡＳエクスパンダ２１内の図示しないメモリに記憶すればよい。
【００４４】
次に、ＳＡＳイニシエータ１１がＳＡＳディスカバリプロセスを実行する場合について説明する。
ＳＡＳイニシエータ１１は、リンクリセットの検知又は変更ブロードキャストの受信に応じて、ＳＡＳディスカバリプロセスを実行する。即ち、ＳＡＳエクスパンダ２１にＳＡＳトポロジを要求する。
これにより、ＳＡＳエクスパンダ２１では、図５−２に示すように、まず、受信部２２が、ＳＡＳイニシエータ１１からＳＡＳトポロジの要求を受信する（ステップ２４１）。
すると、トポロジ管理部２５が、図示しないメモリに記憶された仮想トポロジを取り出す（ステップ２４２）。
そして、送信部２９が、この取りだされた仮想トポロジをＳＡＳイニシエータ１１に送信する（ステップ２４３）。尚、このとき、図示しないメモリにエラー情報が記憶されていれば、エラーメッセージをＳＡＳイニシエータ１１に送信してもよい。
【００４５】
図６は、図４、図５−１、図５−２の処理を行った結果、ＳＡＳホスト１０からの各装置の見え方がどのようになるかを示したものである。
まず、ＳＡＳホスト１０は、ＳＡＳイニシエータ１１として機能する部分も含めて、図１に示した実際の構成と同じである。
一方、図１のＳＡＳスイッチ２０ａ，２０ｂは、ＳＡＳホスト１０からは、１つのＳＡＳスイッチとして認識される。これを、図では仮想ＳＡＳスイッチ５０として示している。そして、ＳＡＳホスト１０からは、自身のＨＢＡの２つのＰＨＹが１つのＳＡＳエクスパンダに接続されているように見える。これを、図では仮想ＳＡＳエクスパンダ５１として示している。
また、ＳＡＳホスト１０からは、アクセスするＳＡＳターゲットが直接ＳＡＳエクスパンダに接続されているように見える。これを、図では、仮想ＳＡＳターゲット６２ａ，６２ｂ，６２ｃとして示している。そして、これらの仮想ＳＡＳターゲット６２を含むＳＡＳストレージサブシステムも、図では、仮想ＳＡＳストレージサブシステム６０として示している。
これにより、複数のコネクションを同時に張ることができ、高いパフォーマンスを実現できるようになる。
また、同一の装置が複数の装置として認識されることがなくなる。
【００４６】
（３）ターゲットポートのＳＡＳアドレスの変換によるパス制御機能
（１）で述べたように、ＳＡＳエクスパンダ２１は、内部にターゲットポート構成テーブルを持つ。そして、仮想ターゲットポートアドレスを実ターゲットポートアドレスに変換し、ルーティングを行う。
図７は、このときのＳＡＳエクスパンダ２１の動作例を示したフローチャートである。
ＳＡＳエクスパンダ２１では、まず、受信部２２が、仮想ターゲットポートアドレスが宛先に設定されたＳＡＳフレームを受信する（ステップ２５１）。
すると、宛先変更部２６が、宛先に設定された仮想ターゲットポートアドレスを、テーブル記憶部２３に記憶されたターゲットポート構成テーブル内のカレントアクセスポートのＳＡＳアドレスの値に変更する（ステップ２５２）。
そして、送信部２９が、その変更後のＳＡＳアドレスに対してＳＡＳフレームを転送する（ステップ２５３）。通常は、カレントアクセスポートのＳＡＳアドレスに優先ターゲットポートのＳＡＳアドレスの値をセットすることで、ＳＡＳフレームは優先ターゲットポートへのパスに転送される。
【００４７】
このようなパス制御を行いつつ、本実施の形態では、一方のパスに障害が起こった場合に他方のパスに切り替える制御も行う。
図８は、このときのＳＡＳエクスパンダ２１の動作例を示したフローチャートである。
ＳＡＳエクスパンダ２１では、まず、受信部２２が、直接のリンクダウンの検知や、ネットワークの先にあるＳＡＳエクスパンダからのブロードキャストにより、パスの障害を検知する（ステップ２７１）。
すると、テーブル更新部２７が、テーブル記憶部２３に記憶されたターゲットポート構成テーブル内のカレントアクセスポートのＳＡＳアドレスの値を、他方のターゲットポートのＳＡＳアドレスの値に書き換える（ステップ２７２）。
これにより、ＳＡＳホスト１０から特別なアクションを必要とせずに、パスを切り替えることができる。例えば、図１で、パスＡ（イニシエータポートＨ→リンク４１ａ→リンク４２ａ→ターゲットポートＤｘＡ）が優先パスである場合において、リンク４２ａに障害が発生したとする。すると、カレントアクセスポートのＳＡＳアドレスの値をＤｘＡからＤｘＢに変更することにより、アクセスに用いるパスが、パスＢ（イニシエータポートＨ→リンク４１ａ→ブリッジ４３→リンク４２ｂ→ターゲットポートＤｘＢ）に切り替わる。
【００４８】
このように、本実施の形態では、ＳＡＳエクスパンダ２１に上記機能（１）〜（３）を搭載した。
これにより、ＳＡＳドメインにおいてマルチパスの制御をスイッチ及びストレージサブシステム側で吸収できるようになった。その結果、ＳＡＳホスト１０にマルチパスドライバをインストールすることなく、マルチパスの制御を行うことが可能となった。そして、ＳＡＳホスト１０にマルチパスドライバをインストールする必要がなくなったことから、ＳＡＳホスト１０のＯＳやストレージサブシステム及びスイッチに依存することなく、マルチパスの制御を行うことが可能となった。
また、ＳＡＳエクスパンダ２１に簡単な機能を追加するだけでマルチパスの制御を行えるようになった。
更に、ＳＡＳの標準を逸脱しないので、汎用的にＳＡＳのネットワークに用いることが可能である。
【００４９】
尚、本実施の形態は、複数のＳＡＳホスト１０及び複数のＳＡＳターゲット３２に対しても適応可能である。また、マルチパス構成を１つ又は３つ以上のＳＡＳエクスパンダを用いて構築したとしても、本実施の形態は適用可能である。
【００５０】
また、本実施の形態では、ＳＡＳエクスパンダ２１間の情報の同期の自動化を容易にすること、及び、マルチパスの経路を増やすことを目的として、ブリッジ４３を設け、ＳＡＳエクスパンダ２１が、ＳＡＳターゲット３２の２つのターゲットポートのＳＡＳアドレスを取得できることを前提とした。そして、ＳＡＳエクスパンダ２１は、２つのターゲットポートのＳＡＳアドレスに代えて、仮想ターゲットポートアドレスをＳＡＳイニシエータ１１に通知するものとした。しかしながら、ブリッジ４３を設けず、ＳＡＳエクスパンダ２１ａはＳＡＳターゲット３２のＳＡＳエクスパンダ３１ａ側のターゲットポートのＳＡＳアドレスのみを、ＳＡＳエクスパンダ２１ｂはＳＡＳターゲット３２のＳＡＳエクスパンダ３１ｂ側のターゲットポートのＳＡＳアドレスのみを取得できることを前提としてもよい。この場合、ＳＡＳエクスパンダ２１ａはＳＡＳエクスパンダ３１ａ側のターゲットポートのＳＡＳアドレスに代えて仮想ターゲットポートアドレスをＳＡＳイニシエータ１１に通知し、ＳＡＳエクスパンダ２１ｂはＳＡＳエクスパンダ３１ｂ側のターゲットポートのＳＡＳアドレスに代えて仮想ターゲットポートアドレスをＳＡＳイニシエータ１１に通知することとなる。
【００５１】
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（装置又は機器）、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【００５２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【００５３】
１０…ＳＡＳホスト、１１…ＳＡＳイニシエータ、２０…ＳＡＳスイッチ、２１，３１…ＳＡＳエクスパンダ、２２…受信部、２３…テーブル記憶部、２４…装置情報管理部、２５…トポロジ管理部、２６…宛先変更部、２７…テーブル更新部、２９…送信部、３０…ＳＡＳストレージサブシステム、３２…ＳＡＳターゲット、４１，４２…リンク、４３…ブリッジ
【図１】
0005528243.tif 000002
【図２】
0005528243.tif 000003
【図３】
0005528243.tif 000004
【図４】
0005528243.tif 000005
【図５−１】
0005528243.tif 000006
【図５−２】
0005528243.tif 000007
【図６】
0005528243.tif 000008
【図７】
0005528243.tif 000009
【図８】
0005528243.tif 000010