JP5758572B2 - メッセージングネットワークシステムのメッセージ送受信方法 - Google Patents

メッセージングネットワークシステムのメッセージ送受信方法 Download PDF

Info

Publication number
JP5758572B2
JP5758572B2 JP2009289093A JP2009289093A JP5758572B2 JP 5758572 B2 JP5758572 B2 JP 5758572B2 JP 2009289093 A JP2009289093 A JP 2009289093A JP 2009289093 A JP2009289093 A JP 2009289093A JP 5758572 B2 JP5758572 B2 JP 5758572B2
Authority
JP
Japan
Prior art keywords
messaging
message
application server
server
servers
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
JP2009289093A
Other languages
English (en)
Other versions
JP2010157225A (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.)
Naver Corp
Original Assignee
Naver 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 Naver Corp filed Critical Naver Corp
Publication of JP2010157225A publication Critical patent/JP2010157225A/ja
Application granted granted Critical
Publication of JP5758572B2 publication Critical patent/JP5758572B2/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/04Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/04Scheduled access

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、メッセージングネットワークシステムに関するもので、より詳細には、メッセージングネットワークシステムでメッセージを送受信する方法に関するものである。
図1は、従来技術に係るメッセージングネットワークシステムの接続構造を示した図である。
図1に示すように、従来技術に係るメッセージングネットワークシステム10は、多数の第1のアプリケーションサーバ11、多数の第2のアプリケーションサーバ12及び1以上のメッセージングサーバ13を含む。
第1のアプリケーションサーバ11及び第2のアプリケーションサーバ12は、それぞれ通信可能なターミナルノードであって、例えば、ゲームサーバ、ゲームサーバに接続されるログインサーバ、ランキングサーバ、データベースサーバ、チャンネルリストサーバ、公知サーバなどで具現される。
第1のアプリケーションサーバ11及び第2のアプリケーションサーバ12は、メッセージングネットワークを構成する各メッセージングサーバ13のうち一つに接続される。
メッセージングサーバ13は、第1のアプリケーションサーバ11と第2のアプリケーションサーバ12との間のメッセージ送受信を行い、互いにメッシュ構造で接続されたメッセージングネットワークを構成している。例えば、第1のアプリケーションサーバ11―aは、一つのメッセージングサーバ13―1のみに接続されているので、メッセージを受信しようとする第2のアプリケーションサーバ12―Aが他のメッセージングサーバ13―3に接続されている場合、そのメッセージングサーバ13―3にメッセージを伝達する方式で動作する。
また、メッセージングサーバ13は、メッセージキュー(Message Queue;MQ)方式、すなわち、第1のアプリケーションサーバ11が送信したメッセージをメッセージングサーバ13で格納しておき、要請する第2のアプリケーションサーバ12に伝達する方式で動作する。
しかしながら、上述したような従来のメッセージングネットワークシステムによれば、メッセージングサーバがメッセージキュー(MQ)にメッセージを格納しておき、要請するアプリケーションサーバに伝達する方式を使用するので、ユーザ応答時間の速さが必要なインターネットサービスにおいて伝達遅延時間が発生するという問題がある。
また、従来技術に係るメッセージングネットワークシステムによれば、通信対象になるアプリケーションサーバの位置によって伝達遅延時間の変動が激しいので、一貫したユーザ応答時間を期待できないという問題がある。
また、従来技術に係るメッセージングネットワークシステムによれば、任意のアプリケーションサーバが多量のメッセージを生産する場合、該当アプリケーションサーバが接続されたメッセージングサーバに過負荷が発生するが、他のメッセージングサーバがその負荷に充分に耐えられるとしても、効果的に負荷を分散できないので、過負荷が発生したメッセージングサーバに接続された全てのアプリケーションサーバにおいて性能低下が発生するという問題がある。
また、従来技術に係るメッセージングネットワークシステムによれば、受信対象になるアプリケーションサーバがグループである場合、メッセージングサーバは、そのグループに属した任意のアプリケーションサーバにメッセージを伝送するが、アプリケーションサーバが接続されたメッセージングサーバによってトラフィックの集中現象が発生するという問題がある。
また、従来技術に係るメッセージングネットワークシステムによれば、メッセージングサーバがメッシュ構造で接続されているので、効果的なメッセージ伝達のために、全てのアプリケーションがどのメッセージングサーバに接続されているかを知らなければならない。そして、このために、各メッセージングサーバは、自身に接続されたアプリケーション目録を他のメッセージングサーバと交換しなければならない。メッセージングサーバの数が増加するほど、オーバーヘッドが増加するようになり、大量のトラフィックをサポートしなければならないサービスの場合、メッセージングサーバを追加するとしても所望の性能を期待できないという問題がある。
また、従来技術に係るメッセージングネットワークシステムによれば、任意のメッセージングサーバに障害が発生すれば、そのメッセージングサーバに接続された全てのアプリケーションサーバに障害が発生するようになり、このような障害は、そのアプリケーションサーバが他のメッセージングサーバを探してそれに接続し、接続情報が他の全てのメッセージングサーバに伝播されるまで継続するという問題がある。
本発明の一実施例は、アプリケーションサーバ間に必要なホップ数を最少にし、メッセージキュー(MQ)をなくすことによってアプリケーションサーバ間の伝送遅延時間を最小化することができ、ユーザ応答時間が速いメッセージングネットワークシステムをインターネットサービスユーザに提供する。
また、本発明の一実施例は、メッセージングサーバ間に交換する情報がないので、メッセージングサーバの数によるオーバーヘッドが発生せず、メッセージングサーバを追加した分だけメッセージングネットワーク全体の性能が一定に増加するメッセージングネットワークシステムを提供する。
また、本発明の一実施例は、アプリケーションサーバが送信するメッセージが各メッセージングサーバに均一に分散されるので、メッセージングサーバ間の負荷分散が効果的に行われるメッセージングネットワークシステムを提供する。
また、本発明の一実施例は、メッセージングネットワーク上の各アプリケーションサーバが全てのメッセージングサーバに接続されているので、一つのメッセージングサーバに障害が発生したとしても、直ちに他のメッセージングサーバを介してメッセージを取り交わすことができるメッセージングネットワークシステムを提供する。
上述した技術的課題を達成するための技術的手段として、本発明の第1の側面は、メッセージングネットワークシステムにおいて、複数の第1のアプリケーションサーバと、前記第1のアプリケーションサーバからメッセージを受信し、かつ/または、前記第1のアプリケーションサーバにメッセージを送信する複数の第2のアプリケーションサーバと、前記第1のアプリケーションサーバ及び前記第2のアプリケーションサーバのいずれにも接続されたメッセージングサーバとを含み、前記第1のアプリケーションサーバ及び第2のアプリケーションサーバは、前記メッセージングサーバをラウンドロビン方式で選択することを特徴とするメッセージングネットワークシステムを提供する。
上述した技術的課題を達成するための技術的手段として、本発明の第2の側面は、メッセージングネットワークシステムのメッセージ送受信方法において、複数の第1のアプリケーションサーバとメッセージングネットワーク上の全てのメッセージングサーバとの間の接続を設定し、複数の第2のアプリケーションサーバとメッセージングネットワーク上の前記全てのメッセージングサーバとの間の接続を設定し、前記第1のアプリケーションサーバからのサービス要請メッセージをメッセージングネットワーク上の全てのメッセージングサーバを対象にしてラウンドロビン方式で選択して伝送し、前記サービス要請メッセージに対応する前記第2のアプリケーションサーバの応答メッセージをメッセージングネットワーク上の全てのメッセージングサーバを対象にしてラウンドロビン方式で選択して伝送することを含むメッセージングネットワークシステムのメッセージ送受信方法を提供する。
上述した本発明の課題解決手段のうち一つによれば、アプリケーションサーバ間に必要なホップ数を最少にし、メッセージキュー(MQ)をなくすことによってアプリケーションサーバ間の伝送遅延時間を最小化することができ、インターネットサービスユーザはユーザ応答時間の短縮を期待することができる。
また、本発明の他の課題解決手段のうち一つによれば、メッセージングサーバ間に交換する情報がないので、メッセージングサーバの数によるオーバーヘッドが発生せず、メッセージングサーバを追加した分だけメッセージングネットワーク全体の性能が一定に増加する。
また、本発明の更に他の課題解決手段のうち一つによれば、アプリケーションサーバが送信するメッセージが各メッセージングサーバに均一に分散されるので、メッセージングサーバ間の負荷分散が効果的に行われる。
また、本発明の更に他の課題解決手段のうち一つによれば、メッセージングサーバが伝達するメッセージも受信グループに含まれている各アプリケーションサーバに均一に分配されるので、アプリケーションサーバ間の負荷分散も効果的に行われる。
また、本発明の更に他の課題解決手段のうち一つによれば、メッセージングネットワーク上の各アプリケーションサーバが全てのメッセージングサーバに接続されているので、一つのメッセージングサーバに障害が発生したとしても、直ちに他のメッセージングサーバを介してメッセージを取り交わすことができ、サービスへの影響をより小さくするか全く無くすることができる。
従来技術に係るメッセージングネットワークシステムの接続構造を示した図である。 本発明の一実施例に係るメッセージングネットワークの概念を説明するための図である。 本発明の一実施例に係るメッセージングネットワークシステムの接続構造を示した図である。 本発明の一実施例に係るメッセージングネットワークシステムの細部構成図である。 本発明の一実施例に係るメッセージ伝送方法を説明するための図である。 本発明の一実施例に係るアプリケーションサーバに与えられるアドレス体系を説明するための図である。 本発明の一実施例に係るメッセージングネットワークシステムの負荷分散方法を説明するための図である。 本発明の一実施例に係る多重IDCをサポートするメッセージングネットワークシステムを説明するための図である。 本発明の一実施例に係るメッセージの送受信方法を説明するためのシーケンス図である。
以下、本発明の属する技術分野で通常の知識を有する者が容易に実施できるように、添付の図面を参照して本発明の実施例を詳細に説明する。本発明は、多様な形態で具現可能であり、ここで説明する実施例によって限定されるものでない。そして、図面では、本発明を明確に説明するために、説明と関係のない部分は省略し、明細書全体にわたって類似した部分には類似した図面符号を付した。
明細書全体で、一つの部分が他の部分と「接続」あるいは「連結」されているというとき、これは、「直接的に接続」あるいは「直接的に連結」されている場合だけでなく、その中間に他の素子、装置などを挟んで「電気的に接続」あるいは「電気的に接続」されている場合も含む。また、一つの部分が一つの構成要素を「含む」というとき、これは、特別に反対の記載がない限り、他の構成要素を除外するのでなく、他の構成要素をさらに含むことができることを意味する。
以下では、図2〜図9を参照して、本発明の一実施例に係るメッセージングネットワークシステムでメッセージを送受信する方法を説明する。
図2は、本発明の一実施例に係るメッセージングネットワークの概念を説明するための図である。
図2に示すように、本発明の一実施例に係るメッセージングネットワークは、仮想的に一つのメッセージングバスを提供し、メッセージングネットワーク上のアプリケーションサーバ100は、このメッセージングバスを共有し、同一のネットワークに接続された他のアプリケーションサーバと通信できるようになる。
図3は、本発明の一実施例に係るメッセージングネットワークシステムの接続構造を示した図である。
図3を参照すれば、本発明の一実施例に係るメッセージングネットワークシステム1000は、多数の第1のアプリケーションサーバ100、多数の第2のアプリケーションサーバ200及び1以上のメッセージングサーバ300を含む。
第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200は、通信可能なターミナルノードであって、第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200は、それぞれメッセージングネットワーク上の全てのメッセージングサーバ300に接続される。すなわち、第1のアプリケーションサーバ100―aはメッセージングサーバ310及びメッセージングサーバ320にそれぞれ接続され、第2のアプリケーションサーバ200―Aもメッセージングサーバ310及びメッセージングサーバ320にそれぞれ接続される。
メッセージングサーバ300は、第1のアプリケーションサーバ100と第2のアプリケーションサーバ200との間のメッセージ伝送を行い、効率的なメッセージ伝送のために伝送経路を設定したり、第1のアプリケーションサーバ100と第2のアプリケーションサーバ200との間の接続関係を設定したりする。
上述した構成で、メッセージングネットワーク上の第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200は、それぞれ全てのメッセージングサーバ300に接続される重複したスター構造となっており、第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200は、メッセージングサーバ300をラウンドロビン(Round―Robbin)方式で選択する。これについては、後で詳細に説明することにする。
上述したような本発明の一実施例に係るメッセージングネットワークシステム1000は、メッセージングネットワーク上の第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200がそれぞれ全てのメッセージングサーバ300に接続される重複したスター構造となっているので、どのメッセージングサーバを介しても所望のアプリケーションサーバにアクセスすることができる。したがって、任意のメッセージングサーバに障害が発生したとしても、メッセージングネットワーク全体を正常に運営することができる。
また、本発明の一実施例に係るメッセージングネットワークシステム1000は、メッセージングネットワーク上の各メッセージングサーバが全てのアプリケーションサーバと直接または間接に接続されているので、アプリケーションサーバ間のメッセージ仲介のための全ての情報をそれ自体に格納している。これによって、メッセージングサーバ間に共有情報をシンク(同期)するための作業が必要でないので、メッセージングサーバの追加によって発生し得る運営上の負荷分散も効果的に行われる。また、メッセージングサーバ間に交換する情報がないので、メッセージングサーバの数によるオーバーヘッドが発生せず、メッセージングサーバを追加した分だけメッセージングネットワーク全体の性能が一定に増加する。
図4は、本発明の一実施例に係るメッセージングネットワークシステムの細部構成図である。
図4を参照すれば、本発明の一実施例に係る第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200は、それぞれ第1のメッセージコネクタ110及び第2のメッセージコネクタ210を含み、メッセージングサーバ310は、フィルタ管理モジュール311、フィルタ312、313及びチャンネル管理モジュール314を含んで構成される。
第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200は、それぞれ第1のメッセージコネクタ110及び第2のメッセージコネクタ210を用いてメッセージングサーバ310に接続され、外部からのサービス要請メッセージを送受信する。
第1のメッセージコネクタ110及び第2のメッセージコネクタ210は、メッセージングネットワーク上の他のアプリケーションサーバとの通信を提供し、仮想ソケットをサポートする。
第1のメッセージコネクタ110及び第2のメッセージコネクタ210は、それぞれ第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200の要請によって、第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200をメッセージングネットワーク上の全てのメッセージングサーバに接続する。ここで、第1のメッセージコネクタ110及び第2のメッセージコネクタ210は、第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200と任意のメッセージングサーバとの間の接続が一時的に終了した場合、第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200に通報することなしに自動的に接続を復旧することができる。このとき、接続復旧過程でのメッセージ送受信は、第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200がメッセージングネットワーク上の全てのメッセージングサーバに接続されているので、他のメッセージングサーバを介して正常に処理することができる。
また、第1のメッセージコネクタ110及び第2のメッセージコネクタ210は、第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200から要請されたメッセージ伝送が不可能である場合、これに対するアラート機能を提供する。このとき、メッセージ伝送が不可能な場合としては、対象アプリケーションサーバがメッセージングネットワークに接続されていない場合、メッセージングネットワークへの接続復旧が不可能である場合、メッセージングネットワークの構成上、対象アプリケーションサーバへの伝達が不可能である場合、セッション伝送方式である場合、及び、メッセージ伝送時、予め指定されたタイムアウトを超えるまでに伝送が完了していない場合などがある。例えば、セッション伝送方式である場合、セッションが開始されていないとき、メッセージ伝送が不可能となる。
以上では、第1のメッセージコネクタ110及び第2のメッセージコネクタ210が第1のアプリケーションサーバ100及び第2のアプリケーションサーバ200内に存在することを例に挙げて説明したが、これは例示に過ぎず、これによって限定されるものでなく、それぞれをメッセージングネットワーク上の別個のモジュールとして具現することもできる。
一方、本発明の一実施例に係るメッセージングサーバ310は、フィルタ管理モジュール311、フィルタ312及びチャンネル管理モジュール313を含んで構成される。
フィルタ管理モジュール311は、ACLフィルタ312及びEtcフィルタ313を管理する。すなわち、フィルタ管理モジュール311は、メッセージングサーバ310が受信する全てのメッセージに対してACLフィルタ312及びEtcフィルタ313を適用し、ACLフィルタ312及びEtcフィルタ313の適用後にメッセージの許容/禁止を判断し、許容されたメッセージのみを対象アプリケーションサーバに送信する。このとき、フィルタ管理モジュール311は、禁止されたメッセージに対してはフィルタの設定によって送信アプリケーションサーバにNACKメッセージを発送することができる。
ACLフィルタ312は、各メッセージの送受信者情報を確認し、権限のあるアプリケーションサーバが送ったメッセージであるかを検査する。ACLフィルタ312は、適用されるACLレベルによってドメインレベル及びメソッドレベルの二つの方式がサポートされる。
ACLフィルタ312がドメインレベル方式である場合は、メッセージの送受信者のアドレスからドメインIDを確認し、許容されたドメインのアプリケーションサーバが送ったメッセージであるかを検査する。このとき、ドメインレベルのACL検査のために、ACLフィルタは、各ドメインのアプリケーションサーバに許容又は禁止された状態のドメイン目録を管理する。
ACLフィルタ312がメソッドレベル方式である場合は、ドメインレベル方式のACLフィルタが行う検査と共に、メッセージのペイロード部分を調査し、許容されたコマンドのメッセージであるかを追加で検査する。
表1は、本発明の一実施例に係るACLフィルタの設定に必要な情報の一例である。
Figure 0005758572
図5は、本発明の一実施例に係るメッセージ伝送方法を説明するための図である。
図5を参照すれば、アプリケーションサーバAとアプリケーションサーバBとの間に伝送されるメッセージは、バイナリデータ形態のメッセージを使用し、最大メッセージサイズは4GBであるが、64KBより大きいメッセージは64KB以内の小さい単位で分けられて伝送される。
メッセージの伝送時間は、メッセージ全体を送信及び受信する時間と、メッセージが一つのノードから他のノードに伝達される時間との和である。通常、インターネットデータセンタ(IDC)内の一つのノードから他のノードに伝達されるのにかかる遅延時間は、例えば、1ms以内であるが、メッセージ自体を送受信する時間はメッセージのサイズに比例する。例えば、1MBのメッセージの場合、100Mbpsネットワークと仮定すれば、メッセージの伝送時間は80msになる。
さらに、メッセージをリレーするサーバ、すなわち、メッセージングサーバ310が中間に存在する場合、メッセージのサイズが大きくなれば、送受信時間が2倍に増加するが、メッセージを小さい単位で分けて伝送すれば、常にその小さい単位だけの伝送時間のみが必要となる。
図6は、本発明の一実施例に係るアプリケーションサーバに与えられるアドレス体系を説明するための図である。
図6に示すように、本発明の一実施例に係るメッセージングネットワークシステム1000においては、各アプリケーションサーバに対して所定のアドレスが与えられ、各アプリケーションサーバは、このアドレスを用いて他のアプリケーションサーバと通信することができる。
アドレス情報は、ドメインID(Domain―ID)、アイディーシーID(IDC―ID)、サーバID(Server―ID)及びソケットID(Socket―ID)を含む。
ドメインIDは、同一の機能を行うアプリケーションサーバを指定するのに使用され、エニーキャスト及びマルチキャストメッセージは、通常、ドメインIDを基準にして伝送する。
アイディーシーIDは、アプリケーションサーバが属したIDC(Internet Data Center)を区分するために使用され、アイディーシーID値が0であれば任意のIDCにメッセージが伝送され、それ以外の値であれば該当IDCにメッセージが伝送される。
サーバIDは、アプリケーションサーバを区別するために使用され、ドメインID、アイディーシーIDと結合して固有IDとなる。メッセージングネットワーク上の全てのアプリケーションサーバは、それぞれのサーバIDを有する。例えば、サーバID値が0であれば、エニーキャストで該当ドメインに属した任意のアプリケーションサーバにメッセージが伝送され、サーバID値が0xFFFFであれば、マルチキャストで該当ドメインに属した全てのアプリケーションサーバにメッセージが伝送される。
ソケットIDは、一つのアプリケーションサーバ内で多数の通信チャンネルを使用しようとする場合、各チャンネルを区別するために使用される。
図7は、本発明の一実施例に係るメッセージングネットワークシステムの負荷分散方法を説明するための図である。
図7に示すように、本発明の一実施例に係るメッセージングネットワークシステムは、特定ドメインにエニーキャストメッセージを伝送するとき、そのドメイン内で受信対象になるアプリケーションサーバを適切に分散して選択する。すなわち、メッセージングサーバは、ラウンドロビン方式で該当ドメインに属した各アプリケーションサーバに順次メッセージを伝送する。
例えば、アプリケーションサーバAがドメイン101に送った三つのエニーキャストメッセージは、ドメイン101に属しているアプリケーションサーバB、C、Dにそれぞれ一つずつ伝達される。
上述したような本発明の一実施例に係るメッセージングネットワークシステムにおいては、メッセージングサーバが伝達するメッセージを受信グループに含まれている各アプリケーションサーバに均一に分配するので、アプリケーションサーバ間の負荷分散が効果的に行われる。
図8は、本発明の一実施例に係る多重IDCをサポートするメッセージングネットワークシステムを説明するための図である。
図8に示すように、本発明の一実施例に係るメッセージングネットワークシステムは、メッセージングサーバが多数のIDCに分散設置されて動作することができ、このとき、各メッセージコネクタは、基本的に同一のIDCに属したメッセージングサーバにメッセージを伝送することによってIDC間の不必要な通信負荷が発生することを防止する。一方、同一のIDCに属した全てのメッセージングサーバが障害やその他の事由で通信不可能である場合は、他のIDCに属したメッセージングサーバにメッセージを送信することができる。
図9は、本発明の一実施例に係るメッセージの送受信方法を説明するためのシーケンス図である。
段階(S11)で、第1のアプリケーションサーバ100は、接続を望む第2のアプリケーションサーバ200への接続要請メッセージを第1のメッセージコネクタ110に伝達し、段階(S12)で、第1のメッセージコネクタ110は、メッセージングネットワーク上の全てのメッセージングサーバ300と第1のアプリケーションサーバ100との間に仮想接続を設定する。
段階(S13)で、第1のメッセージコネクタ110は、第1のアプリケーションサーバ100に接続された全てのメッセージングサーバ300を対象にして第1のアプリケーションサーバ100からの接続要請メッセージをラウンドロビン方式で選択して伝送する。
例えば、メッセージングサーバ300としてM1、M2、M3がある場合、接続要請メッセージを、M1に伝送したとした場合、次の接続要請メッセージは、M2に伝送する。そして、さらに次の接続要請メッセージはM3に伝送する。さらに次に接続要請メッセージは、M1に伝送する。このように、メッセージングサーバを順番に選択して接続要請メッセージを伝送することを、「接続要請メッセージをラウンドロビン方式で選択して伝送する」という。
ラウンドロビン方式の選択を実現するためには、例えば、全てのメッセージングサーバの識別子のリストがメモリなどに記憶され、第1のメッセージコネクタ110が、あるメッセージングサーバに接続要請メッセージを伝送すると、そのメッセージングサーバの識別子の当該リスト上の位置をメモリ上に記憶する。次に接続要請メッセージを伝送する場合には、メモリ上に記憶された位置を読出し、次の位置を計算し、その位置のリスト上のメッセージングサーバの識別子を読出し、次の位置をメモリに記憶する。リストの位置は、例えば、リストの先頭からの要素数として表わすことができる。
段階(S14)で、メッセージングサーバ300は、第1のメッセージコネクタ110から受信した第1のアプリケーションサーバ100の接続要請メッセージに含まれた目的地情報を確認した後、段階(S15)で、メッセージングサーバ310、320は、該当の第2のメッセージコネクタ210にメッセージを伝送する。
段階(S16)で、第2のメッセージコネクタ210は、第2のアプリケーションサーバ200にメッセージを伝送する。
第1のアプリケーションサーバ100のサービス要請メッセージが受信されれば、段階(S17)で、第2のアプリケーションサーバ200は、応答メッセージを第2のメッセージコネクタ210に伝達し、段階(S18)で、第2のメッセージコネクタ210は、メッセージングネットワーク上の全てのメッセージングサーバ300と第2のアプリケーションサーバ200との間に仮想の接続を設定する。
段階(S19)で、第2のメッセージコネクタ210は、第2のアプリケーションサーバ200に接続された全てのメッセージングサーバ300を対象にして第2のアプリケーションサーバ200からの接続要請メッセージをラウンドロビン方式で選択して伝送する。
段階(S20)で、メッセージングサーバ300は、第2のメッセージコネクタ210から受信した第2のアプリケーションサーバ200の接続要請メッセージに含まれた目的地情報を確認し、段階(S21)で、メッセージングサーバ300は、第1のメッセージコネクタ110にメッセージを伝送する。
最後に、段階(S22)で、第1のメッセージコネクタ110は、第1のアプリケーションサーバ100に第2のアプリケーションサーバ200の応答メッセージを伝送する。
上述した構成で、システム障害などによって第1のアプリケーションサーバ100に接続されたメッセージングサーバ300のうち第1のメッセージングサーバ310が正常でなく終了し、異常終了すれば、第1のメッセージコネクタ110は、第1のメッセージングサーバ310との接続を自動的に復旧し、このとき、接続復旧過程でのメッセージ送受信は、第1のアプリケーションサーバ100に接続された他のメッセージングサーバ、すなわち、第2のメッセージングサーバ320との接続を行う。したがって、各アプリケーションサーバがメッセージングネットワーク上の全てのメッセージングサーバに接続されているので、他のメッセージングサーバを介して正常に処理することができる。
本発明の一実施例は、コンピュータによって実行されるプログラムモジュールのようなコンピュータによって実行可能な命令語を含む記録媒体の形態でも具現される。コンピュータ読取可能な媒体は、コンピュータによってアクセスされる任意の可用媒体であって、揮発性及び非揮発性媒体、分離型及び非分離型媒体を全て含む。また、コンピュータ読取可能な媒体は、コンピュータ格納媒体及び通信媒体を全て含むことができる。コンピュータ格納媒体は、コンピュータ読取可能な命令語、データ構造、プログラムモジュール又はその他データのような情報格納のための任意の方法又は技術で具現された揮発性及び非揮発性、分離型及び非分離型媒体を全て含む。通信媒体は、典型的にコンピュータ読取可能な命令語、データ構造、プログラムモジュール、搬送波のような変調されたデータ信号のその他データ、又はその他伝送メカニズムを含み、任意の情報伝達媒体を含む。
一般的なコンピュータは、プロセッサと、メモリ(揮発性メモリ、不揮発性メモリ)と、入出力インターフェースなどがバスを介して相互に接続された構成を有する。プログラムモジュールがメモリにロードされると、プロセッサにより実行可能となる。メモリモジュールがプロセッサにより実行され、他のコンピュータや装置と通信を行なう場合には、入出力インターフェースが動作する。
本発明の一実施形態を一般的なコンピュータで実施する場合、第1のアプリケーションサーバからのサービス要請メッセージが伝送されると、メッセージングネットワーク上の全てのメッセージングサーバを対象にしてラウンドロビン方式で選択する第1のプログラムモジュールが動作する。この第1のプログラムモジュールは、直前にサービス要請メッセージが伝送された際に選択されたメッセージングサーバの識別子あるいはそれと同等の情報をメモリより読出し、今回選択するメッセージングサーバの識別子あるいはそれと同等の情報を決定し、決定されたメッセージングサーバの識別子あるいはそれと同等の情報をメモリに記憶するとともに、決定されたメッセージングサーバにサービス要請メッセージを伝送する。
同様に、第2のアプリケーションサーバからのサービス要請メッセージが伝送されると、メッセージングネットワーク上の全てのメッセージングサーバを対象にしてラウンドロビン方式で選択する第2のプログラムモジュールが動作する。この第2のプログラムモジュールは、直前にサービス要請メッセージが伝送された際に選択されたメッセージングサーバの識別子あるいはそれと同等の情報をメモリより読出し、今回選択するメッセージングサーバの識別子あるいはそれと同等の情報を決定し、決定されたメッセージングサーバの識別子あるいはそれと同等の情報をメモリに記憶するとともに、決定されたメッセージングサーバにサービス要請メッセージを伝送する。第2のプログラムモジュールが選択するメッセージングサーバは、第1のプログラムモジュールが選択するメッセージングサーバと独立していてもよい。あるいは、直前に第1のプログラムモジュールがメッセージングサーバを選択した場合には、第1のプログラムモジュールにより選択されたメッセージングサーバの次のメッセージングサーバが選択されるようになっていてもよい。この場合、第1のプログラムモジュールと第2のプログラムモジュールとは、記憶領域の一部を共有したり、通信を行なったりして、一方が選択したメッセージングサーバが他方にも伝達される。
上述した本発明の説明は、例示のためのものであり、本発明の属する技術分野の通常の知識を有する者であれば、本発明の技術思想や必須の特徴を変更しない範囲で他の具体的な形態に容易に変形可能であることを理解することができる。したがって、上述した各実施例は、全ての面で例示的なものであり、限定的なものでないことを理解しなければならない。例えば、単一型として説明されている各構成要素は、分散されて実施されることも可能であり、これと同様に、分散されたものとして説明されている各構成要素も結合形態で実施されることが可能である。
本発明の範囲は、上述した詳細な説明より後述する特許請求の範囲によって定めるもので、特許請求の範囲の意味及び範囲、そして、その均等概念から導出される全ての変更又は変形された形態は、本発明の範囲に含まれるものと解釈されなければならない。
100:第1のアプリケーションサーバ、200:第2のアプリケーションサーバ、300:メッセージングサーバ、1000:メッセージングネットワークシステム

Claims (8)

  1. メッセージングネットワークシステムにおいて、
    複数の第1のアプリケーションサーバと、
    複数の第2のアプリケーションサーバと、
    全ての前記第1のアプリケーションサーバ及び全ての前記第2のアプリケーションサーバにそれぞれ接続された複数のメッセージングサーバと、を含み、
    第1のグループに属する前記第1のアプリケーションサーバは、前記第2のアプリケーションサーバからメッセージを受信し、かつ/または、第2のグループに属する前記第2のアプリケーションサーバは、前記第1のアプリケーションサーバからメッセージを受信し、
    前記第1のアプリケーションサーバ及び前記第2のアプリケーションサーバは、前記メッセージングサーバのうちの1つのメッセージングサーバをラウンドロビン方式で選択し、
    前記第1のアプリケーションサーバは、外部からのサービス要請メッセージを受信して前記メッセージングサーバに伝送する第1のメッセージコネクタを含み、
    前記第1のメッセージコネクタは、前記サービス要請メッセージを、同一のドメインを有する前記メッセージングネットワーク上の全ての前記メッセージングサーバを対象にしてラウンドロビン方式で伝送することを特徴とするメッセージングネットワークシステム。
  2. 前記第2のアプリケーションサーバは、前記第1のアプリケーションサーバからの前記サービス要請メッセージに対応する応答メッセージを前記メッセージングサーバに伝送する第2のメッセージコネクタを含み、
    前記第2のメッセージコネクタは、前記応答メッセージを、同一のセンターに属する前記メッセージングネットワーク上の全ての前記メッセージングサーバを対象にしてラウンドロビン方式で伝送することを特徴とする、請求項に記載のメッセージングネットワークシステム。
  3. 前記メッセージングサーバは、
    前記第1のアプリケーションサーバから受信した全てのメッセージに対して許容または禁止を判断し、許容されたメッセージのみを前記第2のアプリケーションサーバに伝送するようにメッセージフィルタを制御するフィルタ管理モジュールを含むことを特徴とする、請求項に記載のメッセージングネットワークシステム。
  4. 前記第1のメッセージコネクタ及び前記第2のメッセージコネクタは、前記メッセージングネットワーク上の前記メッセージングサーバのうち一つのメッセージングサーバとの接続が異常終了した場合、前記第1のアプリケーションサーバと前記第2のアプリケーションサーバとの間のメッセージ送受信を前記メッセージングネットワーク上の他のメッセージングサーバを介して行うことを特徴とする、請求項に記載のメッセージングネットワークシステム。
  5. メッセージングネットワークシステムのメッセージ送受信方法において、
    複数の第1のアプリケーションサーバの全てとメッセージングネットワーク上の複数のメッセージングサーバの全てとの間の接続をそれぞれ設定し、
    複数の第2のアプリケーションサーバの全てとメッセージングネットワーク上の前記メッセージングサーバの全てとの間の接続をそれぞれ設定し、
    第1のグループに属する前記第1のアプリケーションサーバからのサービス要請メッセージを、同一のドメインを有するメッセージングネットワーク上の全ての前記メッセージングサーバを対象にしてラウンドロビン方式で選択して伝送し、
    前記サービス要請メッセージに対応する第2のグループに属する前記第2のアプリケーションサーバからの応答メッセージを、同一のセンターに属するメッセージングネットワーク上の全ての前記メッセージングサーバを対象にしてラウンドロビン方式で選択して伝送することを含むメッセージングネットワークシステムのメッセージ送受信方法。
  6. 前記第1のアプリケーションサーバから受信したメッセージに含まれた目的地情報に基づいて、前記受信したメッセージを前記第2のアプリケーションサーバに伝送することをさらに含む、請求項に記載のメッセージングネットワークシステムのメッセージ送受信方法。
  7. 前記メッセージングネットワーク上の前記メッセージングサーバのうち一つのメッセージングサーバとの接続が非正常に終了した場合、前記第1のアプリケーションサーバと前記第2のアプリケーションサーバとの間のメッセージ送受信は、前記メッセージングネットワーク上の他のメッセージングサーバを介して行うことを特徴とする、請求項に記載のメッセージングネットワークシステムのメッセージ送受信方法。
  8. 請求項から請求項のうちいずれか一つの項に記載されたメッセージ送受信方法の各段階をコンピュータ上で行うためのプログラムを記録したコンピュータ読取可能な記録媒体。
JP2009289093A 2008-12-31 2009-12-21 メッセージングネットワークシステムのメッセージ送受信方法 Active JP5758572B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2008-0138601 2008-12-31
KR20080138601A KR101010911B1 (ko) 2008-12-31 2008-12-31 메시징 네트워크 시스템의 메시지 송수신 방법

Publications (2)

Publication Number Publication Date
JP2010157225A JP2010157225A (ja) 2010-07-15
JP5758572B2 true JP5758572B2 (ja) 2015-08-05

Family

ID=42575069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009289093A Active JP5758572B2 (ja) 2008-12-31 2009-12-21 メッセージングネットワークシステムのメッセージ送受信方法

Country Status (2)

Country Link
JP (1) JP5758572B2 (ja)
KR (1) KR101010911B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360247B (zh) * 2014-01-20 2019-02-26 华为技术有限公司 处理业务的方法和网络设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004077781A1 (ja) * 2003-02-27 2004-09-10 Fujitsu Limited 通信制御プログラムおよび通信制御方法
US9525566B2 (en) * 2003-07-31 2016-12-20 Cloudsoft Corporation Limited Self-managed mediated information flow
US8190780B2 (en) 2003-12-30 2012-05-29 Sap Ag Cluster architecture having a star topology with centralized services
JP2008505405A (ja) * 2004-06-30 2008-02-21 グレネイル エレクトロニクス インコーポレイテッド 分散型通信プラットフォームにおけるロードバランシング
TW200841189A (en) * 2006-12-27 2008-10-16 Ibm Technique for accurately detecting system failure
JP2008236543A (ja) * 2007-03-22 2008-10-02 Hitachi Ltd 通信経路制御方法、通信経路制御プログラムおよび通信装置

Also Published As

Publication number Publication date
KR101010911B1 (ko) 2011-01-26
JP2010157225A (ja) 2010-07-15
KR20100079989A (ko) 2010-07-08

Similar Documents

Publication Publication Date Title
US9385874B2 (en) Scalable transport with client-consensus rendezvous
CN108023812B (zh) 云计算系统的内容分发方法及装置、计算节点及系统
US20020143953A1 (en) Automatic affinity within networks performing workload balancing
US20170034269A1 (en) Methods and systems for efficiently moving data between nodes in a cluster
JP4808731B2 (ja) 通信ネットワークシステムにおけるサブシステム間のロードを調節する方法
JP4190455B2 (ja) 負荷分散装置及びプログラム
CN111327650A (zh) 数据传输方法、装置、设备及存储介质
CN113472646B (zh) 一种数据传输方法、节点、网络管理器及系统
CN110417632B (zh) 一种网络通信方法、系统及服务器
CN102137104B (zh) 一种传输控制协议tcp长连接接入控制方法和装置
CN109120556B (zh) 一种云主机访问对象存储服务器的方法及系统
JP4555345B2 (ja) バス型ネットワーク構造の通信ネットワークシステム及びこれを用いたデータ送受信方法
WO2024078050A1 (zh) 进行数据传输的方法和装置
JP5758572B2 (ja) メッセージングネットワークシステムのメッセージ送受信方法
JP4782799B2 (ja) 通信ネットワークシステム及びこれを用いたサービス間のデータ送受信方法。
US20120054310A1 (en) Terminal, intermediate node and communication method of the same
US7701876B2 (en) Message transmission method and device in mixture of private network and public network
WO2022111693A1 (zh) 数据传输方法和相关设备
JP3326369B2 (ja) 通信装置
JP3866646B2 (ja) 帯域管理装置および方法、プログラム、記録媒体
JP2017034562A (ja) 通信装置および再接続方法
KR100599103B1 (ko) 메시지 패킷 유실 방지 시스템
JP5525022B2 (ja) 端末、サーバ、データ転送システム、およびコンピュータプログラム
CN103188167A (zh) 业务质量保障方法、装置和系统
CN117880385A (zh) 一种支持同主机tcp连接转发模式切换的方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20111205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20141010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150604

R150 Certificate of patent or registration of utility model

Ref document number: 5758572

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250