New! View global litigation for patent families

JP3749224B2 - Multi-path multi-hop remote data function - Google Patents

Multi-path multi-hop remote data function

Info

Publication number
JP3749224B2
JP3749224B2 JP2002511077A JP2002511077A JP3749224B2 JP 3749224 B2 JP3749224 B2 JP 3749224B2 JP 2002511077 A JP2002511077 A JP 2002511077A JP 2002511077 A JP2002511077 A JP 2002511077A JP 3749224 B2 JP3749224 B2 JP 3749224B2
Authority
JP
Grant status
Grant
Patent type
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.)
Active
Application number
JP2002511077A
Other languages
Japanese (ja)
Other versions
JP2004503956A (en )
Inventor
ジェレミー、 ジェイ. オーヘア、
マーク、 ジェイ. ハルステッド、
Original Assignee
イーエムシー コーポレイションEmc Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Grant date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0602Dedicated interfaces to storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2012Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant and using different communication protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Description

【0002】 [0002]
(発明の背景) (Background of the Invention)
1. 1. 技術分野本出願は一般にコンピュータ・システムに関し、特にコンピュータ・システムにおいて通信経路を指定することに関する。 Technical Field This application relates generally to computer systems, particularly to specify a communication path in a particular computer system.
【0003】 [0003]
2. 2. 関連技術の記載コンピュータ・システムは、1つまたは複数のプロセッサによって使用することができる異なるリソースを有することがある。 Wherein the computer system of the related art may have a different can be used by one or more of processor resources. コンピュータ・システムにおけるリソースおよびプロセッサは、1つまたは複数の通信コネクションによって相互に接続することができる。 Resources and the processor in the computer system can be interconnected by one or more communication connections. これらのリソースとしては、例えば、EMCコーポレーションによって製造されるデータ記憶システムのSymmetrix(商標名)ファミリーのようなデータ記憶装置があげられる。 These resources include, for example, a data storage device such as a Symmetrix (TM) family of data storage systems produced by EMC Corporation and the like. これらのデータ記憶システムは、1つまたは複数のプロセッサと結合して、各プロセッサに記憶サービスを提供することができる。 These data storage systems may be combined with one or more processors, provide storage services to each processor. データ記憶システムの一例は、相互に接続されてコンピュータ・システム内の1つまたは複数のプロセッサに対して共通のデータ記憶を提供するように使用できる、Symmetrix(商標名)ファミリーのような1つまたは複数のデータ記憶装置により構成することができる。 An example of a data storage system may be used to provide a common data storage are connected to each other with respect to one or more processors in a computer system, one such as Symmetrix (TM) family or it can be composed of a plurality of data storage devices.
【0004】 [0004]
プロセッサは、データ記憶システムを使用して、多種多様なデータ処理タスクおよびオペレーションを行うことができる。 The processor uses the data storage system, it is possible to perform a wide variety of data processing tasks and operations. たとえば、プロセッサは、データ読み取りおよび書き込みオペレーションのような基本システムI/Oオペレーションを行うことができ、データ・バックアップおよびミラーリング・オペレーションのような管理タスクも行うことができる。 For example, the processor can perform basic system I / O operations such as data read and write operations, administrative tasks, such as data backup and mirroring operation can also be performed. 前述のオペレーションのいずれかを実行する場合、プロセッサは、データ記憶装置に特定のオペレーションを行うよう命令する1つまたは複数のシステム・コールを使用する。 When performing any of the aforementioned operations, the processor may use one or more system calls that instructions to perform certain operations in the data storage device.
【0005】 [0005]
ある種のデータ記憶装置構成においては、第1のデータ記憶装置が第2のデータ記憶装置に接続されることがあり、プロセッサは第1のデータ記憶装置を使用して間接的に第2のデータ記憶装置に命令を送ることのみが可能であることがある。 In certain of the data storage apparatus configuration, may first data storage device is connected to the second data storage device, the processor indirectly second data using the first data storage device it may only send a command to the storage device are possible. 言い換えれば、プロセッサは、第1のデータ記憶装置にのみ直接的に接続され、第2のデータ記憶装置へは間接的に接続される。 In other words, the processor is only in the first data storage device is directly connected, is to the second data storage device is indirectly connected. プロセッサが第2のデータ記憶装置にデータ・オペレーションを行うよう命令しようとする場合、プロセッサは第1のデータ記憶装置を使用してリモート・システム・コールを使用することが可能である。 If the processor attempts to instructions to perform data operations to the second data storage device, the processor is capable of using remote system calls using the first data storage device. プロセッサは、たとえば、第2のデータ記憶装置にデータ・オペレーションを行うよう命令する第1のデータ記憶装置へ、リモート・プロシージャ・コールを発行する。 The processor may, for example, to the first data storage device for instruction to perform data operations to the second data storage device issues a remote procedure call.
【0006】 [0006]
さらに他のレベルの間接的なデータ記憶装置を有するデータ記憶装置構成では、問題が存在する恐れがある。 In yet a data storage device configured with indirect data storage device of another level, there is a possibility that a problem exists. たとえば、前述の第1および第2のデータ記憶装置のデータ記憶装置構成に加えて、第3のデータ記憶装置が第2のデータ記憶装置に接続されることがある。 For example, in addition to the data storage device configuration of the first and second data storage devices described above, the third data storage device may be connected to the second data storage device. ある応用例においては、プロセッサは、第3のデータ記憶装置にデータ・オペレーションを行うよう命令する必要があることがある。 In some applications, the processor, it may be necessary to instruct the third data storage device to perform data operations to. プロセッサが第1のデータ記憶装置にのみ直接接続されている場合、第2のデータ記憶装置にデータ・オペレーションを行うよう命令するためにリモート・システム・コールが使用され、第1のデータ記憶装置にデータ・オペレーションを行うように命令するためにシステム・コールが使用される。 If the processor is connected only directly to the first data storage device, a remote system call is used to instruct the second data storage device to perform data operations on, the first data storage device system call is used to instruct to perform data operations. しかし、前述の構成においてプロセッサが第3のデータ記憶装置にデータ・オペレーションを行うよう命令するためには、第1および第2のデータ記憶装置という間接的な接続を通過するような命令が必要となる。 However, in order to instruct to perform data operations to the processor in the configuration of the foregoing third data storage device, the required instructions, such as through the indirect connection of the first and second data storage device Become. データ記憶装置構成内に追加的な記憶装置階層化を行った場合、プロセッサには、システム・コールあるいはリモート・プロシージャ・コールを使用して第3のデータ記憶装置にそのように命令する方法が無い。 If you make an additional storage tiering in the data storage device configuration, the processor, there is no method so instruct the third data storage device using a system call or remote procedure call . 一般的には、前述の3レベルの間接的なデータ記憶装置アクセスよりさらに多くのレベルをプロセッサから有するデータ記憶装置構成においては、類似の問題が存在する可能性がある。 In general, in the data storage device configured to have many more levels from the processor than indirect data storage device accesses the aforementioned three levels, there is a possibility that similar problems exist.
【0007】 [0007]
2つのデータ記憶装置、あるいは1つのプロセッサと1つのデータ記憶装置も、1つまたは複数の接続を使用して通信することが可能である。 Two data storage device, or a processor and one of the data storage device is also capable of communicating using one or more connections. たとえば、第1および第2のデータ記憶装置は記憶領域ネットワーク(SAN)上で通信することが可能であり、プロセッサはデータ記憶装置とローカル・エリア・ネットワーク(LAN)上で通信することが可能である。 For example, the first and second data storage device is capable of communicating over a storage area network (SAN), the processor can communicate on the data storage device and a local area network (LAN) is there. したがって、装置間あるいは装置とプロセッサの間の通信を容易にするようにネットワークを使用することができるが、その場合には、データ転送を容易にするようにシステム・コールあるいはリモート・プロシージャ・コールを使用すると、間接度のレベルが問題を起こす恐れがある。 Therefore, it is possible to use a network to facilitate communication between devices or between devices and the processor, in which case, a system call or remote procedure call to facilitate data transfer with the level of indirect degree it is likely to cause problems. しかし、2つの装置の間あるいはプロセッサと1つの装置の間には接続が存在する。 However, between the two or processors and one device during device connection exists.
【0008】 [0008]
2つのデータ記憶装置の間あるいはプロセッサと1つのデータ記憶装置の間の通信経路は、たとえば、ネットワーク、直接的な接続、あるいは間接的な接続とリモート・プロシージャ・コールを使用して決定することができる。 Communication path between or between processors two data storage devices and one data storage device, for example, a network, be determined using a direct connection or indirect connection with the remote procedure call, it can. 2つの特定のデータ記憶装置の間、プロセッサとデータ記憶装置等の間のデータ転送を行う際に、この通信経路は使用される。 Between two particular data storage device, when data is transferred between such processor and a data storage device, the communication path is used. しかし、たとえばアクセスされるデータ記憶装置のプロセッサからの間接度のレベルに加えて、通信経路に含まれる部品障害あるいは接続障害の場合に、問題が存在する恐れがある。 However, for example, in addition to the level of indirection degree from the processor of the data storage device to be accessed, in the case of component failure or connection failure included in the communication path, there is a possibility that a problem exists.
【0009】 [0009]
したがって、プロセッサおよび/またはデータ記憶装置に対して、3レベル以上の間接度のデータ記憶装置アクセスを有するデータ記憶構成において、データ・オペレーションを行うための技術を提供し、さらに、たとえば部品障害あるいは接続障害の場合に、通信経路の代替かつダイナミックな選択と指定を提供することは有益な場合がある。 Accordingly, the processor and / or data storage device, the data storage structure having a data storage device access 3 or more levels of indirection degree, to provide a technique for performing data operations, further, such parts failure or a connection in the case of failure, it is sometimes beneficial to provide a designated alternate and dynamic selection of the communication path.
EP 0 757 318には、複数のサブプロセッサシステムを含み、それぞれが実質的に独立して構成され、中央演算処理装置(CPU)と、少なくとも1つのI/O装置とをそれぞれ有し、サブプロセッサシステムどうしを相互接続するルーティング装置により相互接続されているマルチプロセッサシステムが開示されている。 The EP 0 757 318, comprises a plurality of sub-processor system, each constructed substantially independently has a central processing unit (CPU), at least one I / O device and the respective sub-processors multiprocessor system are interconnected is disclosed by the routing device interconnecting system each other. いずれか1つのサブプロセッサシステムにおけるCPUは、システムのどのI/O装置、またはシステムのどのCPUとともにであっても、ルーティング要素を介して通信を行うことができる。 Any one of the CPU in the sub-processor system, which I / O devices of the system, or even with any CPU of the system can communicate through the routing element.
EP 0 936 547には、冗長構成要素を用いてシステムにおける危険性を有するデータを識別する方法および装置が開示されている。 The EP 0 936 547, a method and apparatus are disclosed for identifying the data at risk in a system with redundant components. この方法では、システムを複数のノードにより表すステップと、複数の構成要素と複数の通信経路を表すステップと、複数構成要素のうちから通信経路を表すステップとを有している。 In this method has the steps of representing a plurality of nodes system, comprising the steps of: representing a plurality of components and a plurality of communication paths, a step of representing a communication path from a plurality components. それぞれのノードは、そのノードへ導かれる経路の数を示す経路カウンタを有している。 Each node has a route counter indicating the number of paths led to that node. 各ノードにおける経路カウンタは、そのノードへの経路誘導が失敗する毎に1つずつ減らされる。 Path counter in each node is decremented by one each time the route guidance to the node fails. 各ノードにおける経路カウンタは、経路カウンタがゼロであるノードからの経路誘導がある毎に1つずつ減らされる。 Path counter in each node is decremented by one each time there is a path derived from the node path counter is zero. パスカウンタは、失敗したノードからの経路誘導がある毎に1つずつ減らされる。 Path counter is decremented by one each time there is a route guidance from a failed node.
EP 0 397 370には、1)第1の経路探索処理のための情報をメモリから読み出して経路の選択を行う処理がされている間に、第2の経路探索処理のためにメモリの読み出しを行う、2)2つのメモリを維持し、いずれかのメモリが更新される前に2つの経路探索処理を行うために両方のメモリからの読み出しを行う、という2つの技術の両方またはいずれかを用いて、2つまたはそれ以上の経路探索処理が同時に行われるネットワーク制御装置が開示されている。 The EP 0 397 370, 1) while being a first route search information to select a path from the memory processing for processing, the memory read for the second route search processing performed, 2) maintaining the two memories, one memory is read out from both of the memory in order to perform the two path searching process before being updated, using both or either of the two techniques that Te, two or more route search processing is disclosed network controller to be performed simultaneously. 経路切り離し確認ユニットは、いずれかの第1の入口から第1の出口へのネットワ ーク経路が、第2のネットワーク入り口から第2の出口へのネットワーク経路と競合しているかどうかを迅速に判定する。 Path disconnecting confirmation unit, either network path from the first inlet to the first outlet, quickly determine whether the second network inlet conflicts with the network path to the second outlet to. この競合が発生していない場合のみ複数の経路探索が行われる。 This contention multiple path search only if has not occurred is performed.
【0010】 [0010]
(発明の概要) (Summary of the Invention)
本発明による1つの態様は、マルチパス・マルチホップ・システム・コールを処理するための、第1のデータ記憶装置上で実行される方法である。 One aspect of the invention, for processing a multipath multihop system call is a method performed by the first data storage device. データ・オペレーション・リクエストが、マルチパス・マルチホップ・システム・コールであるかが判定される。 Data operations request is either a multi-path multihop system call is determined. 第1のデータ記憶装置とターゲット・データ記憶装置との間の通信経路が決定される。 Communication path between the first data storage device and the target data storage device is determined. 第1のデータ記憶装置と通信経路に含まれる第2のデータ記憶装置との間で、第1の通信コネクションが決定される。 Between the second data storage device included in the communication path with the first data storage device, the first communication connection is determined. データ・オペレーション・リクエストは、第2のデータ記憶装置に送られる。 Data operations request is sent to the second data storage device.
【0011】 [0011]
本発明による他の態様は、ホスト・コンピュータ・システムからターゲット・データ記憶装置へのデータ・オペレーション・リクエストを処理する、コンピュータ・システムで実行される方法である。 Other embodiments according to the present invention processes the data operations request from the host computer system to the target data storage device, a method performed by the computer system. ホスト・コンピュータ・システムからターゲット・データ記憶装置への通信経路が決定される。 Communication path from the host computer system to the target data storage device is determined. データ・オペレーション・リクエストは、ローカル・エリア・ネットワークあるいは記憶領域ネットワークの1つによって、ホスト・コンピュータ・システムに接続されている第1のデータ記憶装置に送られる。 Data Operations request by one of the local area network or a storage area network is sent to the first data storage device connected to the host computer system. データ・オペレーション・リクエストは、第1のデータ記憶装置と中間データ記憶装置の間の通信コネクションを介して、通信経路に含まれる中間データ記憶装置に転送される。 Data operations request via the communication connection between the first data storage device and the intermediate data storage device is transferred to the intermediate data storage device included in the communication path.
【0012】 [0012]
本発明によるさらに他の態様は、コンピュータ・システムである。 Yet another aspect of the present invention is a computer system. ホストは、データ・オペレーション・リクエストを開始する。 The host initiates a data operation request. 少なくとも3つのデータ記憶装置が含まれており、データ・オペレーション・リクエストは3つのデータ記憶装置の少なくとも1つ対して送信される。 It contains at least three data storage devices, data operations request is transmitted at least one against three data storage device. ホストと少なくとも3つのデータ記憶装置のそれぞれの間に通信が存在する。 Communication between each host and at least three data storage device is present. 通信コネクションのそれぞれは、少なくとも1つの記憶領域ネットワークあるいはローカル・エリア・ネットワークを有する。 Each communication connection has at least one storage area network or local area network. 少なくとも3つのデータ記憶装置のそれぞれは、ローカル・エリア・ネットワークあるいは記憶領域ネットワークの1つである通信コネクションを介するデータ・オペレーション・リクエストを受信し、翻訳し、そのデータ・オペレーションがマルチパス・マルチホップ・システム・コールであるか否かを判定し、データ・オペレーションがマルチパス・マルチホップ・システム・コールであるとの判定に応答して、データ・オペレーション・リクエストに関連するデータの第2の部分を、少なくとも3つのデータ記憶装置の他の1つへ転送するマシン実行可能コードを有する。 Each of the at least three data storage device, receiving data operations request over a communication connection, one of the local area network or a storage area network, translated, multipath multihop its data operations system whether determines a call, in response to determining that the data operation is a multi-path multihop system call, a second portion of the data associated with the data operations request and having a machine-executable code to be transferred to another one of the at least three data storage device.
【0013】 [0013]
本発明によるさらに他の態様は、データ・オペレーション・リクエストがマルチパス・マルチホップ・システム・コールであるか否かを判定し、データ記憶装置とターゲット・データ記憶装置の間の通信経路を決定し、データ記憶装置と通信経路に含まれる第2のデータ記憶装置の間の第1の通信コネクションを決定するマシン実行可能コードを有するデータ記憶装置である。 Yet another aspect of the present invention determines whether the data operations request is multipath multihop system call, determines the communication path between the data storage device and the target data storage device a data storage device having a machine-executable code for determining a first communication connection between the second data storage device included in the communication path with the data storage device. データ・オペレーション・リクエストを第2のデータ記憶装置に送るマシン実行可能コードがさらに含まれている。 Data operations request the second data storage device machine-executable code to be sent to is further included.
【0014】 [0014]
本発明によるさらに他の態様は、ホスト・コンピュータ・システムからターゲット・データ記憶装置へのデータ・オペレーション・リクエストの処理に使用するコンピュータ読み取り可能な記憶媒体である。 Yet another aspect of the present invention is a computer-readable storage medium used by the host computer system to process the data operations request to the target data storage. ホスト・コンピュータ・システムからターゲット・データ記憶装置への通信経路を決定し、データ・オペレーション・リクエストを、ローカル・エリア・ネットワークあるいは記憶領域ネットワークの1つによって、ホスト・コンピュータ・システムに接続された第1のデータ記憶装置に送り、前記データ・オペレーション・リクエストを、第1のデータ記憶装置と中間データ記憶装置の間の通信コネクションを介して、通信経路に含まれる中間データ記憶装置に転送するマシン実行可能コードが含まれている。 Determining a communication path from the host computer system to the target data storage device, the data operations request, by one of the local area network or a storage area network, the connected to the host computer system feeding the first data storage device, the data operation requests, via the communication connection between the first data storage device and the intermediate data storage device, the machine execution to transfer to the intermediate data storage device included in the communication path code are included.
【0015】 [0015]
本発明による他の態様は、通信をルーティングする、データ記憶エンティティによって実行される方法である。 Another aspect of the invention, routes the communication is a method performed by the data storage entity. 通信に関連する形式が決定される。 Format with the communication is determined. データ記憶装置と接続データ記憶エンティティの間の通信コネクションが決定される。 Communication connection between the data storage device connection data storage entity is determined. 通信は、通信コネクションを使用して、接続データ記憶エンティティに送られる。 Communication uses the communication connection, and sent to a data storage entity.
【0016】 [0016]
本発明による他の態様は、データ記憶エンティティによって通信をルーティングする、コンピュータ・プログラム・プロダクトである。 Other embodiments according to the present invention routes the communication by the data storage entity, is a computer program product. 通信に関連する形式を決定し、データ記憶装置と接続されたデータ記憶エンティティの間の通信コネクションを決定し、通信コネクションを使用して接続データ記憶エンティティに通信を送るマシン実行可能コードが含まれている。 Determining the format associated with the communication, determining the communication connection between the connected to the data storage device the data storage entity contains machine executable code to send a communication to the connection data stored entity using a communication connection there.
【0017】 [0017]
(さまざまな実施形態の詳細な説明) (Details of the various embodiments described)
参考文献として本明細書に包含される1998年4月22日出願の「統一されたプログラミング・インタフェース」と題する米国特許番号第09/064,588号(出願中)には、内部の制御データ構造が物理的に何処に配置されているか等のメモリ構成についての知識をホスト・プロセッサに要求することなく、異なるホスト・プロセッサがデータ記憶システムにアクセスすることをデータ記憶システムに可能にする統一されたインタフェースを提供する技術が説明されている。 As the "unified programming interface entitled" U.S. Patent No. 09 / 064,588 of 1998 April 22 filed encompassed herein (pending) References, internal control data structures There without requiring knowledge of the memory structure, such as if they were located anywhere physically to the host processor, different host processors are unified to allow the data storage system to access the data storage system technology that provides an interface is described.
【0018】 [0018]
ここで図1を参照すると、本明細書に説明するマルチホップ技術を使用するコンピュータ・システムの実施形態が示されている。 Referring now to FIG. 1, the embodiment of a computer system that uses a multi-hop techniques described herein is illustrated. コンピュータ・システム30には、N個のホスト・コンピュータ、20、22および24、が含まれている。 The computer system 30, N pieces of the host computer, 20, 22 and 24, are included. ホスト・コンピュータ20、22および24は、すべてが同じ場所に存在してもよく、あるいは異なる地域に存在してもよい。 The host computer 20, 22 and 24, all of which may be present in the well, or different regions be present in the same location. さらにコンピュータ・システム30には、複数のデータ記憶装置12、14、16および18が含まれている。 More computer system 30 includes a plurality of data storage devices 12, 14, 16 and 18. データ記憶装置12、14、16および18のそれぞれは、米国マサチューセッツ州ホプキントンのEMCコーポレーションによって供給される製品のような、多種多様なデータ記憶装置の任意の1つであってもよい。 Each data storage device 12, 14, 16 and 18, such as the product supplied by EMC Corporation of Massachusetts Hopkinton, may be any of a wide variety of data storage devices. N個のホスト・コンピュータ20、22および24のそれぞれは、たとえばIBMメインフレームあるいはSUNスパークステーションのようなパーソナル・コンピュータあるいはメインフレーム・コンピュータを含む、たとえば多種多様な市販されているシングル・プロセッサ、あるいはマルチ・プロセッサのコンピュータの任意の1つであってよい。 Each of the N host computer 20, 22 and 24, for example, IBM mainframe or SUN including personal computers or mainframe computers, such as a spark station, for example, a single processor is wide variety commercially available or, any may be one of the multi-processor computer. 通信は、SCSI、ESCON、あるいはファイバ・チャネルのような、さまざまな通信プロトコルの任意の1つを使用して、接続12a、12b、12c、20a、22aおよび24aを介して提供される。 Communications, SCSI, ESCON or such as Fiber Channel, using any one of a variety of communications protocols, the connection 12a, 12b, 12c, 20a, is provided through 22a and 24a. 接続12a、12b、12c、20a、22a、24aのいくつか、あるいはすべては、 Connectrix あるいは、電話線、中継器、マルチプレクサあるいは衛星をも含めて途中に存在する可能性のある任意の他のスイッチング装置のような他の通信装置を介して接続されることもあり得る。 Connection 12a, 12b, 12c, 20a, 22a, some 24a, or all, Connectrix or telephone lines, repeaters, any other switching device that may be present in the middle, including a multiplexer or satellite via another communication device it may also be connected like. しかし、本明細書における説明では、他の通信装置は直接見えない転送媒体として作用するのみである。 However, in the description herein, the other communication device only acts as a transfer medium not directly visible.
【0019】 [0019]
異なる形式の管理タスクによっては、異なる形式のデータ・オペレーションが実行される可能性がある。 Some different types management tasks, it is possible that different types data operations are performed. 図1の実施形態においては、ホスト・コンピュータ20、22あるいは24の任意の1つは、データ記憶装置18上でデータ・オペレーションを行うように、データ記憶装置18にシステム・コールを発行することができる。 In the embodiment of FIG. 1, any one of the host computers 20, 22 or 24, to perform data operations on the data storage device 18, to issue a system call in the data storage device 18 it can. さらに、たとえば、バックアップ、ミラーリング、あるいは他の管理オペレーションを行っているホスト・コンピュータ20上で実行するアプリケーションは、データ・オペレーションを実行するように、データ記憶装置12、14および/または16の1つまたは複数を必要とする可能性がある。 Furthermore, for example, backup, mirroring or application running on another management host computer 20, which performs operations, so as to perform data operations, one of the data storage device 12, 14 and / or 16 or it may require multiple. 複数の相互接続された記憶装置12、14、16および18は、ホスト・コンピュータ20、22および24の任意の1つによって、データ記憶装置18を介して間接的にアクセスされることがある。 The plurality of interconnected memory device 12, 14, 16 and 18, by any one of host computers 20, 22 and 24, which may be accessed indirectly through a data storage device 18. たとえば、ホスト・コンピュータ20は、読み取りオペレーション、書き込みオペレーション、あるいは他の形式のデータ・オペレーションを行うように、システム・コールをデータ記憶装置18へ発行することができる。 For example, the host computer 20 to perform the read operation, write operation, or another format data operations, may issue a system call to the data storage device 18. システム・コールは、システム・コールを発するホスト・コンピュータから1レベルの距離があるデータ記憶装置に、データ・オペレーションを行うように指示されたコールであるということができる。 System call, it can be said that the data storage device with one level distance from the host computer to emit a system call, it is indicated the call to perform data operations. ある実施形態においては、「インライン・コール」と呼ばれる異なるメカニズムが、システム・コールの機能と類似する機能を行うために使用されることがあることに注目されたい。 In some embodiments, different mechanisms called "in-line call" It should be noted that it may be used to perform a function similar to that of the functions of the system calls. 本願明細書の目的を考慮すると、システム・コールに与えあれた機能は、インライン・コールに対しても同様に適用することができる。 Considering the purpose of this specification, function if applied to the system call can be similarly applied to in-line call.
【0020】 [0020]
さらに、コンピュータ20のようなホスト・コンピュータの1つは、リモート・システム・コールを使用することによって、データ記憶装置18を介して間接的に、データ記憶装置12にデータ・オペレーションを行うように指示することができる。 Furthermore, one of the host computer, such as computer 20, by using a remote system call indirectly via the data storage device 18, an instruction to perform data operations to the data storage device 12 can do. リモート・システム・コールを使用して、ホスト・コンピュータはデータ記憶装置18にリクエストを発行することができ、次に、データ記憶装置18は、データの読み取りあるいは書き込みのような特定のデータ・オペレーションを行うように、接続12aを使用してデータ記憶装置12にリモート・システム・コールを続いて発行する。 Using a remote system call, the host computer can issue a request to the data storage device 18, then, the data storage device 18, the particular data operations such as read or write data performing manner, followed by issuing a remote system call data storage device 12 by using the connection 12a. リモート・システム・コールは、システム・コールを発するホスト・コンピュータから2レベルの距離があるデータ・オペレーションを行うようにデータ記憶装置に対して送信されたコールである。 Remote system call is a call that is sent to the data storage device to perform data operations with two levels distance from the host computer to emit system call.
【0021】 [0021]
データ・オペレーションを行うさらに他の例では、コンピュータ20のようなホスト・コンピュータの1つは、装置14あるいは装置16のいずれかに命令を発行しようとすることができる。 In yet another embodiment performs data operations, one of the host computer, such as computer 20 may be attempting to issue an instruction to either the apparatus 14 or apparatus 16. ホスト・コンピュータ20は、データ記憶装置12および18を「パス・スルー」、すなわちデータ記憶装置14あるいは装置16への間接的な接続として使用して、装置14のようなデータ記憶装置に間接的に命令を発行することができる。 The host computer 20, a data storage device 12 and 18 'pass-through ", that is, used as an indirect connection to the data storage device 14 or device 16, indirectly to the data storage device such as the device 14 it is possible to issue the instruction. このような処理は、マルチホップ・システム・コールを発行するホスト・コンピュータ20によって行うことができる。 Such processing can be performed by the host computer 20 issues a multi-hop system call. 一般的には、マルチホップ・システム・コールは、コールを発するホスト・コンピュータから3レベル以上の距離があるデータ記憶装置に、データ・オペレーションを行うように指示されたコールであるということができる。 In general, multihop system call, it can be said that the data storage device with a distance of more than 3 levels from a host computer to emit the call is indicated called to perform data operations. マルチホップ・システム・コールについては、本明細書の他のところで詳細に説明する。 The multihop system call is described in detail elsewhere herein.
【0022】 [0022]
図示する実施形態において、接続12aを介して接続された装置12および装置18のような任意の2つのデータ記憶装置の間の接続は、マシン識別子ではなく1つまたは複数の接続識別子によって識別することができることに、注目すべきである。 In the illustrated embodiment, the connection between any two data storage devices, such as a connection 12a the via and connected devices 12 and 18 shall be identified by one or more connection identifiers rather than machine identifier that it is, it should be noted. 言い換えれば、ホスト・コンピュータ20がターゲット装置12に指示された命令を発行するとき、装置12、18のそれぞれの間の接続は、装置12のようなターゲット・データ記憶装置を識別することではなく、コール内の接続識別子によって識別することができる。 In other words, when issuing a command to the host computer 20 is instructed to the target device 12, the connection between the respective device 12, 18 is not to identify a target data storage device such as the device 12, it can be identified by the connection identifier in the call. これは、本明細書の他のところで詳細に説明する。 This will be described in detail elsewhere herein. さらに、データ記憶装置12、14、16および18のそれぞれがデータ記憶装置間に定義された相互接続を有する図示したような実施形態において、このことは一般化することができる。 Further, in the embodiment as shown, each of the data storage device 12, 14, 16 and 18 have a mutual connection defined between a data storage device, this can be generalized. 接続12aのような任意の2つのデータ記憶装置の間の接続、あるいは接続20aのようなコンピュータからデータ記憶装置への接続は、データ記憶装置あるいはコンピュータと関連づけられたマシン識別子の使用ではなく、接続識別子によって識別することができる。 Any connection of a connection between two data storage devices, or from a computer, such as a connection 20a to the data storage device, such as a connection 12a is not a use of machine identifiers associated with the data storage device or a computer, connected it can be identified by the identifier. 言い換えれば、20のようなホスト・コンピュータが、装置14のようなデータ記憶装置に、データ・オペレーションを行うように指示する場合、ホスト・コンピュータ20からターゲット・データ装置14への経路を指定するように、ホスト・コンピュータ20は1つまたは複数の接続識別子を使用することが可能である。 In other words, the host computer, such as 20, the data storage device such as the device 14, when instructed to perform data operations, to specify the route from the host computer 20 to the target data unit 14 , the host computer 20 can use one or more connection identifiers. ホスト・コンピュータ20は、ホスト・コンピュータ20からデータ記憶装置18への第1の接続識別子、データ記憶装置18と12の間の第2の接続識別子、およびデータ記憶装置12と14の間の第3の接続識別子を識別することができる。 The host computer 20 first connection identifier, a second connection identifier during the data storage device 18 and 12, and the data storage device 12 and 14 the third between the host computer 20 to the data storage device 18 it is possible to identify the connection identifier. これらの接続識別子は、たとえば、マルチホップ・システム・コール内で指定することができる。 These connection identifiers, for example, can be specified in a multi-hop system in a call. あるいは、マルチホップ・システム・コールは、マルチホップ経路のように使用されたシステムを指定することができ、あるいは、ある実施形態においては、エンド・システムあるいはエンド接続のための識別子のみを使用することができる。 Alternatively, a multi-hop system call may specify a system that was used as the multi-hop route, or, in some embodiments, the use of only identifier for end-system or end connection can. しかし、中間接続あるいはシステムのすべてを指定すると、コールを処理している各システムは、局部的な情報のみを有することになる。 However, specifying all of the intermediate connection or system, the system is handling the call will have only local information. (すなわち、全体のシステムとそのトポロジーを認識している必要がない。) (I.e., it is not necessary to know the topology the overall system.)
ここで図2を参照すると、本明細書に開示されているマルチホップ技術を使用するコンピュータ・システムの他の実施形態が示されている。 Referring now to FIG. 2, another embodiment of a computer system using a multihop technique disclosed herein is shown. コンピュータ・システム10は、2つのホスト・コンピュータ34、38ならびに相互接続されている複数の記憶装置32、36、40、および42を有する。 Computer system 10 has two host computers 34 and 38 and a plurality of storage devices that are interconnected 32, 36, 40 and 42,. さらに、ホスト・コンピュータ34とデータ記憶装置32とは直接接続されていて、同様にホスト38とデータ記憶装置36とも直接接続されている。 Moreover, are directly connected to the host computer 34 and the data storage device 32 is directly connected, Similarly, the host 38 and the data storage device 36. データ記憶装置32、36、40および42のそれぞれは、図1および本明細書の他の記載において説明したデータ記憶装置に類似していることに注目すべきである。 Each data storage device 32, 36, 40 and 42, it should be noted that similar to the data storage apparatus described in any place Figure 1 and described herein. 同様に、ホスト34と38のそれぞれも、図1および本明細書の他の記載において説明したホスト20、22および24に類似している。 Similarly, each host 34 and 38 are similar to the host 20, 22, and 24 described in other descriptions of FIG. 1 and described herein. 図2は、たとえば、ホスト38および装置36がホスト34およびデータ記憶装置32のデータと同じデータをコピーしている構成に含まれるような、データ記憶装置およびホスト・コンピュータの別の実施形態と構成を示している。 2, for example, such as the host 38 and the device 36 is in the configuration that copying the same data as the data of the host 34 and data storage device 32, and another embodiment of a data storage device and the host computer configuration the shows. 言い換えれば、データ記憶装置36は装置32の影として働くことができる。 In other words, the data storage device 36 may serve as a shadow device 32. この特定の構成において、たとえば、ホスト34に動作上の障害が発見されネットワークから除外される時に、ホスト38は代替システムとして働くことができる。 In this particular configuration, for example, when a failure in operation to the host 34 is excluded from the discovered network, the host 38 can serve as an alternative system. たとえば、ホスト34および/または装置32が電源障害あるいは他の形式のシステム障害を発見すると、ホスト38および装置36に記憶されたデータが自動的に動作状態となることができ、ホスト34および装置32を置換し、その代替として機能する。 For example, the host 34 and / or device 32 to discover the system failure power failure or other types, can be data stored in the host 38 and the device 36 is automatically operated state, the host 34 and device 32 replace, functions as an alternative. ホスト38および装置36が今説明したように機能することを可能にするように、ホスト34は、たとえば、装置32から装置36と40に遠隔バックアップおよびコピー・オペレーションを実行するソフトウェアを有してもよい。 To allow the host 38 and device 36 to function as just described, the host 34, for example, have a software that performs remote backup and copy operations from the device 32 to the apparatus 36 and 40 good. 言い換えれば、ホスト34は、装置36と40へデータをコピーする命令をデータ記憶装置32に発行することができる。 In other words, the host 34 can issue an instruction to copy the data to the apparatus 36 and 40 to the data storage device 32. この構成においては、装置32は36のバックアップ装置として働くことができる。 In this configuration, device 32 can act as a backup device 36. このことは、データ記憶装置32および/またはホスト・コンピュータ34の電源障害あるいは他のシステム上の障害があるような場合に、コンピュータ・システム10内でシステム38および装置36がシステム34および装置32に置き換わることを可能にすることができる。 This means that if such there is a fault on the data storage device 32 and / or power failure or other system of the host computer 34, the system 38 and device 36 in computer system 10 is a system 34 and apparatus 32 it is possible to be able to replace. ホスト38および装置36がホスト34および装置32に置き換わる場合、ホスト38および装置36は図示する実施形態では装置40である指定されたバックアップ記憶装置を有する必要がある。 If the host 38 and the device 36 is replaced by the host 34 and the device 32, the host 38 and device 36 in the illustrated embodiment is required to have a backup storage device specified is a device 40. したがって、システム34はデータをデータ記憶装置36と同様にデータ記憶装置40に記憶するように命令を発行する。 Thus, system 34 issues a command to store data in the same manner as the data storage device 36 in the data storage unit 40.
【0023】 [0023]
図1に関連して説明したと類似の方法で、データ記憶装置32、36、および40のそれぞれの間の接続は、マシン識別子ではなく接続識別子によって識別されることに注目するべきである。 In a similar manner described in relation to FIG. 1, the connection between the respective data storage devices 32, 36, and 40, it should be noted that identified by the connection identifier rather than a machine identifier. これは以下の段落でさらに詳細に説明される。 This is explained in further detail in the following paragraphs.
【0024】 [0024]
ここで図3を参照すると、前述の構成のそれぞれにおいて相互に接続されている任意の2つの記憶装置の間に存在する場合がある異なる接続を有する実施形態が示されている。 Referring now to FIG. 3, there is shown an embodiment having different connection that may be present between any two storage devices that are connected to each other in each of the configurations described above. たとえば、図2のコンピュータ・システム10に含まれるデータ記憶装置40および42が、多種多様な通信コネクション40a−40nの任意の1つを有するものとして、ここではより詳細に示されている。 For example, the data storage device 40 and 42 included in the computer system 10 of FIG. 2, as having any one of a wide variety of communication connections 40a-40n, shown here in greater detail. 接続40a−40nのそれぞれは、たとえばシステム・コール、リモート・システム・コール、あるいはマルチホップ・システム・コールを、たとえばデータ記憶装置40を使用してデータ記憶装置42に直接的あるいは間接的に発行するために、経路を指定することにより接続識別子によって一義的に識別される。 Each connection 40a-40n, and issues such as a system call, the remote system call, or a multi-hop system call, for example, directly or indirectly to the data storage device 42 using the data storage device 40 to is uniquely identified by the connection identifier by specifying the path.
【0025】 [0025]
ホスト・コンピュータとデータ記憶装置の間、あるいは任意の2つの記憶装置の間にはは、1つまたは複数の接続が存在してもよい。 Between the host computer and the data storage device or between any two storage devices, may also be present one or more connections. それぞれの数と形式は、それぞれの具体化例と用途に応答して変わってもよい。 Each number and format may vary in response to each of the concrete examples and applications. さらに、第1の記憶装置の第1のポートと第2の記憶装置の他のポートの間の特定の接続を指定する接続識別子は、1つのデータ記憶装置から他のデータ記憶装置へメッセージの転送を可能にする数字あるいは他の一義的な識別子であってもよい。 Furthermore, the connection identifier to specify a particular connection between the other port of the first port and the second storage device of the first storage device, the transfer of messages from one data storage device to another data storage device it may be a number or other unique identifier to enable. ある種の実施形態においては、接続識別子は1と16の間の数字でもよいが、他の範囲の数字も可能である。 In certain embodiments, the connection identifier may be a number between 1 and 16, but can also figures other ranges. たとえば、1つの実施形態においては、両端を含んで0. For example, in one embodiment, comprise the ends 0. . . . 15の範囲を使用することができる。 You can use a range of 15. 他の実施形態においては、両端を含んでA−Kのアルファベット表示を使用することができる。 In other embodiments, it is possible to use an alphabet display A-K, inclusive. さらに他の実施形態においては、接続識別子は、特定の通信チャネルを指定するのではなく、たとえば、次の Symmetrix(商標名)データ記憶装置のような次の記憶装置を識別することが可能である。 In still other embodiments, the connection identifier, rather than specifying a particular communication channel, for example, it is possible to identify the next storage device, such as the following Symmetrix (TM) data storage device .
【0026】 [0026]
データ記憶装置およびホスト・コンピュータ・システムの前述のコンピュータ・システム構成において、バックアップ・オペレーションおよび同等物の実行に関するオペレーションのような特定のデータ・オペレーションを行うように、ソフトウェアは記憶装置に接続されたホスト・システムのそれぞれで実行することができる。 In the foregoing computer system configuration of a data storage device and a host computer system, so that a specific data operations, such as operations on execution of backup operations and the like, the software connected to the storage device host it can be performed on each system. ソフトウェアは、異なるホスト・システムから異なるデータ・オペレーション命令を受けるように、異なるデータ・オペレーションの実行に関連して、データ記憶装置のそれぞれで実行することも可能である。 Software, like receive different data operations instructions from a different host system, with respect to the execution of different data operations can be executed on each data storage device. このようなソフトウェアは、たとえば、米国マサチューセッツ州、ホプキントンのEMCコーポレーションから入手できる。 Such software, for example, Massachusetts, USA, available from EMC Corporation of Hopkinton, Mass.
【0027】 [0027]
ここで図4を参照すると、たとえば、図1および図2のコンピュータ・システム構成において、データ・オペレーションを行う1実施形態を示すフローチャートが示されている。 Referring now to FIG. 4, for example, in a computer system arrangement of Figure 1 and Figure 2, a flowchart illustrating an embodiment for performing data operations is shown. ステップ52において、ホスト・プロセッサはデータ・オペレーション・リクエストをデータ記憶装置へ発行する。 In step 52, the host processor issues a data operation request to the data storage device. ステップ54において、リクエストを受ける現ターゲット・データ記憶装置は、データ・オペレーション・リクエストを分類する。 In step 54, the current target data storage device which receives the request, classifies the data operations request. 図示する実施形態において、データ・オペレーション・リクエストは、システム・コール、リモート・システム・コール、あるいはマルチホップ・システム・コールの3つのカテゴリーの1つとして一般に分類することができる。 In the illustrated embodiment, data operations request can be generally classified system call, as one of the three categories of remote system call or multihop system call. (従来のI/Oオペレーティングは、ここでは論じられていないが、本明細書の説明のようには、図4に関連して説明されるデータ・オペレーション・リクエストとは異なると考えられることを指摘する)。 (Conventional I / O operating, but not discussed here, as described herein, pointed out that considered distinct from the data operations request described in connection with FIG. 4 to). ターゲット・データ記憶装置がデータ・オペレーション・リクエストをシステム・コールとして分類すれば、現ターゲット・データ記憶装置はデータ・オペレーションを局部的に実行する。 If the classification target data storage device is a data operation request as a system call, the current target data storage device performs data operations locally. データ・オペレーション・リクエストが現ターゲット・データ記憶装置に対してリモート・システム・コールとして分類されれば、現ターゲット・データ記憶装置はさらに、データ・オペレーションを行うように遠隔のデータ記憶装置に転送し命令する。 If it is classified as a remote system call data operations request is for the current target data storage device, the current target data storage device further transferred to a remote data storage device to perform data operations Command. 言い換えれば、現ターゲット・データ記憶装置は、データ・オペレーションを実行するさらに他のデータ記憶装置に、データ・オペレーションをさらに転送し発行する中間記憶装置であると見なすことができる。 In other words, the current target data storage device, to yet another data storage device to perform data operations, can be regarded as an intermediate storage device for issuing further transfers data operations.
【0028】 [0028]
データ・オペレーション・リクエストがマルチホップ・システム・コールとして分類されれば、現ターゲット・データ記憶装置はコール情報の外層(outer layer)(すなわち、命令を現ターゲットを到達させた情報)を除去し、コール情報あるいはデータを第2のターゲット・データ記憶装置にさらに転送する。 If data operations request is classified as a multi-hop system calls, the outer layer of the current target data storage device call information (outer layer) (i.e., the instruction information which has reached the current target) removing, further transferring the call information or data to the second target data storage device. 制御はステップ62に進み、第2のターゲット・データ記憶装置が、後続の処理ステップに対して現ターゲット・データ記憶装置となる。 Control proceeds to step 62, the second target data storage device, the current target data storage device for subsequent processing steps. 制御は次にステップ54に進み、新たに指定された現ターゲット・データ記憶装置が、データ・オペレーション・リクエストを分類する。 Control then proceeds to step 54, the current target data storage device newly designated classifies data operations request.
【0029】 [0029]
一般的には、マルチホップ・システム・コールは、リクエストを行っているホスト・コンピュータから3層以上離れている、すなわちリモート・システム・コール以上に層が離れているデータ記憶装置にリモート・システム・コールを当てはめるという上述した技術を使用することが可能である。 In general, multihop system call, remote system in a data storage device that is remote from the host computer making the request three or more layers, i.e. the layers above the remote system call away it is possible to use the techniques described above that apply to calls. 翻訳処理の一部として、現ターゲット・データ記憶装置は、現コール・インスタンスと関連するデータの外層を除去し、残りのデータを第2のターゲット・データ記憶装置にさらに転送することができる。 As part of the translation process, the current target data storage device removes the outer layer of the data associated with the current call instance can further transferring remaining data to the second target data storage device. この第2のターゲット・データ記憶装置は、次にデータの外層を除去する同じ処理を行う。 The second target data storage device, then perform the same process of removing the outer layer of the data. コール情報の層を除去し、残りのデータを他のターゲット・データ記憶装置にさらに転送する処理は、リモート・システム・コールあるいはシステム・コールがデータの最も内部の層に到達するまで実行される。 Removing the layer of call information, the process further transferring the remaining data in the other target data storage device, the remote system call or system call is executed until it reaches the innermost layer of the data.
【0030】 [0030]
一実施形態は、マルチホップ・システム・コールあるいは他の任意の形式のコールを処理する場合に、たとえばステップ60と関連して、情報を除去しないことを任意選択で有してもよい。 One embodiment, when processing a multi-hop system call, or any other form call, for example in connection with step 60, which may have optionally not to remove the information. より正確に言えば、他の実施形態におけるステップ60に対する処理記述は、コール情報の部分を除去せずに、コール情報だけを転送してもよい。 More precisely, the process described with respect to step 60 in another embodiment, without removing the portion of the call information may be transferred only call information. これは、フローチャート50の56および/または58のような、1つまたは複数の他の処理ステップを有する場合であってもよい。 This, like 56 and / or 58 of the flowchart 50 may be the case with one or more other processing steps. このようにすることにより、たとえば、情報が帰路を戻る場合に使用することができるように、経路情報を保持して帰路情報に使用するようにすることができる。 By doing so, for example, so that it can be used when the information is returned to return, it is possible to use the return information holds routing information. マルチホップ・システム・コールに関連してコール情報からデータの部分を除去するべきかどうかの決定は、各実施形態に応答して変更してもよい。 The determination of whether to remove the portion of the data from the call information in connection with the multihop system call may be changed in response to each embodiment. たとえば、固定パケット・サイズを使用する実施形態では、コール情報の部分を除去しないことが望ましい場合がある。 For example, in embodiments using a fixed packet size, it may be desirable not to remove the portion of the call information. 大きい可変パケット・サイズを有する他の実施形態においては、もし帰路情報が必要とされず、および/または大きいデータ・パケットの通過に関連するオーバーヘッドによって、他のターゲットにさらに転送する前にコール情報の一部を除去することが望ましい場合がある。 In other embodiments having a large variable packet size is not required if return information, by and / or large data packets associated overhead passage of the call information before further transferred to other targets it may be desirable to remove a portion.
【0031】 [0031]
フローチャート50のステップは、データ・オペレーション・リクエストを分類する方法であり、方法ステップは構成に含まれるデータ記憶装置のそれぞれによって実行することができる。 Steps of flowchart 50 is a method for classifying data operations request, the method steps may be performed by each of the data storage device in the configuration. 入力データ・オペレーション・リクエストのそれぞれは、開始ホスト・コンピュータ(initiating host computer)からの受信ターゲット・データ記憶装置であるデータ装置のレベルに対するシステム・コールのレベルに基づいて分類される。 Each input data operations request is classified based on the level of the received target data storage system call for level data devices is from the start the host computer (initiating host computer). そのレベルが、受信データ記憶装置が指示されたデータ・オペレーションを行うための実ターゲット・データ記憶装置であることを意味するレベルであれば、ホスト・システムからターゲット装置へシステム・コールが発行される。 That level, if the level of meaning, the system call from the host system to the target device is issued that the received data storage device is a real target data storage device for performing data operations instructed . 2つのレベルを使用して、リモート・システム・コールは、第1のデータ記憶装置から第2レベルのデータ記憶装置へデータ・オペレーション命令をさらに転送するように使用される。 Using two-level, the remote system call is used to further transfer data operation command from the first data storage device to a second level of data storage device. レベルが2を超えていれば、データ・オペレーションを行うためのターゲット・データ記憶装置が、発行ホスト・プロセッサから3ノード以上離れているという点で、マルチホップ・システム・コールが使用される。 If exceeding the level 2, the target data storage device for performing data operations, in that apart from the issuing host processor 3 or more nodes, multihop system call is used.
【0032】 [0032]
再び図2のコンピュータ・システム10を参照すると、たとえば、ホスト・コンピュータ34は、データ・オペレーション・リクエストを開始することが可能である。 Referring to the computer system 10 of FIG. 2 again, for example, the host computer 34, it is possible to start the data operations request. コンピュータ・システム・ダイアグラムは、各ノードが接続である辺を有するコンピュータ・システムあるいはデータ記憶装置であるノードのグラフであると見なすことができる。 Computer system diagram, can be regarded as a graph of nodes each node is a computer system or data storage device having sides are connected. データ・オペレーション・リクエストと関連する1の深さすなわちレベルは、実行されるべきデータ・オペレーションを発行するようにシステム・コールが使用される可能性のある第1のデータ記憶装置32を示す。 1 of depth or level associated with the data operations request indicates the first data storage device 32 that may cause the system call is used to issue the data operation to be performed. 2の深さを使用すると、たとえば、ホスト・プロセッサ34が第2のデータ記憶装置36によって実行されるべきデータ・オペレーション・リクエストを発行すれば、リモート・システム・コールが使用される。 Using 2 of depth, for example, the host processor 34 when issuing a data operation request to be executed by the second data storage device 36, remote system call is used. 3の深さを使用すると、たとえば、第3のデータ記憶装置40によって実行されるべきデータ・オペレーション・リクエストを発行するように、ホスト・プロセッサ34はマルチホップ・システム・コールを使用することができる。 With the depth of 3, for example, to issue the data operation request to be performed by the third data storage unit 40, host processor 34 may be a multi-hop system call .
【0033】 [0033]
1つの実施形態において、データ記憶装置32は、データ・オペレーション・リクエストを、例えば、データ・オペレーション・リクエスト内の特定のフィールド内の命令コードを判別することにより、システム・コール、リモート・システム・コールあるいはマルチホップ・リモート・システム・コールに分類して、フローチャート50に含まれる方法ステップを実行できる。 In one embodiment, the data storage device 32, a data operation request, for example, by determining an instruction code in a particular field of the data operations within the request, the system call, the remote system call Alternatively classified into multihop remote system call, you can perform the method steps included in the flow chart 50. データ記憶装置32が入力データ・オペレーション・リクエストをリモート・システム・コールとして分類すれば、データ記憶装置32は、実データ・オペレーションを行うように、データ記憶装置36にリモート・システム・コールを発行する。 If classification data storage device 32 is an input data operations request as a remote system call, data storage device 32 to perform actual data operations, issue a remote system call data storage device 36 . たとえば、システム・コールに含まれることがある命令コードによって、マルチホップ・システム・コールが検出された場合、データ記憶装置32は、第2のデータ記憶装置36をリモート・システム・コールが指示された装置として示すかもしれない接続識別子情報の第1レベルのようなコール情報の外層を除去することができ、残りのデータを記憶装置36にさらに転送することができる。 For example, the instruction code that may be included in the system call, if the multi-hop system call is detected, the data storage device 32, a second data storage device 36 is a remote system call is instructed the outer layer of the first level call information, such as the may indicate a device connection identifier information can be removed, it is possible to further transfer the remaining data in the storage device 36. その結果として、データ記憶装置36は受信あるいは現ターゲット・データ記憶装置になり、処理ステップ54、56、58、60および62の実行に進む。 As a result, the data storage device 36 becomes the reception or the current target data storage device, the process proceeds to the execution of the processing steps 54, 56, 58, 60 and 62. 一般的には、データ記憶装置によってマルチホップ・コールとして分類された任意の入力システム・コールは、コール情報の外層を除去するステップを実行し(ステップ60)、コール内にさらに封入された、すなわち埋め込まれたかもしれないデータを、例えば、現接続識別子によって指定されるような別のターゲット・データ記憶装置へさらに転送する(ステップ62)。 In general, any input system calls that are classified as a multi-hop calls by the data storage device executes a step of removing the outer layer of the call information (step 60), which is further enclosed in a call, i.e. the data that may have been embedded, for example, further transferred to another target data storage device as specified by the current connection identifier (step 62). そのターゲット・データ記憶装置は、次に埋め込まれたデータの分類の実行に進む。 Its target data storage apparatus, proceeds to execute the next embedded classification data. この処理は、現ターゲット・データ記憶装置によって、システム・コールあるいはリモート・システム・コールのいずれかが分類される迄、データ・オペレーション・リクエストに含まれていることがある接続識別子に応答して、異なるターゲット・データ記憶装置のそれぞれによって実行することができる。 This process, by the current target data storage unit, until either the system call or a remote system call is classified, in response to a connection identifier that is contained in the data operations request, It may be performed by each of the different target data storage device. いくつかの実施形態においては、ホップの最大数は、マルチホップ命令の最大サイズを制限するように、7あるいは8に設定されている。 In some embodiments, the maximum number of hops, so as to limit the maximum size of the multi-hop command is set to 7 or 8.
【0034】 [0034]
ここで図5を参照すると、マルチホップ・システム・コールに埋め込まれる可能性のあるデータの異なる翻訳の実施形態が示されている。 Referring now to FIG. 5, the embodiment of the different data that may be embedded in a multi-hop system call translation is shown. 要素72は、部分72aおよび72bを有するメッセージ・フォーマットを有する。 Element 72 has a message format having portions 72a and 72b. 総合すれば、部分72aおよび72bは、マルチホップ・システム・コールのフォーマットを表すことができる。 Taken together, portions 72a and 72b may represent the format of a multi-hop system call. 部分72aはマルチホップ命令コードおよび、現ターゲット・データ記憶装置によって処理ステップ60で除去される可能性があるターゲット接続識別子(target connection id)を含んでいる。 Portion 72a is multi-hop instruction codes and includes a target connection identifier that may be removed in the processing step 60 by the current target data storage device (target connection id). フィールド72aに含まれるターゲット接続識別子は、他のデータ部分72bが転送されることがあるさらに別のデータ記憶装置への接続を識別する。 Target connection identifier included in field 72a is further identifies a connection to another data storage device that may other data portion 72b is transferred. 記述72cは、ステップ54の処理を行う間に、受信データ記憶装置がデータ72bをいかに翻訳するかの表現である。 Description 72c, while performing the processing in step 54, the received data storage device is one of representations to how translating data 72b. 一般的には、第1のデータ記憶装置はステップ60の一部として部分72aを除去し、次に部分72bをフィールド72aに含まれるターゲット接続識別子によって指定された第2のデータ記憶装置にさらに転送してもよい。 In general, the first data storage device part 72a is removed as part of step 60, then the portion 72b in the second data storage device specified by the target connection identifier included in field 72a further transfer it may be. 他のデータ72bは、たとえば、第2のデータ記憶装置によって実際に翻訳された場合、フィールド72cによって示されるさらに別のマルチホップ・リモート・システム・コールであることがある。 Other data 72b, for example, when it is actually translated by the second data storage device, it may be yet another multi-hop remote system call indicated by the field 72c. 言い換えれば、他のデータ72bは、表現72cに実際に含まれるデータとして解釈することができる。 In other words, other data 72b may be interpreted as data included actually in expression 72c.
【0035】 [0035]
要素74を参照すると、受信ターゲット・データ記憶装置によるデータ・オペレーション・リクエストに含まれる情報の可能性のある他のマッピングの例が示されている。 Referring to element 74, an example of another mapping of potential information contained in data operations request by the receiving target data storage device is shown. ステップ60の処理において、第1のデータ記憶装置は部分74aを除去することができ、部分74aに含まれるターゲット接続識別子によって指定されるように、部分74bを第2のターゲット・データ記憶装置にさらに転送することができる。 In the process of step 60, the first data storage device is capable of removing portions 74a, as specified by the target connection identifier included in the portion 74a, further portions 74b on the second target data storage device it can be transferred. 例として、データ部分74bは第2のデータ記憶装置によってフィールド74cで表されるように翻訳することができる。 As an example, the data portion 74b can be translated as represented by field 74c by the second data storage device. 言い換えれば、第1のデータ記憶装置はデータを第2のデータ記憶装置に転送し、第2のデータ記憶装置は受信したデータをフィールド74cで表されるようにリモート・システム・コールとしてさらに翻訳する。 In other words, the first data storage device transfers data to the second data storage device, the second data storage device further translates as a remote system call as represented the received data field 74c . さらに第3のデータ要素76は、要素72および74に示すものと類似の部分76aおよび76bを含んでいる。 A third data element 76 includes similar parts 76a and 76b as shown in element 72 and 74. ステップ60の処理において、第1のデータ記憶装置は、部分76aを受信したデータから除去することができ、フィールド76aに含まれるターゲット接続識別子によって指定されるように、データ部分76bを第2のデータ記憶装置にさらに転送することができる。 In the process of step 60, the first data storage device can be removed from the data received partial 76a, as specified by the target connection identifier included in field 76a, a data portion 76b second data it can be further transferred to the storage device. 第2のデータ記憶装置は、次にステップ54、56、58、60および62の処理を実行することができ、フィールド76bのデータをフィールド76cで表されるように翻訳することができる。 Second data storage device, then it is possible to perform the processing of steps 54, 56, 58, 60 and 62, it can be translated as represented data field 76b in the field 76c. 例示された実施形態において、第2のデータ記憶装置に渡されたデータは、たとえば、オペレーションを含むシステム・コールとして翻訳することができ、そのオペレーションはステップ56にしたがって実行される。 In the illustrated embodiment, the data passed to the second data storage device, for example, can be translated as a system call that contains the operation, that operation is performed in accordance with step 56.
【0036】 [0036]
実施形態は、たとえば、帰路情報の保持に関連して、コール情報の任意の1つまたは複数の部分を除去しないことを選択することも可能であることに注目すべきである。 Embodiment, for example, in connection with the holding of the return information, it should be noted that it is also possible to choose not to remove any of the one or more portions of the call information. これは、本明細書の他のところで詳細に説明する。 This will be described in detail elsewhere herein.
【0037】 [0037]
前述の事項には、1つまたは複数の他のデータ記憶装置を介してターゲット・データ記憶装置に間接的に接続された他のデータ記憶装置によって起動できるターゲット・データ記憶装置によってデータ・オペレーションが実行されるマルチホップ・システム・コールを使用する説明と技術が含まれている。 The foregoing matters, execution data operations by the target data storage device that can be invoked by other data storage device that is indirectly connected to the target data storage device via one or more other data storage device It contains descriptions and technique of using a multi-hop system calls that are.
【0038】 [0038]
本明細書に説明するマルチホップ・システム・コールは、次に説明するマルチパス技術に関連して使用することもできる。 Multihop system call described herein can also be used in conjunction with multi-pass technique described below. 「マルチパス・マルチホップ」システム・コールは、第1の通信経路におけるハードウェアあるいはソフトウェア障害のような障害が発生した場合には、マルチホップ・システム・コールに関連して1つまたは複数の代替の通信経路を使用することができるリモート・システム・コールとして特徴づけることができる。 "Multipath multihop" system call when a failure such as a hardware or software failure in the first communication path occurs, one in relation to the multihop system call or more alternative communication path can be characterized as a remote system calls can be used. 通信経路は、コンピュータ・システム間をグラフとして表す類推を行うことによつて定義することができる。 Communication paths may be by connexion defined to performing analogy representing between computer system as a graph. グラフ内の各ノードは、コンピュータ・システム内のデータ記憶装置、ホストあるいは他のコンピュータを表すことができる。 Each node in the graph, the data storage device in a computer system may represent the host or other computers. これらのノードは、2つのデータ記憶装置、データ記憶装置とホスト・コンピュータ、および同等物の間の接続のような任意の2つのノードの間の通信コネクションを表す辺によって接続される。 These nodes, two data storage devices are connected by edges representing any communication connection between two nodes, such as the connection between the data storage device and the host computer, and the like. 通信コネクションは、たとえば、イーサネット接続を使用するLAN、SCSI接続を使用するファイバ・チャネル上のSAN、遠隔データ機能(RDF)を使用するSymmetrix(商標名)データ記憶装置である2つのデータ記憶装置の間のようなデータ記憶装置接続、および同等物のような、任意の形式の通信コネクションの1つであってよい。 Communication connection, for example, LAN using an Ethernet connection, SAN on Fiber Channel to use SCSI connection, the remote data function Symmetrix (trade name) using (RDF) data storage is a device the two data storage devices a data storage device connected, such as between, and equivalents as may be one of the communication connection any form. したがって、通信経路の設定と指定は、たとえば、データ記憶装置の決定と、データ記憶装置の間の通信コネクションの選択を含むことがある。 Therefore, specifying a set of communication paths, for example, may include a determination of the data storage device, the selection of the communication connection between the data storage device.
【0039】 [0039]
Symmetrix(商標名)データ記憶装置(SYM)である1つまたは複数のデータ記憶装置を有する1つの実施形態においては、RDFは、たとえば、ファイルI/Oオペレーションおよび他のデータ転送のような利用者データ転送におけるSYMの間のような、命令、状態および構成情報、および同等物と組み合わされていてもよいような、遠隔通信を行う場合に使用することができる機能であることに注目すべきである。 Symmetrix In one embodiment having a (TM) data storage device one is (SYM) or more data storage devices, RDF, for example, the file I / O operations and user, such as another data transfer such as between SYM in the data transfer instruction, status and configuration information, and that may be combined with the equivalent, should be noted that a function that can be used in the case of remote communication is there. RDFは、各SYMに常駐するデータ層であってもよい。 RDF may be data layer that resides on each SYM. マルチホップ・システム・コールは、リモート・システム・コールを他のSYMに転送するように、RDFのサービスを使用することができる。 Multihop system call to transfer the remote system call to another SYM, can be used RDF service. 一般的には、マルチホップ・システム・コールは、リクエストをデータ記憶装置あるいは他の「ノード」に転送するように、RDFのサービスを使用することができる。 In general, multihop system call to transfer the request data storage device or else "node", it is possible to use RDF service. RDFはSYMの間のようなデータ伝送を容易にするのに使用することができ、ターゲットSYMあるいは受信SYMはシステム・コールの実行に関連して動作することができる。 RDF may be used to facilitate data transmission, such as between SYM, target SYM or receiving SYM may operate in conjunction with the execution of the system call.
【0040】 [0040]
本明細書において説明する技術を使用するコンピュータ・システムの実施形態において、データ記憶装置がSYMであってもよいことに注目すべきである。 In an embodiment of a computer system using the techniques described herein, the data storage device is to be noted that it may be a SYM. マルチホップ・システム・コールは、2つのSYMに接続されているか2つのSYMに含まれている専用のハードウェアを使用して、2つのSYMの間で行うことができる。 Multihop system call, using dedicated hardware contained in two SYM or is connected to two SYM, it can be carried out between the two SYM. この専用のハードウェアは、SANを介して、あるいは、たとえば、さまざまな通信媒体の任意の1つ、あるいは当業者に公知の接続を使用して、他のSYMへ接続することができる。 This dedicated hardware is via a SAN, or, for example, can be any one of a variety of communication media, or using a known connection to the person skilled in the art, to connect to other SYM.
【0041】 [0041]
ここで図6を参照すると、マルチパス・マルチホップ・システム・コールを行うことができるコンピュータ・システムの実施形態が示されている。 Referring now to FIG. 6, an embodiment of a computer system capable of performing multipath multihop system call is shown. コンピュータ・システム100の中には、LAN102、SAN104、Symmetrix(商標名)データ記憶装置(SYM)106a−106nのような、データ記憶装置が含まれている。 Some computer system 100, LAN102, SAN104, Symmetrix such as (TM) data storage device (SYM) 106a-106n, includes data storage device. この実施形態はデータ記憶装置としてSYMを有するが、他の実施形態は、本明細書において説明する技術を使用して、他の形式のデータ記憶装置を有してもよいことに注目すべきである。 This embodiment has the SYM as a data storage device, other embodiments may use the techniques described herein, it should be noted that may have a data storage device for other types is there. さらに、SYM106a−106nのそれぞれは、1つまたは複数のホストおよび/またはコンピュータ・システム100に含まれる他のデータ記憶装置に対して1つまたは複数の接続を有してもよい。 Further, each of SYM106a-106n, may have one or more connections to other data storage devices included in one or more hosts and / or computer system 100. SYM106a−106nのそれぞれは、SAN、LAN、および各装置に含まれる他の接続を使用して、他のSYMおよびホスト・コンピュータ・システムと通信することが可能である。 Each SYM106a-106n, it is possible to use other connections in SAN, LAN, and each device communicates with other SYM and the host computer system. SAN、LAN、および(SYM間のデータ記憶接続のような)他の接続の使用は、たとえば、SYM106aとSYM106bの間のようなデータ記憶装置の間の通信を容易にするように、同様に、データ記憶装置とホスト・コンピュータ・システムの間の通信ならびに2つのホスト・コンピュータ・システムの間の通信を容易にするように、独立にあるいは組み合わせて使用することができる。 SAN, LAN, and (such as data storage connection between SYM) use of other connections, for example, to facilitate communication between the data storage device, such as between SYM106a and SYM106b, likewise, as the communication between the communication and two host computer systems during the data storage device and the host computer system facilitating, it can be used independently or in combination.
【0042】 [0042]
1つの実施形態においては、ホスト・コンピュータ・システムは、Symmetrix(商標名)インタフェース層(SIL)のようなソフトウェアを使用して、SYM−l、106aのようなSYMと通信することができる。 In one embodiment, host computer system may use software such as Symmetrix (trade name) interface layer (SIL), communicates with the SYM-l, SYM such as 106a. 他のホスト・コンピュータ・システムは、各実施形態に応答して変わることがある他の装置と通信するように、他のソフトウェア・インタフェースを使用してもよい。 Other host computer system, to communicate with other devices that may vary in response to the respective embodiments, may use other software interface.
【0043】 [0043]
本明細書の別のところで説明するように、データ記憶装置および/またはホスト・コンピュータ、ならびにコンピュータ・システム100に含まれるデータ記憶装置および/またはホスト・コンピュータの任意の2つの間の通信コネクションは、グラフで表すことができる。 As explained elsewhere herein, the data storage device and / or host computer and a communication connection between any two of the data storage device and / or host computer included in the computer system 100, is it can be represented graphically. グラフ内のノードは、データ記憶装置、あるいはホスト・コンピュータに対応することができる。 Nodes in the graph can correspond to the data storage device or a host computer. ノードは、辺によって接続される2つのノードの間の通信コネクションにそれぞれ対応する辺によって接続することができる。 Node may be connected by corresponding sides in the communication connection between two nodes connected by edges. たとえば、SYM−1、106aおよびSYM−2、106bは、グラフ内のノードであるとして表される。 For example, SYM-1,106a and SYM-2,106b is represented as a node in the graph. これらは、各辺が、LAN102、SAN104および1つまたは複数のデータ記憶接続108a、108bのような、通信コネクションに対応する辺によって接続することができる。 These sides may connect LAN 102, SAN 104 and one or more data storage connections 108a, such as 108b, the side corresponding to the communication connection. 1つの実施形態における接続108aおよび108bは、図1のコンピュータ・システムに関連して前述したような12a−12cおよび20a−20cのような接続に類似である可能性があることに注目すべきである。 Connection 108a and 108b in one embodiment, it should be noted that there is likely to be similar to the connections, such as 12a-12c and 20a-20c, as described above relative to the computer system of Figure 1 is there. さらに、たとえば、SYM−2は、LAN102およびSAN104によって、SYM−n、106nのような他のSYMに接続することができる。 Furthermore, for example, SYM-2 may be connected by LAN102 and SAN 104, SYM-n, the other SYM such as 106n. しかし、SYM−2、106bとSYM−n、106nの間の接続に対しては、データ装置接続が存在しないことがある。 However, SYM-2,106b and SYM-n, for connection between 106n, there is the data device connection does not exist. 2つのノードSYM−2およびSYM−nの間の接続を表すグラフにおいて、それぞれSYM−2およびSYM−nに対応するノードの間の2つの辺の表現が存在することがある。 In the graph representing the connection between the two nodes SYM-2 and SYM-n, which may be expressed in two sides between each node corresponding to the SYM-2 and SYM-n exist. さらに、SYM−1、106aとSYM−2、106bのそれぞれは、それぞれ、LAN接続102、SAN接続104、ならびに矢印108aおよび/または108bによって表されるようなデータ記憶装置接続を表す3つの辺によって接続された同じグラフ内のノードであるとして表現することができる。 Further, each of the SYM-1,106a and SYM-2,106b, respectively, by LAN connections 102, SAN connection 104, and three sides representing the data storage device connected, as represented by arrows 108a and / or 108b it can be expressed as a node of a connected in the same graph.
【0044】 [0044]
たとえば、SYM−1、106aとSYM−n、106nの間に通信経路を設定する場合、さまざまな異なる既存の接続の任意の1つを使用することができる。 For example, SYM-1,106a and SYM-n, when setting a communication path between 106n, can be used any one of a variety of different existing connections. 言い換えれば、以下に説明するように、SYM−1とSYM−nの間の通信経路を指定する複数の方法が存在する可能性がある。 In other words, as described below, there is a possibility that a plurality of methods exist for specifying the communication path between the SYM-1 and SYM-n. たとえば、SYM−1、106aとSYM−n、106nの間に第1の通信経路を設定する場合、SYM−1、106aとSYM−2、106bの間のデータ記憶接続を使用することができる。 For example, SYM-1,106a and SYM-n, when setting the first communication path between 106n, may use data storage connection between the SYM-1,106a and SYM-2,106b. さらに、SYM−2とSYM−nの間の接続を完成するように、LANを使用することができる。 Furthermore, to complete the connection between the SYM-2 and SYM-n, it can be used LAN. SYM−1とSYM−nの間の第2の通信経路は、SYM−1とSYM−nの間のLANを使用するによって、指定することができる。 A second communication path between the SYM-1 and SYM-n is, depending on the use of LAN between SYM-1 and SYM-n, can be specified. LAN上でのSYM−1とSYM−nの間の接続は、1つの実施形態においては、第1の選択であってもよい。 The connection between the SYM-1 and SYM-n on the LAN, in one embodiment, may be a first choice. しかし、ハードウェアおよび/またはソフトウェアの障害あるいは問題のような、なんらかの理由でSYM−1からSYM−nへのLAN接続がダウンすると、SYM−1をSYM−nに接続する経路を構成するように、SYM−1とSYM−2の間のデータ記憶接続をSYM−2とSYM−nの間のLAN接続との組み合わせで使用することができる。 However, when such as hardware and / or software failures or problems, LAN connectivity for some reason from SYM-1 to SYM-n is down, so as to constitute a path connecting the SYM-1 to SYM-n , may use data storage connection between the SYM-1 and SYM-2 in combination with LAN connection between the SYM-2 and SYM-n. SYM−nをターゲット装置としてSYM−1からマルチホップ・システム・コールを実行する場合、これらの経路のいずれか1つを使用することができる。 The SYM-n When performing multi-hop system call from SYM-1 as the target device, it is possible to use any one of these pathways.
【0045】 [0045]
グラフ上の2つのノードの間の特定の経路を指定する前述の場合には、各経路は、グラフ内に異なる中間ノードを有することが可能であり、また、グラフ内に任意の2つのノードの間の異なる通信コネクションに対応する異なる辺を有することが可能であることに注目すべきである。 If the foregoing that specifies a particular path between the two nodes on the graph, each path can have a different intermediate nodes in the graph, also, any two nodes in the graph it should be noted that it is possible to have different sides corresponding to different communication connection between.
【0046】 [0046]
ここで図7を参照すると、図6のコンピュータ・システムの実施形態に含まれるような、2つのSYMの間の異なる通信コネクションの論理図表現が示されている。 Referring now to FIG. 7, as contained in the embodiment of the computer system of FIG. 6, the logic diagram representation of a different communication connections between the two SYM is shown. SYM−1、106aおよびSYM−2、106bを図7に示す。 The SYM-1,106a and SYM-2,106b 7. 図7は、図6のコンピュータ・システム100にも示されるような、SYM106aと106bの間の通信コネクションの別の表現を示す。 7, as also shown in the computer system 100 of Figure 6 shows another representation of the communication connection between the SYM106a and 106b. SYM106aと106bの間のデータ通信およびデータ・オペレーションを容易にするように使用することができるコンピュータ・システム100における通信コネクションは、SAN、LAN、およびデータ記憶接続である。 Communication connection in a computer system 100 that may be used to facilitate data communications and data operations between SYM106a and 106b are SAN, LAN, and data storage connections. 図7の表現は、図6のコンピュータ・システム100の前述の説明におけるSYMおよび/またはホスト・システムの間のような他の通信コネクションにも拡張することができる。 Representation of Figure 7 can also be extended to other communication connection, such as between SYM and / or host system in the foregoing description of computer system 100 of Figure 6.
【0047】 [0047]
一実施形態は、0、1、または複数のタイプの通信コネクションを含んでいても可能であることに注目すべきである。 One embodiment, 0,1, or it should be noted that include a plurality of types of communication connection are possible. たとえば、LANあるいはSAN接続は無くて、2つのSymmetrix(商標名)データ記憶装置の間の遠隔データ記憶機能(RDF)接続のような3つのデータ記憶接続があってもよい。 For example, LAN or SAN connection without, there may be three data storage connection, such as a remote data storage function (RDF) connected between the two Symmetrix (TM) data storage device. 特定の形式と同様に、各形式の数は、各実施形態に応答して変わってもよい。 As with a specific format, the number of each type may vary in response to the respective embodiments. RDF接続は、本明細書の他のところで詳細に説明する。 RDF connection is described in detail elsewhere herein.
【0048】 [0048]
ここで図8を参照すると、マルチパス・マルチホップ・システム・コールを実行することができるコンピュータ・システムの実施形態の他の例が示されている。 Referring now to Figure 8, another example embodiment of a computer system that may perform multipath multihop system call is shown. SYM112a−112eの構成を有するコンピュータ・システム110を図8に示す。 The computer system 110 having the configuration SYM112a-112e shown in FIG. SYM−1、112aは接続114aを介してホスト・コンピュータに接続されており、SYM−4、112dは接続114bを介してホスト・コンピュータに接続されている。 SYM-1,112a is connected to the host computer via the connection 114a, SYM-4,112d is connected to the host computer via the connection 114b. 図8における接続114aおよび114bは、LAN、あるいは、図1に関連して既に説明した接続12aのような他の接続および同等物を介するような、ホスト・システムとの接続の1つまたは複数の形式を表すことができることに注目すべきである。 Connection 114a and 114b in FIG. 8, LAN, or such as via the other connection and equivalents, such as connections 12a already described in relation to FIG. 1, one of the connection with the host system or a plurality of it should be noted that it is possible to represent the form. コンピュータ・システム110には、異なるSYMを接続するさまざまな通信コネクションに対応して、116a−116c、118a−118bおよび120a−120bのようなさまざまな辺によって接続されたグラフ内のノードに類似しているさまざまなSYMの間の接続の構成がさらに示されている。 The computer system 110, different SYM in response to a variety of communication connection connecting, 116a-116c, similar to the nodes in the graph are connected by various sides, such as 118a-118b and 120a-120b structure of connection between the various SYM there are further shown. この例においては、通信コネクション116a−116c、118a−118bおよび120a−120bは、データ記憶装置間のそれぞれ1つまたは複数の異なる接続を表すことが可能であることに注目すべきである。 In this example, communication connection 116a-116c, 118a-118b and 120a-120b should be noted that it is possible to represent each one or more different connections between the data storage device. たとえば、辺116aは、SYM112aと112bの間に存在することができる、LAN、SANおよびデータ記憶接続のようなSYM−1とSYM−2の間の1つまたは複数の接続に対応することができる。 For example, the sides 116a may exist between SYM112a and 112b, LAN, can correspond to one or more connections between the SYM-1 and SYM-2, such as SAN and data storage connected . 単純にするように、各辺は、始点SYMから終点すなわちターゲットSYMへの通信経路を設定するときに選択することができる1つまたは複数の接続を表す。 As simplicity, each edge represents one or more connections that can be selected when setting a communication path from the start point SYM to the end point or target SYM.
【0049】 [0049]
以下の段落で詳細に説明するように、たとえば、SYM112aとSYM112dの間の通信を送るように、さまざまな異なる通信経路の任意の1つを選択することができる。 As explained in detail in the following paragraphs, for example, to send communication between SYM112a and SYM112d, you can select any one of a variety of different communication paths. 単一の通信経路を形成する場合に、中間ノードを介しての経路の選択、ならびに、2つのノードの間に複数の接続がある時の通信コネクションの選択に対しては、複数の決定をすることが可能である。 When forming a single communication path, the choice of route via an intermediate node, and, for the selection of the communication connection when there are multiple connections between the two nodes, the plurality of decision It is possible. たとえば、SYM112aと112dの間の通信経路の設定の場合、第1の決定は、通信経路の形成において、どのSYMを中間ノードとするかである。 For example, if the setting of the communication path between the SYM112a and 112d, the first decision, in the formation of the communication path is control over which SYM intermediate node. 特定のSYMに対応するグラフの上の特定のノードが決定すると、2つ以上の通信コネクションの形式があれば、1つの通信コネクションが選択される。 When a particular node on the graph corresponding to a particular SYM is determined, if the format of the two or more communication connections, one communication connection is selected. たとえば、SYM112aと112dの間に経路を形成する場合に、第1の決定は、この例においてはSYM−2、112bあるいはSYM−3、112cである候補の特定の集合から中間ノードを選択することである。 For example, in the case of forming a path between the SYM112a and 112d, the first decision is to select the intermediate node from a particular set of candidate is SYM-2,112b or SYM-3,112c in this example it is. どのSYMが中間ノードであるかの決定が行われると、現データ記憶装置、すなわちSYM、を選択された中間データ記憶装置、すなわちSYM、に接続する利用できる複数の通信コネクションがあるか否かの決定が行われる。 And how SYM is one of determining an intermediate node is performed, the current data storage device, i.e. SYM, intermediate data storage device to a selected, i.e. SYM, available to connect to whether there is a plurality of communication connections determination is made. たとえば、SYM−112bが選択されれば、辺116aによって表される通信コネクションの1つが選択されなければならない。 For example, if SYM-112b is selected, one of the communication connection that is represented by the edge 116a but must be selected. 1つの実施形態においては、SYM112aをSYM112bに接続している辺116aは、SAN、LAN、あるいはデータ記憶接続の1つであってよい。 In one embodiment, the sides 116a connecting the SYM112a to SYM112b is, SAN, LAN may be one of or data storage connections. SYM112aとSYM112bの間の接続の形成に、これらの1つを選択することができる。 The formation of the connection between the SYM112a and SYM112b, it is possible to select one of these. これは、SYM1、112aのようなグラフ内の開始ノードと、ターゲット・データ記憶装置すなわちSYM4、112dのようなSYMに対応するグラフ内の目標ノードすなわち終了ノードの間に通信経路を形成する場合に行われる可能性のある反復処理である。 This is the case of forming the starting node in the graph, such as SYM1,112a, a communication path between the target node or end node in the graph corresponding to the SYM as the target data storage device or SYM4,112d an iterative process that may be performed.
【0050】 [0050]
ここで図9を参照すると、開始ノードと目標ノードの間の通信経路を決定するための、1実施形態の方法ステップの例のフローチャートが示されている。 Referring now to FIG. 9, for determining a communication path between the start node and the target node, the flowchart of an example method steps of one embodiment is shown. 一般的には、図9および図10に関連して説明するステップは、図8に関連して今までに述べた総合的な処理を要約している。 In general, the steps described in connection with FIGS. 9 and 10 summarizes the overall processing described so far in connection with FIG.
【0051】 [0051]
ステップ132において、グラフ内の開始ノードおよび目標ノードが決定される。 In step 132, the start node and the target node in the graph is determined. 開始ノードおよび目標ノードは、本明細書において前述したように、ホスト・コンピュータ、あるいは、たとえば、図8のコンピュータ・システム110に関連して説明した記憶装置を表している。 Start node and the target node, as previously described herein, the host computer or, for example, represents the memory described in connection with the computer system 110 of Figure 8. 制御はステップ134に進み、変数「現ノード」が開始ノードであるとして割り当てられる。 Control proceeds to step 134, the variable "current node" is assigned as the start node. 制御はステップ136に進み、現ノードの後に続く中間ノードの候補が決定される。 Control proceeds to step 136, candidate intermediate node that follows the current node is determined. 言い換えれば、現ノードに関しては、他のホスト・コンピュータ、記憶装置および同等物を表すすべての隣接ノードは、ステップ136において決定される。 In other words, with respect to the current node, all adjacent nodes representing other host computer, the storage device and the like is determined in step 136. ステップ138において、現ノードに対して複数の中間ノード候補が存在するか否かの判定が行われる。 In step 138, whether or not the determination plurality of intermediate nodes candidate is present is performed for the current node. 言い換えれば、ステップ136において行われた候補の決定に対して、2つ以上の中間ノードが存在するか否かの判定が行われる。 In other words, for the determined conducted a candidate in step 136, whether or not two or more intermediate nodes exist determination is made. ステップ138において1つの中間ノードのみが存在すると判定されれば、制御はステップ142に進み、1つの中間ノード候補が中間ノードとして割り当てられる。 If in step 138 it is determined that only one intermediate node exists, control proceeds to step 142, one intermediate node candidate is assigned as an intermediate node. ステップ138において2つ以上の中間ノード候補が存在すると判定されれば、制御はステップ140に進み、ステップ136において決定された候補の集合から中間ノードが選択される。 If in step 138 it is determined that there is more than one intermediate node candidate exists, control proceeds to step 140, the intermediate node is selected from the set of candidates determined in step 136. ステップ140および142に引き続いて、制御はステップ148に進み、現ノードと選択された中間ノードの間に複数の通信コネクションが存在するか否かの判定が行われる。 Subsequent to step 140 and 142, control proceeds to step 148, it is determined whether or not a plurality of communication connections are present is performed between the intermediate node selected as the current node. LAN、SAN、および1つまたは複数のデータ記憶接続のような複数の通信コネクションが存在すれば、制御はステップ144に進み、複数の通信コネクションの1つが選択される。 LAN, SAN, and one or if more of the plurality of communication connections, such as data storage connection exists, control proceeds to step 144, one of a plurality of communication connections is selected. 他の場合には、制御はステップ146に進み、現ノードと中間ノードの間の単一の通信として単一の通信コネクションが使用される。 Otherwise, control proceeds to step 146, a single communication connection is used as a single communication between the current node and the intermediate node.
【0052】 [0052]
制御はステップ150に進み、現ノードが目標ノードであるか否かの判定が行われる。 Control proceeds to step 150, it is determined whether the current node is the target node is performed. 言い換えれば、ステップ150において、開始ノードと目標ノードの間に設定された完全な通信経路を表すグラフを介して、完全な経路が作られたか否かの判定が行われる。 In other words, in step 150, through the graph representing a complete communication path set between the start node and the target node, it is determined whether the complete route is made is performed. 現ノードが目標ノードであるとのステップ150における判定は、通信経路の選択が完了したことを意味し、制御はステップ160に進み、処理は停止する。 Determination in step 150 the current node is the target node, means that the selection of the communication path is completed, control proceeds to step 160, processing stops. 他の場合には、現ノードが目標ノードではなく通信経路が完成していないことを示していれば、制御はステップ152に進み、現ノードが中間ノードであるとして割り当てられる。 Otherwise, if indicates that the current node has a communication path is not complete without the goal node, control proceeds to step 152, is assigned as the current node is an intermediate node. 続いて、制御はループの最上部のステップ136に進み、現ノードに対する中間ノード候補が決定される。 Then, control proceeds to step 136 at the top of the loop, the intermediate node candidate for the current node is determined. 言い換えれば、ステップ136において、現ノードに対するすべての隣接ノードが決定される。 In other words, in step 136, all the neighboring nodes for the current node is determined. ステップ136によって最上部に形成されたループに関連するステップは、異なるデータ装置およびホスト・コンピュータ・システムに対応してグラフ内に表されるノードおよび通信コネクションからの完全な通信経路が形成されるまで、選択されたそれぞれの新しい中間ノードに対して実行される。 Steps associated with a loop formed at the top by a step 136, until a complete communication path from the node and the communication connection is represented in the graph corresponds to a different data devices and the host computer system is formed It is performed for each new intermediate node selected.
【0053】 [0053]
ここで図10を参照すると、図9のフローチャート130に関連して説明した通信コネクションの選択に関連するより詳細な処理ステップの実施形態の例のフローチャートが示されている。 Referring to Figure 10, there is shown a flowchart of an example embodiment of a detailed processing steps than associated with the selected communication connection described with reference to the flow 130 of FIG. ステップ170において、データ記憶接続が存在するか否かの判定が行われる。 In step 170, whether the data storage connection exists determination is made. データ記憶接続が存在すると判定された場合、制御はステップ172に進み、現ノードと中間ノードの間の通信コネクションとして、直接の接続が選択される。 If the data storage connection is determined to exist, control passes to step 172, as the communication connection between the current node and the intermediate node, the direct connection is selected. ステップ184において、この処理ステップで処理は停止する。 In step 184, the processing in this processing step to stop.
【0054】 [0054]
他の場合には、データ記憶接続が存在しなければ、制御はステップ174に進み、そこで中間ノードを現ノードと接続するLANが存在するか否かの判定が行われる。 Otherwise, if there is no data storage connections, control proceeds to step 174, where the intermediate node whether LAN that connects the current node is present determination is made. ステップ174においてLANが存在すると判定された場合、制御はステップ176に進み、LAN接続が選択される。 If the LAN is determined to exist in step 174, control proceeds to step 176, LAN connection is selected. 制御は次にステップ186に進み、処理は停止する。 Control then proceeds to step 186, processing stops.
【0055】 [0055]
他の場合には、ステップ174においてLANが存在しないと判定された場合、制御はステップ178に進み、SAN接続が存在するか否かの判定が行われる。 In other cases, when it is determined that no LAN exists in step 174, control proceeds to step 178, it is determined whether SAN connection exists is performed. ステップ178においてSAN接続が存在すると判定された場合、制御はステップ182に進み、中間ノードと現ノードの間の接続としてSAN接続が選択される。 If it is determined that the SAN connection exists in step 178, control proceeds to step 182, SAN connection is selected as the connection between the intermediate node and the current node. 制御は次にステップ188に進み、処理は停止する。 Control then proceeds to step 188, processing stops.
【0056】 [0056]
ステップ178においてSAN接続が存在しないと判定された場合、制御はステップ180に進み、他の処理が実行される。 If it is determined that there is no SAN connection in step 178, control proceeds to step 180, other processing is executed. どのような他の処理が実行されるかは、それぞれの実施形態ごとに変化してもよいことに注目すべきである。 What other processing is performed, it should be noted that it may be changed for each embodiment. たとえば、ステップ180に到達することは、グラフ内の辺によって表されるような利用できる接続の異なる形式のすべてに対して徹底的な検索を行った後で、通信経路の設定に使用するように利用できる通信コネクションが存在しないことを意味する可能性がある。 For example, to reach the step 180, after performing an exhaustive search for all connections of different types available, such as represented by an edge in the graph, to be used to set the communication path it may mean that a communication connection available is not present. この場合には、たとえば、実施形態は、ループ、すなわち図10の処理ステップ144を再試行することを選択することが可能である。 In this case, for example, embodiments, loop, i.e. it is possible to choose to retry the process step 144 of FIG. 10. 他の実施形態は、あるいはエラー・メッセージを与えるか、あるいは各実施形態に応答して変化してもよい付加的な処理を行うことがある。 Other embodiments or give an error message, or may be performed may additional processing be changed in response to each embodiment.
【0057】 [0057]
図10の処理ステップ144に関連して説明したような詳細な処理は、グラフ内で表される2つのノードの間で利用できる通信コネクションの異なる形式の間の選択的な処理であることが、さらに指摘されるべきである。 Detailed processing as described in connection with process step 144 in FIG. 10, to be a selective process between different types of communication connections available between the two nodes represented by the graph, it should further be pointed out. 通信コネクションのこれらの形式は、グラフ内で表される任意の2つのノードの間で利用できる数と形式の両方で、それぞれの特定の実施形態ごとに変化してもよい。 These types of communication connections, both in number and format that can be utilized between any two nodes represented in the graph, may vary in each particular embodiment.
【0058】 [0058]
ここまでに説明してきたことは、本明細書において説明したコンピュータ・システム100および101のようなコンピュータ・システム内で相互に通信可能な、たとえば、ホスト・コンピュータ・システムおよび/またはSYMのようなデータ装置に対応するグラフ内の2つの点の間の通信経路を決定するための1つの技術である。 What has been described so far, in a computer system such as computer system 100 and 101 described herein can communicate with each other, for example, data such as a host computer system and / or SYM device is one technique for determining a communication path between two points in the corresponding graph.
【0059】 [0059]
利用可能な通信コネクションの特定の形式が選択される優先順序は、2つのノードすなわち点に応答して実施形態ごとに異なることがある。 Priority to certain types of available communication connection is selected may be different for each embodiment in response to the two nodes or points. たとえば、実施形態よっては、ホストからデータ記憶装置へのSAN通信コネクションは、既存のLAN接続よりも常に優先することがある。 For example, in some embodiments, SAN communication connection to the data storage device from a host may be always takes precedence over the existing LAN connection. データ記憶装置が Symmetrix(商標名)データ記憶装置であるデータ記憶装置間の通信コネクションを有する実施形態においては、SANあるいはデータ記憶接続が望ましい通信コネクションである可能性がある。 In embodiments where data storage device has a communication connection between data storage device is a Symmetrix (TM) data storage device may be the communication connection preferably SAN or data storage connection. しかし、これは、たとえば、利用できる通信コネクションおよび/または実施形態に含まれるデータ記憶装置の形式に応答して変わる可能性がある。 However, this is, for example, can vary in response to the type of data storage device included in the communication connection and / or embodiment available.
【0060】 [0060]
次に説明することは、たとえば、特定の通信経路で起きる可能性のあるシステム障害あるいはハードウェアおよび/またはソフトウェアの障害が生じたときに、代替の経路の使用を可能にするような、柔軟性のある分散データ記憶および伝送構成に関連して使用できるマルチパス・マルチホップ・システム・コールの変形である。 It will be described, for example, when a failure of potential system failures or hardware and / or software that occur in a particular communication path occurs, so as to permit the use of alternative routes, flexibility of certain distributed data storage and related to the transmission configuration is a modification of the multi-path multihop system call that can be used.
【0061】 [0061]
マルチパス・マルチホップ・システム・コールは、たとえば、図9のフローチャート130および図10のフローチャート144と組み合わされた処理ステップの実行を含んでもよい。 Multipath multihop system call may include, for example, the execution of processing steps in combination with the flow chart 144 of the flowchart 130 and 10 in FIG. マルチパス・マルチホップ・リモート・システム・コールの1つの実施形態においては、命令の一般フォーマットは、マルチホップ命令コードではなくマルチパス・マルチホップ命令コードを使用する図5に関連して既に説明したものとすることが可能である。 In one embodiment of the multi-path multi-hop remote system call, typically the format of the instruction has been previously described in connection with FIG. 5 using multi-pass multi-hop instruction code rather than the multihop instruction code it is possible to things. 目標ノードを識別する図5で指定したターゲット接続識別子は、マルチパス・マルチホップ・システム・コールの命令フォーマットの一部として含むことができる。 Target connection identifier specified in Figure 5 identifies the target node may be included as part of the instruction format of the multi-path multihop system call. この技術を使用して、開始ノードすなわち送出ノードとターゲット接続識別子として表すことができる目標ノードの間で単一の経路を予め決定しておくことが可能である。 Using this technique, it is possible to determine in advance the single path between the target node can be represented as a start node or sending nodes and the target connection identifier. 言い換えれば、ターゲット接続識別子は、開始ノードから終了ノードへの、さらに中間ノードの、完全な経路使用を含むことが可能である。 In other words, the target connection identifiers, from the start node to the end node, and may include more intermediate nodes, the complete route used. 実施形態によっては、それぞれ1対のノードの間の選択された通信コネクションをさらに含むことが可能である。 In some embodiments, it is possible that each further comprising a selected communication connection between a pair of nodes.
【0062】 [0062]
単一の完全な経路仕様は、たとえば、ホスト・コンピュータ・システムあるいは第1のデータ記憶装置から、コールが最初に開始されるに先だって決定することが可能である。 Single complete path specification, for example, from the host computer system or the first data storage device, it is possible to determine prior to the call is first started. 完全な経路仕様は発行される命令に含むことができる。 Complete path specification may include the instructions to be issued. この予選択は、開始ノードによって表される記憶装置、ホスト・コンピュータ・システムおよび同等物に含まれることができるような、プロセッサに常駐可能でプロセッサによって実行可能なソフトウェアおよび/またはハードウェアを使用して実行することができる。 This preselection storage device represented by a start node, such as may be included in the host computer system and the like, using executable software and / or hardware by enabling a processor resident in the processor it is possible to run Te. このソフトウェアは、開始ノードと目標ノードおよび任意の中間ノードの間の通信経路を決定する技術、ならびに、通信経路内のノードのすべての対の間で利用できる1つまたは複数の通信コネクションから選択する技術を実装することが可能である。 This software technique determines a communication path between the start node and the target node and any intermediate nodes, and is selected from one or more communication connections available between all pairs of nodes in the communication path it is possible to implement the technology. この予選択は、システムで利用できる通信コネクション、ポート、および同等物を反映する静的情報を使用することが可能である。 This preselection is possible to use communication connections available in the system, port, and static information reflecting equivalents.
【0063】 [0063]
通信経路は、動的に、たとえば、コールが実行される時に決定することも可能である。 Communication path, dynamically, for example, it is also possible to determine when the call is made. 実施形態によっては、コールが実行される時のシステムの状態を反映する状態情報あるいは動的情報を使用することが可能である。 In some embodiments, it is possible to use the status information or dynamic information reflecting the state of the system when a call is performed. この情報は、たとえば、現在利用できる通信コネクションを含んでもよい。 This information may include, for example, a communication connection currently available. この動的情報はシステム・オペレーションと共に変化する可能性があるので、この動的情報は静的情報とは異なることがあることに注目すべきである。 This dynamic information may change with the system operation, the dynamic information is to be noted that there are different from the static information. それに対して、静的情報は、記憶することができ、たとえば、システム起動時にネットワーク・データベースあるいは更新されたシステム・テーブルから検索することが可能である。 In contrast, the static information may be stored, for example, can be retrieved from the network database or updated system tables during system startup. このダイナミックな通信経路の決定において、通信経路の開始ノードおよび終了ノードは、たとえば、図5の命令フォーマットのターゲット接続識別子の中に符号化することが可能である。 In determining the dynamic communication path start node and end node of the communication path, for example, it can be encoded in the target connection identifier of the instruction format of FIG. 1つの実施形態においては、中間ノードあるいは接続ノードおよび対応通信コネクションは、フローチャート130の方法ステップを実行するソフトウェアによって、動的に決定することが可能である。 In one embodiment, the intermediate node or a connection node and a corresponding communication connection, the software performing the method steps of the flowchart 130, it is possible to dynamically determine. このような実施形態の1つにおいて、たとえば、次の中間ノードと対応通信コネクションを決定するように、ソフトウェアはそれぞれのデータ記憶装置に含むことができる。 In one such embodiment, for example, to determine the corresponding communication connection with the next intermediate node, the software may be included in the respective data storage device.
【0064】 [0064]
この技術の変形において、たとえば、各通信経路を決定するためのフローチャート130の方法ステップを実行することによって、目標ノードと開始ノードの間の2つ以上の("N")通信経路を決定することができる。 In a variation of this technique, for example, by performing the method steps of the flowchart 130 for determining the communication path, two between the target node and start node or more ( "N") to determine the communication path can. 複数の通信経路を表す情報は、予め決定し、マルチパス・マルチホップ・システム・コール・ターゲット接続識別子に埋め込むことが可能である。 Information representing a plurality of communication paths may be determined in advance, embedded in multipath multihop system call target connection identifier. 1つの実施形態においては、完全な通信経路は、通信経路のそれぞれに対してターゲット接続識別子に含むことが可能である。 In one embodiment, complete communication path may be included in the target connection identifier for each communication path. あるいは、通信経路のそれぞれは、動的に決定することもできる。 Alternatively, each communication path may also be dynamically determined. たとえば、実施形態は、開始ノード、終了ノード、ならびに、開始ノードと終了ノードの間で動的に決定されるべき通信経路の数についての整数量を符号化することが可能である。 For example, embodiments, the start node, the end node, and it is possible to encode the integer of the number of dynamically communication path to be determined between the start and end nodes. 今説明したようにシステム・コールおよび命令フォーマットに含まれるような予め決められた値を有するのではなく、たとえば、システム・パラメータ値に応答して、"N"を動的に決定できることは、注目すべきである。 Rather than having a predetermined value, such as contained in the system call and instruction format as just described, for example, in response to a system parameter values, "N" can be dynamically determined, the interest Should.
【0065】 [0065]
予め決められているか、あるいは動的に決定されてもよい、これらの"N"通信経路の中、"N"通信経路の中"M"は、一斉データ伝送のように選択することができ、ここで、"1<=M<=N"である。 Or are predetermined, or may be dynamically determined, among these "N" communication path, "N" in the communication path "M" may be selected as simultaneous data transmission, here, a "1 <= M <= N". 言い換えれば、"N"、N>1、通信経路が指定される実施形態において、同じメッセージは複製することができ、"M"個の複数の通信経路のそれぞれに同時に送信することができる。 In other words, "N", N> 1, in an embodiment where the communication path is specified, the same message may be duplicated, can simultaneously transmit to each of the "M" number of the plurality of communication paths. "M"に対する値は、たとえば、命令フォーマットの中に符号化され、各コールの中で、予め選択できることに、注目すべきである。 Value for "M", for example, encoded in the instruction format, in each call that can be previously selected, it should be noted. あるいは、"M"は、使用時、たとえば、"N"通信経路から選択する時に、動的に決定される値を有することも可能である。 Alternatively, "M" is in use, for example, "N" when selecting from the communication path, it is also possible to have a value that is dynamically determined.
【0066】 [0066]
1実施形態において、たとえば、開始ノードと目標ノードの間のデータ伝送でエラー・メッセージあるいは他のエラーが発生した場合、"N"通信経路は代替の通信経路の選択リストとして使用することも可能である。 In one embodiment, for example, if an error message or other error occurs in the data transmission between the start node and the target node, "N" communication path can also be used as a selection list of alternate communication path is there. たとえば、予め決められているか、あるいは動的に決められるかのいずれにせよ3つの通信経路が指定されているとして、マルチパス・マルチホップ・リモート・システム・コールが求められることがある。 For example, predetermined, or as three communication paths anyway dynamically or determined is specified, it may multipath multihop remote system call is required. このマルチパス・マルチホップ・システム・コールは、3つの通信経路の第1を選択し、3つの通信経路の第1を使用してデータを送信することによって、実行することができる。 The multipath multihop system call, selects the first three communication paths, by transmitting data using the first three communication paths can be performed. 後に、開始ノードは、マルチパス・マルチホップ・リモート・システム・コールの実行が不成功であったとのエラー・メッセージを受信する恐れがある。 Later, the start node, there is a possibility that the execution of the multipath multihop remote system call receives the error message and was unsuccessful. 3つの通信経路から第2の通信経路を選択するように、開始ノードにおけるソフトウェアを次に実行することができる。 Three communication paths to select the second communication path, can then run software at the start node. 第2の通信経路は、データを再送信するように使用することができる。 The second communication path may be used to retransmit the data. 単一の経路を使用してエラー・メッセージが発生するのを待ち、後に代替通信経路を選択するのではなく、複数の経路に対して同時にデータを送信するように、"N"通信経路の"M"個を使用することができる。 Wait for the error message is generated using a single path, rather than selecting an alternate communication path after, to simultaneously transmit data to a plurality of paths, "N" of the communication path " M "number can be used.
【0067】 [0067]
"N"は、指定された通信経路のすべての最大である上限を有してもよいことに注目すべきである。 "N" is to be noted that may have an upper limit which is all up to the specified communication path. たとえば、3つの通信経路を有するマルチパス・マルチホップ・リモート・システム・コールにおいて、第1の通信経路を選択し、そのデータ伝送が成功するかを観察し、失敗であれば第2の通信経路を試みる、等々ではなく、開始ノードにおいて3つの通信経路の2つに同じメッセージを送る決定をすることが可能である。 For example, in a multi-path multi-hop remote system call with three communication paths, selects the first communication path, to observe whether the data transmission is successful, a second communication path if unsuccessful the attempt, instead of like, it is possible to three two to send the same message determination of the communication path at the start node. 送信されるべき重複メッセージの数は、たとえば、ネットワーク・トラフィックに応答して、各実施形態ごとに変化してもよい。 The number of duplicate messages to be transmitted, for example, in response to network traffic, it may vary from the embodiments. "M"および"N"に対して使用される通信経路の数は、実施形態において調整可能なパラメータであってもよく、あるいは、それぞれのマルチパス・マルチホップ・システム・コールに含まれてもよい。 Number of communication paths to be used for the "M" and "N" may be a tunable parameter in embodiments, or be included in the respective multipath multihop system call good.
【0068】 [0068]
第1の通信経路が中間ノードにおいて失敗した場合、中途の地点あるいは中間ノード回復点として代替の通信経路も使用することができる。 If the first communication path fails in the intermediate node, it may also be used alternative communication path as a point or intermediate node recovery point midway. たとえば、同じ中間ノードを有する複数の通信経路があってもよい。 For example, there may be a plurality of communication paths having a same intermediate node. 第1の通信経路は"ABCD"によって表することができ、第2の通信経路は"ABD"によって表すことができる、ここでストリング内の文字は、開始ノードAからエンディング・ノードすなわち端末ノードDまで、通信経路内のノードに対応する。 The first communication path can be respectful by "ABCD", the second communication path can be represented by the "ABD", where characters in the string, the ending nodes from a starting node A i.e. the terminal node D until, it corresponds to a node in the communication path. 第1のノードから第1の通信経路の次の後続ノードへ送信するときに、メッセージ障害あるいは他の形式のエラーが検出されれば、たとえば、開始ノードから完全な再送信を必要とするのではなく、中間ノードから同じメッセージの送信の継続に使用するように、その時点で第2の通信経路を選択することができる。 When transmitting from the first node to the next subsequent node of the first communication path, if it is detected a message failure or other type error, for example, than requiring a full re-transmitted from the start node without the use of intermediate node for continued transmission of the same message, it is possible to select the second communication path at that time. 第1の通信経路"ABD"が選択されれば、BからDへの送信でエラーが起きる恐れがある。 If selected first communication path "ABD" is, there is a possibility that an error occurs in transmission to D from B. この場合において、中間ノードBにおけるソフトウェアおよび/またはハードウェアは、伝送エラーの発生時に、第2の通信経路を選択し、第2の通信経路にしたがってノードCに次にノードDにデータを動的にルート変更するようなことによって、代替の回復経路を探すことが可能である。 In this case, software and / or hardware at the intermediate node B, when the occurrence of transmission errors, selects the second communication path, the dynamic data to the next node D according to the second communication path to the node C by such route change, it is possible to look for alternative recovery path.
【0069】 [0069]
処理ステップ144に関連するような特定の通信コネクションあるいは媒体の選択を決定するように、特定のシステム内で異なる発見的方法を使用することができることに、注目すべきである。 To determine the selection of a particular communication connection or media such as those associated with the processing step 144, that can use different heuristics within a particular system, it should be noted. さらに、マルチパス・マルチホップ・システム・コールを使用して、メッセージあるいは通信を同時に送信することができる回数に関して、調整可能なパラメータの選択に他の発見的方法を使用することができる。 Furthermore, it is possible to use the multi-path multihop system call, with respect to the number of times that can transmit a message or communication simultaneously, using other heuristic methods in the selection of adjustable parameters.
【0070】 [0070]
前述の説明において、通信経路は、たとえば、遠隔マルチパス・マルチホップ・システム・コールを実行する前に、予め決めることが可能である。 In the foregoing description, the communication path is, for example, before performing the remote multipath multihop system call, it is possible to determine in advance. 1つの実施形態においては、本明細書に説明したように、1つまたは複数の完全な通信経路を遠隔マルチパス・マルチホップ・システム・コールに埋め込むことが可能である。 In one embodiment, as described herein, it is possible to embed one or more complete communication path to the remote multipath multihop system call. 予め決められた通信経路に関連して、他の実施形態は他の技術を利用してもよい。 In connection with a predetermined communication path, other embodiments may utilize other techniques. たとえば、予め決められた通信経路のリストを、他のシステムあるいはコンピュータ・システム内の他のプロセッサと関連するプロセッサ上で実行するソフトウェアによって事前に生成された表に、記憶することができる。 For example, a list of predetermined communication path, the table that was previously generated by the software running on a processor associated with the other processors in the other system or computer system can be stored.
【0071】 [0071]
本明細書においても説明したように、通信経路も動的に決定することができる。 As explained herein, may be a communication path also determined dynamically. そのような実施形態の1つにおいて、図9のフローチャート130の方法ステップは、たとえば、開始ノードおよび終了ノードを使用してコールが行われる時に、実行することができる。 In one such embodiment, the method steps of the flowchart 130 of FIG. 9, for example, when a call is made using the start and end nodes, may be performed. 本明細書において説明する実施形態は、符号化されたマルチパス・マルチホップ・システム・コールの一部として開始ノードおよび終了ノードを有してもよい。 Embodiments described herein may have a start node and an end node as part of the encoded multipath multihop system call. 他の実施形態は、通信経路の動的な決定のように、この情報の通信に他の技術を使用してもよい。 Other embodiments, such as the dynamic determination of the communication path may use other techniques to communicate this information. 通信経路の決定は、各特定の実施形態ごとに異なってもよい1つまたは複数のさまざまな発見的方法の任意の1つを使用することができる。 The determination of the communication path may use any one of the particular one may be different for each embodiment or various heuristics.
【0072】 [0072]
実施形態は、"M"および"N"に対する値のような、動的なおよび予め決められた通信経路と関連する値の使用に応答して、前述の技術の組み合わせを使用してもよいことに注目すべきである。 Embodiment, "M" and "N" as the value for, in response to the use of a value associated with the dynamic and predetermined communication path, it may use a combination of the aforementioned techniques it should be noted. たとえば、1つの実施形態は、命令の中に符号化することが可能な単一の通信経路を予め決定し、"M"および"N"の動的な値に応答して他の通信経路を必要に応答して動的に生成するような、本明細書に説明した技術の組み合わせを使用してもよい。 For example, one embodiment, a single communication path capable of encoding predetermine in the instruction, the "M" and "N" other communication routes in response to dynamic value of such as dynamically generated in response needed, one may use a combination of techniques described herein. 他の実施形態は、通信経路と組み合わされた一部のあるいはすべてのノードを予め決定してもよいが、通信経路内の各ノード上の実行時間に動的に通信コネクションを選択してもよい。 Other embodiments may be predetermined part or all of the nodes in combination with the communication path, but dynamically communication connection to the execution time on each node in the communication path may be selected .
【0073】 [0073]
一実施形態において、コール情報に関連するデータは、マルチホップ・システム・コールのような1つまたは複数の形式のシステム・コールに対して、他のノードへ転送するに先だって除去してもよい。 In one embodiment, data associated with the call information, for one or more types of system calls, such as the multi-hop system calls, may be removed prior to transfer to another node. あるいは、システム・コールの任意の1つまたは複数の形式を処理するように、実施形態はコール情報を何ら除去しないことも可能である。 Alternatively, to process any one or more types of system calls, the embodiment is also possible not to any removal of the call information. システム・コールをさらに転送することと関連してコール情報たとえば除去されたコール情報の部分およびその関連する機能を除去すべきかどうか、実施形態が固定パケット・サイズまたは大きい可変パケット・サイズを使用するかどうか、帰路情報がコール情報に含まれるかどうか、ならびに、たとえば情報を戻すことに関連して使用するようにこの情報が所望であるかどうか、の選択はそれぞれの実施形態に応答して変わってもよい。 Whether to remove portions and functions related to that associated to the call information, for example the removed call information to further transfer the system call, or embodiments using a fixed packet size or larger variable packet sizes how, if return information is included in the call information, and, for example, whether this information for use in connection with returning the information is desired, the selection of the change in response to each of the embodiments it may be.
【0074】 [0074]
前述の事項は、分散データ記憶および伝送構成におけるデータ伝送のように、1つまたは複数の代替の通信経路を指定するのに使用することができる柔軟で動的な技術である。 Foregoing matters, as data transmission in a distributed data storage and transmission configuration, a flexible and dynamic techniques that can be used to specify one or more alternative communication paths.
【0075】 [0075]
前述の技術は、データ記憶装置によって実行することができる、あるいは、さらに一般的には、通信経路を介して接続エンティティに通信をルーティングするためのデータ記憶エンティティによって実行することができる。 The techniques described above can be executed by the data storage device, or, more generally, can be performed by the data storage entity for routing communication to the connection entity via the communication path. 前述の説明において、データ記憶装置は、たとえば、通信の形式を検査し決定し、また通信コネクションおよび接続エンティティを決定することによって、通信のルーターとして機能してもよい。 In the foregoing description, the data storage device, for example, examines the format of communication is determined, and by determining the communication connection and connection entity may function as a communication router. 通信は、システム・コールおよび/またはデータと組み合わせることが可能である。 Communication may be combined with a system call and / or data. 接続エンティティは、Symmetrix(商標名)データ記憶装置、あるいはコンピュータ・システムのような、1つまたは複数の多種多様なデータ記憶エンティティのいずれであってもよい。 Connection entity, Symmetrix (TM) data storage device, or such as a computer system may be any one or more of a wide variety of data storage entities. 通信コネクションは、たとえば、SAN、LAN、RDF接続のようなデータ記憶接続、および同等物であってよい。 Communication connection, for example, SAN, LAN, or a data storage connection, and the like, such as RDF connections. 接続エンティティおよび通信コネクションの形式は、本明細書の他のところで詳細に説明したことに注意すべきである。 The format of the connection entity and the communication connection, it should be noted that as described in detail elsewhere herein.
【0076】 [0076]
出発点と終了点の間の各経路に対して、経路は通信コネクションの異なる形式の任意の1つまたは複数の使用を含んでもよい。 For each path between the end point and the starting point, the path may include different types any one or more of the use of the communication connection. たとえば、開始ノードA、終了ノードD、および中間ノードB、Cを有する経路ABCDの指定において、2つのノードのそれぞれの間の通信コネクションの異なる形式の任意の1つを、それぞれのノードの間で利用できる通信コネクションに応答して選択することができる。 For example, starting node A, the end node D, and the intermediate a Node B, in the specified path ABCD with C, different types any one of the communication connection between each of the two nodes, between each node it can be selected in response to a communication connection available. 1つの実施形態においては、データ記憶装置は、たとえば、ルーターによって提供することができる機能に類似の経路内の2つのノードのそれぞれの間の通信コネクションの選択を行う。 In one embodiment, data storage device, for example, to select the communication connection between each of the two nodes in a similar path to the functions that can be provided by a router.
【0077】 [0077]
さまざまな実施形態に関連して本発明を開示したが、本発明による修正が当業者にとって容易であることは明白であろう。 The present invention has been disclosed in connection with various embodiments, it correction by the present invention is easy for those skilled in the art will be apparent. したがって、本発明の技術思想と範囲は次の特許請求の範囲で詳述される。 Therefore, the spirit and scope of the invention are detailed in the following claims.
【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS
本発明による特徴と利点は、代表的な実施形態の添付図面と関連した下記の詳細な説明から、明らかである。 Features and advantages of the present invention, from the following detailed description when taken in conjunction with the accompanying drawings of exemplary embodiments, it is apparent.
【図1】 本発明によるコンピュータ・システムの実施形態である。 1 is an embodiment of a computer system according to the present invention.
【図2】 本発明によるコンピュータ・システムの他の実施形態である。 Which is another embodiment of a computer system according to the invention, FIG.
【図3】 図1および図2のコンピュータ・システムに含まれることができる2つのデータ記憶装置の間に接続を有する本発明による実施形態を示す。 Figure 3 shows an embodiment according to the present invention having a connection between the two data storage devices that can be included in the computer system of FIGS.
【図4】 データ記憶オペレーションを行うように、本発明によるコンピュータ・システムにおいて実行される方法のフローチャートである。 [4] so as to perform data storage operations is a flowchart of a method performed in a computer system according to the present invention.
【図5】 マルチホップ・システム・コールに含まれるデータが、本発明によるターゲット・データ記憶装置によってどのように翻訳することができるかの例である。 [5] Data contained in the multihop system call is an example of how it is possible how to translate the target data storage device according to the present invention.
【図6】 マルチパス・マルチホップ・システム・コールが実行されることができるコンピュータ・システムの実施形態である。 Figure 6 is an embodiment of a computer system capable of multi-path multi-hop system call is executed.
【図7】 図6のコンピュータ・システムにおける2つのノード間の通信コネクションの表現の例である。 7 is an example of a representation of a communication connection between two nodes in a computer system of FIG.
【図8】 マルチパス・マルチホップ・システム・コールが実行されることができるコンピュータ・システムの他の例である。 8 is another example of a computer system capable of multi-path multi-hop system call is executed.
【図9】 開始ノードとターゲットの間の通信経路を決定するための、実施形態の方法ステップのフローチャートである。 [9] start node and for determining a communication path between the target is a flowchart of method steps embodiment.
【図10】 図9の処理ステップとして含まれる通信コネクションを選択するための、実施形態の方法ステップのフローチャートである。 [10] for selecting a communication connection included as processing steps in FIG. 9, a flowchart of method steps embodiment.

Claims (36)

  1. データ・オペレーション・リクエストを処理する第1のデータ記憶装置上で実行され、 Runs in the first data storage device on which to process data operations request,
    データ・オペレーション・リクエストを受信し、 It receives a data operation request,
    データ・オペレーション・リクエストを実行する方法において、さらに、 A method for performing a data operation request, further,
    前記データ・オペレーション・リクエストが、前記第1のデータ記憶装置、前記第1のデータ記憶装置に直接接続されたターゲット・データ記憶装置、および前記第1のデータ記憶装置に直接接続されていないターゲット・データ記憶装置のいつのいずれか1つによって実行されるものであるか否かを判定し、 It said data operations request, the first data storage device, said first data storage device target data storage device that is directly connected to, and the first data storage device target that is not directly connected to the determining whether or not to be executed by one when one of the data storage device,
    前記データ・オペレーション・リクエストが、前記第1のデータ記憶装置により実行されるものである場合前記データ・オペレーション・リクエストを実行し、 The data operations request executes the case and is performed the data operation request by the first data storage device,
    前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第1のデータ記憶装置に直接接続されている場合、前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に転送し、 If the data operation request to the target data storage device to be executed it is directly connected to said first data storage device, and transfers the data operations request to the target data store,
    前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第1のデータ記憶装置に直接接続されていない場合、複数の通信コネクションおよび複数のデータ記憶装置のうちから、前記第1のデータ記憶装置と前記ターゲット・データ記憶装置との間の通信経路上にある第2のデータ記憶装置および前記第1のデータ記憶装置と前記第2のデータ記憶装置との間の第1の通信コネクションをそれぞれ少なくとも1つ選択し、前記データ・オペレーション・リクエストを前記第2のデータ記憶装置に前記第1の通信コネクションを用いて転送することを特徴とする方法。 If the data operations to be target data storage device executes the request is not directly connected to said first data storage device, from among a plurality of communication connections and a plurality of data storage devices, said first data a first communication connection between the second data storage device and said first data storage device that is on the communication path and said second data storage device between the storage device the target data storage device at least one selected respectively, wherein the forwarding by using the first communication connection and the data operation request to the second data storage device.
  2. 前記第1の通信コネクションは、ローカル・エリア・ネットワーク、記憶領域ネットワークおよびデータ記憶接続のうちの1つである請求項1記載の方法。 Wherein the first communication connection, a local area network, one is the method of claim 1, wherein one of the storage areas networks and data storage connections.
  3. 前記第1の通信コネクションは遠隔データ記憶機能接続であるデータ記憶接続であり、前記第1のデータ記憶装置および前記第2のデータ記憶装置は Symmetrix(商標名)データ記憶装置である請求項1記載の方法。 Wherein the first communication connection is a data storage connected a remote data storage function connected, the first data storage device and said second data storage device according to claim 1, which is a Symmetrix (TM) data storage device the method of.
  4. 前記第1のデータ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を予め決定することをさらに含む請求項1記載の方法。 The method of claim 1, further comprising predetermining the portion of the communication path to the target data storage device from said first data storage device.
  5. 前記通信経路の一部を予め決定することは、 Predetermining a portion of the communication path,
    前記第1のデータ記憶装置に接続された複数のデータ記憶装置から第1の中間データ記憶装置を決定することをさらに含む請求項4記載の方法。 Further comprising The method of claim 4 to determine the first intermediate data storage device from a plurality of data storage devices connected to the first data storage device.
  6. 前記通信経路の一部を予め決定することは、 Predetermining a portion of the communication path,
    前記第1のデータ記憶装置と前記第1の中間データ記憶装置の間の第1の対応通信コネクションを決定することであって、前記第1の対応通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの1つである前記第1のデータ記憶装置と前記第1の中間データ記憶装置の間に対応する第1の通信コネクションを決定することをさらに含む請求項5記載の方法。 The first comprising: determining a first corresponding communication connection between the data storage device and the first intermediate data storage device, said first corresponding communication connection local area network, device memory connected the method of claim 5, further comprising determining the first communication connection corresponding to between and storage is one of the areas the network said first data storage device and the first intermediate data storage device.
  7. 前記第1のデータ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の他の部分を動的に決定することをさらに含む請求項6記載の方法。 The method of claim 6, further comprising dynamically determining the other parts of the communication path to the target data storage device from said first data storage device.
  8. 前記他の部分を動的に決定することは、 Dynamically determining the other parts,
    前記第1のデータ記憶装置に接続された複数のデータ記憶装置から第2の中間データ記憶装置を決定することをさらに含む請求項7記載の方法。 The method of claim 7, further comprising determining the first plurality of data storage devices from the second intermediate data storage device connected to the data storage device.
  9. 前記の前記他の部分を動的に決定することは、 Dynamically determining a said another portion of said,
    前記第1のデータ記憶装置と前記第2の中間データ記憶装置の間の第2の対応通信コネクションを決定することであって、前記第2の通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの1つである、前記第1のデータ記憶装置と前記第2の中間データ記憶装置の間の第2の対応通信コネクションを決定することをさらに含む請求項8記載の方法。 Second be to determine the corresponding communication connection between said first data storage device and the second intermediate data storage device, said second communication connection local area network, device memory connection and is one of the storage area network, said first data storage device and method of claim 8, further comprising determining the second corresponding communication connection between the second intermediate data storage device.
  10. 前記第1のデータ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を動的に決定することをさらに含む請求項1記載の方法。 The method of claim 1, further comprising dynamically determining the portion of the communication path from said first data storage device to the target data storage.
  11. 前記部分を動的に決定することは、 Dynamically determining the portion,
    前記第1のデータ記憶装置に接続された複数のデータ記憶装置から中間データ記憶装置を決定することをさらに含む請求項10記載の方法。 The method of claim 10, further comprising determining the intermediate data storage device from a plurality of data storage devices connected to the first data storage device.
  12. 前記部分を動的に決定することは、 Dynamically determining the portion,
    前記第1のデータ記憶装置と前記中間データ記憶装置の間の対応通信コネクションを決定することであって、前記通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの1つである前記第1のデータ記憶装置と前記中間データ記憶装置の間の対応通信コネクションを決定することをさらに含む請求項11記載の方法。 Comprising: determining a corresponding communication connection between said first data storage device and the intermediate data storage device, the communication connection is one of a local area network, device memory connection and storage area network wherein the method of claim 11, further comprising determining the corresponding communication connection between the first data storage device and the intermediate data storage device.
  13. 前記マルチパス・マルチホップ・システム・コールに関連する命令フォーマットの中に前記通信経路についての情報を含むことをさらに含む請求項1記載の方法。 The multipath method of claim 1, further comprising including information about the communication path in a multi-hop system call instruction format associated with.
  14. 前記情報は、予め決められた前記通信経路の一部についてのデータを含む請求項13記載の方法。 The information The method of claim 13 further comprising a data for some predetermined said communication path.
  15. 前記情報は、動的に決定された前記通信経路の一部についてのデータを含む請求項13記載の方法。 The information The method of claim 13 further comprising a data for some dynamically determined the communication path.
  16. 前記通信経路は第1の通信経路であり、前記方法は、 Wherein the communication path is a first communication path, the method comprising
    前記第1のデータ記憶装置とターゲット・データ記憶装置の間の少なくとも1つの追加の通信経路を決定することをさらに含む請求項1記載の方法。 The method of claim 1, further comprising determining at least one additional communication path between said first data storage device and the target data store.
  17. データ伝送障害が発生した場合に、前記少なくとも1つの追加の通信経路を使用して、代替通信経路を決定することをさらに含む請求項16記載の方法。 If the data transmission fails, the use of at least one additional communication path, the method of claim 16, further comprising determining an alternate communication path.
  18. 前記データ・オペレーション・リクエストが複数の通信経路上の前記ターゲット・データ記憶装置に指示するように、前記第1の通信経路および前記少なくとも1つの追加の通信経路に前記データ・オペレーション・リクエストを送ることをさらに含む請求項16記載の方法。 As the data operations request instructing the target data storage on a plurality of communication paths, sending the data operations request to the first communication path and the at least one additional communication path the method of claim 16, further comprising a.
  19. 前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に向けるのに使用される追加の通信経路の数に対応する量を動的に決定することをさらに含む請求項18記載の方法。 The method of claim 18, further comprising dynamically determining the amount corresponding to the number of additional communication path used for the data operation request to direct to the target data storage.
  20. 使用された追加の通信経路の数に対応する量は修正可能なパラメータである請求項18記載の方法。 The method of claim 18 wherein the amount is modifiable parameters corresponding to the number of additional communication path used.
  21. 使用された追加の通信経路の数に対応する量はネットワーク・トラフィックに応答して決定される請求項18記載の方法。 The method of claim 18, wherein an amount corresponding to the number of additional communication path used is determined in response to network traffic.
  22. データ・オペレーション・リクエストを受信するマシン実行可能コードと、 And machine-executable code for receiving a data operation request,
    データ・オペレーション・リクエストを実行するマシン実行可能コードとを有するデータ記憶装置において、 In the data storage device and a machine-executable code for performing a data operation request,
    前記データ・オペレーション・リクエストが、前記第1のデータ記憶装置、前記第1のデータ記憶装置に直接接続されたターゲット・データ記憶装置、および前記第1のデータ記憶装置に直接接続されていないターゲット・データ記憶装置のいつのいずれか1つによって実行されるものであるか否かを判定するマシン実行可能コードと、 It said data operations request, the first data storage device, said first data storage device target data storage device that is directly connected to, and the first data storage device target that is not directly connected to the and machine-executable code for determining whether or not to be executed by one when one of the data storage device,
    前記データ・オペレーション・リクエストが、前記第1のデータ記憶装置により実行されるものである場合前記データ・オペレーション・リクエストを実行するマシン実行可能コードと、 Said data operations request, and machine executable code for performing when it is being performed the data operation request by the first data storage device,
    前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第1のデータ記憶装置に直接接続されている場合、前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に転送するマシン実行可能コードと、 If the data operation request to the target data storage device to be executed is directly connected to said first data storage device, the data operation request to the target data storage device on a machine-executable to transfer and code,
    前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第1のデータ記憶装置に直接接続されていない場合、複数の通信コネクションおよび複数のデータ記憶装置のうちから、前記第1のデータ記憶装置と前記ターゲット・データ記憶装置との間の通信経路上にある第2のデータ記憶装置および前記第1のデータ記憶装置と前記第2のデータ記憶装置との間の第1の通信コネクションをそれぞれ少なくとも1つ選択し、前記データ・オペレーション・リクエストを前記第2のデータ記憶装置に前記第1の通信コネクションを用いて転送するマシン実行可能コードをさらに有することを特徴とするデータ記憶装置。 If the data operations to be target data storage device executes the request is not directly connected to said first data storage device, from among a plurality of communication connections and a plurality of data storage devices, said first data a first communication connection between the second data storage device and said first data storage device that is on the communication path and said second data storage device between the storage device the target data storage device at least one selected respectively, the data storage apparatus characterized by further having a machine executable code transferred using the first communication connection and the data operation request to the second data storage device.
  23. 前記第1の通信コネクションはローカル・エリア・ネットワーク、記憶領域ネットワークおよびデータ記憶接続の1つである請求項22記載のデータ記憶装置。 The first communication connection data storage device according to claim 22, wherein one of the local area network, storage area network and a data storage connections.
  24. 前記データ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を予め決定するマシン実行可能コードをさらに有する請求項22記載のデータ記憶装置。 Wherein the data storage device from the data storage device according to claim 22, further comprising a machine-executable code to predetermine the part of the communication path to the target data storage.
  25. 前記一部を予め決定する前記マシン実行可能コードは、 The machine-executable code to predetermine a portion above,
    前記データ記憶装置に接続される複数のデータ記憶装置から第1の中間データ記憶装置を決定し、 The first intermediate data storage device to determine the plurality of data storage devices connected to the data storage device,
    前記データ記憶装置と前記第1の中間データ記憶装置の間の第1の対応通信コネクションを決定するマシン実行可能コードであって、前記第1の対応通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの1つであるマシン実行可能コードをさらに有する請求項24記載のデータ記憶装置。 A machine-executable code for determining a first corresponding communication connection between the data storage device and the first intermediate data storage device, said first corresponding communication connection local area network, device memory connected and data storage device according to claim 24, further comprising a machine-executable code, which is one of the storage area network.
  26. 前記データ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を動的に決定するマシン実行可能コードをさらに有する請求項22記載のデータ記憶装置。 Wherein the data data storage device according to claim 22, further comprising a machine-executable code that dynamically determines a portion of the communication path from the storage device to the target data storage.
  27. 前記一部を動的に決定するマシン実行可能コードは、 Machine-executable code for dynamically determining said portion is
    前記データ記憶装置に接続された複数のデータ記憶装置から中間データ記憶装置を決定し、 The intermediate data storage device determined from a plurality of data storage devices connected to said data storage device,
    前記データ記憶装置と前記中間データ記憶装置の間の対応通信コネクションを決定するマシン実行可能コードであって、前記通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの1つであるマシン実行可能コードをさらに有する請求項26記載のデータ記憶装置。 Wherein the data storage device to a machine-executable code to determine the corresponding communication connection between the intermediate data storage device, the communication connection is one of a local area network, device memory connection and storage area network machine data storage device according to claim 26, further comprising executable code.
  28. 前記マルチパス・マルチホップ・システム・コールに関連する命令フォーマットの中に前記通信経路についての情報を含むためのマシン実行可能コードをさらに有する請求項22記載のデータ記憶装置。 The multipath multihop data storage device according to claim 22, further comprising a machine-executable code for including system information of the communication path in the instruction formats call related.
  29. 前記情報は予め決められた前記通信経路の一部についてのデータを有する請求項28記載のデータ記憶装置。 Data storage device according to claim 28, further comprising a data for some of the information is predetermined said communication path.
  30. 前記情報は動的に決定された前記通信経路の一部についてのデータを有する請求項28記載のデータ記憶装置。 The information data storage apparatus according to claim 28, further comprising a data for some dynamically determined the communication path.
  31. 前記通信経路は第1の通信経路であり、前記データ記憶装置は、 Wherein the communication path is a first communication path, wherein the data storage device,
    前記データ記憶装置とターゲット・データ記憶装置の間の少なくとも1つの追加の通信経路を決定するマシン実行可能コードをさらに含む請求項22記載のデータ記憶装置。 Wherein the data storage device and the data storage device further comprising claim 22, wherein the machine-executable code for determining at least one additional communication path between the target data storage.
  32. データ伝送に障害が発生した場合に、前記少なくとも1つの追加の通信経路を使用して、代替通信経路を決定するマシン実行可能コードをさらに含む請求項31記載のデータ記憶装置。 If the data transmission fails, the use of at least one additional communication path, the data storage device further comprising claim 31, wherein the machine-executable code for determining an alternate communication path.
  33. 前記データ・オペレーション・リクエストが複数の通信経路上の前記ターゲット・データ記憶装置に指示するように、前記第1の通信経路および前記少なくとも1つの追加の通信経路に前記データ・オペレーション・リクエストを送るマシン実行可能コードをさらに含む請求項31記載のデータ記憶装置。 Wherein such data operations request instructing the target data storage on a plurality of communication paths, the first communication path and the at least one additional of said machine to send the data operations request to the communication path data storage device according to claim 31, further comprising an executable code.
  34. 前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に向けるのに使用された追加の通信経路の数に対応する量を動的に決定するマシン実行可能コードをさらに有する請求項33記載のデータ記憶装置。 Said data said operation request target data storage device used to direct the the additional further comprising claim 33, wherein the data storing machine-executable code for dynamically determining the amount corresponding to the number of communication paths apparatus.
  35. 使用された追加の通信経路の数に対応する量は修正可能なパラメータである請求項33記載のデータ記憶装置。 Data storage device according to claim 33, wherein an amount corresponding to the number is modifiable parameters of additional communication path used.
  36. 使用された追加の通信経路の数に対応する量はネットワーク・トラフィックに応答して決定される請求項33記載のデータ記憶装置。 An amount corresponding to the number of additional communication path used data storage device according to claim 33, wherein determined in response to network traffic.
JP2002511077A 2000-06-12 2001-06-12 Multi-path multi-hop remote data function Active JP3749224B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US09591827 US6697367B1 (en) 2000-06-12 2000-06-12 Multihop system calls
US09814642 US7088703B2 (en) 2000-06-12 2001-03-22 Multipath multihop remote data facility
PCT/US2001/018809 WO2001097017A3 (en) 2000-06-12 2001-06-12 Multipath multihop remote data facility

Publications (2)

Publication Number Publication Date
JP2004503956A true JP2004503956A (en) 2004-02-05
JP3749224B2 true JP3749224B2 (en) 2006-02-22

Family

ID=27081271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002511077A Active JP3749224B2 (en) 2000-06-12 2001-06-12 Multi-path multi-hop remote data function

Country Status (4)

Country Link
JP (1) JP3749224B2 (en)
DE (1) DE10196341T1 (en)
GB (1) GB2379776B (en)
WO (1) WO2001097017A3 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086721A (en) 2002-08-28 2004-03-18 Nec Corp Data reproducing system, relay system, data transmission/receiving method, and program for reproducing data in storage
JP4514501B2 (en) 2004-04-21 2010-07-28 株式会社日立製作所 Failure resolution method of a storage system and storage system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4993016A (en) * 1989-05-08 1991-02-12 At&T Bell Laboratories Network control arrangement for processing a plurality of connection requests
US5790776A (en) * 1992-12-17 1998-08-04 Tandem Computers Incorporated Apparatus for detecting divergence between a pair of duplexed, synchronized processor elements
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6081812A (en) * 1998-02-06 2000-06-27 Ncr Corporation Identifying at-risk components in systems with redundant components
GB2351375B (en) * 1999-03-25 2001-11-14 Convergenet Technologies Inc Storage domain management system

Also Published As

Publication number Publication date Type
JP2004503956A (en) 2004-02-05 application
GB0228432D0 (en) 2003-01-08 grant
DE10196341T0 (en) grant
WO2001097017A3 (en) 2002-04-04 application
WO2001097017A2 (en) 2001-12-20 application
DE10196341T1 (en) 2003-04-30 grant
GB2379776A (en) 2003-03-19 application
GB2379776B (en) 2005-08-03 grant

Similar Documents

Publication Publication Date Title
US6941350B1 (en) Method and apparatus for reliably choosing a master network manager during initialization of a network computing system
US7546354B1 (en) Dynamic network based storage with high availability
US7392424B2 (en) Router and routing protocol redundancy
US6195703B1 (en) Dynamic routing for performance partitioning in a data processing network
US6877044B2 (en) Distributed storage management platform architecture
US7061858B1 (en) High availability architecture for network devices
US6453406B1 (en) Multiprocessor system with fiber optic bus interconnect for interprocessor communications
US7007189B2 (en) Routing scheme using preferred paths in a multi-path interconnection fabric in a storage network
EP0618708A2 (en) Locating resources in computer networks having cache server nodes
US6757753B1 (en) Uniform routing of storage access requests through redundant array controllers
US6977927B1 (en) Method and system of allocating storage resources in a storage area network
EP0613274A2 (en) Socket structure for concurrent multiple protocol access
US20030126327A1 (en) Volume translation apparatus and method
US7103626B1 (en) Partitioning in distributed computer system
US5898826A (en) Method and apparatus for deadlock-free routing around an unusable routing component in an N-dimensional network
US20060187908A1 (en) Network system and its switches
US5504757A (en) Method for selecting transmission speeds for transmitting data packets over a serial bus
US6883108B2 (en) Fault-tolerant routing scheme for a multi-path interconnection fabric in a storage network
US6606630B1 (en) Data structure and method for tracking network topology in a fiber channel port driver
US20030061296A1 (en) Memory semantic storage I/O
US7027411B1 (en) Method and system for identifying and processing changes to a network topology
US6606690B2 (en) System and method for accessing a storage area network as network attached storage
US7133929B1 (en) System and method for providing detailed path information to clients
US7010716B2 (en) Method and apparatus for defining failover events in a network device
US6434656B1 (en) Method for routing I/O data in a multiprocessor system having a non-uniform memory access architecture

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050926

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051130

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091209

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101209

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101209

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111209

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111209

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121209

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131209

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250