【事件の表示】
　特願２００４−５２６０２２「メディア・エリア・ネットワークのためのリアルタイム故障回復」拒絶査定不服審判事件〔平成１６年　２月１２日国際公開、ＷＯ２００４／０１３７１９、平成１７年１１月１７日国内公表、特表２００５−５３５０３４〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続きの経緯
　本願は、平成１５年７月３日を国際出願日（優先権主張：２００２年８月２日（米国））とする出願であり、平成１８年６月５日に出願審査請求と同日に手続補正がなされ、平成２０年１１月６日付け拒絶理由通知書に対して、平成２１年５月１５日に手続補正がなされたが、同年６月１１日付けで拒絶査定がなされ、それに対して同年１０月２６日に拒絶査定不服審判請求がなされたものである。
　
　
２．本願発明
　本願の請求項５に係る発明（以下、「本願発明」という。）は、平成２１年５月１５日付け手続補正書により補正された特許請求の範囲の請求項５に記載された次のとおりのものと認める。
「ディジタル化された情報を記憶する少なくとも１個の記憶デバイスを有する記憶システムと、ネットワーク・システムを全体的に制御するホスト・システムと、前記ホスト・システムと前記記憶システムとの間のリンクを与えるホスト・バス・アダプタと、を具える前記ネットワーク・システムにおいて故障からの回復を達成する方法であって、
　各々の記憶デバイスは、最初のポートが一方のリンクを介して連結され、代替ポートが他方のリンクを介して連結されている２つのリンクを介して前記ホスト・バス・アダプタへの接続が維持されており、前記方法は、
　前記ホスト・バス・アダプタ内の、前記ホスト・システムの外部の下位レベルのポート・ドライバにおいて前記記憶システムと前記ホスト・バス・アダプタとの間の通信状態をモニタするステップと、
　前記最初のポートの通信の故障発生時に、該故障が認識された後に前記代替ポートを起動して故障からの回復を達成するために、前記下位レベル・ポート・ドライバにおいて切替えを開始するステップと、を含んでおり、該切替えを開始するステップは、
　前記通信が故障した前記最初のポートから前記代替ポートにリクエストをキューするステップと、
　前記最初のポートへの未処理のリクエストをすべてキャンセルするステップと、
　前記代替ポートを介して少なくとも１つのコマンドを発するステップと、を含む、前記方法。」
　
　
３．引用例
（１）原査定の拒絶の理由に引用された米国特許第５９４４８３８号明細書（以下、「引用例」という。）には、図面とともに次の記載がある。
　
（イ）「One skilled in the art will recognize that the RDAC layer is a logical component, typically embodied as a software module. The RDAC layer typically operates within either the host system (as part of the operating system) or may be operable within intelligent I/O adapters in the host as well as embedded storage controllers within the storage subsystem. The physical components on which the RDAC layer is operable are not particularly relevant to the layered architecture of which the RDAC layer is a component. It is generally desirable that the RDAC layer operate at a higher level thus enabling it to encompass control of a larger number of I/O path elements in its failure recovery techniques.」（第１欄第３６行−同欄第４８行）
（当審訳：ＲＤＡＣ層は、論理的コンポーネントであり、典型的にはソフトウェアモジュールとして組み込まれることは、当業者が認識しているであろう。ＲＤＡＣ層は、典型的には、（ＯＳの一部として）ホストシステムの中で動作するか、またはストレージサブシステムの中の組み込まれたストレージコントローラと同様、ホスト内のインテリジェントＩ／Ｏアダプタの中で動作可能であってもよい。ＲＤＡＣ層が動作可能である物理的コンポーネントは、ＲＤＡＣ層がコンポーネントである層アーキテクチャには特に関連しない。ＲＤＡＣ層がより高いレベルで動作し、それ故、それが障害回復技術における多くのＩ／Ｏパス要素の制御を包含することを可能とすることは、一般に望ましいことである。）
　
（ロ）「FIG. 1 depicts an exemplary computing environment in which the methods and apparatus of the present invention are operable to provide fast, portable, failover restart of I/O requests after an I/O path failure. Host system 104 is connected via redundant buses 105 and 106 to the data storage subsystem 108. Data storage subsystem 108 includes redundant storage control modules 110 and 112 connected to redundant buses 105 and 106, respectively. Control modules 110 and 112 are, in turn, connected via redundant buses 114 and 115, respectively, to disk array 116, containing a plurality of redundant disk drives 118.
One of ordinary skill will recognize that control modules 110 and 112 may provide RAID storage management functions for disk array 116. The methods of the present invention are applicable within host systems interfaced to storage subsystems having redundant paths therebetween. RAID storage management is a common configuration for such storage subsystems offering redundant operations but is not required for operation of the methods of the present invention on an attached host system.
As shown in FIG. 1, bus 105, control module 110, and bus 115 form a first I/O path between host system 104 and disk array 116. Bus 106, control module 112, and bus 114 form a second (redundant) I/O path between host system 104 and disk array 116. One of ordinary skill will further note that I/O adapters within host system 104, a first attached to bus 105 and a second attached to bus 106, may form yet another component of each of the redundant I/O paths. Further, it will be recognized that any number of I/O paths may connect host system 104 to disk array 116. FIG. 1 is therefore intended only as exemplary of one computing environment in which the methods of the present invention may be advantageously applied. Many similar computing environments will be recognized by those skilled in the art.」（第５欄第８行−同欄第４２行）
（当審訳：図１は、本件発明の方法及び装置が、Ｉ／Ｏパス障害の後の、Ｉ／Ｏリクエストの高速・移植可能・フェイルオーバー再開を提供するよう動作可能である例示的コンピューティング環境を図示している。ホストシステム１０４は、冗長バス１０５及び１０６を経由してデータストレージサブシステム１０８に接続されている。データストレージサブシステム１０８は、それぞれ冗長バス１０５及び１０６に接続された冗長ストレージコントロールモジュール１１０及び１１２を含んでいる。コントロールモジュール１１０及び１１２は、同様にそれぞれ冗長バス１１４及び１１５を経由して、複数の冗長ディスクドライブ１１８を含んでいるディスクアレイ１１６に接続されている。
　コントロールモジュール１１０及び１１２は、ディスクアレイ１１６のためのＲＡＩＤストレージ管理機能を提供するであろうことを、当業者は認識するであろう。ストレージサブシステムにインターフェースし、間に冗長パスを有するホストシステムの中において、本件発明の方法は適用できる。ＲＡＩＤストレージ管理は、冗長動作を提供するそのようなストレージサブシステムのための共通の構成であるが、付属のホストシステムに関する本件発明の方法の動作のためには必要でない。
　図１に示されているように、バス１０５、コントロールモジュール１１０及びバス１１５は、ホストシステム１０４及びディスクアレイ１１６の間の第一Ｉ／Ｏパスを形成している。バス１０６、コントロールモジュール１１２及びバス１１４は、ホストシステム１０４及びディスクアレイ１１６の間の第二（冗長）Ｉ／Ｏパスを形成している。ホストシステム１０４の中の、一方はバス１０５に接続され、他方はバス１０６に接続されているＩ／Ｏアダプタは、各々の冗長パスのさらに別のコンポーネントを形成するであろうことに、当業者はさらに注目するであろう。さらに、任意の多くのＩ／Ｏパスがホストシステム１０４をディスクアレイ１１６に接続するであろうことが認識される。それ故、図１は、本件発明の方法が有利に適用されるであろうところの１つのコンピューティング環境の例示としてのみ意図される。多くの同様のコンピューティング環境は当業者によって認識される。）
　
（ハ）「Portable, Fast, Failover Restart of I/O Operations
FIG. 3 is a simplified block diagram showing the handling of I/O requests by the methods of the present invention. Application software 302 sends I/O requests to RDAC 304, which in turn transfers them to (standard) low level disk driver 310. As above with respect to FIG. 2, low level disk driver 310 maintains dispatch queues 306 and 308 corresponding to each redundant I/O path for purposes of buffering the generation of I/O requests by RDAC 304 and the slower, asynchronous processing of I/O requests on the storage array (e.g., RAID LUNs not shown). Low level disk driver 310 controls the storage array to perform the requested I/O operations in due course asynchronously with respect to the processing of RDAC 304. RDAC 304 also maintains a pending I/O queue 312 containing a copy of each I/O request sent to low level disk driver 310 and thereby queued on path A dispatch queue 306.
RDAC 304 controller preferably maintains a single pending I/O queue 312 in which a copy of each I/O request is maintained until it is completed. 」（第６欄第５６行−第７欄第８行）
（当審訳：Ｉ／Ｏ動作の、移植可能・高速・フェイルオーバー再開
　図３は、本件発明の方法によるＩ／Ｏリクエストの扱いを示している簡略なブロック図である。アプリケーションソフトウェア３０２は、Ｉ／ＯリクエストをＲＤＡＣ３０４に送信し、ＲＤＡＣ３０４は次に、それらを（標準）下位レベルディスクドライバ３１０に転送する。図２に関して前述したように、ＲＤＡＣ３０４によるＩ／Ｏリクエストの生成と、（不図示のＲＡＩＤ　ＬＵＮなどの）ストレージアレイに関するＩ／Ｏリクエストの、より遅い、非同期の処理とを緩衝することを目的として、下位レベルディスクドライバ３１０は、各々の冗長Ｉ／Ｏパスに対応する発送待ち行列３０６及び３０８を保持している。下位レベルディスクドライバ３１０は、ＲＤＡＣ３０４の処理に関して、通常は非同期に、リクエストされたＩ／Ｏ動作を行うために、ストレージアレイを制御する。ＲＤＡＣ３０４はまた、下位レベルディスクドライバ３１０に送信され、パスＡ発送待ち行列３０６に入れられた各Ｉ／Ｏリクエストのコピーを含んでいる待機Ｉ／Ｏ待ち行列３１２を保持している。
　ＲＤＡＣ３０４のコントローラは、好ましくは、各々のＩ／Ｏリクエストが完遂されるまで、そのコピーが保持される単一の待機Ｉ／Ｏ待ち行列３１２を保持する。）
　
（ニ）「In normal processing of I/O requests, the copy of an I/O request in pending I/O queue 312 is removed when the I/O request is successfully completed by the low level disk driver 310. However, when an I/O request first fails on the bad I/O path, RDAC 304 uses the pending I/O queue 312 to rapidly identify all I/O requests pending within the low level disk driver 310 (e.g., within dispatch queue 306 for I/O path A) and restart all such identified I/O requests on the alternate good I/O path.」（第７欄第２５行−同欄第３３行）
（当審訳：Ｉ／Ｏリクエストの通常の処理において、Ｉ／Ｏリクエストが下位レベルディスクドライバ３１０によって成功裏に完遂されるとき、待機Ｉ／Ｏ待ち行列３１２の中のＩ／Ｏリクエストのコピーは消去される。しかしながら、状態の悪いＩ／Ｏパスにおいて、Ｉ／Ｏリクエストに最初の障害が発生したときに、（例えば、Ｉ／ＯパスＡのために発送待ち行列３０６の中にある）下位レベルディスクドライバ３１０の中で待機している全てのＩ／Ｏリクエストを早期に特定するために、ＲＤＡＣ３０４は待機Ｉ／Ｏ待ち行列３１２を用い、そして、すべてのそのような特定されたＩ／Ｏリクエストを、代替の状態の良いＩ／Ｏパスで再開する。）
　
（ホ）「The benefit of the present invention is shown by considering the flow of I/O requests in the event of a failure on a first I/O path A. The low level disk driver 310 sends the first of the failed I/O requests back to RDAC 304. RDAC 304 then searches pending I/O queue 312 for the failed I/O request. Depending upon the data structure and organization of the pending I/O queue 312, locating the first failed I/O request may be as simple as identifying the first entry in the queue. Having found the failed I/O request, RDAC 304 will then transfer the I/O request to the good I/O path via low level disk driver 310. Low level disk driver 310 then queue the request on the good I/O path B dispatch queue 308. In addition, RDAC 304 locates all other pending I/O requests in the pending I/O queue 312 destined to eventually fail in the normal course of processing requests in the now failed bad I/O path A (those presently in dispatch queue 306 of I/O path A awaiting processing by low level disk driver 310). All other such located I/O requests in pending I/O queue 312 are also transferred to the low level disk driver 310 destined for alternate good I/O path B. Low level disk driver 310 then queues the additional, redirected I/O requests on path B's dispatch queue 308. Thus, at the time of completion of the operation, all the potentially thousands of I/O requests still waiting in the path A dispatch queue 306, destined to fail, are also awaiting processing by low level disk driver 310 in the path B dispatch queue 308. Failover restart processing of the I/O requests is therefore not dependent upon the time required for each request to individually fail out of the path A dispatch queue 306. Rather, all requests are redirected to the good I/O path B at the time of sensing the first failure in the bad I/O path A.」（第７欄第３４行−同欄第６４行）
（当審訳：本件発明の利点は、第一Ｉ／ＯパスＡにおける障害が発生したときにおけるＩ／Ｏリクエストのフローを考慮することによって示される。下位レベルディスクドライバ３１０は、最初の障害発生Ｉ／ＯリクエストをＲＤＡＣ３０４に返送する。ＲＤＡＣ３０４は、そのとき障害が発生したＩ／Ｏリクエストを見つけるために待機Ｉ／Ｏ待ち行列３１２をサーチする。待機Ｉ／Ｏ待ち行列３１２のデータ構造や組織に依存するが、最初の障害が発生したＩ／Ｏリクエストを見つけることは、その待ち行列の第一順位を特定することと同様簡単である。ＲＤＡＣ３０４が、障害が発生したＩ／Ｏリクエストを見つけると、ＲＤＡＣ３０４は、下位レベルディスクドライバ３１０を経由して、状態の良いＩ／ＯパスにそのＩ／Ｏリクエストを転送する。下位レベルディスクドライバ３１０は、そのリクエストを、状態の良いＩ／ＯパスＢ発送待ち行列３０８に入れる。加えて、ＲＤＡＣ３０４は、待機Ｉ／Ｏ待ち行列３１２内の、通常はリクエストを処理するが、今となっては障害が発生した状態の悪いＩ／ＯパスＡ（目下Ｉ／ＯパスＡの発送待ち行列３０６内にあるＩ／Ｏリクエストは、下位レベルディスクドライバ３１０によって処理されるのを待っている。）で、ゆくゆくは障害が発生することとなる全ての他の待機Ｉ／Ｏリクエストを見つける。待機Ｉ／Ｏ待ち行列３１２の中の全ての他のそのようなＩ／Ｏリクエストは、また、状態の良い代替のＩ／ＯパスＢ行きである下位レベルディスクドライバ３１０へ転送される。下位レベルディスクドライバ３１０は、そのとき、追加の、出力先を変更されたＩ／ＯリクエストをパスＢ発送待ち行列３０８に入れる。それ故、その動作の完遂時に、パスＡ発送待ち行列３０６の中でまだ待機しており、障害が発生することとなる、すべての潜在的に数千のＩ／Ｏリクエストは、同様に、パスＢ待機待ち行列３０８の中で下位レベルディスクドライバ３１０によって処理されるのを待っていることになる。それ故、Ｉ／Ｏリクエストのフェイルオーバー再開処理は、各々のリクエストが個々に障害が発生してパスＡ発送待ち行列３０６から出て行くのに必要とする時間に依存しない。むしろ、すべてのリクエストは、状態の悪いＩ／ＯパスＡにおける最初の障害を検出するのと同時に、状態の良いＩ／ＯパスＢに出力先を変更される。）
　
（ヘ）ＦＩＧ．１には、ディスクアレイ１１６は、第一Ｉ／Ｏパスに連結されるポートと、第二（冗長）Ｉ／Ｏパスに連結されるポートとを有していることが記載されている。
　
　したがって、引用例には、つぎの発明（以下、「引用発明」という。）が開示されているものと認められる。
　
「Ｉ／Ｏパス障害の後の、Ｉ／Ｏリクエストの高速・フェイルオーバー再開を提供するよう動作可能なコンピューティング環境の方法であって、
　ホストシステム１０４は、冗長バス１０５及び１０６を経由してデータストレージサブシステム１０８に接続されており、データストレージサブシステム１０８は、それぞれ冗長バス１０５及び１０６に接続された冗長ストレージコントロールモジュール１１０及び１１２を含んでおり、コントロールモジュール１１０及び１１２は、同様にそれぞれ冗長バス１１４及び１１５を経由して、複数の冗長ディスクドライブ１１８を含んでいるディスクアレイ１１６に接続されており、
　バス１０５、コントロールモジュール１１０及びバス１１５は、ホストシステム１０４及びディスクアレイ１１６の間の第一Ｉ／Ｏパスを形成しており、バス１０６、コントロールモジュール１１２及びバス１１４は、ホストシステム１０４及びディスクアレイ１１６の間の第二Ｉ／Ｏパスを形成しており、ホストシステム１０４の中のＩ／Ｏアダプタは、一方はバス１０５に接続され、他方はバス１０６に接続されており、
　ディスクアレイ１１６は、第一Ｉ／Ｏパスに連結されるポートと、第二Ｉ／Ｏパスに連結されるポートとを有しており、
　アプリケーションソフトウェア３０２は、Ｉ／ＯリクエストをＲＤＡＣ３０４に送信し、ＲＤＡＣ３０４は次に、それらを下位レベルディスクドライバ３１０に転送し、
　下位レベルディスクドライバ３１０は、各々の冗長Ｉ／Ｏパスに対応する発送待ち行列３０６及び３０８を保持しており、下位レベルディスクドライバ３１０は、ＲＤＡＣ３０４の処理に関して、リクエストされたＩ／Ｏ動作を行うために、ディスクアレイ１１６（ストレージアレイ）を制御し、
　ＲＤＡＣ３０４（ＲＤＡＣ層）は、ホスト内のＩ／Ｏアダプタ（インテリジェントＩ／Ｏアダプタ）の中で動作可能であってもよく、
　第一Ｉ／Ｏパス（Ｉ／ＯパスＡ）における障害が発生したときにおけるＩ／Ｏリクエストのフローにおいて、下位レベルディスクドライバ３１０は、最初の障害発生Ｉ／ＯリクエストをＲＤＡＣ３０４に返送し、ＲＤＡＣ３０４が、障害が発生したＩ／Ｏリクエストを見つけると、ＲＤＡＣ３０４は、下位レベルディスクドライバ３１０を経由して、状態の良いＩ／ＯパスにそのＩ／Ｏリクエストを転送し、下位レベルディスクドライバ３１０は、そのリクエストを、状態の良い第二Ｉ／Ｏパス（Ｉ／ＯパスＢ）発送待ち行列３０８に入れ、
　すべてのリクエストは、状態の悪い第一Ｉ／Ｏパス（Ｉ／ＯパスＡ）における最初の障害を検出するのと同時に、状態の良い第二Ｉ／Ｏパスに出力先を変更される
　コンピューティング環境の方法。」
　
　
３．対比
　本願発明と引用発明とを対比する。
　引用発明の冗長ディスクドライブ１１８が、ディジタル化された情報を記憶していることは当然である。よって、引用発明の「冗長ディスク１１８」は、本願発明の「記憶デバイス」に相当する。
　引用発明の「ディスクアレイ１１６」は、複数の冗長ディスクドライブ１１８を有しているので、引用発明の「記憶システム」に相当する。
　引用発明において、ホストシステム１０４が、コンピューティング環境を全体的に制御していることは当然であり、コンピューティング環境はシステムともいえる。よって、引用発明の「ホストシステム１０４」は、「システムを全体的に制御する」点で、本願発明の「ホスト・システム」と一致している。
　引用発明のＩ／Ｏアダプタは、第一Ｉ／Ｏパス（バス１０５、コントロールモジュール１１０及びバス１１５）と第二Ｉ／Ｏパス（バス１０６、コントロールモジュール１１２及びバス１１４）とによって、ホストシステム１０４とストレージアレイとの間を接続している。よって、引用発明の「Ｉ／Ｏアダプタ」は、本願発明の「前記ホスト・システムと前記記憶システムとの間のリンクを与えるホスト・バス・アダプタ」に相当する。
　引用発明は、Ｉ／Ｏパス障害の後の、Ｉ／Ｏリクエストの高速・フェイルオーバー再開を提供するよう動作可能なコンピューティング環境の方法であるので、本願発明と「システムにおいて、故障からの回復を達成する方法」である点で一致している。
　引用発明の「第一Ｉ／Ｏパス」及び「第二Ｉ／Ｏパス」は、それぞれ本願発明の「一方のリンク」及び「他方のリンク」に相当する。また、引用発明の記憶システム（ディスクアレイ１１６）は、それぞれのリンクに連結されるポートを有しており、また、すべてのリクエストは、一方のリンク（第一Ｉ／Ｏパス）における最初の障害を検出するのと同時に、他方のリンク（第二Ｉ／Ｏパス）に出力先を変更されるから、一方のリンクに連結されるポートを「最初のポート」ということができ、他方のリンクに接続されるポートを「代替ポート」ということができる。したがって、引用発明は、記憶システムは、最初のポートが一方のリンクに連結され、代替ポートが他方のリンクに連結されている２つのリンクを介して前記ホスト・バス・アダプタへの接続が維持されている点で本願発明と一致している。
　引用発明のＲＤＡＣ３０４は、Ｉ／Ｏアダプタの中で動作可能である。また、下位レベルディスクドライバ３１０も、ＲＤＡＣ３０４からＩ／Ｏリクエストが転送され、それを各々のリンクに対応する発送待ち行列３０６又は３０８に出力するのであるから、ＲＤＡＣ３０４同様、Ｉ／Ｏアダプタの中で動作可能であるといえる。引用発明において、ＲＤＡＣ３０４と下位レベルディスクドライバ３１０は、ストレージアレイとＩ／Ｏアダプタとの間のパスの制御を協働して行っているドライバである。よって、ＲＤＡＣ３０４及び下位レベルディスクドライバ３１０は、「ホスト・バス・アダプタ内の」「ポート・ドライバ」であるといえる。
　引用発明では、下位レベルディスクドライバ３１０は、最初の障害発生Ｉ／ＯリクエストをＲＤＡＣ３０４に返送し、ＲＤＡＣ３０４が、障害が発生したＩ／Ｏリクエストを見つけている。よって、引用発明は、ポート・ドライバにおいて、「前記記憶システムと前記ホスト・バス・アダプタとの間の通信状態をモニタするステップ」を有しているといえる。
　引用発明では、一方のリンクにおける障害が発生したときにおけるＩ／Ｏリクエストのフローにおいて、ＲＤＡＣ３０４が、障害が発生したＩ／Ｏリクエストを見つけると、ＲＤＡＣ３０４は、下位レベルディスクドライバ３１０を経由して、状態の良い他方のリンクにそのＩ／Ｏリクエストを転送しており、すべてのリクエストは、状態の悪い一方のリンクにおける最初の障害を検出するのと同時に、状態の良い他方のリンクに出力先を変更される。一方のリンクにおける障害は、該一方のリンクに連結された最初のポートの通信の故障でもあり、また、他方のリンクに出力先を変更することは、該他方のリンクに連結された代替ポートを起動することでもある。よって、引用発明は、ポート・ドライバにおいて、「前記最初のポートの通信の故障発生時に、該故障が認識された後に前記代替ポートを起動して故障からの回復を達成するために」、「切替えを開始するステップ」を有しているといえる。
　引用発明では、下位レベルディスクドライバ３１０は、各々の冗長リンクに対応する発送待ち行列３０６及び３０８を保持しており、一方のリンクにおける障害が発生したときにおけるＩ／Ｏリクエストのフローにおいて、ＲＤＡＣ３０４が、障害が発生したＩ／Ｏリクエストを見つけると、ＲＤＡＣ３０４は、下位レベルディスクドライバ３１０を経由して、状態の良い他方のリンクにそのＩ／Ｏリクエストを転送し、下位レベルディスクドライバ３１０は、そのリクエストを、状態の良い他方のリンクの発送待ち行列３０８に入れている。一方のリンクにおける障害発生は、該一方のリンクに連結された最初のポートの通信の故障でもあり、他方のリンクのキュー（待ち行列）は、該他方のリンクに連結された代替ポートのキューでもある。よって、引用発明は、「切替えを開始するステップ」が、「前記通信が故障した前記最初のポートから前記代替ポートにリクエストをキューするステップ」とを有しているといえる。
　引用発明において、Ｉ／Ｏリクエストの中にＩ／Ｏのための少なくとも１つのコマンドが含まれていることは当然であり、第二Ｉ／Ｏパスに転送されたＩ／Ｏリクエストは、第二Ｉ／Ｏパスを介して少なくとも１つのコマンドを発することになる。よって、引用発明は、本願発明同様、「前記代替ポートを介して少なくとも１つのコマンドを発するステップ」を有しているといえる。
　
　したがって、両者は、
「ディジタル化された情報を記憶する少なくとも１個の記憶デバイスを有する記憶システムと、システムを全体的に制御するホスト・システムと、前記ホスト・システムと前記記憶システムとの間のリンクを与えるホスト・バス・アダプタと、を具える前記システムにおいて故障からの回復を達成する方法であって、
　記憶システムは、最初のポートが一方のリンクに連結され、代替ポートが他方のリンクに連結されている２つのリンクを介して前記ホスト・バス・アダプタへの接続が維持されており、前記方法は、
　前記ホスト・バス・アダプタ内のポート・ドライバにおいて前記記憶システムと前記ホスト・バス・アダプタとの間の通信状態をモニタするステップと、
　前記最初のポートの通信の故障発生時に、該故障が認識された後に前記代替ポートを起動して故障からの回復を達成するために、前記ポート・ドライバにおいて切替えを開始するステップと、を含んでおり、該切替えを開始するステップは、
　前記通信が故障した前記最初のポートから前記代替ポートにリクエストをキューするステップと、
　前記代替ポートを介して少なくとも１つのコマンドを発するステップと、を含む、前記方法。」
　で一致し、次の（１）〜（４）で相違する。
　
（１）本願発明のホスト・システムは、ネットワーク・システムを全体的に制御するのに対して、引用発明のホスト・システムが制御しているのは、ネットワーク・システムではない点。
　
（２）本願発明では、「各々の記憶デバイスは、最初のポートが一方のリンクを介して連結され、代替ポートが他方のリンクを介して連結されている２つのリンクを介して前記ホスト・バス・アダプタへの接続が維持されて」いるのに対して、引用発明では、各々の記憶デバイスは、最初のポートが一方のリンクを介して連結され、代替ポートが他方のリンクを介して連結されていない点。
　
（３）本願発明のホスト・バス・アダプタ内のポート・ドライバは、「前記ホスト・システムの外部の下位レベルのポート・ドライバ」であるのに対して、引用発明のポート・ドライバは、ホスト内のＩ／Ｏアダプタの中で動作しており、ホスト・システムの外部のポート・ドライバではなく、また、ポート・ドライバを構成する一方の下位レベルディスクドライバ３１０は下位レベルといえるものの、ポート・ドライバを構成する他方のＲＤＡＣ３０４は、下位レベルとはいえない点。
　
（４）本願発明は、「切替えを開始するステップ」が、「前記最初のポートへの未処理のリクエストをすべてキャンセルするステップ」を有するのに対して、引用発明はその構成を有していない点。
　
　
４．当審の判断
・相違点（１）について
　コンピュータ・システムにおいて、ネットワーク・システムは一般的であり、引用発明のホスト・システムにおいてネットワーク・システムを制御するように構成することは、当業者が適宜なし得る設計的事項である。
　
・相違点（２）について
　ディスクアレイにおいて、各々の記憶デバイスの最初のポートを一方のリンクを介して連結し、代替ポートを他方のリンクを介して連結することは、特開平８−３１４８４３号公報（【図１】−【図２】）や、特開平４−３１２１４６号公報（【図１】）にみられるように周知技術であり、引用発明において、「各々の記憶デバイスは、最初のポートが一方のリンクを介して連結され、代替ポートが他方のリンクを介して連結されている２つのリンクを介して前記ホスト・バス・アダプタへの接続が維持されて」いるように構成することは、当業者が適宜なし得る設計的事項である。
　
・相違点（３）について
　Ｉ／Ｏアダプタなど、ホスト・システムと記憶システムとを接続する装置を、ホスト・システムの外部に設けることは、特開平８−３１４８４３号公報（段落【０００９】−【００２３】，【図１】−【図２】）や、特開平４−３１２１４６号公報（段落【００４９】，【図１】）にみられるように周知技術である。
　また、ホスト・システムが記憶システムを制御するために、ホスト・システムの制御部で動作するドライバを有していることは、コンピュータ分野の当業者にとって自明の事実であり、該ドライバが、ホスト・システムの制御部と記憶システムとの間の接続を行うＩ／Ｏ接続装置内で動作するドライバと通信を行うことで、記憶システムを制御していることも同様である。この場合、Ｉ／Ｏ接続装置内で動作するドライバは、ホスト・システムの制御部で動作するドライバに対して、下位レベルに位置しているといえる（ディスクアレイ制御において、ホスト側の制御部で動作するプログラムを上位と称し、ディスクアレイに近い側の制御部で動作するプログラムを下位と称する例として、特開平１０−１０５３４７号公報（段落【００４５】−【００５０】，【図２】）がある。）。
　したがって、引用発明において前述の周知技術を適用し、Ｉ／Ｏアダプタをホスト・システムの外部に設け、Ｉ／Ｏアダプタ内で動作する下位レベルディスクドライバ３１０及びＲＤＡＣ３０４が、ホスト・システムの制御部で動作するドライバに対して下位レベルであるように構成することは、当業者が容易になし得ることである。
　
・相違点（４）について
　以後処理されることのない未処理のリクエストをすべてキャンセルすることは普通に行われていることであり、引用発明において、最初のポートの通信の故障発生時に、最初のポートへの未処理のリクエストをすべてキャンセルするステップを実行するように構成することは、当業者が適宜なし得ることである。
　
　また、相違点（１）〜（４）により奏される効果は、引用発明及び周知技術から、当業者であれば予測できる範囲内のものである。
　
　
５．結論
　以上のとおり、本願の請求項５に係る発明は、引用発明及び周知技術に基づいて当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により、特許を受けることができない。
　したがって、本願はその余の請求項について論及するまでもなく拒絶すべきものである。
　よって、結論のとおり審決する。