JP6404129B2 - COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD - Google Patents
COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD Download PDFInfo
- Publication number
- JP6404129B2 JP6404129B2 JP2015007640A JP2015007640A JP6404129B2 JP 6404129 B2 JP6404129 B2 JP 6404129B2 JP 2015007640 A JP2015007640 A JP 2015007640A JP 2015007640 A JP2015007640 A JP 2015007640A JP 6404129 B2 JP6404129 B2 JP 6404129B2
- Authority
- JP
- Japan
- Prior art keywords
- control unit
- communication
- data
- communication control
- credit value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Communication Control (AREA)
Description
本発明は、通信装置、通信制御プログラム、および通信制御方法に関する。 The present invention relates to a communication device, a communication control program, and a communication control method.
ファイバチャネルは、BBクレジット(Buffer-to-Buffer Credit)という仕組みを用いてフロー制御をおこなう。通信装置は、リンク確立時におこなうネゴシエーションによって、フレームバッファサイズとしてクレジットを設定する。通信装置は、受信ポートが受信可能なフレーム数をクレジットによって管理し、クレジットの範囲で送信ポートからフレームを送信することでフレームロストのないデータ通信を実現している。 Fiber Channel performs flow control using a mechanism called BB credit (Buffer-to-Buffer Credit). The communication apparatus sets a credit as a frame buffer size by negotiation performed at the time of link establishment. The communication device manages the number of frames that can be received by the reception port by credit, and realizes data communication without frame lost by transmitting frames from the transmission port within the credit range.
また、通信障害など何らかの理由によりクレジットが「0」の状態のままとなり、送信ポートがフレームを送信できなくなる場合があるが、通信装置は、所定の監視時間を経てリカバリ処理により通信を復旧できる。 Further, although the credit remains in a state of “0” for some reason such as a communication failure and the transmission port may not be able to transmit a frame, the communication device can recover communication by a recovery process after a predetermined monitoring time.
しかしながら、たとえばクレジットが「0」と「1」を繰返すような状態、すなわちクレジットが減少して最大値まで復帰しない状態において、通信装置は、必ずしもリカバリ処理を実行しない。これにより、送信ポートは、クレジットが減少した状態で通信を継続することとなり通信性能を低下させる。 However, for example, in a state where the credit repeats “0” and “1”, that is, in a state where the credit is decreased and does not return to the maximum value, the communication device does not necessarily execute the recovery process. As a result, the transmission port continues communication in a state where credits are reduced, and communication performance is degraded.
1つの側面では、本発明は、通信性能が低下した状態から復帰可能な通信装置、通信制御プログラム、および通信制御方法を提供することを目的とする。 In one aspect, an object of the present invention is to provide a communication device, a communication control program, and a communication control method that can be recovered from a state in which communication performance has deteriorated.
上記目的を達成するために、以下に示すような、通信装置が提供される。通信装置は、送信可能数の範囲で所定単位のデータを他の通信装置に送信する。通信装置は、記憶部と制御部とを備える。記憶部は、送信可能数を記憶する。制御部は、データの送信により送信可能数からデータの送信数を減算して更新し、データの送達確認により送信可能数にデータの送達確認数を加算して更新し、送信可能数の所定の減少状態を検出した場合に、送信可能数からデータの送信数を減算しないダミーデータを送信し、ダミーデータの送達確認により送信可能数にダミーデータの送達確認数を加算して更新する。 In order to achieve the above object, a communication apparatus as shown below is provided. The communication device transmits data of a predetermined unit to other communication devices within the range of the transmittable number. The communication device includes a storage unit and a control unit. The storage unit stores the transmittable number. The control unit updates the data transmission number by subtracting the data transmission number from the transmission possible number, updates the data transmission confirmation number by adding the data delivery confirmation number to the transmission possible number, and updates the predetermined number of transmission possible numbers. When the decrease state is detected, dummy data that does not subtract the data transmission number from the transmission possible number is transmitted, and the dummy data delivery confirmation number is added to the transmission possible number to update the dummy data delivery confirmation.
1態様によれば、通信装置、通信制御プログラム、および通信制御方法において、通信性能が低下した状態から復帰できる。 According to the first aspect, in the communication device, the communication control program, and the communication control method, it is possible to recover from the state in which the communication performance has deteriorated.
以下、実施の形態について、図面を参照しながら詳細に説明する。
[第1の実施形態]
まず、第1の実施形態の通信システムについて図1を用いて説明する。図1は、第1の実施形態の通信システムの構成の一例を示す図である。
Hereinafter, embodiments will be described in detail with reference to the drawings.
[First Embodiment]
First, the communication system of 1st Embodiment is demonstrated using FIG. FIG. 1 is a diagram illustrating an example of a configuration of a communication system according to the first embodiment.
通信システム1は、通信装置2と、通信装置2と通信可能に接続する通信装置3を含む。通信システム1は、通信装置2を送信元とし、通信装置3を通信装置2の送信先とする。たとえば、通信システム1は、ストレージネットワークを構成するFC−SAN(Fibre Channel − Storage Area Network)であり、通信装置2,3は、通信を中継するFCスイッチ(中継装置)である。
The
通信装置2は、所定単位(たとえば、フレーム単位)のデータを送信可能数2cの範囲で通信装置3に送信する。
通信装置2は、記憶部2aと制御部2bを含む。記憶部2aは、送信可能数2cを記憶する。送信可能数2cは、通信装置2が通信装置3に送信できる所定単位のデータ数を示す。たとえば、送信可能数2cは、通信装置3が用意する受信バッファのサイズに対応する。
The
The
制御部2bは、データの送信により送信可能数2cからデータの送信数を減算して送信可能数2cを更新する。また、制御部2bは、データの送達確認により送信可能数2cにデータの送達確認数を加算して送信可能数2cを更新する。これにより、通信装置2は、送信可能数2cの範囲で所定単位のデータを通信装置3に送信できる。
The
たとえば、送信可能数2cが「3」であるとき、制御部2bは、通信装置2から通信装置3宛てに3単位のデータ4a,4b,4cを送信できる。制御部2bは、1単位のデータ4aを送信することで送信可能数2cから「1」を減算して送信可能数2cを「3」から「2」に更新する。同様にして、制御部2bは、データ4b,4cの送信により送信可能数2cを「2」から「1」、さらに「1」から「0」に更新する。制御部2bは、データ4a,4b,4cのいずれかの送達確認5aにより送信可能数2cに「1」を加算して送信可能数2cを「0」から「1」に更新する。
For example, when the
なお、図示しないが、制御部2bは、データ4a,4b,4cに対応する送達確認を順次受信すれば、送信可能数2cに「1」を加算して送信可能数2cを「2」に、さらに「3」へと更新する。
Although not shown, if the
制御部2bは、送信可能数2cを監視する。制御部2bは、送信可能数2cの監視により、所定の減少状態を検出できる。たとえば、制御部2bは、送信可能数2cが「0」と「1」とを推移して「2以上」に復帰しない状態を所定の減少状態として検出できる。このような状態は、通信装置2から通信装置3宛ての送信量を制限することとなり、通信性能が低下した状態である。
The
制御部2bは、送信可能数2cの所定の減少状態を検出した場合に、ダミーデータを送信する。ダミーデータは、制御部2bが通信装置3宛てに送信しても、送信可能数2cからデータの送信数を減算する対象としないデータである。なお、ダミーデータは、通信装置3によって破棄されてもよいデータである。
The
たとえば、送信可能数2cが「1」であるとき、制御部2bは、通信装置2から通信装置3宛てに2単位のダミーデータ6a,6bを送信できる。制御部2bは、2単位のダミーデータ6a,6bを送信するが、送信可能数2cを「1」のままにして更新しない。
For example, when the
制御部2bは、ダミーデータの送達確認により送信可能数2cにダミーデータの送達確認数を加算して更新する。たとえば、制御部2bは、ダミーデータ6a,6bのいずれかの送達確認7aにより送信可能数2cに「1」を加算して送信可能数2cを「2」に更新し、さらなる送達確認7bにより送信可能数2cを「3」に更新する。
The
このようにして、通信装置2は、送信可能数2cの所定の減少状態に起因して通信性能が低下した状態から復帰できる。
[第2の実施形態]
次に、第2の実施形態のストレージシステムについて図2を用いて説明する。図2は、第2の実施形態のストレージシステムの構成の一例を示す図である。
In this way, the
[Second Embodiment]
Next, a storage system according to the second embodiment will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of the configuration of the storage system according to the second embodiment.
ストレージシステム10は、FC−SANである。ストレージシステム10は、サーバ11,12と、FCスイッチ20,21と、FCスイッチ20とFCスイッチ21とを接続するFCケーブル13と、ストレージアレイ14,15とを含む。ストレージアレイ14,15は、大容量の記憶装置である。サーバ11,12は、FCスイッチ20,21を介してストレージアレイ14,15にアクセスできる。
The storage system 10 is an FC-SAN. The storage system 10 includes servers 11 and 12, FC switches 20 and 21, an
次に、第2の実施形態のFCスイッチ20,21について図3を用いて説明する。図3は、第2の実施形態のFCスイッチの構成の一例を示す図である。FCスイッチ20,21は、通信装置の一形態である。なお、FCスイッチ20を例示して説明するが、FCスイッチ21もFCスイッチ20と同様の構成を有する。
Next, FC switches 20 and 21 of the second embodiment will be described with reference to FIG. FIG. 3 is a diagram illustrating an example of the configuration of the FC switch according to the second embodiment. The FC switches 20 and 21 are a form of communication device. Although the
FCスイッチ20は、全体制御部20aと、通信制御部22と、フラッシュメモリ23と、管理用LAN(Local Area Network)ポート24と、複数のFCポート200a,200b,200c,200dを含む。全体制御部20aは、FCスイッチ20を統括的に制御する。全体制御部20aは、ユーザからの命令(コマンド)を受け付けて、通信制御部22が実現する各種機能を動作させる。全体制御部20aは、管理用LANポート24を介して操作用端末装置と接続し、操作用端末装置からユーザが入力する命令を受け付けることができる。たとえば、ユーザは、操作用端末装置からFCスイッチ20にアクセスし、telnet、http(Hypertext Transfer Protocol)、SSH(Secure Shell)などのプロトコルを用いてゾーニング(Zoning)設定を含む各種設定をおこなうことができる。
The
フラッシュメモリ23は、不揮発性のメモリであり、ゾーニングデータベース23aやネームサーバ23bなどの情報を保持する。全体制御部20aは、ゾーニングデータベース23aやネームサーバ23bなどの情報を生成または更新できる。
The
ゾーニングデータベース23aは、ユーザが設定したアクセス制御の定義情報を保持するデータベースである。ゾーニングデータベース23aは、アクセスを許可するデバイス間の組み合わせを保持する。ゾーニングデータベース23aは、たとえば、アクセスを許可するデバイス間の組み合わせとして、「FCポート200a、FCポート200c」、「FCポート200b、FCポート200d」を保持する。
The
ネームサーバ23bは、FCスイッチ20に接続されたデバイスの識別情報、製造ベンダー名、製品型名などの情報を保持するデータベースである。ネームサーバ23bは、FCスイッチ20内での転送に用いるアドレス情報を付与してデバイスを登録する。
The
通信制御部22は、通信制御およびゾーニング制御をおこなう。通信制御部22は、ゾーニング制御として、ユーザが設定したゾーニングデータベース23aのゾーニング情報にもとづいてアクセス制限をおこなう。通信制御部22は、受信バッファにデータを一時的に格納した後、ゾーニング制御によりアクセス制御情報と通信データ内の宛先情報とを照合して、適切な宛先ポートの送信バッファに転送する。これにより、通信制御部22は、通信元から通信先へのデータ転送をおこなうことができるとともに、不正なアクセスを制限することができる。
The
通信制御部22は、通信データ内の宛先情報から適切な送信先を選択し、選択した送信先宛てにデータを転送する。通信制御部22は、ネームサーバ23bが保持するアドレス情報を用いてFCスイッチ20内でのデータ通信を制御できる。
The
通信制御部22は、送受信のための一時的なデータを格納する格納領域として通信バッファを有する。通信バッファは、FCスイッチ20が送受信するデータを格納するためのメモリ領域である。通信制御部22は、FCポート200a,200b,200c,200dごとの通信バッファを内部メモリに用意する。通信バッファは、受信データを格納する受信バッファと、送信データを格納する送信バッファとを含む。なお、通信制御部22は、通信バッファに加えて、受信バッファの空き領域の大きさを示すクレジット(第1の実施形態の送信可能数2cに相当)を受信バッファごとに内部メモリに用意する。
The
次に、通信制御部22のハードウェア構成について図4を用いて説明する。図4は、第2の実施形態の通信制御部のハードウェア構成の一例を示す図である。
通信制御部22は、プロセッサ100と、バス101と、RAM(Random Access Memory)102と、フラッシュメモリ103と、外部インタフェース104を含む。
Next, the hardware configuration of the
The
プロセッサ100は、通信制御部22の制御部として機能する。プロセッサ100には、バス101を介して、RAM102とフラッシュメモリ103と外部インタフェース104が接続されている。プロセッサ100は、2以上のプロセッサからなるマルチコアプロセッサであってもよい。
The
プロセッサ100は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。なお、通信制御部22は、プロセッサ100に限らず、通信制御部22が含む構成要素の一部または全部をASICによって実現するものであってもよい。
The
RAM102とフラッシュメモリ103は、通信制御部22の記憶部として機能する。フラッシュメモリ103には、OS(Operating System)のプログラム、アプリケーションプログラム、および各種データが格納される。
The
RAM102には、プロセッサ100に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時格納される。また、RAM102には、プロセッサ100による処理に必要な各種データが格納される。また、RAM102は、プロセッサ100のキャッシュメモリや、FCポート200a,200b,200c,200dの通信バッファとして機能する。また、RAM102は、FCポート200a,200b,200c,200dのクレジットを記憶する。
The
なお、外部インタフェース104は、全体制御部20aとFCポート200a,200b,200c,200dを接続する他、通信制御部22に周辺機器を接続するための通信インタフェースである。たとえば、外部インタフェース104には、図示しないメモリ装置やメモリリーダライタを接続することができる。メモリ装置は、外部インタフェース104との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなう装置である。メモリカードは、たとえば、カード型の記録媒体である。
The
また、外部インタフェース104には、図示しないモニタを接続してもよい。その場合、外部インタフェース104は、プロセッサ100からの命令にしたがって、画像をモニタの画面に表示させるグラフィック処理機能を有する。
Further, a monitor (not shown) may be connected to the
また、外部インタフェース104は、図示しないキーボードやマウスを接続してもよい。その場合、外部インタフェース104は、キーボードやマウスから送られてくる信号をプロセッサ100に送信する。なお、マウスは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
Further, the
また、外部インタフェース104は、図示しない光学ドライブ装置を接続してもよい。光学ドライブ装置は、レーザ光などを利用して、光ディスクに記録されたデータの読み取りをおこなう。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
The
以上のようなハードウェア構成によって、第2の実施形態の通信制御部22の処理機能を実現することができる。
なお、全体制御部20aや第1の実施形態に示した通信装置2も、図4に示した通信制御部22と同様のハードウェアにより実現することができる。
With the hardware configuration described above, the processing function of the
Note that the
通信制御部22は、たとえば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施形態の処理機能を実現する。通信制御部22に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、通信制御部22に実行させるプログラムをフラッシュメモリ103に格納しておくことができる。プロセッサ100は、フラッシュメモリ103内のプログラムの少なくとも一部をRAM102にロードし、プログラムを実行する。また、通信制御部22に実行させるプログラムを、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ100からの制御により、フラッシュメモリ103にインストールされた後、実行可能となる。またプロセッサ100が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
The
次に、FCスイッチ20,21の通信バッファについて図5を用いて説明する。図5は、第2の実施形態のFCスイッチの通信バッファの一例を示す図である。
FCスイッチ20が有するFCポート200aは、FCスイッチ21が有するFCポート210aとFCケーブル13で接続する。FCケーブル13は、送信ライン(TX)と受信ライン(RX)とを含み、光信号が相互干渉しないように設計されている。FCポート200aのTX200dは、FCポート210aのRX210eと接続し、FCポート200aのRX200eは、FCポート210aのTX210dと接続する。
Next, communication buffers of the FC switches 20 and 21 will be described with reference to FIG. FIG. 5 is a diagram illustrating an example of a communication buffer of the FC switch according to the second embodiment.
The
FCポート200aは、FCポート200a用の通信バッファとして送信バッファ201aと受信バッファ202aを、FCスイッチ20のRAM102に有する。FCポート210aは、FCポート210a用の通信バッファとして送信バッファ211aと受信バッファ212aを、FCスイッチ21のRAM102に有する。
The
送信バッファ201a,211aは、FIFO(First In First Out)バッファであり、送信対象のフレームを一時的に格納する。一時格納されたフレームは、通信相手(送信先)への送信後に送信バッファ201a,211aからクリアされる。
The transmission buffers 201a and 211a are FIFO (First In First Out) buffers, and temporarily store frames to be transmitted. The temporarily stored frame is cleared from the
受信バッファ202a,212aは、FIFOバッファであり、通信相手(送信元)から受信したフレームを一時的に格納する。一時格納されたフレームは、FCスイッチ20,21内で読み出された後に受信バッファ202a,212aからクリアされる。
The reception buffers 202a and 212a are FIFO buffers, and temporarily store frames received from a communication partner (transmission source). The temporarily stored frame is read from the FC switches 20 and 21, and then cleared from the
次に、クレジット監視処理について図6を用いて説明する。図6は、第2の実施形態のクレジット監視処理のフローチャートを示す図である。
クレジット監視処理は、クレジットの設定条件や更新条件を監視して、クレジットの設定や更新をおこなう処理である。クレジット監視処理は、FCスイッチ20,21間の通信開始時に、データ送信側の通信制御部22が実行する処理である。
Next, the credit monitoring process will be described with reference to FIG. FIG. 6 is a diagram illustrating a flowchart of credit monitoring processing according to the second embodiment.
The credit monitoring process is a process for monitoring the credit setting conditions and update conditions to set and update credits. The credit monitoring process is a process executed by the
[ステップS11]通信制御部22は、通信相手(たとえば、FCスイッチ21)からクレジット値を受信する。通信制御部22は、受信したクレジット値を初期値として記憶する。なお、クレジットの初期値は、クレジットの最大値である。
[Step S11] The
[ステップS12]通信制御部22は、通信相手に向けてフレーム(1単位のデータ)を送信したか否かを判定する。通信制御部22は、通信相手に向けてフレームを送信した場合にステップS13にすすみ、通信相手に向けてフレームを送信していない場合にステップS15にすすむ。
[Step S12] The
[ステップS13]通信制御部22は、送信したフレームがダミーフレームであるか否かを判定する。通信制御部22は、送信したフレームがダミーフレームである場合にステップS17にすすみ、送信したフレームがダミーフレームでない場合、すなわち通常フレームである場合にステップS14にすすむ。
[Step S13] The
[ステップS14]通信制御部22は、通信相手に向けて通常フレームを送信したことから、クレジット値から「1」減算する。すなわち、通信制御部22は、送信したフレームが通常フレームである場合にクレジット値から「1」を減算し、送信したフレームがダミーフレームである場合にステップS14をパスしてクレジット値を更新しない。
[Step S14] The
なお、通信制御部22は、クレジット値が「1以上」の場合に通信相手に向けて通常フレームを送信し、クレジット値が「0以上」の場合に通信相手に向けてダミーフレームを送信するので、クレジット値は常に「0以上」である。
The
[ステップS15]通信制御部22は、通信相手から応答フレームの受信があったか否かを判定する。応答フレームの受信は、通常フレームの送信に対する応答フレームの受信と、ダミーフレームの送信に対する応答フレームの受信とがある。通信制御部22は、通信相手から応答フレームの受信があった場合にステップS16にすすみ、通信相手から応答フレームの受信がない場合にステップS17にすすむ。
[Step S15] The
[ステップS16]通信制御部22は、通信相手から応答フレームの受信があったことから、クレジット値に「1」加算する。すなわち、通信制御部22は、通信相手から応答フレームの受信があった場合に、通常フレームの送信に対する応答フレームの受信であるか、ダミーフレームの送信に対する応答フレームの受信であるかにかかわらず、クレジット値に「1」を加算する。
[Step S16] Since the response frame is received from the communication partner, the
これにより、通常フレームの送信に対する応答フレームの受信によるクレジット値への「1」加算は、通常フレームの送信によるクレジット値からの「1」減算と相殺する。すなわち、正常に通信がおこなえた場合、クレジット値は、通信終了時に初期値に復帰する。 Thereby, “1” addition to the credit value due to reception of the response frame in response to transmission of the normal frame cancels out “1” subtraction from the credit value due to transmission of the normal frame. That is, when communication can be performed normally, the credit value returns to the initial value at the end of communication.
一方、ダミーフレームの送信に対する応答フレームの受信によるクレジット値への「1」加算は、ダミーフレームによるクレジット値からの「1」減算がないことから、クレジット値を増大させる作用を有する。したがって、何らかの通信異常によりクレジット値が小さな値となってしまった場合に、通信制御部22は、ダミーフレームの送信によってクレジット値の復旧を図ることができる。
On the other hand, the addition of “1” to the credit value by receiving the response frame in response to the transmission of the dummy frame has the effect of increasing the credit value because there is no “1” subtraction from the credit value by the dummy frame. Therefore, when the credit value becomes a small value due to some communication abnormality, the
[ステップS17]通信制御部22は、通信終了であるか否かを判定する。通信制御部22は、通信終了である場合にクレジット監視処理を終了し、通信終了でない場合にステップS18にすすむ。
[Step S17] The
[ステップS18]通信制御部22は、所定のリカバリ条件の成立を判定する。リカバリは、異常な通信状態からの復帰処理である。リカバリ条件は、リカバリ実行契機の判定条件である。たとえば、リカバリ条件は、所定の監視時間中、クレジット値が「0」の状態を検出することである。このリカバリ条件は、通信相手から一切の応答フレームを受信できないときに成立し得る。通信制御部22は、所定のリカバリ条件が成立した場合にステップS19にすすみ、所定のリカバリ条件が成立しない場合にステップS12にすすむ。
[Step S18] The
[ステップS19]通信制御部22は、リカバリをおこなう。たとえば、通信制御部22は、通信バッファ内のフレームを破棄して処理中の通信をクリアすることで、クレジット値を初期値に復帰させる。
[Step S19] The
このように、通信制御部22は、クレジット値を管理することができる。これにより、通信制御部22は、受信側で受信可能なフレーム数を認識して、送信するフレーム数を制御することができ、ストレージシステム10におけるフレームロストしないデータ転送を実現する。
In this way, the
次に、正常な通信時のクレジット値の更新について図7を用いて説明する。図7は、第2の実施形態の正常な通信におけるクレジット値の更新シーケンスの一例を示す図である。 Next, updating of the credit value during normal communication will be described with reference to FIG. FIG. 7 is a diagram illustrating an example of a credit value update sequence in normal communication according to the second embodiment.
[シーケンスsq11]通信制御部22は、FCスイッチ21のFCポート210aからクレジット値の通知を受けてFCスイッチ20のFCポート200aのクレジット値を初期化する。これにより、FCポート200aのクレジット値とFCポート210aのクレジット値とは、通信開始時において「4」で一致する。なお、初期値となるクレジット値は、FCポート200aとFCポート210aとの間のネゴシエーションによって決定される。
[Sequence sq11] The
[シーケンスsq12]通信制御部22は、FCポート200aからFCポート210aに通常フレームを送信し、クレジット値を「3」に更新する。このとき、FCポート210aのクレジット値は、受信した通常フレームが受信バッファ212aに格納されることから「3」に更新される。
[Sequence sq12] The
[シーケンスsq13]通信制御部22は、FCポート200aからFCポート210aに通常フレームを送信し、クレジット値を「2」に更新する。このとき、FCポート210aのクレジット値は、「2」に更新される。
[Sequence sq13] The
[シーケンスsq14]通信制御部22は、シーケンスsq12で送信した通常フレームに対応する応答フレームをFCポート210aから受信することにより、クレジット値を「3」に更新する。FCポート210aのクレジット値は、応答フレームの送信とともに受信バッファ212aのフレーム格納領域が1つクリアされて「3」に更新される。
[Sequence sq14] The
[シーケンスsq15]通信制御部22は、シーケンスsq13で送信した通常フレームに対応する応答フレームをFCポート210aから受信することにより、クレジット値を「4」に更新する。FCポート210aのクレジット値は、応答フレームの送信とともに受信バッファ212aのフレーム格納領域が1つクリアされて「4」に更新される。
[Sequence sq15] The
[シーケンスsq16]通信制御部22は、FCポート200aからFCポート210aに通常フレームを送信し、クレジット値を「3」に更新する。このとき、FCポート210aのクレジット値は、「3」に更新される。
[Sequence sq16] The
このように、正常な通信時のクレジット値は、送信元と送信先とで同期して更新される。したがって、送信元となるFCスイッチ20は、受信できない量のフレームを、送信先となるFCスイッチ21に送信することを防止できる。
In this way, the credit value during normal communication is updated in synchronization between the transmission source and the transmission destination. Therefore, the transmission
次に、通常フレームをフレームロストした通信時のクレジット値の更新について図8を用いて説明する。図8は、第2の実施形態の通常フレームをフレームロストした通信におけるクレジット値の更新シーケンスの一例を示す図である。 Next, updating of a credit value during communication in which a normal frame is lost will be described with reference to FIG. FIG. 8 is a diagram illustrating an example of a credit value update sequence in communication in which a normal frame is lost in the second embodiment.
[シーケンスsq21]通信制御部22は、FCポート200aからFCポート210aに通常フレームを送信し、クレジット値を「3」から「2」に更新する。FCポート200aから送信された通常フレームが何らかの理由でフレームロストする。FCポート210aのクレジット値は、FCポート210aが通常フレームを受信することがないのでクレジット値を「3」のままとする。
[Sequence sq21] The
[シーケンスsq22]通信制御部22は、送信した通常フレームに対応する応答フレームを監視時間t1の経過前に受信しない場合に、FCポート200aからFCポート210aに通常フレームをリトライ送信する。通信制御部22は、リトライ送信時にクレジット値を更新しない。FCポート210aのクレジット値は、リトライ送信された通常フレームの受信によって「3」から「2」に更新される。
[Sequence sq22] If the
[シーケンスsq23]通信制御部22は、シーケンスsq22で送信した通常フレームに対応する応答フレームをFCポート210aから受信することにより、クレジット値を「2」から「3」に更新する。FCポート210aのクレジット値は、応答フレームの送信とともに受信バッファ212aのフレーム格納領域が1つクリアされて「2」から「3」に更新される。
[Sequence sq23] The
このように、通常フレームをフレームロストすることがあっても、送信元のクレジット値と送信先のクレジット値とは、送信した通常フレームに対応する応答時に一致する。
次に、通常フレームに対する応答フレームをフレームロストした通信時のクレジット値の更新について図9を用いて説明する。図9は、第2の実施形態の通常フレームに対する応答フレームをフレームロストした通信におけるクレジット値の更新シーケンスの一例を示す図である。
As described above, even when the normal frame is lost, the credit value of the transmission source and the credit value of the transmission destination match at the time of the response corresponding to the transmitted normal frame.
Next, update of a credit value during communication in which a response frame for a normal frame is lost will be described with reference to FIG. FIG. 9 is a diagram illustrating an example of a credit value update sequence in communication in which a response frame to a normal frame according to the second embodiment is lost.
[シーケンスsq31]通信制御部22は、FCポート200aからFCポート210aに通常フレームを送信し、クレジット値を「1」から「0」に更新する。このとき、FCポート210aのクレジット値は、「1」から「0」に更新される。
[Sequence sq31] The
[シーケンスsq32]FCポート210aから送信された応答フレームが何らかの理由でフレームロストする。FCポート210aのクレジット値は、応答フレームの送信とともに受信バッファ212aのフレーム格納領域が1つクリアされて「0」から「1」に更新される。一方、通信制御部22は、FCポート200aが応答フレームを受信することがないのでクレジット値を「0」のままとする。
[Sequence sq32] The response frame transmitted from the
監視時間t2中にFCポート200aが応答フレームを受信することがない場合、通信制御部22は、リカバリをおこなう。なお、通信制御部22は、リカバリに至る前に後述するクレジット復旧処理によって通信状態の回復を図ることができる。
If the
次に、クレジット復旧処理について図10を用いて説明する。図10は、第2の実施形態のクレジット復旧処理のフローチャートを示す図である。
クレジット復旧処理は、クレジット値が減少したままの状態を検出して、減少したクレジット値を復旧する処理である。クレジット復旧処理は、FCスイッチ20,21間の通信開始時に、データ送信側の通信制御部22によって実行される。
Next, the credit recovery process will be described with reference to FIG. FIG. 10 is a diagram illustrating a flowchart of credit recovery processing according to the second embodiment.
The credit recovery process is a process for detecting a state in which the credit value remains decreased and recovering the decreased credit value. The credit recovery process is executed by the
[ステップS21]通信制御部22は、復旧監視タイマをスタートする。復旧監視タイマは、クレジット値が減少したままの状態の検出期間の設定に用いるタイマである。
[ステップS22]通信制御部22は、クレジット値を監視する。
[Step S21] The
[Step S22] The
[ステップS23]通信制御部22は、復旧監視タイマがタイムアップ(たとえば、復旧監視タイマのスタートから500ms経過)したか否かを判定する。通信制御部22は、復旧監視タイマがタイムアップした場合にステップS24にすすみ、復旧監視タイマがタイムアップしていない場合にステップS22にすすむ。
[Step S23] The
[ステップS24]通信制御部22は、クレジットの初期値と監視期間中のクレジットの最大値とを比較して差分が「1」より大きいか否かを判定する。差分が「1」より大きい状態は、復旧監視タイマがタイムアップするまでの間、クレジット値が減少したままの状態であり、クレジット値が「初期値−1」まで復帰しない状態であることを示す。
[Step S24] The
通信制御部22は、差分が「1」より大きい場合にステップS25にすすみ、差分が「1」より大きくない場合にステップS21にすすむ。
[ステップS25]通信制御部22は、ダミーフレームを送信してステップS21にすすむ。ダミーフレームは、受信側によって破棄されてもよいデータであり、たとえば、SCSI(Small Computer System Interface)やFCP(Fibre Channel Protocol)が提供するコマンドである。なお、ダミーフレームの送信数は、クレジット値が減少したままの状態を検出するごとに「1」とする。
The
[Step S25] The
これにより、通信制御部22は、ダミーフレームに対応する応答フレームの受信によるクレジット値の復旧を期待できる。また、通信制御部22が受信側のクレジット値を超えてダミーフレームを送信しても、ダミーフレームが受信側によって破棄されるだけである。
Thereby, the
なお、通信制御部22は、ダミーフレームの送信条件、すなわちクレジット値が減少したままの状態から、差分が「1」に等しい場合を除外する。これは、通常フレームとダミーフレームがバッティングして受信側によって通常フレームが破棄されることを防止するためである。
Note that the
また、ダミーフレームの送信数は、クレジット値が減少したままの状態を検出するごとに「1」としたが、差分が「n」より大きい状態をクレジット値が減少したままの状態とすることでダミーフレームの送信数を「n」としてもよい。ただし、「n」は、クレジットの初期値より小さい自然数とする。 In addition, the number of transmissions of dummy frames is set to “1” every time a state where the credit value remains decreased, but a state where the difference is larger than “n” is set to a state where the credit value remains decreased. The number of transmissions of dummy frames may be “n”. However, “n” is a natural number smaller than the initial credit value.
次に、応答フレームをフレームロストした通信時のクレジット値の復旧について説明する。まず、クレジット値が減少したままの状態(クレジット値減少状態)の検出について図11を用いて説明する。図11は、第2の実施形態のクレジット値非減少状態とクレジット値減少状態における通信シーケンスの一例を示す図である。 Next, restoration of a credit value at the time of communication in which a response frame is lost will be described. First, detection of a state in which the credit value remains decreased (credit value decreased state) will be described with reference to FIG. FIG. 11 is a diagram illustrating an example of a communication sequence in the credit value non-decrease state and the credit value decrease state according to the second embodiment.
通信制御部22は、タイミングt11で復旧監視タイマをスタートし、タイミングt12で復旧監視タイマがタイムアップするまでクレジット値を監視する。なお、クレジット値の初期値は、「4」である。通信制御部22は、タイミングt11からタイミングt12までの監視期間中に、シーケンスsq41からsq43における通常フレームの送信と応答フレームの受信とによって、クレジット値を「4」、「3」、「4」、「3」と更新する。通信制御部22は、監視期間中のクレジット値の最大値が「4」であることから、クレジット値の初期値「4」との差分が「1」を超えないことを判定する。したがって、通信制御部22は、タイミングt11からタイミングt12までの監視期間中のクレジット値減少状態を検出しない。
The
一方、通信制御部22は、タイミングt13で復旧監視タイマをスタートし、タイミングt14で復旧監視タイマがタイムアップするまでクレジット値を監視する。通信制御部22は、タイミングt13からタイミングt14までの監視期間中に、シーケンスsq44からsq46における通常フレームの送信と応答フレームの受信とによって、クレジット値を「1」、「0」、「1」、「0」と更新する。
On the other hand, the
FCポート200aのクレジット値は、タイミングt13からタイミングt14までの監視期間中、応答フレームのフレームロストによりFCポート210aのクレジット値と不一致となっている。また、FCポート200aのクレジット値は、「1」までしか復帰しないため、通信制御部22は、送信できるフレーム数に制約を受ける。このような状態は、FCポート200aとFCポート210aとの間の通信性能が低下した状態である。
The credit value of the
通信制御部22は、タイミングt13からタイミングt14までの監視期間中のクレジット値の最大値が「1」であることから、クレジット値の初期値「4」との差分が「1」を超えることを判定する。したがって、通信制御部22は、タイミングt13からタイミングt14までの監視期間中のクレジット値減少状態を検出する。
Since the maximum value of the credit value during the monitoring period from timing t13 to timing t14 is “1”, the
次に、ダミーフレームの送信によるクレジット値減少状態からの復旧について図12を用いて説明する。図12は、第2の実施形態のダミーフレームの送信によるクレジット値減少状態からの復旧時における通信シーケンスの一例を示す図である。 Next, recovery from a credit value decrease state by transmission of a dummy frame will be described with reference to FIG. FIG. 12 is a diagram illustrating an example of a communication sequence at the time of recovery from a credit value decrease state due to transmission of a dummy frame according to the second embodiment.
[シーケンスsq51]通信制御部22は、クレジット値減少状態にあることを検出して、FCポート200aからFCポート210aにダミーフレームを送信する。このとき、FCポート200aのクレジット値は、更新されず、FCポート210aのクレジット値は、ダミーフレームの受信により「3」から「2」に更新される。
[Sequence sq51] The
[シーケンスsq52]通信制御部22は、シーケンスsq51で送信したダミーフレームに対応する応答フレームをFCポート210aから受信することにより、クレジット値を「1」から「2」に更新する。FCポート210aのクレジット値は、応答フレームの送信とともに受信バッファ212aのフレーム格納領域が1つクリアされて「2」から「3」に更新される。
[Sequence sq52] The
このように、通信制御部22は、クレジット値をクレジット値減少状態から「1」だけ復旧する。なお、通信制御部22は、未だクレジット値減少状態にあることを検出した場合、ダミーフレームを再度送信する。
In this way, the
[シーケンスsq53]通信制御部22は、クレジット値減少状態にあることを検出して、FCポート200aからFCポート210aにダミーフレームを送信する。このとき、FCポート200aのクレジット値は、更新されず、FCポート210aのクレジット値は、ダミーフレームの受信により「3」から「2」に更新される。
[Sequence sq53] The
[シーケンスsq54]通信制御部22は、シーケンスsq52で送信したダミーフレームに対応する応答フレームをFCポート210aから受信することにより、クレジット値を「2」から「3」に更新する。FCポート210aのクレジット値は、応答フレームの送信とともに受信バッファ212aのフレーム格納領域が1つクリアされて「2」から「3」に更新される。
[Sequence sq54] The
これにより、通信制御部22は、クレジット値減少状態を解消したクレジット値の範囲で通常フレームを送信することができる(シーケンスsq55からsq57)。このようにして、通信制御部22は、ダミーフレームの送信を繰返すことによって、クレジット値減少状態を解消し、通信性能が低下した状態から復帰できる。
Thereby, the
なお、通信制御部22は、クレジット値減少状態にあることを検出して、ダミーフレームを1つ送信するようにしたが、クレジット値減少状態に応じて2以上のダミーフレームを送信するものであってもよい。
The
次に、クレジット復旧処理におけるクレジット値減少状態の監視と判定のタイミングについて図13を用いて説明する。図13は、第2の実施形態のクレジット復旧処理におけるクレジット値減少状態の監視と判定のタイミングチャートの一例を示す図である。 Next, the timing of monitoring and determining the credit value decrease state in the credit recovery process will be described with reference to FIG. FIG. 13 is a diagram illustrating an example of a timing chart for monitoring and determining a credit value decrease state in the credit recovery process according to the second embodiment.
通信制御部22は、復旧監視タイマをタイミングt21にスタートし、復旧監視タイマがタイムアップするタイミングt22までのクレジット値を監視し、タイミングt22を判定タイミングとする。通信制御部22は、タイミングt21からタイミングt22までの監視期間中にクレジット値に「4」または「3」があることから、クレジット値減少状態を検出しない。通信制御部22は、タイミングt22を始期としてタイミングt23を終期として次の監視期間を設定する。以降、通信制御部22は、間断なくクレジット値を監視する。
The
[第3の実施形態]
次に、第3の実施形態のストレージシステムについて説明する。第3の実施形態のストレージシステムは、ダミーフレームの送信基準が第2の実施形態と異なる。具体的には、第2の実施形態の通信制御部22が実行するクレジット復旧処理に代えて、第3の実施形態の通信制御部22は、第2クレジット復旧処理を実行する点で相違する。以下、第3の実施形態の説明では、第2の実施形態と同様の構成について符号を同じにして説明を省略する。
[Third Embodiment]
Next, a storage system according to the third embodiment will be described. The storage system of the third embodiment differs from that of the second embodiment in dummy frame transmission standards. Specifically, instead of the credit recovery process executed by the
まず、第2クレジット復旧処理について図14を用いて説明する。図14は、第3の実施形態の第2クレジット復旧処理のフローチャートを示す図である。第2クレジット復旧処理は、クレジット値が減少したままの状態を検出して、減少したクレジット値を復旧する処理である。第2クレジット復旧処理は、FCスイッチ20,21間の通信開始時に、データ送信側の通信制御部22によって実行される。
First, the second credit recovery process will be described with reference to FIG. FIG. 14 is a diagram illustrating a flowchart of the second credit recovery process according to the third embodiment. The second credit recovery process is a process of detecting a state in which the credit value remains decreased and recovering the decreased credit value. The second credit recovery process is executed by the
[ステップS31]通信制御部22は、第1監視タイマをスタートする。第1監視タイマは、クレジット値が減少したままの状態の検出期間の設定に用いるタイマである。
[ステップS32]通信制御部22は、クレジット値を監視する。
[Step S31] The
[Step S32] The
[ステップS33]通信制御部22は、第1監視タイマがタイムアップ(たとえば、第1監視タイマのスタートから500ms経過)したか否かを判定する。通信制御部22は、第1監視タイマがタイムアップした場合にステップS34にすすみ、第1監視タイマがタイムアップしていない場合にステップS32にすすむ。
[Step S33] The
[ステップS34]通信制御部22は、クレジットの初期値と監視期間中のクレジットの最大値とを比較して差分が「1以上」であるか否かを判定する。差分が「1以上」である状態は、第1監視タイマがタイムアップするまでの間、クレジット値が減少したままの状態、あるいはクレジット値が「初期値(最大値)」まで復帰しない状態であることを示す。
[Step S34] The
通信制御部22は、差分が「1以上」の場合にステップS35にすすみ、差分が「1以上」でない場合にステップS31にすすむ。
なお、第3の実施形態は、差分が「1」の場合を含めて、クレジット値が減少したままの状態と判定する点で、第2の実施形態と相違する。第2の実施形態は、差分が「1」の場合を、クレジット値が減少したままの状態と判定しないことで、通常フレームの送信とダミーフレームの送信のバッティングを防止した。第3の実施形態は、以下の処理によって通常フレームの送信とダミーフレームの送信のバッティングを防止する。
The
The third embodiment is different from the second embodiment in that it is determined that the credit value remains reduced including the case where the difference is “1”. In the second embodiment, the case where the difference is “1” is not determined as a state in which the credit value remains decreased, thereby preventing the batting between the transmission of the normal frame and the transmission of the dummy frame. In the third embodiment, batting between normal frame transmission and dummy frame transmission is prevented by the following processing.
[ステップS35]通信制御部22は、ダミーフレームを送信する。なお、ダミーフレームの送信数は、クレジット値が減少したままの状態を検出するごとに「1」とする。
これにより、通信制御部22は、ダミーフレームに対応する応答フレームの受信によるクレジット値の復旧を期待できる。また、通信制御部22が受信側のクレジット値を超えてダミーフレームを送信しても、ダミーフレームが受信側によって破棄されるだけである。
[Step S35] The
Thereby, the
[ステップS36]通信制御部22は、第2監視タイマをスタートする。第2監視タイマは、ダミーフレーム送信後の通常フレームの送信待ち合わせに用いるタイマである。
[ステップS37]通信制御部22は、通常フレームの送信を待機する。これにより、通信制御部22は、通常フレームの送信とダミーフレームの送信のバッティングを防止し、通常フレームが受信側によって破棄されることを防止する。
[Step S36] The
[Step S37] The
[ステップS38]通信制御部22は、ダミーフレームに対する応答フレームを受信したか否かを判定する。通信制御部22は、応答フレームを受信した場合にステップS44にすすみ、応答フレームを受信していない場合にステップS39にすすむ。
[Step S38] The
[ステップS39]通信制御部22は、第2監視タイマがタイムアップ(たとえば、第2監視タイマのスタートから100ms経過)したか否かを判定する。通信制御部22は、第2監視タイマがタイムアップした場合にステップS40にすすみ、第2監視タイマがタイムアップしていない場合にステップS38にすすむ。これにより、通信制御部22は、ダミーフレームに対する応答フレームの受信を、最大で第2監視タイマの監視時間だけ待ち合わせることができる。
[Step S39] The
[ステップS40]通信制御部22は、ダミーフレームが破棄されたと判断して、ダミーフレームをリトライ送信する。
[ステップS41]通信制御部22は、第2監視タイマをスタートする。
[Step S40] The
[Step S41] The
[ステップS42]通信制御部22は、リトライ送信したダミーフレームに対する応答フレームを受信したか否かを判定する。通信制御部22は、応答フレームを受信した場合にステップS44にすすみ、応答フレームを受信していない場合にステップS43にすすむ。
[Step S42] The
[ステップS43]通信制御部22は、第2監視タイマがタイムアップしたか否かを判定する。通信制御部22は、第2監視タイマがタイムアップした場合にステップS44にすすみ、第2監視タイマがタイムアップしていない場合にステップS42にすすむ。
[Step S43] The
なお、リトライ送信したダミーフレームに対する応答がない場合、FCスイッチ20,21は、クレジットが枯渇した状態から復旧できない、あるいは経路異常によりダミーフレームが相手側に届いていない状態である可能性がある。このような場合、通信制御部22は、FCスイッチ20より上位のデバイス(たとえば、図示しない管理装置)による復旧に委ねるものとして、上位のデバイスに所要の状態情報を報知するようにしてもよい。
If there is no response to the retry-transmitted dummy frame, there is a possibility that the FC switches 20 and 21 cannot recover from the state where the credit is depleted or the dummy frame has not reached the other party due to a path abnormality. In such a case, the
[ステップS44]通信制御部22は、通常フレームの送信待機を解除して、ステップS31にすすむ。
これにより、通信制御部22は、通常フレームの送信とダミーフレームの送信のバッティングを防止しながら、ダミーフレームに対応する応答フレームの受信によるクレジット値の復旧を期待できる。また、第3の実施形態の通信制御部22は、差分が「1」の場合を含めて、クレジット値が減少したままの状態と判定することで、第2の実施形態の通信制御部22よりも早くクレジット値が減少したままの状態を検出して早期の復帰を図ることができる。
[Step S44] The
As a result, the
次に、第2クレジット復旧処理におけるクレジット値減少状態の監視と判定のタイミングについて図15を用いて説明する。図15は、第3の実施形態の第2クレジット復旧処理におけるクレジット値減少状態の監視と判定のタイミングチャートの一例を示す図である。 Next, the timing for monitoring and determining the credit value decrease state in the second credit recovery process will be described with reference to FIG. FIG. 15 is a diagram illustrating an example of a timing chart for monitoring and determining a credit value decrease state in the second credit recovery process according to the third embodiment.
通信制御部22は、第1監視タイマをタイミングt31にスタートし、第1監視タイマがタイムアップするタイミングt32までのクレジット値を監視し、タイミングt32を判定タイミングとする。通信制御部22は、タイミングt31からタイミングt32までの監視期間中にクレジット値に「4」があることから、クレジット値減少状態を検出しない。
The
通信制御部22は、第1監視タイマをタイミングt32にスタートし、第1監視タイマがタイムアップするタイミングt33までのクレジット値を監視し、タイミングt33を判定タイミングとする。通信制御部22は、タイミングt32からタイミングt33までの監視期間中にクレジット値に「4」がないことから、クレジット値減少状態を検出して、ダミーフレームを送信する。通信制御部22は、第2監視タイマをタイミングt33にスタートし、第2監視タイマがタイムアップすることで、またはダミーフレームに対する応答フレームを受信することで、タイミングt34をクレジット値減少状態の次の監視期間とする。
The
なお、第2の実施形態および第3の実施形態において、通信制御部22は、クレジットの初期値と監視期間中のクレジットの最大値とを比較して両者の差分によりクレジット値が減少したままの状態を検出した。しかしながら、差分によるクレジット値が減少したままの状態の検出は、一例であってこれに限らず、その他の方法によって検出するものであってもよい。たとえば、通信制御部22は、クレジットの最大値がクレジットの初期値まで復帰しない状態と、スループットの低下状態などその他の条件との組み合わせにより、クレジット値が減少したままの状態を検出してもよい。
In the second embodiment and the third embodiment, the
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、通信装置2,3、全体制御部20aおよび通信制御部22が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
The above processing functions can be realized by a computer. In that case, a program describing the processing contents of the functions that the
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When distributing the program, for example, portable recording media such as a DVD and a CD-ROM in which the program is recorded are sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。 The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time a program is transferred from a server computer connected via a network, the computer can sequentially execute processing according to the received program.
また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。 In addition, at least a part of the processing functions described above can be realized by an electronic circuit such as a DSP, ASIC, or PLD.
1 通信システム
2,3 通信装置
2a 記憶部
2b 制御部
2c 送信可能数
4a,4b,4c データ
5a,7a,7b 送達確認
6a,6b ダミーデータ
10 ストレージシステム
11,12 サーバ
13 FCケーブル
14,15 ストレージアレイ
20,21 FCスイッチ
20a 全体制御部
22 通信制御部
23,103 フラッシュメモリ
23a ゾーニングデータベース
23b ネームサーバ
24 管理用LANポート
100 プロセッサ
101 バス
102 RAM
104 外部インタフェース
200a,200b,200c,200d,210a FCポート
201a,211a 送信バッファ
202a,212a 受信バッファ
DESCRIPTION OF
104
Claims (7)
前記送信可能数を記憶する記憶部と、
前記データの送信により前記送信可能数から前記データの送信数を減算して更新し、
前記データの送達確認により前記送信可能数に前記データの送達確認数を加算して更新し、
前記送信可能数の所定の減少状態を検出した場合に、前記送信可能数から前記データの送信数を減算しないダミーデータを送信し、
前記ダミーデータの送達確認により前記送信可能数に前記ダミーデータの送達確認数を加算して更新する、
制御部と、
を備える通信装置。 A communication device that transmits data of a predetermined unit to another communication device within a range of the number of possible transmissions,
A storage unit for storing the transmittable number;
Subtract and update the number of data transmissions from the transmittable number by transmitting the data,
Update the data delivery confirmation number by adding the data delivery confirmation number to the transmittable number,
When detecting a predetermined decrease state of the transmittable number, send dummy data that does not subtract the transmit number of the data from the transmittable number,
The dummy data delivery confirmation is updated by adding the dummy data delivery confirmation number to the transmittable number,
A control unit;
A communication device comprising:
請求項1記載の通信装置。 The control unit detects the decrease state by detecting that the transmittable number does not return to the predetermined number in a predetermined monitoring period.
The communication apparatus according to claim 1.
請求項2記載の通信装置。 The control unit detects the decrease state when a difference between the initial value of the transmittable number and the maximum value of the transmittable number in the predetermined monitoring period is greater than 1.
The communication apparatus according to claim 2.
請求項3記載の通信装置。 The control unit transmits one dummy data for each detection of the decrease state,
The communication apparatus according to claim 3.
前記ダミーデータを送信後に、所定時間経過または前記ダミーデータの送達確認まで前記データの送信を待機する、
請求項2記載の通信装置。 The control unit detects the decrease state when a difference between an initial value of the transmittable number and a maximum value of the transmittable number in the predetermined monitoring period is 1 or more,
After transmitting the dummy data, wait for transmission of the data until a predetermined time elapses or confirmation of delivery of the dummy data,
The communication apparatus according to claim 2.
通信装置から他の通信装置に所定単位のデータを、記憶部が記憶する送信可能数の範囲で送信させ、
前記データの送信により前記送信可能数から前記データの送信数を減算して更新し、
前記データの送達確認により前記送信可能数に前記データの送達確認数を加算して更新し、
前記送信可能数の所定の減少状態を検出した場合に、前記送信可能数から前記データの送信数を減算しないダミーデータを送信し、
前記ダミーデータの送達確認により前記送信可能数に前記ダミーデータの送達確認数を加算して更新する、
処理を実行させる通信制御プログラム。 On the computer,
A predetermined unit of data is transmitted from the communication device to another communication device within the range of the transmittable number stored in the storage unit,
Subtract and update the number of data transmissions from the transmittable number by transmitting the data,
Update the data delivery confirmation number by adding the data delivery confirmation number to the transmittable number,
When detecting a predetermined decrease state of the transmittable number, send dummy data that does not subtract the transmit number of the data from the transmittable number,
The dummy data delivery confirmation is updated by adding the dummy data delivery confirmation number to the transmittable number,
A communication control program that executes processing.
通信装置から他の通信装置に所定単位のデータを、記憶部が記憶する送信可能数の範囲で送信させ、
前記データの送信により前記送信可能数から前記データの送信数を減算して更新し、
前記データの送達確認により前記送信可能数に前記データの送達確認数を加算して更新し、
前記送信可能数の所定の減少状態を検出した場合に、前記送信可能数から前記データの送信数を減算しないダミーデータを送信し、
前記ダミーデータの送達確認により前記送信可能数に前記ダミーデータの送達確認数を加算して更新する、
処理を実行する通信制御方法。 Computer
A predetermined unit of data is transmitted from the communication device to another communication device within the range of the transmittable number stored in the storage unit,
Subtract and update the number of data transmissions from the transmittable number by transmitting the data,
Update the data delivery confirmation number by adding the data delivery confirmation number to the transmittable number,
When detecting a predetermined decrease state of the transmittable number, send dummy data that does not subtract the transmit number of the data from the transmittable number,
The dummy data delivery confirmation is updated by adding the dummy data delivery confirmation number to the transmittable number,
A communication control method for executing processing.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015007640A JP6404129B2 (en) | 2015-01-19 | 2015-01-19 | COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015007640A JP6404129B2 (en) | 2015-01-19 | 2015-01-19 | COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2016134718A JP2016134718A (en) | 2016-07-25 |
| JP6404129B2 true JP6404129B2 (en) | 2018-10-10 |
Family
ID=56464554
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015007640A Expired - Fee Related JP6404129B2 (en) | 2015-01-19 | 2015-01-19 | COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6404129B2 (en) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3351684B2 (en) * | 1996-07-03 | 2002-12-03 | 日本電信電話株式会社 | Opponent station busy detection method and apparatus therefor |
| JPH1032584A (en) * | 1996-07-17 | 1998-02-03 | Matsushita Electric Ind Co Ltd | Data transfer device having retransmission control function |
| JP3436100B2 (en) * | 1996-10-04 | 2003-08-11 | 株式会社日立製作所 | Communication method |
| US9350806B2 (en) * | 2012-09-07 | 2016-05-24 | International Business Machines Corporation | Zero copy data transfers without modifying host side protocol stack parameters |
-
2015
- 2015-01-19 JP JP2015007640A patent/JP6404129B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2016134718A (en) | 2016-07-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10652331B1 (en) | Locally providing highly available cloud-based storage system services | |
| JP6239029B2 (en) | Surveillance camera | |
| US9626153B2 (en) | Control device and control method | |
| JP2010524053A (en) | In-band problem log data collection method between host and storage system, computer program, and system (in-band problem log data collection between host and storage system) | |
| WO2016190938A1 (en) | Locally providing cloud storage array services | |
| JP2017010390A (en) | Storage control device, storage control program, and storage control method | |
| IL186893A (en) | Virtual media systems, methods and devices | |
| US20140122421A1 (en) | Information processing apparatus, information processing method and computer-readable storage medium | |
| JP4317436B2 (en) | Disk array system and interface conversion device | |
| JP2010055284A (en) | Storage device | |
| WO2011051075A1 (en) | Facilitating data compression during replication | |
| JP2007280258A (en) | Storage controller | |
| JP2014026529A (en) | Storage system and control method thereof | |
| JP6428048B2 (en) | COMMUNICATION SYSTEM, ABNORMALITY CONTROL DEVICE, AND ABNORMALITY CONTROL METHOD | |
| JP6404129B2 (en) | COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD | |
| JP4998166B2 (en) | Data input terminal, input data transmission method, input data transmission program | |
| US11102298B1 (en) | Locally providing cloud storage services for fleet management | |
| JP5112138B2 (en) | Session management method, storage device, and computer system | |
| JP2017182332A (en) | Remote terminal, method of controlling the same, computer system, and program | |
| JP2013093681A (en) | Monitoring camera device and monitoring camera system | |
| JP4129449B2 (en) | Stream data delivery method and system | |
| JP6051617B2 (en) | Control device, storage device, control method, and control program | |
| US12470495B2 (en) | Data transmitting apparatus that transmits a data stream to a receiving apparatus via a network and a control method thereof | |
| US20130219212A1 (en) | Array management device, array management method and integrated circuit | |
| JP6007620B2 (en) | RELAY DEVICE, STORAGE SYSTEM, AND RELAY DEVICE CONTROL METHOD |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171002 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180823 |
|
| 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: 20180828 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180912 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6404129 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |