JP2003523552A - クライアントとサーバ間の接続を管理するためのシステムおよび方法 - Google Patents

クライアントとサーバ間の接続を管理するためのシステムおよび方法

Info

Publication number
JP2003523552A
JP2003523552A JP2001525498A JP2001525498A JP2003523552A JP 2003523552 A JP2003523552 A JP 2003523552A JP 2001525498 A JP2001525498 A JP 2001525498A JP 2001525498 A JP2001525498 A JP 2001525498A JP 2003523552 A JP2003523552 A JP 2003523552A
Authority
JP
Japan
Prior art keywords
client
server
connection
proxy
electronic device
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
JP2001525498A
Other languages
English (en)
Other versions
JP2003523552A5 (ja
JP4896328B2 (ja
Inventor
ジャック ジェイ. スミス,
リチャード ティー. バーライト,
ダブリュー. スペンサー ザ サード ウォーリー,
エオイン ビー. マクドネル,
ジョン エイ. ヴァスタノ,
ウィリアム ティー. ウェザーフォード,
Original Assignee
アカンバ コーポレイション
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 アカンバ コーポレイション filed Critical アカンバ コーポレイション
Publication of JP2003523552A publication Critical patent/JP2003523552A/ja
Publication of JP2003523552A5 publication Critical patent/JP2003523552A5/ja
Application granted granted Critical
Publication of JP4896328B2 publication Critical patent/JP4896328B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/08Protocols for interworking; Protocol conversion
    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities
    • 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/08Protocols for interworking; Protocol conversion
    • H04L69/085Protocols for interworking; Protocol conversion specially adapted for interworking of IP-based networks with other networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 クライアント(109)とネットワークサーバ(106)間の接続を管理するためのアダプタカード(108)は、サーバ(106)から接続管理の負担を取り除く。アダプタカード(108)は、埋込みプロキシアプリケーション(132)および通信プロトコルスタック(134)を備えたメモリ(124)、アプリケーションコードを実行するための処理ユニット(126)、内部ネットワーク(102)とインターフェース接続するためのネットワークコントローラ(129)、ならびにネットワークサーバ(106)の内部バス(120)とインターフェース接続するためのバスプロトコルブリッジ(128)を備える。プロキシアプリケーション(132)は、比較的に遅く、信頼度が低いネットワーク接続を介して、サーバ(106)の代わりに、クライアントリクエストを受信し、高速で、信頼できるバス接続を介して、サーバにそのリクエストを提示する。

Description

【発明の詳細な説明】
【0001】 (発明の背景) (発明の分野) 本発明は、概して、ネットワークサーバに関し、より詳細には、多数のクライ
アント接続をホストするサーバに関する。さらに詳細には、本発明は、多数の比
較的遅いクライアント接続をホストするサーバ(例えば、インターネットウェブ
サーバ)に関する。
【0002】 (背景技術の説明) インターネットウェブサーバなどのネットワークファイルサーバが、多数の比
較的遅いクライアント接続を管理することは一般的である。多数のオープン接続
は、オープン接続を管理するだけで、サーバ中央処理装置(CPU)に実質的な
負担をかける。例えば、負荷が与えられたサーバ上のオープン接続の管理は、C
PUの稼動能力を30%〜40%以上消費し得る。この負担は、実質的に、サー
バの一次機能(すなわち、クライアントにデータを提供する)を実行可能なCP
Uサイクルのパーセンテージを減少させる。
【0003】 サーバCPUへの接続管理負担は、サーバソフトウェアルーチンの性能を劣化
させ、同時にオープンであり得るクライアント接続の最大数を減少させる。結果
として、ウェブを管理する会社は、数的に増加したクライアントを提供するため
に、別の冗長なサーバを提供する必要がある。別のウェブサーバを獲得および維
持するためのコストは、相当な金額である。
【0004】 プロキシサーバは、いくつかのクライアント接続管理機能を実行し、当該分野
で公知である。しかし、このようなプロキシサーバは、サーバから離れて収納さ
れる必要があり、従って、サーバが管理する必要がある比較的遅くてエラーを起
こしやすいネットワーク接続を介してサーバと通信する必要があるということは
、当該分野で周知であり、一般的に受け入れられている。例えば、Ari Lu
otonenの「Web Proxy Servers」(Prentice
Hall、1997)を参照のこと。本明細書中、本文献を参考として援用する
【0005】 従って、必要なものは、サーバCPUを接続管理負担から救済するシステムお
よび方法であり、従って、サーバが、数的に増加したクライアントをより効率的
に管理することを可能にすることである。
【0006】 (要旨) 本発明は、複数のクライアントとサーバとの間の接続を管理するシステムおよ
び方法を提供することにより、従来技術に関連する問題を克服する。本発明は、
ホストCPUから、ネットワークとホストバスとの間に置かれるアダプタカード
に、接続管理負担を肩代わりさせることを促進する。
【0007】 アダプタカードは、ネットワークコントローラ、メモリデバイス、処理装置、
およびプロトコルアダプタを含む。メモリデバイスは、データおよびコードの格
納を提供する。コードは、ネットワークコントローラを介してネットワーク上の
クライアントと通信し、サーババスに直接結合されているプロトコルアダプタを
介してサーバと通信するプロキシアプリケーションを含む。
【0008】 処理装置によって実行されると、プロキシアプリケーションは、ネットワーク
を介してプロキシアプリケーションとクライアントとの間にネットワーク接続を
確立することにより、そして、サーババスを介してプロキシアプリケーションと
サーバとの間にバス接続を確立することにより、クライアント接続を管理する。
さらに、メモリデバイスは、比較的少ないバス接続がサーバに対してオープンで
ある一方で、多くのネットワーク接続がクライアントに対してオープンになるこ
とを可能にするデータバッファリングを提供する。特別な実施形態において、プ
ロキシは、多数の遅いクライアント接続からバッファ内にクライアントデータを
累積し、次いで、早いバス接続を介してサーバにクライアントデータを提示する
。逆に、プロキシは、早いバス接続を介してサーバデータを受信し、サーバデー
タを一時的に格納し、次いで、遅いクライアント接続を介してクライアントにサ
ーバデータを転送する。
【0009】 より特別な実施形態において、コードは、クライアントおよびサーバと通信す
るためにアプリケーションプロキシによって使用される通信プロトコルスタック
を含む。さらに特別な実施形態において、通信プロトコルスタックは、送信制御
プロトコル/インターネットプロトコル(TCP/IP)スタックである。
【0010】 一実施形態において、サーバ接続は、プロキシが完全なクライアントリクエス
トを受信したことを判定して初めてオープンになる。サーバ接続は、次いで、プ
ロキシが、サーバからのクライアントリクエストに対する応答を受信した後で、
クローズになる。オプションとして、所定の数の永続的なサーバ接続がシステム
起動時にオープンになり、プロキシは、これらの永続的な接続を使用して、サー
バと通信する。
【0011】 プロキシアプリケーションは、オプションとして、多数のアプリケーション特
有のプロキシを含み、HTTPプロキシ、安全プロキシ、および/またはパスス
ループロキシを含むが、これらに限定されない。特定の実施形態において、プロ
キシのマスタープロセスモジュールは、クライアントデータからアプリケーショ
ン識別子(例えば、周知のポート数)を識別し、識別子の値に応じて、アプリケ
ーション特有のプロキシを1つ以上呼び出す。
【0012】 本発明は、下記の図面を参照して説明され、ここで、同様の参照番号は、実質
的に同様の要素を指す。
【0013】 (詳細な説明) 本発明は、異なる処理ユニット上で実行されるプロキシアプリケーションを用
いて、サーバのメインプロセッサの接続管理に関する負担の多くを軽減すること
によって、従来技術に関連する問題を克服する。以下の説明において、多くの特
定の詳細を記載し(例えば、特定の通信プロトコル、特定のソフトウェアおよび
データ構造など)、本発明の完全な理解を提供する。しかし、当業者であれば、
これらの特定の詳細から離れて、本発明を実行し得ることを理解する。他の例に
おいて、本発明を不必要に不明瞭にしないように、周知のネットワークコンポー
ネントおよびプログラミングの実施の詳細(例えば、通信プロトコルスタックを
介して接続を確立すること)は省略する。
【0014】 図1は、物理ネットワーク媒体104を介して、インターネットワーク102
に接続されているシステム100を示すブロック図である。特定の実施において
、システム100は、インターネットウェブサーバであり、インターネットワー
ク102は、インターネットであるが、当業者であれば、本発明を、任意の種類
のネットワークサーバで実施し得ることを理解する。
【0015】 システム100は、ファイルサーバ(例えば、HTTPウェブサーバ)106
およびアダプタカード108を含む。ファイルサーバ106は、アダプタカード
108を介して、インターネットワーク102上のクライアント109(1−n
)に、データを提供し、かつ、このクライアント109(1−n)からデータを
受信する。アダプタカード108は、クライアント109(1−n)とアダプタ
カード108との間にネットワーク接続を確立、かつこれを維持し、サーバ10
6とアダプタカード108との間にバス接続を確立する。したがって、このバス
が接続された後、アダプタカード108は、サーバ106の代わりに、クライア
ント109(1−n)から通信を受信し、通信をサーバ106に転送し、クライ
アント109の代わりに、サーバ106から応答を受信し、この応答をクライア
ント109に転送する。
【0016】 サーバ106は、不揮発性メモリ110、作業メモリ112、サーバ大容量デ
ータ記憶装置114、処理ユニット116および1つ以上のユーザ入力/出力(
I/O)デバイス118を含み、これらすべては、サーババス120(例えば、
PCIバス)を介して相互通信する。不揮発性メモリ110(例えば、リードオ
ンリーメモリおよび/または1つ以上のハードディスクドライブ)は、サーバ1
06がパワーダウンした場合でさえも保持されるデータおよびコード用の記憶装
置を提供する。作業メモリ112(例えば、ランダムアクセスメモリ)は、サー
バ106用の動作メモリを提供し、かつ、起動の間、作業メモリ112内にロー
ドされる実行可能なコード(例えば、オペレーティングシステム)を含む。数あ
るプログラムの中でも、作業メモリ112は、サーバアプリケーション121お
よび通信プロトコルスタック122を含む。サーバアプリケーション121は、
サーバ106がネットワークサーバとして機能することを可能にする、ネットワ
ークソフトウェアアプリケーション(例えば、FTP、HTTPなど)を含む。
通信プロトコルスタック122は、インターネットワーク上において他のマシー
ンとの通信を容易にする標準のプロトコルスタック(例えば、TCP/IP)で
ある。標準のプロトコルスタックは、当該分野において周知である。例えば、W
.Richard Stevensの「TCP/IP Illustrated
、Vol.1」(Addison−Wesley、1994年)を参照されたい
。同文献は、本明細書中に参考として援用する。サーバ大容量データ記憶装置1
14は、サーバが、インターネットワーク102に取り付けられたクライアント
109(1−n)に提供するデータ(例えば、HTMLページ、グラフィクスフ
ァイルなど)用のデータ記憶装置(例えば、1つ以上のハードディスクドライブ
)を提供する。処理ユニット116は、作業メモリ112内で命令を実行し、こ
れにより、サーバ106は、その主な機能(例えば、クライアントにデータを提
供し、クライアントからデータを受信する機能)を実行する。I/Oデバイス1
18は通常、キーボード、モニタ、および/またはサーバ106とのユーザ双方
向通信を容易にする他のデバイスを含む。上述のコンポーネントのそれぞれは通
常、インターネットウェブサーバなどのネットワークサーバ内に見られる。
【0017】 アダプタカード108は、不揮発性メモリ123、作業メモリ124、処理ユ
ニット126、バスプロトコルブリッジ128、ネットワークコントローラ12
9を含み、これらすべては、アダプタバス130を介して相互通信する。不発揮
性メモリ123は、アダプタ108がパワーダウンした場合でさえも保持される
データおよびコード(例えば、起動コード)用の記憶装置を提供する。処理ユニ
ット126は、作業メモリ124内にあるコードを実行することによって、アダ
プタカード108に機能性を付与する。バスプロトコルブリッジ128は、アダ
プタバス130とサーババス120との間にインターフェースを提供し、ネット
ワークコントローラ129は、アダプタバス130とネットワーク媒体104と
の間にインターフェースを提供する。
【0018】 作業メモリ124は、アダプタ108用の動作メモリを提供し、プロキシアプ
リケーション132および通信プロトコルスタック134を含む。プロキシ13
2およびプロトコルスタック134は、起動時に、不揮発性メモリ123から作
業メモリ124内にロードされる。必要に応じて、プロキシ132およびプロト
コルスタック134を、サーバ106の不揮発性メモリ110またはサーバ大容
量データ記憶装置114を含む(ただし、これらに限定されない)1つ以上の別
のソースからロードしてもよい。プロキシ132が処理ユニット126によって
実行された場合、プロキシ132は、アダプタ108とサーバ106との間、お
よびアダプタ108とクライアント109との間に上述の接続を確立、かつ、管
理する。
【0019】 本発明のこの特定の実施形態において、プロトコルスタック122および13
4は、標準(例えば、TCP/IP)のプロトコルスタックである。アダプタ1
08内に標準の通信プロトコルスタックを採用すると、広範囲にわたった、大多
数のネットワークサーバにおいてすでに存在する標準の通信ソフトウェア(例え
ば、プロトコルスタック122)を用いることが容易になる。しかし、当業者で
あれば、この特定の要素(他の記載した用途(明示的に記述しない場合も含む)
)が本発明に必須要素ではないことを理解する。例えば、本発明は、サーバ10
6およびアダプタ108の両方で、カスタム通信ソフトウェア(例えば、サーバ
アプリケーション121と、プロトコルスタック134またはプロキシ132の
いずれかとの間の直接通信)を用いて、実行し得る。さらに、本発明の特定の実
施形態において、サーバ106のリソース(例えば、サーバ大容量データ記憶装
置114)への直接アクセスをプロキシ132に提供することによって、この要
素を省略することが可能である。
【0020】 バス接続136を介して、バスプロトコルブリッジ126とサーババス120
との間のサーバ106に、アダプタカード108を接続する。この特定の実施形
態において、バス接続136は、通常のバス拡張スロット(例えば、PCIスロ
ット)である。しかし、当業者であれば、ISAスロット、USBポート、シリ
アルポートまたはパラレルポートを含む(ただし、これらに限定されない)他の
種類のバス接続によって、本発明を実施し得ることを理解する。バス接続136
によって、高速、大きなパケットサイズ、プロキシ132とサーバアプリケーシ
ョン121との間の比較的にエラーのない(ネットワーク接続と比較した場合)
通信が促進され、サーバ106の処理ユニット116にかかる接続管理の負担が
軽減される。要するに、プロキシ132(処理ユニット116上で実行される)
は、遅く、エラーを生じがちなネットワーク接続上でクライアント109と通信
して、次いで、高速バス接続136上で、クライアント109の代わりにサーバ
アプリケーション121と通信する。
【0021】 図2は、プロキシ132およびプロトコルスタック134を詳細に示す作業メ
モリ124のブロック図である。当業者であれば、プロキシ132の種々のソフ
トウェアモジュールが、相互接続された機能ブロックとして図示され、一方、ソ
フトウェアモジュールは実際、ソフトウェアモジュールが処理ユニット126(
図1)によって実行された場合に、相互に通信し得る作業メモリ124内に格納
される、実行可能なコードのブロックであることを理解する。
【0022】 プロキシ132は、マスタープロセスモジュール202、複数のクライアント
プロセスモジュール204(1−n)、データバッファ206およびアプリケー
ションプロキシモジュール208を含む。マスタープロセスモジュールは、プロ
キシ132の種々のモジュールの全体制御および調整を提供する。インターネッ
トワーク102(図1)上のクライアント109からの接続リクエストに応答し
て、マスタープロセス202は、接続リクエストを受け取り、データバッファ2
06内のこのクライアント接続用にデータ構造を初期化し、新規の別々のクライ
アント接続プロセス204を開始して接続を処理し、次いで、特定のクライアン
ト接続が確立されたことをアプリケーションプロキシ208に通知する。各クラ
イアントプロセス204は、このようなクライアント接続を処理する。アプリケ
ーションプロキシ208は、サーバ106とのバス接続を確立、かつ管理する。
データバッファ206は、クライアント109から受信され、サーバ106向け
のデータ、サーバ106から受信され、クライアント109向けのデータ、確立
されたクライアントおよび/またはサーバ接続に関する接続データ用の記憶装置
を提供する。
【0023】 通信プロトコルスタック134は、ソケット層210、TCP層212、IP
層214、ネットワークドライバ216およびサーババスドライバ218含むデ
バイス層を含むTCP/IPスタックである。プロトコルスタック134の個々
の層のそれぞれの機能性は、当該技術において周知である。したがって、本明細
書において、詳細には説明しない。プロキシ132の種々のモジュールとサーバ
アプリケーション121との間の接続は、ソケット層210、TCP層212、
IP層214およびサーババスドライバ218を介して確立される。プロキシ1
32の種々のモジュール間の接続は、ソケット層210、TCP層212、IP
層214およびネットワークドライバ216を介して、クライアント109によ
って接続が確立される。
【0024】 図3は、ハイパーテキスト転送プロトコル(HTTP)プロキシ208(1)
、パス−スループロキシ208(2)、セキュリティプロキシ208(3)およ
び「他の」のプロキシ208(f)を含む複数のアプリケーション指定プロキシ
208(1〜f)を含む、アプリケーションプロキシモジュール208を示すブ
ロック図である。マスタープロセス202は、クライアント接続を機能させる、
1つ以上のアプリケーション指定プロキシ208(1〜f)を構築することによ
って、アプリケーションプロキシ208に確立されたクライアント接続を通知す
る。アプリケーション指定プロキシ(例えば、HTTPプロキシ208(1))
を構築する一つの手段は、アプリケーション指定プロキシのキューを処理する際
に、クライアントプロセス識別子を入力することである。
【0025】 マスタープロセス202は、クライアント接続リクエストに含まれるポート番
号から、特定のクライアントプロセス用にいずれのアプリケーション指定プロキ
シを実行するかを判定する。特定のネットワークアプリケーションおよび/また
はプロトコル(例えば、ファイル転送プロトコル(FTP)、HTTPなど)を
識別するために、周知のポート番号を用いることが標準的な実施である。例えば
、ポート番号80は、HTTP接続リクエストに対応する。したがって、マスタ
ープロセス202は、接続リクエストがポート80を示したことに応答して開始
される、すべてのクライアントプロセス204を、HTTPプロキシ208(1
)に通知する。
【0026】 HTTPプロキシ208(1)は、通知されたクライアントプロセスのそれぞ
れをモニタリングする。クライアントプロセス(例えば、204(n))によっ
て、完全なHTTPリクエストがデータバッファ206内に受信および格納され
たことを、HTTPプロキシ208(1)が判定すると、HTTPプロキシ20
8(1)は、サーバへの接続を開始し、リクエストをサーバに伝送し、サーバか
ら応答を受信し、データバッファ206内に応答を格納し、次いでサーバ接続を
終了する。次いで、サーバ応答を、関連するクライアントプロセス204(n)
によって、クライアント109(n)に伝送する。
【0027】 マスタープロセス202が、他のアプリケーション指定プロキシのいずれとも
対応しないポート番号を有する接続リクエストを受信すると、マスタープロセス
202は、パス−スループロキシ208(2)に通知する。パス−スループロキ
シ208(2)は単に、サーバ接続を開始し、データバッファ206からサーバ
106に、関連するクライアントプロセス204から受信されたデータを転送し
、次いでサーバ接続を終了する。
【0028】 マスタープロセス202は、関連するポート番号にかかわらず、すべてのクラ
イアント接続を、いくつかのアプリケーション指定プロキシに通知し得る。例え
ば、セキュリティプロキシ208(3)は、例えば、他のアプリケーション指定
プロキシのうちの一つを実施する前に、認定表示のない接続リクエストに応答し
て開始される任意のクライアントプロセスを終了することによって、すべてのク
ライアント接続リクエストをスクリーニングするために動作する。
【0029】 図3に「他」のプロキシ208(f)を含み、アプリケーションプロキシ20
8が、キャッシュ(caching)HTTPプロキシアプリケーション、電子
メールアプリケーションおよびファイル転送アプリケーションを含む(ただし、
これらに限定されない)特定のアプリケーションに所望である、任意の現在公知
のプロキシ、または将来開発されるプロキシを含み得ることを示す。
【0030】 図4は、データスループロキシ132の伝送に影響を与えるように、データバ
ッファ206内に実施される、クライアントデータ構造402(1−n)および
プロキシデータ構造404(1−f)の例を示す。マスタープロセス202は、
アプリケーションプロキシ208内で、各クライアントプロセス204用に一つ
のクライアントデータ構造402および各アプリケーション指定プロキシ用に一
つのプロキシデータ構造404を作成および初期化する。
【0031】 各クライアントデータ構造402は、クライアントソケット406、サーバソ
ケット408、接続状態410、入力キュー412、出力キュー414およびア
プリケーションプロキシデータ416を含む。各クライアント接続(例えば、接
続(n))に関して、クライアントソケット406(n)およびサーバソケット
408(n)はそれぞれ、クライアント109(n)およびサーバ106のIP
アドレスおよびポート番号を含み、したがって、クライアントプロセス204(
n)のうちの一つと、各クライアントデータ構造402(n)が一意的に関連付
けられる。接続状態410(n)は、接続(n)の現在の状態(例えば、受信さ
れた完全なリクエスト、受信された応答など)を示す。特定のデータ構造402
(n)と関連付けられたクライアントプロセス204(n)によって、クライア
ント109(n)から受信されたデータを格納および蓄積するために、入力キュ
ー412(n)を用いる。クライアントプロセス204(n)によって、クライ
アント109(n)に転送されるべきアプリケーションプロキシ208からデー
タを格納するために、出力キュー414(n)を用いる。特定のアプリケーショ
ンプロキシ(例えば、フラグなど)に特定の任意の情報を格納するために、アプ
リケーションプロキシデータ416(n)を提供する。
【0032】 各プロキシデータ構造(例えば、404(f))は、クライアントキュー41
8(f)、クライアント準備キュー420(f)および読み出し保留キュー42
2(f)を含む。クライアントキュー418(f)は、プロキシデータ構造40
4(f)が対応する、特定のアプリケーションプロキシ(f)と関連する各クラ
イアントプロセス204用のクライアントプロセス記述子(例えば、関連するク
ライアントデータ構造402のポインタ)を含む。クライアント準備キュー42
0(f)は、関連するアプリケーションプロキシ(f)によって処理する(例え
ば、サーバ106に伝送する)準備が整った入力キュー412内にデータを有す
る、各クライアントデータ構造402用のクライアントプロセス記述子を含む。
【0033】 当業者であれば、上述のクライアントデータ構造402およびプロキシデータ
構造404は本質的には例示であり、本発明によって、他のデータ構造を採用し
得ることを理解する。このような別のデータ構造の構成は必然的に、採用される
特定のアプリケーション指定プロキシの機能および構造に依存する。
【0034】 図5は、本発明による、クライアントとサーバとの間の接続を管理する特定の
方法500をまとめたフローチャートである。プロキシ132は、第1の工程5
02において、クライアント109とのネットワーク接続を確立し、次いで第2
の工程504において、ネットワーク接続を介して、クライアント109から通
信(例えば、HTTPリクエスト)を受信する。次に、プロキシ132は、第3
の工程506において、サーバ106とのバス接続を確立し、次いで第4の工程
508において、バス接続を介して、サーバ106に、受信したクライアント通
信を転送する。次いで、プロキシ132は、第5の工程510において、サーバ
106から、クライアント通信への応答(例えば、HTMLデータ)を受信し、
第6の工程512において、クライアントネットワーク接続を介してクライアン
ト109に応答を伝送する。最後に、プロキシ132は、第7の工程514にお
いて、終了すべき(例えば、シャットダウンすべき)信号があるか否かを判定し
、終了すべき信号がある場合には、方法500は終了する。第7の工程514に
おいて、終了すべき信号がない場合には、方法500は、第1の工程502に戻
り、別のクライアント109とのネットワーク接続を確立する。
【0035】 図6は、方法500の第1の工程502を実行する(クライアントとのネット
ワーク接続を確立する)一つの特定の方法600をまとめたフローチャートであ
る。第1の工程において、マスタープロセス202は、インターネットワーク1
02に接続する。次いで、第2の工程604において、マスタープロセス202
は、インターネットワーク102上のトラフィックを聞き、クライアント109
から接続リクエストがあるか否かを判定する。クライアントの接続リクエストが
ない場合には、方法600は終了する。クライアント109(n)から接続リク
エストがある場合には、第3の工程606において、マスタープロセス202は
、クライアント109(n)から接続リクエストを受け取り、クライアントプロ
セス204(n)を開始し、接続を処理し、データバッファ206内のクライア
ントデータ構造402(n)を初期化する。次に、第4の工程608において、
マスタープロセス202は、クライアント接続リクエストからプロキシアプリケ
ーション識別子(例えば、ポート番号)を区別し、識別子の値に応じて、各プロ
キシデータ構造404のクライアントキュー418内に、クライアントプロセス
記述子(例えば、クライアントデータ構造402(n)のポインタ)を書き込む
ことによって、一つ以上のアプリケーションプロキシ208(1〜f)に通知す
る。最後に、第5の工程610において、マスタープロセス202は、最大許容
数のクライアント接続がオープンであるか否かを判定する。最大数のクライアン
ト接続がオープンである場合には、方法600は終了する。最大数のクライアン
ト接続がオープンでない場合には、方法600は、第2の工程604に戻り、別
の接続リクエストを聞く。
【0036】 図7は、方法500の(クライアント109からの通信を受ける)第2の工程
504を実行する方法700を概説するフローチャートである。第1の工程70
2で、マスタープロセス202は、データを受信するために処理されるべきクラ
イアントプロセス204が存在するどうかを判断する。マスタープロセス202
がクライアントプロセス204(1−n)の全てをすでに処理している場合、方
法700は終了する。処理していない場合、第2の工程704で、マスタープロ
セス202が第1のクライアントプロセス204(1)を呼ぶ。次いで、第3の
工程706で、クライアントプロセス204(1)は、クライアント109(1
)からデータが入来しているかどうかを判断するために、クライアント接続(例
えば、TCPバッファ)をチェックする。第1のクライアントプロセス204(
1)に対する入来データがない場合、方法700は、残りのクライアントプロセ
ス204(2−n)を処理するために、第1の工程702に戻る。第3の工程7
06で、クライアントプロセス204(1)が、クライアント109(1)から
の入来データが存在すると判断した場合、第4の工程708で、クライアントプ
ロセス204(1)は、入力キュー412(1)がクライアントデータを受信す
るために利用可能であるかを判断するために、クライアントデータ構造402(
1)をチェックする。入力キュー412(1)が利用可能でない場合、方法70
0は、残りのクライアントプロセス204(2−n)を処理するために、第1の
工程702に戻る。第4の工程708で、クライアントプロセス204(1)は
、入力キュー412(1)がデータの受信のために利用可能であると判断した場
合、次いで、第5の工程710で、クライアントプロセス204(1)は、入来
するクライアントデータを入力キュー412(1)に転送する。次いで、第6の
工程712で、クライアントプロセス204(1)は、入力キューに蓄積された
データが完全なリクエスト(すなわち、サーバ106への転送準備が完了したデ
ータ、例えば、完全なHTTPリクエスト)を構成しているかどうかを判断する
。データが完全なリクエストを構成していない場合、方法700は、残りのクラ
イアントプロセス204(2−n)を処理するために、第1の工程702に戻る
。しかしながら、クライアントプロセス204(1)は、第6の工程712で、
入力キュー412(1)内のデータが完全なリクエストを構成していると判断し
た場合、第7の工程714で、クライアントプロセスは、例えば、完全なリクエ
ストが存在することを示すように接続状態410(1)を設定することにより、
完全なリクエストが存在することをプロキシアプリケーション208に通知する
。次いで、方法700は、処理すべきクライアントプロセス204(2−n)が
さらに存在するかどうかを判断するために、第1の工程702に戻る。
【0037】 図8は、方法500の(サーバ106とのバス接続を確立する)第3の工程5
06を実行する方法800を概説するフローチャートである。第1の工程802
で、1つ目のアプリケーションプロキシ208(1)が、プロキシデータ構造4
04(1)のクライアントキュー418(1)から、第1のクライアント記述子
を引き出す。次いで、第2の工程804で、プロキシ208(1)は、第1のク
ライアントがその入力キュー412内に完全なリクエストを有するかどうかを判
断するために、第1のクライアント記述子により特定されるクライアントデータ
構造402の接続状態412をチェックする。接続状態412が完全なリクエス
トを示す場合、第3の工程806で、プロキシ208(1)は、クライアント準
備完了キュー420(1)にクライアント記述子を加える。次に、第4の工程8
08で、プロキシ208(1)は、サーバ106に対して、最大数の接続が開か
れているかどうかを判断する。最大数のサーバ接続がすでに開かれている場合、
方法800は終了する。最大数のサーバ接続がまだ開かれていない場合、第5の
工程810で、プロキシ208(1)は、サーバ106とのバス接続を開き、関
連づけられたクライアントデータ構造402のサーバソケット408に接続情報
を書き込む。次に、第6の工程812で、プロキシ208(1)は、クライアン
トキュー418(1)内の最後の記述子をチェックしたかどうかを判断する。最
後の記述子がチェックされている場合、方法800は終了する。最後の記述子が
チェックされていなければ、方法800は、クライアントキュー418(1)内
の次の記述子を引き出すために、第1の工程802に戻る。第2の工程804で
、プロキシ208(1)が、完全なクライアントリクエストが受信されていない
と判断した場合、方法800は、直接、第6の工程812に進む。一旦、プロキ
シデータ構造404(1)のクライアントキュー418(1)内の記述子の全て
が処理されると、方法800または同様の方法が、他のアプリケーションプロキ
シ208(2−f)の各々に対して繰り返される。
【0038】 図9は、方法500の(サーバ106にクライアント通信を転送する)第4の
工程508を実行する方法900を概説するフローチャートである。第1の工程
902で、プロキシ208(1)は、プロキシデータ構造404(1)のクライ
アント準備完了キュー420(1)から、第1のクライアント記述子を引き出す
。次いで、第2の工程904で、プロキシ208(1)は、サーバ接続が開いて
いるかどうかを判断するために、第1のクライアントのデータ構造402のサー
バソケット408をチェックする。サーバ接続が開いている場合、第3の工程9
06で、プロキシ208(1)は、開いたサーバ接続を介して、クライアント入
力キュー412からサーバ106にクライアントデータ(例えば、HTTPリク
エスト)を転送する。次に、第4の工程908で、プロキシ208(1)は、ク
ライアント準備完了キュー420(1)から読み出し保留キュー422(1)に
クライアント記述子を移動する。次いで、第5の工程910で、プロキシ208
(1)は、クライアント準備完了キュー420(1)内の最後のクライアントが
チェックされたかどうかを判断する。チェックされていない場合、方法900は
、クライアント準備完了キュー420(1)内の次のクライアントをチェックす
るために、第1の工程902に戻る。最後のクライアントがチェックされている
場合、方法900は終了する。第2の工程904で、プロキシ208(1)が、
特定のクライアントのために開いたサーバ接続が存在しないと判断した場合、方
法900は、クライアント準備完了キュー420(1)内の最後のクライアント
がチェックされたかどうかを判断するために、直接、第5の工程910に進む。
一旦、プロキシデータ構造404(1)のクライアント準備完了キュー420(
1)内の記述子の全てが処理されると、方法900または同様の方法が、他のア
プリケーションプロキシ208(2−f)の各々に対して繰り返される。
【0039】 図10は、方法500の(サーバ106から応答を受信する)第5の工程51
0を実行する方法1000を概説するフローチャートである。第1の工程100
2で、プロキシ208(1)は、読み出し保留キュー422(1)が空であるか
どうかを判断し、空である場合、方法1000が終了する。読み出し保留キュー
422(1)が空でない場合、第2の工程1004で、プロキシ208(1)が
、読み出し保留キューから第1のクライアント記述子を引き出す。次に、第3の
工程1006で、プロキシ208(1)が、第1のクライアント記述子により特
定されるクライアントデータ構造402のサーバソケット408内で特定された
、開いたサーバ接続上に入来サーバデータ(すなわち、クライアントリクエスト
への応答)が存在するかどうかを判断するために、その接続をチェックする。そ
の接続上に入来サーバデータが存在しない場合、方法1000は、読み出し保留
キュー内の次のクライアントをチェックするために、第2の工程1004に戻る
。入来サーバデータが存在する場合、第4の工程1008で、プロキシ208(
1)は、クライアント記述子により特定されるクライアントデータ構造402の
出力キュー414が利用可能であるかどうかを判断するためのチェックを行う。
出力キュー414が利用可能でない場合、方法1000は、読み出し保留キュー
422(1)内の次のクライアント記述子をチェックするために、第2の工程1
004に戻る。出力キュー414が利用可能である場合、第5の工程1010で
、プロキシ208(1)は、クライアントデータ構造402の出力キュー414
に、入来サーバデータを移動する。次に、第6の工程1012で、プロキシ20
8(1)は、サーバデータが「ファイルの終わり」インジケータを含むかどうか
を判断する。含んでいない場合、第7の工程1014で、プロキシ208(1)
は、読み出し保留キュー422(1)内の最後のクライアント記述子が処理され
たかどうかを判断するためのチェックを行う。処理されている場合、方法100
0は終了する。処理されていない場合、方法1000は、読み出し保留キュー4
22(1)から次のクライアント記述子を読み出すために、工程1004に戻る
【0040】 第6の工程1012で、プロキシ208(1)が、サーバデータが「ファイル
の終わり」インジケータを含むと判断した場合、方法1000は、プロキシ20
8(1)が読み出し保留キューからクライアント記述子を取り除く、第8の工程
1016に進み、次いで、第9の工程1018で、サーバ接続を閉じる。第9の
工程1018の後、方法1000は、第7の工程1014に戻る。一旦、プロキ
シデータ構造404(1)の読み出し保留キュー422(1)内の記述子の全て
が処理されると、方法1000または同様の方法が、他のアプリケーションプロ
キシ208(2−f)の各々に対して繰り返される。
【0041】 図11は、方法500の(クライアント109にデータを送信する)第6の工
程512を実行する方法1100を概説するフローチャートである。第1の工程
1102で、マスタープロセス202は、第1のクライアントプロセス204(
1)を呼ぶ。次いで、第2の工程1104で、第1のクライアントプロセス20
4(1)は、クライアントデータ構造402(1)の出力キュー414(1)内
にデータが存在するかどうかを判断する。出力キュー414(1)内にデータが
存在しない場合、方法1100は、マスタープロセス202が残りのクライアン
トプロセス204(2−n)のうちの次のクライアントプロセスを呼ぶ、第1の
工程1102に戻る。しかしながら、第2の工程1104で、クライアントプロ
セス204(1)が、出力キュー414(1)内にデータが存在すると判断した
場合、第3の工程1106で、クライアントプロセス204(1)は、クライア
ントネットワーク接続がデータを受信する準備が完了しているかどうかを判断す
る。クライアントネットワーク接続が準備完了していない場合、方法1100は
第1の工程1102に戻る。クライアントネットワーク接続が準備完了している
場合、第4の工程1108で、クライアントプロセス204(1)は、クライア
ント接続(例えば、TCP出力バッファ)に、出力キュー414(1)内のデー
タの少なくとも一部を移動する。次に、第5の工程1110で、マスタープロセ
ス202は、最後のクライアントプロセスが呼ばれたかどうかを判断する。呼ば
れている場合、方法1100は終了する。呼ばれていない場合、方法1100は
、残りのクライアントプロセス203(2−n)のうちの次のクライアントプロ
セスを呼ぶために、第1の工程1102に戻る。
【0042】 これで、本発明の特定の実施形態の説明を終える。説明した特徴の多くは、本
発明の範囲を逸脱することなく、置換、変更、または省略され得る。例えば、ア
ダプタ108の機能素子(例えば、処理ユニット126およびプロキシ132)
は、着脱可能アダプタカードに設けられる代わりに、サーバに直接組み入れられ
得る。さらに、代替的なデータ構造が、提供された例示的なデータ構造と置き換
えられ得る。また、本明細書中において開示された方法およびルーチンの特定の
順序は、本発明の必要不可欠な要素であるとは見なされない。さらに別の例とし
て、マスタープロセス202は、起動時に、サーバ106との好適な数の持続的
バス接続を開き、アプリケーションプロキシ208(1−f)によるこれらの接
続の使用を管理するように構成され得るため、サーバ106がバス接続を繰り返
し開閉する必要がなくなる。示された特定の実施形態からのこれらおよび他の逸
脱は、特に、前述の開示より当業者には明らかである。
【図面の簡単な説明】
【図1】 図1は、本発明によるサーバおよびアダプタカードのブロック図である。
【図2】 図2は、図1のアダプタカードの作業メモリのブロック図であり、プロキシモ
ジュールをより詳細に示す。
【図3】 図3は、図2のアプリケーションプロキシモジュールをより詳細に示すブロッ
ク図である。
【図4】 図4は、図2のデータバッファ内に格納されているデータの少なくともいくつ
かに関する例示的なデータ構造を示すブロック図である。
【図5】 図5は、本発明によるクライアントとサーバとの間の接続を管理する1つの方
法を要約するフローチャートである。
【図6】 図6は、図5の方法の第1のステップを実行する1つの方法を要約するフロー
チャートである。
【図7】 図7は、図5の方法の第2のステップを実行する1つの方法を要約するフロー
チャートである。
【図8】 図8は、図5の方法の第3のステップを実行する1つの方法を要約するフロー
チャートである。
【図9】 図9は、図5の方法の第4のステップを実行する1つの方法を要約するフロー
チャートである。
【図10】 図10は、図5の方法の第5のステップを実行する1つの方法を要約するフロ
ーチャートである。
【図11】 図11は、図5の方法の第6のステップを実行する1つの方法を要約するフロ
ーチャートである。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AL,AM,AT,AU, AZ,BA,BB,BG,BR,BY,CA,CH,C N,CR,CU,CZ,DE,DK,DM,EE,ES ,FI,GB,GD,GE,GH,GM,HR,HU, ID,IL,IN,IS,JP,KE,KG,KP,K R,KZ,LC,LK,LR,LS,LT,LU,LV ,MA,MD,MG,MK,MN,MW,MX,NO, NZ,PL,PT,RO,RU,SD,SE,SG,S I,SK,SL,TJ,TM,TR,TT,TZ,UA ,UG,UZ,VN,YU,ZA,ZW (72)発明者 ウォーリー, ダブリュー. スペンサー ザ サード アメリカ合衆国 カリフォルニア 94019, ハーフ ムーン ベイ, コリアス ア ベニュー 311 (72)発明者 マクドネル, エオイン ビー. アメリカ合衆国 カリフォルニア 94087, サニーベイル, ヨークタウン ドライ ブ 1057 (72)発明者 ヴァスタノ, ジョン エイ. アメリカ合衆国 カリフォルニア 95051, サンタ クララ, カブリロ アベニュ ー 3497 (72)発明者 ウェザーフォード, ウィリアム ティ ー. アメリカ合衆国 カリフォルニア 94402, サン マテオ, フォージ ロード 1556 Fターム(参考) 5B085 BA06 BG02 BG07 5B089 GA11 GA21 JA35

Claims (47)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つのクライアントとサーバ間の接続を管理する
    ための方法であって、該方法は、 ネットワークを介して、該クライアントのうちの1つとのネットワーク接続を
    確立する工程と、 該ネットワーク接続を介して、該クライアントから通信を受ける工程と、 該サーバの内部バスを介して、該サーバとのバス接続を確立する工程と、 該バス接続を介して、該サーバに、該クライアント通信を転送する工程と を包含する、方法。
  2. 【請求項2】 前記クライアントから通信を受ける工程は、該通信をバッフ
    ァ内に格納する工程を包含する、請求項1に記載の方法。
  3. 【請求項3】 前記通信をバッファ内に格納する工程は、前記クライアント
    からの1以上の個別の伝送物を該バッファ内に蓄積する工程を包含する、請求項
    2に記載の方法。
  4. 【請求項4】 前記サーバとのバス接続を確立する工程は、該サーバとのバ
    ス接続を確立する前に、完全なクライアントリクエストが該バッファ内に蓄積さ
    れるまで待機する工程を包含する、請求項3に記載の方法。
  5. 【請求項5】 前記バス接続を介して、前記サーバからの前記クライアント
    通信への応答を受信する工程と、 前記ネットワーク接続を介して、該クライアントへの該応答を転送する工程と
    をさらに包含する、請求項4に記載の方法。
  6. 【請求項6】 前記サーバからの応答を受信する工程は、該応答をバッファ
    内に格納する工程を包含する、請求項5に記載の方法。
  7. 【請求項7】 前記サーバからの応答を受信する工程は、該応答が受信され
    た後、前記バス接続を終了する工程を包含する、請求項6に記載の方法。
  8. 【請求項8】 前記バス接続を介して、前記サーバからの前記クライアント
    通信への応答を受信する工程と、 前記ネットワーク接続を介して、該クライアントへの該応答を転送する工程と
    をさらに包含する、請求項1に記載の方法。
  9. 【請求項9】 前記サーバからの応答を受信する工程は、該応答をバッファ
    内に格納する工程を包含する、請求項8に記載の方法。
  10. 【請求項10】 前記サーバからの応答を受信する工程は、該応答が受信さ
    れた後、前記バス接続を終了する工程を包含する、請求項9に記載の方法。
  11. 【請求項11】 前記クライアント通信は、HTTPリクエストを含む、請
    求項8に記載の方法。
  12. 【請求項12】 前記サーバからの応答は、HTMLページを含む、請求項
    11に記載の方法。
  13. 【請求項13】 前記クライアントとのネットワーク接続を確立する工程は
    、前記ネットワークを介して、複数のクライアントの各々との個別のネットワー
    ク接続を確立する工程を包含する、請求項1に記載の方法。
  14. 【請求項14】 前記サーバとのバス接続を確立する工程は、前記サーバの
    前記内部バスを介して、該サーバとの複数の接続を確立する工程を包含する、請
    求項13に記載の方法。
  15. 【請求項15】 最大の同時クライアント接続数が、最大の同時サーバ接続
    数を越える、請求項14に記載の方法。
  16. 【請求項16】 前記サーバに前記クライアント通信を転送する前に、該ク
    ライアント通信にセキュリティ操作を実施する工程をさらに包含する、請求項1
    に記載の方法。
  17. 【請求項17】 前記クライアント通信を受信する工程は、該クライアント
    通信とアプリケーション識別子を見分ける工程を包含し、 前記サーバにクライアント通信を転送する工程は、該アプリケーション識別子
    に基づいて、複数のプロキシアプリケーションのうちの1つを呼び出す工程を包
    含する、請求項1に記載の方法。
  18. 【請求項18】 前記アプリケーション識別子は、接続ポート番号である、
    請求項17に記載の方法。
  19. 【請求項19】 前記クライアント通信を受ける工程は、HTTPリクエス
    トの少なくとも一部を受信する工程を包含する、請求項1に記載の方法。
  20. 【請求項20】 電子デバイスに請求項1に記載の工程を実行させるコード
    を内部に組み込んだ、コンピュータ読み出し可能媒体。
  21. 【請求項21】 電子デバイスに請求項2に記載の工程を実行させるコード
    を内部に組み込んだ、コンピュータ読み出し可能媒体。
  22. 【請求項22】 電子デバイスに請求項3に記載の工程を実行させるコード
    を内部に組み込んだ、コンピュータ読み出し可能媒体。
  23. 【請求項23】 電子デバイスに請求項4に記載の工程を実行させるコード
    を内部に組み込んだ、コンピュータ読み出し可能媒体。
  24. 【請求項24】 電子デバイスに請求項5に記載の工程を実行させるコード
    を内部に組み込んだ、コンピュータ読み出し可能媒体。
  25. 【請求項25】 電子デバイスに請求項6に記載の工程を実行させるコード
    を内部に組み込んだ、コンピュータ読み出し可能媒体。
  26. 【請求項26】 電子デバイスに請求項7に記載の工程を実行させるコード
    を内部に組み込んだ、コンピュータ読み出し可能媒体。
  27. 【請求項27】 電子デバイスに請求項8に記載の工程を実行させるコード
    を内部に組み込んだ、コンピュータ読み出し可能媒体。
  28. 【請求項28】 電子デバイスに請求項9に記載の工程を実行させるコード
    を内部に組み込んだ、コンピュータ読み出し可能媒体。
  29. 【請求項29】 電子デバイスに請求項10に記載の工程を実行させるコー
    ドを内部に組み込んだ、コンピュータ読み出し可能媒体。
  30. 【請求項30】 電子デバイスに請求項11に記載の工程を実行させるコー
    ドを内部に組み込んだ、コンピュータ読み出し可能媒体。
  31. 【請求項31】 電子デバイスに請求項12に記載の工程を実行させるコー
    ドを内部に組み込んだ、コンピュータ読み出し可能媒体。
  32. 【請求項32】 電子デバイスに請求項13に記載の工程を実行させるコー
    ドを内部に組み込んだ、コンピュータ読み出し可能媒体。
  33. 【請求項33】 電子デバイスに請求項14に記載の工程を実行させるコー
    ドを内部に組み込んだ、コンピュータ読み出し可能媒体。
  34. 【請求項34】 電子デバイスに請求項15に記載の工程を実行させるコー
    ドを内部に組み込んだ、コンピュータ読み出し可能媒体。
  35. 【請求項35】 電子デバイスに請求項16に記載の工程を実行させるコー
    ドを内部に組み込んだ、コンピュータ読み出し可能媒体。
  36. 【請求項36】 電子デバイスに請求項17に記載の工程を実行させるコー
    ドを内部に組み込んだ、コンピュータ読み出し可能媒体。
  37. 【請求項37】 電子デバイスに請求項18に記載の工程を実行させるコー
    ドを内部に組み込んだ、コンピュータ読み出し可能媒体。
  38. 【請求項38】 電子デバイスに請求項19に記載の工程を実行させるコー
    ドを内部に組み込んだ、コンピュータ読み出し可能媒体。
  39. 【請求項39】 内部バスを備えたサーバをネットワークに結合するための
    アダプタカードであって、該アダプタカードは、 該ネットワーク上のクライアントと通信するためのネットワークコントローラ
    と、 データおよびコードを格納するためのメモリデバイスであって、該コードはプ
    ロキシアプリケーションを含む、メモリデバイスと、 該メモリデバイスと結合された、該コードを実行するための処理ユニットと、 該処理ユニットに結合され、かつ該内部バスに結合するように適合された、該
    サーバと通信するためのプロトコルアダプタと を備える、アダプタカード。
  40. 【請求項40】 前記コードは、通信プロトコルスタックをさらに含む、請
    求項39に記載のアダプタカード。
  41. 【請求項41】 前記通信プロトコルスタックは、標準TCP/IPプロト
    コルスタックを含む、請求項40に記載のアダプタ。
  42. 【請求項42】 前記プロキシアプリケーションは、セキュリティプロキシ
    を含む、請求項39に記載のアダプタカード。
  43. 【請求項43】 前記プロキシアプリケーションは、パススループロキシを
    含む、請求項39に記載のアダプタカード。
  44. 【請求項44】 前記プロキシアプリケーションは、HTTPプロキシを含
    む、請求項39に記載のアダプタカード。
  45. 【請求項45】 前記クライアントから受信したデータを格納するためのデ
    ータバッファをさらに備える、請求項39に記載のアダプタカード。
  46. 【請求項46】 前記プロキシアプリケーションは、前記クライアントのう
    ちの1つから受信した接続リクエストに応答し、かつ該クライアントとの接続を
    確立して、該確立された接続を維持するために、新たなクライアントプロセスモ
    ジュールを開始するように動作する、マスタープロセスモジュールを含む、請求
    項39に記載のアダプタカード。
  47. 【請求項47】 前記マスタープロセスモジュールは、さらに、前記確立さ
    れた接続を前記プロキシアプリケーションに通知するように動作する、請求項4
    6に記載のアダプタカード。
JP2001525498A 1999-09-24 2000-09-22 クライアントとサーバ間の接続を管理するためのシステムおよび方法 Expired - Fee Related JP4896328B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/405,608 US6877036B1 (en) 1999-09-24 1999-09-24 System and method for managing connections between a client and a server
US09/405,608 1999-09-24
PCT/US2000/026097 WO2001022195A2 (en) 1999-09-24 2000-09-22 System and method for managing connections between a client and a server

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011233379A Division JP5364773B2 (ja) 1999-09-24 2011-10-24 クライアントとサーバ間の接続を管理するためのシステムおよび方法

Publications (3)

Publication Number Publication Date
JP2003523552A true JP2003523552A (ja) 2003-08-05
JP2003523552A5 JP2003523552A5 (ja) 2007-11-08
JP4896328B2 JP4896328B2 (ja) 2012-03-14

Family

ID=23604408

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001525498A Expired - Fee Related JP4896328B2 (ja) 1999-09-24 2000-09-22 クライアントとサーバ間の接続を管理するためのシステムおよび方法
JP2011233379A Expired - Fee Related JP5364773B2 (ja) 1999-09-24 2011-10-24 クライアントとサーバ間の接続を管理するためのシステムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011233379A Expired - Fee Related JP5364773B2 (ja) 1999-09-24 2011-10-24 クライアントとサーバ間の接続を管理するためのシステムおよび方法

Country Status (8)

Country Link
US (3) US6877036B1 (ja)
EP (1) EP1226482A4 (ja)
JP (2) JP4896328B2 (ja)
CN (1) CN1288575C (ja)
AU (1) AU4019601A (ja)
CA (1) CA2385899C (ja)
TW (1) TW475114B (ja)
WO (1) WO2001022195A2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6920637B2 (en) * 1995-11-17 2005-07-19 Symbol Technologies, Inc. Method and apparatus for implementing alerts on a browser running on a portable handheld device
JP3974276B2 (ja) * 1998-11-30 2007-09-12 ペンタックス株式会社 セラミックス複合体の製造方法およびセラミックス複合体
US6877036B1 (en) * 1999-09-24 2005-04-05 Akamba Corporation System and method for managing connections between a client and a server
US7272649B1 (en) * 1999-09-30 2007-09-18 Cisco Technology, Inc. Automatic hardware failure detection and recovery for distributed max sessions server
US6854018B1 (en) * 2000-03-20 2005-02-08 Nec Corporation System and method for intelligent web content fetch and delivery of any whole and partial undelivered objects in ascending order of object size
US7392282B2 (en) * 2001-03-14 2008-06-24 International Business Machines Corporation Method for ensuring client access to messages from a server
US7200679B2 (en) 2001-04-13 2007-04-03 Telefonaktiebolaget Lm Ericsson (Publ) Creating distributed proxy configurations
US20020156841A1 (en) * 2001-04-13 2002-10-24 Bjorn Landfeldt Accessing distributed proxy configurations
US8090866B1 (en) * 2002-01-18 2012-01-03 Cisco Technology, Inc. TCP proxy connection management in a gigabit environment
US20040105445A1 (en) * 2002-06-19 2004-06-03 Jeremy Wyn-Harris Internet protocol for resource-constrained devices
US7426535B2 (en) 2002-10-08 2008-09-16 Telecommunication Systems, Inc. Coordination of data received from one or more sources over one or more channels into a single context
JP2004145392A (ja) * 2002-10-21 2004-05-20 Kddi Corp 動画像ファイル配信装置
CN100452014C (zh) * 2003-06-02 2009-01-14 美国在线服务公司 提供关于一项目与一网页相关的指示的方法及设备
CN1302364C (zh) * 2004-02-11 2007-02-28 财团法人资讯工业策进会 应用界面桥接方法与系统
US20050228509A1 (en) * 2004-04-07 2005-10-13 Robert James System, device, and method for adaptively providing a fieldbus link
GB0425966D0 (en) * 2004-11-25 2004-12-29 Vodafone Plc Server functionality within a client
US9055088B2 (en) * 2005-03-15 2015-06-09 International Business Machines Corporation Managing a communication session with improved session establishment
WO2006126221A1 (en) * 2005-05-27 2006-11-30 Telecom Italia S.P.A. System and method for performing mobile services, in particular push and pull services, in a wireless communication network
EP1833206B1 (en) * 2006-03-10 2013-12-04 Mitel Networks Corporation Method for distributing connection attempts to a server
US7649902B2 (en) * 2006-11-22 2010-01-19 Sun Microsystems, Inc. Method and apparatus for performing syntax-directed application layer data buffering
US20080309665A1 (en) * 2007-06-13 2008-12-18 3D Systems, Inc., A California Corporation Distributed rapid prototyping
CN101383879B (zh) * 2007-09-07 2011-05-18 米特尔网络公司 用于分配对服务器的连接尝试的方法
US20090097470A1 (en) * 2007-10-12 2009-04-16 Collier David S Methods and systems for communicating data
CN101996288A (zh) * 2009-08-18 2011-03-30 精品科技股份有限公司 资讯安全管理系统
CN102118390B (zh) * 2011-01-07 2015-07-22 杭州华三通信技术有限公司 多网卡设备的多应用系统联动的方法及设备
US8327006B2 (en) * 2011-02-24 2012-12-04 Jibe Mobile Endpoint device and article of manufacture for application to application communication over a network
CN102439946B (zh) * 2011-06-23 2014-05-21 华为技术有限公司 数据传输方法和设备
US9154580B2 (en) * 2012-02-01 2015-10-06 Tata Consultancy Services Limited Connection management in a computer networking environment
CN103516851B (zh) * 2012-06-30 2016-05-25 北京新媒传信科技有限公司 一种无线产品云测试平台系统
KR102090493B1 (ko) * 2013-01-22 2020-03-18 삼성전자주식회사 무선 통신 네트워크에서 http 프로토콜의 전송 지연과 http 서버의 프로세싱 부하를 줄이는 장치 및 방법
US11222001B2 (en) * 2013-03-15 2022-01-11 Sap Se Augmenting middleware communication services
US9559896B2 (en) * 2013-07-08 2017-01-31 Cisco Technology, Inc. Network-assisted configuration and programming of gateways in a network environment
US10230770B2 (en) * 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
CN105915658B (zh) * 2016-07-04 2019-07-23 优刻得科技股份有限公司 获取客户端ip地址的数据调用方法、数据传输方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01226059A (ja) * 1988-03-04 1989-09-08 Matsushita Graphic Commun Syst Inc 通信アダプタ
US5872919A (en) * 1997-05-07 1999-02-16 Advanced Micro Devices, Inc. Computer communication network having a packet processor with an execution unit which is variably configured from a programmable state machine and logic
JPH1165969A (ja) * 1997-08-19 1999-03-09 Toshiba Corp サーバ装置および通信接続方法並びに通信の接続を行うプログラムを記録した記録媒体
US5898830A (en) * 1996-10-17 1999-04-27 Network Engineering Software Firewall providing enhanced network security and user transparency
JPH11187061A (ja) * 1997-05-06 1999-07-09 Toshiba Corp 通信装置、通信制御方法、サービス登録方法、サービス提供方法及び装置制御プログラム登録方法
US5941988A (en) * 1997-01-27 1999-08-24 International Business Machines Corporation Session and transport layer proxies via TCP glue
JPH11242644A (ja) * 1997-09-11 1999-09-07 Internatl Business Mach Corp <Ibm> データ処理システム、文書表示方法、システムおよび文書提示制御方法
US6182141B1 (en) * 1996-12-20 2001-01-30 Intel Corporation Transparent proxy server

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0476752A (ja) 1990-07-19 1992-03-11 Nec Corp バッファ制御方式
JPH04326227A (ja) 1991-04-25 1992-11-16 Nippon Telegr & Teleph Corp <Ntt> 高速回線制御装置
US5426639A (en) 1991-11-29 1995-06-20 At&T Corp. Multiple virtual FIFO arrangement
JPH05225094A (ja) 1992-02-10 1993-09-03 Nec Corp 通信制御装置システムにおけるバッファプール制御方式
FR2699706B1 (fr) 1992-12-22 1995-02-24 Bull Sa Système de transmission de données entre un bus d'ordinateur et un réseau.
JP2963298B2 (ja) * 1993-03-26 1999-10-18 富士通株式会社 二重化共有メモリにおける排他制御命令のリカバリ方法および計算機システム
JPH0787100A (ja) 1993-09-17 1995-03-31 Hitachi Ltd 通信アダプタ
US5550981A (en) 1994-06-21 1996-08-27 At&T Global Information Solutions Company Dynamic binding of network identities to locally-meaningful identities in computer networks
US5678007A (en) * 1994-11-22 1997-10-14 Microsoft Corporation Method and apparatus for supporting multiple outstanding network requests on a single connection
US5896508A (en) 1995-02-23 1999-04-20 Advanced Micro Devices, Inc. Hub-network adapter device for a file server personal computer
JPH08314779A (ja) 1995-05-16 1996-11-29 Hitachi Ltd サーバーシステム
US5878213A (en) * 1996-02-15 1999-03-02 International Business Machines Corporation Methods, systems and computer program products for the synchronization of time coherent caching system
US5754774A (en) 1996-02-15 1998-05-19 International Business Machine Corp. Client/server communication system
US5832512A (en) 1996-04-15 1998-11-03 Sun Microsystems, Inc. Apparatus and method for file number re-mapping for disconnected operations in a client-server network
US5918013A (en) 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US5867650A (en) 1996-07-10 1999-02-02 Microsoft Corporation Out-of-band data transmission
US6091737A (en) * 1996-11-15 2000-07-18 Multi-Tech Systems, Inc. Remote communications server system
JP3217002B2 (ja) 1996-11-19 2001-10-09 株式会社日立製作所 デジタルスタジオ装置およびその制御方法
US5852717A (en) 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US6185625B1 (en) 1996-12-20 2001-02-06 Intel Corporation Scaling proxy server sending to the client a graphical user interface for establishing object encoding preferences after receiving the client's request for the object
US5974496A (en) 1997-01-02 1999-10-26 Ncr Corporation System for transferring diverse data objects between a mass storage device and a network via an internal bus on a network card
US6122514A (en) 1997-01-03 2000-09-19 Cellport Systems, Inc. Communications channel selection
US6138162A (en) 1997-02-11 2000-10-24 Pointcast, Inc. Method and apparatus for configuring a client to redirect requests to a caching proxy server based on a category ID with the request
US5935249A (en) * 1997-02-26 1999-08-10 Sun Microsystems, Inc. Mechanism for embedding network based control systems in a local network interface device
US6119161A (en) 1997-02-28 2000-09-12 International Business Machines Corporation Managing connection requests in a dialup computer network
US6237031B1 (en) 1997-03-25 2001-05-22 Intel Corporation System for dynamically controlling a network proxy
US6104716A (en) * 1997-03-28 2000-08-15 International Business Machines Corporation Method and apparatus for lightweight secure communication tunneling over the internet
US5924116A (en) 1997-04-02 1999-07-13 International Business Machines Corporation Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node
JP3173418B2 (ja) * 1997-04-18 2001-06-04 日本電気株式会社 ストリーム再生制御方式及びプログラムを記録した機械読み取り可能な記録媒体
US6072483A (en) 1997-06-02 2000-06-06 Sony Corporation Active frame scroll interface
JP2998701B2 (ja) 1997-06-27 2000-01-11 日本電気株式会社 データ通信におけるサーバアクセス方式
US6098108A (en) * 1997-07-02 2000-08-01 Sitara Networks, Inc. Distributed directory for enhanced network communication
US6006268A (en) * 1997-07-31 1999-12-21 Cisco Technology, Inc. Method and apparatus for reducing overhead on a proxied connection
US6222533B1 (en) 1997-08-25 2001-04-24 I2 Technologies, Inc. System and process having a universal adapter framework and providing a global user interface and global messaging bus
US6035324A (en) 1997-08-28 2000-03-07 International Business Machines Corporation Client-side asynchronous form management
US6247050B1 (en) 1997-09-12 2001-06-12 Intel Corporation System for collecting and displaying performance improvement information for a computer
US6470386B1 (en) * 1997-09-26 2002-10-22 Worldcom, Inc. Integrated proxy interface for web based telecommunications management tools
US6088803A (en) 1997-12-30 2000-07-11 Intel Corporation System for virus-checking network data during download to a client device
US6101328A (en) 1997-12-31 2000-08-08 Intel Corporation System for preventing multiple instances of the same dynamic executable module
US6822955B1 (en) 1998-01-22 2004-11-23 Nortel Networks Limited Proxy server for TCP/IP network address portability
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6094699A (en) * 1998-02-13 2000-07-25 Mylex Corporation Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller
US6115755A (en) * 1998-04-09 2000-09-05 Novaweb Technologies, Inc. Integrated apparatus for interfacing several computers to the internet through a single connection
JPH11306053A (ja) 1998-04-24 1999-11-05 Hitachi Ltd データ転送方法およびそれを実施する情報処理装置
US6745243B2 (en) * 1998-06-30 2004-06-01 Nortel Networks Limited Method and apparatus for network caching and load balancing
US6088796A (en) * 1998-08-06 2000-07-11 Cianfrocca; Francis Secure middleware and server control system for querying through a network firewall
DK1030244T3 (da) * 1998-09-16 2014-10-13 Mitsui Bussan Multimedie direkte kommunikationssystem forbundet med HTTP-protokol
US6330605B1 (en) * 1998-11-19 2001-12-11 Volera, Inc. Proxy cache cluster
US6389462B1 (en) * 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US6718390B1 (en) * 1999-01-05 2004-04-06 Cisco Technology, Inc. Selectively forced redirection of network traffic
US6529937B1 (en) * 1999-01-29 2003-03-04 International Business Machines Corporation System and method for communicating client IP addresses to server applications
US6081900A (en) * 1999-03-16 2000-06-27 Novell, Inc. Secure intranet access
US6553422B1 (en) * 1999-04-26 2003-04-22 Hewlett-Packard Development Co., L.P. Reverse HTTP connections for device management outside a firewall
US6226752B1 (en) * 1999-05-11 2001-05-01 Sun Microsystems, Inc. Method and apparatus for authenticating users
US7275086B1 (en) * 1999-07-01 2007-09-25 Intellisync Corporation System and method for embedding a context-sensitive web portal in a computer application
US6567857B1 (en) * 1999-07-29 2003-05-20 Sun Microsystems, Inc. Method and apparatus for dynamic proxy insertion in network traffic flow
US6401125B1 (en) * 1999-08-05 2002-06-04 Nextpage, Inc. System and method for maintaining state information between a web proxy server and its clients
JP3478200B2 (ja) * 1999-09-17 2003-12-15 日本電気株式会社 サーバ・クライアント間双方向通信システム
US6877036B1 (en) * 1999-09-24 2005-04-05 Akamba Corporation System and method for managing connections between a client and a server
US6801927B1 (en) * 1999-09-24 2004-10-05 Akamba Corporation Network adaptor card with reverse proxy and cache and method implemented therewith
US6308238B1 (en) 1999-09-24 2001-10-23 Akamba Corporation System and method for managing connections between clients and a server with independent connection and data buffers
WO2002035366A1 (en) 2000-10-23 2002-05-02 Akamba Corporation System and method for managing connections between clients and a server using cache memory to store server responses

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01226059A (ja) * 1988-03-04 1989-09-08 Matsushita Graphic Commun Syst Inc 通信アダプタ
US5898830A (en) * 1996-10-17 1999-04-27 Network Engineering Software Firewall providing enhanced network security and user transparency
US6182141B1 (en) * 1996-12-20 2001-01-30 Intel Corporation Transparent proxy server
US5941988A (en) * 1997-01-27 1999-08-24 International Business Machines Corporation Session and transport layer proxies via TCP glue
JPH11187061A (ja) * 1997-05-06 1999-07-09 Toshiba Corp 通信装置、通信制御方法、サービス登録方法、サービス提供方法及び装置制御プログラム登録方法
US5872919A (en) * 1997-05-07 1999-02-16 Advanced Micro Devices, Inc. Computer communication network having a packet processor with an execution unit which is variably configured from a programmable state machine and logic
JPH1165969A (ja) * 1997-08-19 1999-03-09 Toshiba Corp サーバ装置および通信接続方法並びに通信の接続を行うプログラムを記録した記録媒体
JPH11242644A (ja) * 1997-09-11 1999-09-07 Internatl Business Mach Corp <Ibm> データ処理システム、文書表示方法、システムおよび文書提示制御方法

Also Published As

Publication number Publication date
EP1226482A4 (en) 2009-09-02
WO2001022195A2 (en) 2001-03-29
EP1226482A2 (en) 2002-07-31
US6877036B1 (en) 2005-04-05
TW475114B (en) 2002-02-01
JP5364773B2 (ja) 2013-12-11
CA2385899C (en) 2010-02-16
US9009326B2 (en) 2015-04-14
JP4896328B2 (ja) 2012-03-14
US20050198311A1 (en) 2005-09-08
US9729664B2 (en) 2017-08-08
WO2001022195A3 (en) 2001-08-23
CN1408089A (zh) 2003-04-02
JP2012018699A (ja) 2012-01-26
US20150215419A1 (en) 2015-07-30
CN1288575C (zh) 2006-12-06
CA2385899A1 (en) 2001-03-29
AU4019601A (en) 2001-04-24

Similar Documents

Publication Publication Date Title
JP2003523552A (ja) クライアントとサーバ間の接続を管理するためのシステムおよび方法
JP2003514302A (ja) 独立した接続およびデータバッファを備えた、クライアントとサーバとの接続を管理するためのシステムおよび方法。
US7650436B2 (en) I/O handling in generic USB drivers
JP5214473B2 (ja) ハードウェアデバイスなどのリソースを有する仮想マシンの移動システム
US7461160B2 (en) Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US20030097459A1 (en) Method for efficiently controlling socket server send buffer usage
US20060133275A1 (en) Architecture and run-time environment for network filter drivers
JP2000507428A (ja) 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置
US20080155154A1 (en) Method and System for Coalescing Task Completions
JPH10124470A (ja) ロー・コンテクスト・スイッチングのオーバーヘッドが小さいマルチプレックス化メッセージの呼出し処理のメカニズム
US8589954B2 (en) Method and program for selective suspension of USB network device
Bender et al. Unix for nomads: Making unix support mobile computing
US6704836B1 (en) Method for dynamic control of concurrent extended copy tasks
JP4415391B2 (ja) データをネットワークに送信する方法及び装置並びにデータをネットワークから受信する方法及び装置
JP4317348B2 (ja) 情報処理装置及び入出力方法並びにプログラム
CN100336373C (zh) 一种远程文件传输方法
JP3428827B2 (ja) クライアント/サーバシステム
Kcholi Network Driver Interface Specification and Network Device Drivers

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100609

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100908

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100915

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101007

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101015

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101108

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110422

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110721

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110728

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110819

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110826

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110921

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111024

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

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

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees