JP2008293492A - ロードバランス型ネットワーク環境におけるインテリジェントフェイルバック - Google Patents

ロードバランス型ネットワーク環境におけるインテリジェントフェイルバック Download PDF

Info

Publication number
JP2008293492A
JP2008293492A JP2008130978A JP2008130978A JP2008293492A JP 2008293492 A JP2008293492 A JP 2008293492A JP 2008130978 A JP2008130978 A JP 2008130978A JP 2008130978 A JP2008130978 A JP 2008130978A JP 2008293492 A JP2008293492 A JP 2008293492A
Authority
JP
Japan
Prior art keywords
nic
recovered
overloaded
computing device
network
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.)
Granted
Application number
JP2008130978A
Other languages
English (en)
Other versions
JP4925218B2 (ja
Inventor
Ayaz Abdulla
アブドラ アヤツ
Norman K Chen
ケー. チェン ノーマン
Anand Rjagopalan
ラジャゴパラン アナンド
Ashutosh K Jha
ケー. ジャ アシュトシュ
Hemamalini Manickavasagam
マニカヴァサガム ヘママリニ
Sameer Nanda
ナンダ サミール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
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
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of JP2008293492A publication Critical patent/JP2008293492A/ja
Application granted granted Critical
Publication of JP4925218B2 publication Critical patent/JP4925218B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC 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/2005Error 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 controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 NICの過負荷等の現象を減らすようにネットワーク接続をフェイルバックする時、1つ以上の機能できるNICへ上記接続を転送すること。
【解決手段】 本発明の一形態の、コンピューティング装置のNICへネットワーク接続をフェイルバックする方法は、上記装置内のフェイルした又は信頼できないNICを監視する工程、そのようなNICの回復を決定する工程、上記装置内の機能できるNICが過負荷であることを決定する工程、過負荷NICで通信している第1の接続セットを選択する工程及び回復NICへ上記接続セットを転送する工程を含む。この方法では、回復NICへのネットワーク接続セットのフェイルバックの是非を、過負荷NIC及び回復NICのトラフィック負荷を基に知能的に効果的に行える。上記装置内の機能できるNICに亘ってトラフィックをバランスさせる上記方法により、全性能を従来技術より改善可能である。
【選択図】 図2B

Description

発明の分野
[0001]本発明の実施形態は、一般的に、ネットワーク通信に係り、より詳細には、ロードバランス型ネットワーク環境においてネットワーク接続をインテリジェントフェイルバックするためのシステム及び方法に係る。
関連技術の説明
[0002]性能及び信頼性は、現代のコンピュータネットワークのための重要な必要条件である。ネットワークインターフェースカード(「NIC」)がフェイルする又は信頼できないものとなり、それから十分に機能できる状態へと戻るとき、コンピューティング装置は、ネットワーク接続を現在機能できるNICへ再分散することにより、ネットワーク性能を改善することができる。より具体的には、もし、特定のNICが過負荷である又は過負荷となる場合には、ネットワーク性能は、回復されるNICを含むコンピューティング装置における機能できるNICの間にネットワーク接続を再分散することにより改善することができる。しかしながら、コンピューティング装置内の機能できるNICの間にトラフィックを再分散することによって得られる性能改善よりも、1つのNICから別のNICへ接続を転送することに関連したオーバーヘッドの方がより大きくなってしまうことがある。このような場合、全ネットワーク性能は、ネットワーク接続を再分散しようとすることにより減少させられてしまう。更にまた、転送される接続により、効率的に動作しているNICがオーバーロードとなってしまうことがあり、それにより、NICの性能及び信頼性が減少させられてしまうことがある。
[0003]前述したように、当業分野において必要とされているものは、全システム性能を悪くしてしまうようなNICが過負荷となる又はその他の現象が発生する可能性を減少させるようにして、ネットワーク接続をフェイルバックするときに、コンピューティング装置における1つ以上の機能できるNICへとネットワーク接続を転送するための技法である。
発明の概要
[0004]本発明の一実施形態によれば、コンピューティング装置内のネットワークインターフェースカード(NIC)へネットワーク接続をフェイルバックするための方法が提供される。この方法は、前記コンピューティング装置内のフェイルした又は信頼できないNICを監視するステップと、前記フェイルした又は信頼できないNICが回復したことを決定するステップと、前記コンピュータ装置内の機能できるNICが過負荷であることを決定するステップと、前記過負荷なNICを通して通信している第1の接続セットを選択するステップと、前記第1の接続セットを前記回復したNICへ転送するステップと、を含む。
[0005]前述した方法の1つの効果は、過負荷となったNICに係る接続セットをリハッシュすることにより、ネットワーク接続セットを回復したNICへフェイルバックするかについての判断を、過負荷なNIC及び回復したNICに係るトラフィックロードに基づいて、知能的に行うことができることである。コンピューティング装置内の機能できるNICに亘ってネットワークトラフィックをバランスさせるこのような方法により、従来技術に比べて全性能を実質的に改善することができる。
[0006]本発明の前述したような特徴を詳細に理解できるように、概要について簡単に前述したような本発明につき、幾つかを添付図面に例示している実施形態を参照して、以下により詳細に説明する。しかしながら、添付図面は、本発明の典型的な実施形態のみを例示するものであり、従って、本発明の範囲をそれに限定するものではなく、本発明には、他の均等の効果を発揮する実施形態が含まれることに注意されたい。
詳細な説明
[0009]過負荷なNICから1つ以上の十分に機能できるNICへのネットワーク接続のインテリジェントフェイルバックは、各NICを通しての接続の数と送信及び受信トラフィックの量とを含むネットワーク統計量を追跡するハッシュエンジン、及び各ネットワーク接続がそれを通して初期に通信するNICを追跡するTCP/IPスタックを使用することにより達成される。フェイルした又は信頼できないNICが再び十分に機能的に動作できるように回復するとき、もし、システム内の別のNICが過負荷となる場合には、過負荷となったNICに係る幾つかのネットワーク接続は、以前に過負荷となっていたNICがもはや過負荷ではないようになるまで、回復したNICへと自動的にフェイルバックされる。このような転送により、1つ以上の付加的なネットワーク接続が、代替的なNICにより、そのNICの容量を超えることなく、取り扱われるようになり、従って、コンピューティング装置の全性能を減少させてしまうような接続再分散パラダイムを回避することができる。過負荷なNICから接続を転送することは、過負荷なNIC内のハードウエアオフロードエンジンからそれら接続をアンオフロードし、その後、それら接続が転送される回復したNIC内のハードウエアオフロードエンジンへとそれら接続をオフロードすることも含むことができる。
[0010]図1Aから図1Cは、本発明の1つ以上の態様を実施することのできるコンピューティング装置100を例示している。図示されるように、コンピューティング装置100は、主メモリ102、メモリコントローラ104、マイクロプロセッサ106、入出力コントローラ(I/O controller)108及びNIC110、111及び116を含む。NIC110は、マルチキャストリスト114及びハードウエアオフロードエンジン(「HOE」)112を含む。NIC111は、マルチキャストリスト115及びHOE113を含む。NIC116は、マルチキャストリスト120及びHOE118を含む。HOE112、113及び118は、NIC110、111及び116へ選択的にオフロードされる1つ以上のリモートネットワークコンピューティング装置(図示していない)とコンピューティング装置100との間のネットワーク接続に関連したネットワークフレームを処理するように構成されたロジックを含む。従来行われていたようにホストソフトウエアTCP/IPスタックにてネットワークフレームを処理する機能(ある場合には、「ソフトウエアによる接続の取扱い」と称される)を実施するのではなく、HOE112、113及び118でネットワークフレームを処理すること(ある場合には、「ハードウエアによる接続の取扱い」と称される)により、NIC110、111及び116とマイクロプロセッサ106との間の通信及びマイクロプロセッサ106によって行われる計算量を実質的に減ずることができる。
[0011]メモリコントローラ104は、主メモリ102及びマイクロプロセッサ106に結合されており、入出力コントローラ108は、マイクロプロセッサ106及びNIC110、111及び116に結合されている。本発明の一実施形態では、マイクロプロセッサ106は、入出力コントローラ108へ命令又はデータを書き込むことにより、命令又はデータをNIC110、111及び116へ送信する。このような命令又はデータが入出力コントローラ108へ書き込まれるとき、入出力コントローラ108は、随意に、ターゲットNICが理解できるようなフォーマットへとそれら命令又はデータを変換し、命令又はデータをターゲットNICへと通信する。同様に、NIC110、111及び116は、命令又はデータを入出力コントローラ108へ書き込むことにより、命令又はデータをマイクロプロセッサ106へ送信し、入出力コントローラ108は、随意に、マイクロプロセッサ106が理解できるようなフォーマットへと命令又はデータを変換し、その命令又はデータをマイクロプロセッサ106へと通信する。前述したような結合は、PCI(商標)バスの如きメモリバス若しくは入出力バス又はそれらの組合せとして実施することができ、或いは、別の仕方として、任意の他の技術的に可能な方法で実施することができる。
[0012]図1Bにより詳細に示されるように、主メモリ102は、オペレーティングシステム122及びソフトウエアドライバ124を含む。ソフトウエアドライバ124は、ロードバランシング及びフェイルオーバー(「LBFO」)モジュール126及びTCP/IPスタック130を含む。LBFOモジュール126は、各NICについてのネットワーク統計量(例えば、各NICに係る接続の数、各NICによって送受信されるパケットの数)を追跡し、ネットワーク接続がそのコンピューティング装置100内の1つのNICから別のNICへと移される時に、TCP/IPスタック130と通信する。LBFOモジュール126は、ハッシュエンジン128を含み、ハッシュエンジン128は、前述したようなネットワーク統計量に基づいて、ネットワーク接続がコンピューティング装置100における別の機能できるNICに亘ってどのように分散されるべきかを知能的に決定するものである。ハッシュエンジン128の機能については、2007年5月18日に出願され、USSN11/750,919及び代理人管理番号NVDA/P001883を有し、「Intelligent Load Balancing and Failover of Network Traffic」と題する関連米国特許出願明細書に記載されているところである。従って、この関連特許出願明細書の記載は、ここに援用される。
[0013]図1Cにより詳細に示されるように、ハッシュエンジン128は、送信ハッシュテーブル138及び受信ハッシュテーブル140を含む。送信ハッシュテーブル138の目的は、LBFOモジュール126により送信ハッシュテーブル138へ与えられるデータに基づいて、ネットワーク接続に関連したパケットを送信するためのコンピューティング装置100内の機能できるNICを選択することである。送信ハッシュテーブル138は、複数のハッシュテーブルエントリー(例えば、ハッシュテーブルエントリー134)及びソフトウエアハッシュ関数(図示していない)を含む。更にまた、各ハッシュテーブルエントリーは、テーブルインデックス(例えば、テーブルインデックス132)及びテーブル値(例えば、テーブル値136)を含む。LBFOモジュール126は、TCP/IP接続データを送信ハッシュテーブル138におけるソフトウエアハッシュ関数へ通信するハッシュエンジン128へTCP/IP接続データを通信することにより、ハッシュエンジン128にコンピューティング装置100内の送信NICを選択するように指示する。それに応答して、ソフトウエアハッシュ関数は、そのTCP/IP接続データに基づいて、送信ハッシュテーブル138内のテーブルインデックスを選択する。このような選択されたテーブルインデックスから、送信ハッシュテーブル138は、対応するテーブル値を識別し、ハッシュエンジン128は、その識別されたテーブル値をLBFOモジュール126へと通信し返す。ソフトウエアハッシュ関数の設計及び動作については、当業者にはよく知られているので、これらのことについては、ここでは論じないこととする。一実施形態では、LBFOモジュール126は、次の4つのTCP/IPデータ、即ち、クライアントインターネットプロトコル(「IP」)アドレス、サーバーIPアドレス、サーバーTCPポート、クライアントTCPポート及び仮想ローカルエリアネットワーク(「VLAN」)接続IDをハッシュエンジン128へ通信する。他の実施形態では、LBFOモジュール126は、任意の技術的に可能なTCP/IPパラメータをハッシュエンジン128へ通信することができる。
[0014]受信ハッシュテーブル140の目的は、LBFOモジュール126により受信ハッシュテーブル140へ与えられるデータに基づいて、ネットワーク接続に関連したパケットを受信するためのコンピューティング装置100内の機能できるNICを選択することである。送信ハッシュテーブル138と同様に、受信ハッシュテーブル140は、複数のハッシュテーブルエントリー及びソフトウエアハッシュ関数(図示していない)を含み、各ハッシュテーブルエントリーは、テーブルインデックス及びテーブル値を含む。ここでもまた、LBFOモジュール126は、受信ハッシュテーブル140におけるソフトウエアハッシュ関数へTCP/IP接続データを通信するハッシュエンジン128へTCP/IP接続データを通信することにより、ハッシュエンジン128にコンピューティング装置100内の受信NICを選択するように指示する。これに応答して、ソフトウエアハッシュ関数は、そのTCP/IP接続データに基づいて、受信ハッシュテーブル140内のテーブルインデックスを選択する。このように選択されたテーブルインデックスから、受信ハッシュテーブル140は、対応するテーブル値を識別し、そして、ハッシュエンジン128は、識別されたテーブル値をLBFOモジュール126へと通信し返す。一実施形態では、LBFOモジュール126がハッシュエンジン128へ通信するTCP/IPデータは、サーバーIPアドレスを含む。他の実施形態では、LBFOモジュール126は、任意の技術的に可能なTCP/IPデータをハッシュエンジン128へ通信することができる。
[0015]コンピューティング装置100は、デスクトップコンピュータ、サーバー、ラップトップコンピュータ、手のひらサイズのコンピュータ、携帯情報端末、タブレットコンピュータ、ゲームコンソール、セルラー電話又は情報を処理する任意の他のタイプの同様の装置であってよい。
[0016]図2Aから図2Dは、本発明の一実施形態による、ネットワーク接続を過負荷なNICから回復したNICへとフェイルバックするための方法ステップ200のフローチャートを例示している。この方法はコンピューティング装置100に関して説明されるのであるが、当業者には、これら方法ステップを任意の順序にて行うように構成された任意のシステムも本発明の範囲内に入るものであることは理解されよう。
[0017]図示されるように、ネットワーク接続をフェイルバックするための方法は、ステップ202にて開始され、このステップ202において、LBFOモジュール126は、あるフェイルした又は信頼できないNICが回復したこと(すなわち、フェイルした又は信頼できないNICがもはや十分に機能すること)を指示するため、各NICの状態を監視する。一実施形態では、NICは、2つの状態が存在するときに回復したとみなされる。その第1の状態は、以前に切断されたネットワークケーブルが現在再接続されたことを示唆するようなフェイルした又は信頼できないNICについてのリンク接続があることを、フェイルした又は信頼できないNICについてのリンク指示に基づいて、LBFOモジュール126が決定するときである。第2の状態は、コンピューティング装置100におけるNICの間に送信されるキープアライブパケットが、フェイルした又は信頼できないNICによって信頼性をもって受信されていることを、LBFOモジュール126が決定するときである。2005年12月15日に出願され、USSN11/303,285及び代理人管理番号NVDA/P001879を有し、「Technique for Identifying a Failed Network Interface Card Within aTeam of Network Interface Cards」と題する関連米国特許出願明細書に記載されているように、コンピューティング装置内のフェイルした又は機能できるNICは、各NICがどのようにしてキープアライブパケットを送信及び/又は受信しているかに基づいて識別される。従って、この関連特許出願明細書の記載は、ここに援用される。これら2つの状態を監視することにより、LBFOモジュール126は、フェイルした又は信頼できないNICが回復したかどうかを、決定することができる。
[0018]ステップ204において、LBFOモジュール126は、ステップ202にて監視されているフェイルした又は信頼できないNICが回復したかどうかを決定する。もし、フェイルした又は信頼できないNICが回復していない場合には、この方法は、ステップ202に戻り、そこで、LBFOモジュール126は、フェイルした又は信頼できないNICを監視し続ける。しかしながら、もし、ステップ204にて、フェイルした又は信頼できないNICが回復したとLBFOモジュール126が決定する場合には、この方法は、ステップ206へと進む。説明のためだけであるが、NIC110が以前にフェイルし又は信頼できないものとなっており、そして、今現在回復していること、NIC110がフェイルしたときにNIC110を通して初期に通信していた1つ以上の接続セットがNIC116へ転送されていること、及び、NIC116が現在過負荷となっていることが仮定されている。ここで使用する用語「接続セット」は、共通のNICを通して初期に通信している複数の接続を意味している。重要なことは、個々の接続でなく、接続セットをフェイルバックNICへ転送することにより、所定のMACアドレスについての接続が1つより多いNICへと割り当てられてしまうのを防止することができるということである。
[0019]ステップ206において、LBFOモジュール126は、NIC110が回復したことを知らせる信号をTCP/IPスタック130に送る。ステップ208において、LBFOモジュール126は、NIC110が回復したことを知らせる信号をハッシュエンジン128に送る。ステップ209において、ハッシュエンジン128は、ネットワーク接続がコンピューティング装置100内の機能できるNICに亘ってどのように分散されるべきかについての判断をなすとき、送信ハッシュテーブル138及び受信ハッシュテーブル140をコンフィギュレーションして、接続が再びそのNIC110へと割り当てられるようにすることができる。
[0020]ステップ210において、LBFOモジュール126は、十分に機能できるNIC110、111及び116を監視し、これらのNICのうちのいずれかが過負荷であるかどうかを決定する。一実施形態では、あるNICは、そのNICの送信容量又は受信容量に対する割合として表されるようなNICの利用度が特定のしきい値を越えたときに過負荷であるとみなされる。別の実施形態では、あるNICは、そのNICについてのエラー率が特定のしきい値を越えたときに過負荷であるとみなされる。更に別の実施形態では、あるNICが過負荷であるかどうかを決定するため、利用度とエラー率とを組み合わせたものを使用することができる。ステップ212において、LBFOモジュール126は、ステップ210にて監視されているNIC110、111及び116のうちのいずれかが過負荷であるかどうかを、各NICの利用度及び/又はNICのエラー率に基づいて決定する。もし、LBFOモジュール126が監視しているNICのどれも過負荷となっていないことを見出す場合には、この方法は、ステップ210へ戻り、LBFOモジュール126は、NIC110、111及び116を監視し続ける。
[0021]しかしながら、もし、ステップ212にて、あるNIC(例えば、NIC116)が過負荷であることが見出された場合には、この方法は、ステップ214−238へと進み、そこで、過負荷なNIC116に係るネットワークトラフィックを減ずるように、過負荷なNIC116に係る複数の「接続セット」が「リハッシュ」される。ここで、接続セットのリハッシュすることは、その接続セットについての「初期NIC」を決定すること、及び、回復したNIC110へとその接続セットを転送することを含む。ここで使用される用語「初期NIC」は、接続が元々そこを通して通信されていたNICを指している。ステップ214において、LBFOモジュール126は、リハッシュするため、過負荷なNIC116に係る接続セットを選択する。ステップ216において、必要ならば、LBFOモジュール126は、選択された接続セットをHOE118からTCP/IPスタック130へアンオフロードする。2007年5月18日に出願され、USSN11/750,903及び代理人管理番号NVDA/P001880を有し、「Intelligent Failover in a Load-Balanced Networking Environment」と題する関連米国特許出願明細書に記載されているように、接続は、それぞれ、NIC110、111及び116内のハードウエアオフロードエンジン112、113及び118へとオフロード又はアンオフロードされる。従って、この関連特許出願明細書の記載は、ここに援用される。
[0022]ステップ217において、LBFOモジュール126は、上記選択された接続セットが転送されるべき新しいNICとして回復したNIC(この場合においては、回復したNIC110)を識別する。重要なことは、LBFOモジュール126が、選択された接続セットについての新しいNICとして回復したNIC110を識別するとき、LBFOモジュール126は、オペレーティングシステム122からリモートコンピューティング装置(図示していない)へと通信されるパケットをインターセプトするように、自身をコンフィギュレーションし、そのインターセプトしたパケットの元のMACアドレスを回復したNIC110のMACアドレスに対応するようにリライトするということである。接続セットのパケットの元のMACアドレスをリライトすることにより、確実に、その接続セットについての受信トラフィックが、スイッチによって、回復したNIC110へと正しく分散されるようになる。ステップ218において、LBFOモジュール126は、コンピューティング装置100内のどのNICが上記選択された接続セットについての初期NICであったかを決定する。一実施形態では、各接続セットについての初期NICの識別子は、TCP/IPスタック130に記憶されており、LBFOモジュール126は、どんな接続セットに対しても初期NICの識別子についてTCP/IPスタック130に問い合わせることができる。ステップ219において、TCP/IPスタック130は、回復したNICに学習パケットをネットワークスイッチ(図示していない)へ送るように指示する。この学習パケットは、初期NICのMACアドレスを含む任意の技術的に可能なパケットタイプであってよい。よく知られているように、このようなパケットを回復したNIC110から送ることにより、選択された接続セットに対する初期NIC(ここでは、回復したNIC110)のMACアドレスに向けられたその後に続くパケットを過負荷なNIC116でなく現時点のNIC110へとルーティングするように、スイッチが自身をリコンフィギュレーションするようにさせられる。従って、回復したNIC110へ転送されるべき選択された接続セットに関連した全てのネットワークトラフィックは、その後、回復したNIC110によって受信される。
[0023]ステップ220において、LBFOモジュール126は、ステップ218において決定された初期NICの識別子に基づいて、選択された接続セットについての初期NICが、回復したNICであったかどうかを決定する。もし、選択された接続セットについての初期NICは、回復したNIC(この場合には、NIC110)であったと、LBFOモジュール126が決定する場合には、この方法は、ステップ222に進み、そこで、ソフトウエアドライバ124は、その選択された接続セットについての初期NICのMACアドレスを過負荷なNIC116のマルチキャストリストから取り除く。マルチキャストリストからこのMACアドレスを取り除くことにより、過負荷なNIC116が、初期NIC(ここでは、NIC110)のMACアドレスへ送信されるべきパケットを受信しないようにすることができる。ステップ232において、LBFOモジュール126は、もし、オフロードによるパフォーマンス利益がそのような動作を是認すると決定する場合には、随意に、その選択された接続セットを回復したNIC110内のHOE112へとオフロードする。
[0024]ステップ234において、LBFOモジュール126は、過負荷なNIC116に係る十分な数の接続セットがリハッシュされ、NIC116がもはや過負荷でないと決定する。もし、NIC116がもはや過負荷ではないとLBFOモジュール126が決定する場合には、この方法は、ステップ238にて終了する。しかしながら、もし、NIC116が依然として過負荷である場合には、この方法は、ステップ236へ進み、そこで、LBFOモジュール126は、ステップ216へ戻る前に、リハッシュするため過負荷なNIC116に係る別の接続セットを選択する。
[0025]ステップ220へ戻り、もし、選択された接続セットについての初期NICが回復したNIC110でなかったと、即ち、(i)選択された接続セットが以前のロードバランシング動作においてNIC110以外の機能できるNICから過負荷なNIC116へ転送されていたと、又は(ii)過負荷なNIC116が、選択された接続セットについての初期NICであったと、LBFOモジュール126が決定する場合には、この方法は、ステップ226へと進む。ステップ226において、もし、選択された接続セットが以前のロードバランシング動作においてNIC110以外の機能できるNICから過負荷なNIC116へと転送されていた場合には、ソフトウエアドライバ124は、初期NICのMACアドレスを過負荷なNIC116のマルチキャストリストから取り除く。
[0026]ステップ228において、ソフトウエアドライバ124は、選択された接続セットについての初期NICのMACアドレスを、回復したNIC110のマルチキャストリストに加え、これにより、NIC110は、初期NICのMACアドレスへ送信されるべき、選択された接続セットに関連付けられたパケットを受信できるようになる。それから、この方法は、前述したように、ステップ232へと進む。
[0027]前述した方法の1つの効果は、過負荷なNICに係る接続セットをリハッシュすることにより、過負荷なNIC及び回復したNICに係るトラフィックロードに基づいて、ネットワーク接続セットを回復したNICへフェイルバックするかどうかについての判断を知能的に行うことができるということである。コンピューティング装置内の機能できるNICに亘ってネットワークトラフィックをバランシングさせるこのような方法によれば、従来技術に比べて全性能を実質的に改善することができる。
[0028]本発明の幾つかの実施形態について前述したのであるが、本発明の基本的範囲から逸脱せずに、本発明の他の更に別の実施形態を考えることができるものである。例えば、本発明の態様は、ハードウエア又はソフトウエア、又はハードウエアとソフトウエアとの組合せにて実施することができるものである。本発明の一実施形態は、コンピュータシステムに使用するためのプログラム製品として実施することができる。そのようなプログラム製品のプログラムは、それら実施形態(ここに説明した方法を含む)の機能を定義しており、種々なコンピュータ読み取り可能な記憶媒体に含ませることができるものである。コンピュータ読み取り可能な記憶媒体の例としては、これらに限定されるものではないが、(i)情報が永久的に記憶される非書き込み可能記憶媒体(例えば、CD-ROMドライブにより読み取られるCD-ROMディスクの如きコンピュータ内のリードオンリーメモリ装置、フラッシュメモリ、ROMチップ又は任意のタイプの固体不揮発性半導体メモリ)、及び(ii)変更可能情報が記憶される書き込み可能記憶媒体(例えば、ディスケットドライブ又はハードディスクドライブ内のフロッピーディスク、又は任意のタイプの固体ランダムアクセス半導体メモリ)がある。このようなコンピュータ読み取り可能な記憶媒体は、本発明の機能を指示するコンピュータ読み取り可能な命令を担持するとき、本発明の実施形態である。従って、本発明の範囲は、特許請求の範囲の記載により決定されるものである。
本発明の1つ以上の態様を実施することができるコンピューティング装置を例示している。 本発明の1つ以上の態様を実施することができるコンピューティング装置を例示している。 本発明の1つ以上の態様を実施することができるコンピューティング装置を例示している。 本発明の一実施形態による、コンピューティング装置において1つ以上の機能できるNICへ過負荷なNICからネットワーク接続をフェイルバックするための方法ステップのフローチャートを例示している。 本発明の一実施形態による、コンピューティング装置において1つ以上の機能できるNICへ過負荷なNICからネットワーク接続をフェイルバックするための方法ステップのフローチャートを例示している。 本発明の一実施形態による、コンピューティング装置において1つ以上の機能できるNICへ過負荷なNICからネットワーク接続をフェイルバックするための方法ステップのフローチャートを例示している。 本発明の一実施形態による、コンピューティング装置において1つ以上の機能できるNICへ過負荷なNICからネットワーク接続をフェイルバックするための方法ステップのフローチャートを例示している。
符号の説明
100・・・コンピューティング装置、102・・・主メモリ、104・・・メモリコントローラ、106・・・マイクロプロセッサ、108・・・入出力コントローラ、110・・・ネットワークインターフェースカード(NIC)、111・・・ネットワークインターフェースカード(NIC)、112・・・ハードウエアオフロードエンジン(HOE)、113・・・ハードウエアオフロードエンジン(HOE)、114・・・マルチキャスト、115・・・マルチキャストリスト、116・・・ネットワークインターフェースカード(NIC)、118・・・ハードウエアオフロードエンジン(HOE)、120・・・マルチキャストリスト、122・・・オペレーティングシステム、124・・・ソフトウエアドライバ、126・・・ロードバランシング及びフェイルオーバー(LBFO)モジュール、128・・・ハッシュエンジン、130・・・TCP/IPスタック、132・・・テーブルインデックス、134・・・ハッシュテーブルエントリー、136・・・テーブル値、138・・・送信ハッシュテーブル、140・・・受信ハッシュテーブル

Claims (10)

  1. コンピューティング装置内のネットワークインターフェースカード(NIC)へネットワーク接続をフェイルバックするための方法において、
    前記コンピューティング装置内のフェイルした又は信頼できないNICを監視するステップと、
    前記フェイルした又は信頼できないNICが回復したことを決定するステップと、
    前記コンピューティング装置内の機能できるNICが過負荷であることを決定するステップと、
    前記過負荷なNICを通して通信している第1の接続セットを選択するステップと、
    前記第1の接続セットを前記回復したNICへ転送するステップと、
    を備える方法。
  2. 前記第1の接続を転送するステップは、学習パケットを前記回復したNICを通してネットワークスイッチへ送信するステップを含む、請求項1に記載の方法。
  3. 前記第1の接続セットは、前記回復したNICを通して初期に通信されていたものであり、前記第1の接続セットを転送するステップは、前記回復したNICのメディアアクセス制御(MAC)アドレスを前記過負荷なNICに関連付けられたマルチキャストから取り除くステップを更に含む、請求項2に記載の方法。
  4. 前記第1の接続セットを前記回復したNICに関連付けられたハードウエアオフロードエンジンへオフロードするステップを更に備える、請求項3に記載の方法。
  5. 前記第1の接続セットは、前記回復したNICを通して初期に通信されていなかったものであり、前記第1の接続セットを転送するステップは、前記第1の接続セットが初期に通信されたときに通るNICのMACアドレスを、前記過負荷なNICに関連付けられたマルチキャストリストから取り除くステップを更に含む、請求項2に記載の方法。
  6. プロセッサによって実行されるとき、前記プロセッサが、
    前記コンピューティング装置内のフェイルした又は信頼できないNICを監視するステップと、
    前記フェイルした又は信頼できないNICが回復したことを決定するステップと、
    前記コンピューティング装置内の機能できるNICが過負荷であることを決定するステップと、
    前記過負荷なNICを通して通信している第1の接続セットを選択するステップと、
    前記第1の接続セットを前記回復したNICへ転送するステップと、
    を行うことにより、コンピューティング装置内のネットワークインターフェースカード(NIC)へネットワーク接続をフェイルバックするようにさせる命令を記憶しているコンピュータ読み取り可能な媒体。
  7. 前記第1の接続を転送するステップは、学習パケットを前記回復したNICを通してネットワークスイッチへ送信するステップを含む、請求項6に記載のコンピュータ読み取り可能な媒体。
  8. 前記第1の接続セットは、前記回復したNICを通して初期に通信されていたものであり、前記第1の接続セットを転送するステップは、前記回復したNICのメディアアクセス制御(MAC)アドレスを前記過負荷なNICに関連付けられたマルチキャストから取り除くステップを更に含む、請求項7に記載のコンピュータ読み取り可能な媒体。
  9. 前記第1の接続セットは、前記回復したNICを通して初期に通信されていなかったものであり、前記第1の接続セットを転送するステップは、前記第1の接続セットが初期に通信されたときに通るNICのMACアドレスを、前記過負荷なNICに関連付けられたマルチキャストリストから取り除くステップを更に含む、請求項7に記載のコンピュータ読み取り可能な媒体。
  10. ネットワークインターフェースカード(NIC)へネットワーク接続をフェイルバックするように構成されたコンピューティングシステムにおいて、
    処理装置と、
    1つ以上のネットワーク接続が通信されるときに通る複数のNICと、
    前記処理装置に結合され、ソフトウエアドライバを記憶しているメモリと、
    を備え、前記ソフトウエアドライバは、
    前記コンピューティング装置内のフェイルした又は信頼できないNICを監視し、
    前記フェイルした又は信頼できないNICが回復したことを決定し、
    前記コンピュータ装置内の機能できるNICが過負荷であることを決定し、
    前記過負荷なNICを通して通信している第1の接続セットを選択し、
    前記第1の接続セットを前記回復したNICへ転送する、
    ように構成される、コンピューティングシステム。
JP2008130978A 2007-05-18 2008-05-19 ロードバランス型ネットワーク環境におけるインテリジェントフェイルバック Expired - Fee Related JP4925218B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/750,914 US8432788B2 (en) 2007-05-18 2007-05-18 Intelligent failback in a load-balanced networking environment
US11/750,914 2007-05-18

Publications (2)

Publication Number Publication Date
JP2008293492A true JP2008293492A (ja) 2008-12-04
JP4925218B2 JP4925218B2 (ja) 2012-04-25

Family

ID=40027351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008130978A Expired - Fee Related JP4925218B2 (ja) 2007-05-18 2008-05-19 ロードバランス型ネットワーク環境におけるインテリジェントフェイルバック

Country Status (5)

Country Link
US (1) US8432788B2 (ja)
JP (1) JP4925218B2 (ja)
KR (1) KR101078523B1 (ja)
CN (1) CN101383732B (ja)
TW (1) TWI363525B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5423886B2 (ja) * 2010-05-27 2014-02-19 富士通株式会社 パケット通信装置及びパケット転送方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8675478B2 (en) * 2008-04-30 2014-03-18 Cisco Technology, Inc. Network based switchover to original content after ad-insertion device failure
US7751401B2 (en) * 2008-06-30 2010-07-06 Oracle America, Inc. Method and apparatus to provide virtual toe interface with fail-over
US8108503B2 (en) * 2009-01-14 2012-01-31 International Business Machines Corporation Dynamic load balancing between chassis in a blade center
US8254249B2 (en) * 2009-08-06 2012-08-28 Telefonaktiebolaget L M Ericsson (Publ) Session resilience prioritization queuing mechanism to minimize and eliminate packet loss
CN102170398B (zh) * 2011-05-09 2016-09-28 中兴通讯股份有限公司 外接时间端口的倒换方法及装置
US8953607B2 (en) * 2012-04-03 2015-02-10 International Business Machines Corporation Internet group membership protocol group membership synchronization in virtual link aggregation
US9116860B2 (en) 2012-12-14 2015-08-25 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Cascading failover of blade servers in a data center
US9122652B2 (en) 2012-12-17 2015-09-01 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Cascading failover of blade servers in a data center
US9170976B2 (en) 2013-01-03 2015-10-27 International Business Machines Corporation Network efficiency and power savings
US11343152B2 (en) * 2020-04-07 2022-05-24 Cisco Technology, Inc. Traffic management for smart network interface cards
US11645104B2 (en) * 2020-12-22 2023-05-09 Reliance Jio Infocomm Usa, Inc. Intelligent data plane acceleration by offloading to distributed smart network interfaces

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208616B1 (en) * 1997-05-13 2001-03-27 3Com Corporation System for detecting errors in a network
US6253334B1 (en) * 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
JP2006518887A (ja) * 2002-12-10 2006-08-17 インターナショナル・ビジネス・マシーンズ・コーポレーション トラフィック・パターン認識に基づくWebサイト・トラフィックのコロケーションおよびオフロードのための装置および方法

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557798A (en) * 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
EP0660569A1 (en) 1993-12-22 1995-06-28 International Business Machines Corporation Method and system for improving the processing time of the path selection in a high speed packet switching network
JPH0816422A (ja) 1994-07-04 1996-01-19 Fujitsu Ltd バス通信方法及びバス通信システム
US5724510A (en) 1996-09-06 1998-03-03 Fluke Corporation Method of configuring a valid IP address and detecting duplicate IP addresses in a local area network
US5864535A (en) 1996-09-18 1999-01-26 International Business Machines Corporation Network server having dynamic load balancing of messages in both inbound and outbound directions
US5914938A (en) 1996-11-19 1999-06-22 Bay Networks, Inc. MAC address table search unit
US6052733A (en) * 1997-05-13 2000-04-18 3Com Corporation Method of detecting errors in a network
JP3372455B2 (ja) 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
US6151297A (en) 1997-07-08 2000-11-21 Hewlett-Packard Company Method and system for link level server/switch trunking
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
JP2000029806A (ja) 1998-07-09 2000-01-28 Hitachi Ltd 計算機システムのlanアダプタ負荷分散方式
US6570875B1 (en) 1998-10-13 2003-05-27 Intel Corporation Automatic filtering and creation of virtual LANs among a plurality of switch ports
JP4015770B2 (ja) 1998-12-22 2007-11-28 株式会社東芝 クラスタシステム、サーバ計算機及び負荷分散方法
US6560630B1 (en) 1999-03-18 2003-05-06 3Com Corporation Receive load balancing and fail over with multiple network interface cards
US6567377B1 (en) 1999-03-18 2003-05-20 3Com Corporation High performance load balancing of outbound internet protocol traffic over multiple network interface cards
US6590861B1 (en) 1999-03-18 2003-07-08 3Com Corporation Combining virtual local area networks and load balancing with fault tolerance in a high performance protocol
US6512774B1 (en) * 1999-03-18 2003-01-28 3Com Corporation Fail over with multiple network interface cards
US7299294B1 (en) 1999-11-10 2007-11-20 Emc Corporation Distributed traffic controller for network data
US20030229809A1 (en) 1999-04-15 2003-12-11 Asaf Wexler Transparent proxy server
US6683882B1 (en) 1999-11-09 2004-01-27 3Com Corporation Method and system for directing transmission of IPX control packets to influence reception of IPX data packets
US6779039B1 (en) 2000-03-31 2004-08-17 Avaya Technology Corp. System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers
AU2001257364A1 (en) 2000-04-27 2001-11-07 Fortress Technologies, Inc. Network interface device having primary and backup interfaces for automatic dialbackup upon loss of a primary connection and method of using same
JP2002044178A (ja) 2000-07-17 2002-02-08 Hitachi Ltd I/oチャネルの通信制御方式
US7116664B2 (en) 2002-05-13 2006-10-03 International Business Machines Corporation Lookups by collisionless direct tables and CAMs
US8145790B2 (en) 2002-07-11 2012-03-27 Hewlett-Packard Development Company, L.P. Method and device for using dynamic updates in a network
US7415028B1 (en) 2003-02-11 2008-08-19 Network Equipment Technologies, Inc. Method and system for optimizing routing table changes due to ARP cache invalidation in routers with split plane architecture
US7159034B1 (en) 2003-03-03 2007-01-02 Novell, Inc. System broadcasting ARP request from a server using a different IP address to balance incoming traffic load from clients via different network interface cards
KR101006703B1 (ko) 2003-03-28 2011-01-10 톰슨 라이센싱 미디어 기반 파일 송신 시스템 및 방법
US7324512B2 (en) 2003-06-12 2008-01-29 International Business Machines Corporation MAC layer bridging of network frames between isolated and external networks
ATE528897T1 (de) * 2003-09-10 2011-10-15 Microsoft Corp Mehrfachabladung von netzstatusobjekten mit unterstützung von failoverereignissen
US7934020B1 (en) * 2003-09-19 2011-04-26 Vmware, Inc. Managing network data transfers in a virtual computer system
EP1671235A4 (en) * 2003-09-23 2007-10-24 Amazon Com Inc CUSTOMIZED RESEARCH BANK WITH HIGH-PERFORMANCE CAPABILITIES FOR ACCESSING ELECTRONIC TEXT IMAGES ON THE BASIS OF MEMBERSHIP OF THE CORRESPONDING PHYSICAL TEXT
US20080022148A1 (en) 2003-12-11 2008-01-24 Amir Barnea Method and an Apparatus for Controlling Executables Running on Blade Servers
US7990849B2 (en) * 2004-06-17 2011-08-02 Hewlett-Packard Development Company, L.P. Automated recovery from a split segment condition in a layer2 network for teamed network resources of a computer system
US7877519B2 (en) 2004-10-18 2011-01-25 Intel Corporation Selecting one of a plurality of adapters to use to transmit a packet
US7505401B2 (en) * 2005-01-31 2009-03-17 International Business Machines Corporation Method, apparatus and program storage device for providing mutual failover and load-balancing between interfaces in a network
JP2006253900A (ja) 2005-03-09 2006-09-21 Hitachi Ltd Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム
US7962915B2 (en) * 2005-03-18 2011-06-14 International Business Machines Corporation System and method for preserving state for a cluster of data servers in the presence of load-balancing, failover, and fail-back events
US7460470B2 (en) 2005-03-18 2008-12-02 Hewlett-Packard Development Company, L.P. Systems and methods of priority failover determination
US7876689B2 (en) 2005-06-29 2011-01-25 Hewlett-Packard Development Company, L.P. Method and apparatus for load balancing network interface adapters based on network information
US20070201490A1 (en) 2005-07-13 2007-08-30 Mahamuni Atul B System and method for implementing ethernet MAC address translation
US7872965B2 (en) 2005-08-01 2011-01-18 Hewlett-Packard Development Company, L.P. Network resource teaming providing resource redundancy and transmit/receive load-balancing through a plurality of redundant port trunks
US7619993B2 (en) 2005-11-01 2009-11-17 International Business Machines Corporation Efficient probabilistic duplicate packet detector in computer networks
US8031617B2 (en) * 2006-07-28 2011-10-04 Hewlett-Packard Development Company, L.P. Fast detection of path failure for TCP
US7710862B2 (en) 2006-08-30 2010-05-04 Hewlett-Packard Development Company, L.P. Method and system of assigning media access control (MAC) addresses across teamed communication ports
US7995465B2 (en) 2007-05-18 2011-08-09 Nvidia Corporation Intelligent load balancing and failover of network traffic

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208616B1 (en) * 1997-05-13 2001-03-27 3Com Corporation System for detecting errors in a network
US6253334B1 (en) * 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
JP2006518887A (ja) * 2002-12-10 2006-08-17 インターナショナル・ビジネス・マシーンズ・コーポレーション トラフィック・パターン認識に基づくWebサイト・トラフィックのコロケーションおよびオフロードのための装置および方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5423886B2 (ja) * 2010-05-27 2014-02-19 富士通株式会社 パケット通信装置及びパケット転送方法
US9088500B2 (en) 2010-05-27 2015-07-21 Fujitsu Limited Packet communication apparatus and packet transfer method

Also Published As

Publication number Publication date
TW200913567A (en) 2009-03-16
US20080285435A1 (en) 2008-11-20
KR20080101813A (ko) 2008-11-21
US8432788B2 (en) 2013-04-30
CN101383732A (zh) 2009-03-11
KR101078523B1 (ko) 2011-10-31
TWI363525B (en) 2012-05-01
JP4925218B2 (ja) 2012-04-25
CN101383732B (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
JP4925218B2 (ja) ロードバランス型ネットワーク環境におけるインテリジェントフェイルバック
US10534601B1 (en) In-service software upgrade of virtual router with reduced packet loss
JP4722157B2 (ja) ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
US9608841B2 (en) Method for real-time synchronization of ARP record in RSMLT cluster
JP4974964B2 (ja) ロードバランス型ネットワーク環境におけるインテリジェントフェイルオーバー
US8913613B2 (en) Method and system for classification and management of inter-blade network traffic in a blade server
JP4651692B2 (ja) ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
JP4840943B2 (ja) ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
KR100927498B1 (ko) 부하 밸런싱된 네트워크 환경에서의 지능형 페일오버
US9036469B2 (en) Data communication in openflow networks
US11381501B2 (en) Coordinating pseudowire connection characteristics and multi-homed provider edge device capabtilities
US10581669B2 (en) Restoring control-plane connectivity with a network management entity
EP3534571A1 (en) Service packet transmission method, and node apparatus
WO2017041577A1 (zh) 一种管理链路聚合成员端口丢包的方法和装置
WO2019179161A1 (zh) 一种数据流量处理方法、设备及系统
CN113965521A (zh) 数据包的传输方法、服务器及存储介质
US8027338B2 (en) Discontinuing the implementation of an aggregation protocol
US10917378B1 (en) Facilitating communication between network devices of a virtual router redundancy protocol (VRRP) group
US11252074B2 (en) Detection of multihoming misconfiguration
WO2021024377A1 (ja) L2スイッチ、通信制御方法、および、通信制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101203

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110831

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110905

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110930

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111031

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: 20120110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120202

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

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees