JP2006514454A - ネットワークにおけるバッファ・データのプリエンプティブな再送 - Google Patents

ネットワークにおけるバッファ・データのプリエンプティブな再送 Download PDF

Info

Publication number
JP2006514454A
JP2006514454A JP2004567360A JP2004567360A JP2006514454A JP 2006514454 A JP2006514454 A JP 2006514454A JP 2004567360 A JP2004567360 A JP 2004567360A JP 2004567360 A JP2004567360 A JP 2004567360A JP 2006514454 A JP2006514454 A JP 2006514454A
Authority
JP
Japan
Prior art keywords
data
interval
buffer
access mechanism
access
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
JP2004567360A
Other languages
English (en)
Other versions
JP4001889B2 (ja
JP2006514454A5 (ja
Inventor
フエンテ、カルロス、フランシスコ
ジョーンズ、ロバート、マイケル
パッシンガム、ウィリアム、ジョン
スケールズ、ウィリアム、ジェイムズ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006514454A publication Critical patent/JP2006514454A/ja
Publication of JP2006514454A5 publication Critical patent/JP2006514454A5/ja
Application granted granted Critical
Publication of JP4001889B2 publication Critical patent/JP4001889B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/247Multipath using M:N active or standby paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 ネットワークにおけるバッファ・データのプリエンプティブな再送を提供すること。
【解決手段】 バッファと、データの再送用の最適な間隔(ラウンド・トリップ・エラー応答遅延よりも短い)を計るためのタイマ機構とを有する、ネットワークを介してデータを伝送するための装置。第1のアクセス機構は伝送のためにバッファ内のデータにアクセスし、第1のタイムアウト・クロックを開始する。バッファの第2または他のアクセス機構は、タイムアウトに応答して、データにアクセスし、タイムアウト・クロックを開始し、以前のアクセス機構によって使用されたパス要素を避けたパス上でデータを伝送するように試みる。カウンタは、アクセス機構によるバッファへの参照のカウントを増分および減分し、カウントがゼロに達すると信号を発信する。メモリ・マネージャは、カウントがゼロに達した旨の信号を発信する参照カウンタに応答して、フリー・バッファ・プールにバッファを戻す。分析メカニズムを使用して最適な間隔を決定し、タイマ機構を調整することができる。

Description

本発明は、分散ネットワーク型の耐障害(fault tolerant)システムの分野に関し、とりわけ、データ伝送の速度および信頼性が重要なシステムに関する。
分散システムは、ストレージ・コントローラ・タイプの機能を含む様々な機能に関するプラットフォームを提供する手段として、ますます普及しつつある。その人気は、こうしたシステムが提供する柔軟性および拡張容易性に由来している。耐障害性は、冗長ネットワーク・インフラストラクチャまたは冗長ストレージ接続機構の提供などの、いくつかの相互にサポートし合う方法でインプリメントされる。分散アプリケーションは、それらの機能を実行するためのネットワークの接続性および通信機能に依存する。これらの耐障害機能がシステムの可用性を向上させる。多くのアプリケーションにとっては、可用性の向上もますます重要になってきている。
多くのシステムでは、以下のように動作するそれらのネットワーク・インターフェース用の再試行アルゴリズムをインプリメントする。
1.パケットがドロップするなどのエラーが発生する。
2.タイムアウト間隔が満了する。
3.ネットワーク・ハードウェアまたはプロトコル・スタックがエラーを検出する。
4.要求発行者にエラーが報告される。
5.発行者が、代替ハードウェアを使用して2度目の要求を試行する。
こうした方式は簡単であり、オリジナル要求の失敗まで待機することが受け入れ可能な場合は適切である。しかしながら、いくつかの重要な環境では、最小限の可用性(サービスへのアクセスを試行している間に実際の障害がない)では不十分である。これらの環境では、一定時間内に応答を受け取ることが重要である。その時間内での応答に失敗すると、サービスにアクセスしている間の本格的な障害に匹敵するペナルティとなり、たとえば他のアプリケーションがタイムアウトしてエラー状態を戻すか、またはインターネット・ユーザがイライラしてクリック1つで競合相手のウェブ・サイトに行ってしまう可能性がある。
したがって、所望の時間制限内で再試行が実行できる方法を提供することが有利となるが、既存のシステムでは本来これが実行できない。対処すべきいくつかの問題がある。第1に、システムはよりタイムリーな様式でエラーを検出しようとする可能性がある。インターフェース・アダプタまたはハードウェア内のタイムアウト間隔を短くすることは可能であるかもしれないが、これらの間隔をどこまで短くできるかについては、しばしばアーキテクチャ上の制限がある。たとえばファイバ・チャネルでは、正常に完了しなかった交換はスイッチによって定義されたエラー・タイムアウト間隔が満了するまで再使用できず、これはしばしば10秒間である。さらに、多くのネットワーク・インプリメンテーションは、ネットワークのエラー・タイムアウト間隔があまりに短すぎると、確実に動作しない。
失敗したインターフェース・ソフトウェアまたはハードウェアに関連付けられていない何らかの他のタイムアウト機構を使用して、要求の再駆動を試行することが可能な場合があるが、オリジナルの要求が依然としてアクティブであるため、これでは問題の解決にならない。冗長ハードウェアによって提供された代替パスを使用してオリジナル要求の再駆動を試行しようとすると、オリジナル要求に関連付けられた依然として使用中のリソースがあるため、オリジナル要求が完了するまでブロックされることになる。
具体的な例として、ファイバ・チャネル・アダプタを使用して伝送インターフェースをインプリメントし、マルチスレッド・ユーザ・プロセスがバッファを再送しようとする場合、依然としてメモリはオリジナルの伝送によって使用中であるため、第2の伝送試行はブロックされることになる。
他の可能な解決策は、専用バッファ内に伝送データのコピーを維持することによって、このメモリ・ブロック問題を避けようとすることであるかもしれない。その後、第1の伝送が長くかかり過ぎているとみなされた場合、このコピーを使用して第2の伝送を作成することができる。専用コピーには仮想メモリ・マネージャによってブロックされることなくアクセスすることができるが、この方式では、第1の伝送試行が実行される前に各伝送用のデータがコピーされなければならないため、問題に遭遇することのない大多数を含むあらゆる伝送のコストが増加することになる。
こうした追加の処理コストは、ほとんどの現在のネットワークでは受け入れられないことがわかるであろう。
したがって本発明は、第1の態様において、受信機に伝送されるデータ項目を格納するためのバッファと、前記受信機宛てに前記データ項目を再送するための所定の最適な間隔を計るためのタイマ機構であって、前記間隔はネットワークからのいずれのエラー信号の受信に必要な間隔よりも短く、さらに前記タイマ機構は前記所定の最適な間隔の終わりに信号を発信するものである、タイマ機構と、第1の伝送用にデータにアクセスするため、および前記タイマ機構内の前記間隔に設定された第1のタイムアウト・クロックを開始するための、バッファの第1のアクセス機構と、再送用に前記データにアクセスするため、および前記タイマ機構内の前記間隔に設定された少なくとも第2のタイムアウト・クロックを開始するための、前記タイマ機構による前記信号発信に応答する前記バッファの第2のアクセス機構であって、前記第2のアクセス機構は前記第1のアクセス機構によって使用されるパス要素を使用せずに前記データの伝送用のパスを選択するよう試行するものである、第2のアクセス機構と、を有する、複数のパスを有するネットワークを介してデータを伝送するための装置を提供する。
好ましくは、この装置は、前記第1のアクセス機構および前記第2のアクセス機構による前記バッファへの参照のカウントを維持するための参照カウンタであって、前記参照カウンタは、前記第1のアクセス機構および前記第2のアクセス機構によるそれぞれの参照時に増分され、各データ伝送の完了時に減分されるものであり、前記参照カウンタは前記カウントがゼロに達すると信号を発信するものである、参照カウンタと、前記第1のアクセス機構および前記第2のアクセス機構による前記バッファへのアクセスを読み取ることが可能なように適合され、前記カウントがゼロに達した際の前記参照カウンタの信号発信に応答して前記バッファをフリー・バッファ・プールに戻すように適合された、メモリ・マネージャと、をさらに有する。
好ましくは、この装置は、前記データの再送用に前記最適な間隔を決定するための分析機構と、前記データの再送用の前記最適な間隔に前記タイマ機構を調整するための調整機構と、をさらに有する。
好ましくは、前記分析機構は、前記データの再送用に前記最適な間隔を決定するためにネットワーク監視データを使用するように動作可能である。
好ましくは、前記ネットワークはストレージ・ネットワークを有する。
好ましくは、前記ネットワークはインターネットを有する。
第2の態様では、本発明は、受信機に伝送されるデータ項目を格納するためのバッファと、前記受信機宛てに前記データ項目を再送するための所定の最適な間隔を計るためのタイマ機構であって、前記間隔はネットワークからのいずれのエラー信号の受信に必要な間隔よりも短く、さらに前記タイマ機構は前記所定の最適な間隔の終わりに信号を発信するものである、タイマ機構と、第1の伝送用にデータにアクセスするため、および前記タイマ機構内の前記間隔に設定された第1のタイムアウト・クロックを開始するための、バッファの第1のアクセス機構と、再送用に前記データにアクセスするため、および前記タイマ機構内の前記間隔に設定された少なくとも第2のタイムアウト・クロックを開始するための、前記タイマ機構による前記信号発信に応答する前記バッファの第2のアクセス機構であって、前記第2のアクセス機構は前記第1のアクセス機構によって使用されるパス要素を使用せずに前記データの伝送用のパスを選択するよう試行するものである、第2のアクセス機構と、を有する、複数のパスを有するネットワークを介してデータを伝送するための装置を含む、ストレージ・コントローラを提供する。
第3の態様では、本発明は、受信機に伝送されるデータ項目を格納するためのバッファと、前記受信機宛てに前記データ項目を再送するための所定の最適な間隔を計るためのタイマ機構であって、前記間隔はネットワークからのいずれのエラー信号の受信に必要な間隔よりも短く、さらに前記タイマ機構は前記所定の最適な間隔の終わりに信号を発信するものである、タイマ機構と、第1の伝送用にデータにアクセスするため、および前記タイマ機構内の前記間隔に設定された第1のタイムアウト・クロックを開始するための、バッファの第1のアクセス機構と、再送用に前記データにアクセスするため、および前記タイマ機構内の前記間隔に設定された少なくとも第2のタイムアウト・クロックを開始するための、前記タイマ機構による前記信号発信に応答する前記バッファの第2のアクセス機構であって、前記第2のアクセス機構は前記第1のアクセス機構によって使用されるパス要素を使用せずに前記データの伝送用のパスを選択するよう試行するものである、第2のアクセス機構と、を有する、複数のパスを有するネットワークを介してデータを伝送するための装置を含む、ネットワーク・アプライアンスを提供する。
第2の態様のストレージ・コントローラおよび第3の態様のネットワーク・アプライアンスの好ましい機能は、第1の態様の装置のそれぞれの好ましい機能に対応する。
第4の態様では、本発明は、受信機に伝送されるデータ項目を格納するためのバッファを提供するステップと、前記受信機宛てに前記データ項目を再送するための所定の最適な間隔を計るためのタイマ機構を提供するステップであって、前記間隔はネットワークからのいずれのエラー信号の受信に必要な間隔よりも短く、さらに前記タイマ機構は前記所定の最適な間隔の終わりに信号を発信するものである、タイマ機構を提供するステップと、第1の伝送用に第1のアクセス機構によってバッファ内のデータにアクセスするステップと、前記タイマ機構内の前記間隔に設定された第1のタイムアウト・クロックを開始するステップと、前記タイマ機構による前記信号発信に応答して第2のアクセス機構によってバッファ内のデータにアクセスするステップと、前記第2のアクセス機構によって前記データを再送するステップと、前記タイマ機構内の前記間隔に設定された第2のタイムアウト・クロックを開始するステップと、前記第1のアクセス機構によって使用されるパス要素を使用せずに前記データの伝送用のパスを選択するように前記第2のアクセス機構によって試行するステップと、を有する、複数のパスを有するネットワークを介してデータを伝送するための方法を提供する。
好ましくは、本方法は、前記第1のアクセス機構および前記第2のアクセス機構による前記バッファへの参照のカウントを参照カウンタによって維持するステップであって、前記参照カウンタは、前記第1のアクセス機構および前記第2のアクセス機構によるそれぞれの参照時に増分され、各データ伝送の完了時に減分されるものであり、前記参照カウンタは前記カウントがゼロに達すると信号を発信するものである、維持するステップと、メモリ・マネージャによって前記第1のアクセス機構および前記第2のアクセス機構による前記バッファへの読み取りアクセスを許可するステップと、前記カウントがゼロに達した際の前記参照カウンタの信号発信に応答して前記バッファをフリー・バッファ・プールに戻すステップと、をさらに有する。
好ましくは、本方法は、前記データの再送用に前記最適な間隔を決定するステップと、前記データの再送用の前記最適な間隔に前記タイマ機構を調整するステップと、をさらに有する。
好ましくは、前記決定するステップは、前記データの再送用に前記最適な間隔を決定するためにネットワーク監視データを使用する。
好ましくは、前記ネットワークはストレージ・ネットワークを有する。
好ましくは、前記ネットワークはインターネットを有する。
第5の態様では、本発明は、コンピュータ・システムにロードされ実行された場合に、第4の態様の方法のステップを実行するためのコンピュータ・プログラム・コードを有するコンピュータ・プログラムを提供する。
したがって本システムは、好ましくは、同じアプリケーション・バッファからの複数のデータ伝送を同時に未処理とすることが可能なように構成される。
ハードウェア制御ブロックなどのいくつかのリソースは、ハングされた伝送が持続している間、常時消費される。したがって好ましくは、こうしたリソースが独立した伝送パスに分離されるようにシステムが構成される。その結果、1つのパス上でハングされた伝送が、第2のパスへとデータを伝送する機能を妨げることはない。
伝送がアクティブである(および認知されていない)間、タイマは応答の受信においていずれの異常な遅延も早期検出するように動作可能である。タイマがしきい値に達した場合は、代替パスの試行が有利である可能性があることを示す。したがって適切なことには、第1の伝送を待機またはブロックして完了する必要なしに、伝送は代替パスへと即時に再発行される。
当業者であれば、起こり得る伝送障害に十分な即時の応答に失敗することと、他方で、システムが頻繁に応答しすぎる場合および再送のオーバヘッドが増加しすぎた場合に、「偽肯定(false positive)」に基づいた追加の再送によってシステムに負担をかけることとの間の均衡をとることによって、タイマ用に設定される間隔が特定のネットワークおよびそれに接続されたデバイスに好適な性能を最適化するように選択されるべきであることが明らかであろう。本発明の好ましい実施形態では、使用される間隔はこれを最適な値に設定するように調整することができる。最も好ましい実施形態では、タイマ間隔は、間隔がネットワーク性能に基づいた最適な値に調整されることを保証するようにネットワークの監視に基づいて設定される。他のまたは代替の実施形態では、最適な間隔を決定する際にサービス品質要件を考慮に入れることができる。
さらに本発明の好ましい実施形態は、従来技術の仮想メモリ・システムが複数の伝送の進行を追跡することまたは伝送バッファへのアプリケーション・アクセスを監視することが不可能であるため、アプリケーション・バッファからの複数の同時伝送をサポートしていない、という事実によって発生する問題を軽減する。従来技術の従来システムでは、バッファが特定のデータ項目を含むように割り当てられ、ハードウェアI/Oデバイスに与えられたその実アドレスを有するようになると、ハードウェアI/Oデバイスは伝送持続期間に与えられたメモリ参照に依拠できなければならないため、、たとえばバッファを含むページをディスクにスワップすることができないオペレーティング・システムを含んでいたとしても、バッファは実際には「フリーズ」され、ハードウェアI/Oデバイス以外のいずれのエンティティもアクセスすることはできない。本発明の好ましい実施形態は、ネットワーク・パスの途絶にもかかわらずシステム性能を向上させるために、タイムリーな再送を許可するように、ハードウェアI/Oデバイスおよびオペレーティング・システムの範囲外の複数のアクセスを制御するための機構を提供することによって、この制限を軽減する。
本発明の好ましい実施形態は、データを余分にコピーする必要がないという他の利点を有する。代替パスが作動している場合、伝送パスのうちの1つの途絶または他の遅延にもかかわらず、システム内でのデータのタイムリーな可用性を維持することができる。
次に、本発明の好ましい実施形態について添付の図面を参照しながら単なる例として説明する。
本発明の現在で最も好ましい実施形態は、分散ストレージ・コントローラ内でインプリメントされるが、当業者であれば、クライアントおよびサーバ・コンピュータ・システムのネットワークを含むがこれらに限定されることのない他のネットワーク・システムでも、本発明が等しく有利に実施可能であることが明らかであろう。こうしたシステムは有線または無線とすることが可能であり、ローカル処理機能を有するデバイス、ならびに単純なI/Oデバイスなどのこうした機能のないデバイスを有することが可能である。
分散ストレージ・コントローラの好ましい実施形態では、メモリ管理コンポーネントは32kBサイズまでのデータ部片用にI/Oバッファ記述を維持する。I/Oバッファは、SCSI書き込みオペレーションの一部として受信したホスト・システムからのデータなどの、何らかの外部ソースから受信したデータを含む。I/OバッファはPCIアドレスの分散・集合リストに変換することが可能であり、これらをファイバ・チャネル・アダプタへのデータ転送命令の一部として使用することができる。
メモリ・マネージャは、分散・集合リストを構築するため、または伝送がアクティブな場合に、クライアントをブロックすることはない。バッファは、いずれかのI/Oハードウェア・デバイスによって使用されており、そのI/Oハードウェア・デバイスの伝送が確実な成功または確実な失敗のいずれかでまだ完了していない限り、「ピン固定状態(pinned)」を維持(すなわち、バッファに使用される仮想メモリが実のままであるように)しなければならない。
図1は、アクセス機構要求に応答してメモリ・マネージャ(114)がアクセス可能なバッファ・メモリ(104)を有する、本発明の好ましい実施形態に従った装置(102)を示す図である。メモリ・マネージャ(114)はカウンタ(108)と通信している。カウンタ(108)は、アクセス機構(106、110)によるバッファ・メモリ(104)の参照回数のカウントを維持するものであり、カウントは各参照時に増分され、各アクセス機構のデータ伝送の完了時に減分される。さらにカウンタ(108)は、カウントがゼロに達すると信号を発するように適合される。アクセス機構(106、110)はそれぞれタイマ・クロック・インスタンス(116、120)に関連付けられる。タイマ・クロック・インスタンス(116、120)は、ネットワークから実エラー状態を戻すために必要となる「ラウンド・トリップ」時間よりも短い所定の最適な間隔を計るように適合された、タイマ機構(122)内に提供される。さらにタイマ機構(122)は、各タイマ・クロック・インスタンス(116、120)によって設定された所定の最適な間隔の終わりに信号を発するようにも適合される。
メモリ・マネージャ(114)は、書き込み動作中にバッファ・メモリをロックするように、アクセス機構(106、110)によるバッファ・メモリ(104)への読み取りアクセスを許可するように、およびカウントがゼロに達したことをカウンタ(108)が信号発信する場合にバッファ・メモリをフリー・バッファ・プールに戻すように、適合される。
複数の同時処理を追跡するために、メモリ・マネージャは同時アクセス機構の参照カウントを維持する。メモリ・バッファの同時アクセス機構はデータを読み取ることはできるが、データを書き込む(変更する)ことはできない。したがって、データを変更しようとするプロセスがなければ、データのソースを同時に読み取る複数の処理が同時にアクティブとなることができる。各プロセスは完了するとバッファへのその参照を「解放」し、参照カウントは減分される。最後のプロセスが完了すると参照カウントはゼロに達し、バッファはフリー・バッファのプールに入れられる。
このようにして、伝送にデータのコンテンツの変更が含まれないことから、このメモリ・マネージャは複数のプロセスがバッファからデータを伝送できるようにする。
メモリ・マネージャは、たとえオリジナルの要求または多くの以前の要求が依然としてアクティブであっても、第2または他のプロセスがバッファにアクセスするためにそれ専用のPCI分散・集合リストを構築するデータの同じバッファの伝送を開始できるようにする。
本発明の好ましい実施形態では、各代替パスは、第1または他の以前のパスよりも成功する見込があるように選択される。これは、たとえば、別のインターフェース・アダプタまたは異なる物理ネットワークなどの完全に別のハードウェア要素のセットから代替パスを選択することによって保証される。さらにパスは、使用可能な帯域幅、コントローラまたはアプライアンスがアイドル状態であった期間中にping応答から推定された応答時間、およびその他などの、追加の基準を使用して選択することもできる。
他の好ましい実施形態では、間隔チューナ(126)は、ネットワーク監視データ・アナライザ(128)によるデータの分析に基づいて、クロック(116、120)によって使用される間隔を調整するために使用される。
好ましい実施形態のメモリ・マネージャは、伝送が失敗しそうな場合の迅速な再送の必要性と過度な再送オーバヘッドを避ける必要性との均衡を取ることによって、性能を最適化するように適合されたタイマ機構と組み合わされて、バッファからデータをタイムリーに再送することができる。同時に、好ましい実施形態のカウンタは、バッファ・メモリを割り振ること、「ピン固定状態」にすること、および他のアクセス機構による読み取りアクセスを妨げることなく解放することができる。
好ましい実施形態の機構は、タイムアウト伝送が遅延し、永遠には失われない場合、伝送の受信機側でプロトコルをインプリメントし、データの重複受信に対処できるようにする必要がある。こうした方式は当分野でよく理解されており、TCP/IPなどのプロトコルですでにインプリメントされているため、ここではこれ以上詳しく説明しない。
次に図2を見ると、本発明の好ましい実施形態に従った方法を示す単純な通信流れの例が示されている。
通信流れには、タイマ、メモリ・マネージャ、アクセス機構1および2(複数のこうしたアクセス機構が存在可能であることを示すために他のアクセス機構3、4...nも示されている)、およびネットワークが含まれる。この流れは、1組の時間T1、T2、などで表して定義される。この通信流れは、第1のアクセス機構がタイムアウトし、第2のアクセス機構がデータを再送するために同じバッファへのアクセスを許可される、例示的なケースを示している。どちらの流れも(データの受信に成功するかまたは確実にエラーが戻されて)完了する。
T1では、第1のアクセス機構がバッファにアクセスし、カウンタがそのアクセスを記録するために増分される。T2では、所定の最適なタイムアウト間隔をカウント・ダウンするためにクロックが開始される。バッファはT3でピン固定状態となり、T4でアクセス機構1がネットワークを介してデータを伝送する。T5では、アクセス機構1のタイムアウト間隔が満了し、アクセス機構2がバッファにアクセスするためにトリガされる。これはT6で発生し、アクセスを記録するためにカウントが増分される。T7では、アクセス機構2のタイムアウトをカウント・ダウンするためにクロックが開始される。T8ではバッファがピン固定状態となり、T9ではアクセス機構2がデータを伝送する。T10ではアクセス機構1の伝送がネットワークによって認知され、アクセス機構1はバッファへのそのアクセスを解放する。アクセス機構1のアクセスの終わりを記録するためにカウントが減分される。T12では、アクセス機構2の伝送がネットワークによって認知される。T13では、アクセス機構1はバッファへのアクセスを解放し、カウントが減分される。T14ではカウントがゼロになり、バッファはフリー・バッファ・プールへ戻される。当業者であれば、これが好ましい実施形態内で発生可能な基本的な流れのセットを説明するためだけに作成された非常に簡略化された例であることは明らかであろう。
図3の論理流れは、バッファ・メモリ(104)と、書き込み動作中にバッファ・メモリ(104)をロックするように、バッファ・メモリ(104)への読み取りアクセスを許可するように、およびバッファ・メモリ(104)をフリー・バッファ・メモリのプールに戻すように適合されたメモリ・マネージャ(114)と、前記データの再送のために所定の最適な間隔を計るためのタイマ機構と、が提供され、前記間隔は前記ネットワークからのいずれのエラー信号を受け取るために必要な、および前記所定の最適な間隔の終わりに信号を発信するために必要な間隔よりも短い、好ましい実施形態に従ったデータの伝送のための方法を示すものである。
ステップ(202)で、現在の好ましい実施形態に従ったランタイム論理プロセスに入る。ステップ(204)で、第1のアクセス機構が伝送用のバッファ・メモリ内のデータにアクセスする。ステップ(206)で、第1のアクセス機構によるバッファ・メモリ(104)へのアクセスを記録するためにカウントが増分され、ステップ(208)で、データの再送のためにタイムアウト・クロックが所定の最適な間隔に設定され、その間隔は、ネットワークからのいずれのエラー信号の受信に必要なラウンド・トリップ時間よりも短い。
ステップ(212)で、システムは、伝送が完了(伝送の正常な受信またはネットワークからの確実な失敗信号のいずれか)に達した旨のネットワークからの通知またはタイムアウト間隔の満了のいずれかを待つ。ステップ(214)で、タイムアウトのテストが実行され、タイムアウト間隔の満了以前に完了を受信していない場合、論理はステップ(216)を開始し、クロックが停止される。ステップ(218)で、第2または他のアクセス機構が、ネットワークを介した再送のために同じバッファ・メモリ内の同じデータにアクセスする。ステップ(220)で、第2または他のアクセス機構がデータの伝送のために代替パスを選択し、この選択ステップは、可能であれば異なるパス要素の完全なセットを選択するように、およびそれが不可能な場合はできる限り多くの代替パス要素を選択するように、適合される。第1以外のアクセス機構は、それぞれ、以前のいずれかのアクセス機構が使用したパス要素は使用しないようにする。
代替パスは、たとえば最低伝送コスト・パスまたは最高性能パス、またはおそらく最高のサービス品質保証を提供するパスを選択するように論理要素を最適化することによって、選択することもできる。こうしたサービス品質保証はネットワーク通信の分野では良く知られており、ここで説明する必要はない。現在の好ましい実施形態では、代替パスはネットワーク性能監視統計の分析に基づいて選択される。
論理流れはステップ(206)に進み、ここで、第2または他のアクセス機構によるバッファ・メモリへのアクセスのステップを記録するためにカウントが増分され、以前と同様にクロックの設定などへと続行される。
ステップ(214)でのいずれかの反復において、それぞれの伝送のタイムアウトが満了する前に完了(伝送の正常な受信またはネットワークからの確実な失敗信号のいずれか)があったことを示す、テストへの肯定応答があった場合、クロックはステップ(222)で停止され、カウントはステップ(224)で減分される。ステップ(226)で、カウントがゼロに達したか否かを判別するために他のテストが実行される。ゼロに達していない場合、論理プロセスのこの部分は次の完了によってトリガされるようにステップ(228)に戻る。いずれかの反復において、カウントがゼロに達したことが判別された場合、メモリ・マネージャ(114)はバッファ・メモリ(104)を解放する。
次に図4を見ると、例示的な実施形態の他の好ましい改良が示されている。図4の論理プロセスはステップ(302)で始まり、ステップ(304)でネットワーク監視データを受け取る。こうしたデータは、当分野でよく知られた多数のネットワーク監視デバイス、システム、またはコンピュータ・プログラムのうちのいずれかによって提供可能である。このデータから、ラウンド・トリップ応答時間のステップ(306)で予測可能な評価が実行され、ステップ(308)で設定された任意のサービス品質パラメータが検査される。これらの入力に基づいて、ステップ(310)で最適な再送タイムアウト間隔が設定される。ステップ(312)で、プロセスのこの部分が終了する。当業者であれば明らかなように、このプロセスは反復可能であり、ネットワークからおよびサービス品質パラメータの任意の設定者から受信した最も新しいデータに従って、最適な間隔にリセットするような間隔で実行することができる。
本発明の好ましい実施形態に従った装置を表すブロック図である。 本発明の好ましい実施形態に従った例示的通信流れを表す図である。 本発明の好ましい実施形態に従った論理流れを示す図である。 本発明の一実施形態の他の好ましい改良の論理流れを示す図である。

Claims (10)

  1. 受信機に伝送されるデータ項目を格納するためのバッファと、
    前記受信機宛てに前記データ項目を再送するための所定の最適な間隔を計るためのタイマ機構であって、前記間隔はネットワークからのいずれのエラー信号の受信に必要な間隔よりも短く、さらに前記タイマ機構は前記所定の最適な間隔の終わりに信号を発信するものである、タイマ機構と、
    第1の伝送用にデータにアクセスするため、および前記タイマ機構内の前記間隔に設定された第1のタイムアウト・クロックを開始するための、バッファの第1のアクセス機構と、
    再送用に前記データにアクセスするため、および前記タイマ機構内の前記間隔に設定された少なくとも第2のタイムアウト・クロックを開始するための、前記タイマ機構による前記信号発信に応答する前記バッファの第2のアクセス機構であって、前記第2のアクセス機構は前記第1のアクセス機構によって使用されるパス要素を使用せずに前記データの伝送用のパスを選択するよう試行するものである、第2のアクセス機構と、
    を有する、複数のパスを有するネットワークを介してデータを伝送するための装置。
  2. 前記第1のアクセス機構および前記第2のアクセス機構による前記バッファへの参照のカウントを維持するための参照カウンタであって、前記参照カウンタは、前記第1のアクセス機構および前記第2のアクセス機構によるそれぞれの参照時に増分され、各データ伝送の完了時に減分されるものであり、前記参照カウンタは前記カウントがゼロに達すると信号を発信するものである、参照カウンタと、
    前記第1のアクセス機構および前記第2のアクセス機構による前記バッファへのアクセスを読み取ることが可能なように適合され、前記カウントがゼロに達した際の前記参照カウンタの信号発信に応答して前記バッファをフリー・バッファ・プールに戻すように適合された、メモリ・マネージャと、
    をさらに有する、請求項1に記載の装置。
  3. 前記データの再送用に前記最適な間隔を決定するための分析機構と、
    前記データの再送用の前記最適な間隔に前記タイマ機構を調整するための調整機構と、
    をさらに有する、請求項1に記載の装置。
  4. 前記分析機構は、前記データの再送用に前記最適な間隔を決定するためにネットワーク監視データを使用するように動作可能である、請求項3に記載の装置。
  5. 受信機に伝送されるデータ項目を格納するためのバッファと、
    前記受信機宛てに前記データ項目を再送するための所定の最適な間隔を計るためのタイマ機構であって、前記間隔はネットワークからのいずれのエラー信号の受信に必要な間隔よりも短く、さらに前記タイマ機構は前記所定の最適な間隔の終わりに信号を発信するものである、タイマ機構と、
    第1の伝送用にデータにアクセスするため、および前記タイマ機構内の前記間隔に設定された第1のタイムアウト・クロックを開始するための、バッファの第1のアクセス機構と、
    再送用に前記データにアクセスするため、および前記タイマ機構内の前記間隔に設定された少なくとも第2のタイムアウト・クロックを開始するための、前記タイマ機構による前記信号発信に応答する前記バッファの第2のアクセス機構であって、前記第2のアクセス機構は前記第1のアクセス機構によって使用されるパス要素を使用せずに前記データの伝送用のパスを選択するよう試行するものである、第2のアクセス機構と、
    を有する、複数のパスを有するネットワークを介してデータを伝送するための装置を含むストレージ・コントローラ。
  6. 前記第1のアクセス機構および前記第2のアクセス機構による前記バッファへの参照のカウントを維持するための参照カウンタであって、前記参照カウンタは、前記第1のアクセス機構および前記第2のアクセス機構によるそれぞれの参照時に増分され、各データ伝送の完了時に減分されるものであり、前記参照カウンタは前記カウントがゼロに達すると信号を発信するものである、参照カウンタと、
    前記第1のアクセス機構および前記第2のアクセス機構による前記バッファへのアクセスを読み取ることが可能なように適合され、前記カウントがゼロに達した際の前記参照カウンタの信号発信に応答して前記バッファをフリー・バッファ・プールに戻すように適合された、メモリ・マネージャと、
    をさらに有する、請求項5に記載のストレージ・コントローラ。
  7. 前記データの再送用に前記最適な間隔を決定するための分析機構と、
    前記データの再送用の前記最適な間隔に前記タイマ機構を調整するための調整機構と、
    をさらに有する、請求項5に記載のストレージ・コントローラ。
  8. 受信機に伝送されるデータ項目を格納するためのバッファと、
    前記受信機宛てに前記データ項目を再送するための所定の最適な間隔を計るためのタイマ機構であって、前記間隔はネットワークからのいずれのエラー信号の受信に必要な間隔よりも短く、さらに前記タイマ機構は前記所定の最適な間隔の終わりに信号を発信するものである、タイマ機構と、
    第1の伝送用にデータにアクセスするため、および前記タイマ機構内の前記間隔に設定された第1のタイムアウト・クロックを開始するための、バッファの第1のアクセス機構と、
    再送用に前記データにアクセスするため、および前記タイマ機構内の前記間隔に設定された少なくとも第2のタイムアウト・クロックを開始するための、前記タイマ機構による前記信号発信に応答する前記バッファの第2のアクセス機構であって、前記第2のアクセス機構は前記第1のアクセス機構によって使用されるパス要素を使用せずに前記データの伝送用のパスを選択するよう試行するものである、第2のアクセス機構と、
    を有する、複数のパスを有するネットワークを介してデータを伝送するための装置を含むネットワーク・アプライアンス。
  9. 受信機に伝送されるデータ項目を格納するためのバッファを提供するステップと、
    前記受信機宛てに前記データ項目を再送するための所定の最適な間隔を計るためのタイマ機構を提供するステップであって、前記間隔はネットワークからのいずれのエラー信号の受信に必要な間隔よりも短く、さらに前記タイマ機構は前記所定の最適な間隔の終わりに信号を発信するものである、タイマ機構を提供するステップと、
    第1の伝送用に第1のアクセス機構によってバッファ内のデータにアクセスするステップと、
    前記タイマ機構内の前記間隔に設定された第1のタイムアウト・クロックを開始するステップと、
    前記タイマ機構による前記信号発信に応答して第2のアクセス機構によってバッファ内のデータにアクセスするステップと、
    前記第2のアクセス機構によって前記データを再送するステップと、
    前記タイマ機構内の前記間隔に設定された第2のタイムアウト・クロックを開始するステップと、
    前記第1のアクセス機構によって使用されるパス要素を使用せずに前記データの伝送用のパスを選択するように前記第2のアクセス機構によって試行するステップと、
    を有する、複数のパスを有するネットワークを介してデータを伝送するための方法。
  10. コンピュータ読取り可能メディア内で明白に具体化され、コンピュータ・システムにロードされ実行された場合に、
    受信機に伝送されるデータ項目を格納するためのバッファを提供するステップと、
    前記受信機宛てに前記データ項目を再送するための所定の最適な間隔を計るためのタイマ機構を提供するステップであって、前記間隔はネットワークからのいずれのエラー信号の受信に必要な間隔よりも短く、さらに前記タイマ機構は前記所定の最適な間隔の終わりに信号を発信するものである、タイマ機構を提供するステップと、
    第1の伝送用に第1のアクセス機構によってバッファ内のデータにアクセスするステップと、
    前記タイマ機構内の前記間隔に設定された第1のタイムアウト・クロックを開始するステップと、
    前記タイマ機構による前記信号発信に応答して第2のアクセス機構によってバッファ内のデータにアクセスするステップと、
    前記第2のアクセス機構によって前記データを再送するステップと、
    前記タイマ機構内の前記間隔に設定された第2のタイムアウト・クロックを開始するステップと、
    前記第1のアクセス機構によって使用されるパス要素を使用せずに前記データの伝送用のパスを選択するように前記第2のアクセス機構によって試行するステップと、
    を実行するためのコンピュータ・プログラム・コード手段を有するコンピュータ・プログラム。
JP2004567360A 2003-01-30 2003-10-28 ネットワークにおけるバッファ・データのプリエンプティブな再送 Expired - Fee Related JP4001889B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0302117.7A GB0302117D0 (en) 2003-01-30 2003-01-30 Preemptive retransmission of buffered data in a network
PCT/GB2003/004645 WO2004068801A1 (en) 2003-01-30 2003-10-28 Preemptive retransmission of buffered data in a network

Publications (3)

Publication Number Publication Date
JP2006514454A true JP2006514454A (ja) 2006-04-27
JP2006514454A5 JP2006514454A5 (ja) 2007-08-02
JP4001889B2 JP4001889B2 (ja) 2007-10-31

Family

ID=9952094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004567360A Expired - Fee Related JP4001889B2 (ja) 2003-01-30 2003-10-28 ネットワークにおけるバッファ・データのプリエンプティブな再送

Country Status (11)

Country Link
US (1) US7680129B2 (ja)
EP (1) EP1588527B1 (ja)
JP (1) JP4001889B2 (ja)
KR (1) KR100702460B1 (ja)
CN (1) CN100471165C (ja)
AT (1) ATE352935T1 (ja)
AU (1) AU2003278357A1 (ja)
DE (1) DE60311528T2 (ja)
GB (1) GB0302117D0 (ja)
TW (1) TWI332153B (ja)
WO (1) WO2004068801A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2007094039A1 (ja) * 2006-02-13 2009-07-02 富士通株式会社 システムモジュールおよびデータ中継方法
JP2012523139A (ja) * 2009-04-01 2012-09-27 中興通訊股▲ふん▼有限公司 E−mbmsにおけるデータ再送方法及び装置

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020030550A (ko) * 2000-10-18 2002-04-25 김춘일 호스연결용 각도 가변 엘보우
US7676588B2 (en) * 2001-10-05 2010-03-09 International Business Machines Corporation Programmable network protocol handler architecture
ATE525834T1 (de) 2008-05-16 2011-10-15 Smartdutch B V Verfahren und system zum übertragen von datenpaketen in einem netzwerk
US8732331B2 (en) * 2008-10-02 2014-05-20 Hewlett-Packard Development Company, L.P. Managing latencies in a multiprocessor interconnect
KR20110052418A (ko) * 2009-11-11 2011-05-18 삼성전자주식회사 이동통신 시스템에서 불연속 수신을 수행하는 방법 및 장치
JP5516170B2 (ja) * 2010-07-14 2014-06-11 ブラザー工業株式会社 通信装置及びコンピュータプログラム
CN105451260B (zh) * 2014-08-12 2019-12-20 优视科技有限公司 网络请求方法、网络波动性衡量方法及装置
US9660719B2 (en) * 2014-11-17 2017-05-23 Honeywell International Inc. Minimizing propagation times of queued-up datalink TPDUs
US9998360B2 (en) 2014-11-17 2018-06-12 Honeywell International Inc. Minimizining message propagation times when brief datalink interruptions occur
KR102435334B1 (ko) * 2015-05-07 2022-08-23 삼성전자 주식회사 네트워크 시스템의 서비스 가용성을 최대로 보장하기 위한 적응형 bfd 프로토콜과 그 장치
FR3056056B1 (fr) * 2016-09-12 2018-09-21 Sagemcom Energy & Telecom Sas Procede de detection de reemission d'une trame
JP2020086538A (ja) * 2018-11-15 2020-06-04 株式会社日立製作所 計算機システム、及びデバイス管理方法
US11317275B2 (en) * 2020-07-27 2022-04-26 Dish Wireless L.L.C. 5G and satellite parallel service

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276840A (en) * 1991-03-22 1994-01-04 Acer Incorporated Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation
EP0770964A1 (en) * 1995-10-26 1997-05-02 Matsushita Electric Industrial Co., Ltd. File system
US5859959A (en) * 1996-04-29 1999-01-12 Hewlett-Packard Company Computer network with devices/paths having redundant links
US6067608A (en) * 1997-04-15 2000-05-23 Bull Hn Information Systems Inc. High performance mechanism for managing allocation of virtual memory buffers to virtual processes on a least recently used basis
US6747984B1 (en) * 1998-12-18 2004-06-08 Lsi Logic Corporation Method and apparatus for transmitting Data
US6856627B2 (en) * 1999-01-15 2005-02-15 Cisco Technology, Inc. Method for routing information over a network
US7035214B1 (en) * 1999-09-28 2006-04-25 Nortel Networks Limited System and method for a negative acknowledgement-based transmission control protocol
JP4595195B2 (ja) * 1999-12-28 2010-12-08 パナソニック株式会社 セキュリティシステム
US6671819B1 (en) * 2000-04-06 2003-12-30 Bbnt Solutions Llc System and methods routing packets on alterate paths
US6757245B1 (en) * 2000-06-01 2004-06-29 Nokia Corporation Apparatus, and associated method, for communicating packet data in a network including a radio-link
US6934256B1 (en) * 2001-01-25 2005-08-23 Cisco Technology, Inc. Method of detecting non-responsive network flows

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2007094039A1 (ja) * 2006-02-13 2009-07-02 富士通株式会社 システムモジュールおよびデータ中継方法
JP2012523139A (ja) * 2009-04-01 2012-09-27 中興通訊股▲ふん▼有限公司 E−mbmsにおけるデータ再送方法及び装置

Also Published As

Publication number Publication date
AU2003278357A1 (en) 2004-08-23
CN1742468A (zh) 2006-03-01
DE60311528T2 (de) 2007-10-31
EP1588527B1 (en) 2007-01-24
GB0302117D0 (en) 2003-03-05
WO2004068801A1 (en) 2004-08-12
JP4001889B2 (ja) 2007-10-31
EP1588527A1 (en) 2005-10-26
CN100471165C (zh) 2009-03-18
TW200502776A (en) 2005-01-16
KR100702460B1 (ko) 2007-04-04
TWI332153B (en) 2010-10-21
US7680129B2 (en) 2010-03-16
ATE352935T1 (de) 2007-02-15
KR20050103467A (ko) 2005-10-31
US20050265370A1 (en) 2005-12-01
DE60311528D1 (de) 2007-03-15

Similar Documents

Publication Publication Date Title
US7680129B2 (en) Preemptive retransmission of buffered data in a network
US11343166B2 (en) Health status monitoring for services provided by computing devices
US6952734B1 (en) Method for recovery of paths between storage area network nodes with probationary period and desperation repair
US7765290B2 (en) Methods and arrangements to detect a failure in a communication network
Gu et al. Experiences in design and implementation of a high performance transport protocol
US6393023B1 (en) System and method for acknowledging receipt of messages within a packet based communication network
US6606630B1 (en) Data structure and method for tracking network topology in a fiber channel port driver
US20030195983A1 (en) Network congestion management using aggressive timers
JP2017507534A (ja) Canネットワークにおけるボーレート自動選択システム及び方法
US20060184949A1 (en) Methods, systems, and storage mediums for timing work requests and completion processing
CA2241521A1 (en) System and method for message transmission between network nodes
US10891081B1 (en) Systems and methods for asynchronous writing of synchronous write requests based on a dynamic write threshold
US6922414B1 (en) Apparatus and method for dynamic command queue depth adjustment for storage area network nodes
KR20020060623A (ko) 데이터를 전송하기 위한 신뢰성 있는 프로토콜을 제공하는방법 및 장치
JP2024517128A (ja) クロック同期エッジベースのネットワーク機能
US8874984B2 (en) High performance virtual converged enhanced ethernet with persistent state flow control
US20050132099A1 (en) Network system, and device, method and program for controlling host interface
TWI724670B (zh) 容錯系統及其控制方法
CN117896445A (zh) 多网络协议切换传输方法、装置、电子设备及存储介质
TW202414214A (zh) 測速方法及測速系統
JPH11328130A (ja) ネットワークジョブ実行システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070615

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070815

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

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110824

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130824

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees