JP2008533784A - コンピュータシステムにおける通信のための方法、システム、及びコンピュータプログラム - Google Patents

コンピュータシステムにおける通信のための方法、システム、及びコンピュータプログラム Download PDF

Info

Publication number
JP2008533784A
JP2008533784A JP2008500165A JP2008500165A JP2008533784A JP 2008533784 A JP2008533784 A JP 2008533784A JP 2008500165 A JP2008500165 A JP 2008500165A JP 2008500165 A JP2008500165 A JP 2008500165A JP 2008533784 A JP2008533784 A JP 2008533784A
Authority
JP
Japan
Prior art keywords
application
request
identifier
server
communication protocol
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
JP2008500165A
Other languages
English (en)
Other versions
JP2008533784A5 (ja
JP4575980B2 (ja
Inventor
カチマルスキー、マイケル
パッドビドリ、スマント
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008533784A publication Critical patent/JP2008533784A/ja
Publication of JP2008533784A5 publication Critical patent/JP2008533784A5/ja
Application granted granted Critical
Publication of JP4575980B2 publication Critical patent/JP4575980B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

【課題】 第2の通信プロトコルを用いるアプリケーションに向けられた、第1の通信を用いることによって伝送される要求を処理するための方法を提供すること。
【解決手段】 伝送される要求は、第1の通信プロトコルでネットワークを介してクライアントから受け取られる。要求が、データ構造内に示されたアプリケーションの識別子を含んでいるかどうかの判定がなされる。要求内に含まれる識別子がデータ構造内で示されているという判定に応答して、識別子によって識別されたアプリケーションとの間の通信を可能にするソケットが作成される。ソケットは、要求されたリソースに関連するアプリケーションに対して提供され、そのアプリケーションがネットワークを介して第2の通信プロトコルを用いてクライアントと通信することを可能にする。
【選択図】 図1

Description

本発明は、第2の通信プロトコルを用いるアプリケーションに向けられた、第1の通信を用いることによって伝送される要求を処理するための方法、システム、及びプログラムに関する。
サーバ・マシンは、ハイパーテキスト転送プロトコル(HTTP)サーバ・アプリケーションのホストとして、ポート上のHTTPクライアントからのHTTP要求を処理することができる。サーバ・マシンは、また、HTTP要求に用いられるポート以外のポート上で非HTTPアプリケーション及びサービスへのアクセスを提供することもできる。複数のポートを有するファイアウォールを管理する複雑さは、ポートの数が増すにつれて増大する。さらに、サーバ・マシン上で複数のポートを開けたままにしておくことは、ハッカー及び他のセキュリティ上の脅威がサーバ・マシンにアクセスする更なるポイントを与えることになる。
本発明の目的は、第2の通信プロトコルを用いるアプリケーションに向けられた、第1の通信を用いることによって伝送される要求を処理するための方法、システム、及びプログラムを提供することである。
第2の通信プロトコルを用いるアプリケーションに向けられた、第1の通信を用いることによって伝送される要求を処理するための方法、システム、及びプログラムが提供される。要求は、第1の通信プロトコルでネットワークを介してクライアントから受け取られる。要求が、データ構造内に示されたアプリケーションの識別子を含んでいるかどうかの判定がなされる。要求内に含まれる識別子がデータ構造内で示されているという判定に応答して、識別子によって識別されたアプリケーションとの間の通信を可能にするソケットが作成(processed)される。ソケットは、要求されたリソースに関連するアプリケーションに対して提供され、そのアプリケーションがネットワークを介して第2の通信プロトコルを用いてクライアントと通信することを可能にする。
ここで、以下の図面を参照して、本発明の好ましい実施形態を例示のみの目的で説明する。
以下の説明において、本明細書の一部を成し、本発明のいくつかの実施形態を例証する添付の図面を参照する。他の実施形態を利用することができること、並びに構造上及び操作上の変更を成すことができることが理解される。
図1は、ネットワーク6を介して通信するサーバ・マシン2及びクライアント・マシン4を含むネットワーク・コンピュータ環境を示す。ネットワーク6を介してサーバ・マシンと通信するクライアント・マシン4は複数の場合もある。クライアント・マシン4は、サーバ・アプリケーション10との通信を意図したクライアント・アプリケーション8を含む。クライアント−サーバ・アプリケーションは、データベース・アプリケーション、バックアップ・ストレージ管理プログラム、又は当業者には公知の他のクライアント−サーバ・アプリケーションを含むことができる。サーバ・アプリケーションとの通信を開始するために、クライアント・アプリケーション8は、ハイパーテキスト転送プロトコル(HTTP)要求12を生成し、HTTPプロトコルを用いてこの要求を伝達する。しかしながら、この初期HTTP要求12に続いて、その後のクライアント・アプリケーション8とサーバ・アプリケーション10との間の通信は、簡易ネットワーク管理プロトコル(Simple Network Management Protocol)(SNMP)、簡易メール転送プロトコル(Simple Mail Transfer Protocol)(SMTP)、ファイル転送プロトコル(File Transfer Protocol)(FTP)、テルネット(Telnet)、及び任意のTCP/IPをベースとするクライアント・アプリケーション8とサーバ・アプリケーション10との間の対話といった、当業者には公知のHTTP以外のアプリケーション層通信プロトコルの使用を伴う。サーバ・マシン2及びクライアント・マシン4はまた、ネットワークを介して通信するために、トランスポート層プロトコル、ネットワーク層プロトコル、及びデータリンク層プロトコルも用いる。アプリケーション層は、アプリケーション10、8プロセスについてアプリケーション・サービスの共通の通信を可能にし、関連アプリケーション・プロセス間での意味変換を提供する。
サーバ・マシン2は、1つ又は複数のポート14a、14n及びメモリ14を含み、ポート14a、14bは、1つ又は複数のネットワーク・アダプタ(図示せず)との物理的接続を表す。メモリ14は、アプリケーション10、待ち受けポート(listener port)16、HTTPサーバ18、通信ソケット20、及びアプリケーション・レジストリ22を含む。待ち受けポート16は、HTTPサーバ18に向けられたHTTPプロトコルでの着信(inbound communications)について、1つのポート、例えば14aを監視するプログラムを含む。HTTPサーバ18は、HTTP要求を処理して要求に対する応答を提供する。通信ソケット20は、ネットワーク接続、例えば6を介して情報を送受信するために使われるプログラム構成を含む。ポート上で待ち受けている場合、アプリケーション10は、着信接続(inbound connection)がなされたときに待ち受けポート16からソケットを受け取ることによって接続を受け入れる。同様に、クライアント・アプリケーション8がリモートプログラム、例えばアプリケーション10への接続を確立したい場合、クライアント・アプリケーション8は、宛て先アドレス及びポートナンバーを指定するソケットを生成し、そのソケットを開いて接続を確立する。クライアント・アプリケーション又はサーバ・アプリケーションが接続を閉じると、ソケットは破棄され、ポート上の次の着信接続が、接続に使う新しいソケットをプログラムに返すことになる。ネットワーク6を介して1つのクライアント・マシン4内の1つのクライアント・アプリケーション8とのアクティブな通信リンクを有する各サーバ・アプリケーション10ごとに、1つのソケット20が存在し得る。ソケット20は、クライアント・マシン4のネットワーク・アドレス、例えばインターネット・プロトコル(IP)アドレス、トランスポート層プロトコル、例えばTCP、及びポート14a、14nナンバーなどの情報を維持することができる。このように、サーバ・アプリケーション10は、ソケット20を用いてクライアント・アプリケーション8に対する通信を指示する。ソケット20は、HTTP、すなわち最初の通信に使われたアプリケーション層プロトコル以外のアプリケーション層プロトコルを用いた、サーバ・アプリケーション10とクライアント・アプリケーション8との間のネットワーク6を介した通信を可能にする。
クライアント・マシン4は、ネットワーク6を介してサーバ・マシン2と通信することができる、当業者には公知のサーバ、デスクトップ・コンピュータ、ワークステーション、メインフレーム、携帯端末、電話機などを含むことができる。サーバ・マシン2は、複数のシステムからのバックアップ・メッセージを管理するための、当業者には公知の適切なサーバシステムを含むことができる。ネットワーク6は、広域ネットワーク(Wide Area Network)(WAN)、ローカル・エリア・ネットワーク(LocalArea Network)(LAN)、ストレージ・エリア・ネットワーク(Storage AreaNetwork)(SAN)、無線ネットワーク、インターネット、及びイントラネットなどのような、当業者には公知の1つ又はそれ以上のネットワークを含むことができる。
1つの実施形態において、アプリケーション10は、HTTPサーバ18では処理されない、より古いレガシー・アプリケーション層プロトコルを利用する、レガシー・アプリケーションを含むことができる。
図2は、HTTP以外のアプリケーション層プロトコルを用いて通信する各アプリケーション10ごとに維持される、アプリケーション・レジストリ22におけるエントリ50を示す。エントリ50は、アプリケーション10の統一資源識別子(Uniform resource Identifier)(URI)52、すなわちアプリケーション10の名前と、ソケット20で呼び出されてクライアント・アプリケーション8からの要求を引き渡し、サーバ・アプリケーション10との通信を開始することができるコールバック関数12とを含む。
図3は、サーバ・アプリケーション10との通信を開始するためにクライアント・アプリケーション8によって行われる動作を説明している。(ブロック100において)サーバ・アプリケーション10と通信するための動作を開始するために、(ブロック102において)クライアント・アプリケーション8は、第1の通信プロトコル(例えば、HTTP)で要求12(GET又はPOST)を生成し、ネットワーク6を介してサーバ・アプリケーション10との通信を開始する。HTTP要求12は、目標とするサーバ・アプリケーション10を識別する識別子(例えばURI)を含む。既に述べたように、クライアント・アプリケーション8及びサーバ・アプリケーション10は、レガシー・アプリケーション層プロトコルのようなHTTP以外のアプリケーション層プロトコルを用いて通信することができるが、初期通信要求12は、HTTP要求12を含む。初期HTTP要求12がサーバ・マシン2でうまく処理されると、クライアント・アプリケーション8は(ブロック104において)、第2の通信プロトコル、すなわちHTTP以外のアプリケーション層プロトコルでサーバ・アプリケーション10から応答を受け取る。この非HTTPアプリケーション層プロトコルは、HTTP要求12で初期化されたセッションの期間を通じて、クライアント・アプリケーション8とサーバ・アプリケーション10との間のその後の通信の間中、使用される。
図4は、1つのサーバ・アプリケーション10とクライアント・アプリケーション8との間のHTTP(すなわち、初期リンクを確立するために使われたアプリケーション層プロトコル)以外の通信プロトコル、すなわちアプリケーション層プロトコルを使用する接続を確立するために、サーバ・マシン2内で行われる動作の実施形態を示す。ブロック150において、待ち受けポート16は、アプリケーション10及びHTTPサーバ18に対する要求について、監視スレッド上で1つのポート、例えば14aを監視する。(ブロック152で)クライアント要求、例えばHTTP要求12を第1の通信(アプリケーション層)プロトコルで受け取ると、待ちうけポート16は、(ブロック154で)データ構造、すなわちアプリケーション・レジストリ22内に、要求内で識別されたアプリケーションに対応する登録された関数50(図2)があるかどうかを判定する。ない場合は、この要求は通常のHTTP要求として、第1の通信プロトコル(例えばHTTP)サーバによって処理される。このような要求は、アプリケーション10のうちの1つに対する要求であることが意図されていない。(ブロック154で)HTTP要求12がアプリケーション・レジストリ22内に登録されたアプリケーション識別子を含む場合は、(ブロック158で)、HTTP要求12を開始したクライアント・アプリケーション8からの要求を処理するための付加的なスレッドが生み出される(spawn)。付加的なスレッドを生み出すことによって、待ち受けポート16が実行するメインスレッドは、更なる接続のためにポート14a、14bの待ち受けに戻ることができる。代替的な実施形態においては、スレッドの生み出し(threading)は用いられない場合があり、サーバ・アプリケーション10は一度に1つの接続に対処することしかできない。生み出されたスレッドはさらに、(ブロック160で)、要求内で識別されたサーバ・アプリケーション10に生成されたソケット20を提供する。1つの実施形態において、生成されたソケット20はアプリケーション10に提供され、登録されたコールバック関数56をソケットで呼び出すことによってアプリケーションが要求に応答することを可能にし、レジストリ・エントリ50において(フィールド154で)識別されたアプリケーション10が、ネットワーク6を介して第1の通信プロトコル、例えばHTTPとは異なる、第2の通信(アプリケーション層プロトコル)を用いてクライアント・マシン4と通信することを可能にすることができる。
クライアント・アプリケーション8及びサーバ・アプリケーション10は通信のためにHTTPプロトコルを使わず、HTTPサーバ18を迂回しようとするにもかかわらず、このソケットは、クライアント・アプリケーション8及びサーバ・アプリケーション10がHTTPサーバ18に向けられたHTTP要求によって使われたのと同じポート14aを通じて通信することを可能にする。新しいスレッドを生み出すことによって、1つの実施形態においては、待ち受けポート16にポート14aの監視を実行させる監視スレッドは、要求するクライアント・アプリケーション8との通信を処理するためにスレッドを生成し、アプリケーション10を呼び出すという動作を行わなければならないという責務を負わない。コールバック関数による呼び出しに応えて、サーバ・アプリケーション10は、(ブロック162において)HTTP要求に対する応答をHTTP以外のアプリケーション層プロトコルのような第2の通信プロトコルを用いて発信することができる。この応答の後に、クライアント・アプリケーション8及びサーバ・アプリケーション10は、アプリケーションの通信のために確立されたソケットを通じて通信し、これはサーバ側ではソケット20である。
図5は、待ち受けポート16によって、アプリケーション・レジストリ22にアプリケーション10についてのエントリ50(図2)を登録するために行われる動作を示す。待ち受けポート16が(ブロック200で)アプリケーション10についてのコールバックアドレス及び識別子(例えばURI)の登録を受け取ると、待ち受けポート16は(ブロック202で)、アプリケーション10の識別子、例えばURIとコールバック関数とを有するアプリケーション・レジストリ・エントリ50をアプリケーション・レジストリ22に加えるが、これは、待ち受けポート16が、要求を開始したクライアント・アプリケーション8と任意の他のTCP/IPベースのアプリケーション層プロトコルを用いて通信するために用いられるソケット20をアプリケーション10に渡すために、用いられることができる。
1つの実施形態において、初期プロトコルとしてHTTPを使うことは、初期HTTP要求の下を「トンネル(tunnel)する」ので、ウェブサービス拡張子が既存のTCP/IPプロトコルに適用されることを可能にする。例えば、ウェブサービス(WS)セキュリティ規格拡張子は、呼び出し元又はWSポリシーを認証して、サービスの品質又はその他の基準に基づいて、適当なウエブ・サーバ・アプリケーション・サーバへと要求をルーティングするために使われる。WSセキュリティ拡張子のようなウェブサービス拡張子要求は、HTTPプロトコルを用いて伝達されることができ、ウェブサービス要求を開始したアプリケーションとの通信を処理するソケットがウェブサービス・アプリケーションに渡され、サーバ上のウェブサービス・アプリケーションが、Simple Object Access Protocol(SOAP)メッセージングのような異なる通信プロトコルを用いて、ウェブサービス要求を開始したクライアントと直接通信することを可能にする。
前述の実施形態は、レガシー・アプリケーションと、もっと最近のアプリケーションに対する要求を処理するHTTPサーバのようなプロトコル・サーバとを有するサーバが、レガシー(非HTTP)アプリケーション要求及び非レガシー(HTTP)アプリケーション要求の双方に対して同じポートを使うことを可能にする技術を提供する。
前述の動作は、ソフトウエア、ファームウエア、ハードウエア、又はこれらのいずれかの組み合わせを製造するための標準的なプログラミング及び/又はエンジニアリング技術を用いて、方法、装置又は製品として実施されることができる。ここで用いられる「製品」という用語は、ハードウエア論理(例えば、集積回路チップ、プログラム可能ゲートアレイ(Programmable Gate Array)(PGA)、特定用途向け集積回路(ApplicationSpecific Integrated Circuit)(ASIC)等)、又は磁気記憶媒体(例えば、ハードディスク・ドライブ、フロッピー(登録商標)ディスク、テープ等)、光ストレージ(CD−ROM、光ディスク等)、揮発性及び不揮発性記憶装置(例えば、EEPROM、ROM、PROM、RAM、DRAM、SRAM、ファームウエア、プログラム可能論理など)のようなコンピュータ可読媒体に実装されるコード又は論理を意味する。コンピュータ可読媒体内のコードは、プロセッサによってアクセスされ、実行される。好ましい実施形態を実施するコードは、さらに、伝送媒体を通じて、又はネットワーク上のファイル・サーバからもアクセス可能である。このような場合、コードが実装された製品は、ネットワーク伝送ラインのような伝送媒体、無線伝送媒体、空間を通して伝搬する信号、電波、赤外線信号等を含むことができる。従って、「製品」は、コードを具体化する媒体を含むことができる。さらに、「製品」は、コードを具体化し、処理し、及び実行するハードウエア及びソフトウエア・コンポーネントの組み合わせを含むことができる。当然のことながら、当業者であれば、この構成に対して多くの改変をなし得ること、及び、製品は当該技術分野において公知のいずれの情報伝達媒体をも含み得ることを理解するであろう。
前述の実施形態において、第1の通信プロトコルはHTTPを含み、第2の通信プロトコルはHTTP以外のアプリケーション層プロトコルを含んでいた。代替的な実施形態においては、第1の通信プロトコルはHTTP以外の通信プロトコルを含むことができ、第2の通信プロトコルはHTTPを含むことができる。
前述の実施形態では、第1及び第2の通信プロトコルは、アプリケーション層プロトコルを含んでいた。代替的な実施形態においては、第1及び第2の通信プロトコルは、プレゼンテーション層、セッション層、トランスポート層、ネットワーク層、データリンク層、及び物理層の1つのような、アプリケーション層以外の開放型システム間相互接続参照モデル(OSIモデル)層を含むことができる。
図3〜図5で示された動作は、特定の順序で起こる特定のイベントを示している。代替的な実施形態において、特定の動作は、異なる順序で実行され、改変され、又は除去されることができる。さらに、前述の論理にステップが追加されてもよく、それでもなお前述の実施形態に従うことができる。さらに、本明細書に記載されている動作は、逐次的に起こることができ、又は特定の動作が並列処理されることができる。さらにまた、これらの動作は、単一の処理装置によって又は分散型処理装置によって実行されることができる。
本発明の様々な実施形態についてのこれまでの記述は、例示及び説明の目的で提示されている。多くの変更及び変形が前述の教示に照らして可能である。
ネットワーク・コンピュータ環境の1つの実施形態を示す。 登録されたアプリケーションのためのエントリについての1つの実施形態を示す。 サーバ内でクライアント要求を処理する操作についての1つの実施形態を示す。 サーバ内でクライアント要求を処理する操作についての1つの実施形態を示す。 サーバ内でクライアント要求を処理する操作についての1つの実施形態を示す。
符号の説明
2:サーバ・マシン
4:クライアント・マシン
6:ネットワーク
8:クライアント・アプリケーション
10:アプリケーション
12:HTTP要求
14a、14n:ポート
16:待ち受けポート
18:HTTPサーバ
20:ソケット
22:アプリケーション・レジストリ
50:アプリケーション・レジストリ・エントリ
52:URI
56:コールバック関数

Claims (38)

  1. 第1の通信プロトコルでネットワークを介してクライアントから要求を受け取るステップと、
    前記要求が、データ構造内に示されたアプリケーションの識別子を含むかどうかを判定するステップと、
    前記要求内に含まれる前記識別子が前記データ構造内に示されているという判定に応答して、該識別子によって識別された前記アプリケーションとの通信を可能にするソケットを作成するステップと、
    前記アプリケーションが前記ネットワークを介して第2の通信プロトコルを用いて前記クライアントと通信することを可能にするために、要求されたリソースに関連する前記アプリケーションに対して前記ソケットを提供するステップと、
    を含む、方法。
  2. 前記第2の通信プロトコル及び前記提供されたソケットを用いて、前記要求に対する応答を前記アプリケーションによって伝送するステップをさらに含む、請求項1に記載の方法。
  3. 前記要求が前記データ構造内に示される1つのアプリケーションの識別子を含まないという判定に応答して、前記クライアントからの前記要求を第1の通信プロトコル・サーバに渡すステップをさらに含む、請求項1に記載の方法。
  4. 前記第1の通信プロトコルがハイパーテキスト転送プロトコル(HTTP)プロトコルを含み、前記サーバがHTTPサーバを含み、前記識別子が統一資源識別子(URI)を含み、前記第2の通信プロトコルがHTTP以外のアプリケーション層プロトコルを含む、請求項3に記載の方法。
  5. 前記要求が、HTTPのGET又はPOST要求を含む、請求項4に記載の方法。
  6. 各々が1つのアプリケーションを識別する複数の識別子が前記データ構造内に示され、前記第1の通信プロトコルを用いて、該データ構造内にその識別子が示されている前記アプリケーションによって通信を開始することができる請求項3に記載の方法であって、
    前記アプリケーション及び前記第1の通信プロトコル・サーバに対する要求についてポートを監視するステップをさらに含む、
    方法。
  7. 前記要求内に含まれる前記識別子が前記データ構造内に示されているかどうかを判定する前記ステップが、該要求内に含まれる該識別子に対する登録された関数があるかどうかを判定するステップを含み、且つ前記アプリケーションに対して前記ソケットを提供する前記ステップが、前記生成されたソケットによって前記登録された関数を呼び出すステップを含む、請求項1に記載の方法。
  8. 前記クライアントから前記アプリケーションへのさらなる通信が、前記第2の通信プロトコルを用いて前記ソケットを通じて生じる、請求項1に記載の方法。
  9. 監視スレッド上で前記第1の通信プロトコルでの要求についてポートを監視するステップと、
    1つのアプリケーションが前記要求されたリソースと関連するという判定に応答して前記ソケットを生成し、前記アプリケーションに該ソケットを提供するために、付加的なスレッドを生み出すステップと、
    をさらに含む、請求項1に記載の方法。
  10. アプリケーションについてのコールバック関数及び識別子の登録を受け取るステップと、
    前記データ構造内に、前記アプリケーションと、前記受け取ったコールバック関数と、前記受け取った識別子との関連付けを示すステップとをさらに含み、
    前記要求内に含まれる前記識別子が前記データ構造内に示されているかどうかを判定する前記ステップが、前記データ構造が前記要求内の前記識別子に対応する1つのコールバック関数を示しているかどうかを判定するステップを含み、
    前記識別子によって識別された前記アプリケーションに対して前記ソケットを提供する前記ステップが、前記生成されたソケットをパラメータとして前記コールバック関数を呼び出すステップを含む、
    請求項1に記載の方法。
  11. 前記要求がさらに認証情報を含む請求項1に記載の方法であって、
    前記要求内の前記認証情報を処理することによって前記要求を認証しようとするステップをさらに含み、1つのアプリケーションが前記リソースに関係するかどうかを判定し、前記ソケットを生成し、前記ソケットを提供する前記ステップが、前記要求内の前記認証情報を認証する前記ステップに応答して行われる、
    請求項1に記載の方法。
  12. 前記要求されたリソースに関連する前記アプリケーションが、レガシー・アプリケーションを含む、請求項1に記載の方法。
  13. 前記第1及び第2の通信プロトコルが、異なるアプリケーション層プロトコルを含む、
    請求項1に記載の方法。
  14. 前記要求がウェブサービス・アプリケーションに向けられており、前記ウェブサービス・アプリケーションは前記データ構造内に示されており、前記ウェブサービス要求を受け取る前記ソケットが前記ウェブサービス・アプリケーションに対して提供されて該ウェブサービス要求を開始した前記クライアントと前記第2の通信プロトコルを用いて通信することを可能にする、請求項1に記載の方法。
  15. 第1の通信プロトコルで要求を生成し、ネットワークを介してサーバ内のアプリケーションとの通信を開始するステップであって、前記要求が前記サーバ内のアプリケーションの識別子を含む、ステップと、
    前記第1の通信プロトコルを用いて前記ネットワークを介して前記サーバに前記要求を伝送するステップと、
    前記サーバから、第2の通信プロトコルで前記サーバ内の前記アプリケーションからの応答を受け取るステップであって、前記第2の通信プロトコルが、前記サーバ内の前記アプリケーションとのさらなる通信のために使われる、ステップと、
    を含む、方法。
  16. 前記第1の通信プロトコルがハイパーテキスト転送プロトコル(HTTP)プロトコルを含み、前記サーバがHTTPサーバを含み、前記識別子が統一資源識別子(URI)を含み、前記第2の通信プロトコルがHTTP以外のアプリケーション層プロトコルを含む、請求項15に記載の方法。
  17. ネットワークを介してクライアントと通信するシステムであって、
    プロセッサと、
    前記プロセッサと通信し、且つデータ構造を含むメモリと、
    前記プロセッサによって実行されて動作を行うコードを含むコンピュータ可読媒体とを含み、前記動作が、
    (i)第1の通信プロトコルで前記ネットワークを介して前記クライアントから要求を受け取るステップと、
    (ii)前記要求が、前記データ構造内に示されたアプリケーションの識別子を含むかどうかを判定するステップと、
    (iii)前記要求内に含まれる前記識別子が前記データ構造内に示されているという判定に応答して、該識別子によって識別された前記アプリケーションとの通信を可能にするソケットをメモリ内で作成するステップと、
    (iv)前記アプリケーションが前記ネットワークを介して第2の通信プロトコルを用いて前記クライアントと通信することを可能にするために、前記要求されたリソースに関連する前記アプリケーションに対して前記ソケットを提供するステップと、
    を含む、システム。
  18. 第1の通信プロトコル・サーバをさらに含み、前記動作が、
    前記要求が、前記データ構造内に示される1つのアプリケーションの識別子を含まないという判定に応答して、前記クライアントからの前記要求を前記第1の通信プロトコルに渡すステップをさらに含む、請求項17に記載のシステム。
  19. 前記動作が、
    アプリケーションについてのコールバック関数及び識別子の登録を受け取るステップと、
    前記データ構造内に、前記アプリケーションと、前記受け取ったコールバック関数と、前記受け取った識別子との関連付けを示すステップとをさらに含み、
    前記要求内に含まれる前記識別子が前記データ構造内に示されているかどうかを判定する前記ステップが、前記データ構造が前記要求内の前記識別子に対応する1つのコールバック関数を示しているかどうかを判定するステップを含み、
    前記識別子によって識別された前記アプリケーションに対して前記ソケットを提供する前記ステップが、前記生成されたソケットをパラメータとして前記コールバック関数を呼び出すステップを含む、
    請求項17に記載のシステム。
  20. 前記第1及び第2の通信プロトコルが異なるアプリケーション層プロトコルを含む、請求項17に記載のシステム。
  21. ネットワークを介してサーバと通信するシステムであって、
    プロセッサと、
    前記プロセッサと通信し、且つデータ構造を含むメモリと、
    前記プロセッサによって実行されて動作を行うコードを含むコンピュータ可読媒体とを含み、前記動作は、
    (i)第1の通信プロトコルで要求を生成し、前記ネットワークを介して前記サーバ内のアプリケーションとの通信を開始するステップであって、前記要求が前記サーバ内のアプリケーションの識別子を含む、ステップと、
    (ii)前記第1の通信プロトコルを用いて前記ネットワークを介して前記サーバに前記要求を伝送するステップと、
    (iii)前記サーバから、第2通信プロトコルで前記サーバ内の前記アプリケーションからの応答を受け取るステップであって、前記第2の通信プロトコルが、前記サーバ内の前記アプリケーションとのさらなる通信のために使われる、ステップと
    を含む、システム。
  22. 前記第1の通信プロトコルがハイパーテキスト転送プロトコル(HTTP)プロトコルを含み、前記サーバがHTTPサーバを含み、前記識別子が統一資源識別子(URI)を含み、前記第2の通信プロトコルがHTTP以外のアプリケーション層プロトコルを含む、請求項21に記載のシステム。
  23. ネットワークを介してクライアントと通信し、データ構造にアクセスし、且つ動作を実行させるためのコードを含む製品であって、前記動作が、
    第1の通信プロトコルで前記ネットワークを介して前記クライアントから要求を受け取るステップと、
    前記要求が、前記データ構造内に示されたアプリケーションの識別子を含むかどうかを判定するステップと、
    前記要求内に含まれる前記識別子が前記データ構造内に示されているという判定に応答して、該識別子によって識別された前記アプリケーションとの通信を可能にするソケットを作成するステップと、
    前記アプリケーションが前記ネットワークを介して第2の通信プロトコルを用いて前記クライアントと通信することを可能にするために、前記要求されたリソースに関連する前記アプリケーションに対して前記ソケットを提供するステップと、
    を含む、製品。
  24. 前記動作が、
    前記第2の通信プロトコル及び前記提供されたソケットを用いて、前記要求に対する応答を前記アプリケーションによって伝送するステップ、
    をさらに含む、請求項23に記載の製品。
  25. さらに第1の通信プロトコル・サーバと通信し、前記動作が、
    前記要求が前記データ構造内に示される1つのアプリケーションの識別子を含まないという判定に応答して、前記クライアントからの前記要求を前記第1通信プロトコル・サーバに渡すステップ、
    をさらに含む、請求項23に記載の製品。
  26. 前記第1の通信プロトコルがハイパーテキスト転送プロトコル(HTTP)プロトコルを含み、前記サーバがHTTPサーバを含み、前記識別子が統一資源識別子(URI)を含み、前記第2の通信プロトコルがHTTP以外のアプリケーション層プロトコルを含む、請求項25に記載の製品。
  27. 前記要求が、HTTPのGET又はPOST要求を含む、請求項26に記載の製品。
  28. 各々が1つのアプリケーションを識別する複数の識別子が前記データ構造内に示され、前記第1の通信プロトコルを用いて、該データ構造内にその識別子が示されている前記アプリケーションによって通信を開始することができ、
    前記動作が、
    前記アプリケーション及び前記第1の通信プロトコル・サーバに対する要求についてポートを監視するステップ、
    をさらに含む、請求項25に記載の製品。
  29. 前記要求内に含まれる前記識別子が前記データ構造内に示されているかどうかを判定する前記ステップが、該要求内に含まれる該識別子に対する登録された関数があるかどうかを判定するステップを含み、且つ前記アプリケーションに対して前記ソケットを提供する前記ステップが、前記生成されたソケットによって前記登録された関数を呼び出すステップを含む、請求項23に記載の製品。
  30. 前記クライアントから前記アプリケーションへのさらなる通信が、前記第2の通信プロトコルを用いて前記ソケットを通して生じる、請求項23に記載の製品。
  31. さらにポートと通信し、前記動作が、
    監視スレッド上で前記第1の通信プロトコルでの要求についてポートを監視するステップと、
    1つのアプリケーションが前記要求されたリソースと関連するという判定に応答して前記ソケットを生成し、前記アプリケーションに対して該ソケットを提供するために、付加的なスレッドを生み出すステップと、
    をさらに含む、請求項23に記載の製品。
  32. 前記動作が、
    アプリケーションについてのコールバック関数及び識別子の登録を受け取るステップと、
    前記データ構造内に、前記アプリケーションと、前記受け取ったコールバック関数と、前記受け取った識別子との関連付けを示すステップとをさらに含み、
    前記要求に含まれる前記識別子が前記データ構造内に示されているかどうかを判定する前記ステップが、前記データ構造が前記要求内の前記識別子に対応する1つのコールバック関数を示しているかどうかを判定するステップを含み、
    前記識別子によって識別された前記アプリケーションに対して前記ソケットを提供する前記ステップが、前記生成されたソケットをパラメータとして前記コールバック関数を呼び出すステップを含む、
    請求項23に記載の製品。
  33. 前記要求がさらに認証情報を含み、前記動作が、
    前記要求内の前記認証情報を処理することによって前記要求を認証しようとするステップをさらに含み、1つのアプリケーションが前記リソースに関係するかどうかを判定し、前記ソケットを生成し、前記ソケットを提供する前記ステップが、前記要求内の前記認証情報を認証する前記ステップに応答して行われる、
    請求項23に記載の製品。
  34. 前記要求されたリソースに関連する前記アプリケーションが、レガシー・アプリケーションを含む、請求項23に記載の製品。
  35. 第1及び第2の通信プロトコルが、異なるアプリケーション層プロトコルを含む、請求項23に記載の製品。
  36. 前記要求がウェブサービス・アプリケーションに向けられており、前記ウェブサービス・アプリケーションは前記データ構造内に示されており、前記ウェブサービス要求を受け取る前記ソケットが前記ウェブサービス・アプリケーションに対して提供されて該ウェブサービス要求を開始した前記クライアントと前記第2の通信プロトコルを用いて通信することを可能にする、請求項23に記載の製品。
  37. 製品が、ネットワークを介してサーバと通信し、動作を実行させるためのコードを含む製品であって、前記動作が、
    第1の通信プロトコルで要求を生成し、ネットワークを介してサーバ内のアプリケーションとの通信を開始するステップであって、前記要求がサーバ内のアプリケーションの識別子を含む、ステップと、
    前記第1の通信プロトコルを用いて前記ネットワークを介して前記サーバに前記要求を伝送するステップと、
    前記サーバから、第2通信プロトコルで前記サーバ内の前記アプリケーションからの応答を受け取るステップであって、前記第2の通信プロトコルが、前記サーバ内の前記アプリケーションとのさらなる通信のために使われる、ステップと
    を含む、製品。
  38. 前記第1の通信プロトコルがハイパーテキスト転送プロトコル(HTTP)プロトコルを含み、前記サーバがHTTPサーバを含み、前記識別子が統一資源識別子(URI)を含み、前記第2の通信プロトコルがHTTP以外のアプリケーション層プロトコルを含む、請求項37に記載の製品。
JP2008500165A 2005-03-10 2006-02-24 コンピュータシステムにおける通信のための方法、システム、及びコンピュータプログラム Active JP4575980B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/076,609 US7945676B2 (en) 2005-03-10 2005-03-10 Processing requests transmitted using a first communication protocol directed to an application that uses a second communication protocol
PCT/EP2006/060263 WO2006094909A1 (en) 2005-03-10 2006-02-24 Method for communication between an application and a client

Publications (3)

Publication Number Publication Date
JP2008533784A true JP2008533784A (ja) 2008-08-21
JP2008533784A5 JP2008533784A5 (ja) 2010-09-09
JP4575980B2 JP4575980B2 (ja) 2010-11-04

Family

ID=36384506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008500165A Active JP4575980B2 (ja) 2005-03-10 2006-02-24 コンピュータシステムにおける通信のための方法、システム、及びコンピュータプログラム

Country Status (10)

Country Link
US (2) US7945676B2 (ja)
EP (1) EP1859597B1 (ja)
JP (1) JP4575980B2 (ja)
CN (1) CN101138219B (ja)
AT (1) ATE410019T1 (ja)
BR (1) BRPI0606263B1 (ja)
CA (1) CA2600710C (ja)
DE (1) DE602006002970D1 (ja)
MX (1) MX2007010921A (ja)
WO (1) WO2006094909A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945676B2 (en) * 2005-03-10 2011-05-17 International Business Machines Corporation Processing requests transmitted using a first communication protocol directed to an application that uses a second communication protocol
US7877507B2 (en) * 2008-02-29 2011-01-25 Red Hat, Inc. Tunneling SSL over SSH
US8527774B2 (en) * 2009-05-28 2013-09-03 Kaazing Corporation System and methods for providing stateless security management for web applications using non-HTTP communications protocols
EP2273748A1 (en) * 2009-07-09 2011-01-12 Gemalto SA Method of managing an application embedded in a secured electronic token
US9785482B2 (en) * 2010-09-17 2017-10-10 Oracle International Corporation System and method for extending a web service environment to support scalable asynchronous clients
KR101750557B1 (ko) * 2010-10-06 2017-06-23 엘지전자 주식회사 화상통화를 위한 사용자 인터페이스 제공방법 및 그 방법을 이용한 화상 통화 장치
CN103297384A (zh) * 2012-02-22 2013-09-11 航天信息股份有限公司 协议转换的通信方法及系统
US20130282803A1 (en) * 2012-04-18 2013-10-24 Microsoft Corporation Engaging session elements in conference sessions
US9548912B2 (en) 2012-10-15 2017-01-17 Oracle International Corporation System and method for supporting smart buffer management in a distributed data grid
GB2520976A (en) * 2013-12-05 2015-06-10 Ibm Correct port identification in a network host connection
US20150199094A1 (en) * 2014-01-10 2015-07-16 Robert Bosch Gmbh Device for controlling a graphic user interface
CN104468549B (zh) * 2014-11-28 2018-01-23 北京奇虎科技有限公司 客户端操作请求响应方法、装置和服务器
US10110560B2 (en) * 2015-08-07 2018-10-23 Avaya Inc. Management for communication ports
CN109254855B (zh) * 2018-08-29 2022-06-03 北京奇艺世纪科技有限公司 一种参数传输协议的注册方法、装置及电子设备
CN111552488B (zh) * 2019-02-11 2022-07-05 福建省天奕网络科技有限公司 H5跨引擎客户端数据自动化更新的方法、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030064A (ja) * 2001-07-10 2003-01-31 Hirotomo Okazawa ネットワークシステム及び通信方法
JP2003324484A (ja) * 2002-04-26 2003-11-14 Internatl Business Mach Corp <Ibm> セッション中継システム、クライアント端末、セッション中継方法、リモートアクセス方法、セッション中継プログラム及びクライアントプログラム
JP2004192358A (ja) * 2002-12-11 2004-07-08 Hitachi East Japan Solutions Ltd 端末とセンタ側の装置との間で送受信を行うための双方向通信方式および双方向通信のためのプログラム
JP2005309974A (ja) * 2004-04-23 2005-11-04 Nippon Telegr & Teleph Corp <Ntt> ネットワーク装置、ネットワーク装置を用いた認証方法、認証プログラム、および記録媒体

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537417A (en) * 1993-01-29 1996-07-16 International Business Machines Corporation Kernel socket structure for concurrent multiple protocol access
US5913024A (en) 1996-02-09 1999-06-15 Secure Computing Corporation Secure server utilizing separate protocol stacks
US5918018A (en) 1996-02-09 1999-06-29 Secure Computing Corporation System and method for achieving network separation
US6389464B1 (en) 1997-06-27 2002-05-14 Cornet Technology, Inc. Device management system for managing standards-compliant and non-compliant network elements using standard management protocols and a universal site server which is configurable from remote locations via internet browser technology
US6609159B1 (en) * 1998-11-30 2003-08-19 Semyon Dukach Methods, systems, and machine readable programming for interposing front end servers between servers and clients
US6785730B1 (en) 1999-02-16 2004-08-31 Rebecca S. Taylor Generic communications protocol translator
US6882659B1 (en) 1999-09-20 2005-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Wide area network synchronization
US6728884B1 (en) 1999-10-01 2004-04-27 Entrust, Inc. Integrating heterogeneous authentication and authorization mechanisms into an application access control system
WO2001099361A1 (en) 2000-06-21 2001-12-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for selecting transmission means
NZ506411A (en) 2000-08-17 2003-05-30 Compudigm Int Ltd Translation of data streams between protocols for transmission through firewalls
FR2819131B1 (fr) 2000-12-28 2003-02-07 Bull Cp8 Procede et architecture de communication entre un serveur et un equipement de telephonie mobile via un reseau de type internet et un reseau de telephonie mobile
US7017162B2 (en) * 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US7543067B2 (en) * 2001-08-01 2009-06-02 Canon Kabushiki Kaisha Flexible secure network data transfer and messaging
US7222152B1 (en) * 2001-10-01 2007-05-22 Microsoft Corporation Generic communications framework
US20030172127A1 (en) * 2002-02-06 2003-09-11 Northrup Charles J. Execution of process by references to directory service
JP4136738B2 (ja) * 2002-03-25 2008-08-20 株式会社リコー Webサービス機能を有する画像形成装置
US7305546B1 (en) * 2002-08-29 2007-12-04 Sprint Communications Company L.P. Splicing of TCP/UDP sessions in a firewalled network environment
DE10260926B4 (de) 2002-12-20 2005-12-01 Hewlett-Packard Development Co., L.P., Houston Kommunikationsverfahren
US7694140B1 (en) * 2003-12-30 2010-04-06 Sap Ag Web service client extensions
US8954590B2 (en) * 2004-04-27 2015-02-10 Sap Ag Tunneling apparatus and method for client-server communication
US7734829B2 (en) * 2004-06-09 2010-06-08 Emc Corporation Methods, systems, and computer program products for transparently controlling communications between network applications and a plurality of network communications protocol stacks using deferred protocol stack association
US7945676B2 (en) * 2005-03-10 2011-05-17 International Business Machines Corporation Processing requests transmitted using a first communication protocol directed to an application that uses a second communication protocol
US8316228B2 (en) * 2008-12-17 2012-11-20 L-3 Communications Corporation Trusted bypass for secure communication
US8635632B2 (en) * 2009-10-21 2014-01-21 International Business Machines Corporation High performance and resource efficient communications between partitions in a logically partitioned system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030064A (ja) * 2001-07-10 2003-01-31 Hirotomo Okazawa ネットワークシステム及び通信方法
JP2003324484A (ja) * 2002-04-26 2003-11-14 Internatl Business Mach Corp <Ibm> セッション中継システム、クライアント端末、セッション中継方法、リモートアクセス方法、セッション中継プログラム及びクライアントプログラム
JP2004192358A (ja) * 2002-12-11 2004-07-08 Hitachi East Japan Solutions Ltd 端末とセンタ側の装置との間で送受信を行うための双方向通信方式および双方向通信のためのプログラム
JP2005309974A (ja) * 2004-04-23 2005-11-04 Nippon Telegr & Teleph Corp <Ntt> ネットワーク装置、ネットワーク装置を用いた認証方法、認証プログラム、および記録媒体

Also Published As

Publication number Publication date
US8510376B2 (en) 2013-08-13
ATE410019T1 (de) 2008-10-15
US20060206614A1 (en) 2006-09-14
EP1859597B1 (en) 2008-10-01
BRPI0606263B1 (pt) 2019-02-05
CN101138219B (zh) 2010-12-08
BRPI0606263A2 (pt) 2009-06-09
WO2006094909A1 (en) 2006-09-14
DE602006002970D1 (de) 2008-11-13
CN101138219A (zh) 2008-03-05
CA2600710C (en) 2014-02-04
US20110161412A1 (en) 2011-06-30
US7945676B2 (en) 2011-05-17
CA2600710A1 (en) 2006-09-14
JP4575980B2 (ja) 2010-11-04
EP1859597A1 (en) 2007-11-28
MX2007010921A (es) 2007-10-15

Similar Documents

Publication Publication Date Title
JP4575980B2 (ja) コンピュータシステムにおける通信のための方法、システム、及びコンピュータプログラム
US10230763B2 (en) Application layer-based single sign on
US7305546B1 (en) Splicing of TCP/UDP sessions in a firewalled network environment
EP1924929B1 (en) Method and computer program product for sharing a port with multiple processes
US9467327B2 (en) Server-mediated setup and maintenance of peer-to-peer client computer communications
JP2018518862A (ja) グローバル仮想ネットワーク(gvn)において仮想インタフェースとアドバンストスマートルーティングとを提供するためのシステム及び方法
JP2007195217A (ja) パケットをエンドポイントからゲートウェイにルーティングするための方法およびシステム
CN101420455A (zh) 反向http网关数据传输系统和/或方法及其网络
US9100369B1 (en) Secure reverse connectivity to private network servers
US20070226745A1 (en) Method and system for processing a service request
US7904536B2 (en) Method and system for remote management of customer servers
US9288225B1 (en) Server port sharing based on shared socket
CN112751870B (zh) 一种基于代理转发的nfs安全传输装置及方法
Martsola et al. Machine to machine communication in cellular networks
CN113872933B (zh) 隐藏源站的方法、系统、装置、设备及存储介质
Tan et al. Bridging organizational network boundaries on the grid
CN116647538B (zh) 一种能够访问不同内网服务的连接装置
US20130290699A1 (en) Methods for secure communication between network device services and devices thereof
RU2604328C1 (ru) Способ формирования защищенного соединения в сетевой компьютерной системе
GB2609677A (en) Private cloud routing server connection mechanism for use in a private communication architecture
CN117714519A (zh) 一种远程协助方法、装置、设备及存储介质
CN116647538A (zh) 一种能够访问不同内网服务的连接装置
CA2323221A1 (en) Method and apparatus for data communication between a plurality of parties
GB2410401A (en) A communication apparatus and method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100723

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20100723

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20100810

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100817

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

R150 Certificate of patent or registration of utility model

Ref document number: 4575980

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3