JP5719349B2 - メッセージ交換 - Google Patents

メッセージ交換 Download PDF

Info

Publication number
JP5719349B2
JP5719349B2 JP2012506430A JP2012506430A JP5719349B2 JP 5719349 B2 JP5719349 B2 JP 5719349B2 JP 2012506430 A JP2012506430 A JP 2012506430A JP 2012506430 A JP2012506430 A JP 2012506430A JP 5719349 B2 JP5719349 B2 JP 5719349B2
Authority
JP
Japan
Prior art keywords
client
message
server
format
exchange
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.)
Active
Application number
JP2012506430A
Other languages
English (en)
Other versions
JP2012524924A (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 JP2012524924A publication Critical patent/JP2012524924A/ja
Application granted granted Critical
Publication of JP5719349B2 publication Critical patent/JP5719349B2/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
    • 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]
    • 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/10Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
    • 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/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

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)

Description

本発明は、通信システムを動作させる方法及びそのシステムに関する。この方法及びシステムは、メッセージ・フォーマットの動的交換を可能にする。
コンピュータ技術においては、クライアント及びサーバという表現は、2つのコンピュータ又はプログラムの動作を表しており、この動作では、一方すなわちクライアントが、他方すなわちサーバからのサービス及び/又は情報を要求する。電子メール交換、ウェブ・アクセス及びデータベース・アクセスのような標準的なネットワーク化された機能は、クライアント・サーバ・モデルに基づいている。クライアント・サーバ・アーキテクチャは恐らく最も一般的なものであるが、他の協働のモードが可能である。例えば、コンピュータが、メイン・データもアプリケーションも保持しないが、各々が自分自身の働きに対して責任を負っている場合には、2つのコンピュータ又はコンピュータ・プログラムは、ピアツーピア関係におけるピアであるといわれる。
コンピュータ間の通信は、それらのコンピュータの挙動関連性にかかわらず、プロトコルと呼ばれる一連の規則によって規定される。典型的な例として、多くのワールド・ワイド・ウェブ・アプリケーションに用いられるhttp(ハイパーテキスト転送プロトコル)と、1つのコンピュータが別のコンピュータに対してファイルを要求し受信するときに用いられるftp(ファイル転送プロトコル)とが挙げられる。通信を制御するプロトコルすなわち一連の規則と同様に、実際の通信オブジェクトすなわちメッセージもまた、それらが受信側によってどのように解釈されるべきかを定義する一連のフォーマット規則に従う。典型的なフォーマットとして、ワールド・ワイド・ウェブ・ページのための基本フォーマットであるHTML(ハイパーテキスト・マークアップ言語)と、多くの異なる多様なアプリケーションのメッセージ・タイプに用いられる適応性の高いタグ付け言語であるXML(拡張マークアップ言語)とが挙げられる。
こうしたマークアップ言語は、システム・インターフェース及びメッセージ・フォーマットを定める際に有用である。しかし、こうしたマークアップ言語には、多くのメッセージがコンピュータ間又はコンピュータ・プログラム間を通過するときに負荷が高くなるという欠点があり、この欠点が、典型的には性能に悪影響を及ぼすことになる。
本発明の第1の態様によると、サーバ及びクライアントを含む通信システムを動作させる方法であって、データ及び記述タグを含む第1のフォーマットのメッセージをクライアントから送信するステップと、メッセージをサーバで受信するステップと、サーバとクライアントとの間でメッセージ・フォーマット交換に関するネゴシエーションを開始するステップと、クライアントがメッセージ・フォーマット交換を受け入れることが可能であることを示すステップと、メッセージ・フォーマットを交換するようにクライアントに指示するステップと、データからなる第2のフォーマットの追加メッセージをクライアントから送信するステップとを含む方法が提供される。
本発明の第2の態様によると、サーバ及びクライアントを含む通信システムであって、クライアントは、データ及び記述タグを含む第1のフォーマットのメッセージを送信するように構成され、サーバは、メッセージを受信し、サーバとクライアントとの間でメッセージ・フォーマット交換に関するネゴシエーションを開始するように構成され、クライアントは、メッセージ・フォーマット交換を受け入れることが可能であることを示すように構成され、サーバは、メッセージ・フォーマットを交換するようにクライアントに指示するように構成され、クライアントは、データからなる第2のフォーマットの追加メッセージを送信するように構成されるシステムが提供される。
本発明の第3の態様によると、サーバを動作させるためのコンピュータ・プログラムであって、データ及び記述タグを含む第1のフォーマットのメッセージをクライアントから受信するための命令と、サーバとクライアントとの間でメッセージ・フォーマット交換に関するネゴシエーションを開始するための命令と、クライアントがメッセージ・フォーマット交換を受け入れることが可能であるという表示を受信するための命令と、メッセージ・フォーマットを交換するようにクライアントに指示するための命令と、データからなる第2のフォーマットの追加メッセージをクライアントから受信するための命令とを含むコンピュータ・プログラムが提供される。
本発明によって、メッセージ・フォーマットとしてXMLを用いる複雑なコンピュータ・システムの性能を向上させることが可能である。本発明は、サーバ及びクライアントがメッセージ・フォーマットを交換することを可能にし、これにより、システムは、マークアップ言語を用いて設計されたシステムの全ての適応性の利益を享受することができるが、同時に、より効率的なメッセージ・フォーマットを用いることによる性能向上の利点を活かすこともできる。
好ましくは、本方法は、クライアントからのメッセージ負荷を監視することと、メッセージ負荷について統計分析を実行することと、統計分析に従ってサーバとクライアントとの間でネゴシエーションを開始することとをさらに含む。サーバは、性能統計を用いて、いつ第2のメッセージ・フォーマットに交換すべきかを判断することができる。これにより、より簡単なメッセージ・フォーマットへの交換を行うことが実際に効果的であるときにのみ交換が行われることが確実になる。メッセージ負荷についての統計分析の実行は、クライアントからの負荷が所定の閾値を上回ることを判断することを含むことができる。サーバは、接続された各々のクライアントからの負荷を監視し、1秒あたりの特定のメッセージ数といった所定の閾値に到達したときに、この閾値を第2のメッセージ・フォーマットに交換するためのトリガとして用いることができるという方法を用いることが可能である。これにより、ネゴシエーションを行ってプロトコルを変更するオーバーヘッドを正当化するのに十分な処理能力があるときにのみ交換が行われることになる。
理想的には、本方法は、第2のフォーマットの記述をクライアントに送信することをさらに含む。第1の実施形態においては、クライアントは、交換が承諾された後で用いられる第2のメッセージ・フォーマットの構造をすでに認識していてもよい。しかしながら、クライアントは、第2のメッセージ・フォーマットを認識していない場合もあるが、それにもかかわらず、十分な適応性があるため現在のメッセージ・フォーマットから交換する能力を有する。この場合には、サーバは、第2のメッセージ・フォーマットの記述をクライアントに提供し、クライアントは、この記述に従ってクライアント自体を構成することになる。このことにより、システムが、サーバのメッセージ交換機能を認識していない幾つかのクライアントを組み込むことができるときに、システムの性能全体が向上する。これにより、システム内を流れるより多くのメッセージのサイズが減少する。
有利なことに、本方法は、メッセージがクライアントとサーバとの間で改変されていないことを確認することをさらに含む。通信システムの性質によっては、クライアントとサーバとの間の経路指定は、直接的なものではない場合がある。他の中間コンポーネントが、クライアントとサーバとの間を流れるメッセージを送受信することがある。この場合には、クライアントから受信されたメッセージがいずれの中間コンポーネントによっても改変されていないことをサーバが確認することが重要である。これにより、第1のメッセージ・フォーマットに対してメッセージから情報の幾つかを除去する、第2のメッセージ・フォーマットへの変更によって、いずれの中間コンポーネントについても問題が生じないことが確実になる。サーバが、クライアントとサーバとの間でメッセージが改変されていないことを確認できないか、又は、メッセージが改変されていることを発見した場合には、サーバは、第2のメッセージ・フォーマットへの交換を開始しない。サーバは、最後のサーバである場合か、又は、チェーン内の次のサーバが既に交換された場合には、安全に交換することを要求することができる。
通信システムの概略図である。 通信システムの概略図である。 システムでの通信フローを示す図である。 通信システムを動作させる方法のフローチャートである。 通信システムの更に別の実施形態の概略図である。
ここで、本発明の実施形態を、添付の図面を参照して単なる例として説明する。
通信システムの例が図1に示される。システムは、クライアント10、サーバ12及び中間コンポーネント14を含む。クライアント10は、メッセージ16をサーバ12に送るように動作可能である。種々のマシン10、12及び14は、インターネットのような大きな通信ネットワークの一部を形成しており、このネットワークでは、多数のマシンが幾つかの適切なネットワーク技術によって相互接続される。この通信システムにおけるクライアント又はサーバとしてのマシンの指定は、論理的な指定であることに留意されたい。メッセージ16を発信するマシン10はクライアントであり、受信マシン12はサーバであるが、いずれのマシンも、サーバとなる別のマシンに要求している場合にはクライアントとなり得る。
メッセージ16の構造は、通信システムによって用いられている特定のプロトコルによって決定される。これは、例えば、XMLとすることができる。メッセージ・フォーマットは、データ及び記述タグを含む。タグは、メッセージ16によって搬送されているデータを記述する。例えば、メッセージ16は、<location>PARIS</location>を含むことができ、ここで、「PARIS」の部分はメッセージ内のデータであり、「<location>」の部分は幾つかの特定のタイプのデータの開始を定義し、「</location>」の部分はその特定のタイプのデータの終了を定義しており、この場合には、データ・タイプは「location」と定義される。メッセージ16の後者の2つの部分は、メッセージ16内の記述タグである。記述タグの存在は、受信サーバ12がメッセージ16を理解し処理する際に役立つ。
図1に示される通信システムは、商用ウェブサイトをサポートするバックエンド・システムの一部とすることができる。ウェブサイトのユーザがウェブサイト上で商品を購入するときに、メッセージ16は、システム内を回って異なるマシン間を流れる。例えば、1つのマシンは、主にクライアント・アカウントの詳細を格納するデータベースとして動作することができる。アカウントを有するユーザが買い物を行うときには、XMLフォーマットの1つ又は複数のメッセージ16が、そのマシンによる処理のために特定のマシンに送られる。負荷の高いウェブサイトの場合には、これにより、多数のメッセージ16が生成されることになる。
図2は、クライアント10及びサーバ12を有する通信システムの一部を示すものであり、ここでは、多数のメッセージ16が、クライアント10からサーバ12に流れる。多くのアプリケーションにおいて、クライアント10からサーバ12に送信されているメッセージ16の数は、1秒あたり何千ものオーダーになる場合がある。これらのメッセージ16の各々は、クライアント10とサーバ12との間のバンド幅を用いる。ネットワーク状況において、ネットワークの使用可能なバンド幅は減少し、及び/又は、ネットワークの待ち時間は増大し、そのいずれも、通信システム又はネットワークに依存する他のいずれかのシステムの動作について、性能に影響を与える。
好ましい実施形態によれば、クライアント10とサーバ12との間の通信チャネルの過負荷と、それによるネットワーク全体の過負荷の問題を軽減するために、通信システムは、メッセージ・フォーマットを交換する能力を有する。適切な状況においては、通信システムは、データ及び記述タグを用いる第1のフォーマットから、単なるデータのみのより簡単な第2のフォーマット、すなわちワイヤ・フォーマットに交換する。記述タグは、メッセージがサーバ12に送信される前に、クライアント10によってメッセージ16から削除される。これにより、メッセージ16のサイズが減少し、従って、メッセージ16によって用いられるバンド幅が減少する。大きなXMLメッセージは、記述タグを含まないワイヤ・フォーマット・メッセージと置き換えられる。ワイヤ・フォーマット・バージョンは、XMLタグが除去された状態の一組のバイトである。
第2のメッセージ・フォーマットへの変更は、通信システムが変更を行うことが望ましいと判断したときに行われる。この判断を行うために、クライアント10とサーバ12との間のメッセージ負荷に関する情報が取得される。例えば、通信システムは、クライアント10からのメッセージ負荷を監視し、メッセージ負荷について統計分析を実行し、統計分析の結果に従ってサーバ12とクライアント10との間でネゴシエーションを開始する。1つの好ましい実施形態においては、メッセージ負荷についての統計分析の実行は、クライアント10からの負荷が所定の閾値を上回ることを判断することを含む。第2のメッセージ・フォーマットに交換するためのトリガとして、1期間あたりの特定のメッセージ数を用いることができる。これにより、要求されるバンド幅が第2のメッセージ・フォーマットへの交換によって減少するときに交換が行われることが確実になる。
通信システム環境において、典型的なクライアント10は、クライアントによって生成されたいずれの要求メッセージ16も、一旦送信されると、それらに何が起こるかを知る方法がない。メッセージ16は、例えば中間コンポーネント14によって仲介され処理されて判別不能になる場合があり、クライアント10は、これを認識しない。従って、メッセージ・フォーマット交換はサーバ12によってのみ開始することができ、すなわち、中間コンポーネント14がクライアント10に対するサーバとしての役割をする場合には、中間コンポーネント14がフォーマット交換を要求することができる。論理的には、中間コンポーネント14は次に、サーバ12に対してクライアントとして機能することができる。その場合、サーバ12は、中間コンポーネント14に対して、そのフォーマットを交換する要求を開始しなければならない。しかしながら、中間コンポーネント14が、クライアント10とサーバ12との間で単なる仲介体として機能する場合には、中間コンポーネント14は、クライアント10に対してフォーマット交換を要求しない。フォーマット交換のネゴシエーションのためのプロトコルは、以下に説明され、図3に示される基本ステップからなる。クライアント10は、例えばXMLフォーマットでメッセージをサーバ12に送信し、サーバ12は、クライアント10に返信することができる。
サーバ12は、各々のクライアント10からの負荷を追跡し、経験的統計分析技術を用いて、どのクライアントのメッセージ負荷がXMLメッセージからワイヤ・フォーマット・メッセージへの交換による利益を享受するのに十分な程大きいかを決定する。サーバ12は、このクライアントのメッセージ16が通過するときにメッセージを追跡し、それらが、現在のフォーマットのメッセージ16を待っている別のプロセスによって改変されていないことを確認する。サーバ12が、メッセージに関与するいずれかのコードが新しいワイヤ・フォーマットをサポートできるためにメッセージ・フォーマットが実際に交換される可能性があることを確認したときには、サーバ12は、クライアント10とネゴシエーションを行うことができる。
ネゴシエーションにおいては、サーバ12は、クライアント10とハンドシェイクを開始して、クライアント10がプロトコル交換をサポートすることを確認する。クライアント10が、定義されたワイヤ・フォーマットをすでにサポートしているか、又は、クライアント10が、例えばインタープリタ型言語環境において動的に交換することができる場合には、サーバ12は、サーバ12が交換することを期待するクライアント10にフォーマットの記述を送る。ワイヤ・フォーマットが承諾されてインスタンスが作成されると、サーバ12は、いつ交換すべきかをクライアント10に通知し、各々の主体は、新しいワイヤ・フォーマットに交換する。サーバ12は、交換して元のフォーマットに戻すようにクライアント10に単に通知することによって、いつでも承諾を無効にすることができる。交換が行われると、それ以降のメッセージはワイヤ・フォーマットのものとなる。
図4は、通信システムを動作させる方法を要約したものである。本方法は、最初に、データ及び記述タグを含む第1のフォーマットのメッセージ16をクライアント10から送信するステップS1と、次に、メッセージ16をサーバ12で受信するステップS2とを含む。ステップS3において、サーバ12は、サーバ12と、メッセージ16を受信しているクライアント10との間で、メッセージ・フォーマット交換の問題に関するネゴシエーションを開始する。このネゴシエーションは、両方のマシンがサポートするいずれかのプロトコルに応じて、サーバ12とクライアント10との間のハンドシェイクの形態をとることができる。
ステップS4において、クライアント10は、メッセージ・フォーマット交換を受け入れることが可能であることを示し、クライアント10が第2のメッセージ・フォーマットをすでに認識しているか又はクライアント10が動的なフォーマット交換をサポートすることができるため、新しいフォーマットに従ってメッセージを生成する。クライアント10が後者の場合には、サーバ12は、サーバ12がクライアント10に対して採用することを望む新しいフォーマットの記述をクライアント10に送る。クライアント10は、次に、この記述をローカルに格納する。ステップS5において、サーバ12は、メッセージ・フォーマットを交換するようにクライアント10に指示し、ステップS6において、クライアント10は、単にデータからなるいずれかの追加メッセージを第2のフォーマットでサーバ12に送信する。
図4の方法は、クライアント10からのメッセージ負荷を監視することと、メッセージ負荷について統計分析を実行することと、統計分析の結果に従ってサーバ12とクライアント10との間でネゴシエーションを開始することとをさらに含むことができる。メッセージ負荷についての統計分析の実行は、クライアント10からの負荷が所定の閾値を上回ることを判断することを含む。従って、ステップS3の前に、サーバ12は、クライアント10がより効率的な第2のメッセージ・フォーマットへの交換に適応することを判断しなければならない。これは、関係するクライアント10によってもたらされる負荷を監視することによって行うことができる。
ウェブ・サービス記述言語(WSDL)は、ウェブ・サービスを記述するためのモデルを提供するXMLベースの言語である。WSDLは、サービスをネットワーク・ポートの集合と定義し、XMLフォーマットを提供する。メッセージは、やりとりされているデータの抽象的な記述であり、ポート・タイプは、サポートされる動作の抽象的な集合である。特定のポート・タイプについてのプロトコル及びデータ・フォーマット仕様は、再利用可能なバインディングを構成し、動作及びメッセージは、ネットワーク・プロトコル及びメッセージ・フォーマットにバインドされる。このように、WSDLは、ウェブ・サービスへの公共インターフェースを記述する。WSDLは、インターネット上でウェブ・サービスを提供するために、シンプル・オブジェクト・アクセス・プロトコル(SOAP)及びXMLスキーマと組み合わせて用いられることが多い。ウェブ・サービスに接続するクライアント・プログラムは、WSDLを読み込んで、どの機能がサーバ上で利用可能であるかを判断することができる。用いられるいずれかの特別なデータ・タイプは、XMLスキーマの形でWSDLファイルに組み込まれる。次いで、クライアントは、SOAPを用いて、WSDL内に挙げられた機能の1つを実際に呼び出すことができる。
図5は、セキュリティ上の理由で少なくとも実際の物理マシン及びポートを除去することによって、内部WSDL24を外部クライアント10による使用により適した形に変換する中間コンポーネント14(バス)にWSDLをどのように配置することができるかを示す。新しい外部WSDLはクライアント10によってダウンロードされ、クライアント10は、新しい外部WSDLを用いて、クライアント10が他のいずれかの言語方法であるWebサービス12を呼び出すことを可能にするスタブ18を生成する。このスタブ18は、バイナリ・パラメータを採用し、それらをXML SOAP構造内にラップし、それらを外部WSDL22によって定義された所定のターゲット(例えば、HTTPポート又はジャバ・メッセージング・サービス(JMS)キュー)に送ることによって機能する。
WSDLがバス14に到着したときに、ユーザは、メッセージを途中で遮って、メッセージの内容を変更するか、又はメッセージを全く異なるサービス12に経路変更する機会を有する。メッセージは、バス14を通過して呼び出し元20に到着し、呼び出し元20は、SOAPメッセージを変換して、WSDLによって記述されたバイナリ機能の実際の呼び出しを可能にするバイナリ形式に戻す。バイナリの結果は、SOAP応答の中に組み込まれ、バスを通じてクライアント10に返送される。
フォーマット交換の可能性からの利益を享受するために、システムは、サービス12が始めからワイヤ・フォーマットを用いるように管理者がサービス12を構成できるようにするか、又は、バス14が特定のサービス12の負荷を監視して、性能上の理由からフォーマットを交換することが有益であるかどうかを判断できるようにする。バス14は、幾つかの簡単な規則に従って、例えば、外部WSDL22のWSDLポートと内部WSDL24のWSDLポートとを比較し、メッセージが途中で変更されなかったことを確認することによって、フォーマットを交換することが可能かどうかを決定することができる。コンポーネントがメッセージを「仲介」している場合には、この仲介体は、ワイヤ・フォーマット・メッセージをサポートできるかどうかを調べるように問い合わせを行うことができる。
ワイヤ・フォーマットに交換することが決定されると、クライアント10が用いているスタブ18には、クライアントのバイナリ・データをSOAPメッセージ内にラップしていないがメッセージをバス14に直接送ることを通知するメッセージが送られる。バス14は、次に、メッセージを呼び出し元20に真っ直ぐ転送し、呼び出し元20は、元のデータを用いてターゲット・サービス12を直接呼び出す。システムが変更され、例えば仲介体がこのサービスのためにシステムに追加された場合には、クライアントのスタブ18に、メッセージのSOAPフォーマットに交換して戻すように通知するメッセージを送ることができる。
10:クライアント
12:サーバ(サービス)
14:中間コンポーネント(バス)
16:メッセージ
18:スタブ
20:インボーカ
22:外部WSDL
24:内部WSDL

Claims (11)

  1. サーバ及びクライアントを含む通信システムを動作させる方法であって、
    データ及び記述タグを含む第1のフォーマットのメッセージを前記クライアントから送信するステップと、
    前記メッセージを前記サーバで受信するステップと、
    メッセージ・フォーマット交換が望ましいかどうかを判断するステップと、
    メッセージ・フォーマット交換が望ましいと判断したときに、前記サーバと前記クライアントとの間でメッセージ・フォーマット交換に関するネゴシエーションを開始するステップと、
    前記クライアントがメッセージ・フォーマット交換を受け入れることが可能であることを示すステップと、
    メッセージ・フォーマットを交換するように前記クライアントに指示するステップと、
    データからなり、前記記述タグを含まない第2のフォーマットの追加メッセージを前記クライアントから送信するステップと
    を含む方法。
  2. 前記判断するステップは、前記クライアントからのメッセージ負荷を監視することと、前記メッセージ負荷について統計分析を実行することとを含み、前記統計分析に従って、前記サーバと前記クライアントとの間で前記ネゴシエーションが開始される、請求項1に記載の方法。
  3. 前記メッセージ負荷についての前記統計分析の実行は、前記クライアントからの前記負荷が所定の閾値を上回ることを判断することを含む、請求項2に記載の方法。
  4. 前記第2のフォーマットの記述を前記クライアントに送信することをさらに含む、請求項1、請求項2又は請求項3のいずれかに記載の方法。
  5. 前記メッセージが前記クライアントと前記サーバとの間で改変されていないことを確認することをさらに含む、請求項1乃至請求項4のいずれかに記載の方法。
  6. サーバ及びクライアントを含む通信システムであって、
    前記クライアントは、データ及び記述タグを含む第1のフォーマットのメッセージを送信するように構成され、
    前記サーバは、前記メッセージを受信し、メッセージ・フォーマット交換が望ましいかどうかを判断し、メッセージ・フォーマット交換が望ましいと判断したときに、前記サーバと前記クライアントとの間でメッセージ・フォーマット交換に関するネゴシエーションを開始するように構成され、
    前記クライアントは、メッセージ・フォーマット交換を受け入れることが可能であることを示すように構成され、
    前記サーバは、メッセージ・フォーマットを交換するように前記クライアントに指示するように構成され、
    前記クライアントは、データからなり、前記記述タグを含まない第2のフォーマットの追加メッセージを送信するように構成される、
    システム。
  7. 前記サーバは、前記クライアントからのメッセージ負荷を監視し、前記メッセージ負荷について統計分析を実行し、前記統計分析に従って、前記サーバと前記クライアントとの間で前記ネゴシエーションを開始するようにさらに構成される、請求項6に記載のシステム。
  8. 前記サーバは、前記メッセージ負荷についての前記統計分析を実行するときに、前記クライアントからの前記負荷が所定の閾値を上回ることを判断するように構成される、請求項7に記載のシステム。
  9. 前記サーバは、前記第2のフォーマットの記述を前記クライアントに送信するようにさらに構成される、請求項6、請求項7又は請求項8のいずれかに記載のシステム。
  10. 前記サーバは、前記メッセージが前記クライアントと前記サーバとの間で改変されていないことを確認するようにさらに構成される、請求項6乃至請求項9のいずれかに記載のシステム。
  11. 請求項1〜5の何れか1つに記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
JP2012506430A 2009-04-27 2010-03-30 メッセージ交換 Active JP5719349B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09158809 2009-04-27
EP09158809.5 2009-04-27
PCT/EP2010/054245 WO2010124921A1 (en) 2009-04-27 2010-03-30 Message switching

Publications (2)

Publication Number Publication Date
JP2012524924A JP2012524924A (ja) 2012-10-18
JP5719349B2 true JP5719349B2 (ja) 2015-05-20

Family

ID=42341581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012506430A Active JP5719349B2 (ja) 2009-04-27 2010-03-30 メッセージ交換

Country Status (5)

Country Link
US (2) US10412146B2 (ja)
EP (1) EP2347545A1 (ja)
JP (1) JP5719349B2 (ja)
CN (1) CN102301652A (ja)
WO (1) WO2010124921A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301652A (zh) 2009-04-27 2011-12-28 国际商业机器公司 消息转换
GB201216436D0 (en) 2012-09-14 2012-10-31 Ibm Controlling persisting of data to disk
CN109639781A (zh) * 2018-11-30 2019-04-16 移康智能科技(上海)股份有限公司 一种文件传输的方法及服务器

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4309480B2 (ja) * 1995-03-07 2009-08-05 株式会社東芝 情報処理装置
US6285659B1 (en) * 1997-09-10 2001-09-04 Level One Communications, Inc. Automatic protocol selection mechanism
US5974416A (en) * 1997-11-10 1999-10-26 Microsoft Corporation Method of creating a tabular data stream for sending rows of data between client and server
US7028312B1 (en) * 1998-03-23 2006-04-11 Webmethods XML remote procedure call (XML-RPC)
FI113234B (fi) * 2000-02-01 2004-03-15 Nokia Corp Menetelmä ja laite ominaisuustiedon välittämiseksi
US7162542B2 (en) * 2000-04-13 2007-01-09 Intel Corporation Cascading network apparatus for scalability
US7111076B2 (en) * 2000-04-13 2006-09-19 Intel Corporation System using transform template and XML document type definition for transforming message and its reply
US20010049702A1 (en) * 2000-06-05 2001-12-06 Sun Microsystems, Inc. Service side filtering XML messages in a distributed network
US6785666B1 (en) * 2000-07-11 2004-08-31 Revenue Science, Inc. Method and system for parsing navigation information
JP2002251383A (ja) * 2001-12-06 2002-09-06 Fujitsu Ltd ネットワークサーバ割当装置
US20040201600A1 (en) * 2001-12-14 2004-10-14 Microsoft Corporation Methods and system for providing an XML-based interface description language
WO2003081443A1 (fr) * 2002-03-25 2003-10-02 Ricoh Company, Ltd. Dispositif de formation d'images comportant une fonction de service web
US7899924B2 (en) * 2002-04-19 2011-03-01 Oesterreicher Richard T Flexible streaming hardware
US20040107244A1 (en) * 2002-12-02 2004-06-03 Hung-Chi Kuo Scalable and intelligent network platform for distributed system
JP2006514813A (ja) * 2003-02-03 2006-05-11 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ 移動通信システムにおける送信装置及び受信装置の能力を考慮したメッセージ・データ送信
JP2004280408A (ja) * 2003-03-14 2004-10-07 Canon Inc 情報転送装置
US6978452B2 (en) * 2003-04-02 2005-12-20 Beach Unlimited Llc Upgrading digital media servers
US7116976B2 (en) * 2003-12-08 2006-10-03 Thomas C Douglass Adaptable communication techniques for electronic devices
US7194733B2 (en) * 2003-06-11 2007-03-20 Microsoft Corporation Transformation of an asynchronous transactional messaging language into a web services compatible language
US7587487B1 (en) * 2003-12-10 2009-09-08 Foundry Networks, Inc. Method and apparatus for load balancing based on XML content in a packet
ES2301863T3 (es) * 2003-12-17 2008-07-01 Telefonaktiebolaget Lm Ericsson (Publ) Sistema y metodo para el procesamiento de mensajes optimizado dinamicamente.
US7647415B1 (en) * 2004-02-25 2010-01-12 Sun Microsystems, Inc. Dynamic web services stack
US7814404B2 (en) * 2005-03-03 2010-10-12 Research In Motion Limited System and method for applying workflow of generic services to component based applications for devices
CN100531212C (zh) * 2006-01-21 2009-08-19 华为技术有限公司 一种协商设备信息的系统、方法
CN100468305C (zh) * 2006-02-14 2009-03-11 腾讯科技(深圳)有限公司 通讯系统中通讯信息的显示方法
US20080005226A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian A method and system for one-to-one communication through proxy
US8364757B2 (en) * 2006-09-26 2013-01-29 Disney Enterprises, Inc. System and method for electronically managing and routing news content
US8224359B2 (en) * 2006-12-22 2012-07-17 Yahoo! Inc. Provisioning my status information to others in my social network
US8291097B2 (en) * 2007-01-10 2012-10-16 Microsoft Corporation Dynamic transaction protocol upgrades
US7974966B2 (en) * 2007-08-31 2011-07-05 Red Hat, Inc. Method and an apparatus to deliver messages between applications
US20090089417A1 (en) * 2007-09-28 2009-04-02 David Lee Giffin Dialogue analyzer configured to identify predatory behavior
US20090106371A1 (en) * 2007-10-22 2009-04-23 Markus Schmidt-Karaca Systems and methods to generate business reports based on electronic mail messages
US8165118B2 (en) * 2008-05-19 2012-04-24 Palo Alto Research Center Incorporated Voice over content centric networks
CN102301652A (zh) 2009-04-27 2011-12-28 国际商业机器公司 消息转换

Also Published As

Publication number Publication date
CN102301652A (zh) 2011-12-28
JP2012524924A (ja) 2012-10-18
US10412146B2 (en) 2019-09-10
EP2347545A1 (en) 2011-07-27
WO2010124921A1 (en) 2010-11-04
US11956300B2 (en) 2024-04-09
US20190387045A1 (en) 2019-12-19
US20100274846A1 (en) 2010-10-28

Similar Documents

Publication Publication Date Title
JP4312962B2 (ja) インターネットクライアントサーバマルチプレクサ
US8812579B2 (en) Apparatus for transferring data via a proxy server and an associated method and computer program product
EP2853074B1 (en) Methods for optimizing service of content requests and devices thereof
Lampesberger Technologies for web and cloud service interaction: a survey
US8984164B2 (en) Methods for reducing latency in network connections and systems thereof
US20110066676A1 (en) Method and system for reducing web page download time
US11956300B2 (en) Message switching
US10931479B2 (en) Inband data gathering with dynamic intermediary route selections
JP2006072978A (ja) サービス要求装置、サービス提供装置、サービス要求方法、サービス提供方法、サービス要求プログラム、サービス提供プログラム及び記録媒体
US9596190B2 (en) Method, apparatus and system for addressing resources
US10367894B2 (en) Information processing apparatus, method for controlling the same, non-transitory computer-readable storage medium, and information processing system
US9781222B2 (en) Method, system and server device for transmitting a digital resource in a client-server communication system
WO2012064857A2 (en) Methods for ruducing latency in network connections using automatic redirects and systems thereof
JP2017129935A (ja) サーバシステム、サーバシステムを制御する方法およびプログラム。
CN113079210A (zh) 一种跨区数据自动同步的配置方法、终端设备及存储介质
US7406496B2 (en) System and method for processing callback requests, which include a client port and address, included in web-based procedure calls
JP6212944B2 (ja) 通信システム、プロキシサーバ、通信方法およびプログラム
US10931596B2 (en) Method, apparatus and system for addressing resources
JP4305364B2 (ja) Webサービス要求中継システム、Webサービス要求中継方法、中継サーバ、及びそのプログラム
Kazymyr et al. Minimal HTTP header for traffic critical applications
Thomson et al. Hypertext transfer protocol version 2
JP2002116962A (ja) クライアントサーバシステム、クライアント監視方法およびコンピュータプログラム
Snyder et al. Safe Execution of System and Remote Procedure Calls
JP2015049774A (ja) 中継装置、情報システム、中継方法、及び、中継プログラム
KR20080027013A (ko) 통신시스템의 하이퍼텍스트 통신규칙 요청 메시지를 줄이는장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131008

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131220

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141219

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150320

R150 Certificate of patent or registration of utility model

Ref document number: 5719349

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150