[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5962100B2 - メッセージ中継装置、メッセージ中継方法およびプログラム - Google Patents

メッセージ中継装置、メッセージ中継方法およびプログラム Download PDF

Info

Publication number
JP5962100B2
JP5962100B2 JP2012062097A JP2012062097A JP5962100B2 JP 5962100 B2 JP5962100 B2 JP 5962100B2 JP 2012062097 A JP2012062097 A JP 2012062097A JP 2012062097 A JP2012062097 A JP 2012062097A JP 5962100 B2 JP5962100 B2 JP 5962100B2
Authority
JP
Japan
Prior art keywords
message
conversion process
conversion
perform
request
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.)
Expired - Fee Related
Application number
JP2012062097A
Other languages
English (en)
Other versions
JP2013196306A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012062097A priority Critical patent/JP5962100B2/ja
Priority to US13/716,255 priority patent/US8989184B2/en
Publication of JP2013196306A publication Critical patent/JP2013196306A/ja
Application granted granted Critical
Publication of JP5962100B2 publication Critical patent/JP5962100B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • 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/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding

Landscapes

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

Description

本技術は、データ変換を伴う、メッセージの中継技術に関する。
近年、企業のIT(Information Technology)システムやデータセンターにおいて、アプリケーションとアプリケーションのデータのやり取りに、SOAP(Simple Object Access Protocol)に代表されるXML(eXtensible Markup Language)メッセージを利用するのが一般的となりつつある。
このようなシステムにおいて、アプリケーション同士が同じフォーマットのXMLメッセージを処理する場合には問題無いが、異なるフォーマットのXMLメッセージを処理する場合には、いずれかのアプリケーションを変更するか、アプリケーション間にメッセージの変換を行うメッセージ中継装置を設けることで対処することになる。
ここで、後者を選択したとして、メッセージ中継装置は、典型的には、メッセージの変換処理を高速化するために専用の演算装置(例えば、XMLアクセラレータ)を搭載し、XML変換処理は、専用の演算装置で行い、転送処理については汎用のプロセッサが行う。
それでもなお、XML変換処理の処理負荷は高くなりがちで、大規模システムでは、メッセージ中継装置がボトルネックとなる可能性がある。そのため、レイヤ4スイッチ(L4SW)及び複数のメッセージ中継装置を導入することでメッセージ中継装置の負荷分散を行い、システム全体のスループットを向上させようとしている。
このとき、レイヤ4スイッチの負荷分散はメッセージ中継装置における汎用プロセッサの負荷に基づいて行われているので、専用の演算装置に対する負荷のバランスについては考慮されない。このため、システム全体のスループットが低下する問題が起こりうる。具体的には、メッセージによってXML変換の内容が異なるため、XML変換処理が少ないメッセージばかり1つのメッセージ中継装置に割り振られたり、逆にXML変換処理の処理量が多いメッセージばかり1つのメッセージ中継装置に割り振られたりする場合に、非効率が生じる恐れがある。
特開平07−253951号公報 特開平08−221372号公報 特開2000−010937号公報
従って、本技術の目的は、一側面では、異なるフォーマットのメッセージを変換した上で中継する場合においても、システム全体において高いスループットを実現するための技術を提供することである。
本技術の一側面に係るメッセージ中継装置は、(A)転送すべきメッセージを受信する受信部と、(B)転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する判定部と、(C)自ら変換処理を行う余裕がない場合に、記憶部に記憶され、且つ変換処理を行う余裕がある他の装置を示す情報に基づいて、変換処理を依頼する他の装置を選定する選定部と、(D)選定された他の装置に対して転送すべきメッセージの変換処理を依頼し、選定された他の装置から変換されたメッセージを受信する依頼部と、(E)受信した変換後のメッセージを転送先に送信する送信部とを含む。
異なるフォーマットのメッセージを変換した上で中継するシステムにおいて、全体としてのスループットを高めることができる。
図1は、XMLメッセージを転送する装置間のネットワーク構成の例を示す図である。 図2は、実施の形態1におけるシーケンスの第一例を示す図である。 図3は、リクエストメッセージの例を示す図である。 図4は、探索メッセージの例を示す図である。 図5は、宣言メッセージの例を示す図である。 図6は、確認メッセージの例を示す図である。 図7は、応答メッセージの例を示す図である。 図8は、実施の形態1におけるシーケンスの第二例を示す図である。 図9は、削除メッセージの例を示す図である。 図10は、実施の形態1におけるメッセージ中継装置の構成例を示す図である。 図11は、転送先格納部のデータの例を示す図である。 図12は、変換ルール格納部のデータの例を示す図である。 図13は、空きノードエントリの例を示す図である。 図14は、実施の形態1における受信部と転送管理部と送信部の処理フローの例を示す図である。 図15は、メッセージ制御情報の例を示す図である。 図16は、実施の形態1における判定部の処理フローの例を示す図である。 図17は、実施の形態1における判定部の処理フローの例を示す図である。 図18は、実施の形態1における選定部と通信部の処理フローの例を示す図である。 図19は、実施の形態1における選定部と通信部の処理フローの例を示す図である。 図20は、変換要求メッセージの例を示す図である。 図21は、実施の形態1におけるメッセージ中継装置の構成例を示す図である。 図22は、実施の形態1におけるXML変換部と外部受付部の処理フローの例を示す図である。 図23は、変換結果メッセージの例を示す図である。 図24は、実施の形態1における選定部と通信部の処理フローの例を示す図である。 図25は、実施の形態1における選定部と通信部の処理フローの例を示す図である。 図26は、実施の形態2におけるシーケンスの第一例を示す図である。 図27は、実施の形態2における応答メッセージ(許可)の例を示す図である。 図28は、実施の形態2におけるシーケンスの第二例を示す図である。 図29は、実施の形態2におけるメッセージ中継装置の構成例を示す図である。 図30は、実施の形態2における判定部の処理フローの例を示す図である。 図31は、実施の形態2における選定部と通信部の処理フローの例を示す図である。 図32は、コンピュータの機能ブロック図である。
[実施の形態1]
図1に、XMLメッセージを転送する装置間のネットワーク構成の例を示す。この例では、クライアント1(図中1a〜1c)とスイッチ装置3(例えば、L4SW(レイヤ4スイッチ))は、インターネットを介して接続されている。更に、スイッチ装置3とメッセージ中継装置5(図中5a〜5d)とサーバ7(図中7a〜7d)は、LAN(Local Area Network)を介して接続されている。サーバ7は、例えば、クライアント1に対してアプリケーションサービスを提供するサーバである。この例では、各サーバ7は、異なるフォーマットのXMLメッセージを処理の対象としていることを想定している。
次に、図2を用いて、本実施の形態におけるシーケンスの第一例について説明する。クライアント1は、サーバ7aに対してリクエストメッセージを発信する(ステップ(1))。クライアント1とサーバ7の間は、スイッチ装置3とメッセージ中継装置5を介して仮想化されているので、リクエストメッセージは、最初にスイッチ装置3で受信される。スイッチ装置3は、いずれかのメッセージ中継装置5を選定して、選定したメッセージ中継装置5にリクエストメッセージを転送する(ステップ(2))。この例では、スイッチ装置3は、メッセージ中継装置5aを選定している。スイッチ装置3は、例えば、各メッセージ中継装置5の処理状況に応じて、いずれかのメッセージ中継装置5を選定する。スイッチ装置3は、例えば汎用プロセッサの処理能力に余裕があるメッセージ中継装置5を選択する。そのために、メッセージ中継装置5から処理状況の情報(例えば、汎用プロセッサの稼働率、メモリの使用率など)を取得することがある。
ここで、リクエストメッセージのデータ変換について触れる。転送されたリクエストメッセージを受信したメッセージ中継装置5は、受信したリクエストメッセージを転送先のサーバ7の処理対象の形式にデータ変換して、サーバ7に転送する。その際、自らデータ変換を行う処理能力に余裕がない場合には、他のメッセージ中継装置5に対してデータ変換を依頼する。
本実施の形態では、依頼先となる他のメッセージ中継装置5の選定を行うために、各メッセージ中継装置5は、データ変換を行う処理能力に余裕ある他のメッセージ中継装置5の情報を保持する。そして、この情報に基づいて、データ変換を行う処理能力に余裕ある他のメッセージ中継装置5を選定し、選定した他のメッセージ中継装置5に対して、メッセージのデータ変換を依頼する。
図2のシーケンスの例に戻って、リクエストメッセージを受信したメッセージ中継装置5aは、自らデータ変換を行う処理能力に余裕がないと判定する。更に、メッセージ中継装置5aは、データ変換を行う処理能力に余裕ある他のメッセージ中継装置5の情報を保持していない。そこで、メッセージ中継装置5aは、まずデータ変換を行う処理能力に余裕ある他のメッセージ中継装置5を探索するために、メッセージ(以下、探索メッセージという。)を他のメッセージ中継装置5b、5c、5dに対して、同時通報する(ステップ(3))。
探索メッセージを受信したメッセージ中継装置5(この例では、メッセージ中継装置5bとメッセージ中継装置5cとメッセージ中継装置5d)は、それぞれに自らデータ変換を行う処理能力に余裕があるか否かを判定する。そして、自らデータ変換を行う処理能力に余裕があると判定した場合には、自らデータ変換を行う処理能力に余裕があることを宣言するメッセージ(以下、宣言メッセージという。)を、自身以外のメッセージ中継装置5に対して同時通報する(ステップ(4))。図2の例では、メッセージ中継装置5bは、自らデータ変換を行う処理能力に余裕があると判定し、自身以外のメッセージ中継装置5aとメッセージ中継装置5cとメッセージ中継装置5dに対して宣言メッセージを同時通報する。また、メッセージ中継装置5dも、自らデータ変換を行う処理能力に余裕があると判定し、自身以外のメッセージ中継装置5aとメッセージ中継装置5bとメッセージ中継装置5cに対して宣言メッセージを同時通報する。一方、メッセージ中継装置5cは、自らデータ変換を行う処理能力に余裕がないと判定し、宣言メッセージを同時通報しない。
宣言メッセージを受信したメッセージ中継装置5は、宣言メッセージの送信元であるメッセージ中継装置5を特定し、特定したメッセージ中継装置5の情報をデータ変換を行う処理能力に余裕がある他のメッセージ中継装置5の情報として保持するように動作する。例えば、メッセージ中継装置5bによる宣言メッセージの同時通報によって、メッセージ中継装置5aとメッセージ中継装置5cとメッセージ中継装置5dは、それぞれ中継装置5bの情報をデータ変換を行う処理能力に余裕がある他のメッセージ中継装置5の情報に加える。更に、メッセージ中継装置5dによる宣言メッセージの同時通報によって、メッセージ中継装置5aとメッセージ中継装置5bとメッセージ中継装置5cは、それぞれメッセージ中継装置5dの情報をデータ変換を行う処理能力に余裕がある他のメッセージ中継装置5の情報に加える。
このようにして、データ変換を行う処理能力に余裕ある他のメッセージ中継装置5の情報を得たメッセージ中継装置5aは、データ変換を依頼する候補であるメッセージ中継装置5を選定する。メッセージ中継装置5が保持する情報に、データ変換を行う処理能力に余裕ある他のメッセージ中継装置5を複数含む場合には、何れかのメッセージ中継装置5を選択する。この例では、メッセージ中継装置5aは、情報に含まれるメッセージ中継装置5bと5dのうち、メッセージのデータ変換を依頼する候補としてメッセージ中継装置5dを選択する。
そして、メッセージ中継装置5aは、メッセージのデータ変換を依頼する前に、候補であるメッセージ中継装置5dに対して、メッセージのデータ変換の依頼を許可するか拒否するかを確認するメッセージ(以下、確認メッセージという。)を送信する(ステップ(5))。
確認メッセージを受信したメッセージ中継装置5dは、改めて現在自らデータ変換を行う処理能力に余裕があるか否かを判定する。このシーケンスの例では、メッセージ中継装置5dは、データ変換を行う処理能力に余裕があると判定し、許可の旨を示す応答メッセージを、確認メッセージの送信元であるメッセージ中継装置5aに返信する(ステップ(6))。
そして、メッセージ中継装置5aは、許可の旨を示す応答メッセージを受信すると、許可したメッセージ中継装置5dに対して、データ変換を依頼する変換要求メッセージを送信する(ステップ(7))。変換要求メッセージは、変換対象である元メッセージと元メッセージに対する制御情報を含む。
変換要求メッセージを受信したメッセージ中継装置5dは、受信した変換要求メッセージに含まれる元メッセージをデータ変換し、変換結果メッセージを、変換要求メッセージの送信元であるメッセージ中継装置5aに返信する(ステップ(8))。変換結果メッセージは、変換した結果である変換メッセージと変換メッセージの制御情報を含む。
変換結果メッセージを受信したメッセージ中継装置5aは、受信した変換結果メッセージに含まれる変換メッセージを抽出し、抽出した変換メッセージを転送先であるサーバ7aに送信する(ステップ(9))。
変換メッセージを受信したサーバ7aは、通常のリクエストメッセージを受信したときと同様に、受信したメッセージに対して自らのサービス処理を施すように動作する。また、サーバ7aはクライアント1に対してレスポンスを送出する(ステップ(10))。送出されたレスポンスは、仮想化された経路に従って、メッセージ中継装置5aとスイッチ装置3を介して、クライアント1に転送される。
ここで、上述のシーケースで転送される各メッセージについて説明する。図3に、リクエストメッセージの例を示す。リクエストメッセージは、IP(Internet Protocol)ヘッダと、TCP(Transmission Control Protocol)ヘッダと、HTTP(HyperText Transfer Protocol)ヘッダと、HTTPボディとを有している。HTTPヘッダには、リクエストURI(Uniform Resource Identifier)が含まれている。この例では、リクエストURIは、「/SEVICE/A1」と示されている。また、HTTPボディは、XMLの形式に従って記述されている。
次に、図4に探索メッセージの例を示す。探索メッセージには、メッセージタイプとして、探索メッセージであることを識別する情報が含まれている。更に、探索メッセージの送信元のノードを特定する情報が含まれている。この例では、メッセージ中継装置5aのアドレスが含まれている。
次に、図5に宣言メッセージの例を示す。宣言メッセージには、メッセージタイプとして、宣言メッセージであることを識別する情報が含まれている。更に、宣言メッセージの送信元のノードを特定する情報が含まれている。この例では、メッセージ中継装置5bのアドレスが含まれている。
次に、図6に確認メッセージの例を示す。確認メッセージには、メッセージタイプとして、確認メッセージであることを識別する情報が含まれている。更に、確認メッセージを送信する依頼元ノードを特定する情報が含まれている。この例では、メッセージ中継装置5aのアドレスが含まれている。また、確認メッセージを受信する候補ノードを特定する情報が含まれている。この例では、メッセージ中継装置5bのアドレスが含まれている。
次に、図7に、応答メッセージの例を示す。応答メッセージには、メッセージタイプとして、応答メッセージであることを識別する情報が含まれている。更に、応答の元となった確認メッセージの依頼元のノードを特定する情報が含まれている。この例では、メッセージ中継装置5aのアドレスが含まれている。また、応答の元となった確認メッセージの候補ノードを特定する情報が含まれている。この例では、メッセージ中継装置5bのアドレスが含まれている。また、応答メッセージは、候補ノードをメッセージのデータ変換処理を行うリソースとして使用することを許可するか、あるいは拒否するかを示す情報も含んでいる。
続いて、宣言メッセージを送出したメッセージ中継装置5が、その後にデータ変換を行う処理能力の余裕を失う場合を想定する。図8に、実施の形態1におけるシーケンスの第二例を示す。この例は、候補ノードが、自らデータ変換を行う処理能力に余裕がないと判定し、メッセージのデータ変換処理を行うリソースとして使用されることを拒否する場合のシーケンスを示している。
メッセージ中継装置5aは、シーケンスの第一例と同様に、データ変換を依頼する候補として、メッセージ中継装置5dを選定する。図2に示したステップ(1)〜(4)の動作は同様であるので、説明を省略する。
そして、メッセージ中継装置5aは、メッセージのデータ変換を依頼する前に、候補であるメッセージ中継装置5dに対して、メッセージのデータ変換の依頼を許可するか拒否するかを確認する確認メッセージを送信する(ステップ(11))。
確認メッセージを受信したメッセージ中継装置5dは、改めて現在自らデータ変換を行う処理能力に余裕があるか否かを判定する。このシーケンスの例では、メッセージ中継装置5dは、データ変換を行う処理能力に余裕がないと判定し、拒否の旨を示す応答メッセージを確認メッセージの送信元であるメッセージ中継装置5aに返信する(ステップ(12))。
そして、メッセージ中継装置5aは、拒否の旨を示す応答メッセージを受信すると、データ変換を行う処理能力に余裕ある他のメッセージ中継装置5の情報から、拒否の旨を示す応答メッセージの送信元であるメッセージ中継装置5dの情報を削除する。更に、メッセージ中継装置5dの情報をデータ変換を行う処理能力に余裕ある他のメッセージ中継装置5の情報から削除した旨のメッセージ(以下、削除メッセージという。)を、同時通報する(ステップ(13))。削除メッセージは、他のメッセージ中継装置5に対して、そのメッセージ中継装置5が保持する、データ変換を行う処理能力に余裕ある他のメッセージ中継装置5の情報から、削除メッセージで特定したメッセージ中継装置5の情報を削除することを促す意味を有する。
削除メッセージを受信したメッセージ中継装置5は、自ら保持するデータ変換を行う処理能力に余裕ある他のメッセージ中継装置5の情報から、削除メッセージで特定されているメッセージ中継装置5の情報を削除する。この例では、削除メッセージを受信したメッセージ中継装置5bとメッセージ中継装置5cは、メッセージ中継装置5dの情報を削除する。メッセージ中継装置5dは、自らのことであるで、特に処理を行わない。
そして、メッセージ中継装置5aは、改めてデータ変換を依頼する候補としてメッセージ中継装置5bを選定して、メッセージ中継装置5bへ確認メッセージを送信する(ステップ(14))。メッセージ中継装置5bは、現在自らデータ変換を行う処理能力に余裕あると判定し、許可の旨を示す応答メッセージをメッセージ中継装置5aへ返信する(ステップ(15))。以降のシーケンスで、メッセージ中継装置5bは図2に示した第一例のメッセージ中継装置dと同様に動作する。
図9に、削除メッセージの例を示す。削除メッセージには、メッセージタイプとして、削除メッセージであることを識別する情報が含まれている。更に、削除メッセージの送信元のノードを特定する情報が含まれている。この例では、メッセージ中継装置5aのアドレスが含まれている。また、削除するメッセージ中継装置5を特定する情報が含まれている。この例では、メッセージ中継装置5dのアドレスが含まれている。
以下、上述のメッセージ中継装置5について説明する。図10は、実施の形態1におけるメッセージ中継装置5の構成例を示す図である。例えば、メッセージ中継装置5は、受信部11と転送管理部13と転送先格納部15と変換ルール格納部17と判定部19とキュー21とリソース管理部23と内部受付部25とXML変換部27と選定部29と空きノードエントリ31と通信部33と依頼部35と送信部37とを有している。
受信部11は、例えば、スイッチ装置3からリクエストメッセージを受信するように動作する。
転送管理部13は、受信したリクエストメッセージの転送先サーバと変換ルールを特定して変換要求を生成するように動作する。変換要求は、変換対象である元メッセージと元メッセージの制御情報を含んでいる。また、転送管理部13は、生成した変換要求に応じて求められた変換結果を判定部19から受けて、送信部37に対して転送先のサーバ7へ送信させるように動作する。
転送先格納部15には、転送先を特定するための情報が格納されている。図11は、転送先格納部15に格納されているデータの例を示す図である。転送先格納部15は、リクエストURI毎に、レコードを設け、各レコードでリクエストURIと転送先サーバのアドレスを対応付けて記憶している。
変換ルール格納部17には、メッセージをデータ変換する際のルールを特定する情報が格納されている。図12は、変換ルール格納部の例を示す図である。変換ルール格納部17は、リクエストURI毎に、レコードを設け、各レコードでリクエストURIと変換ルールを特定する情報(例えば、変換に用いるソフトウエアの名前、変換アルゴリズムの識別情報など)を対応付けて記憶している。
図10に戻って、判定部19は、転送管理部13から変換要求を受け取り、変換結果を転送管理部13へ返すまでの制御を行うように動作する。
キュー21は、判定部19の内部制御に用いられるデータ記憶領域である。未処理の変換要求を一時的に記憶するために用いられる。但し、キュー21は、判定部19の外に設けてもよい。
リソース管理部23は、XML変換部27の稼動状況を計測し、あるいは取得するように動作する。このリソース状況の情報は、自らデータ変換を行う処理能力に余裕があるか否かの判定に用いられる。
内部受付部25は、自らメッセージのデータ変換を行う場合に、変換要求を判定部19から受け付けるように動作する。そして、内部受付部25は、受け付けた変換要求をXML変換部27に転送するように動作する。
XML変換部27は、内部受付部25で受け付けた変換要求に従ってメッセージのデータ変換を行うように動作する。この例では、変換ルールに従って、変換要求に含まれる元メッセージを変換して、変換メッセージを生成する。生成した変換メッセージは、変換結果に含められる。XML変換部27は、例えば、XMLアクセラレータなどの専用の演算装置の動作により処理することが想定される。
選定部29は、データ変換を行う処理能力に余裕がある他のメッセージ中継装置5を選定するように動作する。この実施例では、メッセージ中継装置5をノードと呼んで説明する。また、通信部33を介して、探索メッセージ、宣言メッセージ、確認メッセージ、応答メッセージ、及び削除メッセージの送受信を制御するように動作する。
空きノードエントリ31は、データ変換を行う処理能力に余裕があるメッセージ中継装置5の情報を記憶する領域である。図13に、空きノードエントリの例を示す。この実施例では、データ変換を行う処理能力に余裕があるメッセージ中継装置5を空きノードと呼んで説明する。図中、メッセージ中継装置5bのアドレスとメッセージ中継装置5dのアドレスを記憶している。
図10に戻って、通信部33は、例えば、他のメッセージ中継装置5との間で、探索メッセージ、宣言メッセージ、確認メッセージ、応答メッセージ、及び削除メッセージを送受信するように動作する。
依頼部35は、他のメッセージ中継装置5に対してメッセージのデータ変換を依頼し、依頼した他のメッセージ中継装置5から変換結果を受け取るように動作する。更に、依頼部35は、受け取った変換結果を判定部19に返すように動作する。
送信部37は、例えば、変換メッセージを転送先のサーバ7に送信するように動作する。
続いて、各処理部の具体的な処理動作について説明する。まず、受信部11と転送管理部13と送信部37の処理動作について説明する。図14は、実施の形態1における受信部11と転送管理部13と送信部37の処理フローの例を示す図である。
受信部11が、スイッチ装置3からリクエストメッセージを受信すると、受信したリクエストメッセージを転送管理部13へ送る(S101)。転送管理部13は、リクエストメッセージを受けると、まず、リクエストメッセージのHTTPヘッダからリクエストURIのコードを探し出し、リクエストURIを特定する(S103)。次に、転送管理部13は、転送先格納部15を参照してリクエストURIに対応する転送先サーバを特定する(S105)。更に、転送管理部13は、変換ルール格納部17を参照してリクエストURIに対応する変換ルールを特定する(S107)。
そして、転送管理部13は、判定部19へ変換要求を出す(S109)。変換要求には、変換の元となるメッセージと元メッセージの制御情報が含まれる。この例では、変換の元となるメッセージは、リクエストメッセージである。メッセージの制御情報には、特定された転送先サーバと変換ルールが含まれている。図15に、メッセージ制御情報の例を示す。この時点で、依頼元ノードは、まだ設定されていなくても構わない。
図14に戻って、判定部19の動作が完了すると、転送管理部13は、判定部19からメッセージ制御情報を含む変換結果を受ける(S111)。そして、転送管理部13は、メッセージ制御情報を含む変換結果を送信部37へ送り、送信部37は、変換結果に含まれる変換メッセージをメッセージ制御情報で特定される転送先サーバへ送信する(S113)。
次に、判定部19の処理動作について説明する。図16と図17は、実施の形態1における判定部19の処理フローの例を示す図である。判定部19は、まずイベントの発生を待つ(S201)。イベントが発生すると、判定部19は、発生したイベントの種類に応じて処理を分岐させる(S203,S205,S209,S211,S215)。
判定部19は、S201で発生したイベントが転送管理部13からの変換要求であるか否かを判定する(S203)。判定部19は、S201で発生したイベントが転送管理部13からの変換要求であると判定すると、図17のS301へ端子Aを介して処理を進める。
図17の処理の説明に移行して、判定部19は、キュー21へ変換要求をエンキューする(S301)。つまり、判定部19は、未処理の変換要求を一時的に保持する。そして、判定部19は、キュー21のキュー長が0から1になったか否かを判定する(S303)。判定部19は、キュー21のキュー長が0から1になったと判定すると、S305へ処理を進める。一方、判定部19は、キュー21のキュー長が0から1になったと判定しない場合には、この処理の流れを終了する。例えば、キュー21のキュー長が1から2になった場合には、キュー21に先に未処理の変換要求が1つあり、判定部19はすでに処理を行っているからである。一方、キュー21のキュー長が0から1になった場合は、キュー21に先に未処理の変換要求が存在しないので、判定部19はイベントとして受け取った変換要求に対する処理を続ける。
S305で、判定部19は、リソース管理部23へ問い合わせて、リソース状況を受ける。リソース状況は、XML変換部27の稼動状況のことである。例えば、XML変換部27がXMLアクセラレータの動作により処理する場合には、リソース管理部23は、XMLアクセラレータに含まれる演算部の稼働率、XMLアクセラレータに含まれる演算部が使用するメモリの使用率、あるいはXMLアクセラレータに含まれる演算部が処理に要する時間などの情報を、リソース状況として用いてもよい。このとき、リソース管理部23は、XML変換部27の稼動状況を計測し、あるいはXML変換部27から稼動状況の情報を直接取得する。
判定部19は、リソース状況に基づいて、XML変換部27がデータ変換を行う処理能力に余裕があるか否かを判定する(S307)。判定部19は、例えば、前述の演算部の稼働率、メモリの使用率、あるいは演算部が処理に要する時間などの情報が閾値を越えている場合に、データ変換する余裕がないと判定し、閾値を越えていない場合に、データ変換する余裕があると判定する。
判定部19は、S307で自らデータ変換する処理能力に余裕があると判定すると、変換要求をキュー21からデキューする(S309)。これにより、判定部19は、一時的に保持している未処理の変換要求を取り出す。この場合、S301でキュー21へエンキューした変換要求が読み出される。そして、判定部19は、内部受付部25へ変換要求を出す(S311)。そして、判定部19は、キュー21のキュー長が0より大きいか否かを判定する(S313)。判定部19は、キュー21のキュー長が0より大きいと判定すると、S305へ進んで処理を続行する。他に未処理の変換要求があるからである。一方、判定部19は、キュー21のキュー長が0より大きくないと判定すると、処理を終える。キュー21に未処理の変換要求がないからである。
一方、判定部19は、S307で自らデータ変換する処理能力に余裕がないと判定すると、選定部29へノード要求を出す(S315)。ノード要求は、選定部29に対して、データ変換を依頼する他のメッセージ中継装置5を選定する動作を起こさせる命令である。そして、判定部19は、一旦処理を終える。判定部19は、これ以降の動作を選定部29からのノード回答を待って再開する。処理の再開は、図16のS209から始まる。
図16へ戻って、判定部19は、S201で発生したイベントがXML変換部27からの変換結果であるか否かを判定する(S205)。このイベントは、図17のS311で内部受付部25へ出した変換要求への応答である。判定部19は、S201で発生したイベントがXML変換部27からの変換結果であると判定すると、転送管理部13へ変換結果を返す(S207)。
続いて、選定部29と通信部33の処理動作について説明する。図18に、実施の形態1における選定部29と通信部33の処理フローの例を示す。選定部29は、判定部19からノード要求を受けると(S401)、空きノードエントリ31を読む(S403)。選定部29は、空きノードがあるか否かを判定する(S405)。選定部29は、空きノードがないと判定すると、通信部33が宣言メッセージの受信状態であるか否かを判定する(S407)。選定部29は、通信部33が宣言メッセージの受信状態でないと判定すると、通信部33を制御し、通信部33は、探索メッセージを同時通報する(S409)。このとき、通信部33は、探索メッセージの送信元ノードのアドレスに、メッセージ中継装置5自身のアドレスを設定する。そして、選定部29は、一定時間待機し(S411)、S403へ戻る。
尚、選定部29と通信部33は、図18の処理フローのプロセスとは別に、宣言メッセージを受信するプロセスを並列に動作させている。宣言メッセージを受信するためのプロセスの処理フローを図19に示す。通信部33が、宣言メッセージを受信し、選定部29へ宣言メッセージへ送ると(S501)、選定部29は、宣言メッセージの送信元であるメッセージ中継装置5(送信元ノード)を特定して、特定したメッセージ中継装置5(送信元ノード)を空きノードエントリ31に追加する(S503)。そして、選定部29は、処理を終える。
図18に戻って、選定部29は、再びS403で空きノードエントリ31を読む。通信部33が宣言メッセージを受信している間は、選定部29は、S405でまだ空きノードがないと判定するので、再びS407に移る。そこで、選定部29は、S407で改めて通信部33が宣言メッセージの受信状態であると判定すると、再び一定時間待機して(S411)、S403へ戻る。
通信部33による宣言メッセージの受信が完了すると、選定部29は、S405で空きノードがあると判定し、メッセージのデータ変換処理を依頼する候補ノードを選定する(S413)。具体的には、選定部29は、空きノードエントリ31から読み取った空きノードを候補ノードとする。選定部29は、空きノードが複数ある場合には、そのうちのいずれかの空きノードを候補ノードとする。
そして、選定部29は通信部33を制御し、通信部33は確認メッセージを生成し、生成した確認メッセージを候補ノードへ送信する(S415)。このとき、通信部33は、確認メッセージの依頼元ノードのアドレスに、メッセージ中継装置5自身のアドレスを設定する。更に、通信部33は、確認メッセージに候補ノードのアドレスを設定する。
そして、通信部33は、S415で送信した確認メッセージに対する応答として候補ノードから返信される応答メッセージを受信し、選定部29へ転送する(S417)。選定部29は、転送された応答メッセージに許可の旨が含まれているか、あるいは拒否の旨が含まれているかを判定する(S419)。選定部29は、応答メッセージに許可の旨が含まれていると判定すると、候補ノードを回答ノードとして特定し、特定した回答ノードを判定部19へ返す(S421)。
一方、選定部29は、S419で応答メッセージに拒否の旨が含まれていると判定すると、拒否の旨を示す応答メッセージを返信した候補ノードを空きノードエントリ31から削除し(S423)、更に削除メッセージを同時通報する(S425)。このとき、通信部33は、削除メッセージの送信元ノードのアドレスに、メッセージ中継装置5自身のアドレスを設定する。更に、通信部33は、削除メッセージの削除ノードのアドレスに、候補ノードのアドレスを設定する。そして、選定部29は、S403からの処理を続ける。
図16へ戻って、判定部19は、S201で発生したイベントが選定部29からのノード回答であるか否かを判定する(S209)。このイベントは、図17のS315で判定部19から選定部29へ送出したノード要求への応答である。判定部19は、S201で発生したイベントが選定部29からのノード回答であると判定すると、図17のS317へ端子Bを介して処理を進める。ノード回答には、データ変換処理を依頼するメッセージ中継装置5の情報が含まれている。
判定部19は、キュー21から変換要求をデキューする(S317)。そして、判定部19は、依頼部35へ変換要求を出す(S319)。判定部19は、このとき、自らのメッセージ中継装置5(自ノード)の情報を依頼元ノードとして、変換要求のメッセージ制御情報に設定する。依頼部35は、受けた変換要求をメッセージとして、依頼先のメッセージ中継装置5へ送信する。図20は、変換要求メッセージの例を示す図である。変換要求メッセージは、変換対象である元メッセージの他に、元メッセージのメッセージ制御情報も含んでいる。
そして、判定部19は、S313へ処理を進め、他の変換要求に対する処理を続行する。
図16へ戻って、判定部19は、S201で発生したイベントが依頼部35からの変換結果であるか否かを判定する(S211)。このイベントは、図17のS319で判定部19から依頼部35へ送出した変換要求への応答である。判定部19は、S201で発生したイベントが依頼部35からの変換結果であると判定すると、転送管理部13へ変換結果を返す(S213)。
尚、リソース管理部23は、独自にXML変換部27の稼動状況に余裕があると判定すると、自発的に判定部19へ余裕通知を出すようにしてもよい。その場合には、図16のS215で、判定部19は、S201で発生したイベントがリソース管理部23からの余裕通知であるか否かを判定する。判定部19は、S201で発生したイベントがリソース管理部23からの余裕通知であると判定すると、図17のS321へ端子Cを介して処理を進める。
判定部19は、キュー21のキュー長が0より大きいか否かを判定する(S321)。判定部19は、キュー21のキュー長が0より大きくないと判定すると、処理を終える。キュー21が、未処理の変換要求を保持しないからである。判定部19は、キュー21のキュー長が0より大きいと判定すると、変換要求をキュー21からデキューし(S323)、内部受付部25へ変換要求を出す(S325)。このとき、キュー21には未処理の変換要求があり、XML変換部27は、データ変換を行う処理能力に余裕があるからである。そして、判定部19は、S313の判定へ進む。以降の処理は、前述と同様である。
上述の処理により、図2と図8に示したメッセージ中継装置5aの動作が行われる。続いて、図2と図8に示したメッセージ中継装置5bとメッセージ中継装置5cとメッセージ中継装置5dの動作について説明する。具体的には、データの変換要求を受けた場合、探索メッセージを受信した場合、確認メッセージを受信した場合、及び削除メッセージを受信した場合のメッセージ中継装置5の動作について説明する。
これらの動作を行うために、メッセージ中継装置5は、図10で示した前述の構成要素の他に、図21に示す外部受付部39も有している。外部受付部39は、依頼元のメッセージ中継装置5から変換要求メッセージを受信し、変換要求をXML変換部27へ送出し、XML変換部27によるメッセージのデータ変換を待って、依頼元のメッセージ中継装置5へ変換結果メッセージを返信するように動作する。
図22に、データの変換要求を受けた場合の外部受付部39とXML変換部27との処理フローを示す。外部受付部39が、変換要求メッセージを受信すると(S601)、変換要求をXML変換部27へ送出する。XML変換部27は、受け取った変換要求メッセージに含まれる元メッセージを、変換要求メッセージに含まれる変換ルールに従ってデータ変換して変換メッセージを生成する(S603)。生成された変換メッセージは、外部受付部39へ返される。外部受付部39は、変換要求メッセージの送信元であるメッセージ中継装置5に、XML変換部27から受け取った変換結果をメッセージとして返信する(S605)。このとき、外部受付部39は、変換要求メッセージに含まれる元メッセージを変換メッセージに置き換えて、変換結果メッセージとする。図23は、変換結果メッセージの例を示す図である。
次に、メッセージ中継装置5が、探索メッセージを受信したときの動作について説明する。図24に、その処理フローを示す。通信部33は、探索メッセージを受信すると(S701)、リソース管理部23へ問い合わせて(S703)、リソース管理部23からリソース状況を受ける(S705)。そして、通信部33は、XML変換部27がデータ変換を行う処理能力に余裕があるか否かを判定する(S707)。通信部33は、XML変換部27がデータ変換を行う処理能力に余裕があると判定すると、宣言メッセージを同時通報する(S709)。このとき、通信部33は、宣言メッセージの送信元ノードのアドレスに、メッセージ中継装置5自身のアドレスを設定する。一方、通信部33は、S707でデータ変換を行う処理能力に余裕がないと判定すると、処理を終了する。
次に、メッセージ中継装置5が、確認メッセージを受信したときの動作について説明する。図25に、確認メッセージを受信したときの処理フローを示す。通信部33は、確認メッセージを受信すると(S801)、リソース管理部23へ問い合わせて(S803)、リソース管理部23からリソース状況を受ける(S805)。そして、通信部33は、XML変換部27がデータ変換を行う処理能力に余裕があるか否かを判定する。(S807)。通信部33は、XML変換部27がデータ変換を行う処理能力に余裕があると判定すると、確認メッセージの送信元であるメッセージ中継装置5に許可の応答メッセージを返信する(S809)。このとき、通信部33は、依頼元ノードと候補ノードに確認メッセージと同様のアドレスを設定し、更に、リソース使用に許可の旨を設定する。
一方、通信部33は、S807でXML変換部27がデータ変換を行う処理能力に余裕がないと判定すると、確認メッセージの送信元であるメッセージ中継装置5に拒否の応答メッセージを返信する(S811)。このとき、通信部33は、依頼元ノードと候補ノードに確認メッセージと同様のアドレスを設定し、更に、リソース使用に拒否の旨を設定する。
最後に、メッセージ中継装置5が、削除メッセージを受信した場合のメッセージ中継装置5の動作について説明する。通信部33は、削除メッセージを受信すると、削除メッセージを選定部29へ送り、選定部29は削除メッセージに含まれる削除ノードを特定し、特定した削除ノードの情報を、空きノードエントリ31から削除する。
以上のように、本実施の形態におけるメッセージ中継装置は、メッセージのデータ変換処理を行う処理能力に余裕がある他のメッセージ中継装置を空きノードエントリで管理し、空きノードエントリに基づいてメッセージのデータ変換処理の依頼先を選定し、依頼先であるメッセージ中継装置がメッセージのデータ変換処理を行うので、メッセージ中継装置同士は、互いにメッセージ変換処理のリソースを共有し、且つメッセージ変換処理のリソースを有効に活用することができる。
これにより、メッセージ変換の依頼が成功する可能性が高まるとともに、リソース発見までの時間も短縮できる。更に、メッセージ中継装置は、同時通報を用いることにより、空きノードエントリを同期させるために用いるメッセージの転送量も抑制している。
スイッチ装置は、転送処理のリソース(例えば、汎用プロセッサ)に着目した負荷分散を行うが、本実施の形態では、その負荷分散では解消できないメッセージ変換処理のリソース活用の非効率が解消される。従って、メッセージ変換に高い負荷がかかる場合であっても、すべてのメッセージ中継装置のメッセージ変換リソースを完全に使い切ることができるようになる。
メッセージ中継装置の増設やデータ変換部の増強によって、メッセージ中継装置を含むシステムは簡単かつ有効に、全体としてのスループットを向上させることができる。
また、メッセージ中継装置は、宣言メッセージを受信し、受信した宣言メッセージの送信元のメッセージ中継装置を空きノードエントリに加えるので、メッセージ中継装置は、処理能力に余裕のあるメッセージ変換処理リソースを容易且つ確実に特定できる。
また、メッセージ中継装置は、探索メッセージを同時通報し、同時通報した探索メッセージの応答として宣言メッセージを受信するので、他のメッセージ変換処理リソースを活用しようとする時点で有効なメッセージ変換処理リソースを、広い範囲から検出することができるようになる。
また、メッセージ中継装置は、1つの探索メッセージに対して宣言メッセージを同時通報するので、問い合わせと返答のためのメッセージを減らすことができる。
また、メッセージ中継装置は、候補ノードである他のメッセージ中継装置に対して確認メッセージを予め送信し、確認メッセージに対する応答メッセージを受信するので、他のメッセージ中継装置にメッセージのデータ変換を依頼する前に、依頼先となるメッセージ中継装置のリソースの現在状況を確認できる。そのため、無駄な依頼処理を防ぎ、処理遅延を防ぎ、通信量を抑制する。
また、メッセージ中継装置は、候補ノードである他のメッセージ中継装置からの応答メッセージが拒否を示す場合に、そのメッセージ中継装置を空きノードエントリから削除するので、メッセージ変換を行う処理能力に余裕のないメッセージ中継装置を予め候補から除外し、この処理能力に余裕のないメッセージ中継装置を再び候補ノードに選び、再度依頼に失敗するという無駄な処理を未然に防ぐことができる。
また、メッセージ中継装置は、候補ノードである他のメッセージ中継装置からの応答メッセージが拒否を示す場合に、そのメッセージ中継装置を空きノードエントリから削除する旨の削除メッセージを同時通報するので、メッセージ変換リソースに余裕のないメッセージ中継装置の情報を、適時広く知らせることが出来る。
また、メッセージ中継装置は、他のメッセージ中継装置から削除メッセージを受信した場合に、削除メッセージにより特定されるメッセージ中継装置を空きノードエントリから除外するので、他のメッセージ中継装置におけるメッセージ変換の依頼の失敗に基づいて、自らも同様に失敗することを予め防ぐことができる。
また、メッセージ中継装置は、他のメッセージ中継装置からメッセージの変換処理の依頼を受け付け、依頼されたメッセージの変換処理を行い、変換処理されたメッセージを返信するので、自らのメッセージ変換リソースを無駄なく使い切ることができる。
[実施の形態2]
実施の形態2では、確認メッセージによる事前の確認を省略する例について説明する。実施の形態2は、候補ノードであるメッセージ中継装置で、メッセージのデータ変換を行う処理能力に余裕がある可能性が高い場合に、通信量を削減する効果が期待できる。
図26に、実施の形態2におけるシーケンスの第一例を示す。リクエストメッセージ(図2のステップ(1)と(2))については、本シーケンスでも共通であるので省略する。
メッセージ中継装置5aは、実施の形態1と同様に、探索メッセージを同時通報し(ステップ(21))、それに応じてメッセージ中継装置5dは、宣言メッセージを同時通報する(ステップ(22))。
メッセージ中継装置5aは、実施の形態1と同様に候補ノードを選定すると、実施の形態1のように確認メッセージを送信することなく、直ちに変換要求メッセージを候補ノードに送信する(ステップ(23))。この例では、メッセージ中継装置5dが候補ノードである。メッセージ中継装置5dは、データ変換を行う処理能力に余裕があり、メッセージのデータ変換を行う。そして、変換結果を含む許可の応答メッセージを返信する(ステップ(24))。図27に、このとき送られる応答メッセージ(許可)の例を示す。実施の形態2における応答メッセージは、実施の形態1の変換結果メッセージ(図23)に、リソース使用の許可/拒否の旨を追加した構成である。
図26に示すシーケンスの第一例では、候補ノードに送られた変換要求が受け入れられ、順調に処理が進行する例を示した。しかし、それに反し候補ノードに送られた変換要求が受け入れらない場合も起こりうる。次に、候補ノードに送られた変換要求が拒否される場合のシーケンスについても説明する。
図28に、実施の形態2におけるシーケンスの第二例を示す。この例で、メッセージ中継装置5aは、候補ノードであるメッセージ中継装置5dへ変換要求メッセージを送るが(ステップ(26))、メッセージ中継装置5dは、データ変換を行う処理能力に余裕がないと判定し、拒否の応答メッセージを返信する(ステップ(27))。応答メッセージには、図27のリソース使用における許可の旨に代えて、拒否の旨が設定される。このとき、XML変換部27は、データの変換を行っていないので、変換メッセージの領域は無効である。
拒否の応答メッセージを受信したメッセージ中継装置5aは、図8のステップ(13)と同様に削除メッセージを同時通報し(ステップ(28))、改めて、メッセージ中継装置5bを候補ノードに選定し、メッセージ中継装置5bに対して変換要求メッセージを送る(ステップ(29))。メッセージ中継装置5bは、第一例のメッセージ中継装置5dと同様にデータ変換を行い、許可の応答メッセージを返信する(ステップ(30))。以降のシーケンスは、図2のステップ(9)とステップ(10)と同様である。
続いて、実施の形態2におけるメッセージ中継装置の構成について説明する。図29に、実施の形態2におけるメッセージ中継装置5の構成例を示す。この例では、通信部33が、実施の形態1の依頼部35に代わって、変換要求メッセージの送信と変換結果メッセージの受信を行うので、実施の形態1の依頼部35は省かれている。
上述の構成に基づいて、この実施例における判定部19の動作について説明する。実施の形態2における判定部19は、図16と図17に示した実施の形態1の処理フローに代えて、図30に示す処理フローを実行する。
判定部19は、実施の形態1と同様に転送管理部13から変換要求を受けると(S901)、リソース管理部23へ問い合わせて、リソース状況を受ける(S903)。判定部19は、リソース状況に基づいて、XML変換部27がデータ変換を行う余裕があるか否かを判定する(S905)。判定部19は、S905でデータ変換を行う余裕があると判定すると、内部受付部25へ変換要求を出す(S907)。そして、判定部19は、変換要求の応答として、XML変換部27から変換結果を受け(S909)、転送管理部13へ変換結果を返して(S911)、処理を終える。転送管理部13と送信部37の動作は、実施の形態1と同様である。
一方、判定部19は、S905でデータ変換する余裕がないと判定すると、選定部29へ変換要求を出す(S913)。そして、判定部19は、変換要求の応答として選定部29から返される変換結果を受けて(S915)、変換結果が成功であったか失敗であったかを判定する(S917)。
変換結果が成功であったと判定した場合には、判定部19は、転送管理部13へ変換結果を返して(S911)、処理を終える。一方、変換結果が失敗であったと判定した場合には、判定部19は、S903へ戻って、処理を繰り返す。このようにして、変換結果が得られるまでループ処理を繰り返す(S903〜S909、S913〜S917)。
最後に、図31に示した実施の形態2における選定部29と通信部33の処理について説明する。選定部29は、判定部19から変換要求を受けると(S1101)、空きノードエントリ31を読み(S1103)、空きノードがあるか否かを判定する(S1105)。選定部29は、空きノードがないと判定すると、通信部33が宣言メッセージの受信状態であるか否かを判定する(S1107)。選定部29は、通信部33が宣言メッセージの受信状態でないと判定すると、通信部33は、探索メッセージを同時通報する(S1109)。そして、選定部29は、一定時間待機し(S1111)、S1103へ戻る。S1103からS1111までの処理は、図18のS403からS411と同様である。
続いて、選定部29は、S1105で空きノードがあると判定すると、候補ノードを選定する(S1113)。このとき、選定部29は、空きノードを候補ノードとする。そして、実施の形態1の場合に、選択された候補ノードに通信部33が確認メッセージを送信するのに代えて、本実施の形態では、確認メッセージを省いて、選択された候補ノードに通信部33が直ちに変換要求メッセージを送信する(S1115)。変換要求メッセージは、実施の形態1と同様である(図20)。
そして、通信部33は、候補ノードから返信される応答メッセージを受信する(S1117)。選定部29は、通信部33が受信した応答メッセージを受け、応答メッセージに許可の旨が含まれているかあるいは拒否の旨が含まれているかを判定する(S1119)。
選定部29は、応答メッセージに許可の旨が含まれていると判定すると、判定部19へ変換結果を返し(S1121)、更に成功を返し(S1127)、処理を終える。
一方、選定部29は、応答メッセージに拒否の旨が含まれていると判定すると、応答メッセージの送信元ノードを特定し、特定した送信元ノードの情報を、空きノードエントリ31から削除する(S1123)。更に、選定部29からの制御を受けて、通信部33は削除メッセージを同時通報する(S1125)。選定部29は、判定部19へ失敗を返して(S1127)、処理を終える。
このように処理することによって、図26と図28に示した実施の形態2のシーケンスが実行される。
実施の形態2は、メッセージ変換処理リソースの使用要求が認められやすい環境や、変換対象となるメッセージのサイズが小さい条件の場合に有効である。
メッセージ変換処理リソースの使用要求が認められやすい環境では、変換要求メッセージを再送する可能性が低いので、確認メッセージを省いたことによるリスクが現れにくい。
また、変換対象となるメッセージのサイズが小さい条件では、仮に変換要求メッセージを再送したとしても、転送に係る負担が小さいので、同じく確認メッセージを省いたことによるリスクが現れにくいと言える。
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上述の機能ブロック構成は必ずしも実際のプログラムモジュール構成に対応するものではない。
また、上で説明した各記憶領域の構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
また、メッセージ中継装置の機能は、1台のコンピュータではなく複数台のコンピュータで実現するようにしてもよい。
なお、上で述べたメッセージ中継装置は、コンピュータ装置であって、図32に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本技術の実施の形態をまとめると、以下のようになる。
本実施の形態に係るメッセージ中継装置は、(A)転送すべきメッセージを受信する受信部と、(B)転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する判定部と、(C)自ら変換処理を行う余裕がない場合に、記憶部に記憶され、且つ変換処理を行う余裕がある他の装置を示す情報に基づいて、変換処理を依頼する他の装置を選定する選定部と、(D)選定された他の装置に対して転送すべきメッセージの変換処理を依頼し、選定された他の装置から変換されたメッセージを受信する依頼部と、(E)受信した変換後のメッセージを転送先に送信する送信部とを含む。
メッセージ中継装置は、変換処理を行う余裕がある他の装置を示す情報に基づいて、メッセージの変換処理を依頼する他の装置を選定するので、メッセージ変換の依頼が成功する可能性が高まり、依頼先を決定するための時間も短縮できる。
また、メッセージ中継装置は、(F)変換処理を行う余裕がある旨を宣言する第一メッセージを受信する通信部を有するようにしてもよい。更に、(c1)選定部は、第一メッセージを受信した場合に、第一メッセージの送信元は、変換処理を行う余裕があると判断するようにしてもよい。
これにより、メッセージ中継装置は、変換処理を行う余裕のある他の装置を、容易且つ確実に特定できる。
また、(f1)通信部は、更に、変換処理を行う余裕がある装置を探索する第二メッセージを同時通報し、当該第二メッセージに対する応答とする第一メッセージを受信するようにしてもよい。
これにより、メッセージ中継装置は、他にメッセージの変換処理を依頼しようとする時点で有効な他の装置を、広い範囲から検出することができるようになる。
また、(f2)通信部は、選定された他の装置に対して、変換処理の依頼を認容するか拒否するかを確認する第三メッセージを予め送信し、当該第三メッセージに応答する第四メッセージを受信するようにしてもよい。更に、(d1)依頼部は、第四メッセージが認容を示す場合に、選定された他の装置に対して変換処理を依頼するようにしてもよい。
これにより、メッセージ中継装置は、他の装置にメッセージのデータ変換を依頼する前に、依頼先となる他の装置の現在の変換処理能力を確認できるので、無駄な依頼処理が生じない。これは、処理遅延の防止と通信量の抑制にも役立つ。
また、(c2)選定部は、第四メッセージが拒否を示す場合に、第四メッセージの送信元の装置を示す情報を、変換処理を行う余裕がある他の装置を示す情報から除外するようにしてもよい。
これにより、メッセージ変換処理を行う能力に余裕のない他の装置を予め候補から除外し、この処理能力に余裕のない他の装置を再び候補ノードに選び、再度依頼に失敗するという無駄な処理を未然に防ぐことができる。従って、無駄なメッセージの転送も、回避される。
また、(f3)通信部は、第四メッセージが拒否を示す場合に、第四メッセージの送信元の装置を示す情報を、変換処理を行う余裕がある他の装置を示す情報から除外する旨の削除メッセージを同時通報するようにしてもよい。
これにより、メッセージ変換処理を行う能力に余裕のない他の装置を示す情報を、適時広く知らせることが出来る。
また、(c3)選定部は、特定の装置を変換処理を行う余裕がある他の装置を示す情報から除外すべき旨の削除メッセージを受信した場合に、当該特定の装置を変換処理を行う余裕がある他の装置を示す情報から除外するようにしてもよい。
これにより、他のメッセージ中継装置におけるメッセージ変換の依頼の失敗に基づいて、自らも同様に失敗することを予め防ぐことができる。
また、(G)メッセージ中継装置は、外部の装置から、メッセージの変換処理の依頼を受け付ける外部受付部と、(H)依頼されたメッセージの変換処理を行うデータ変換部とを有するようにしてもよい。更に、(g1)外部受付部は、変換処理されたメッセージを、外部の装置へ返信するようにしてもよい。
これにより、自らのメッセージ変換リソースを無駄なく用いることができる。
また、変換処理は、XML変換処理であってもよい。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
転送すべきメッセージを受信する受信部と、
前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する判定部と、
自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する選定部と、
選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する依頼部と、
受信した変換後のメッセージを転送先に送信する送信部と、
を有するメッセージ中継装置。
(付記2)
前記メッセージ中継装置は、前記変換処理を行う余裕がある旨を宣言する第一メッセージを受信する通信部を備え、
前記選定部は、前記第一メッセージを受信した場合に、前記第一メッセージの送信元は、前記変換処理を行う余裕があると判断する
付記1記載のメッセージ中継装置。
(付記3)
前記通信部は、更に、前記変換処理を行う余裕がある装置を探索する第二メッセージを同時通報し、当該第二メッセージに対する応答とする前記第一メッセージを受信する
付記2記載のメッセージ中継装置。
(付記4)
前記通信部は、選定された前記他の装置に対して、前記変換処理の依頼を認容するか拒否するかを確認する第三メッセージを予め送信し、当該第三メッセージに応答する第四メッセージを受信し、
前記依頼部は、前記第四メッセージが認容を示す場合に、選定された前記他の装置に対して前記変換処理を依頼する
付記1乃至3のいずれか1つ記載のメッセージ中継装置。
(付記5)
前記選定部は、前記第四メッセージが拒否を示す場合に、前記第四メッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する
付記4記載のメッセージ中継装置。
(付記6)
前記通信部は、前記第四メッセージが拒否を示す場合に、前記第四メッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する旨の削除メッセージを同時通報する
付記5記載のメッセージ中継装置。
(付記7)
前記選定部は、特定の装置を前記変換処理を行う余裕がある他の装置を示す情報から除外すべき旨の削除メッセージを受信した場合に、当該特定の装置を前記変換処理を行う余裕がある他の装置を示す情報から除外する
付記1乃至5のいずれか1つ記載のメッセージ中継装置。
(付記8)
前記メッセージ中継装置は、外部の装置から、依頼されたメッセージの変換処理を受け付ける外部受付部と、
依頼された前記メッセージの前記変換処理を行うデータ変換部とを有し、
前記外部受付部は、前記データ変換部により変換処理されたメッセージを、前記外部の装置へ返信する
付記1乃至7のいずれか1つ記載のメッセージ中継装置。
(付記9)
前記変換処理は、XML変換処理である
付記1乃至7のいずれか1つ記載のメッセージ中継装置。
(付記10)
転送すべきメッセージを受信する処理と、
前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する処理と、
自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する処理と、
選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する処理と、
受信した変換後のメッセージを転送先に送信する処理と
を含み、コンピュータが実行するメッセージ中継方法。
(付記11)
転送すべきメッセージを受信する処理と、
前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する処理と、
自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する処理と、
選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する処理と、
受信した変換後のメッセージを転送先に送信する処理と
を含み、コンピュータに実行させるためのプログラム。
1 クライアント 3 スイッチ装置
5 メッセージ中継装置 7 サーバ
11 受信部 13 転送管理部
15 転送先格納部 17 変換ルール格納部
19 判定部 21 キュー
23 リソース管理部 25 内部受付部
27 XML変換部 29 選定部
31 空きノードエントリ 33 通信部
35 依頼部 37 送信部 39 外部受付部
2501 メモリ
2503 CPU(Central Processing Unit)
2505 ハードディスク・ドライブ(HDD:Hard Disk Drive)
2507 表示制御部
2509 表示装置
2511 リムーバブル・ディスク
2513 ドライブ装置
2515 入力装置
2517 通信制御部
2519 バス

Claims (15)

  1. 転送すべきメッセージを受信する受信部と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する判定部と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する選定部と、
    選定された前記他の装置に対して、前記変換処理の依頼を認容するか拒否するかを確認する第一メッセージを送信し、当該第一メッセージに応答する第二メッセージを受信する通信部と、
    前記第二メッセージが認容を示す場合に、選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信し、
    前記第二メッセージが拒否を示す場合に、前記第二メッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する依頼部と、
    受信した変換後のメッセージを転送先に送信する送信部と、
    を有するメッセージ中継装置。
  2. 転送すべきメッセージを受信する受信部と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する判定部と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する選定部と、
    選定された前記他の装置に対して、前記変換処理の依頼を認容するか拒否するかを確認する第一メッセージを送信し、当該第一メッセージに応答する第二メッセージを受信する通信部と、
    前記第二メッセージが認容を示す場合に、選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する依頼部と、
    受信した変換後のメッセージを転送先に送信する送信部と、
    を有し、
    前記通信部は、前記第二メッセージが拒否を示す場合に、前記第二メッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する旨の削除メッセージを同時通報する
    メッセージ中継装置。
  3. 転送すべきメッセージを受信する受信部と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する判定部と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する選定部と、
    選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する依頼部と、
    受信した変換後のメッセージを転送先に送信する送信部と、
    を有し、
    前記選定部は、特定の装置を前記変換処理を行う余裕がある他の装置を示す情報から除外すべき旨の削除メッセージを受信した場合に、当該特定の装置を前記変換処理を行う余裕がある他の装置を示す情報から除外する
    メッセージ中継装置。
  4. 転送すべきメッセージを受信する受信部と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する判定部と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する選定部と、
    選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する依頼部と、
    受信した変換後のメッセージを転送先に送信する送信部と、
    を有し、
    前記選定部は、前記他の装置から依頼を拒否するメッセージを受信した場合に、当該依頼を拒否するメッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する
    メッセージ中継装置。
  5. 転送すべきメッセージを受信する受信部と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する判定部と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する選定部と、
    選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する依頼部と、
    受信した変換後のメッセージを転送先に送信する送信部と、
    前記他の装置から依頼を拒否するメッセージを受信した場合に、当該依頼を拒否するメッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する旨の削除メッセージを同時通報する通信部と、
    を有するメッセージ中継装置。
  6. 転送すべきメッセージを受信する処理と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する処理と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する処理と、
    選定された前記他の装置に対して、前記変換処理の依頼を認容するか拒否するかを確認する第一メッセージを送信し、当該第一メッセージに応答する第二メッセージを受信する処理と、
    前記第二メッセージが認容を示す場合に、選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する処理と、
    前記第二メッセージが拒否を示す場合に、前記第二メッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する処理と、
    受信した変換後のメッセージを転送先に送信する処理と
    を含み、コンピュータが実行するメッセージ中継方法。
  7. 転送すべきメッセージを受信する処理と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する処理と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する処理と、
    選定された前記他の装置に対して、前記変換処理の依頼を認容するか拒否するかを確認する第一メッセージを送信し、当該第一メッセージに応答する第二メッセージを受信する処理と、
    前記第二メッセージが認容を示す場合に、選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する処理と、
    受信した変換後のメッセージを転送先に送信する処理と、
    前記第二メッセージが拒否を示す場合に、前記第二メッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する旨の削除メッセージを同時通報する処理と
    を含み、コンピュータが実行するメッセージ中継方法。
  8. 転送すべきメッセージを受信する処理と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する処理と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する処理と、
    選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する処理と、
    受信した変換後のメッセージを転送先に送信する処理と、
    特定の装置を前記変換処理を行う余裕がある他の装置を示す情報から除外すべき旨の削除メッセージを受信した場合に、当該特定の装置を前記変換処理を行う余裕がある他の装置を示す情報から除外する処理と
    を含み、コンピュータが実行するメッセージ中継方法。
  9. 転送すべきメッセージを受信する処理と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する処理と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する処理と、
    選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する処理、
    受信した変換後のメッセージを転送先に送信する処理と、
    前記他の装置から依頼を拒否するメッセージを受信した場合に、当該依頼を拒否するメッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する処理と
    を含み、コンピュータが実行するメッセージ中継方法。
  10. 転送すべきメッセージを受信する処理と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する処理と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する処理と、
    選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する処理と、
    受信した変換後のメッセージを転送先に送信する処理と、
    前記他の装置から依頼を拒否するメッセージを受信した場合に、当該依頼を拒否するメッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する旨の削除メッセージを同時通報する処理と
    を含み、コンピュータが実行するメッセージ中継方法。
  11. 転送すべきメッセージを受信する処理と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する処理と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する処理と、
    選定された前記他の装置に対して、前記変換処理の依頼を認容するか拒否するかを確認する第一メッセージを送信し、当該第一メッセージに応答する第二メッセージを受信する処理と、
    前記第二メッセージが認容を示す場合に、選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する処理と、
    前記第二メッセージが拒否を示す場合に、前記第二メッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する処理と、
    受信した変換後のメッセージを転送先に送信する処理と
    を、コンピュータに実行させるためのプログラム。
  12. 転送すべきメッセージを受信する処理と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する処理と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する処理と、
    選定された前記他の装置に対して、前記変換処理の依頼を認容するか拒否するかを確認する第一メッセージを送信し、当該第一メッセージに応答する第二メッセージを受信する処理と、
    前記第二メッセージが認容を示す場合に、選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する処理と、
    受信した変換後のメッセージを転送先に送信する処理と、
    前記第二メッセージが拒否を示す場合に、前記第二メッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する旨の削除メッセージを同時通報する処理と
    を、コンピュータに実行させるためのプログラム。
  13. 転送すべきメッセージを受信する処理と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する処理と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する処理と、
    選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する処理と、
    受信した変換後のメッセージを転送先に送信する処理と、
    特定の装置を前記変換処理を行う余裕がある他の装置を示す情報から除外すべき旨の削除メッセージを受信した場合に、当該特定の装置を前記変換処理を行う余裕がある他の装置を示す情報から除外する処理と
    を、コンピュータに実行させるためのプログラム。
  14. 転送すべきメッセージを受信する処理と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する処理と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する処理と、
    選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する処理と、
    受信した変換後のメッセージを転送先に送信する処理と、
    前記他の装置から依頼を拒否するメッセージを受信した場合に、当該依頼を拒否するメッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する処理と
    を、コンピュータに実行させるためのプログラム。
  15. 転送すべきメッセージを受信する処理と、
    前記転送すべきメッセージを変換処理する場合に、自ら当該変換処理を行う余裕があるか否かを判定する処理と、
    自ら前記変換処理を行う余裕がない場合に、記憶部に記憶され、且つ前記変換処理を行う余裕がある他の装置を示す情報に基づいて、前記変換処理を依頼する他の装置を選定する処理と、
    選定された前記他の装置に対して前記転送すべきメッセージの前記変換処理を依頼し、選定された前記他の装置から変換されたメッセージを受信する処理と、
    受信した変換後のメッセージを転送先に送信する処理と、
    前記他の装置から依頼を拒否するメッセージを受信した場合に、当該依頼を拒否するメッセージの送信元の装置を示す情報を、前記変換処理を行う余裕がある他の装置を示す情報から除外する旨の削除メッセージを同時通報する処理と
    を、コンピュータに実行させるためのプログラム。
JP2012062097A 2012-03-19 2012-03-19 メッセージ中継装置、メッセージ中継方法およびプログラム Expired - Fee Related JP5962100B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012062097A JP5962100B2 (ja) 2012-03-19 2012-03-19 メッセージ中継装置、メッセージ中継方法およびプログラム
US13/716,255 US8989184B2 (en) 2012-03-19 2012-12-17 Message relay apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012062097A JP5962100B2 (ja) 2012-03-19 2012-03-19 メッセージ中継装置、メッセージ中継方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2013196306A JP2013196306A (ja) 2013-09-30
JP5962100B2 true JP5962100B2 (ja) 2016-08-03

Family

ID=49157581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012062097A Expired - Fee Related JP5962100B2 (ja) 2012-03-19 2012-03-19 メッセージ中継装置、メッセージ中継方法およびプログラム

Country Status (2)

Country Link
US (1) US8989184B2 (ja)
JP (1) JP5962100B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6368699B2 (ja) * 2015-12-09 2018-08-01 日本電信電話株式会社 負荷分散装置および負荷分散方法
WO2018092734A1 (ja) * 2016-11-15 2018-05-24 日本電気株式会社 中継装置、クライアント装置、データ中継方法及びプログラムをコンピュータ読み取り可能に記録したプログラム記録媒体
KR20230075865A (ko) * 2021-11-23 2023-05-31 (주)비아이매트릭스 데이터를 처리하기 위한 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348663A (ja) * 1993-06-14 1994-12-22 Fuji Xerox Co Ltd ネットワーク
JP3522820B2 (ja) 1994-03-15 2004-04-26 株式会社東芝 分散処理システム
JPH08221372A (ja) 1995-02-10 1996-08-30 Fuji Facom Corp 分散処理システムにおける空き資源管理装置
JPH09167135A (ja) * 1995-12-15 1997-06-24 Fujitsu Ltd 処理分担決定システムと装置と方法
JPH09237256A (ja) * 1996-02-29 1997-09-09 Mitsubishi Electric Corp 並列計算機における動的負荷分散方法
JP2000010937A (ja) 1998-06-24 2000-01-14 Mitsubishi Electric Corp リソース管理方法
US8010703B2 (en) * 2000-03-30 2011-08-30 Prashtama Wireless Llc Data conversion services and associated distributed processing system
US7134075B2 (en) * 2001-04-26 2006-11-07 International Business Machines Corporation Conversion of documents between XML and processor efficient MXML in content based routing networks
JP4848660B2 (ja) * 2005-03-30 2011-12-28 ソニー株式会社 情報処理分散システム,情報処理装置および情報処理分散方法
JP4333736B2 (ja) * 2006-12-19 2009-09-16 村田機械株式会社 中継サーバおよびクライアント端末
JP5855807B2 (ja) * 2008-04-11 2016-02-09 株式会社東芝 医用画像管理サーバおよび医用画像管理システム
US8107452B1 (en) * 2008-09-26 2012-01-31 Sprint Communications Company L.P. Customizing a browsing experience on a mobile communications device
WO2011010601A1 (ja) * 2009-07-21 2011-01-27 日本電気株式会社 ゲートウェイ装置、データ変換方法およびプログラム
KR101906504B1 (ko) * 2010-04-26 2018-12-07 삼성전자주식회사 복수의 디바이스에 콘텐트를 전송하는 방법 및 장치

Also Published As

Publication number Publication date
JP2013196306A (ja) 2013-09-30
US8989184B2 (en) 2015-03-24
US20130242994A1 (en) 2013-09-19

Similar Documents

Publication Publication Date Title
US9736034B2 (en) System and method for small batching processing of usage requests
JP2007066161A (ja) キャッシュシステム
CN111212085B (zh) 物联网平台同步调用的方法、物联网系统和网络设备
JP6636142B2 (ja) スケールアウト関連付けの方法および装置、ならびにシステム
CN108063813B (zh) 一种集群环境下密码服务网络并行化的方法与系统
KR101526911B1 (ko) 컴퓨터 네트워크에서 이용자 디바이스들 사이의 리소스 공유를 위한 방법 및 장치
CN110413822B (zh) 离线图像结构化分析方法、装置、系统和存储介质
US9967360B2 (en) Method and system for information exchange utilizing an asynchronous persistent store protocol
CN110740145A (zh) 消息消费方法、装置、存储介质及电子设备
JP5962100B2 (ja) メッセージ中継装置、メッセージ中継方法およびプログラム
JP4410608B2 (ja) Webサービス提供方法
US20120166615A1 (en) Inband Data Gathering with Dynamic Intermediary Route Selections
US10534570B2 (en) Image forming system for relaying communication between a server on an internet and an image forming device, relay server, communication controlling method and non-transitory computer readable recording medium
EP2939113B1 (en) Communication system
JP2014010703A (ja) 情報処理システムの連携を支援するシステム、装置および連携方法
JP2011086206A (ja) 情報処理システム、情報処理方法、およびコンピュータプログラム
US20140079067A1 (en) Information centric network (icn) node based on switch and network process using the node
Skjelsvik et al. Distributed event notification for mobile ad hoc networks
US7877574B2 (en) Relay node communication interface transmitting update packet to higher node by executing chain indivisibility instructions upon receiving data change notification from lower node
US7650410B2 (en) Method and system for managing programs for Web service system
CN111274042A (zh) 一种fpga异构加速系统及其同步调度方法和相关设备
KR20080050959A (ko) 네트워크 기반 로봇 제어를 위한 통신 시스템 및 방법
CN116300802A (zh) 一种诊断请求的仲裁方法、装置、设备及存储介质
JP2009230242A (ja) クライアント装置およびサーバ装置
JPH01258166A (ja) ネットワークジョブ実行監視制御方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160613

R150 Certificate of patent or registration of utility model

Ref document number: 5962100

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees