JP2002529856A - インターネットクライアントサーバマルチプレクサ - Google Patents
インターネットクライアントサーバマルチプレクサInfo
- Publication number
- JP2002529856A JP2002529856A JP2000581549A JP2000581549A JP2002529856A JP 2002529856 A JP2002529856 A JP 2002529856A JP 2000581549 A JP2000581549 A JP 2000581549A JP 2000581549 A JP2000581549 A JP 2000581549A JP 2002529856 A JP2002529856 A JP 2002529856A
- Authority
- JP
- Japan
- Prior art keywords
- server
- segment
- connection
- client
- modified
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
Description
詳細には、クライアントとサーバとの間のインターネットを通じたマルチプレク
サ接続に関するものである。
ことはできない。これは、指数関数的に増加するインターネットの人気を説明す
る。インターネットは、相互接続されたコンピュータネットワークの世界的な集
合である。そのコンピュータネットワークの集合は、量および種類が増大する情
報に電子的にアクセスするために用いられ得る。
ブ(wwwまたは「ウェブ」)として公知である。そのウェブは、分散されたハ
イパーメディアシステムであり、クライアントサーバに基づいた情報提示システ
ムとして機能する。ウェブ全体にわたってアクセス可能であるように意図される
情報は、「サーバ」として公知の汎用コンピュータに「ページ」の形式で記憶さ
れている。コンピュータのユーザは、そのページのユニフォームリソースロケー
タ(URL)を指定することによって、「クライアント」と呼ばれる汎用コンピ
ュータを用いてウェブページにアクセスし得る。図1は、インターネットに接続
された複数のクライアントおよびサーバを示したネットワークブロック図である
。
は、ネットワークアドレスに変換するためにドメインサーバ(DNS)に渡され
る。そのネットワークアドレスは、意図したサーバのインターネットプロトコル
(IP)アドレスを指定する。クライアント要求は、そのネットワークアドレス
を有するサーバに渡される。そのサーバは、クライアントによって要求されたウ
ェブページの位置を示すためにURL中のパス名を用いる。次いで、ウェブペー
ジのコピーは、ユーザが見るためにクライアントに送信される。
ってきた。しかしながら、いくつかの問題が存在する。1つの問題は、サーバ接
続ローディングである。
なタスク、例えば、ファイル管理、アプリケーション処理、データベース処理な
どに対して最適化された汎用機である。サーバは、ネットワーク接続の開閉のよ
うなタスク切換えを扱うようには最適化されていない。ある負荷条件下で、これ
らのタスクは、サーバの処理リソースの大部分のパーセンテージ(しばしば20
パーセント、時には50パーセントまでのオーダ)を消費する、かなりのオーバ
ーヘッドを表し得る。この問題は、本明細書では「接続ローディング」と呼ぶ。
続を設定するために3パケットの情報を交換しなければならない。一度その接続
が確立されると、クライアントは、サーバにURL(ページ)要求を送信する。
このURL(ページ)要求は、1パケットからなる。次いで、このサーバは、1
つ以上のパケット応答を、クライアントへ返送する。一度要求および応答が、ク
ライアントおよびサーバから交換されると、クライアントおよびサーバの両方は
、それぞれの接続を閉にする。接続を閉にするには、さらに4つのパケット情報
交換が必要である。上述されたように、1つのURLをダウンロードすることに
関するかなりの量のオーバーヘッドがある(すなわち、7パケット)。ページは
典型的に、複数のURLからなる。
する各パケットは、サーバのCPUに割り込み、ネットワークインターフェイス
カード(NIC)からサーバのメインメモリまでのそのパケットを移動させる。
結果として、これはサーバのCPUの生産性を損失する。従って、必要とされる
ことは、サーバ側で貴重なCPU時間を消費することを回避する方法である。結
果として、同じリソースがより多くのURL(ページ)要求を処理するために適
用され得る。従って、これによりサーバのURL処理容量が改善される。
さらに、接続の確立は、CPU/メモリに関連したかなりのサーバリソースを消
耗する。サーバ側で接続を確立するために、パケットは、ドライバ層によって処
理されることが必要である。ここで、イーサネット(登録商標)特有の情報が扱
われる。そのドライバ層は、より多く処理するためにIP層にパケットを送信す
る。ここで、IP(インターネットプロトコル)に関連した処理の全てが扱われ
る。この後、パケットはTCP(伝送制御プロトコル)層に渡される。ここで、
TCP層に関連する情報が処理される。TCP層は、接続テーブル等を作成する
ために、かなりのサーバリソースを消費する。従って、必要とされることは接続
処理を回避して、それによって、かなりのCPU/メモリリソースをセーブする
ための方法である。
する必要がある。接続とURL要求が処理されると、そのスレッドは終了する。
スレッドは、プロセスの型の1つであるライトウェイトプロセス(LWP)であ
る。スレッドは効率的であるけれども、スレッドを作成し、破壊するためにかな
りのCPUおよびメモリが必要である。従って、スレッドの作成を回避すること
により、サーバリソースのかなりの量が温存され得る。続いて、そのサーバリソ
ースのかなりの量は、ウェブ要求をより多く処理するために用いられ得る。
システムと呼ばれており、これらのシステムは、共通のメモリアーキテクチャを
有する。そのSMPシステムはまた、複数のCPUを管理する1つのオペレイテ
ィングシステム(OS)を有する。1つのOSは、1つのネットワーキング/プ
ロトコルスタックを意味する。複数のCPUがカーネルプロトコルスタック中の
データ構造にアクセスする場合、1つ以上のCPUがそのデータ構造に読み/書
きをし得るので、データの破損に対して保護することが重要である。保護コード
は、SMPシステムにパケット当たりのさらなるオーバーヘッドを負担させる。
ンターネット要求を扱うことを望むデータの提供者は、しばしば、複数のサーバ
上にコンテンツを複製し、次に、これらのサーバ間に要求を分散させるというア
プローチに頼る。このアプローチは、たとえそのコンテンツが、まれにしかアク
セスされなくても、各複製サーバにコンテンツの全体を複製する必要がある。こ
れは、サーバリソースの浪費を示す。
ステム、方法、およびコンピュータプログラム製品である。好適な実施形態にお
いて、本発明は、インターネットに複数のサーバを接続するインターフェイスユ
ニットの中で実行され、インターフェイスユニットは、次に、複数のクライアン
トに接続されている。
ユニットとの間の接続を開始するステップと、インターフェイスユニットとサー
バとの間で開である、空いている接続がない場合、インターフェイスユニットと
サーバとの間の接続を開にするステップと、クライアントがその接続を経由して
サーバ上の情報にアクセスすることを可能にするステップと、インターフェイス
ユニットとサーバとの間の接続を開に維持する一方で、クライアントとインター
フェイスユニットとの間の接続を閉にするステップとを含む。
を使用してデータを検索する要求をクライアントから受信するステップと、パス
名、サーバの負荷、およびサーバの状態のうち少なくとも1つを含むあらかじめ
定義された方針の機能としてデータを格納するサーバを選択するステップと、既
に開にされた接続を使用してサーバからデータを検索するステップと、クライア
ントにそのデータを送信するステップとを含む。
る技術によって、接続ローディング問題を解消するということである。
distribution)」として参照される技術の使用によって、接続複製
問題を解消するということである。
して参照される技術を使用して、サーバおよびクライアントからの接続を、ユー
ザに意識させないでスプライスする(splice)ということである。
より、より明白となる。図面にわたって、同じ参照文字は対応する要素を特定す
る。
ステム、方法、およびコンピュータプログラム製品である。
いてのネットワークコンテクストの図である。好適な実施形態において、インタ
ーフェイスユニットは、サーバ内のCPUを有するインテリジェントネットワー
クインターフェイスカードである。インターフェイスユニットはまた、サーバの
外に設置しているインテリジェントボックスであり得、この場合、1つ以上のサ
ーバを取り扱い得る。インターフェイスユニット202はまた、クライアントと
サーバとの間に設けられている負荷バランサ、バンド幅マネージャ、ファイアウ
ォール、ルータ、スイッチ、コンピュータシステム、または他の任意のネットワ
ークデバイスであり得る。
に接続されており、複数のサーバS1、S2、S3は、インターフェイスユニッ
ト202によってインターネットに接続されている。複数のサーバS1、S2、
S3は、ひとまとめにして「サーバファーム」と言われている。サーバファーム
とのすべてのインターネットトラフィックは、インターフェイスユニット202
を通過する。本発明はインターネットに関して説明されるが、当該分野の当業者
に明確なように、説明される概念はまた、別のタイプのネットワークにもあては
まるる。
との1つ以上の接続を開にし、インターネットを介してクライアントが繰り返し
てデータにアクセスできるようにこれらの接続を維持することによって、クライ
アントへの接続を繰り返し開閉することで生じるサーバS1、S2、S3の多く
の処理負荷を軽減する。この技術は、本明細書において「接続プーリング」と言
われている。
ーチャートである。このプロセスは、クライアントが、インターフェイスユニッ
ト202によって管理されているサーバファームにおいて、1つのサーバへのア
クセスを要求する場合に開始する。接続は、インターフェイスユニットと要求し
ているクライアントとの間で開であり、インターフェイスユニット202は、ス
テップ302で示されるように、サーバにアクセスするためのクライアント要求
を受信する。インターフェイスユニット202は、ステップ304で示されるよ
うに、要求されたサーバのアイデンティティを決定する。1つの実施形態におい
て、これは、クライアント要求によって特定されたデスティネーションネットワ
ークアドレスを検査することによって達成される。別の実施形態において、これ
は、クライアント要求によって特定されたネットワークアドレスおよびパス名を
検査することによって達成される。クライアント要求が向けられなければならな
いサーバのアイデンティティを決定した後、インターフェイスユニット202は
、ステップ306で示されるように、サーバへの空いている(すなわち、使用さ
れていない)接続が既に開であるかどうかを決定する。開であるなら、処理はス
テップ310で再開する。開でないなら、インターフェイスユニット202は、
ステップ308で示されるように、サーバへの接続を開にする。次に、インター
フェイスユニット202は、ステップ310で示され、以下の図4に関してより
詳細に説明するように、クライアント要求を変換し、サーバにそれを渡す。サー
バ処理の後、インターフェイスユニットは、ステップ312で示されるように、
サーバからの応答を受信する。サーバ応答は、ステップ314で示され、以下に
さらに説明されるように、交換され、要求しているクライアントに渡される。最
終的に、インターフェイスユニット202は、ステップ316で示されるように
、クライアントとの接続を閉にする。しかしながら、インターフェイスユニット
202とサーバとの間の接続は、切断されない。サーバとの開である接続を維持
すること、ならびに、必要に応じてクライアントとの接続を開閉することによっ
て、インターネットを介して取り扱うクライアントに関する接続負荷のほとんど
すべての問題をサーバから解放する。
プレクシングを達成するためにクライアントおよびサーバの要求を変換する際の
、本発明の動作を示すフローチャートである。好適な実施形態において、メッセ
ージトラフィックは、TCP/IPパケットの形式、当該分野で周知のプロトコ
ル群の形式である。TCP/IPプロトコル群は、多くのアプリケーション、例
えば、Telnet、File Transfer Protocol(FTP
)、e-mail、Hyper-Text Transfer Protocol
(HTTP)をサポートする。本発明は、HTTPプロトコルに関して説明され
る。しかしながら、本明細書を読むことで、当該者に明確となるように、本発明
の概念は、他のTCP/IPアプリケーションにも同様にあてはまる。
、32ビットソースIPアドレス、および32ビットデスティネーションIPア
ドレスを備える。TCPヘッダは、16ビットソースポート番号、および16ビ
ットデスティネーションポート番号を備える。ソースIPアドレスおよびポート
番号はひとまとめにして、ソースネットワークアドレスと呼ばれており、パケッ
トのソースインターフェイスを一意に特定する。同様に、デスティネーションI
Pアドレスおよびポート番号はひとまとめにして、デスティネーションネットワ
ークアドレスと呼ばれており、パケットに対するデスティネーションインターフ
ェイスを一意に特定する。パケットのソースネットワークアドレスおよびデステ
ィネーションネットワークアドレスは、接続を一意に特定する。TCPヘッダは
また、32ビットシーケンス番号および32ビット承認番号を含む。
Pヘッダおよびデータを含む。シーケンス番号は、送信TCPから受信TCPま
でのデータの文字列でセグメントのデータの初めのバイトが表わすバイトを特定
する。交換されたそれぞれのバイトが番号付けされるので、承認番号は、承認の
送信側が受け取ると予期する次のシーケンス番号を含む。従って、これは、最後
に正常に受信されたデータのバイトを加えたシーケンス番号である。チェックサ
ムはTCPセグメント、すなわち、TCPヘッダおよびTCPデータをカバーす
る。これは、送信側によって計算され、記憶され、続いて、受信側によって確認
されなければならない必須のフィールドである。
ィングするために、または、サーバからクライアントまでアウトバウンドのパケ
ットを正常にルーティングするために、インターフェイスユニット202は、「
ネットワークアドレス変換」として公知のプロセスを使用する。ネットワークア
ドレス変換は、当該分野で周知であり、request for commen
ts(RFC)1631によって仕様が定められている。そのRFC1631は
、URL http://www.safety.net/RFC1631.t
xtで見出され得る。
に、本発明はまた、本明細書中で「接続マルチプレクシング」と呼ばれる新しい
変換技術を使用する。この技術によって、本発明は、TCPプロトコルレベルで
パケットのシーケンス番号および承認番号を修正することによってパケットを変
換する。この技術の重要な利点は、アプリケーション層相互作用が必要とされな
いということである。
アドレスが変換される。インバウンドパケット(すなわち、パケットがクライア
ントから受信された)の場合において、パケットのソースネットワークアドレス
は、インターフェイスユニットの出力ポートのネットワークアドレスに変換され
、デスティネーションネットワークアドレスは、意図したサーバのネットワーク
アドレスに変換される。アウトバンドパケット(すなわち、パケットがサーバか
ら受信された)の場合において、ソースネットワークアドレスは、サーバのネッ
トワークアドレスからインターフェイスユニットの出力ポートのネットワークア
ドレスに変換され、デスティネーションアドレスは、インターフェイスユニット
のネットワークアドレスから要求しているクライアントのネットワークアドレス
に変換される。パケットのシーケンス番号および承認番号もまた、ステップ40
4および406に示され、以下で詳細に記載されるように、変換される。最後に
、パケットチェックサムは、ステップ408に示されるように、これらの変換を
仕上げるために再計算される。
フロー図である。図5は、サーバSに2つのクライアントC1およびC2を接続
したインターフェイスユニット202を示す。初めに、インターフェイスユニッ
ト202は、フロー502に示されるように、クライアントC1によって提供さ
れたネットワークアドレス1を使用して、クライアントC1との接続を開にする
。フローライン502は、2方向のフローとして示されている。なぜならば、T
CP/IPプロトコルは、接続を開にするために多段式のハンドシェイクを使用
するからである。
イン504に示されるように、/sales/forecast.htmlのパ
ス名を指定するクライアントC1からのGET要求を受信する。インターフェイ
スユニット202とサーバSとの間に開である空いている接続がないために、イ
ンターフェイスユニット202はサーバSとの接続を開にする。フローライン5
06に示されるように、インターフェイスユニット202は、サーバSを特定す
るネットワークアドレス2にこの要求をマッピングする。インターフェイスユニ
ット202はまた、フローライン508に示されるように、そのサーバにGET
要求を渡す。サーバSは、フローライン510に示されるように、要求されたウ
ェブページで応答する。インターフェイスユニット202は、フローライン51
2に示されるように、クライアントC1にウェブページを転送する。最後に、ク
ライアントC1とインターフェイスユニット202との間の接続は、フローライ
ン514に示されるように、閉にされる。TCP/IPプロトコルによれば、ネ
ットワークの接続を閉にすることは、多段式のプロセスを包含し得る。従って、
フローライン514は、双方向として示される。インターフェイスユニット20
2は、サーバSとの接続を閉にせず、むしろ、さらなるデータフローを供給する
ために接続を開に維持することに注意することが重要である。
って提供されたネットワークアドレス1を使用して、インターフェイスユニット
202とクライアントC2との間で開にされる。続いて、インターフェイスユニ
ット202は、フローライン518に示されるように、ウェブページ/sale
s/forecast.htmlを指定するクライアントC2からのGET要求
を受信する。空いている接続がすでにインターフェイスユニット202とサーバ
Sとの間で開であるために、インターフェイスユニット202にとって、サーバ
Sにさらなる接続を開にする際にともなう処理負荷を負わせることが不要となる
。インターフェイスユニット202は単に、空いている、開である接続を使用す
る。インターフェイスユニット202は、フローライン520に示されるように
、サーバSにGET要求をマッピングし、GET要求を変換し、サーバSにGE
T要求を転送する。インターフェイスユニット202は、フローライン522に
示されるように、サーバSからの応答を受信し、フローライン524に示される
ように、クライアントC2に応答を転送する。最後に、インターフェイスユニッ
ト202は、フローライン526に示されるように、クライアントC2との接続
を閉にする。前と同じように、インターフェイスユニット202は、サーバSと
の接続を閉にしない。代わりに、インターフェイスユニット202は、さらなる
データフローを供給するために接続を開に維持する。
果としてクライアントC2との接続を閉にするという多くのシナリオが存在する
。例えば、クライアントは、FIN(終了)コマンドを開始し得る。それは、ひ
とたびクライアントが要求したデータの全てを受信したときに生じる。クライア
ントはまた、RST(リセット)コマンドを開始し得る。インターフェイスユニ
ット202とクライアントとの間の接続を閉にすることに加えて、RSTコマン
ドにより、サーバ側の接続を良好な順序に維持するために実行される多くのハウ
スキーピング動作が、結果として得られる。特に、TCPプロトコルは、RST
コマンドが正しいSEQ(シーケンス)番号を有し、それにより、サーバが、セ
グメントを受取るということを保証する。しかしながら、RSTコマンドは、正
しいACK(承認)番号を有することが保証されない。このシナリオを処理する
ために、インターフェイスユニット202は、サーバによって送信されたデータ
のバイトおよびクライアントによって承認されたバイトを追跡する。クライアン
トが、サーバによるデータの全てをまだ承認していなかった場合、インターフェ
イスユニット202は、承認されていないバイトを計算し、サーバにACKを送
信する。その上、サーバ側のPCBは、任意の処理待ちのサーバデータトランス
ファを排出することを可能にするタイムアウトキューに配置され得る。
ェイスユニット202との間の接続を閉にし得る。サーバは、インターフェイス
ユニット202にFINコマンドを送信する。このケースにおいて、サーバとイ
ンターフェイスユニット202との間の接続、およびインターフェイスユニット
202とクライアントとの間の接続の両方は、閉にされる。
サーバからの接続処理の負荷の除去を最大限にすることである。以下の3つの場
合がある。
明示的なKeep−Aliveヘッダは必要とされない。デフォルトにより、サ
ーバは接続を開いたままにし、接続を閉じるのはクライアント次第である。本発
明は、サーバ側接続を再利用することにより、サーバの負荷を取り除く。
トにより“Connection:Keep−Alive”ヘッダが提供される
場合。この場合、サーバは接続を開いたままにし、接続を閉じるのはクライアン
ト次第である。本発明は、サーバ側接続を再利用することにより、サーバの負荷
を取り除く。
トにより“Connection:Keep−Alive”ヘッダが提供されな
い場合。この場合、サーバは、通常(本発明を使用せずに)、1つのGET要求
を完全に満たした後、接続を閉じる。サーバが各要求後に接続を閉じる場合、サ
ーバは、そのインターフェイスユニット202に、サーバ側接続を再利用する機
会を与えない。インターネットの多くが、依然として“Connection:
Keep−Alive”なしでHTTP/1.0を使用していることがわかる。
従って、本発明は、この特定の、かつ重要な場合に、サーバ側接続の再使用を可
能にする。インターフェイスユニット202は、GETパケットを調べて、この
状況を検出する。この場合が検出されると、インターフェイスユニット202は
、GETパケットに“Connection:Keep−Alive”を挿入す
る。これは、クライアントには見えない状態で行われるため、インターフェイス
ユニット202は、サーバ側接続での“Bytes Added”の数を把握し
なければならない。“Bytes Added”は、GETパケットにおけるシ
ーケンス番号に影響を及ぼさない。なぜなら、シーケンス番号は、最初のバイト
のものであるからである。しかし、インターフェイスユニット202は、クライ
アントからサーバへの後続パケットのシーケンス番号に、“Bytes Add
ed”を追加しなければならない。逆に言えば、サーバは、追加バイトを承認す
るが、インターフェイスユニットは、これらのバイトが追加されたことを知らな
いクライアントに承認応答を送る前に、追加バイトを差し引かなければならない
。
操作することにより達成される。インターフェイスユニット202により受け取
られたセグメントのシーケンス番号および承認番号は、変更され、そして受け側
により期待される値にマップされる。クライアントには、データは、サーバから
入ってくるように見え、そしてその逆も同様である。たとえば、“Inflow
”が、インターフェイスユニット202により受け取られたセグメントを示し、
“Outflow”が対応する出力セグメントを示す場合、シーケンス番号およ
び承認番号は、以下の態様で変えられる。
開始シーケンス番号+Outflow開始シーケンス番号 Outflow承認番号=Inflow承認番号−Inflow開始承認番号
+Outflow開始承認番号 HTTP/1.0パケットの場合の“Connection:Keep−Ali
ve”ヘッダの追加に対処するために、インターフェイスユニット202は、接
続の適切な側、この場合はサーバ側で、“Bytes Added”を追跡する
。シーケンス番号および承認番号の式は、以下のように変えられる。
開始シーケンス番号+Outflow開始シーケンス番号+Outflow B
ytes Added Outflow承認番号=Inflow承認番号−Inflow開始承認番号
+Outflow開始承認番号−Inflow Bytes Added これらの式を用いて達成される変換の具体的な実施例が、以下に示される。
により行われる承認番号およびシーケンス番号の変換を説明する詳細なフロー図
である。図6Aおよび図6Bにおける各フローのラベルは、T:S,A(L)の
形である。ここで、TはTCPセグメントタイプを示し、Sはシーケンス番号で
あり、Aは承認番号であり、Lは長さパラメータである。長さパラメータは、T
CPセグメントにおけるデータのバイト数を示す。図6Aのフローは、図5のフ
ロー502〜514に対応する。
ターフェイスユニット202との間の接続を開く1つの方法を示す。各フローは
、TCPセグメントを示す。TCPセグメント602Aにおいて、TCPヘッダ
のSYNフラグがセットされ、クライアントC1からの新しい接続要求を示す。
クライアントC1は、開始シーケンス番号2000および承認番号2000を確
立している。インターフェイスユニット202は、フロー602Bで示されるよ
うに、開始シーケンス番号4000を指定しかつ承認番号を2001に増加する
SYN ACKセグメントで応答する。当該分野において周知のように、ネット
ワーク内の各エンティティ(例えば、クライアント、サーバ、インターフェイス
ユニット)は、そのエンティティ自体の固有のシーケンス番号および/または承
認番号をセットする。クライアントC1は、フロー602Cで示されるように、
シーケンス番号2001を指定しかつ承認番号を4001に増加するACKセグ
メントで応答する。次いで、クライアントC1は、フロー604で示されるよう
に、49バイト長を指定するGETセグメントを送る。
はないと判定し、従って、フロー606Aに示されるように、開始シーケンス番
号1950を指定するSYNセグメントをサーバSに送る。サーバSは、606
Bに示されるように、開始シーケンス番号6000を指定しかつ承認番号を19
51に増加するSYN ACKセグメントで応答する。インターフェイスユニッ
ト202は、フロー606Cで示されるように、ACKセグメントで応答する。
次いで、インターフェイスユニット202は、フローライン608で示されるよ
うに、上記変換式に従ってシーケンス番号および承認番号を変更した後、クライ
アントC1からサーバSにGETセグメントを送る。
番号2000、および長さ999を指定する要求データで応答する。インターフ
ェイスユニット202は、RESPセグメントを受け取り、シーケンス番号およ
び承認番号を変換し、そしてフローライン612Aで示されるように、RESP
セグメントをクライアントC1に送る。クライアントC1は、フロー612Bで
示されるように、RESP ACKセグメントで応答する。インターフェイスユ
ニット202は、承認番号およびシーケンス番号を変更し、そしてフロー612
Cに示されるように、RESP ACKセグメントをサーバSに送る。
インターフェイスユニット202との間の接続が閉じられる。ただし、インター
フェイスユニット202がサーバSとの接続を維持することに注目することが重
要である。
16〜526に対応する。フロー616A、B、Cはフロー516に対応し、ク
ライアントC2とインターフェイスユニット202との間の接続を開く1つの方
法を示す。TCPセグメント618Aにおいて、TCPヘッダのSYNフラグが
セットされ、クライアントC2からの新しい接続要求を示す。クライアントC2
は、開始シーケンス番号999および承認番号999を確立している。インター
フェイスユニット202は、開始シーケンス番号4999を指定しかつ承認番号
を1000に増加するSYN ACKセグメントで応答する。クライアントC2
は、フロー616Cで示されるように、シーケンス番号1000を指定しかつ承
認番号を5000に増加するACKセグメントで応答する。次いで、クライアン
トC2は、フロー618で示されるように、50バイト長を指定するGETセグ
メントを送る。
があると判定し、従って、インターフェイスユニット202は、その接続を使用
する。サーバSとの間に新しい接続を開く必要はない。インターフェイスユニッ
ト202が、サーバSとの間の事前に開かれていた接続を使用しているため、イ
ンターフェイスユニット202は、その接続での以前の交換中に確立されたシー
ケンス番号および承認番号に従ってGETセグメントのシーケンス番号および承
認番号を変換する。本実施例では、インターフェイスユニット202は、フロー
606で確立された開始シーケンス番号および承認番号を使用し、最新フローで
あるフロー612Cで使用するシーケンス番号および承認番号で再開する。従っ
て、インターフェイスユニット202は、フローライン620で示されるように
、シーケンス番号2000、承認番号7000、および長さ50を用いて、GE
Tセグメントを、クライアントC2からサーバSに送る。
番号2050、および長さ500を指定する要求データで応答する。インターフ
ェイスユニット202は、RESPセグメントを受け取り、シーケンス番号およ
び承認番号を変換し、そしてフローライン624Aで示されるように、RESP
セグメントをクライアントC2に送る。クライアントC2は、フロー624Bで
示されるように、RESP ACKセグメントで応答する。インターフェイスユ
ニット202は、承認番号およびシーケンス番号を変更し、そしてフロー624
Cで示されるように、RESP ACKセグメントをサーバSに送る。
インターフェイスユニット202との間の接続が閉じられる。インターフェイス
ユニット202がここでもサーバSとの接続を維持することに注目することが重
要である。
ャートである。この特徴によれば、インターフェイスユニット202は、複数の
サーバとの接続を維持し、そして、クライアント要求において指定されたパス名
に基づいて、クライアント要求をこれらのサーバに経路付けする。まず、ステッ
プ702に示されるように、インターフェイスユニット202は、サーバとの間
の接続を開く。次に、ステップ704に示されるように、クライアント要求に応
答して、インターフェイスユニット202は、クライアントへの接続を開き、そ
してクライアントから、パス名を用いてデータを検索する要求を受信する。ステ
ップ706に示されるように、インターフェイスユニット202は、そのパス名
により指定された内容を管理しているサーバを選択する。別の実施形態では、イ
ンターフェイスユニット202は、サーバの負荷およびサーバの状態、などのそ
の他のあらかじめ規定された方針を考慮して、適切なサーバを選択する。インタ
ーフェイスユニット202は、インターフェイスユニット202が応対している
サーバおよびサーバファームのデータベースの管理および維持を行う。とりわけ
、このデータベースの情報は、インターフェイスユニット202が入力パケット
を正しいサーバに向けることを可能にする現在使用中のポリシーおよびルールを
含む。所望のネットワーク状態およびサービスに依存して、これらのポリシーお
よびルールは、非常に迅速に変わり得る。
は、要求を変換し、そして、変換された要求を、選択されたサーバに渡す。この
変換は、上で図4に関して大まかに説明されており、以下に詳細に説明される。
応答を受信する。次いで、ステップ712に示されるように、インターフェイス
ユニット202は、応答を変換し、そして変換された応答をクライアントに渡す
。ステップ708と同様に、ステップ712の変換は、以下に詳細に説明される
。最後に、ステップ714に示されるように、インターフェイスユニット202
は、クライアントとの間の接続を閉じる。
フロー図である。図8は、インターフェイスユニット202がクライアントC2
を2つのサーバS1およびS2に接続する状態を示す。この実施例では、図7の
ステップ702で示されるように、サーバS1およびS2との接続が事前に開か
れているものとする。
クライアントC2により提供されたネットワークアドレス1を用いて、クライア
ントC2との間の接続を開く。一旦接続が開かれると、インターフェイスユニッ
ト202は、フローライン804で示されるように、クライアントC1から、パ
ス名/sales/forecast.htmlを指定するGET要求を受信す
る。インターフェイスユニット202とサーバS1との間の空いている接続が開
いているため、インターフェイスユニット202は、サーバS1との間に別の接
続を開かない。
2にマップする。例えば、インターフェイスユニット202は、サーバファーム
の各パス名を、対応するウェブページを含むサーバにマップするテーブルを含み
得る。インターフェイスユニット202は、フローライン806で示されるよう
に、GET要求をサーバS1に送る。サーバS1は、フローライン808で示さ
れるように、要求されたウェブページで応答する。インターフェイスユニット2
02は、フローライン810で示されるように、ウェブページをクライアントC
2に送る。本発明の接続プールの特徴に従って、インターフェイスユニット20
2は、サーバS1との接続を閉じないで開いたままにし、さらなるデータフロー
を受け入れる。
ら受け取られる。インターフェイスユニット202とクライアントC2との間の
接続が、連続するGET要求の間で閉じられるかどうかは、本実施例では重要で
はない。このGET要求が、前のGET要求と同じクライアントから出されたも
のであるかどうかも、本実施例では重要ではない。重要なのは、クライアントか
らのGET要求が、前のGET要求と同じネットワークアドレス(ネットワーク
アドレス1)に向けられているのに、前の要求とは異なるサーバ(サーバS2)
にマップされることである。本発明の接続多重化の特徴のため、このリダイレク
ションは、要求の発信元に対して透過性である。
する。GET要求は、パス名/products/new.htmlを指定する
。インターフェイスユニット202は、このパス名に対応するウェブページがサ
ーバS2上にあると判定する。従って、図8のGET要求は同じネットワークア
ドレスを指定しているが、これらのGET要求は、それぞれのパス名を用いて、
異なるサーバにマップされる。本実施例は、本発明の「接続分散」の局面を説明
する。
に開いているため、インターフェイスユニット202が、サーバS2に、別の接
続を開く処理負荷を与えずにすむ。インターフェイスユニット202は単に、空
いている開いた接続を使用するだけである。インターフェイスユニット202は
、フローライン816で示されるように、サーバS2から応答を受け取り、フロ
ーライン818に示されるように、その応答をクライアントC2に送る。最後に
、インターフェイスユニット202は、フロー820に示されるように、クライ
アントC2との接続を閉じる。この場合も、インターフェイスユニット202は
、サーバS2との間の接続を閉じない。その代わりに、インターフェイスユニッ
ト202は、接続を開いたままにして、さらなるデータフローを受け入れる。
承認番号およびシーケンス番号の変換を説明する詳細なフロー図である。図9の
フローは、図8のフロー802〜820に対応する。
ターフェイスユニット202との間の接続を開く1つの方法を示す。クライアン
トC2は、開始シーケンス番号999および承認番号999を確立している。イ
ンターフェイスユニット202は、フロー902Bで示されるように、開始シー
ケンス番号4999を指定しかつ承認番号を1000に増加するSYN ACK
セグメントで応答する。クライアントC2は、フロー902Cで示されるように
、シーケンス番号1000を指定しかつ承認番号を5000に増加するACKセ
グメントで応答する。次いで、クライアントC2は、フロー904で示されるよ
うに、50バイト長を指定するGETセグメントを送る。
ット202は、新しい接続を開くのではなく、その接続を使用し、そして、その
接続を介して伝送された前のセグメントからのシーケンス番号および承認番号を
用いてGETセグメントのシーケンス番号および承認番号を変更する。本実施例
では、それらのパラメータがそれぞれ2000および7000であるものとする
。従って、インターフェイスユニット202は、フローライン906で示される
ように、シーケンス番号2000、承認番号7000、および長さ50を用いて
、GETセグメントをサーバS1に送る。
認番号2050、および長さ500を指定する要求データで応答する。インター
フェイスユニット202は、RESPセグメントを受け取り、シーケンス番号お
よび承認番号を変換し、そしてフローライン910Aで示されるように、RES
PセグメントをクライアントC2に送る。クライアントC2は、フロー910B
で示されるように、RESP ACKセグメントで応答する。インターフェイス
ユニット202は、承認番号およびシーケンス番号を変更し、そしてフロー91
0Cで示されるように、RESP ACKセグメントをサーバS1に送る。
イト長を指定する別のGETセグメントを受け取る。上記のように、インターフ
ェイスユニット202は、この要求をサーバS2にマップする。そのサーバとの
間の空いている接続がすでに開いているため、インターフェイスユニット202
は、その接続を使用し、そして、その接続を介して伝送された前のセグメントか
らのパラメータを用いてGETセグメントのシーケンスパラメータおよび承認パ
ラメータを変換する。本実施例では、それらのパラメータがそれぞれ3000お
よび4000であるものとする。従って、インターフェイスユニット202は、
フローライン914で示されるように、シーケンス番号3000、承認番号40
00、および長さ50を用いて、GETセグメントをサーバS2に送る。
認番号3050、および長さ400を指定する要求データで応答する。インター
フェイスユニット202は、RESPセグメントを受け取り、シーケンス番号お
よび承認番号を変換し、そしてフローライン918Aで示されるように、RES
PセグメントをクライアントC2に送る。クライアントC2は、フロー918B
で示されるように、RESP ACKセグメントで応答する。インターフェイス
ユニット202は、承認番号およびシーケンス番号を変更し、そしてフロー91
8Cで示されるように、RESP ACKセグメントをサーバS2に送る。最後
に、フロー920A、B、C、Dに示されるように、インターフェイスユニット
202とクライアントC2との間の接続が閉じられる。
され得るとともに、コンピュータシステムまたはその他の処理システムにおいて
実現され得る。実際に、1つの実施形態では、本発明は、本明細書に記載される
機能を実行することができる1つ以上のコンピュータシステムに関する。例示的
なコンピュータシステム1000が、図10に示される。コンピュータシステム
1000は、プロセッサ1004などの1つ以上のプロセッサを含む。プロセッ
サ1004は、通信バス1006に接続される。この例示的なコンピュータシス
テムに関して、様々なソフトウェアの実施形態が説明される。本明細書を読めば
、その他のコンピュータシステムおよび/またはコンピュータアーキテクチャを
用いて本発明を実現する方法が、関連分野の当業者に明らかになる。
ンダムアクセスメモリ(RAM)を含み、二次メモリ1010も含み得る。二次
メモリ1010は、例えば、ハードディスクドライブ1012および/またはリ
ムーバブル格納ドライブ1014を含み得る。リムーバブル格納ドライブ101
4は、フロッピー(登録商標)ディスクドライブ、磁気テープドライブ、光ディ
スクドライブなどを表す。リムーバブル格納ドライブ1014は、周知の態様で
リムーバブル格納ユニット1018からの読み出しおよび/またはリムーバブル
格納ユニット1018への書き込みを行う。リムーバブル格納ユニット1018
は、リムーバブル格納ドライブ1014により読み出しおよび書き込みが行われ
る、フロッピー(登録商標)ディスク、磁気テープ、光ディスクなどを表す。リ
ムーバブル格納ユニット1018は、コンピュータソフトウェアおよび/または
データを格納している、コンピュータで使用可能な記憶媒体を含むことが認識さ
れる。
の他の命令がコンピュータシステム1000にロードされることを可能にするた
めのその他の同様の手段を含み得る。そのような手段は、例えば、リムーバブル
格納ユニット1022およびインターフェイス1020を含み得る。そのような
ものの例は、プログラムカートリッジおよびカートリッジインターフェイス(ビ
デオゲームデバイスにみられるものなど)、リムーバブルメモリチップ(EPR
OMまたはPROMなど)および関連ソケット、ならびに、ソフトウェアおよび
データがリムーバブル格納ユニット1018からコンピュータシステム1000
に転送されることを可能にするその他のリムーバブル格納ユニット1022およ
びインターフェイス1020、を含み得る。
得る。通信インターフェイス1024は、ソフトウェアおよびデータが、コンピ
ュータシステム1000と外部デバイスとの間で転送されることを可能にする。
通信インターフェイス1024の例は、モデム、ネットワークインターフェイス
(イーサネット(登録商標)カードなど)、通信ポート、PCMCIAスロット
およびカード、などを含み得る。通信インターフェイス1024を介して転送さ
れたソフトウェアおよびデータは信号の形態であり、これらの信号は、電子、電
磁、光学、または、通信インターフェイス1024により受け取られることが可
能なその他の信号であり得る。これらの信号1026は、チャネル1028を介
して通信インターフェイスに提供される。このチャネル1028は、信号102
6を運び、ワイヤまたはケーブル、光ファイバ、電話回線、セルラーホンリンク
、RFリンク、およびその他の通信チャネルを用いて実現され得る。
使用可能な媒体」という用語は、リムーバブル格納デバイス1018、ハードデ
ィスクドライブ1012に取り付けられたハードディスク、および信号1026
、などの媒体を総称するために用いられる。これらのコンピュータプログラムプ
ロダクトは、コンピュータシステム1000にソフトウェアを提供するための手
段である。
モリおよび/または二次メモリ1010に格納される。コンピュータプログラム
はまた、通信インターフェイス1024を介して受け取られ得る。そのようなコ
ンピュータプログラムは、実行されると、コンピュータシステム1000が本明
細書において説明される本発明の特徴を実行することを可能にする。特に、コン
ピュータプログラムは、実行されると、プロセッサ1004が本発明の特徴を実
行することを可能にする。従って、そのようなコンピュータプログラムは、コン
ピュータシステム1000のコントローラを表す。
ンピュータプログラムプロダクトに格納され得、そして、リムーバブル格納ドラ
イブ1014、ハードドライブ1012、または通信インターフェイス1024
を用いて、コンピュータシステム1000にロードされ得る。制御論理(ソフト
ウェア)は、プロセッサ1004により実行されると、プロセッサ1004に、
本明細書に記載される本発明の機能を実行させる。
どのハードウェアコンポーネントを用いて、主としてハードウェアにおいて実現
される。本明細書に記載された機能を実行するようにハードウェアステートマシ
ンを実現することは、関連分野の当業者に明らかである。さらに他の実施形態で
は、本発明は、ハードウェアおよびソフトウェアの両方の組み合わせを用いて実
現される。
ムのサーバに接続されるインターフェイスユニット202などのインターフェイ
スユニット内で実現される場合について具体的に説明されている。しかし、本発
明はまた、クライアントとサーバとの間のネットワーク接続パスにあるその他の
種類のデバイス内で適用され得る。ネットワークトラフィックがそのようなデバ
イスを通過するとき、それらのデバイスはすべて、本発明を適用して接続処理の
負荷を取り除く機会を有する。そのようなデバイスのいくつかの例としては、以
下のものがある。
ントネットワーク接続を分配する負荷バランサ。本発明は、負荷バランシング機
能と容易に組み合わされ得る。
ンド幅マネージャ。これらのデバイスはまた、本発明を使用し得る。
けが通過することを可能にする。本発明は、ファイアウォール内で追加の特徴を
提供するために用いられ得る。
業トレンドは、追加の機能(負荷バランシング、バンド幅管理、およびファイア
ウォール機能など)を、これらのデバイス内に組み入れることである。従って、
本発明は、ルータに容易に組み込まれ得る。
ある。
ム内で適用され得る。この場合、本発明を実現するためにアドオンカードが使用
され得、従って、アドオンカードは、コンピュータシステム内の主要な処理エレ
メントの負荷を取り除き得る。
ことを可能にするために提供される。これらの実施形態の様々な改変例が当業者
に容易に明らかとなり、本明細書において規定された一般原理は、発明力を用い
ずに、その他の実施形態に適用され得る。従って、本発明は、本明細書に示され
た実施形態に限定されるものではなく、本発明には、本明細書に開示された原理
および新規な特徴と一致する最も広い範囲が与えられるものとする。
ークブロック図である。
ークコンテクストの図である。
トである。
を変換する際の、本発明の動作を示すフローチャートである。
である。
およびシーケンス番号の変換を示す詳細なフロー図である。
およびシーケンス番号の変換を示す詳細なフロー図である。
る。
。
およびシーケンス番号の変換を示す詳細なフロー図である。
Claims (38)
- 【請求項1】 クライアントとインターフェイスユニットとの間の接続を開
にするための手段と、 該インターフェイスユニットとサーバとの間で開である空いている接続がない
場合、該インターフェイスユニットと該サーバとの間の接続を開にするための手
段と、 該クライアントが、該接続を経由して該サーバ上の情報にアクセスすることを
可能にするための手段と、 該インターフェイスユニットと該サーバとの間の該接続を開に維持する一方で
、該クライアントと該インターフェイスユニットとの間の該接続を閉にするため
の手段と、 を備える、装置。 - 【請求項2】 さらなるクライアントと前記インターフェイスユニットとの
間の接続を開にするための手段と、 該さらなるクライアントと該インターフェイスユニットとの間の該接続、およ
び該インターフェイスユニットと前記サーバとの間の前記接続を経由して、該さ
らなるクライアントが、該サーバ上の情報にアクセスすることを可能にするため
の手段と、 をさらに備える、請求項1に記載の装置。 - 【請求項3】 前記クライアントと前記インターフェイスユニットとの間の
前記接続を開にするための前記手段が、 該インターフェイスユニットに対応するネットワークアドレスを使用して接続
を開にする要求を受信するための手段と、 前記サーバに対応するパス名を使用してデータを検索する要求を受信するため
の手段と、 を備える、請求項1に記載の装置。 - 【請求項4】 前記クライアントと前記インターフェイスユニットとの間の
前記接続を開にするための前記手段が、前記ネットワークアドレスの機能として
前記サーバを選択するための手段を備える、請求項3に記載の装置。 - 【請求項5】 前記可能にするための手段が、前記パス名を使用して前記サ
ーバから前記データを検索するための手段を備える、請求項4に記載の装置。 - 【請求項6】 前記可能にするための手段が、前記データを前記クライアン
トへ送信するための手段をさらに備える、請求項5に記載の装置。 - 【請求項7】 データを検索する要求を受信するための前記手段が、シーケ
ンスおよび承認パラメータを有するGETセグメントを受信するための手段を備
え、 該検索するための手段が、 改変されたGETセグメントを生成するように該パラメータを改変するための
手段と、 前記サーバに該改変されたGETセグメントを送信するための手段と、 を備える、請求項5に記載の装置。 - 【請求項8】 前記検索するための手段が、 “Connection:Keep−Alive”ヘッダを前記改変されたG
ETセグメントへ挿入するための手段と、 該“Connection:Keep−Alive”ヘッダを該改変されたG
ETセグメントへ挿入することにより加えられたバイト数を、前記サーバから受
信された前記承認パラメータから引くための手段と、 該“Connection:Keep−Alive”ヘッダを該改変されたG
ETセグメントへ挿入することにより加えられたバイト数を、該改変されたGE
Tセグメントに続くパケットを該サーバへ送信する前に、前記シーケンスの数に
加えるための手段と、 をさらに備える、請求項7に記載の装置。 - 【請求項9】 前記検索するための手段が、 さらなるシーケンスおよび承認パラメータを有するRESPセグメントを受信
するための手段と、 改変されたRESPセグメントを生成するように該さらなるパラメータを改変
するための手段と、 該改変されたRESPセグメントを前記クライアントへ送信するための手段と
、 をさらに備える、請求項7に記載の装置。 - 【請求項10】 データを検索する要求を受信するための前記手段が、シー
ケンスおよび承認パラメータを有する第1のGETセグメントを受信するための
手段を備え、 前記検索するための手段が、 改変されたパラメータを生成するように該パラメータを改変するための手段と
、 第2のGETセグメントを前記サーバへ送信するための手段であって、該第2
のGETセグメントは該改変されたパラメータを有する、手段と、 を備える、請求項5に記載の装置。 - 【請求項11】 前記検索するための手段が、 さらなるシーケンスおよび承認パラメータを有する第1のRESPセグメント
を受信するための手段と、 さらなる改変されたパラメータを生成するように該さらなるパラメータを改変
するための手段と、 第2のRESPセグメントを前記クライアントへ送信するための手段であって
、該第2のRESPセグメントは該さらなる改変されたパラメータを有する、手
段と、 をさらに備える、請求項7に記載の装置。 - 【請求項12】 ネットワークアドレスおよびパス名を使用してデータを検
索する要求をクライアントから受信するための手段と、 該パス名、サーバの負荷、および該サーバの状態のうちの少なくとも一つを含
む事前に定義された方針の機能として、該データを格納する該サーバを選択する
ための手段と、 すでに開にされた接続を使用して該サーバから該データを検索するための手段
と、 該データを該クライアントへ送信するための手段と、 を備える、装置。 - 【請求項13】 前記受信するための手段が、 前記ネットワークアドレスを使用してホストへの接続を開にする要求を前記ク
ライアントから受信するための手段と、 前記パス名を使用してデータを検索する要求を該クライアントから受信するた
めの手段と、 を備える、請求項12に記載の装置。 - 【請求項14】 前記ネットワークアドレスおよびさらなるパス名を使用し
てさらなるデータを検索するさらなる要求を受信するための手段と、 該さらなるパス名の機能としてさらなるサーバを選択するための手段と、 該さらなるサーバから該さらなるデータを検索するための手段と、 をさらに備える、請求項12に記載の装置。 - 【請求項15】 データを検索する要求を受信するための前記手段が、シー
ケンスおよび承認パラメータを有する第1のGETセグメントを受信するための
手段を備え、 該検索するための手段が、 改変されたGETセグメントを生成するように該パラメータを改変するための
手段と、 該改変されたGETセグメントを前記サーバへ送信するための手段と、 を備える、請求項12に記載の装置。 - 【請求項16】 前記検索するための手段が、 “Connection:Keep−Alive”ヘッダを前記改変されたG
ETセグメントへ挿入するための手段と、 該“Connection:Keep−Alive”ヘッダを該改変されたG
ETセグメントへ挿入することにより加えられたバイト数を、前記サーバから受
信された前記承認パラメータから引くための手段と、 該“Connection:Keep−Alive”ヘッダを該改変されたG
ETセグメントへ挿入することにより加えられたバイト数を、該改変されたGE
Tセグメントに続くパケットを該サーバへ送信する前に、前記シーケンスの数に
加えるための手段と、 をさらに備える、請求項15に記載の装置。 - 【請求項17】 前記検索するための手段が、 さらなるシーケンスおよび承認パラメータを有する第1のRESPセグメント
を受信するための手段と、 改変されたRESPセグメントを生成するように該さらなるパラメータを改変
するための手段と、 該改変されたRESPセグメントを前記クライアントへ送信するための手段と
、 をさらに備える、請求項15に記載の装置。 - 【請求項18】 データを検索する要求を受信するための前記手段が、シー
ケンスおよび承認パラメータを有する第1のGETセグメントを受信するための
手段を備え、 該検索するための手段が、 改変されたパラメータを生成するように該パラメータを改変するための手段と
、 第2のGETセグメントを前記サーバへ送信するための手段であって、該第2
のGETセグメントは該改変されたパラメータを有する、手段と、 を備える、請求項12に記載の装置。 - 【請求項19】 前記検索するための手段が、 さらなるシーケンスおよび承認パラメータを有する第1のRESPセグメント
を受信するための手段と、 さらなる改変されたパラメータを生成するように該さらなるパラメータを改変
するための手段と、 第2のRESPセグメントを前記クライアントへ送信するための手段であって
、該第2のRESPセグメントは該さらなる改変されたパラメータを有する、手
段と、 をさらに備える、請求項15に記載の装置。 - 【請求項20】 クライアントとインターフェイスユニットとの間の接続を
開にするステップと、 該インターフェイスユニットとサーバとの間で開である空いている接続がない
場合、該インターフェイスユニットと該サーバとの間の接続を開にするステップ
と、 該クライアントが、該接続を経由して該サーバ上の情報にアクセスすることを
可能にするステップと、 該インターフェイスユニットと該サーバとの間の該接続を開に維持する一方で
、該クライアントと該インターフェイスユニットとの間の該接続を閉にするステ
ップと、 を包含する、方法。 - 【請求項21】 さらなるクライアントと前記インターフェイスユニットと
の間の接続を開にするステップと、 該さらなるクライアントと該インターフェイスユニットとの間の該接続、およ
び該インターフェイスユニットと前記サーバとの間の前記接続を経由して、該さ
らなるクライアントが、該サーバ上の情報にアクセスすることを可能にするステ
ップと、 をさらに包含する、請求項20に記載の方法。 - 【請求項22】 前記クライアントと前記インターフェイスユニットとの間
の前記接続を開にする前記ステップが、 該インターフェイスユニットに対応するネットワークアドレスを使用して接続
を開にする要求を受信するステップと、 前記サーバに対応するパス名を使用してデータを検索する要求を受信するステ
ップと、 を包含する、請求項20に記載の方法。 - 【請求項23】 前記クライアントと前記インターフェイスユニットとの間
の前記接続を開にする前記ステップが、前記ネットワークアドレスの機能として
前記サーバを選択するステップを包含する、請求項22に記載の方法。 - 【請求項24】 前記可能にするステップが、前記パス名を使用して前記サ
ーバから前記データを検索するステップを包含する、請求項23に記載の方法。 - 【請求項25】 前記可能にするステップが、前記データを前記クライアン
トへ送信するステップをさらに備える、請求項24に記載の方法。 - 【請求項26】 データを検索する要求を受信する前記ステップが、シーケ
ンスおよび承認パラメータを有するGETセグメントを受信するステップを包含
し、 該検索するステップが、 改変されたGETセグメントを生成するように該パラメータを改変するステッ
プと、 前記サーバに該改変されたGETセグメントを送信するステップと、 を包含する、請求項24に記載の方法。 - 【請求項27】 前記検索するステップが、 “Connection:Keep−Alive”ヘッダを前記改変されたG
ETセグメントへ挿入するステップと、 該“Connection:Keep−Alive”ヘッダを該改変されたG
ETセグメントへ挿入することにより加えられたバイト数を、前記サーバから受
信された前記承認パラメータから引くステップと、 該“Connection:Keep−Alive”ヘッダを該改変されたG
ETセグメントへ挿入することにより加えられたバイト数を、該改変されたGE
Tセグメントに続くパケットを該サーバへ送信する前に、前記シーケンスの数に
加えるステップと、 をさらに包含する、請求項26に記載の方法。 - 【請求項28】 前記検索するステップが、 さらなるシーケンスおよび承認パラメータを有するRESPセグメントを受信
するステップと、 改変されたRESPセグメントを生成するように該さらなるパラメータを改変
するステップと、 該改変されたRESPセグメントを前記クライアントへ送信するステップと、
をさらに包含する、請求項26に記載の方法。 - 【請求項29】 データを検索する要求を受信する前記ステップが、シーケ
ンスおよび承認パラメータを有する第1のGETセグメントを受信するステップ
を包含し、 該検索するステップが、 改変されたパラメータを生成するように該パラメータを改変するステップと、 第2のGETセグメントを前記サーバへ送信するステップであって、該第2の
GETセグメントは該改変されたパラメータを有する、ステップと、 を包含する、請求項24に記載の方法。 - 【請求項30】 前記検索するステップが、 さらなるシーケンスおよび承認パラメータを有する第1のRESPセグメント
を受信するステップと、 さらなる改変されたパラメータを生成するように該さらなるパラメータを改変
するステップと、 第2のRESPセグメントを前記クライアントへ送信するステップであって、
該第2のRESPセグメントは該さらなる改変されたパラメータを有する、ステ
ップと、 をさらに包含する、請求項26に記載の方法。 - 【請求項31】 ネットワークアドレスおよびパス名を使用してデータを検
索する要求をクライアントから受信するステップと、 該パス名、サーバの負荷、および該サーバの状態のうちの少なくとも一つを含
む事前に定義された方針の機能として、該データを格納する該サーバを選択する
ステップと、 すでに開にされた接続を使用して該サーバから該データを検索するステップと
、 該データを該クライアントへ送信するステップと、 を包含する、方法。 - 【請求項32】 前記受信するステップが、 前記ネットワークアドレスを使用してホストへの接続を開にする要求を前記ク
ライアントから受信するステップと、 前記パス名を使用してデータを検索する要求を該クライアントから受信するス
テップと、 を包含する、請求項31に記載の方法。 - 【請求項33】 前記ネットワークアドレスおよびさらなるパス名を使用し
てさらなるデータを検索するさらなる要求を受信するステップと、 該さらなるパス名の機能としてさらなるサーバを選択するステップと、 該さらなるサーバから該さらなるデータを検索するステップと、 をさらに包含する、請求項31に記載の方法。 - 【請求項34】 データを検索する要求を受信する前記ステップが、シーケ
ンスおよび承認パラメータを有する第1のGETセグメントを受信するステップ
を包含し、 該検索するステップが、 改変されたGETセグメントを生成するように該パラメータを改変するステッ
プと、 該改変されたGETセグメントを前記サーバへ送信するステップと、 を包含する、請求項31に記載の方法。 - 【請求項35】 前記検索するステップが、 “Connection:Keep−Alive”ヘッダを前記改変されたG
ETセグメントへ挿入するステップと、 該“Connection:Keep−Alive”ヘッダを該改変されたG
ETセグメントへ挿入することにより加えられたバイト数を、前記サーバから受
信された前記承認パラメータから引くステップと、 該“Connection:Keep−Alive”ヘッダを該改変されたG
ETセグメントへ挿入することにより加えられたバイト数を、該改変されたGE
Tセグメントに続くパケットを該サーバへ送信する前に、前記シーケンスの数に
加えるステップと、 をさらに包含する、請求項34に記載の方法。 - 【請求項36】 前記検索するステップが、 さらなるシーケンスおよび承認パラメータを有する第1のRESPセグメント
を受信するステップと、 改変されたRESPセグメントを生成するように該さらなるパラメータを改変
するステップと、 該改変されたRESPセグメントを前記クライアントへ送信するステップと、 をさらに包含する、請求項34に記載の方法。 - 【請求項37】 データを検索する要求を受信する前記ステップが、シーケ
ンスおよび承認パラメータを有する第1のGETセグメントを受信するステップ
を包含し、 該検索するステップが、 改変されたパラメータを生成するように該パラメータを改変するステップと、 第2のGETセグメントを前記サーバへ送信するステップであって、該第2の
GETセグメントは該改変されたパラメータを有する、ステップと、 を包含する、請求項31に記載の方法。 - 【請求項38】 前記検索するステップが、 さらなるシーケンスおよび承認パラメータを有する第1のRESPセグメント
を受信するステップと、 さらなる改変されたパラメータを生成するように該さらなるパラメータを改変
するステップと、 第2のRESPセグメントを前記クライアントへ送信するステップであって、
該第2のRESPセグメントは該さらなる改変されたパラメータを有する、ステ
ップと、 をさらに包含する、請求項34に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/188,709 US6411986B1 (en) | 1998-11-10 | 1998-11-10 | Internet client-server multiplexer |
US09/188,709 | 1998-11-10 | ||
PCT/US1999/026442 WO2000028433A2 (en) | 1998-11-10 | 1999-11-10 | Internet client-server multiplexer |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002529856A true JP2002529856A (ja) | 2002-09-10 |
JP2002529856A5 JP2002529856A5 (ja) | 2007-01-18 |
JP4312962B2 JP4312962B2 (ja) | 2009-08-12 |
Family
ID=22694205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000581549A Expired - Lifetime JP4312962B2 (ja) | 1998-11-10 | 1999-11-10 | インターネットクライアントサーバマルチプレクサ |
Country Status (6)
Country | Link |
---|---|
US (2) | US6411986B1 (ja) |
EP (4) | EP1129412B1 (ja) |
JP (1) | JP4312962B2 (ja) |
KR (1) | KR100723320B1 (ja) |
AU (1) | AU1613300A (ja) |
WO (1) | WO2000028433A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008226127A (ja) * | 2007-03-15 | 2008-09-25 | Toshiba Corp | 分散処理におけるメッセージングの高信頼化装置及び高信頼化方法 |
JP2012027925A (ja) * | 2004-12-30 | 2012-02-09 | Citrix Systems Inc | クライアント側の加速技術を提供するシステムおよび方法 |
Families Citing this family (197)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957346B1 (en) * | 1999-06-15 | 2005-10-18 | Ssh Communications Security Ltd. | Method and arrangement for providing security through network address translations using tunneling and compensations |
US6721780B1 (en) | 1999-11-09 | 2004-04-13 | Fireclick, Inc. | Predictive pre-download of network objects |
US6789119B1 (en) * | 1999-11-24 | 2004-09-07 | Webex Communication, Inc. | Emulating a persistent connection using http |
US7117263B1 (en) * | 2000-02-01 | 2006-10-03 | Hewlett-Packard Development Company, L.P. | Apparatus and method for processing requests from an external queue in a TCP/IP-based application system |
US6725272B1 (en) * | 2000-02-18 | 2004-04-20 | Netscaler, Inc. | Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time |
US6912578B1 (en) * | 2000-02-25 | 2005-06-28 | Sun Microsystems, Inc. | Method and apparatus for improving utilization of a resource on a shared client |
US7343413B2 (en) | 2000-03-21 | 2008-03-11 | F5 Networks, Inc. | Method and system for optimizing a network by independently scaling control segments and data flow |
US8380854B2 (en) | 2000-03-21 | 2013-02-19 | F5 Networks, Inc. | Simplified method for processing multiple connections from the same client |
US7441263B1 (en) | 2000-03-23 | 2008-10-21 | Citibank, N.A. | System, method and computer program product for providing unified authentication services for online applications |
JP2001285400A (ja) * | 2000-03-29 | 2001-10-12 | Kddi Corp | トラヒック統計情報収集方法 |
US6671725B1 (en) * | 2000-04-18 | 2003-12-30 | International Business Machines Corporation | Server cluster interconnection using network processor |
US20100042565A1 (en) * | 2000-09-25 | 2010-02-18 | Crossbeam Systems, Inc. | Mezzazine in-depth data analysis facility |
US20020165947A1 (en) | 2000-09-25 | 2002-11-07 | Crossbeam Systems, Inc. | Network application apparatus |
US20070192863A1 (en) * | 2005-07-01 | 2007-08-16 | Harsh Kapoor | Systems and methods for processing data flows |
US20110219035A1 (en) * | 2000-09-25 | 2011-09-08 | Yevgeny Korsunsky | Database security via data flow processing |
US9525696B2 (en) | 2000-09-25 | 2016-12-20 | Blue Coat Systems, Inc. | Systems and methods for processing data flows |
US9800608B2 (en) | 2000-09-25 | 2017-10-24 | Symantec Corporation | Processing data flows with a data flow processor |
US20110213869A1 (en) * | 2000-09-25 | 2011-09-01 | Yevgeny Korsunsky | Processing data flows with a data flow processor |
US8010469B2 (en) | 2000-09-25 | 2011-08-30 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
US20110214157A1 (en) * | 2000-09-25 | 2011-09-01 | Yevgeny Korsunsky | Securing a network with data flow processing |
US7562147B1 (en) * | 2000-10-02 | 2009-07-14 | Microsoft Corporation | Bi-directional HTTP-based reliable messaging protocol and system utilizing same |
FR2814827B1 (fr) * | 2000-10-02 | 2003-01-10 | Amadeus Developement Company | Unite de multiplexage, systeme et procede de communication dans un reseau informatique |
US7055028B2 (en) * | 2000-10-10 | 2006-05-30 | Juniper Networks, Inc. | HTTP multiplexor/demultiplexor system for use in secure transactions |
US20020042839A1 (en) * | 2000-10-10 | 2002-04-11 | Christopher Peiffer | HTTP multiplexor/demultiplexor |
US7801978B1 (en) * | 2000-10-18 | 2010-09-21 | Citrix Systems, Inc. | Apparatus, method and computer program product for efficiently pooling connections between clients and servers |
US6697206B2 (en) * | 2000-12-19 | 2004-02-24 | Imation Corp. | Tape edge monitoring |
US6850982B1 (en) * | 2000-12-19 | 2005-02-01 | Cisco Technology, Inc. | Methods and apparatus for directing a flow of data between a client and multiple servers |
US8266677B2 (en) * | 2000-12-20 | 2012-09-11 | Intellisync Corporation | UDP communication with a programmer interface over wireless networks |
US7124189B2 (en) * | 2000-12-20 | 2006-10-17 | Intellisync Corporation | Spontaneous virtual private network between portable device and enterprise network |
US7340530B2 (en) * | 2001-01-17 | 2008-03-04 | International Business Machines Corporation | Methods, for providing data from network secure communications in a cluster computing environment |
US7269784B1 (en) | 2001-01-22 | 2007-09-11 | Kasriel Stephane | Server-originated differential caching |
US20020120743A1 (en) * | 2001-02-26 | 2002-08-29 | Lior Shabtay | Splicing persistent connections |
JP5229109B2 (ja) * | 2001-03-27 | 2013-07-03 | 富士通株式会社 | パケット中継処理装置 |
US20020143946A1 (en) * | 2001-03-28 | 2002-10-03 | Daniel Crosson | Software based internet protocol address selection method and system |
JP2003006347A (ja) * | 2001-06-22 | 2003-01-10 | Denno:Kk | 採点システム |
US7185063B1 (en) | 2001-06-22 | 2007-02-27 | Digital River, Inc. | Content delivery network using differential caching |
JP2003030018A (ja) * | 2001-07-13 | 2003-01-31 | Sony Corp | データ通信装置および方法、データ通信システム、情報処理装置および方法、記録媒体、並びにプログラム |
US7774492B2 (en) * | 2001-07-26 | 2010-08-10 | Citrix Systems, Inc. | System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections |
US7092997B1 (en) | 2001-08-06 | 2006-08-15 | Digital River, Inc. | Template identification with differential caching |
US7188214B1 (en) | 2001-08-07 | 2007-03-06 | Digital River, Inc. | Efficient compression using differential caching |
FI20011651A (fi) | 2001-08-15 | 2003-02-16 | Nokia Corp | Palveluklusterin kuormituksen tasapainoittaminen |
US7287258B1 (en) * | 2001-08-31 | 2007-10-23 | International Business Machines Corporation | Thread consistency support system and method |
US7747758B2 (en) * | 2001-10-29 | 2010-06-29 | International Business Machines Corporation | Dynamic port assignment |
US6976085B1 (en) * | 2001-11-20 | 2005-12-13 | Cisco Technology, Inc. | Methods and apparatus for inserting data into a communications session |
US7720997B1 (en) * | 2001-12-19 | 2010-05-18 | Cisco Technology, Inc. | Path selection system |
EP1326476B1 (en) * | 2002-01-08 | 2013-03-13 | Alcatel Lucent | Network, network-unit, method, and processor program product for exchanging packet signals via pooled connection |
US7298746B1 (en) | 2002-02-11 | 2007-11-20 | Extreme Networks | Method and system for reassembling and parsing packets in a network environment |
US7447777B1 (en) * | 2002-02-11 | 2008-11-04 | Extreme Networks | Switching system |
US7321926B1 (en) | 2002-02-11 | 2008-01-22 | Extreme Networks | Method of and system for allocating resources to resource requests |
US7814204B1 (en) | 2002-02-11 | 2010-10-12 | Extreme Networks, Inc. | Method of and system for analyzing the content of resource requests |
US7584262B1 (en) | 2002-02-11 | 2009-09-01 | Extreme Networks | Method of and system for allocating resources to resource requests based on application of persistence policies |
US7296051B1 (en) | 2002-02-19 | 2007-11-13 | Digital River, Inc. | Predictive predownload of templates with delta encoding |
US7487261B1 (en) | 2002-02-22 | 2009-02-03 | Digital River, Inc. | Delta caching service |
US7929447B2 (en) * | 2002-03-05 | 2011-04-19 | Sony Corporation | Method of flow control for data transported using isochronous packets over an IEEE 1394-2000 serial bus network |
US7296074B2 (en) * | 2002-03-20 | 2007-11-13 | Scientific-Atlanta, Inc. | Media on demand session re-use |
US7490162B1 (en) | 2002-05-15 | 2009-02-10 | F5 Networks, Inc. | Method and system for forwarding messages received at a traffic manager |
US7089565B2 (en) * | 2002-05-23 | 2006-08-08 | International Business Machines Corporation | Software architecture for providing a connection handle association |
WO2004006115A1 (en) * | 2002-07-02 | 2004-01-15 | Netscaler, Inc | System, method and computer program product to avoid server overload by controlling http denial of service (dos) attacks |
US7630305B2 (en) | 2003-07-29 | 2009-12-08 | Orbital Data Corporation | TCP selective acknowledgements for communicating delivered and missed data packets |
US8233392B2 (en) | 2003-07-29 | 2012-07-31 | Citrix Systems, Inc. | Transaction boundary detection for reduction in timeout penalties |
US8270423B2 (en) | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US7616638B2 (en) | 2003-07-29 | 2009-11-10 | Orbital Data Corporation | Wavefront detection and disambiguation of acknowledgments |
US7774484B1 (en) | 2002-12-19 | 2010-08-10 | F5 Networks, Inc. | Method and system for managing network traffic |
JP4108486B2 (ja) * | 2003-01-08 | 2008-06-25 | Necインフロンティア株式会社 | Ipルータ、通信システム及びそれに用いる帯域設定方法並びにそのプログラム |
JP4173517B2 (ja) * | 2003-03-05 | 2008-10-29 | インテリシンク コーポレイション | コンピューティング・ネットワークとリモート装置との間のバーチャル・プライベート・ネットワーク |
WO2004107131A2 (en) | 2003-05-28 | 2004-12-09 | Caymas Systems, Inc. | Policy based network address translation |
US8238241B2 (en) | 2003-07-29 | 2012-08-07 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
US8437284B2 (en) | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US8432800B2 (en) | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US8285881B2 (en) * | 2003-09-10 | 2012-10-09 | Broadcom Corporation | System and method for load balancing and fail over |
US9614772B1 (en) | 2003-10-20 | 2017-04-04 | F5 Networks, Inc. | System and method for directing network traffic in tunneling applications |
US7978716B2 (en) | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US8041821B2 (en) * | 2003-11-26 | 2011-10-18 | International Business Machines Corporation | Connection pool management |
US8572249B2 (en) * | 2003-12-10 | 2013-10-29 | Aventail Llc | Network appliance for balancing load and platform services |
US20100211626A1 (en) * | 2004-01-12 | 2010-08-19 | Foundry Networks, Inc. | Method and apparatus for maintaining longer persistent connections |
GB0410151D0 (en) * | 2004-05-07 | 2004-06-09 | Zeus Technology Ltd | Load balancing & traffic management |
US8739274B2 (en) | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
US7757074B2 (en) | 2004-06-30 | 2010-07-13 | Citrix Application Networking, Llc | System and method for establishing a virtual private network |
KR20070058445A (ko) * | 2004-07-02 | 2007-06-08 | 스트라스바흐, 인코포레이티드 | 웨이퍼 처리 방법 및 시스템 |
US8046830B2 (en) | 2004-07-23 | 2011-10-25 | Citrix Systems, Inc. | Systems and methods for network disruption shielding techniques |
AU2005266945A1 (en) | 2004-07-23 | 2006-02-02 | Citrix Systems, Inc. | A method and systems for securing remote access to private networks |
US8224966B2 (en) * | 2004-08-24 | 2012-07-17 | Cisco Technology, Inc. | Reproxying an unproxied connection |
US7657940B2 (en) * | 2004-10-28 | 2010-02-02 | Cisco Technology, Inc. | System for SSL re-encryption after load balance |
US8458467B2 (en) | 2005-06-21 | 2013-06-04 | Cisco Technology, Inc. | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
US7987272B2 (en) | 2004-12-06 | 2011-07-26 | Cisco Technology, Inc. | Performing message payload processing functions in a network element on behalf of an application |
US7810089B2 (en) | 2004-12-30 | 2010-10-05 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
US8700695B2 (en) | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US8549149B2 (en) | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
US8706877B2 (en) | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
US8954595B2 (en) | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
US7581005B2 (en) * | 2005-01-20 | 2009-08-25 | Citrix Systems, Inc. | Systems and methods for preserving transport layer protocol options |
US8077632B2 (en) * | 2005-01-20 | 2011-12-13 | Citrix Systems, Inc. | Automatic LAN/WAN port detection |
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
US9118717B2 (en) * | 2005-02-18 | 2015-08-25 | Cisco Technology, Inc. | Delayed network protocol proxy for packet inspection in a network |
US20060212521A1 (en) * | 2005-03-17 | 2006-09-21 | Nadeem Malik | Asynchronous transactions action buttons over communication mediums |
US8418233B1 (en) | 2005-07-29 | 2013-04-09 | F5 Networks, Inc. | Rule based extensible authentication |
CA2614364C (en) | 2005-08-11 | 2016-09-27 | Contextweb, Inc. | Method and system for placement and pricing of internet-based advertisements or services |
US8533308B1 (en) | 2005-08-12 | 2013-09-10 | F5 Networks, Inc. | Network traffic management through protocol-configurable transaction processing |
US7921184B2 (en) | 2005-12-30 | 2011-04-05 | Citrix Systems, Inc. | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
US8301839B2 (en) | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US20090012903A1 (en) * | 2006-01-26 | 2009-01-08 | Contextweb, Inc. | Online exchange for internet ad media |
US8565088B1 (en) | 2006-02-01 | 2013-10-22 | F5 Networks, Inc. | Selectively enabling packet concatenation based on a transaction boundary |
US8108525B2 (en) * | 2006-08-03 | 2012-01-31 | Citrix Systems, Inc. | Systems and methods for managing a plurality of user sessions in a virtual private network environment |
KR100837434B1 (ko) * | 2006-09-29 | 2008-06-12 | 삼성전자주식회사 | 클라이언트와 서버 간의 인터페이스를 수행하는 매개장치및 그의 인터페이스방법 |
US7664857B2 (en) * | 2007-01-26 | 2010-02-16 | Citrix Systems, Inc. | Systems and methods of using an IP ID field for automatic WAN/LAN detection |
US9106606B1 (en) | 2007-02-05 | 2015-08-11 | F5 Networks, Inc. | Method, intermediate device and computer program code for maintaining persistency |
US20080273472A1 (en) * | 2007-05-03 | 2008-11-06 | Adrian Bashford | Ethernet resource management |
US8073046B2 (en) * | 2007-06-14 | 2011-12-06 | Zoran Corporation | Fast training equalization of a signal by using adaptive-iterative algorithm with main path phase correction |
US8806053B1 (en) | 2008-04-29 | 2014-08-12 | F5 Networks, Inc. | Methods and systems for optimizing network traffic using preemptive acknowledgment signals |
US9832069B1 (en) | 2008-05-30 | 2017-11-28 | F5 Networks, Inc. | Persistence based on server response in an IP multimedia subsystem (IMS) |
AU2009274007A1 (en) * | 2008-07-22 | 2011-06-23 | Contextweb, Inc. | New open insertion order system to interface with an exchange for internet ad media |
US9130846B1 (en) | 2008-08-27 | 2015-09-08 | F5 Networks, Inc. | Exposed control components for customizable load balancing and persistence |
US7958247B2 (en) * | 2008-10-14 | 2011-06-07 | Hewlett-Packard Development Company, L.P. | HTTP push to simulate server-initiated sessions |
US8566444B1 (en) | 2008-10-30 | 2013-10-22 | F5 Networks, Inc. | Methods and system for simultaneous multiple rules checking |
US10157280B2 (en) | 2009-09-23 | 2018-12-18 | F5 Networks, Inc. | System and method for identifying security breach attempts of a website |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US9313047B2 (en) | 2009-11-06 | 2016-04-12 | F5 Networks, Inc. | Handling high throughput and low latency network data packets in a traffic management device |
US8868961B1 (en) | 2009-11-06 | 2014-10-21 | F5 Networks, Inc. | Methods for acquiring hyper transport timing and devices thereof |
US9141625B1 (en) | 2010-06-22 | 2015-09-22 | F5 Networks, Inc. | Methods for preserving flow state during virtual machine migration and devices thereof |
US10015286B1 (en) | 2010-06-23 | 2018-07-03 | F5 Networks, Inc. | System and method for proxying HTTP single sign on across network domains |
US8875220B2 (en) * | 2010-07-01 | 2014-10-28 | Raytheom Company | Proxy-based network access protection |
US8908545B1 (en) | 2010-07-08 | 2014-12-09 | F5 Networks, Inc. | System and method for handling TCP performance in network access with driver initiated application tunnel |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
US9083760B1 (en) | 2010-08-09 | 2015-07-14 | F5 Networks, Inc. | Dynamic cloning and reservation of detached idle connections |
US8630174B1 (en) | 2010-09-14 | 2014-01-14 | F5 Networks, Inc. | System and method for post shaping TCP packetization |
US8886981B1 (en) | 2010-09-15 | 2014-11-11 | F5 Networks, Inc. | Systems and methods for idle driven scheduling |
US8463909B1 (en) | 2010-09-15 | 2013-06-11 | F5 Networks, Inc. | Systems and methods for managing server resources |
US8804504B1 (en) | 2010-09-16 | 2014-08-12 | F5 Networks, Inc. | System and method for reducing CPU load in processing PPP packets on a SSL-VPN tunneling device |
US8688926B2 (en) | 2010-10-10 | 2014-04-01 | Liqid Inc. | Systems and methods for optimizing data storage among a plurality of solid state memory subsystems |
US9554276B2 (en) | 2010-10-29 | 2017-01-24 | F5 Networks, Inc. | System and method for on the fly protocol conversion in obtaining policy enforcement information |
US8880666B2 (en) * | 2010-10-29 | 2014-11-04 | At&T Intellectual Property I, L.P. | Method, policy request router, and machine-readable hardware storage device to select a policy server based on a network condition to receive policy requests for a duration |
US8959571B2 (en) | 2010-10-29 | 2015-02-17 | F5 Networks, Inc. | Automated policy builder |
US8627467B2 (en) | 2011-01-14 | 2014-01-07 | F5 Networks, Inc. | System and method for selectively storing web objects in a cache memory based on policy decisions |
US10135831B2 (en) | 2011-01-28 | 2018-11-20 | F5 Networks, Inc. | System and method for combining an access control system with a traffic management system |
US9246819B1 (en) | 2011-06-20 | 2016-01-26 | F5 Networks, Inc. | System and method for performing message-based load balancing |
US9270766B2 (en) | 2011-12-30 | 2016-02-23 | F5 Networks, Inc. | Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof |
US9680925B2 (en) | 2012-01-09 | 2017-06-13 | At&T Intellectual Property I, L. P. | Methods and apparatus to route message traffic using tiered affinity-based message routing |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
US9231879B1 (en) | 2012-02-20 | 2016-01-05 | F5 Networks, Inc. | Methods for policy-based network traffic queue management and devices thereof |
US9172753B1 (en) | 2012-02-20 | 2015-10-27 | F5 Networks, Inc. | Methods for optimizing HTTP header based authentication and devices thereof |
WO2013163648A2 (en) | 2012-04-27 | 2013-10-31 | F5 Networks, Inc. | Methods for optimizing service of content requests and devices thereof |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
WO2015164079A1 (en) * | 2014-04-25 | 2015-10-29 | Cisco Technology, Inc. | Managing sequence values with added headers in computing devices |
US9848067B2 (en) * | 2014-04-25 | 2017-12-19 | Cisco Technology, Inc. | Managing sequence values with added headers in computing devices |
US9678910B2 (en) | 2014-04-25 | 2017-06-13 | Liqid Inc. | Power handling in a scalable storage system |
US10467166B2 (en) | 2014-04-25 | 2019-11-05 | Liqid Inc. | Stacked-device peripheral storage card |
US10015143B1 (en) | 2014-06-05 | 2018-07-03 | F5 Networks, Inc. | Methods for securing one or more license entitlement grants and devices thereof |
US9645902B2 (en) | 2014-06-23 | 2017-05-09 | Liqid Inc. | Modular switched fabric for data storage systems |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US10122630B1 (en) | 2014-08-15 | 2018-11-06 | F5 Networks, Inc. | Methods for network traffic presteering and devices thereof |
US9653124B2 (en) | 2014-09-04 | 2017-05-16 | Liqid Inc. | Dual-sided rackmount storage assembly |
US10362107B2 (en) | 2014-09-04 | 2019-07-23 | Liqid Inc. | Synchronization of storage transactions in clustered storage systems |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US10389652B2 (en) | 2014-12-19 | 2019-08-20 | International Business Machines Corporation | Connection pool management |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10198183B2 (en) | 2015-02-06 | 2019-02-05 | Liqid Inc. | Tunneling of storage operations between storage nodes |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10108422B2 (en) | 2015-04-28 | 2018-10-23 | Liqid Inc. | Multi-thread network stack buffering of data frames |
US10019388B2 (en) | 2015-04-28 | 2018-07-10 | Liqid Inc. | Enhanced initialization for data storage assemblies |
US10191691B2 (en) | 2015-04-28 | 2019-01-29 | Liqid Inc. | Front-end quality of service differentiation in storage system operations |
US10505818B1 (en) | 2015-05-05 | 2019-12-10 | F5 Networks. Inc. | Methods for analyzing and load balancing based on server health and devices thereof |
US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
US20170085500A1 (en) * | 2015-09-18 | 2017-03-23 | Pluribus Networks, Inc. | Streamlined processing in a network switch of network packets in a spliced connection |
US20170118293A1 (en) * | 2015-10-26 | 2017-04-27 | Trilliant Networks, Inc. | Method and system for efficient task management |
US11757946B1 (en) | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US10255215B2 (en) | 2016-01-29 | 2019-04-09 | Liqid Inc. | Enhanced PCIe storage device form factors |
US10791088B1 (en) | 2016-06-17 | 2020-09-29 | F5 Networks, Inc. | Methods for disaggregating subscribers via DHCP address translation and devices thereof |
US11880326B2 (en) | 2016-08-12 | 2024-01-23 | Liqid Inc. | Emulated telemetry interfaces for computing units |
US20180046338A1 (en) | 2016-08-12 | 2018-02-15 | Liqid Inc. | Disaggregated Fabric-Switched Computing User Interfaces |
US11294839B2 (en) | 2016-08-12 | 2022-04-05 | Liqid Inc. | Emulated telemetry interfaces for fabric-coupled computing units |
US11063758B1 (en) | 2016-11-01 | 2021-07-13 | F5 Networks, Inc. | Methods for facilitating cipher selection and devices thereof |
US10505792B1 (en) | 2016-11-02 | 2019-12-10 | F5 Networks, Inc. | Methods for facilitating network traffic analytics and devices thereof |
US11496438B1 (en) | 2017-02-07 | 2022-11-08 | F5, Inc. | Methods for improved network security using asymmetric traffic delivery and devices thereof |
US10791119B1 (en) | 2017-03-14 | 2020-09-29 | F5 Networks, Inc. | Methods for temporal password injection and devices thereof |
US10812266B1 (en) | 2017-03-17 | 2020-10-20 | F5 Networks, Inc. | Methods for managing security tokens based on security violations and devices thereof |
US10931662B1 (en) | 2017-04-10 | 2021-02-23 | F5 Networks, Inc. | Methods for ephemeral authentication screening and devices thereof |
WO2018200761A1 (en) | 2017-04-27 | 2018-11-01 | Liqid Inc. | Pcie fabric connectivity expansion card |
US10972453B1 (en) | 2017-05-03 | 2021-04-06 | F5 Networks, Inc. | Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof |
US10180924B2 (en) | 2017-05-08 | 2019-01-15 | Liqid Inc. | Peer-to-peer communication for graphics processing units |
US11122042B1 (en) | 2017-05-12 | 2021-09-14 | F5 Networks, Inc. | Methods for dynamically managing user access control and devices thereof |
US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
WO2018210139A1 (zh) * | 2017-05-18 | 2018-11-22 | 苏州欧普照明有限公司 | 无线网络节点的配置方法、装置及系统 |
US11122083B1 (en) | 2017-09-08 | 2021-09-14 | F5 Networks, Inc. | Methods for managing network connections based on DNS data and network policies and devices thereof |
US11483394B2 (en) * | 2018-02-08 | 2022-10-25 | Forcepoint Llc | Delayed proxy-less network address translation decision based on application payload |
US11658995B1 (en) | 2018-03-20 | 2023-05-23 | F5, Inc. | Methods for dynamically mitigating network attacks and devices thereof |
US11044200B1 (en) | 2018-07-06 | 2021-06-22 | F5 Networks, Inc. | Methods for service stitching using a packet header and devices thereof |
US10660228B2 (en) | 2018-08-03 | 2020-05-19 | Liqid Inc. | Peripheral storage card with offset slot alignment |
US10585827B1 (en) | 2019-02-05 | 2020-03-10 | Liqid Inc. | PCIe fabric enabled peer-to-peer communications |
EP3959604A4 (en) | 2019-04-25 | 2023-01-18 | Liqid Inc. | MACHINE TEMPLATES FOR DEDICATED COMPUTING UNITS |
EP3959860A4 (en) | 2019-04-25 | 2023-01-25 | Liqid Inc. | MULTI-PROTOCOL COMMUNICATION CONTROL FOR TISSUE |
US11199855B2 (en) | 2019-08-20 | 2021-12-14 | Lisandro Chacin | System and method for lube cost control on heavy machinery |
US11442776B2 (en) | 2020-12-11 | 2022-09-13 | Liqid Inc. | Execution job compute unit composition in computing clusters |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774670A (en) * | 1995-10-06 | 1998-06-30 | Netscape Communications Corporation | Persistent client state in a hypertext transfer protocol based client-server system |
US5918013A (en) | 1996-06-03 | 1999-06-29 | Webtv Networks, Inc. | Method of transcoding documents in a network environment using a proxy server |
US6182139B1 (en) * | 1996-08-05 | 2001-01-30 | Resonate Inc. | Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm |
US5774660A (en) | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US5787470A (en) * | 1996-10-18 | 1998-07-28 | At&T Corp | Inter-cache protocol for improved WEB performance |
US5852717A (en) | 1996-11-20 | 1998-12-22 | Shiva Corporation | Performance optimizations for computer networks utilizing HTTP |
US5941988A (en) | 1997-01-27 | 1999-08-24 | International Business Machines Corporation | Session and transport layer proxies via TCP glue |
US6173322B1 (en) * | 1997-06-05 | 2001-01-09 | Silicon Graphics, Inc. | Network request distribution based on static rules and dynamic performance data |
US6774670B1 (en) * | 2002-12-30 | 2004-08-10 | Actel Corporation | Intra-tile buffer system for a field programmable gate array |
-
1998
- 1998-11-10 US US09/188,709 patent/US6411986B1/en not_active Expired - Lifetime
-
1999
- 1999-11-10 WO PCT/US1999/026442 patent/WO2000028433A2/en active IP Right Grant
- 1999-11-10 KR KR1020017005867A patent/KR100723320B1/ko active IP Right Grant
- 1999-11-10 AU AU16133/00A patent/AU1613300A/en not_active Abandoned
- 1999-11-10 EP EP99958851.0A patent/EP1129412B1/en not_active Expired - Lifetime
- 1999-11-10 JP JP2000581549A patent/JP4312962B2/ja not_active Expired - Lifetime
- 1999-11-10 EP EP11174268.0A patent/EP2439896B1/en not_active Expired - Lifetime
- 1999-11-10 EP EP11174271.4A patent/EP2439897B1/en not_active Expired - Lifetime
- 1999-11-10 EP EP09177627.8A patent/EP2159990B1/en not_active Expired - Lifetime
-
2002
- 2002-06-07 US US10/163,342 patent/US6954780B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012027925A (ja) * | 2004-12-30 | 2012-02-09 | Citrix Systems Inc | クライアント側の加速技術を提供するシステムおよび方法 |
JP2008226127A (ja) * | 2007-03-15 | 2008-09-25 | Toshiba Corp | 分散処理におけるメッセージングの高信頼化装置及び高信頼化方法 |
Also Published As
Publication number | Publication date |
---|---|
US6954780B2 (en) | 2005-10-11 |
EP2439897B1 (en) | 2020-06-10 |
WO2000028433A2 (en) | 2000-05-18 |
KR20010107955A (ko) | 2001-12-07 |
AU1613300A (en) | 2000-05-29 |
EP2439897A2 (en) | 2012-04-11 |
EP2439896A3 (en) | 2013-06-19 |
WO2000028433A3 (en) | 2000-08-31 |
EP2159990B1 (en) | 2018-07-18 |
US20020059428A1 (en) | 2002-05-16 |
EP2439896B1 (en) | 2019-01-09 |
EP2439897A3 (en) | 2013-06-19 |
EP1129412A4 (en) | 2009-04-01 |
EP2439896A2 (en) | 2012-04-11 |
US6411986B1 (en) | 2002-06-25 |
JP4312962B2 (ja) | 2009-08-12 |
EP1129412A2 (en) | 2001-09-05 |
EP2159990A1 (en) | 2010-03-03 |
US20020147822A1 (en) | 2002-10-10 |
KR100723320B1 (ko) | 2007-05-31 |
EP1129412B1 (en) | 2018-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4312962B2 (ja) | インターネットクライアントサーバマルチプレクサ | |
US9148493B2 (en) | Apparatus, method and computer program product for efficiently pooling connections between clients and servers | |
US5852717A (en) | Performance optimizations for computer networks utilizing HTTP | |
US8799502B2 (en) | Systems and methods for controlling the number of connections established with a server | |
US7003574B1 (en) | Session load balancing and use of VIP as source address for inter-cluster traffic through the use of a session identifier | |
CA2491740C (en) | Method for caching and delivery of compressed content in a content delivery network | |
JP2002508133A (ja) | 拡張ネットワーク通信 | |
JP2002523838A (ja) | 持続的接続を使用するプロキシ・サーバ・アレイの性能を改善するための装置および方法 | |
US9843514B2 (en) | Packet processing method and background server | |
JP2001517899A (ja) | エグゼキュータブル・オブジェクトを識別および抑制するための方法およびシステム | |
JP4398354B2 (ja) | 中継システム | |
EP1950917A1 (en) | Methods for peer-to-peer application message identifying and operating realization and their corresponding devices | |
US20050086390A1 (en) | Efficient packet desegmentation on a network adapter | |
US20090106395A1 (en) | Satellite Data Network Acceleration | |
JP2000020415A (ja) | Wwwサーバプロキシとwwwブラウザプロキシおよびwwwシステム | |
CN117857469A (zh) | 数据包传输方法、装置、服务器及存储介质 | |
CN117240896A (zh) | 一种获取数据的方法以及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061109 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061109 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20070530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070530 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090408 |
|
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: 20090430 |
|
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: 20090514 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4312962 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: 20130522 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |