JP2006014143A - 通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム - Google Patents

通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム Download PDF

Info

Publication number
JP2006014143A
JP2006014143A JP2004191103A JP2004191103A JP2006014143A JP 2006014143 A JP2006014143 A JP 2006014143A JP 2004191103 A JP2004191103 A JP 2004191103A JP 2004191103 A JP2004191103 A JP 2004191103A JP 2006014143 A JP2006014143 A JP 2006014143A
Authority
JP
Japan
Prior art keywords
communication
function
offload engine
protocol
data
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
JP2004191103A
Other languages
English (en)
Other versions
JP3966307B2 (ja
Inventor
Masayoshi Matsuura
正承 松浦
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2004191103A priority Critical patent/JP3966307B2/ja
Publication of JP2006014143A publication Critical patent/JP2006014143A/ja
Application granted granted Critical
Publication of JP3966307B2 publication Critical patent/JP3966307B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】TCP通信におけるデータストリームをアプリケーションの処理単位に分割する処理と、通信下位プロトコルの処理と、を実行するオフロードエンジンを別ハードウェアとして付加し、アプリケーションを簡略化して最適化する。
【解決手段】上位アプリケーション11と、通信下位プロトコルを実行するオフロードエンジン21を接続するオフロードエンジンドライバ12と、を搭載するサービスサブシステム1と、通信下位プロトコルを実行し、受信データを上位アプリケーション11の処理単位に分割してオフロードエンジンドライバ12に送付するオフロードエンジン21を搭載するネットワークサブシステム2と、を備える。
【選択図】 図1

Description

この発明は、クライアントあるいはサーバが実行する通信プロトコル及びアプリケーションを搭載するプロセッサカードでなる通信システムに関し、特に通信下位プロトコル(TCP/IP)を実行して受信データストリームをアプリケーションの処理単位に分割するオフロードエンジンをオペレーティングシステムに対して独立に作動するネットワークカードに搭載する、通信下位プロトコル及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システムに関する。
一般に、オペレーティングシステムは、プロセッサにローカルファイルシステム、ネットワークファイルシステム、メモリ、周辺装置ドライバ、及びアプリケーションを含む各処理のタスクを実行するよう設計される。そのため、プロセッサに処理が集中することになる。そのため、プロセッサの集中負担を軽減するため、サブシステム化することが行われている。
従来のファイルサーバで、サービス要求及びそれの応答を送受するネットワークサブシステムと、サービスモジュール、ファイルシステムモジュール、記憶モジュールを備えるサービスサブシステムと、によって2つのサブシステムが専用の別ハードウェアで実行される構成を採り、ネットワークサブシステムは、サービスサブシステムのソフトウェアによる直接の制御は受けない構成として、アプリケーションを実行するサービスサブシステムのプロセッサ負担を軽減する例がある(例えば、特許文献1)。
特表2003−511777号公報(段落0027乃至0038、図3)
上記の例では、ファイルサーバとしてアプリケーションを実行するプロセッサからネットワークプロトコル実行負荷を軽減することにあるが、ネットワークから受信するデータの形態を変換する処理を別ハードウェアに負担させて、更に、負荷軽減を図ることができる。
アプリケーションからみて通信下位プロトコルであるTCP通信ではデータは一連の連なり(ストリーム)としてやりとりされるので、TCP層からデータを受けとる上位アプリケーションでは、そのストリームを読んで、適切な処理単位にデータを区切る必要がある。しかしTCP層から渡されたデータは、どのように分割されているか分からないため、上位アプリケーションでデータストリームを適切に分割するためにはバッファリングなどの制御構造が必要となり、そのための処理の分だけ上位アプリケーションの処理時間が掛かり、アプリケーションの実行速度も遅くなってしまう課題がある。
このバッファリングなどの制御構造が必要になる事情を説明する図6を参照すると、TCP受信データはデータストリームであるから、TCP通信以下の下位プロトコルのヘッダ情報を削除して、TCP層の上のプロトコルのフラグメントヘッダとデータとでなる一連のデータストリームになる(図6のステップE1)。受信バッファには上位層の区切りを意識することなく端からストリームを詰めるため、上位アプリケーションにTCP受信データが渡されると、端から詰められた上位アプリケーションの受信バッファからフラグメントヘッダとデータという処理単位のデータを抽出することになる。つまり、上位アプリケーション処理負担が大きくなる。
そこで、ネットワーク通信下位プロトコル(TCP/IP)の実行機能と、受信したデータストリームをアプリケーション処理単位に分割する分割機能と、をオペレーティングシステムの直接制御を受けないオフロードエンジンとして搭載する別ハードウェアにする。
上位アプリケーションの受信データ制御部分を省略するため、TCP/IPプロトコル処理をコンピュータ上にある中央処理装置に代わりにネットワークサブシステム側で処理するオフロードエンジンを用いる。オフロードエンジンは、ネットワークからデータを受け取りTCP/IPプロトコル処理を施す。更に、そのオフロードエンジンでの受信データ作成において、上位プロトコルの処理単位で分割する。
また、上位アプリケーションはオフロードエンジン側から受けとるデータが、そのプロトコルの処理単位で区切られていることを想定した作りにする。通常データの解析に必要となる機構(データのバッファリング機構など)を省くことができ、かつ、受けとるデータが上位プロトコルの処理単位となっているので、直ちにメインの処理に入ることができるなど処理の最適化が行える。
したがって、別ハードウェアによる高速な通信プロトコル処理に加えて、上位プロトコルの処理単位分割を併せて行うことにより、上位アプリケーションの最適化を行って、課題を解決する。
この発明の目的は、TCP通信のようなデータストリームをアプリケーション処理単位に分割する処理と、通信下位プロトコルの処理と、を実行するオフロードエンジンを別ハードウェアとして付加し、課題を解決することにある。
そのため、この発明の、クライアント及びサーバのアプリケーションを処理するサービスサブシステムをネットワークサブシステムを介してネットワークに接続してなるシステムにおいて、上位アプリケーションと、通信下位プロトコルを実行するオフロードエンジンを接続するオフロードエンジンドライバと、を搭載するサービスサブシステムと、前記通信下位プロトコルを実行し、受信データストリームを前記上位アプリケーションの処理単位に分割して前記オフロードエンジンドライバに送付するオフロードエンジンを搭載するネットワークサブシステムと、を備えることを特徴とする。
更に、前記オフロードエンジンドライバは、前記オフロードエンジンに前記処理単位に分割したデータを格納する受信バッファの可変個のアドレス情報を渡し、前記オフロードエンジンから前記受信バッファに前記処理単位に分割したデータの格納済み情報を得ることを特徴とする。
更に、前記オフロードエンジンは、前記ネットワークを接続するハードウェアを含み、前記サービスサブシステムを制御するオペレーティングシステムとは独立に、通信下位プロトコルの実行と、前記アドレス情報に基づく前記受信バッファに前記処理単位に分割したデータの格納と、前記格納済み情報を前記オフロードエンジンドライバへの通知と、をすることを特徴とする。
更に、前記ネットワークサブシステムは、前記サービスサブシステムを搭載するハードウェアカードとは別のハードウェアカードに搭載されることを特徴とする。
更に、前記ネットワークサブシステムは、前記サービスサブシステムを搭載するハードウェアカードの一部に搭載されることを特徴とする。
更に、前記上位アプリケーションは、ネットワークファイルシステムのNFSデーモンであることを特徴とする。
更に、前記上位アプリケーションは、共通インターネットファイルシステムのCIFSデーモンであることを特徴とする。
この発明の効果は、上位アプリケーションを簡略化して、処理速度を向上できる。その理由は、上位アプリケーションによるデータストリーム分割処理をオフロードエンジンに分担させて、上位アプリケーション自体の簡略化と最適化とが図られるからである。
この発明を実施するための最良の形態について図面を参照して説明する。発明の実施例の構成を示す図1を参照すると、第1の実施例は、プログラムにより動作する図示しないプロセッサを搭載し、アプリケーションを実行するサービスサブシステム1と、ファームウェアにより動作する図示しないプロセッサを搭載し、ネットワークに対する通信下位プロトコルを実行し、受信データストリームを処理単位に分割するネットワークサブシステム2と、ネットワーク3と、を備える。
サービスサブシステム1には、通信上位プロトコル及びアプリケーションを実行する上位アプリケーション11と、オフロードエンジンに図示しない受信バッファの可変個のアドレス情報及び該受信バッファの格納済み情報を授受するオフロードエンジンドライバ12と、を搭載する。ネットワークサブシステム2には、通信下位プロトコル及び受信データストリームのデータ分割を実行し、該アドレス情報に基づく分割データの格納を通知するオフロードエンジン21を搭載する。
上位アプリケーション11には、NFSデーモン41を当てた場合を示す図2を参照して、これらの手段の動作を説明する。通信サブシステム5のオフロードエンジン51は、ハードウェア(以降HW)とファームウェア(以降FW)で構成される。FWは HWの制御を行う。オフロードエンジン51では、NFS通信で使用されるRPC/NFSプロトコルのデータ単位への分割をサポートする。オフロードエンジン51と後述するNFSデーモン41との橋渡しはオフロードエンジンドライバ42で行う。NFSデーモン41は、受信したデータはRPC/NFSプロトコルのデータ単位で受信データが区切られていることを想定した作りになって、簡略化が図られている。
図4を参照し、RPC/NFSプロトコルのデータ単位をネットワーク上のデータ単位であるパケットに変換する過程を説明すると、RPCレコード(図4のステップC1)は、通信下位プロトコルを適用するために、フラグメントヘッダとRPCデータとからなるフラグメントに分割される(ステップC2)。次に、フラグメントは、通信下位プロトコルを適用されたTCPヘッダ、フラグメントヘッダ、RPCデータの構成に変化し、ヘッダ情報が付加される(ステップC3)。更に、ネットワーク上の形態には、ヘッダ情報が付加されて、ネットワーク上のパケット長に応じたイーサネット(登録商標)ヘッダ、IPヘッダ、TCPヘッダ、フラグメントヘッダ、RPCデータの構成にヘッダ情報が付加される。データ長が2ブロックにまたがる場合は、つづくパケットが、イーサネット(登録商標)ヘッダ、IPヘッダ、RPCデータの構成になる(ステップC4)。
次に、この実施例の動作について図面を参照して説明する。図2を参照すると、まず、オフロードエンジンドライバ42は、ネットワーク3からのデータ受信の前に図示しない受信バッファを作成し、可変個のアドレス情報をオフロードエンジン51に渡す(図2のステップA1)。オフロードエンジン51が、ネットワーク3からデータを受信すると(ステップA2)、オフロードエンジン51は上位プロトコル(RPC/NFS)のデータの区切りを検出する。検出したデータの区切りを境にし、受信バッファに受信したデータを詰める。データを詰め終えると、オフロードエンジンドライバ42に格納済み情報を通知する(ステップA3)。オフロードエンジンドライバ42は受信データを上位アプリケーション41に渡す(ステップA4)。
このデータの区切りを検出して、受信バッファにヘッダ情報を削除してデータを詰める過程を説明する図5を参照すると、ネットワーク3から受信した受信パケットは、イーサネット(登録商標)ヘッダと、IPヘッダと、TCPヘッダと、フラグメントヘッダと、データとで構成される場合と、イーサネット(登録商標)ヘッダと、IPヘッダと、データと、でなる場合とがある(図5のステップD1)。受信パケットからイーサネット(登録商標)ヘッダ、IPヘッダ、TCPヘッダのヘッダ情報を除き、フラグメントヘッダと、データと、でなるTCPデータを構築する(ステップD2)。次に、フラグメントヘッダにある長さを基にフラグメント部分を受信バッファに詰める(ステップD3)。
データを受信バッファに詰めた状態を説明する図7及び図8を参照すると、TCP受信データはフラグメントヘッダとデータとでなる(図7のステップF1、図8のステップG1)。受信バッファのサイズが十分大きい場合は、フラグメントヘッダとデータが、一つの受信バッファに格納され(ステップF2)、受信バッファのサイズが小さい場合は、フラグメントヘッダとデータが2バッファ以上に詰められる(ステップG2)。
以上の説明によれば、NFSプロトコルのデータをオフロードエンジ51で分割できるので、上位アプリケーションのNFSデーモン41の構造から通信データのバッファリングやその制御を除くことができる。更に、NFSでやりとりするデータは、(ヘッダ情報+受け渡すデータ)のようにヘッダ情報が先頭に位置する。このため受けとったデータの先頭を確認することで、次にすべき行動が判断できる。
次に、第2の実施例について図面を参照して説明する。構成を示す図3を参照すると、第2の実施例の構成は、プログラム制御によりアプリケーションを処理するサービスサブシステム6と、通信下位プロトコル実行とデータ分割とを分担するネットワークサブシステム7と、を有し、サービスサブシステム6には、上位アプリケーションとしてCIFSデーモン61と、オフロードエンジンドライバ62と、が搭載され、ネットワークサブシステム7には、オフロードエンジン71が搭載される。
オフロードエンジン71は、ハードウェア(以降HW)とファームウェア(以降FW)とで構成される。FWは図示しないプロセッサによって、HWの制御を行う。このオフロードエンジン71ではCIFS通信で使用されるNetBIOSセッション/SMBプロトコルのデータ単位への分割と、通信下位プロトコルの実行をサポートする。オフロードエンジン71と後述するCIFSデーモン61との橋渡しをオフロードエンジンドライバ62が行う。CIFSデーモン61は、渡されるデータがCIFSで用いるプロトコルのデータ単位で区切られていることを想定した作りになって、簡略化される。
図3を参照して第2の実施例の動作について詳細に説明する。まず、オフロードエンジンドライバ62は、ネットワーク3からのデータ受信前に受信バッファの可変個のアドレス情報をオフロードエンジン71に渡す(図3のステップB1)。オフロードエンジン71がネットワーク3からデータを受信すると(ステップB2)と、オフロードエンジン71は上位プロトコル(CIFS/SMB)のデータの区切りを検出する。検出したデータの区切りを境にし、図示しない受信バッファに受信したデータをつめる。データを詰め終えるとオフロードエンジンドライバ62に格納済み情報を通知する(ステップB3)。オフロードエンジンドライバ62は受信データを上位アプリケーションのCIFデーモン61に渡す(ステップB4)。
以上の説明によれば、CIFSプロトコルのデータを分割できるように構成されているため、上位アプリケーションの CIFSデーモン61の構造から通信データのバッファリングやその制御を削除できる。CIFSでやりとりするデータは、(NetBIOSセッション用の情報+SMBヘッダ情報+受け渡すデータ)のようにヘッダ情報が先頭に位置する。このため、受けとったデータの先頭を確認することで次にすべき行動が判断できる。
データストリームにて通信を行うネットワーク通信装置の用途に適用できる。
発明のシステム構成を示す図である。 第1の実施例の構成を示す図である。 第2の実施例の構成を示す図である。 RPCデータとネットワーク上のデータとデータ表現を説明する図である。 受信からデータ構築までの関係を説明する図である。 従来の受信データをバッファに詰める仕方を説明する図である。 データを大きな受信バッファに詰める仕方を例示する図である。 データを小さな受信バッファに詰める仕方を例示する図である。
符号の説明
1 サービスサブシステム
2 ネットワークサブシステム
3 ネットワーク
11 上位アプリケーション
12 オフロードエンジンドライバ
21 オフロードエンジン

Claims (7)

  1. クライアント及びサーバのアプリケーションを処理するサービスサブシステムをネットワークサブシステムを介してネットワークに接続してなるシステムにおいて、
    上位アプリケーションと、通信下位プロトコルを実行するオフロードエンジンを接続するオフロードエンジンドライバと、を搭載するサービスサブシステムと、
    前記通信下位プロトコルを実行し、受信データストリームを前記上位アプリケーションの処理単位に分割して前記オフロードエンジンドライバに送付するオフロードエンジンを搭載するネットワークサブシステムと、
    を備えることを特徴とする通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム。
  2. 前記オフロードエンジンドライバは、
    前記オフロードエンジンに前記処理単位に分割したデータを格納する受信バッファの可変個のアドレス情報を渡し、前記オフロードエンジンから前記受信バッファに前記処理単位に分割したデータの格納済み情報を得ることを特徴とする請求項1記載の通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム。
  3. 前記オフロードエンジンは、
    前記ネットワークを接続するハードウェアを含み、前記サービスサブシステムを制御するオペレーティングシステムとは独立に、通信下位プロトコルの実行と、前記アドレス情報に基づく前記受信バッファに前記処理単位に分割したデータの格納と、前記格納済み情報を前記オフロードエンジンドライバへの通知と、をすることを特徴とする請求項1記載の通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム。
  4. 前記ネットワークサブシステムは、
    前記サービスサブシステムを搭載するハードウェアカードとは別のハードウェアカードに搭載されることを特徴とする請求項1記載の通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム。
  5. 前記ネットワークサブシステムは、
    前記サービスサブシステムを搭載するハードウェアカードの一部に搭載されることを特徴とする請求項1記載の通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム。
  6. 前記上位アプリケーションは、
    ネットワークファイルシステムのNFSデーモンであることを特徴とする請求項1記載の通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム。
  7. 前記上位アプリケーションは、
    共通インターネットファイルシステムのCIFSデーモンであることを特徴とする請求項1記載の通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム。
JP2004191103A 2004-06-29 2004-06-29 通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム Expired - Fee Related JP3966307B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004191103A JP3966307B2 (ja) 2004-06-29 2004-06-29 通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004191103A JP3966307B2 (ja) 2004-06-29 2004-06-29 通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム

Publications (2)

Publication Number Publication Date
JP2006014143A true JP2006014143A (ja) 2006-01-12
JP3966307B2 JP3966307B2 (ja) 2007-08-29

Family

ID=35780795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004191103A Expired - Fee Related JP3966307B2 (ja) 2004-06-29 2004-06-29 通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム

Country Status (1)

Country Link
JP (1) JP3966307B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009218743A (ja) * 2008-03-07 2009-09-24 Canon Inc Ipプロトコル処理装置及びその処理方法
JP2015032865A (ja) * 2013-07-31 2015-02-16 サイレックス・テクノロジー株式会社 ネットワーク受信装置
US8972595B2 (en) 2007-06-18 2015-03-03 Ricoh Company, Ltd. Communication apparatus, application communication executing method, and computer program product, configured to select software communication or hardware communication, to execute application communication, based on reference information for application communication

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5857735B2 (ja) 2011-12-27 2016-02-10 株式会社リコー 画像処理方法、画像処理装置、及び制御プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972595B2 (en) 2007-06-18 2015-03-03 Ricoh Company, Ltd. Communication apparatus, application communication executing method, and computer program product, configured to select software communication or hardware communication, to execute application communication, based on reference information for application communication
JP2009218743A (ja) * 2008-03-07 2009-09-24 Canon Inc Ipプロトコル処理装置及びその処理方法
JP2015032865A (ja) * 2013-07-31 2015-02-16 サイレックス・テクノロジー株式会社 ネットワーク受信装置

Also Published As

Publication number Publication date
JP3966307B2 (ja) 2007-08-29

Similar Documents

Publication Publication Date Title
US8713180B2 (en) Zero-copy network and file offload for web and application servers
US10985999B2 (en) Methods, devices and systems for coordinating network-based communication in distributed server systems with SDN switching
US9606946B2 (en) Methods for sharing bandwidth across a packetized bus and systems thereof
US9154453B2 (en) Methods and systems for providing direct DMA
US6535518B1 (en) System for bypassing a server to achieve higher throughput between data network and data storage system
EP3238401B1 (en) Network extended tcp splicing
RU2380746C2 (ru) Выравнивание сетевой нагрузки с помощью информации статуса хоста
US6449656B1 (en) Storing a frame header
US10846155B2 (en) Method for NVMe SSD based storage service using RPC and gRPC tunneling over PCIe +
JP5204195B2 (ja) データ送信システムおよびデータ送信プログラム
US20070162631A1 (en) Method for selectable software-hardware internet SCSI
JP2008020977A (ja) ネットワークプロセッサシステムおよびネットワークプロトコル処理方法
US7519699B2 (en) Method, system, and computer program product for delivering data to a storage buffer assigned to an application
US20070124378A1 (en) Method and system for indicate and post processing in a flow through data architecture
US9544370B2 (en) Data transferring apparatus, data transmission system and data transmitting method
Kim et al. Increasing web server throughput with network interface data caching
US9172744B2 (en) Scalable storage with programmable networks
US7761587B2 (en) Apparatus and method for transmitting packet IP offload
Gilfeather et al. Splintering TCP
JP3966307B2 (ja) 通信下位プロトコルの実行及び受信データストリームのデータ分割機能を有するオフロードエンジンを備える通信システム
RU2387002C2 (ru) Выравнивание сетевой нагрузки с помощью управления соединением
JP2000035870A (ja) プリントシステム及びプリンタ
JP2009199433A (ja) ネットワーク処理装置およびネットワーク処理プログラム
EP3001322B1 (en) Network devices with multiple fully isolated and independently resetable direct memory access channels and methods thereof
US8806053B1 (en) Methods and systems for optimizing network traffic using preemptive acknowledgment signals

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070115

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070315

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070521

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3966307

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100608

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110608

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110608

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120608

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120608

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130608

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees