JP5736061B2 - 通信システム及び中継装置、中継プログラム、中継プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに通信方法及び中継方法 - Google Patents

通信システム及び中継装置、中継プログラム、中継プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに通信方法及び中継方法 Download PDF

Info

Publication number
JP5736061B2
JP5736061B2 JP2013556196A JP2013556196A JP5736061B2 JP 5736061 B2 JP5736061 B2 JP 5736061B2 JP 2013556196 A JP2013556196 A JP 2013556196A JP 2013556196 A JP2013556196 A JP 2013556196A JP 5736061 B2 JP5736061 B2 JP 5736061B2
Authority
JP
Japan
Prior art keywords
message
return
relay device
transmission
outbound
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
JP2013556196A
Other languages
English (en)
Other versions
JPWO2013114670A1 (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.)
Rakuten Group Inc
Original Assignee
Rakuten Inc
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 Rakuten Inc filed Critical Rakuten Inc
Priority to JP2013556196A priority Critical patent/JP5736061B2/ja
Publication of JPWO2013114670A1 publication Critical patent/JPWO2013114670A1/ja
Application granted granted Critical
Publication of JP5736061B2 publication Critical patent/JP5736061B2/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/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/36Backward learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、通信システム及び中継装置、中継プログラム、中継プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに通信方法及び中継方法に関する。
従来から、複数の転送要求を発行するマスタ装置と、転送要求に対する応答信号を出力する複数のスレーブ装置と、が接続されるデータ転送装置が知られている(例えば、特許文献1)。このデータ転送装置は、スレーブ装置毎に用意されたカウンタを、スレーブ装置からの応答信号を入力するとカウントアップし、データ転送完了信号を入力するとカウントダウンする。また、このデータ転送装置は、当該複数の転送要求カウンタに基づいて選択したスレーブ装置とマスタ装置とをデータ転送可能とする。
特開2007−249668号公報
ところで、現在においては複数の中継装置で構成されているネットワークが利用されることが多い。中継装置が複数になることで、データの中継回数が増加し、通信コストが増加するという問題が発生してきた。しかしながら特許文献1の技術では、メッセージなどのデータの中継回数が増加することによる通信コストの増加という問題については、十分に検討されていない。
本発明は、このような点に鑑みてなされたものであり、その目的とするところは、メッセージなどのデータの中継回数が増加しても、通信コストの増加を抑制できる通信システム及び中継装置、中継プログラム、中継プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに通信方法及び中継方法を提供することにある。
上記目的を達成するため、本発明の第1の観点に係る通信システムは、
リストを含む往路メッセージを送信する送受信装置と、上記往路メッセージの最終的な宛先であり、かつ上記往路メッセージに応じて復路メッセージを上記送受信装置に送信する最終段中継装置と、上記復路メッセージと上記往路メッセージとを中継する初段中継装置と、から少なくとも構成される通信システムにおいて、
(1).上記送受信装置は、
・上記送受信装置に割り当てられている自身のアドレスと、当該送受信装置において上記往路メッセージの送信を行うプログラムが通信に用いるポート番号
と、が追加されたリストを含む第1の往路メッセージを生成する第1のメッセージ生成器と、
・上記第1のメッセージ生成器で生成した第1の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第1の送信器と、を備え、
(2).上記初段中継装置は、
・上記第1の往路メッセージを受信する第1の受信器と、
・上記第1の受信器が上記第1の往路メッセージを受信すると、上記受信された第1の往路メッセージのリストに当該初段中継装置に割り当てられている自身のアドレスを追加することで第2の往路メッセージを生成する第2のメッセージ生成器と、
・上記第2のメッセージ生成器で生成された第2の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第2の送信器と、を備え、
(3).上記最終段中継装置は、
・上記第2の往路メッセージを受信する第2の受信器と、
・上記第2の受信器で受信された第2の往路メッセージに含まれているリストが追加された復路メッセージを生成する第3のメッセージ生成器と、
・上記復路メッセージのリストに追加されたアドレスに基づいて、上記送受信装置を最終的な宛先として上記復路メッセージを送信する第3の送信器と、を備え、
(4).
上記初段中継装置の第1の受信器は、上記復路メッセージを受信し、
上記初段中継装置の第2の送信器は、上記第1の受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路において上記送受信装置を起点として当該初段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置で実行された上記プログラムが通信に用いたポート番号と、に基づいて上記復路メッセージを送信する、
ことを特徴とする。
また、第1の観点に係る通信システムにおいて、
上記初段中継装置と上記最終段中継装置との間の少なくとも1つの中段中継装置で更に構成され、
(5).上記中段中継装置は、
・上記第2の往路メッセージを受信する第3の受信器と、
・上記第3の受信器で受信した上記第2の往路メッセージのリストに当該中段中継装置自身のアドレスを追加するアドレス追加器と、
・上記アドレス追加器で上記アドレスが追加された上記第2の往路メッセージを送信する第4の送信器と、を備え、
上記中段中継装置の第3の受信器は、上記復路メッセージを受信し、
上記中段中継装置の第4の送信器は、上記第3の受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路において上記送受信装置を起点として当該中段中継装置よりも前段に位置する装置に対応する所定アドレスに基づいて、上記復路メッセージを送信し、
上記初段中継装置の第1の受信器は、上記往路において上記送受信装置を起点として当該初段中継装置よりも後段に位置する中段中継装置器から復路メッセージを受信する、
としても良い。
さらに、第1の観点に係る通信システムにおいて、
上記送受信装置は、上記初段中継装置から復路メッセージを受信する第4の受信器、を更に備えた、
としても良い。
また、第1の観点に係る通信システムにおいて、
上記初段中継装置及び上記中段中継装置の少なくとも1つは、上記受信した上記復路メッセージのリストに含まれる自身のアドレスを削除するアドレス削除器、を更に備えた、
としても良い。
さらにまた、第1の観点に係る通信システムにおいて、
上記初段中継装置の第2のメッセージ生成器は、上記受信された往路メッセージに含まれているリストに、上記自身のアドレスに対応付けて、上記往路メッセージの中継回数を更に追加し、
上記初段中継装置は、上記往路において上記送受信装置を起点として当該初段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスを、上記受信した復路メッセージのリストから、当該初段中継装置が追加した中継回数に基づいて特定する特定器、を更に備え、
上記初段中継装置の第2の送信器は、上記特定器で特定した所定アドレスに基づいて、上記復路メッセージを送信する、
としても良い。
また、第1の観点に係る通信システムにおいて、
上記中段中継装置のアドレス追加器は、上記受信された往路メッセージに含まれているリストに、上記自身のアドレスに対応付けて、上記往路メッセージの中継回数を更に追加し、
上記中段中継装置は、上記往路において上記送受信装置を起点として当該中段中継装置よりも前段に位置する上記送受信装置若しくは当該中段中継装置と異なる中段中継装置に対応する所定アドレスを、上記受信した復路メッセージのリストから、当該中段中継装置が追加した中継回数に基づいて特定する特定器、を更に備え、
上記中段中継装置の第4の送信器は、上記特定器で特定した所定アドレスに基づいて、上記復路メッセージを送信する、
としても良い。
さらにまた、第1の観点に係る通信システムにおいて、
上記初段中継装置の第2のメッセージ生成器は、上記第1の受信器にて受信された第1の往路メッセージに含まれているリストに、当該初段中継装置に割り当てられている自身のアドレスに加えて、更に当該初段中継装置において上記第1の往路メッセージの受信を行うプログラムが通信に用いるポート番号を追加することで、上記第2の往路メッセージを生成し、
上記中段中継装置の第4の送信器は、上記第3の受信器が上記復路メッセージを受信すると、上記受信した復路メッセージのリストに含まれるアドレスの内で、上記往路において上記送受信装置を起点として当該中段中継装置の前段に位置する初段中継装置若しくは当該中段中継装置と異なる中段中継装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する初段中継装置若しくは当該中段中継装置と異なる中段中継装置で実行された上記プログラムが通信に用いたポート番号と、を指定して上記復路メッセージを送信する、
としても良い。
また、第1の観点に係る通信システムにおいて、
上記中段中継装置のアドレス追加器は、上記第3の受信器にて受信された第2の往路メッセージに含まれているリストに、当該中段中継装置に割り当てられている自身のアドレスに加えて、更に当該中段中継装置において上記第2の往路メッセージの受信を行うプログラムが通信に用いるポート番号を追加し、
上記最終段中継装置の第3の送信器は、上記生成した復路メッセージのリストに含まれるアドレスの内で、上記往路において上記送受信装置を起点として当該最終段中継装置の前段に位置する初段中継装置若しくは中段中継装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する初段中継装置若しくは中段中継装置で実行された上記プログラムが通信に用いたポート番号と、を指定して上記復路メッセージを送信する、
としても良い。
さらにまた、第1の観点に係る通信システムにおいて、
3つ以上の上記中段中継装置で少なくとも構成され、
上記中段中継装置は、
・上記最終段中継装置に割り当てられたアドレスと、上記最終段中継装置へ上記第2の往路メッセージを最終的に送信するために上記第2の往路メッセージを送信する送信先の候補となる上記3つ以上の中段中継装置の1つに割り当てられたアドレスと、を少なくとも2つ記憶したテーブルを記憶する記憶部、をさらに備え、
上記中段中継装置の特定器は、上記記憶部に記憶されたテーブルから、上記最終段中継装置に割り当てられたアドレスに対応付けられた2以上のアドレスを特定し、
上記中段中継装置の第4の送信器は、上記特定器で特定された2以上のアドレスのうち1つを上記送信先に割り当てられたアドレスとして指定した上記第2の往路メッセージの送信が失敗すると、上記検索された2以上のアドレスのうち、他の1つを上記送信先に割り当てられたアドレスとして指定して、上記第2の往路メッセージを送信する、
としても良い。
また、第1の観点に係る通信システムにおいて、
上記送受信装置は、上記第1の送信器が送信する上記第1の往路データに含まれるデータのダイジェストを生成する第1のダイジェスト生成器、を更に備え、
上記最終段中継装置は、上記第2の受信器で受信された第2の往路メッセージに含まれるデータのダイジェストを生成する第2のダイジェスト生成器、を更に備え、
上記最終段中継装置の第3のメッセージ生成器は、上記第2のダイジェスト生成器で生成されたダイジェストを追加された上記復路メッセージを生成し、
上記最終段中継装置の第3の送信器は、上記第3のメッセージ生成器で生成された復路メッセージを送信し、
上記送受信装置は、上記第4の受信器で受信された復路メッセージに含まれるダイジェストと、当該送受信装置の第1のダイジェスト生成器で生成したダイジェストと、が同一か否かに基づいて、上記最終段中継装置への上記第1の往路メッセージに含まれるデータの送信が成功したか否かを判別する送信結果判別器、を更に備えた、
としても良い。
さらにまた、第1の観点に係る通信システムにおいて、
複数の上記送受信装置で少なくとも構成され、
上記複数の送受信装置は、互いに異なる暗号鍵を用いて上記第1のメッセージ生成器で生成された第1の往路メッセージを暗号化する暗号化器、をそれぞれ更に備え、
上記複数の送受信装置がそれぞれ備える第1の送信器は、上記それぞれの暗号化器で暗号化された第1の往路メッセージを送信する、
としても良い。
また、第1の観点に係る通信システムにおいて、
上記最終段中継装置は、上記第2の往路メッセージに含まれるイベントデータを、上記送受信装置を管理する管理サーバに集積する、
としても良い。
さらにまた、第1の観点に係る通信システムにおいて、
上記送受信装置、上記初段中継装置、上記少なくとも1つの中段中継装置、及び上記最終段中継装置のいずれか1つ以上を制御する制御装置、で更に構成され、
上記制御装置は、
・上記送受信装置、上記初段中継装置、上記少なくとも1つの中段中継装置、及び上記最終段中継装置のいずれか1つ以上から、動作状態を報告するステータスレポートを受信する第5の受信器と、
・上記第5の受信器で受信したステータスレポートに基づいて、上記送受信装置、上記初段中継装置、上記少なくとも1つの中段中継装置、及び上記最終段中継装置のいずれか1つ以上に障害が生じたか否かを判別する障害発生判別器と、
・上記障害発生判別器で障害が生じたと判別した装置との通信を回復するように、上記送受信装置、上記初段中継装置、上記少なくとも1つの中段中継装置、及び上記最終段中継装置のいずれか1つ以上を制御する制御器と、を備えた、
としても良い。
上記目的を達成するため、本発明の第2の観点に係る通信システムは、
リストを含む往路メッセージを送信する送受信装置と、上記往路メッセージの最終的な宛先であり、かつ上記往路メッセージに応じて復路メッセージを上記送受信装置に送信する最終段中継装置と、上記復路メッセージと上記往路メッセージとを中継する初段中継装置と、から少なくとも構成される通信システムにおいて、
(1).上記送受信装置は、
・第1の往路メッセージを生成する第1のメッセージ生成器と、
・上記第1のメッセージ生成器で生成した第1の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第1の送信器と、を備え、
(2).上記初段中継装置は、
・上記第1の往路メッセージを受信する第1の受信器と、
・上記第1の受信器が上記第1の往路メッセージを受信すると、上記受信された第1の往路メッセージのリストに、上記往路メッセージの中継経路である往路において、上記送受信装置を起点として当該中段中継装置よりも前段に位置する送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったプログラムが通信に用いたポート番号と、を追加することで、第2の往路メッセージを生成する第2のメッセージ生成器と、
・上記第2のメッセージ生成器で生成した第2の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第2の送信器と、を備え、
(3).上記最終段中継装置は、
・上記第2の往路メッセージを受信する第2の受信器と、
・上記第2の受信器で受信された第2の往路メッセージに含まれているリストが追加された復路メッセージを生成する第3のメッセージ生成器と、
・上記復路メッセージのリストに追加されたアドレスに基づいて、上記送受信装置を最終的な宛先として上記復路メッセージを送信する第3の送信器と、を備え、
(4).
上記初段中継装置の第1の受信器は、上記復路メッセージを受信し、
上記初段中継装置の第2の送信器は、上記第1の受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路において上記送受信装置を起点として当該初段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置で実行された上記プログラムが通信に用いたポート番号と、に基づいて上記復路メッセージを送信する、
ことを特徴とする。
上記目的を達成するため、本発明の第3の観点に係る通信システムは、
往路メッセージを送信する送受信装置と、上記往路メッセージの最終的な宛先であり、かつ上記往路メッセージに応じて復路メッセージを上記送受信装置に送信する最終段中継装置と、上記往路メッセージと上記復路メッセージとを中継する初段中継装置と、から少なくとも構成される通信システムにおいて、
(1).上記送受信装置は、
・上記往路メッセージに含まれるデータのダイジェストを生成する第1のダイジェスト生成器と、
・上記最終段中継装置を最終的な宛先として上記往路メッセージを送信する第1の送信器と、を備え、
(2).上記初段中継装置は、
・上記往路メッセージを受信する第1の受信器と、
・上記第1の受信器で受信した往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第2の送信器と、を備え、
(3).上記最終段中継装置は、
・上記往路メッセージを受信する第2の受信器と、
・上記第2の受信機で受信された往路メッセージに含まれるデータのダイジェストを生成する第2のダイジェスト生成器と、
・上記第2のダイジェスト生成器で生成されたダイジェストが追加された復路メッセージを生成する第3のメッセージ生成器と、
・上記送受信装置を最終的な宛先として上記復路メッセージを送信する第3の送信器と、を備え、
(4).上記送受信装置は、
・上記往路において上記送受信装置を起点として上記送受信装置よりも後段に位置する初段中継装置から上記復路メッセージを受信する第3の受信器と、
・上記第3の受信器で受信した復路メッセージに含まれるダイジェストと、上記第1のダイジェスト生成器で生成したダイジェストと、が同一か否かに基づいて、上記最終段中継装置への上記往路メッセージに含まれるデータの送信が成功したか否かを判別する送信結果判別器と、を更に備えた、
ことを特徴とする。
上記目的を達成するため、本発明の第4の観点に係る中継装置は、
リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置において、
上記往路メッセージを送信した送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったプログラムが通信に用いたポート番号と、が追加されたリストを含む第1の往路メッセージを受信する往路受信器と、
上記往路受信器で受信された第1の往路メッセージに含まれるリストに、上記中継装置に割り当てられている自身のアドレスを追加することで、第2の往路メッセージを生成する往路メッセージ生成器と、
上記往路メッセージ生成器で生成した第2の往路メッセージを送信する往路送信器と、
上記往路メッセージのリストが追加された復路メッセージを受信する復路受信器と、
上記復路受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置で実行された上記プログラムが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信器と、を備えた、
ことを特徴とする。
上記目的を達成するため、本発明の第5の観点に係る中継装置は、
リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置において、
第1の往路メッセージを送受信装置から受信する往路受信器と、
上記往路受信器で受信された第1の往路メッセージに含まれるリストに、上記送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったプログラムが通信に用いたポート番号と、を追加することで、第2の往路メッセージを生成する往路メッセージ生成器と、
上記往路メッセージ生成器で生成した第2の往路メッセージを送信する往路送信器と、
上記往路メッセージのリストが追加された復路メッセージを受信する復路受信器と、
上記復路受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置で実行された上記プログラムが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信器と、を備えた、
ことを特徴とする。
上記目的を達成するため、本発明の第6の観点に係る中継プログラムは、
リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置のコンピュータを、
上記往路メッセージを送信した送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったプログラムが通信に用いたポート番号と、が追加されたリストを含む第1の往路メッセージを受信する往路受信器、
上記往路受信器で受信された第1の往路メッセージに含まれるリストに、上記中継装置に割り当てられている自身のアドレスを追加することで、第2の往路メッセージを生成する往路メッセージ生成器、
上記往路メッセージ生成器で生成した第2の往路メッセージを送信する往路送信器、
上記往路メッセージのリストが追加された復路メッセージを受信する復路受信器、
上記復路受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置で実行された上記プログラムが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信器、として機能させる、
ことを特徴とする。
上記目的を達成するため、本発明の第7の観点に係る中継プログラムは、
リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置のコンピュータを、
第1の往路メッセージを送受信装置から受信する往路受信器、
上記往路受信器で受信された第1の往路メッセージに含まれるリストに、上記送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったプログラムが通信に用いたポート番号と、を追加することで、第2の往路メッセージを生成する往路メッセージ生成器、
上記往路メッセージ生成器で生成した第2の往路メッセージを送信する往路送信器、
上記往路メッセージのリストが追加された復路メッセージを受信する復路受信器、
上記復路受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置で実行された上記プログラムが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信器、として機能させる、
ことを特徴とする。
上記目的を達成するため、本発明の第8の観点に係るコンピュータ読み取り可能な記録媒体は、
リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置のコンピュータを、
上記往路メッセージを送信した送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったプログラムが通信に用いたポート番号と、が追加されたリストを含む第1の往路メッセージを受信する往路受信器、
上記往路受信器で受信された第1の往路メッセージに含まれるリストに、上記中継装置に割り当てられている自身のアドレスを追加することで、第2の往路メッセージを生成する往路メッセージ生成器、
上記往路メッセージ生成器で生成した第2の往路メッセージを送信する往路送信器、
上記往路メッセージのリストが追加された復路メッセージを受信する復路受信器、
上記復路受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置で実行された上記プログラムが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信器、として機能させる、
ことを特徴とする中継プログラムが記録されている。
上記目的を達成するため、本発明の第9の観点に係るコンピュータ読み取り可能な記録媒体は、
リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置のコンピュータを、
第1の往路メッセージを送受信装置から受信する往路受信器、
上記往路受信器で受信された第1の往路メッセージに含まれるリストに、上記送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったプログラムが通信に用いたポート番号と、を追加することで、第2の往路メッセージを生成する往路メッセージ生成器、
上記往路メッセージ生成器で生成した第2の往路メッセージを送信する往路送信器、
上記往路メッセージのリストが追加された復路メッセージを受信する復路受信器、
上記復路受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置で実行された上記プログラムが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信器、として機能させる、
ことを特徴とする中継プログラムが記録されている。
上記目的を達成するため、本発明の第10の観点に係る通信方法は、
リストを含む往路メッセージを送信する送受信装置と、上記往路メッセージの最終的な宛先であり、かつ上記往路メッセージに応じて復路メッセージを上記送受信装置に送信する最終段中継装置と、上記復路メッセージと上記往路メッセージとを中継する初段中継装置と、から少なくとも構成される通信システムが実行する方法において、
(1).
・上記送受信装置が、上記送受信装置に割り当てられている自身のアドレスが追加されたリストと、当該送受信装置において上記往路メッセージの送信を行うプログラムが通信に用いるポート番号と、を含む第1の往路メッセージを生成する第1のメッセージ生成ステップと、
・上記送受信装置が、上記第1のメッセージ生成ステップで生成した第1の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第1の送信ステップと、
(2).
・上記初段中継装置が、上記第1の往路メッセージを受信する第1の受信ステップと、
・上記初段中継装置が、上記第1の受信ステップで上記第1の往路メッセージを受信すると、上記受信された第1の往路メッセージのリストに当該初段中継装置に割り当てられている自身のアドレスを追加することで第2の往路メッセージを生成する第2のメッセージ生成ステップと、
・上記初段中継装置が、上記第2のメッセージ生成ステップで生成された第2の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第2の送信ステップと、
(3).
・上記最終段中継装置が、上記第2の往路メッセージを受信する第2の受信ステップと、
・上記最終段中継装置が、上記第2の受信ステップで受信された第2の往路メッセージに含まれているリストが追加された復路メッセージを生成する第3のメッセージ生成ステップと、
・上記最終段中継装置が、上記復路メッセージのリストに追加されたアドレスに基づいて、上記送受信装置を最終的な宛先として上記復路メッセージを送信する第3の送信ステップと、
(4).
・上記初段中継装置が、上記復路メッセージを受信するステップと、
・上記初段中継装置が、上記受信した復路メッセージのリストに含まれるアドレスであって、上記往路において上記送受信装置を起点として当該初段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置で実行された上記プログラムが通信に用いたポート番号と、に基づいて上記復路メッセージを送信するステップと、を有する、
ことを特徴とする。
上記目的を達成するため、本発明の第11の観点に係る通信方法は、
リストを含む往路メッセージを送信する送受信装置と、上記往路メッセージの最終的な宛先であり、かつ上記往路メッセージに応じて復路メッセージを上記送受信装置に送信する最終段中継装置と、上記復路メッセージと上記往路メッセージとを中継する初段中継装置と、から少なくとも構成される通信システムが実行する方法において、
(1).
・上記送受信装置が、第1の往路メッセージを生成する第1のメッセージ生成ステップと、
・上記送受信装置が、上記第1のメッセージ生成ステップで生成した第1の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第1の送信ステップと、
(2).
・上記初段中継装置が、上記第1の往路メッセージを受信する第1の受信ステップと、
・上記初段中継装置が、上記第1の受信ステップで上記第1の往路メッセージを受信すると、上記受信された第1の往路メッセージのリストに、上記往路メッセージの中継経路である往路において、上記送受信装置を起点として当該中段中継装置よりも前段に位置する送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったプログラムが通信に用いたポート番号と、を追加することで、第2の往路メッセージを生成する第2のメッセージ生成ステップと、
・上記初段中継装置が、上記第2のメッセージ生成ステップで生成した第2の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第2の送信ステップと、
(3).
・上記最終段中継装置が、上記第2の往路メッセージを受信する第2の受信ステップと、
・上記最終段中継装置が、上記第2の受信ステップで受信された第2の往路メッセージに含まれているリストが追加された復路メッセージを生成する第3のメッセージ生成ステップと、
・上記最終段中継装置が、上記復路メッセージのリストに追加されたアドレスに基づいて、上記送受信装置を最終的な宛先として上記復路メッセージを送信する第3の送信ステップと、
(4).
・上記初段中継装置が、上記復路メッセージを受信するステップと、
・上記初段中継装置が、上記受信した復路メッセージのリストに含まれるアドレスであって、上記往路において上記送受信装置を起点として当該初段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置で実行された上記プログラムが通信に用いたポート番号と、に基づいて上記復路メッセージを送信するステップと、を有する、
ことを特徴とする。
上記目的を達成するため、本発明の第12の観点に係る通信方法は、
往路メッセージを送信する送受信装置と、上記往路メッセージの最終的な宛先であり、かつ上記往路メッセージに応じて復路メッセージを上記送受信装置に送信する最終段中継装置と、上記往路メッセージと上記復路メッセージとを中継する初段中継装置と、から少なくとも構成される通信システムが実行する方法において、
(1).
・上記送受信装置が、上記往路メッセージに含まれるデータのダイジェストを生成する第1のダイジェスト生成ステップと、
・上記送受信装置が、上記最終段中継装置を最終的な宛先として上記往路メッセージを送信する第1の送信ステップと、
(2).
・上記初段中継装置が、上記往路メッセージを受信する第1の受信ステップと、
・上記初段中継装置が、上記第1の受信ステップで受信した往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第2の送信ステップと、
(3).
・上記最終段中継装置が、上記往路メッセージを受信する第2の受信ステップと、
・上記最終段中継装置が、上記第2の受信機で受信された往路メッセージに含まれるデータのダイジェストを生成する第2のダイジェスト生成ステップと、
・上記最終段中継装置が、上記第2のダイジェスト生成ステップで生成されたダイジェストが追加された復路メッセージを生成する第3のメッセージ生成ステップと、
・上記最終段中継装置が、上記送受信装置を最終的な宛先として上記復路メッセージを送信する第3の送信ステップと、
(4).
・上記送受信装置が、上記往路において上記送受信装置を起点として上記送受信装置よりも後段に位置する初段中継装置から上記復路メッセージを受信する第3の受信ステップと、
・上記送受信装置が、上記第3の受信ステップで受信した復路メッセージに含まれるダイジェストと、上記第1のダイジェスト生成ステップで生成したダイジェストと、が同一か否かに基づいて、上記最終段中継装置への上記往路メッセージに含まれるデータの送信が成功したか否かを判別する送信結果判別ステップと、を有する、
ことを特徴とする。
上記目的を達成するため、本発明の第13の観点に係る中継方法は、
リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置が実行する方法において、
上記往路メッセージを送信した送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったプログラムが通信に用いたポート番号と、が追加されたリストを含む第1の往路メッセージを受信する往路受信ステップと、
上記往路受信ステップで受信された第1の往路メッセージに含まれるリストに、上記中継装置に割り当てられている自身のアドレスを追加することで、第2の往路メッセージを生成する往路メッセージ生成ステップと、
上記往路メッセージ生成ステップで生成した第2の往路メッセージを送信する往路送信ステップと、
上記往路メッセージのリストが追加された復路メッセージを受信する復路受信ステップと、
上記復路受信ステップで受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置で実行された上記プログラムが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信ステップと、を有する、
ことを特徴とする。
上記目的を達成するため、本発明の第14の観点に係る中継方法は、
リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置が実行する方法において、
第1の往路メッセージを送受信装置から受信する往路受信ステップと、
上記往路受信ステップで受信された第1の往路メッセージに含まれるリストに、上記送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったプログラムが通信に用いたポート番号と、を追加することで、第2の往路メッセージを生成する往路メッセージ生成ステップと、
上記往路メッセージ生成ステップで生成した第2の往路メッセージを送信する往路送信ステップと、
上記往路メッセージのリストが追加された復路メッセージを受信する復路受信ステップと、
上記復路受信ステップで受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置で実行された上記プログラムが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信ステップと、を有する、
ことを特徴とする。
本発明に係る通信システム及び中継装置、中継プログラム、中継プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに通信方法及び中継方法によれば、データの中継回数が増加しても、通信コストの増加を抑制できる。
本発明の実施例に係る通信システムの一構成例を表すシステム構成図である。 送受信装置の一構成例を表すハードェア構成図である。 中間中継装置の一構成例を表すハードェア構成図である。 最終中継装置の一構成例を表すハードェア構成図である。 送受信装置が実行するデータ収集送受信処理の一例を表すフローチャートである。 本実施例において、送受信装置が実行する往路メッセージ送信処理の一例を表すフローチャートである。 送受信装置が実行する復路メッセージ受信処理の一例を表すフローチャートである。 中継経路の一例を表す図である。 中間中継装置が実行する中間中継処理の一例を表すフローチャートである。 本実施例において、中間中継装置が実行する往路メッセージ中継処理の一例を表すフローチャートである。 中間中継装置が実行する復路メッセージ中継処理の一例を表すフローチャートである。 最終中継装置が実行する最終中継処理の一例を表すフローチャートである。 最終中継装置が実行する往路メッセージ応答処理の一例を表すフローチャートである。 最終中継装置が実行する往路メッセージ集積処理の一例を表すフローチャートである。 往路及び復路の一例を表す図である。 エージェントで生成される往路メッセージの一例を表す図である。 エージェントで対応情報を追加された第1の往路メッセージの一例を表す図である。 コレクタで対応情報を追加された第2の往路メッセージの一例を表す図である。 コレクタで対応情報を追加された第2の往路メッセージの他例を表す図である。 ファイナルコレクタで生成される復路メッセージの一例を表す図である。 コレクタで対応情報を削除された復路メッセージの一例を表す図である。 コレクタで対応情報を削除された復路メッセージの他例を表す図である。 エージェントが受信する復路メッセージの一例を表す図である。 エージェントの一構成例を表す機能ブロック図である。 コレクタの一構成例を表す機能ブロック図である。 ファイナルコレクタの一構成例を表す機能ブロック図である。 本実施例の変形例13において、送受信装置が実行する往路メッセージ送信処理の一例を表すフローチャートである。 本実施例の変形例13において、中間中継装置が実行する往路メッセージ中継処理の一例を表すフローチャートである。 本実施例の変形例13において、最終中継装置が実行する往路メッセージ応答処理の一例を表すフローチャートである。 本実施例の変形例14において、送受信装置が実行する往路メッセージ送信処理の一例を表すフローチャートである。 本実施例の変形例14において、中間中継装置が実行する往路メッセージ中継処理の一例を表すフローチャートである。 エージェント121が記憶するルーティングテーブルの一例を表す図である。 コレクタ231が記憶するルーティングテーブルの一例を表す図である。 コレクタ241が記憶するルーティングテーブルの一例を表す図である。 コレクタ242が記憶するルーティングテーブルの一例を表す図である。 コレクタ221が記憶するルーティングテーブルの一例を表す図である。 本実施例の変形例19に係る通信システムの一構成例を表すシステム構成図である。 制御装置の一構成例を表すハードェア構成図である。 制御装置が実行する障害解消制御処理の一例を表すフローチャートである。 制御装置の一構成例を表す機能ブロック図である。
以下、本発明の実施例について添付図面を参照しつつ説明する。
本発明の実施例に係る通信システム1は、図1に示すような送受信装置110、120、及び130と、中間中継装置210、220、230、及び240と、最終中継装置290と、管理サーバ300と、で構成される。
送受信装置110から130は、インターネットなどの通信網10を介して端末装置11に接続されている。送受信装置110から130は、端末装置11から送信されるリクエストに応じて、例えば、文書の翻訳、商品の販売若しくは役務の提供、又はオークションなどのサービスを、端末装置11のユーザに提供するサーバである。
送受信装置110は、通信回線L1を介して中間中継装置210に接続されている。中間中継装置210は、通信回線L2を介して中間中継装置220に接続されている。中間中継装置220は、通信回線L3を介して中間中継装置230に接続されていると共に、通信回線L4を介して最終中継装置290に接続されている。送受信装置120は、通信回線L5を介して中間中継装置230に接続されている。送受信装置130は、通信回線L6を介して中間中継装置230に接続されている。中間中継装置230は、通信回線L7を介して中間中継装置240に接続されている。中間中継装置240は、通信回線L8を介して最終中継装置290に接続されている。最終中継装置290は、管理サーバ300に接続されている。
送受信装置110から130は、送受信装置110から130それぞれの動作若しくは状態の変化を表すイベントデータを含む往路メッセージを、中間中継装置210から240のいずれか1つ以上と、最終中継装置290と、を介して管理サーバ300へ送信する。
本実施例において、イベントデータは、サービスの提供において発生したイベントを表す、として説明を行う。また、送受信装置110から130は、イベントが発生する度に、発生したイベントを表すイベントデータを含んだ往路メッセージを送信するとして説明を行う。しかし、往路メッセージの送信タイミングは、これに限定される訳ではない。送受信装置110から130は、例えば、所定周期で往路メッセージを送信しても良い。
中間中継装置210から240は、送受信装置110ないし130から送信された往路メッセージを最終中継装置290へ中継する。次に、中間中継装置210から240は、往路メッセージに応答するデータであって、最終中継装置290が往路メッセージを受信したことを表す復路メッセージを、最終中継装置290から当該往路メッセージを送信した送受信装置110から130のいずれかへ中継する。
最終中継装置290は、中間中継装置220若しくは240から往路メッセージを受信すると、往路メッセージを送信した送受信装置110ないし130のいずれかを最終的な宛先として復路メッセージを送信する。このため、最終中継装置290は、当該往路メッセージを送信した中間中継装置220及び240のいずれかへ復路メッセージを送信する。
管理サーバ300は、最終中継装置290から受信した往路メッセージに基づき送受信装置110ないし130の動作及び状態を管理する。
ここで、送受信装置110から送信された往路メッセージが、中間中継装置210、中間中継装置220の順にそれぞれの装置で中継された後に、最終中継装置290で受信される場合を例に挙げて説明する。最終中継装置290は、往路メッセージの最終的な送信先であるため、最終段中継装置と称される。これに対して、中間中継装置210は、送受信装置110から送信された往路メッセージを最初に中継するため、初段中継装置と称される。さらに、中間中継装置220は、往路メッセージの中継経路である往路において、初段中継装置と称される中間中継装置210と、最終段中継装置と称される最終中継装置290と、の中間に位置するため、中段中継装置と称される。
同様に、送受信装置120から送信された往路メッセージが、中間中継装置230、中間中継装置240の順にそれぞれの装置で中継された後に、最終中継装置290で受信される場合を例に挙げて説明する。この場合、最終中継装置290は、最終段中継装置と称され、中間中継装置230は、初段中継装置と称され、中間中継装置240は、中段中継装置と称される。
これに対して、送受信装置110から送信された往路メッセージが、中間中継装置210、中間中継装置220、中間中継装置230、中間中継装置240の順にそれぞれの装置で中継された後に、最終中継装置290で受信される場合を例に挙げて説明する。この場合、最終中継装置290が、最終段中継装置と称され、中間中継装置210が、初段中継装置と称され、中間中継装置220、中間中継装置230、及び中間中継装置240は、それぞれ中段中継装置と称される。
すなわち、中間中継装置210、220、230、及び240の内で、どの装置が初段中継装置と称され、どの装置が中段中継装置と称されるか、は、往路メッセージが送信される経路により異なる。
次に、図2を参照して、送受信装置110のハードウェア構成について説明する。送受信装置110は、図2に示すようなCPU(Central Processing Unit)110a、ROM(Read Only Memory)110b、RAM(Random Access Memory)110c、ハードディスク110d、メディアコントローラ110e、LANカード(Local Area Network)110f、ビデオカード110g、LCD(Liquid Crystal Display)110h、キーボード110i、スピーカ110j、及びタッチパッド110kで構成される。
CPU110aは、ROM110b若しくはハードディスク110dに保存されたプログラムを実行することで、送受信装置110の全体制御を行う。RAM110cは、CPU110aによるプログラムの実行時において、処理対象とするデータを一時的に記憶する。
ハードディスク110dは、各種のデータを保存したテーブルを記憶する情報記憶部である。尚、送受信装置110は、ハードディスク110dの代わりに、フラッシュメモリを備えても良い。
メディアコントローラ110eは、フラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、及びブルーレイディスク(Blu-ray Disc)(登録商標)を含む記録媒体から各種のデータ及びプログラムを読み出す。
LANカード110fは、通信網10を介して接続された端末装置11及び中間中継装置210との間でデータを送受信する。キーボード110i及びタッチパッド110kは、ユーザの操作に応じた信号又は情報を入力する。
ビデオカード110gは、CPU110aから出力されたデジタル信号に基づいて画像を描画(つまり、レンダリング)すると共に、描画された画像を表す画像信号を出力する。LCD110hは、ビデオカード110gから出力された画像信号に従って画像を表示する。なお、送受信装置110は、LCD110hの代わりに、PDP(Plasma Display Panel)又はEL(Electroluminescence)ディスプレイを備えても良い。スピーカ110jは、CPU110aから出力された信号に基づいて音声を出力する。
中間中継装置210は、送受信装置110と同様に、図3Aに示すようなCPU210a、ROM210b、RAM210c、ハードディスク210d、メディアコントローラ210e、LANカード210f、ビデオカード210g、LCD210h、キーボード210i、スピーカ210j、及びタッチパッド210kで構成される。
最終中継装置290は、中間中継装置210と同様に、図3Bに示すようなCPU290a、ROM290b、RAM290c、ハードディスク290d、メディアコントローラ290e、LANカード290f、ビデオカード290g、LCD290h、キーボード290i、スピーカ290j、及びタッチパッド290kで構成される。管理サーバ300も同様にCPU等で構成される。
図2に示した送受信装置110のCPU110aは、図4Aに示すようなデータ収集送受信処理を実行するためのプログラム(以下、データ収集送受信プログラムという)を並列的に複数実行する。これにより、CPU110aは、図2に示したハードウェアと協働して、図5に示すような送受信部(以下、エージェントともいう)111及び112として機能する。
送受信装置110のLANカード110fには、ネットワーク上で当該LANカード110fを識別する情報としてIPアドレス「192.168.1.110」が割り当てられている。エージェント111は、番号「111」のポートを用いてデータを送受信し、エージェント112は、番号「112」のポートを用いてデータを送受信する。このため、1台の送受信装置110で複数のデータ収集送受信プログラムを同時に実行しても、それぞれのデータ収集送受信プログラムが送受信するデータを取り違えることを防止できる。
これに対して、送受信装置120及び130は、データ収集送受信プログラムを1つだけ実行する。このため、送受信装置120及び130がそれぞれ有するCPUは、それぞれエージェント121及び131として機能する。送受信装置120のLANカードには、IPアドレス「192.168.1.120」が割り当てられており、エージェント121は、番号「121」のポートを用いてデータを送受信する。送受信装置130のLANカードには、IPアドレス「192.168.1.130」が割り当てられており、エージェント131は、番号「131」のポートを用いてデータを送受信する。
図3Aに示した中間中継装置210のCPU210aは、図6Aに示すような、往路メッセージ及び復路メッセージを中継する中間中継処理を行う中継プログラムを並列的に複数実行する。これにより、CPU210aは、図3Aに示したハードウェアと協働して、図5に示すような中間中継部(以下、コレクタともいう)211及び212として機能する。
ここで、LANカード210fには、ネットワーク上で当該LANカード210fを識別する情報としてIPアドレス「192.168.1.210」が割り当てられており、コレクタ211は、番号「211」のポートを用いてデータを送受信し、コレクタ212は、番号「212」のポートを用いてデータを送受信する。このため、1台の中間中継装置210で複数の中継プログラムを同時に実行しても、それぞれの中継プログラムが送受信するデータを取り違えることを防止できる。
同様に、中間中継装置240は、2つの中継プログラムを多重実行するため、中間中継装置240が有するCPUは、コレクタ241及び242として機能する。また、中間中継装置240のLANカードには、IPアドレス「192.168.1.240」が割り当てられており、コレクタ241及び242は、それぞれ番号「241」及び「242」のポートを用いてデータを送受信する。
これに対して、中間中継装置220及び230は、中継プログラムを1つだけ実行するため、中間中継装置220及び230がそれぞれ有するCPUは、コレクタ221及び231としてそれぞれ機能する。中間中継装置220及び230のLANカードには、それぞれIPアドレス「192.168.1.220」及び「192.168.1.230」が割り当てられており、コレクタ221及び231は、それぞれ番号「221」及び「231」のポートを用いてデータを送受信する。
図3Bに示した最終中継装置290のCPU290aは、図7Aに示すような、往路メッセージに含まれるイベントデータを管理サーバ300へ中継する最終中継処理を行う最終中継プログラムを実行する。これにより、CPU290aは、図3Bに示したハードウェアと協働して、図5に示すような最終中継部(以下、ファイナルコレクタともいう)291として機能する。図3Bに示したLANカード290fには、IPアドレス「192.168.1.290」が割り当てられており、ファイナルコレクタ291は、番号「291」のポートでデータを送受信する。
管理サーバ300のCPUは、ソフトウェア処理を実行することで、図5に示すような管理部301として機能する。管理部301は、ファイナルコレクタ291で中継された往路メッセージを集積し、集積した往路メッセージに基づきエージェント111から131の動作及び状態を制御及び管理する。
ここで、図1に示したように、送受信装置110は、中間中継装置210に接続されている。このため、図5に示すように、送受信装置110のエージェント111及び112は、中間中継装置210のコレクタ211及び212とそれぞれ通信可能である。また、中間中継装置210は、中間中継装置220に接続されているため、中間中継装置210のコレクタ211及び212は、それぞれ中間中継装置220のコレクタ221と通信可能である。同様に、中間中継装置220のコレクタ221は、中間中継装置230のコレクタ231及び最終中継装置290のファイナルコレクタ291と通信可能である。
さらに、送受信装置120のエージェント121及び送受信装置130のエージェント131は、中間中継装置230のコレクタ231とそれぞれ通信可能であり、コレクタ231は、コレクタ221及び中間中継装置240のコレクタ241及び242とそれぞれ通信可能である。またさらに、コレクタ241及び242は、ファイナルコレクタ291と通信可能である。ファイナルコレクタ291は、管理サーバ300の管理部301と通信可能である。
このため、エージェント111からファイナルコレクタ291まで往路メッセージを中継するために用いられる経路(以下、往路という)として、コレクタ211の後にコレクタ221を経由する経路だけでなく、コレクタ212の後にコレクタ221を経由する経路など、様々な経路が存在する。同様の理由から、ファイナルコレクタ291からエージェント111まで復路メッセージを中継するために用いられる経路(以下、復路という)として、複数の経路が存在する。
エージェント111からファイナルコレクタ291まで往路メッセージを中継するために用いられる往路は、通信システム1の管理者によって予め定められた経路であり、図8Aに示すような、コレクタ211の後にコレクタ221を経由する経路であるとして以下説明を行う。
エージェント(つまり、送受信部)111として機能するCPU110aは、図4Aに示したデータ収集送受信処理の実行を開始すると、例えば、関数の引数から、設定対応情報「192.168.1.110:111」を取得する(ステップS01)。この設定対応情報は、通信システム1の管理者によってLANカード110fに割り当てられた(つまり、設定された)IPアドレス「192.168.1.110」を表す情報と、エージェント111が往路メッセージ及び復路メッセージの送受信に用いるように設定されたポート番号「111」を表す情報と、を対応付けた情報をいう。
次に、CPU110aは、設定対応情報「192.168.1.110:111」を引数に指定して、往路メッセージ送信プログラムを実行する送信スレッドと、復路メッセージ受信プログラムを実行する受信スレッドと、を生成する(ステップS02)。その後、CPU110aは、例えば、シャットダウンコマンドが入力される等の予め定められた終了条件が満足されたか否かを判別する(ステップS03)。このとき、終了条件が満足されていないと判別すると(ステップS03;No)、CPU110aは、所定時間経過後にステップS03を繰り返し実行する。
これに対して、終了条件が満足されたと判別すると(ステップS03;Yes)、CPU110aは、例えば、キルシグナルを送信することで、送信スレッドを終了してから(ステップS04)、同様に受信スレッドを終了した後に(ステップS05)、データ収集送受信処理の実行を終了する。
エージェント111として機能するCPU110aは、送信スレッドで、図4Bに示すような往路メッセージ送信処理を、図2に示したハードウェアと協働して実行する。これにより、CPU110aは、図9に示すような、往路メッセージ送信部(以下、ディストリビュータともいう)111dとして機能する。ディストリビュータ111dは、第1設定取得部11da、リクエスト受信部11db、サービス提供部11dc、往路メッセージ生成部11dd、ダイジェスト生成部11de、ダイジェスト保存部11df、対応情報追加部11dgを有する往路メッセージ生成部11di、及び往路メッセージ送信部11dhを有する。また、エージェント111として機能するCPU110aは、ハードディスク110dと協働することで、情報記憶部111mとして機能する。尚、受信スレッドの実行については後に説明する。
送信スレッドで往路メッセージ送信処理の実行が開始されると、エージェント111の第1設定取得部11daは、引数から設定対応情報「192.168.1.110:111」を取得する(ステップS11)。次に、第1設定取得部11daは、例えば、キルシグナルを受信したか否かに基づいて、スレッドを終了するか否か判別する(ステップS12)。
このとき、スレッドを終了しないと判別されると(ステップS12;No)、リクエスト受信部11dbは、端末装置11からサービスの提供を要求するリクエストを受信する(ステップS13)。その後、サービス提供部11dcは、リクエストに応じてサービスを端末装置11のユーザへ提供する(ステップS14)。
次に、イベントデータ生成部11ddは、前回のイベントデータの送信から現在までに何らかのイベントが生じたか否かを判別する(ステップS15)。ステップS15で判別の対象とされるイベントは、例えば、サービスの提供における異常の発生を含むとして説明するが、これに限定される訳ではなく、送受信装置110の動作若しくは状態の変化であれば、どのようなイベントでも良い。
ステップS15において、イベントが発生しなかったと判別されると(ステップS15;No)、ステップS12から上記処理が繰り返される。これに対して、イベントが発生したと判別されると(ステップS15;Yes)、イベントデータ生成部11ddは、図8Bに示すように、当該イベントを表すイベントデータDEを生成し、当該イベントデータDEと、当該イベントデータDEを識別する情報(以下、データIDという)と、を往路メッセージとする(ステップS16)。
その後、ダイジェスト生成部11deは、通信システム1の管理者に予め設定されたアルゴリズムに従って、図8Bに示すようなイベントデータDEのダイジェストDD1を生成する(ステップS17)。本実施例において、ダイジェスト生成部11deは、イベントデータDEの誤り検出符号をダイジェストDD1として生成する。具体的には、ダイジェスト生成部11deは、往路メッセージを構成する複数の1バイトデータの最下位1ビットの総和を算出することで、往路メッセージのチェックサムを誤り検出符号として算出する。しかし、これに限定される訳ではなく、ダイジェスト生成部11deは、誤り検出符号として往路メッセージのパリティ符号、巡回符号、若しくはハッシュ値を算出しても良い。
次に、ダイジェスト保存部11dfは、往路メッセージ(つまり、データID及びイベントデータDE)と、往路メッセージのダイジェストDD1と、を対応付けて、図9に示した情報記憶部111mに保存する(ステップS18)。
その後、対応情報追加部11dgは、図8Cに示すように、往路メッセージを送信若しくは中継したプログラムの対応情報を1又は複数格納する対応情報リストDL1へ、当該往路メッセージの中継回数「0」回を表す情報と、ステップS11で取得された設定対応情報と、を対応付けた情報「0:192.168.1.110:111」を追加する。その後、対応情報追加部11dgは、対応情報リストDL1を往路メッセージの末尾に追加する(ステップS19)。尚、送受信装置110が送信する往路メッセージを、以下、第1の往路メッセージと称する。
次に、往路メッセージ送信部11dhは、最終中継装置290のファイナルコレクタ291を最終的な宛先に指定して第1の往路メッセージを送信する。このとき、往路メッセージ送信部11dhは、コレクタ211が動作する中間中継装置210のIPアドレス「192.168.1.210」と、コレクタ211が通信に用いるポート番号「211」と、を対応付けた情報を情報記憶部111mから読み出す。コレクタ211は、往路メッセージをファイナルコレクタ291へ最終的に送信するために、通信システム1の管理者によって予め設定された送信先だからである。次に、往路メッセージ送信部11dhは、IPアドレス「192.168.1.210」とポート番号「211」とを指定して第1の往路メッセージを送信する(ステップS20)。このとき、往路メッセージ送信部11dhは、送信先からACKを受信するまで、所定回数に亘って第1の往路メッセージの送信を繰り返す。その後、ステップS12から上記処理が繰り返される。
ステップS12において、第1設定取得部11daがスレッドを終了すると判別すると(ステップS12;Yes)、往路メッセージ送信処理の実行を終了する。
コレクタ(つまり、中間中継部)211として機能するCPU210aは、図6Aに示した中間中継処理の実行を開始すると、例えば、関数の引数から設定対応情報「192.168.1.210:211」を取得する(ステップS31)。この設定対応情報「192.168.1.210:211」は、通信システム1の管理者によってLANカード210fに設定されたIPアドレス「192.168.1.210」を表す情報と、コレクタ211が往路メッセージ及び復路メッセージの送受信に用いるように設定されたポート番号「211」を表す情報と、を対応付けた情報である。
次に、CPU210aは、設定対応情報「192.168.1.210:211」を引数に指定して、往路メッセージの中継を行うプログラム(以下、往路メッセージ中継プログラムという)を実行する往路中継スレッドと、復路メッセージの中継を行うプログラム(以下、復路メッセージ中継プログラムという)を実行する復路中継スレッドと、を生成する(ステップS32)。その後、CPU210aは、予め定められた終了条件が満足されたか否かを判別する(ステップS33)。このとき、終了条件が満足されていないと判別すると(ステップS33;No)、CPU210aは、所定時間経過後にステップS33を繰り返し実行する。
これに対して、終了条件が満足されたと判別すると(ステップS33;Yes)、CPU210aは、往路中継スレッドを終了してから(ステップS34)、復路中継スレッドを同様に終了した後に(ステップS35)、中間中継処理の実行を終了する。
コレクタ211として機能するCPU210aは、往路中継スレッドで、図6Bに示すような往路メッセージ中継処理を、図3Aに示したハードウェアと協働して実行する。これにより、CPU210aは、図10に示すような、往路メッセージ中継部(以下、ディストリビュータともいう)211dとして機能する。ディストリビュータ211dは、第1設定取得部21da、往路メッセージ受信部21db、対応情報追加部21dcを有する往路メッセージ再生成部21de、及び往路メッセージ送信部21ddを有する。尚、復路中継スレッドの実行については後に説明する。
往路中継スレッドで往路メッセージ中継処理の実行が開始されると、コレクタ211の第1設定取得部21daは、引数から設定対応情報「192.168.1.210:211」を取得する(ステップS41)。次に、第1設定取得部21daは、例えば、キルシグナルを受信したか否かに基づいて、スレッドを終了するか否か判別する(ステップS42)。
このとき、スレッドを終了しないと判別されると(ステップS42;No)、往路メッセージ受信部21dbは、エージェント111から第1の往路メッセージを、設定された番号「211」のポート(以下、設定ポートという)を用いて受信する(ステップS43)。次に、対応情報追加部21dcは、第1の往路メッセージにおけるデータIDとイベントデータDEとが格納される所定のデータ範囲の直後から往路メッセージの最後の位置までのデータ「0:192.168.1.110:111」を、対応情報リストDL1を表すデータとして抽出する。
次に、対応情報追加部21dcは、往路メッセージの対応情報リストDL1「0:192.168.1.110:111」に含まれる最大の中継回数「0」に対して値「1」を加算した値を算出する。その後、対応情報追加部21dcは、算出した中継回数「1」回(つまり、コレクタ211が往路メッセージを送信し終えた時における往路メッセージの総中継回数)を表す情報と、設定対応情報「192.168.1.210:211」と、を対応付けた情報「1:192.168.1.210:211」を生成する。次に、対応情報追加部21dcは、対応情報リストDL1「0:192.168.1.110:111」の末尾に、情報「1:192.168.1.210:211」を追加する。その後、対応情報追加部21dcは、図8Dに示すように、往路メッセージのイベントデータDEの後に対応情報リストDL1を追加する(ステップS45)。尚、中間中継装置210のコレクタ211によって送信された往路メッセージを、以下、第2の往路メッセージと称する。
ステップS45が実行された後に、往路メッセージ送信部21ddは、ファイナルコレクタ291を最終的な宛先に指定して第2の往路メッセージを送信する。このとき、往路メッセージ送信部21ddは、コレクタ221が動作する中間中継装置220のIPアドレス「192.168.1.220」と、コレクタ220が通信に用いるポート番号「221」と、を対応付けた情報をハードディスク210dから読み出す。コレクタ221は、通信システム1の管理者によって予め設定された送信先だからである。次に、往路メッセージ送信部21ddは、IPアドレス「192.168.1.220」とポート番号「221」とを指定して第2の往路メッセージを送信する(ステップS46)。このとき、往路メッセージ送信部21ddは、送信先からACKを受信するまで、所定回数に亘って第2の往路メッセージの送信を繰り返す。その後、ステップS42から上記処理が繰り返される。
ステップS42において、第1設定取得部21daは、スレッドを終了すると判別すると(ステップS42;Yes)、往路メッセージ中継処理の実行を終了する。
中段中継装置と称される中間中継装置220のコレクタ221は、初段中継装置と称される中間中継装置210のコレクタ211と同様に中間中継処理を実行する。これにより、コレクタ221は、図8Eに示すように、第2の往路メッセージの対応情報リストDL1「0:192.168.1.110:111,1:192.168.1.210:211」の末尾に、中継回数「2」回を表す情報と設定対応情報とを対応付けた情報「2:192.168.1.220:221」を追加する。次に、コレクタ221は、コレクタ211と同様に、IPアドレス「192.168.1.290」とポート番号「291」とを指定して、自身の設定対応情報と中継回数とが追加された第2の往路メッセージを送信する。
すなわち、初段中継装置のコレクタ211が有する対応情報追加部21dcは、図10に示す往路メッセージ受信部21dbで受信された第1の往路メッセージの対応情報リストDL1に、コレクタ211の設定対応情報と中継回数を表す情報とを追加する。これにより、対応情報追加部21dcを有する往路メッセージ再生成部21deは、第2の往路メッセージを生成する。
これに対して、中段中継装置のコレクタ221が有する対応情報追加部21dcに相当する部は、往路メッセージ受信部21dbに相当する部で受信された第2の往路メッセージの対応情報リストDL1に、コレクタ221の設定対応情報と中継回数を表す情報とを追加する。これにより、コレクタ221の対応情報追加部21dcに相当する部を有した往路メッセージ再生成部21deは、第2の往路メッセージを再生成する。
このように、初段中継装置の対応情報追加部21dcと、中段中継装置の対応情報追加部21dcに相当する部と、は、設定対応情報と中継回数を表す情報とを追加するメッセージが異なるだけで、同じ構成及び機能を有している。
また、初段中継装置のコレクタ211が有する往路メッセージ再生成部21deは、対応情報追加部21dcのみを有し、中段中継装置のコレクタ221が有する往路メッセージ再生成部21deに相当する部は、対応情報追加部21dcに相当する部のみを有する。このため、初段中継装置の往路メッセージ再生成部21de及び対応情報追加部21dc並びに中段中継装置の往路メッセージ再生成部21deに相当する部及び対応情報追加部21dcに相当する部は、同じ構成及び機能をそれぞれ有している。
ファイナルコレクタ(つまり、最終中継部)291として機能するCPU290aは、図7Aに示した最終中継処理の実行を開始すると、例えば、関数の引数から、通信システム1の管理者によってファイナルコレクタ291が往路メッセージ及び復路メッセージの送受信に用いるように設定されたポート番号「291」を表す情報を取得する(ステップS51)。
次に、CPU290aは、ポート番号「291」を表す情報を引数と指定して、往路メッセージに応答する復路メッセージの送信を行うプログラム(以下、往路メッセージ応答プログラムという)を実行する応答スレッドと、往路メッセージを最終中継装置300に集積させるプログラム(以下、往路メッセージ集積プログラムという)を実行する集積スレッドと、を生成する(ステップS52)。その後、CPU290aは、予め定められた終了条件が満足されたか否かを判別する(ステップS53)。このとき、終了条件が満足されていないと判別すると(ステップS53;No)、CPU210aは、所定時間経過後にステップS53を繰り返し実行する。
これに対して、終了条件が満足されたと判別すると(ステップS53;Yes)、CPU290aは、集積スレッドを終了してから(ステップS54)、応答スレッドを終了した後に(ステップS55)、最終中継処理の実行を終了する。
ファイナルコレクタ291として機能するCPU290aは、応答スレッドで、図7Bに示すような往路メッセージ応答処理を、図3Bに示したハードウェアと協働して実行する。これにより、CPU290aは、図11に示すような、応答部291rとして機能する。応答部291rは、往路メッセージ受信部29ra、対応情報抽出部29rb、往路メッセージ保存部29rc、ダイジェスト生成部29rd、応答メッセージ生成部29re、ダイジェスト追加部29rf及び対応情報追加部29rgを有する往路メッセージ生成部29rj、送信先特定部29rh、並びに復路メッセージ送信部29riを有する。また、CPU290aは、ハードディスク290dと協働することで、情報記憶部291mとして機能する。尚、集積スレッドの実行については後に説明する。
応答スレッドで往路メッセージ応答処理の実行が開始されると、ファイナルコレクタ291の往路メッセージ受信部29raは、引数からポート番号「291」を取得する。次に、往路メッセージ受信部29raは、例えば、キルシグナルを受信したか否かに基づいて、スレッドを終了するか否か判別する(ステップS61)。
このとき、スレッドを終了しないと判別されると(ステップS61;No)、往路メッセージ受信部29raは、ポート番号「291」でコレクタ221から第2の往路メッセージを受信する(ステップS62)。次に、対応情報抽出部29rbは、第2の往路メッセージから対応情報リストLD1「0:192.168.1.110:111,1:192.168.1.210:211,2:192.168.1.220:221」を抽出する(ステップS63)。
次に、往路メッセージ保存部29rcは、対応情報リストLD1から、中継回数「0」回を表す情報に対応付けられた対応情報「192.168.1.110:111」を抽出する。その後、往路メッセージ保存部29rcは、抽出された対応情報を、エージェント110(つまり、復路メッセージの最終的な送信先)の対応情報と特定する。次に、往路メッセージ保存部29rcは、エージェント110の対応情報と、往路メッセージに含まれるイベントデータDEと、を対応付けて情報記憶部291mへ保存する(ステップS64)。
次に、ダイジェスト生成部29rdは、通信システム1の管理者によってエージェント111に予め設定されたアルゴリズムと同じアルゴリズムに従って、往路メッセージに含まれるイベントデータDEのダイジェストDD2を生成する(ステップS65)。
その後、応答メッセージ生成部29reは、第2の往路メッセージをファイナルコレクタ291が受信したことを表すACKとして、当該往路メッセージに含まれるデータIDを含む応答メッセージを生成する(ステップS66)。次に、ダイジェスト追加部29rgは、図8Fに示すように、ステップS65で生成されたダイジェストDD2を応答メッセージの末尾に追加する(ステップS67)。
次に、送信先特定部29rhは、復路メッセージをエージェント111へ送信するために用いる中継経路(つまり、復路)として、往路を逆順に辿る経路を採用する。エージェント111からファイナルコレクタ291まで往路メッセージを送信するために用いられる往路は、コレクタ211で往路メッセージが中継された後にコレクタ221で当該往路メッセージが中継される経路であるとして説明した。送信先特定部29rhは、復路として、コレクタ221で復路メッセージが中継された後にコレクタ211で当該復路メッセージが中継される経路を採用する。
往路メッセージを中継したコレクタ211及び221(つまり、往路上のコレクタ211及び221)は、復路メッセージの送信時においても中継機能を発揮していることが多く、かつ往路メッセージの中継に用いられた通信回線(つまり、往路上の通信回線)L1、L2、及びL4は、復路メッセージの送信時においても通信可能であることが多いからである。
このため、対応情報追加部29rfは、ステップS63で抽出された対応情報リストLD1を、図8Fに示すように、中継回数の降順にソートする(ステップS68)。次に、対応情報追加部29rfは、ソート済みの対応情報リストDL2を応答メッセージの末尾に追加する(ステップS69)。このように、往路メッセージ生成部29rjは、応答メッセージに対して、ダイジェストDD2とソート済みの対応情報リストDL2とを追加することで、往路メッセージを生成する。
その後、送信先特定部29rhは、ソート済みの対応情報リストDL2「2:192.168.1.220:221,1:192.168.1.210:211,0:192.168.1.110:111」の先頭の対応情報「192.168.1.220:221」を、次の送信先のIPアドレス「192.168.1.220」とポート番号「221」を表す情報と特定する(ステップS70)。次に、復路メッセージ送信部29riは、IPアドレス「192.168.1.220」とポート番号「221」とを指定し、エージェント111を最終的な宛先として復路メッセージを送信する(ステップS71)。このとき、復路メッセージ送信部29riは、送信先であるコレクタ221からACKを受信するまで、所定回数に亘って復路メッセージの送信を繰り返す。その後、ステップS61から上記処理が繰り返される。
ファイナルコレクタ291として機能するCPU290aは、集積スレッドで、図7Cに示すような往路メッセージ集積処理を、図3Bに示したハードウェアと協働して実行する。これにより、CPU290aは、図11に示すような、メッセージ集積部291tとして機能する。メッセージ集積部291tは、往路メッセージ検索部29ta、往路メッセージ送信部29tb、応答受信部29tc、及び往路メッセージ削除部29tdを有する。
集積スレッドで往路メッセージ集積処理の実行が開始されると、ファイナルコレクタ291の往路メッセージ検索部29taは、例えば、キルシグナルを受信したか否かに基づいて、スレッドを終了するか否か判別する(ステップS81)。このとき、往路メッセージ検索部29taは、スレッドを終了しないと判別すると(ステップS81;No)、情報記憶部291mから未だ管理部301へ中継していない往路メッセージ(以下、未中継の往路メッセージという)を検索する(ステップS82)。
次に、往路メッセージ送信部29tbは、検索された未中継の往路メッセージと、当該往路メッセージに対応付けられた対応情報と、を、管理部301へ送信する(ステップS83)。その後、往路メッセージ削除部29tdは、情報記憶部291mから当該往路メッセージと当該対応情報とを削除する(ステップS85)。その後、ステップS81から上記処理が繰り返される。
ステップS81において、往路メッセージ検索部29taは、スレッドを終了すると判別すると(ステップS81;Yes)、往路メッセージ集積処理の実行を終了する。
コレクタ221は、後述するコレクタ211が実行する処理と同様の処理を実行する。これにより、コレクタ221は、復路メッセージを受信すると、図8Gに示すように、復路メッセージの対応情報リストDL2から、コレクタ221の設定対応情報「192.168.1.220:221」と、当該情報に対応付けられた中継回数「2」を表す情報と、を削除する。その後に、コレクタ221は、対応情報リストDL2が有する先頭の設定対応情報「192.168.1.210:211」を、コレクタ221の1つ前に往路メッセージを中継したコレクタの設定対応情報であると特定する。その後、コレクタ221は、特定した設定対応情報を指定して復路メッセージをコレクタ211へ送信する。このとき、コレクタ221は、送信先からACKを受信するまで、所定回数に亘って復路メッセージの送信を繰り返す。
コレクタ211として機能するCPU210aは、復路中継スレッドで、図6Cに示すような復路メッセージ中継処理を、図3Aに示したハードウェアと協働して実行する。これにより、CPU210aは、図10に示すような、復路メッセージ中継部(以下、レシーバともいう)211rとして機能する。レシーバ211rは、第2設定取得部21ra、復路メッセージ受信部21rb、対応情報抽出部21Rrc、対応情報削除部21rd、送信先特定部21re、及び復路メッセージ送信部21rfを有する。
復路中継スレッドで復路メッセージ中継処理の実行が開始されると、コレクタ211の第2設定取得部21raは、引数から設定対応情報「192.168.1.210:211」を取得する(ステップS91)。次に、第2設定取得部21raは、例えば、キルシグナルを受信したか否かに基づいて、スレッドを終了するか否か判別する(ステップS92)。
このとき、スレッドを終了しないと判別されると(ステップS92;No)、復路メッセージ受信部21rbは、コレクタ221から、復路メッセージを、設定された番号「211」の設定ポートで受信する(ステップS93)。次に、対応情報抽出部21Rrcは、復路メッセージから対応情報リストDL2を抽出する(ステップS94)。
その後、対応情報削除部21rdは、復路メッセージの対応情報リストDL2から設定対応情報「192.168.1.210:211」と中継回数「1」を表す情報とを削除する(ステップS96)。その後に、送信先特定部21reは、ファイナルコレクタ291と同様に、往路を逆順に辿る経路を復路と特定する。その後、送信先特定部21reは、対応情報リストDL2に基づいて、往路を逆順に辿る経路における送信先のIPアドレスとポート番号を表す情報とを特定する(ステップS97)。具体的には、送信先特定部21reは、対応情報リストDL2の先頭の対応情報「192.168.1.110:111」を、対応情報リストDL2が有する対応情報の内で、往路においてエージェント111を起点として、コレクタ221の直前に位置する装置の設定対応であると特定する。つまり、送信先特定部21reは、先頭の対応情報「192.168.1.110:111」を、対応情報リストDL2が有する対応情報の内で、最も遅く往路メッセージを中継した中間中継装置の対応情報であると特定する。対応情報リストDL2が有する対応情報の内で、最も遅く往路メッセージを中継した中間中継装置は、往路においてエージェントを起点として、コレクタ211より1つ先に往路メッセージを送信若しくは中継した装置であるためである。このため、送信先特定部21reは、当該装置のIPアドレス「192.168.1.110」と当該装置で実行されたプログラムが往路メッセージの送信若しくは中継に用いたポート番号「111」とを、送信先のIPアドレスとポート番号と特定する。
その後、復路メッセージ送信部21rfは、IPアドレス「192.168.1.110」とポート番号「111」とを指定して復路メッセージを送信する(ステップS98)。このとき、復路メッセージ送信部21rfは、送信先からACKを受信するまで、所定回数に亘って復路メッセージの送信を繰り返す。その後、ステップS92から上記処理が繰り返される。
エージェント111として機能するCPU110aは、受信スレッドで、図4Cに示すような復路メッセージ受信処理を、図2に示したハードウェアと協働して実行する。これにより、CPU110aは、図9に示すような、復路メッセージ受信部(以下、レシーバともいう)111rとして機能する。レシーバ111rは、第2設定取得部11ra、復路メッセージ受信部11rb、ダイジェスト検索部11rc、判定部11rd、及び往路メッセージ再送信部11reを有する。
受信スレッドで復路メッセージ受信処理の実行が開始されると、エージェント111の第2設定取得部11raは、引数から設定対応情報「192.168.1.110:111」を取得する(ステップS101)。次に、第2設定取得部11raは、例えば、キルシグナルを受信したか否かに基づいて、スレッドを終了するか否か判別する(ステップS102)。
このとき、スレッドを終了しないと判別されると(ステップS102;No)、復路メッセージ受信部11rbは、図8Hに示すような復路メッセージを、設定された番号「111」のポートを用いてコレクタ211から受信する(ステップS103)。その後、ダイジェスト検索部11rcは、図8Iに示すように、復路メッセージからデータIDと、ダイジェストDD2と、を抽出する(ステップS104)。次に、ダイジェスト検索部11rcは、情報記憶部111mから、ステップS104で抽出されたデータIDに対応付けられたダイジェストDD1を検索する(ステップS105)。
その後、判定部11rdは、ステップS105で検索されたダイジェスト(以下、検索ダイジェストという)DD1と、ステップS104で抽出されたダイジェスト(以下、抽出ダイジェストという)DD2と、が同一であるか否かを判別する(ステップS106)。
このとき、判定部11rdは、検索ダイジェストDD1と、抽出ダイジェストDD2と、が同一であると判別すると(ステップS106;Yes)、往路メッセージが正確にファイナルコレクタ291へ届いたと判別する。その後、ステップS102から上記処理が繰り返される。
これに対して、判定部11rdは、検索ダイジェストDD1と、抽出ダイジェストDD2と、が同一でないと判別すると(ステップS106;No)、往路メッセージが正確にファイナルコレクタ291へ届かなかったと判別する。次に、往路メッセージ再送信部11reは、情報記憶部111mから予め定められた送信先のIPアドレスとポート番号とを取得する。次に、往路メッセージ再送信部11reは、ステップS104で抽出されたデータIDに対応付けられたイベントデータを情報記憶部111mから検索する。その後、往路メッセージ再送信部11reは、データIDとイベントデータとエージェント111の設定対応情報を含む対応情報リストDL1とからなる第1の往路メッセージを、ファイナルコレクタ291を最終的な宛先として再送信する。この際に、往路メッセージ再送信部11reは、送信先のIPアドレスとポート番号とを指定して往路メッセージを再送信する(ステップS107)。このとき、往路メッセージ再送信部11reは、送信先からACKを受信するまで、所定回数に亘って復路メッセージの送信を繰り返す。その後、ステップS102から上記処理が繰り返される。
ステップS102において、第2設定取得部11raがスレッドを終了すると判別すると(ステップS102;Yes)、復路メッセージ受信処理の実行を終了する。
これらの構成によれば、送受信装置110から送信された往路メッセージが、中間中継装置210及び220で順に中継されてから、最終中継装置290へ送信される場合に、最終中継装置290は、最終段中継装置と称される。最終段中継装置と称される最終中継装置290は、復路メッセージの対応情報リストDL2に含まれるアドレスであって、往路メッセージを送信若しくは中継した装置のアドレス「192.168.1.110」、「192.168.1.210」、及び「192.168.1.220」に基づいて、送受信装置110を最終的な宛先として復路メッセージを送信する。ここで、往路メッセージを中継した中間中継装置210及び220は、往路メッセージを中継しなかった中間中継装置230及び240と比べて、復路メッセージの中継時にもメッセージの中継機能を発揮している可能性が高い。また、往路メッセージの中継に用いられた通信回線L1、L2、及びL3は、復路メッセージの中継時にも通信可能である可能性が高い。このため、復路メッセージの中継における再送の発生を防止できるので、メッセージの中継効率を向上させ、通信コストを削減できる。
これらの構成によれば、上記の場合に、中間中継装置210は、初段中間中継装置と称される。初段中間中継装置と称される中間中継装置210は、復路メッセージの対応情報リストDL2に含まれるアドレス「192.168.1.110」に基づいて、送受信装置110へ復路メッセージを送信する。このため、往路メッセージを送信した送受信装置110へ復路メッセージを確実に送信できる。
これらの構成によれば、上記の場合に、中間中継装置210は、初段中間中継装置と称され、中間中継装置220は、中段中間中継装置と称される。中段中間中継装置と称される中間中継装置220は、復路メッセージの対応情報リストDL2に含まれるアドレス「192.168.1.110」及び「192.168.1.210」に基づいて、中間中継装置210へ復路メッセージを送信する。また、初段中間中継装置と称される中間中継装置210は、中段中間中継装置と称される中間中継装置220から復路メッセージを受信する。このため、往路メッセージの中継経路である往路を逆に辿った経路を、復路メッセージの中継経路とするので、通信可能である可能性が高い通信回線や中継機能を発揮している可能性が高い中間中継装置を経由して復路メッセージを中継できる。
また、これらの構成によれば、上記の場合に中段中継装置と称される中間中継装置220は、復路メッセージに含まれる対応情報リストDL2「2:192.168.1.220:211, 1:192.168.1.210:211,0:192.168.1.110:111」から当該中間中継装置220に割り当てられたアドレス「192.168.1.220」を削除した後に復路メッセージを送信する。また、上記の場合に初段中継装置と称される中間中継装置210は、復路メッセージに含まれる対応情報リストDL2「1:192.168.1.210:211,0:192.168.1.110:111」から当該中間中継装置210に割り当てられたアドレス「192.168.1.210」を削除した後に復路メッセージを送信する。このため、中継される復路メッセージのデータ量が減少するので、往路メッセージや復路メッセージの中継回数が増加しても、メッセージの中継効率の低下を防止し、通信コストの増加を抑制できる。
さらにこれらの構成によれば、送受信装置110のエージェント111から送信された往路メッセージが、中間中継装置210のコレクタ211及び中間中継装置220のコレクタ221で順に中継されてから、最終中継装置290のファイナルコレクタ291へ送信される場合に、中間中継装置210は初段中継装置と称され、中間中継装置220は中段中継装置と称され、最終中継装置290は最終段中継装置と称される。またこの場合、往路においてエージェント111を起点として、エージェント111はコレクタ211の直前に位置しており、コレクタ211はコレクタ221の直前に位置しており、コレクタ221はファイナルコレクタ291の直前に位置している。ファイナルコレクタ291は、生成した往路メッセージの対応情報DL2に含まれるアドレスとポート番号の内で、往路において直前に位置するコレクタ221を有し、中段中継装置と称される中間中継装置220のアドレス「192.168.1.220」と、コレクタ221が往路メッセージの中継に用いたポート番号「221」と、を指定して復路メッセージを送信する。同様に、コレクタ221は、受信した往路メッセージの対応情報DL2に含まれるアドレスとポート番号の内で、往路において直前に位置するコレクタ211を有し、初段中継装置と称される中間中継装置210のアドレス「192.168.1.210」と、コレクタ211が往路メッセージの中継に用いたポート番号「211」と、を指定して復路メッセージを送信する。さらに同様に、コレクタ211は、受信した往路メッセージの対応情報DL2に含まれるアドレスとポート番号の内で、往路において直前に位置するエージェント111を有する送受信装置110のアドレス「192.168.1.110」と、エージェント111が往路メッセージの送信に用いたポート番号「111」と、を指定して復路メッセージを送信する。ここで、往路メッセージを送信若しくは中継したプログラムは、往路メッセージを送信若しくは中継しなかったプログラムと比べて、復路メッセージの中継時にメッセージの中継機能を発揮している可能性が高い。このため、復路メッセージの中継における再送の発生を防止できるので、メッセージの中継効率を向上させ、通信コストを削減できる。また、1台の中間中継装置でメッセージの中継を行うプログラムを複数実行しても、往路メッセージを中継したプログラムが復路メッセージを確実に中継できるので、メッセージの中継効率を向上させ、通信コストを削減できる。
<変形例1>
本実施例では、管理サーバ300は、送受信装置110ないし130の動作及び状態を管理する、として説明したが、これに限定される訳ではない。管理サーバ300は、送受信装置110ないし130の動作及び状態を管理しなくとも良い。すなわち、通信システム1は、管理サーバ300の代わりに、ネットワークストレージのような記憶装置を備え、最終中継装置290は、往路メッセージを記憶装置に保存する構成を採用できる。記憶装置は、データを格納できればよく、単にストレージ機能を提供するものであれば良い。また、記憶装置は、データベースを搭載したものであっても良い。
<変形例2>
本実施例において、最終中継装置290は、管理サーバ300が往路メッセージを受信したことを表す肯定応答(以下、ACKという)を、管理サーバ300から受信するまで、例えば、所定周期で往路メッセージを管理サーバ300に送信し続けるとしても良い。
<変形例3>
変形例2のように、最終中継装置290が管理装置300へ往路メッセージを再送するのではなく、送受信装置110が往路メッセージを管理装置300へ再送しても良い。
この変形例において、送受信装置110は、送信する往路メッセージに含まれるイベントデータの種類に基づいて、当該往路メッセージが再送の必要があるメッセージであるか否かを判別する。このとき、送信した往路メッセージが再送の必要があるメッセージであると判別すると、送受信装置110は、往路メッセージを記憶する。次に、送受信装置110は、往路メッセージを送信した後に、往路メッセージの送信から予め定められた猶予時間以内に、当該往路メッセージに応答する復路データを受信したか否かを判別する。このとき、送受信装置110は、往路メッセージの送信から猶予時間以内に復路データを受信しなかったと判別すると、当該往路メッセージを再送すると共に、猶予時間の値を所定の値だけ増加させる。
その後、送受信装置110は、往路メッセージの再送から猶予時間以内に復路データを受信しない場合に、当該往路メッセージを再送すると共に、猶予時間を所定の値だけ増加させる。さらにその後、サービス提供サーバ送受信装置110は、往路メッセージが予め定められた回数以上再送されるまで、上記処理を繰り返す。
尚、送受信装置120による往路メッセージの再送動作と、送受信装置130による往路メッセージの再送動作と、は、既に説明した送受信装置110による往路メッセージの再送動作と同様であるので、送受信装置120及び130の再送動作の説明を省略する。
この構成によれば、変形例2のように、最終中継装置が往路メッセージを記憶したり、記憶した往路メッセージを再送したりする必要がないので、最終中継装置の処理負荷を軽減できる。
<変形例4>
本実施例において、管理サーバ300は、往路メッセージに含まれるイベントデータに基づき送受信装置110ないし130に異常が発生したか否かを判別し、異常が発生したと判別したサーバを最終的な宛先として、サービスの提供を停止するように命じるメッセージを送信するとしても良い。具体例としては、管理サーバ300は、往路メッセージに含まれるイベントデータが、異常が生じたというイベントを表すデータである場合に、当該往路メッセージを送信した送受信装置に異常が生じたと判別しても良い。
<変形例5>
本実施例において、中間中継装置210から240のそれぞれは、往路メッセージに含まれる対応情報リストDL1の「末尾」に、中継回数を表す情報と、中間中継装置210から240それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、を追加するとして説明した。また、最終中継装置290は、往路メッセージに含まれる対応情報リストDL1を、中継回数が「降順」となるようにソートした対応情報リストDL2を復路メッセージに追加する。その後、最終中継装置290は、対応情報リストDL2の「先頭」のIPアドレスとポート番号とを送信先のIPアドレスとポート番号と指定して往路メッセージを送信するとして説明した。さらに、中間中継装置210から240のそれぞれは、それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、を削除する。その後、中間中継装置210から240のそれぞれは、対応情報リストDL2の「先頭」のIPアドレスとポート番号とを送信先のIPアドレスとポート番号として往路メッセージを送信するとして説明した。
しかし、中間中継装置210から240が、対応情報リストDL1にIPアドレスとポート番号とを追加する位置は、末尾に限定される訳でない。また、中間中継装置210から240が、送信先のIPアドレス及びポート番号とするのは、対応情報リストDL2の先頭のIPアドレス及びポート番号に限定される訳ではない。以下説明する変形例では、中間中継装置210から240のそれぞれは、往路メッセージに含まれる対応情報リストDL1の「先頭」に、中継回数を表す情報と、中間中継装置210から240それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、を追加する。最終中継装置290は、往路メッセージに含まれる対応情報リストDL1を、中継回数が「昇順」となるようにソートした対応情報リストDL2を復路メッセージに追加する。その後、最終中継装置290は、対応情報リストDL2の「末尾」のIPアドレスとポート番号とを送信先のIPアドレスとポート番号と指定して往路メッセージを送信する。中間中継装置210から240のそれぞれは、それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、を削除する。その後、中間中継装置210から240のそれぞれは、対応情報リストDL2の「末尾」のIPアドレスとポート番号とを送信先のIPアドレスとポート番号として往路メッセージを送信する。
<変形例6>
中間中継装置210から240及び最終中継装置290は、対応情報リストDL1及び対応情報リストDL2をスタックとして用いても良い。この変形例では、中間中継装置210から240のそれぞれは、往路メッセージに含まれる対応情報リストDL1の「先頭」に、中間中継装置210から240それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、を追加する。最終中継装置290は、往路メッセージに含まれる対応情報リストDL1を対応情報リストDL2としてソートせずに復路メッセージへ追加する。その後、最終中継装置290は、対応情報リストDL2の「先頭」のIPアドレスとポート番号とを送信先のIPアドレスとポート番号と指定して往路メッセージを送信する。さらに、中間中継装置210から240のそれぞれは、それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、を削除する。その後に、中間中継装置210から240のそれぞれは、対応情報リストDL2の「先頭」のIPアドレスとポート番号とを送信先のIPアドレスとポート番号として往路メッセージを送信する。
<変形例7>
中間中継装置210から240のそれぞれは、往路メッセージに含まれる対応情報リストDL1の「末尾」に、中継回数を表す情報と、中間中継装置210から240それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、を追加しても良い。この変形例において、最終中継装置290は、往路メッセージに含まれる対応情報リストDL1を対応情報リストDL2として復路メッセージに追加する。その後、最終中継装置290は、対応情報リストDL2の「末尾」のIPアドレスとポート番号とを送信先のIPアドレスとポート番号と指定して往路メッセージを送信する。さらに、中間中継装置210から240のそれぞれは、それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、を削除する。その後、中間中継装置210から240のそれぞれは、対応情報リストDL2の「末尾」のIPアドレスとポート番号とを送信先のIPアドレスとポート番号として往路メッセージを送信する。
<変形例8>
送受信装置110から130及び中間中継装置210から240のそれぞれは、往路メッセージに含まれる対応情報リストDL1に、中継回数を表す情報を追加せず、送受信装置110から130及び中間中継装置210から240それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、を追加するとしても良い。中間中継装置210から240のそれぞれは、対応情報リストDL1におけるIPアドレスとポート番号との格納位置に基づいて往路メッセージの送信先を特定できるためである。
<変形例9>
中間中継装置210から240のそれぞれは、中間中継装置210から240それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、に対して、中継回数を表す情報を対応付けていれば、往路メッセージに含まれる対応情報リストDL1の任意の位置に、IPアドレスとポート番号と中継回数を表す情報とを追加しても良い。また、最終中継装置290は、往路メッセージに含まれる対応情報リストDL1を、ソートせずに対応情報リストDL2として復路メッセージに追加する。その後、最終中継装置290は、対応情報リストDL2に追加された情報で表される中継回数の内で、最も多い中継回数を表す情報と対応付けられたIPアドレスとポート番号とを送信先のIPアドレスとポート番号と指定して往路メッセージを送信する。また、中間中継装置210から240のそれぞれは、それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、を削除する。その後、中間中継装置210から240のそれぞれは、対応情報リストDL2に追加された情報で表される中継回数の内で、最も多い中継回数を表す情報と対応付けられたIPアドレスとポート番号とを送信先のIPアドレスとポート番号と指定して往路メッセージを送信する。
<変形例10>
中間中継装置210から240のそれぞれが、それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、を対応情報リストDL2から削除した後に、対応情報リストDL2に基づいて送信先のIPアドレスとポート番号とを特定することに限定されるのではない。以下説明する変形例では、中間中継装置210から240のそれぞれは、対応情報リストDL2に基づいて送信先のIPアドレスとポート番号を特定した後に、それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、対応情報リストDL2から削除する。すなわち、中間中継装置210から240のそれぞれは、対応情報リストDL2が有する中継回数とIPアドレスとポート番号との内で、それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、に対応付けられた中継回数を特定する。その後、中間中継装置210から240のそれぞれは、特定された中継回数よりも値「1」だけ少ない中継回数に対応付けられたIPアドレスとポート番号とを送信先のIPアドレスとポート番号と特定する。最終中継装置290は、対応情報リストDL2が有するIPアドレスとポート番号との内で、最も大きい中継回数に対応付けられたIPアドレスとポート番号とを送信先のIPアドレスとポート番号と指定して往路メッセージを送信する。
<変形例11>
本実施例では、中間中継装置210から240のそれぞれは、往路メッセージに含まれる対応情報リストDL1に、中継回数を表す情報と、中間中継装置210から240それぞれのIPアドレスと、それぞれで実行されたプログラムが往路メッセージの送信に用いたポート番号と、を追加するとして説明した。しかし、これに限定されるのではなく、中間中継装置210から240のそれぞれは、中継回数を表す情報の代わりに、往路メッセージの送信元の(すなわち、往路において直前に位置する装置で追加された)IPアドレスとポート番号とを格納したメモリ領域のアドレス、若しくは、往路メッセージの送信先の(すなわち、往路において直後に位置する装置で追加される)IPアドレスとポート番号とが格納されるメモリ領域のアドレスを表す情報を、対応情報リストDL1に追加しても良い。この場合、リストDL1からアドレス及びポート番号を削除しなくても良い。
<変形例12>
本実施例では、中間中継装置210から240のそれぞれは、往路メッセージに含まれる対応情報リストDL1に、中間中継装置210から240それぞれのIPアドレスを追加するとして説明した。しかし、IPアドレスに限定されるのではなく、中間中継装置210から240のそれぞれは、例えば、ドメイン名及びホスト名といった、中間中継装置210から240それぞれを識別する情報であればどのような情報を追加しても構わない。
<変形例13>
本実施例において、エージェント111、コレクタ211及びコレクタ221は、ファイナルコレクタ291へ送信する往路メッセージに、それぞれの設定対応情報を追加するとして説明したが、これに限定される訳ではない。エージェント111は、設定対応情報を往路メッセージに追加せず、コレクタ211及びコレクタ221並びにファイナルコレクタ291は、往路メッセージの送信元の設定対応情報を往路メッセージに追加しても良い。
すなわち、本実施例では、エージェント111は、図4Bに示した往路メッセージ送信処理のステップS18を実行した後に、ステップS19で往路メッセージにエージェント111の設定対応情報を追加してから、ステップS20で、エージェント111の設定対応情報が追加された第1の往路メッセージを送信するとして説明した。また、コレクタ211は、図6Bに示した往路メッセージ中継処理のステップ43で第1の往路メッセージを受信した後に、ステップS45で、コレクタ211の中継が終了した時点での中継回数を表す情報と、コレクタ211の設定対応情報と、を、第1の往路メッセージに追加する。その後、コレクタ211は、ステップS46で、コレクタ211の設定対応情報が追加された第2の往路メッセージを送信するとして説明した。さらに、ファイナルコレクタ291は、図7Bに示した往路メッセージ応答処理のステップS62で往路メッセージを受信した後に、ステップS63で往路メッセージから対応情報リストを抽出するとして説明した。
しかし、本変形例では、エージェント111は、図4Bに示した往路メッセージ送信処理ではなく、図12に示す往路メッセージ送信処理を実行する。以下、図12に示す往路メッセージ送信処理について説明するが、図4Bに示した往路メッセージ送信処理と同じ処理については説明を省略する。
図12の往路メッセージ送信処理では、エージェント111は、ステップS18を実行した後に、ステップS19の往路メッセージにエージェント111の設定対応情報を追加する処理を実行せず、ステップS20で第1の往路メッセージを送信する。
また、コレクタ211は、図6Bに示した往路メッセージ中継処理ではなく、図13に示す往路メッセージ中継処理を実行する。以下、図13に示す往路メッセージ中継処理について説明するが、図6Bに示した往路メッセージ中継処理と同じ処理については説明を省略する。
図13に示す往路メッセージ中継処理では、コレクタ211は、ステップ43を実行した後に、ステップS45で、受信された第1の往路メッセージに含まれる対応情報リストDL1に、エージェント111が往路メッセージを送信した時における往路メッセージの中継回数「0」を表す情報と、エージェント111の設定対応情報と、を追加することで、第2の往路メッセージを生成する(ステップ45a)。その後、コレクタ211は、ステップ46で第2の往路メッセージを送信する。また、コレクタ221は、同様に、第2の往路メッセージを受信すると、受信された第2の往路メッセージに含まれる対応情報リストDL1に、コレクタ211が第2の往路メッセージを送信した時における往路メッセージの中継回数「1」を表す情報と、コレクタ211の設定対応情報と、を追加する。
さらに、ファイナルコレクタ291は、図7Bに示した往路メッセージ応答処理ではなく、図14に示す往路メッセージ応答処理を実行する。以下、図14に示す往路メッセージ応答処理について説明するが、図7Bに示した往路メッセージ応答処理と同じ処理については説明を省略する。
図14に示す往路メッセージ応答処理では、ファイナルコレクタ291は、ステップS62で第2の往路メッセージを受信した後に、受信された第2の往路メッセージに含まれる対応情報リストDL1に、コレクタ221が往路メッセージを送信した時における往路メッセージの中継回数「2」を表す情報と、コレクタ221の設定対応情報と、を追加する(ステップ62b)。その後、ファイナルコレクタ291は、ステップS63で往路メッセージから対応情報リストを抽出する。
<変形例14>
本実施例において、エージェント111、コレクタ211及びコレクタ221は、ファイナルコレクタ291へ送信する往路メッセージに、それぞれの設定対応情報を追加するとして説明したが、これに限定される訳ではない。エージェント111は、エージェント111の設定対応情報と送信先の設定対応情報とを往路メッセージに追加し、コレクタ211は、往路メッセージの送信先の設定対応情報を往路メッセージに追加しても良い。
この変形例では、エージェント111は、図4Bに示した往路メッセージ送信処理ではなく、図15に示す往路メッセージ送信処理を実行しても良い。以下、図15に示す往路メッセージ送信処理について説明するが、図4Bに示した往路メッセージ送信処理と同じ処理については説明を省略する。
図15の往路メッセージ送信処理では、エージェント111は、ステップS18で往路メッセージを保存した後に、ステップS19で、往路メッセージに含まれる対応情報リストDL1に、エージェント111が往路メッセージを送信した時における往路メッセージの中継回数「0」を表す情報と、エージェント111の設定対応情報と、を追加する。その後、エージェント111は、ステップS19bで、送信先が往路メッセージを送信した時における往路メッセージの中継回数を表す情報と、送信先の設定対応情報と、を往路メッセージに含まれる対応情報リストDL1へ追加する。これらの情報を往路メッセージに追加することにより、エージェント111は、第1の往路メッセージを生成する。その後、エージェント111は、ステップS20で第1の往路メッセージを送信先へ送信する。
また、コレクタ211は、図6Bに示した往路メッセージ中継処理ではなく、図16に示す往路メッセージ中継処理を実行する。以下、図16に示す往路メッセージ中継処理について説明するが、図6Bに示した往路メッセージ中継処理と同じ処理については説明を省略する。
図16に示す往路メッセージ中継処理では、コレクタ211は、ステップ43で第1の往路メッセージを受信した後に、ステップ44で、送信先が最終的な宛先であるファイナルコレクタ291であるか否かを判別する。このとき、コレクタ211は、送信先がファイナルコレクタ291でないと判別すると(ステップ44;No)、往路メッセージに含まれる対応情報リストDL1に、送信先が往路メッセージを送信した時の中継回数を表す情報と、送信先の設定対応情報と、を追加することで、第2の往路メッセージを生成する(ステップ45b)。その後、コレクタ211は、ステップ46で第2の往路メッセージを送信する。
これに対して、コレクタ211は、送信先がファイナルコレクタ291であると判別すると(ステップ44;Yes)、ステップ45bを実行せずに、ステップ46で第2の往路メッセージを送信する。
<変形例15>
本実施例において、エージェント111から131は、それぞれ異なるサービスを提供し、それぞれ異なる暗号鍵を用いて往路メッセージに含まれるイベントデータDEを暗号化してからファイナルコレクタ291へ送信しても良い。この変形例において、ファイナルコレクタ291若しくは管理サーバ300の管理部301は、エージェント111から131の設定対応情報と、エージェント111から131が暗号鍵を用いて暗号化した暗号文を平文へ復号する復号方法を表す情報と、を対応付けて記憶している。ファイナルコレクタ291若しくは管理サーバ300の管理部301は、往路メッセージを受信すると、往路メッセージに含まれる対応情報リストLD1に基づいてイベントデータDEを暗号化したエージェントの設定対応情報を特定する。また、ファイナルコレクタ291若しくは管理部301は、特定した設定対応情報に対応付けられた情報に基づいて、暗号化されたイベントデータDEを復号する。
これらの構成によれば、エージェント111から131は、異なるサービスを提供しており、かつそれぞれ異なる暗号化キーを用いてイベントデータDEを暗号化する。このため、コレクタが複数のエージェントからイベントデータを収集しても、当該コレクタを管理するユーザが、異なるサービスのデータを互いに参照したり、組み合わせることを防止できる。すなわち、データの保全性がそれぞれ異なるサービスをエージェント111から131が提供していても、セキュリティを確保しながら、エージェント111から131が送信するイベントデータを同じコレクタで中継できる。
<変形例16>
本実施例において、エージェント111から131は、往路メッセージを再送するため、図5に示した管理部301は、ファイナルコレクタ291から往路メッセージを重複して受信する場合がある。このため、管理部301は、受信した複数の往路メッセージから、重複して受信した往路メッセージを、往路メッセージに含まれるデータIDに基づいて検出する。その後、管理部301は、検出された複数の往路メッセージから1つを選択した後に、選択された往路メッセージ以外のメッセージを削除する。管理部301は、重複して受信した往路メッセージを検出する処理及び重複して受信した往路メッセージを削除する処理を、新たな往路メッセージを受信したタイミング(つまり、リアルタイム)で実行しても良いし、予め定められた時刻で(つまり、バッチ処理として)実行しても良い。
これらの構成により、管理部301におけるデータ容量の無駄遣いを防ぎ、誤ったデータ分析を防止できる。
<変形例17>
本実施例では、エージェント111は、図4Bに示した往路メッセージ送信処理において、イベントが発生したと判別すると(ステップS15;Yes)、当該イベントを表す1つのイベントデータDEを含む1つの往路メッセージを送信する(ステップS20)、として説明した。送信される往路メッセージのデータサイズを、後述する本変形例よりも小さくでき、エージェント111、コレクタ211から242、及びファイナルコレクタ291が往路メッセージを中継するのに必要なメモリサイズを小さくできるからである。
しかし、これに限定されるのではなく、エージェント111は、ステップS15において、前回に往路メッセージを送信してから、所定数のイベントが発生したか否かを判定しても良い。この変形例において、エージェント111は、所定数のイベントが発生したと判定すると(ステップS15;Yes)、ステップS20において、当該所定数のイベントをそれぞれ表す所定数のイベントデータDEを含んだ1つの往路メッセージを送信する。この構成によれば、往路メッセージの送信回数を軽減できるので、通信コストを削減できる。
<変形例18>
本実施例において、エージェント111から131及びコレクタ211から242は、通信システム1の管理者が予め定めた送信先のIPアドレスとポート番号とを指定して往路メッセージを送信する、として説明した。すなわち、エージェント110から最終中継装置291まで往路メッセージを送信するために用いられる経路は、管理者が予め定めた設定経路に限られるとして説明した。しかし、これに限定される訳ではなく、エージェント111から131及びコレクタ211から242は、ルーティングテーブルを用いて送信先を動的に変更しても良い。
以下、本変形例における往路の決定方法について説明する。
エージェント111からファイナルコレクタ291まで往路メッセージを中継するために用いられる往路は、以下の3つの規則に従って、エージェント111及びコレクタ211から242が決定する。
規則1:エージェント111とコレクタ211から242とは、通信システム1の管理者によって宛先毎に予め定められたプライオリティの高い経路(すなわち、設定経路)を辿って往路メッセージが送信されるように往路メッセージを送信する。すなわち、エージェント111とコレクタ211から242とは、管理者によって宛先毎に予め定められた送信先(以下、設定送信先という)へ往路メッセージを送信する。
規則2:エージェント111とコレクタ211から242とは、設定送信先へ往路メッセージを送信できない場合には、管理者によって宛先毎に予め定められた代替送信先へ往路メッセージを送信する。
規則3:エージェント111とコレクタ211から242とは、設定送信先及び代替送信先のどちらにも往路メッセージを送信できない場合には、往路メッセージの送信元以外の送信可能なコレクタ211から242(以下、選択可能送信先という)のいずれかを選択する。次に、エージェント111とコレクタ211から242とは、選択した選択可能送信先へ往路メッセージを送信する。
尚、エージェント112からファイナルコレクタ291までの往路の決定方法、エージェント121からファイナルコレクタ291までの往路の決定方法、及びエージェント131からファイナルコレクタ291までの往路の決定方法は、エージェント111からファイナルコレクタ291までの往路の決定方法と同様である。
以下、図5に示したエージェント121からファイナルコレクタ291へ往路メッセージを送信するための設定経路が、コレクタ231の後にコレクタ241を経由する経路であり、代替経路がコレクタ231の後にコレクタ242を経由する経路である場合を例に挙げて説明を行う。
エージェント121からファイナルコレクタ291へ往路メッセージを送信するための設定経路が、コレクタ231の後にコレクタ241を経由する経路であるため、エージェント121の設定送信先は、コレクタ231である。また、代替経路が、コレクタ231の後にコレクタ242を経由する経路であるため、エージェント121の代替送信先は、存在しない。さらに、エージェント121は、コレクタ231のみ接続するため、選択可能接続先も存在しない。
このため、エージェント121は、図17Aに示すようなルーティングテーブルを記憶している。このルーティングテーブルには、宛先とされるファイナルコレクタ291の設定対応情報と、設定送信先であるコレクタ231の設定対応情報と、が対応付けられたデータが保存されている。
設定経路が、コレクタ231の後にコレクタ241を経由する経路であるため、コレクタ231の設定送信先は、コレクタ241である。また、代替経路が、コレクタ231の後にコレクタ242を経由する経路であるため、コレクタ231の代替送信先は、コレクタ242である。さらに、コレクタ231は、コレクタ221にも接続するため、コレクタ231の選択可能接続先は、コレクタ221である。
このため、コレクタ231は、図17Bに示すようなルーティングテーブルを記憶している。このルーティングテーブルには、宛先とされるファイナルコレクタ291の設定対応情報と、設定送信先であるコレクタ241の設定対応情報と、代替送信先であるコレクタ242の設定対応情報と、選択可能送信先であるコレクタ221の設定対応情報と、が対応付けられたデータが保存されている。
コレクタ221、コレクタ241、及びコレクタ242は、図17Cから図17Eにそれぞれ示すルーティングテーブルを記憶している。これらのルーティングテーブルには、宛先とされるファイナルコレクタ291の設定対応情報と、設定送信先であるファイナルコレクタ291の設定対応情報と、が対応付けられたデータが保存されている。
先ず、設定経路を辿ってエージェント121からファイナルコレクタ291へ往路メッセージを送信できる場合におけるエージェント121、コレクタ231、及びコレクタ241の動作について説明する。
エージェント121は、図17Aに示すルーティングテーブルから、宛先であるファイナルコレクタ291の設定対応情報「192.168.1.290:291」に対応付けられた設定送信先であるコレクタ231の設定対応情報「192.168.1.230:231」を読み出す。次に、エージェント121は、「192.168.1.230:231」を指定して往路メッセージをコレクタ231へ送信する。その後、エージェント121は、所定時間以内にコレクタ231からACKを受信し、往路メッセージがコレクタ231に受信されたと判定する。
コレクタ231は、図17Bに示すルーティングテーブルから、ファイナルコレクタ291の設定対応情報「192.168.1.290:291」に対応付けられた設定送信先であるコレクタ241の設定対応情報「192.168.1.240:241」を読み出す。次に、コレクタ231は、「192.168.1.240:241」を指定して往路メッセージをコレクタ241へ送信する。その後、コレクタ231は、所定時間以内にコレクタ241からACKを受信し、往路メッセージがコレクタ241に受信されたと判定する。
コレクタ241は、図17Cに示すルーティングテーブルから、ファイナルコレクタ291の設定対応情報「192.168.1.290:291」に対応付けられた設定送信先の設定対応情報「192.168.1.290:291」を読み出す。次に、コレクタ241は、「192.168.1.290:291」を指定して往路メッセージを最終的な宛先であるファイナルコレクタ291へ送信する。その後、コレクタ241は、所定時間以内にファイナルコレクタ291からACKを受信し、往路メッセージがファイナルコレクタ291に受信されたと判定する。
次に、エージェント121からファイナルコレクタ291へ、設定経路を辿って往路メッセージが送信されるのではなく、代替経路を辿って往路メッセージが送信される場合におけるエージェント121、コレクタ231、及びコレクタ242の動作について説明する。
エージェント121は、「192.168.1.230:231」を指定して往路メッセージをコレクタ231へ送信する。
コレクタ231は、図17Bに示すルーティングテーブルから、ファイナルコレクタ291の設定対応情報「192.168.1.290:291」に対応付けられた設定送信先の設定対応情報「192.168.1.240:241」を読み出す。次に、コレクタ231は、「192.168.1.240:241」を指定して往路メッセージをコレクタ241へ送信する。その後、コレクタ231は、往路メッセージの送信後、送信先からACKを受信するまで所定時間に亘って往路メッセージの送信を繰り返す。次に、コレクタ231は、往路メッセージの送信から所定時間経過しても送信先からACKを受信しないため、往路メッセージの送信が失敗したと判定する。
次に、コレクタ231は、図17Bに示すルーティングテーブルから、ファイナルコレクタ291の設定対応情報「192.168.1.290:291」に対応付けられた代替送信先の設定対応情報「192.168.1.240:242」を読み出す。次に、コレクタ231は、「192.168.1.240:242」を指定して往路メッセージをコレクタ242へ送信する。その後、コレクタ231は、所定時間以内にコレクタ242からACKを受信したため、往路メッセージがコレクタ242に受信されたと判定する。
コレクタ242は、図17Dに示すルーティングテーブルから、ファイナルコレクタ291の設定対応情報「192.168.1.290:291」に対応付けられた設定送信先の設定対応情報「192.168.1.290:291」を読み出す。次に、コレクタ221は、「192.168.1.290:291」を指定して往路メッセージを最終的な宛先であるファイナルコレクタ291へ送信する。その後、コレクタ241は、所定時間以内にファイナルコレクタ291からACKを受信し、往路メッセージがファイナルコレクタ291に受信されたと判定する。
最後に、エージェント121からファイナルコレクタ291へ、設定経路及び代替経路のいずれとも異なる経路を辿って往路メッセージが送信される場合におけるエージェント121、コレクタ231、及びコレクタ221の動作について説明する。
エージェント121は、「192.168.1.230:231」を指定して往路メッセージをコレクタ231へ送信する。
コレクタ231は、図17Bに示すルーティングテーブルから、ファイナルコレクタ291の設定対応情報「192.168.1.290:291」に対応付けられた設定送信先の設定対応情報「192.168.1.240:241」を読み出す。次に、コレクタ231は、「192.168.1.240:241」を指定して往路メッセージを送信する。その後、コレクタ231は、往路メッセージの送信後、送信先からACKを受信するまで所定時間に亘って往路メッセージの送信を繰り返す。しかし、コレクタ231は、往路メッセージの送信から所定時間経過しても送信先からACKを受信しないため、往路メッセージの送信が失敗したと判定する。
次に、コレクタ231は、図17Bに示すルーティングテーブルから、ファイナルコレクタ291の設定対応情報「192.168.1.290:291」に対応付けられた代替送信先の設定対応情報「192.168.1.240:242」を読み出す。次に、コレクタ231は、「192.168.1.240:242」を指定して往路メッセージを送信する。その後、コレクタ231は、往路メッセージの送信後、送信先からACKを受信するまで所定時間に亘って往路メッセージの送信を繰り返す。しかし、コレクタ231は、往路メッセージの送信から所定時間経過しても送信先からACKを受信しないため、往路メッセージの送信が失敗したと判定する。
次に、コレクタ231は、図17Bに示すルーティングテーブルから、ファイナルコレクタ291の設定対応情報「192.168.1.290:291」に対応付けられた選択可能送信先の設定対応情報「192.168.1.220:221」を読み出す。次に、コレクタ231は、「192.168.1.220:221」を指定して往路メッセージを送信する。その後、コレクタ231は、所定時間以内にコレクタ221からACKを受信したため、コレクタ221が往路メッセージを受信したと判定する。
コレクタ221は、図17Eに示すルーティングテーブルから、ファイナルコレクタ291の設定対応情報「192.168.1.290:291」に対応付けられた設定送信先の設定対応情報「192.168.1.290:291」を読み出す。次に、コレクタ231は、「192.168.1.290:291」を指定して往路メッセージを最終的な宛先であるファイナルコレクタ291へ送信する。その後、コレクタ221は、所定時間以内にファイナルコレクタ291からACKを受信し、往路メッセージがファイナルコレクタ291に受信されたと判定する。
これらの構成によれば、ある送信先へ往路メッセージの送信が失敗しても、他の送信先へ往路メッセージを送信するので、メッセージが確実に最終中継装置290へ送信されるだけでなく、往路メッセージの送信が成功した中間中継装置で復路メッセージの中継が行われるので、メッセージの中継効率を向上させ、通信コストを削減できるだけでなく、往路メッセージの送信先を検索する検索コストを削減できる。
<変形例19>
本実施例において、図1に示した通信システム1は、管理サーバ300を備え、管理サーバ300は、送受信装置110から130でそれぞれ生じたイベントを表すイベントデータを、最終中継装置290から中継されるとして説明した。また、管理サーバ300は、中継された往路メッセージからイベントデータを抽出し、抽出したイベントデータに基づき送受信装置110ないし130の動作及び状態を管理するとして説明した。
本変形例では、図18に示すように、通信システム1は、管理サーバ300の代わりに制御装置(マスタともいう)400を備え、制御装置400は、通信システム1を構成する送受信装置110から130、中間中継装置210から240、及び最終中継装置290の全てに接続されており、これらの全てと通信可能である。制御装置400は、送受信装置110から130、中間中継装置210から240、及び最終中継装置290から、これらの装置の動作状態と、これらの装置と他の装置との通信状態とを報告するステータスレポートを直接的に受信する。
制御装置400は、受信したステータスレポートに基づいて、送受信装置110から130、中間中継装置210から240、及び最終中継装置290に障害が発生したか否かを判別する。また、制御装置400は、障害が発生したと判別すると、発生した障害の種類を、ステータスレポートに基づいて判別する。さらに、制御装置400は、障害が発生したと判別した装置である障害発生装置と、障害発生装置の通信相手と、の通信に障害が発生したか否かを、受信したステータスレポートに基づいて判別する。
その後、制御装置400は、障害発生装置の通信相手を、例えば、リンクを解消するなどして、障害発生装置との通信を終了させるように制御する。次に、制御装置400は、障害が発生したと判別した装置を、判別した障害の種類に応じた制御内容で動作するように制御したり、例えば、再起動など、障害を解消させる動作を行うように制御する。その後、制御装置400は、例えば、障害発生装置の通信相手に、障害発生装置とのリンクを再確立させるなど、障害発生装置と障害発生装置の通信相手との通信を再開するように制御する。
制御装置400は、送受信装置110と同様に、図19に示すようなCPU400a、ROM400b、RAM400c、ハードディスク400d、メディアコントローラ400e、LANカード400f、ビデオカード400g、LCD400h、キーボード400i、スピーカ400j、及びタッチパッド400kで構成される。
制御装置400のCPU400aは、図20に示すような障害解消制御処理を、図19に示したハードウェアと協働して実行する。これにより、CPU400aは、図21に示すような、レポート受信部420、障害発生判別部430、制御内容決定部440、及び障害解消制御部450として機能する。また、CPU110aは、ハードディスク400dと協働することで、情報記憶部410として機能する。
情報記憶部410は、図5に示した送受信装置110から130のエージェント111、112、121、及び131(以下、エージェント111等という)の設定対応情報を記憶している。また、情報記憶部410は、中間中継装置210から240のコレクタ211、212、221、231、241、及び242(以下、コレクタ211等という)、並びに最終中継装置290のファイナルコレクタ291の設定対応情報を記憶している。
また、情報記憶部410は、エージェント111等、コレクタ211等、及びファイナルコレクタ291の設定対応情報と、当該設定対応情報が設定されたエージェント111等、コレクタ211等、及びファイナルコレクタ291の通信相手に設定された設定対応情報と、を対応付けて複数記憶している。例えば、図5に示すように、コレクタ211は、エージェント111及び112並びにコレクタ221と通信可能である。このため、情報記憶部410は、コレクタ211の設定対応情報と、エージェント111の設定対応情報、エージェント112の設定対応情報、及びコレクタ221の設定対応情報と、を対応付けて複数記憶している。
さらに、情報記憶部410は、設定対応情報と、当該設定対応情報が設定されたエージェント111等、コレクタ211等、及びファイナルコレクタ291で生じ得る障害の種類を表す情報と、当該種類の障害が生じた場合に、当該障害の影響が波及し難くなるような動作をさせる制御内容及び当該障害が解消するような動作をさせる制御内容のいずれか1つ以上を表す制御内容データと、を対応付けて複数記憶している。例えば、バッファオーバーフローという障害であれば、障害が解消するような動作をさせる制御内容は、障害が生じた装置を再起動させる制御内容を含み、障害の影響が波及し難いような動作をさせる制御内容は、接続先を制限する制御内容や、動作を停止させる制御内容を含む。
またさらに、情報記憶部410は、エージェント111等、コレクタ211等、並びにファイナルコレクタ291で生じ得る障害若しくは故障を診断するための診断モデルを表すデータを記憶している。
制御装置400のCPU400aが、図20に示すような障害解消制御処理を開始すると、レポート受信部420は、予め定められた終了条件が満足されたか否かを判別する(ステップS111)。具体例としては、レポート受信部420は、図19のキーボード400iから出力された信号を取得し、取得した信号に基づいて、例えば、シャットダウンコマンドが入力される等の終了条件が満足されたか否かを判別する。
このとき、レポート受信部420は、終了条件が満足されていないと判別すると(ステップS111;No)、エージェント111等、コレクタ211等、及びファイナルコレクタ291から、これらの設定対応情報と、これらのステータスレポートと、を受信する(ステップS112)。
ここで、ステータスレポートとは、例えば、バッファに記憶されたデータの内容や通信状況等を含む動作状態を表す情報である。
本変形例では、本実施例と同様に、エージェント111等とコレクタ211等との間、及び、コレクタ211等とファイナルコレクタ291との間で、往路メッセージや復路メッセージが送信される。コレクタ211等及びファイナルコレクタ291は、往路メッセージを受信するとACKを返信する。これに対して、往路メッセージを送信したエージェント111等及びコレクタ211等は、送信先からACKを受信するまで、所定回数に亘って往路メッセージの送信を繰り返す。同様に、エージェント111等及びコレクタ211等は、復路メッセージを受信するとACKを返信し、復路メッセージを送信したコレクタ211等及びファイナルコレクタ291は、送信先からACKを受信するまで、所定回数に亘って復路メッセージの送信を繰り返す。このため、ステータスレポートは、通信状況を、往路メッセージの再送信回数若しくは復路メッセージの再送信回数を用いて表しても良い。
ステップS112が実行された後に、障害発生判別部430は、情報記憶部410から診断モデルを表すデータを読み出し、読み出したデータで表されるモデルに、ステータスレポートで報告された動作状態を入力する。次に、障害発生判別部430は、診断モデルを解析することで、エージェント111等、コレクタ211等、及びファイナルコレクタ291のいずれかに障害が発生したか否かを判別する(ステップS114)。このとき、故障が発生していない、と障害発生判別部430が判別すると(ステップS114;No)、ステップS111から上記処理が繰り返される。
これに対して、故障が発生した、と障害発生判別部430が判別すると(ステップS114;Yes)、障害発生判別部430は、診断モデルをさらに解析することで、エージェント111等、コレクタ211等、及びファイナルコレクタ291のいずれに故障が発生したか、及び、発生した故障の種類を特定する。
さらに、障害発生判別部430は、故障が発生したことが特定されたエージェント111等、コレクタ211等、及びファイナルコレクタ291のいずれか(以下、故障発生部という)の設定対応情報に対応付けて情報記憶部410が記憶する設定対応情報を特定する。次に、障害発生判別部430は、特定した設定対応情報が設定されたエージェント111等、コレクタ211等、及びファイナルコレクタ291のいずれか1つ以上を、故障発生部の通信相手であると特定する。
その後、障害発生判別部430は、受信されたステータスレポートに基づいて、故障発生部とその通信相手との通信に異常が生じたか否かを判別する。次に、故障発生装置の設定対応情報と、特定した故障の種類を表す情報と、に対応付けて、情報記憶部410が記憶する制御内容データを特定する(ステップS115)。
その後、障害解消制御部450は、さらに障害が生じることを回避したり、障害を解消させるため、特定された制御内容データで表される制御内容で、故障発生部を制御する(ステップS116)。
次に、障害解消制御部450は、故障発生部と故障発生部の通信相手とのリンクを再確立し、通信障害を回復するように、故障発生部の通信相手を制御する(ステップS117)。その後、ステップS111から上記処理が繰り返される。
ステップS117において、故障発生部の通信相手は、通信障害が生じる前に受信した往路メッセージに基づいて、通信に用いられる故障発生部のアドレス及びポート番号を特定し、特定したアドレス及びポート番号を用いて故障発生部とのリンクを再確立しても良い。
具体的には、故障発生部の通信相手は、往路メッセージを受信すると、当該往路メッセージを送信する前若しくは送信した後から、往路メッセージを所定期間に亘って記憶する。次に、障害解消制御部450から、通信障害を回復するように制御されると、故障発生部の通信相手は、記憶している往路メッセージから対応情報リストDL1を抽出する。その後、故障発生部の通信相手は、対応情報リストDL1から、上記往路メッセージの往路において、送受信装置110のエージェント111を起点として、当該故障発生部の通信相手の直前に位置するエージェント若しくはコレクタの設定対応情報を特定する。次に、故障発生部の通信相手は、特定した設定対応情報を故障発生部の設定対応情報とし、当該設定対応情報に含まれるIPアドレスとポート番号とを用いて故障発生部とのリンクを再確立する。
勿論、故障発生部の通信相手は、往路メッセージに代えて、若しくは、往路メッセージだけでなく復路メッセージに基づいて、故障発生部とのリンクを再確立してもよい。
さらに、故障発生部の通信相手は、復路メッセージの対応情報リストDL2から、往路において、送受信装置110のエージェント111を起点として、当該故障発生部の通信相手の直後に位置するコレクタ若しくはファイナルコレクタの設定対応情報を特定し、特定した設定対応情報を故障発生部の設定対応情報としても良い。
ステップS111において、レポート受信部420は、終了条件が満足されたと判別されると(ステップS111;Yes)、障害解消制御処理の実行を終了する。
これらの構成によれば、エージェント111等、コレクタ211等、及びファイナルコレクタ291のいずれか1つ以上から受信したステータスレポートに基づいてこれらの装置のいずれかに障害が生じたと判別すると、障害が生じたと判別されたエージェント111等、コレクタ211等、及びファイナルコレクタ291のいずれか1つ以上を、当該障害に応じた動作を行うように制御する。特に、障害に応じた動作は、障害の影響が波及し難い動作を含む。このため、新たに生じる障害を自動的に回避できる。
またこれらの構成によれば、エージェント111等、コレクタ211等、及びファイナルコレクタ291のいずれか1つ以上に障害が生じたと判別すると、障害が生じたと判別されたエージェント111等、コレクタ211等、及びファイナルコレクタ291のいずれか1つ以上(つまり、障害発生部)との通信相手を、障害発生部との通信を回復するように制御する。このため、エージェント111等、コレクタ211等、及びファイナルコレクタ291のいずれか1つ以上に生じた障害により通信障害が発生しても、通信障害を自動的に回復できる。
本実施例若しくは本実施例の変形例1から19のいずれかに係る機能を実現するための構成を予め備えた中間中継装置210から240若しくは最終中継装置290として提供できることはもとより、プログラムの適用により、既存の中間中継装置及び最終中継装置290を本実施例若しくは本実施例の変形例1から19のいずれかに係る中間中継装置210から240として機能させることもできる。すなわち、上記本実施例若しくは本実施例の変形例1から19のいずれかで例示した中間中継装置210から240若しくは最終中継装置290による各機能構成を実現させるための中継プログラムを、既存の中間中継装置若しくは最終中継装置を制御するコンピュータ(CPUなど)が実行できるように適用することで、本実施例若しくは本実施例の変形例1から19のいずれかに係る中間中継装置210から240若しくは最終中継装置290として機能させることができる。
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM、又はDVD−ROMなどの記録媒体に格納して配布できる他、インターネットなドの通信媒体を介して配布することもできる。また、本発明に係る中継方法及び通信方法は、本実施例に係る中間中継装置210から240及び通信システム1をそれぞれ用いて実施できる。
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
本出願は、2012年1月31日に出願された日本国特許出願2012−017514号に基づく。本明細書中に日本国特許出願2012−017514号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
本発明は、メッセージを中継する通信システム及び中継装置、中継プログラム、中継プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに通信方法及び中継方法に適する。
1:通信網システム
10:通信網
11:端末装置
11da:第1設定取得部
11db:リクエスト受信部
11dc:サービス提供部
11dd:イベントデータ生成部
11de:ダイジェスト生成部
11df:ダイジェスト保存部
11dg:対応情報追加部
11dh:往路メッセージ送信部
11di:往路メッセージ生成部
11ra:第2設定取得部
11rb:復路メッセージ受信部
11rc:ダイジェスト検索部
11rd:判定部
11re:往路メッセージ再送信部
21da:第1設定取得部
21db:往路メッセージ受信部
21dc:対応情報追加部
21dd:往路メッセージ送信部
21de:往路メッセージ再生成部
21ra:第2設定取得部
21rb:復路メッセージ受信部
21rc:対応データ抽出部
21rd:対応情報削除部
21re:送信先特定部
21rf:復路メッセージ送信部
29ra:往路メッセージ受信部
29rb:対応情報抽出部
29rc:往路メッセージ保存部
29rd:誤り検出符合生成部
29re:応答メッセージ生成部
29rf:誤り検出符合追加部
29rg:対応情報追加部
29rh:送信先特定部
29ri:復路メッセージ送信部
29ta:往路メッセージ検索部
29tb:往路メッセージ送信部
29tc:応答受信部
29td:往路メッセージ削除部
110、120、130:送受信装置
110a:CPU
110b:ROM
110c:RAM
110d:ハードディスク
110e:メディアコントローラ
110f:LANカード
110g:ビデオカード
110h:LCD
110i:キーボード
110j:スピーカ
110k:タッチパッド
111、112、121、131:送受信部(エージェント)
111d:往路メッセージ送信部(ディストリビュータ)
111m:情報記憶部
111r:復路メッセージ受信部(レシーバ)
210、220、230、240:中間中継装置
210a:CPU
210b:ROM
210c:RAM
210d:ハードディスク
210e:メディアコントローラ
210f:LANカード
210g:ビデオカード
210h:LCD
210i:キーボード
210j:スピーカ
210k:タッチパッド
211、212、221、231、241、242:中間中継部(コレクタ)
211d:往路メッセージ中継部(ディストリビュータ)
211r:復路メッセージ中継部(レシーバ)
290:最終中継装置
290a:CPU
290b:ROM
290c:RAM
290d:ハードディスク
290e:メディアコントローラ
290f:LANカード
290g:ビデオカード
290h:LCD
290i:キーボード
290j:スピーカ
290k:タッチパッド
291:最終中継部(ファイナルコレクタ)
291r:応答部
291m:情報記憶部
291t:メッセージ集積部
300:管理サーバ
301:管理部
400:制御装置
410:情報記憶部
420:レポート受信部
430:障害判定部
440:制御内容決定部
450:障害解消制御部

Claims (26)

  1. ポート番号がそれぞれ設定された複数のエージェントを有し、前記複数のエージェントのうち指定されたエージェントから、リストを含む往路メッセージを送信する送受信装置と、上記往路メッセージの最終的な宛先であり、かつ上記往路メッセージに応じて復路メッセージを上記送受信装置に送信する最終段中継装置と、上記復路メッセージと上記往路メッセージとを中継する初段中継装置と、から少なくとも構成される通信システムにおいて、
    (1).上記送受信装置内の上記複数のエージェントは、
    ・上記送受信装置に割り当てられている自身のアドレスと、上記往路メッセージの送信に用いるポート番号と、が追加されたリストを含む第1の往路メッセージを生成する第1のメッセージ生成器と、
    ・上記第1のメッセージ生成器で生成した第1の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第1の送信器と、をそれぞれ備え、
    (2).上記初段中継装置は、
    ・上記第1の往路メッセージを受信する第1の受信器と、
    ・上記第1の受信器が上記第1の往路メッセージを受信すると、上記受信された第1の往路メッセージのリストに当該初段中継装置に割り当てられている自身のアドレスを追加することで第2の往路メッセージを生成する第2のメッセージ生成器と、
    ・上記第2のメッセージ生成器で生成された第2の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第2の送信器と、を備え、
    (3).上記最終段中継装置は、
    ・上記第2の往路メッセージを受信する第2の受信器と、
    ・上記第2の受信器で受信された第2の往路メッセージに含まれているリストが追加された復路メッセージを生成する第3のメッセージ生成器と、
    ・上記復路メッセージのリストに追加されたアドレスに基づいて、上記送受信装置を最終的な宛先として上記復路メッセージを送信する第3の送信器と、を備え、
    (4).
    上記初段中継装置の第1の受信器は、上記復路メッセージを受信し、
    上記初段中継装置の第2の送信器は、上記第1の受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路において上記送受信装置を起点として当該初段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置内の上記指定されたエージェントが通信に用いたポート番号と、に基づいて上記復路メッセージを送信する、
    ことを特徴とする通信システム。
  2. 上記初段中継装置と上記最終段中継装置との間の少なくとも1つの中段中継装置で更に構成され、
    (5).上記中段中継装置は、
    ・上記第2の往路メッセージを受信する第3の受信器と、
    ・上記第3の受信器で受信した上記第2の往路メッセージのリストに当該中段中継装置自身のアドレスを追加するアドレス追加器と、
    ・上記アドレス追加器で上記アドレスが追加された上記第2の往路メッセージを送信する第4の送信器と、を備え、
    上記中段中継装置の第3の受信器は、上記復路メッセージを受信し、
    上記中段中継装置の第4の送信器は、上記第3の受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路において上記送受信装置を起点として当該中段中継装置よりも前段に位置する装置に対応する所定アドレスに基づいて、上記復路メッセージを送信し、
    上記初段中継装置の第1の受信器は、上記往路において上記送受信装置を起点として当該初段中継装置よりも後段に位置する中段中継装置から復路メッセージを受信する、
    ことを特徴とする上記請求項1記載の通信システム。
  3. 上記送受信装置は、上記初段中継装置から復路メッセージを受信する第4の受信器、を更に備えた、
    ことを特徴とする上記請求項2記載の通信システム。
  4. 上記初段中継装置及び上記中段中継装置の少なくとも1つは、上記受信した上記復路メッセージのリストに含まれる自身のアドレスを削除するアドレス削除器、を更に備えた、
    ことを特徴とする上記請求項2記載の通信システム。
  5. 上記初段中継装置の第2のメッセージ生成器は、上記受信された往路メッセージに含まれているリストに、上記自身のアドレスに対応付けて、上記往路メッセージの中継回数を更に追加し、
    上記初段中継装置は、上記往路において上記送受信装置を起点として当該初段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスを、上記受信した復路メッセージのリストから、当該初段中継装置が追加した中継回数に基づいて特定する特定器、を更に備え、
    上記初段中継装置の第2の送信器は、上記特定器で特定した所定アドレスに基づいて、上記復路メッセージを送信する、
    ことを特徴とする上記請求項1記載の通信システム。
  6. 上記中段中継装置のアドレス追加器は、上記受信された往路メッセージに含まれているリストに、上記自身のアドレスに対応付けて、上記往路メッセージの中継回数を更に追加し、
    上記中段中継装置は、上記往路において上記送受信装置を起点として当該中段中継装置よりも前段に位置する上記送受信装置若しくは当該中段中継装置と異なる中段中継装置に対応する所定アドレスを、上記受信した復路メッセージのリストから、当該中段中継装置が追加した中継回数に基づいて特定する特定器、を更に備え、
    上記中段中継装置の第4の送信器は、上記特定器で特定した所定アドレスに基づいて、上記復路メッセージを送信する、
    ことを特徴とする上記請求項2記載の通信システム。
  7. 上記初段中継装置及び上記中段中継装置は、ポート番号がそれぞれ設定された複数のコレクタをそれぞれ有し、
    上記初段中継装置が有する上記複数のコレクタのそれぞれは、上記第1の受信器及び上記第2のメッセージ生成器を有し、
    上記複数のコレクタの内で、上記第1の往路メッセージを受信した上記第1の受信器を有するコレクタの上記第2のメッセージ生成器は、上記受信された第1の往路メッセージに含まれているリストに、当該初段中継装置に割り当てられている自身のアドレスに加えて、更に上記第1の往路メッセージの受信を行ったコレクタが通信に用いるポート番号を追加することで、上記第2の往路メッセージを生成し、
    上記中段中継装置が有する上記複数のコレクタのそれぞれは、上記第3の受信器及び上記第4の送信器を有し、
    上記複数のコレクタの内で、上記復路メッセージを受信した上記第3の受信器を有するコレクタの上記第4の送信器は、上記第3の受信器が上記復路メッセージを受信すると、上記受信した復路メッセージのリストに含まれるアドレスの内で、上記往路において上記送受信装置を起点として当該中段中継装置の前段に位置する初段中継装置若しくは当該中段中継装置と異なる中段中継装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する初段中継装置若しくは当該中段中継装置と異なる中段中継装置で上記往路メッセージの通信に用いたポート番号と、を指定して上記復路メッセージを送信する、
    ことを特徴とする上記請求項2記載の通信システム。
  8. 上記中段中継装置が有する上記複数のコレクタのそれぞれは、上記アドレス追加器をさらに有し、
    上記複数のコレクタの内で、上記第2の往路メッセージを受信した上記第3の受信器を有するコレクタの上記アドレス追加器は、上記受信された第2の往路メッセージに含まれているリストに、当該中段中継装置に割り当てられている自身のアドレスに加えて、更に当該中段中継装置において上記第2の往路メッセージの受信を行ったコレクタが通信に用いるポート番号を追加し、
    上記最終段中継装置の第3の送信器は、上記生成した復路メッセージのリストに含まれるアドレスの内で、上記往路において上記送受信装置を起点として当該最終段中継装置の前段に位置する初段中継装置若しくは中段中継装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する初段中継装置若しくは中段中継装置で上記第1の往路メッセージ若しくは上記第2の往路メッセージの通信に用いたポート番号と、を指定して上記復路メッセージを送信する、
    ことを特徴とする上記請求項7記載の通信システム。
  9. 3つ以上の上記中段中継装置で少なくとも構成され、
    上記中段中継装置は、
    ・上記最終段中継装置に割り当てられたアドレスと、上記最終段中継装置へ上記第2の往路メッセージを最終的に送信するために上記第2の往路メッセージを送信する送信先の候補となる上記3つ以上の中段中継装置の1つに割り当てられたアドレスと、を少なくとも2つ記憶したテーブルを記憶する記憶部、をさらに備え、
    上記中段中継装置の特定器は、上記記憶部に記憶されたテーブルから、上記最終段中継装置に割り当てられたアドレスに対応付けられた2以上のアドレスを特定し、
    上記中段中継装置の第4の送信器は、上記特定器で特定された2以上のアドレスのうち1つを上記送信先に割り当てられたアドレスとして指定した上記第2の往路メッセージの送信が失敗すると、上記検索された2以上のアドレスのうち、他の1つを上記送信先に割り当てられたアドレスとして指定して、上記第2の往路メッセージを送信する、
    ことを特徴とする上記請求項2記載の通信システム。
  10. 上記送受信装置は、上記第1の送信器が送信する上記第1の往路メッセージに含まれるデータのダイジェストを生成する第1のダイジェスト生成器、を更に備え、
    上記最終段中継装置は、上記第2の受信器で受信された第2の往路メッセージに含まれるデータのダイジェストを生成する第2のダイジェスト生成器、を更に備え、
    上記最終段中継装置の第3のメッセージ生成器は、上記第2のダイジェスト生成器で生成されたダイジェストを追加された上記復路メッセージを生成し、
    上記最終段中継装置の第3の送信器は、上記第3のメッセージ生成器で生成された復路メッセージを送信し、
    上記送受信装置は、上記第4の受信器で受信された復路メッセージに含まれるダイジェストと、当該送受信装置の第1のダイジェスト生成器で生成したダイジェストと、が同一か否かに基づいて、上記最終段中継装置への上記第1の往路メッセージに含まれるデータの送信が成功したか否かを判別する送信結果判別器、を更に備えた、
    ことを特徴とする上記請求項3記載の通信システム。
  11. 複数の上記送受信装置で少なくとも構成され、
    上記複数の送受信装置は、互いに異なる暗号鍵を用いて上記第1のメッセージ生成器で生成された第1の往路メッセージを暗号化する暗号化器、をそれぞれ更に備え、
    上記複数の送受信装置がそれぞれ備える第1の送信器は、上記それぞれの暗号化器で暗号化された第1の往路メッセージを送信する、
    ことを特徴とする上記請求項1記載の通信システム。
  12. 上記最終段中継装置は、上記第2の往路メッセージに含まれるイベントデータを、上記送受信装置を管理する管理サーバに集積する、
    ことを特徴とする上記請求項1記載の通信システム。
  13. 上記送受信装置、上記初段中継装置、上記少なくとも1つの中段中継装置、及び上記最終段中継装置のいずれか1つ以上を制御する制御装置、で更に構成され、
    上記制御装置は、
    ・上記送受信装置、上記初段中継装置、上記少なくとも1つの中段中継装置、及び上記最終段中継装置のいずれか1つ以上から、動作状態を報告するステータスレポートを受信する第5の受信器と、
    ・上記第5の受信器で受信したステータスレポートに基づいて、上記送受信装置、上記初段中継装置、上記少なくとも1つの中段中継装置、及び上記最終段中継装置のいずれか1つ以上に障害が生じたか否かを判別する障害発生判別器と、
    ・上記障害発生判別器で障害が生じたと判別した装置との通信を回復するように、上記送受信装置、上記初段中継装置、上記少なくとも1つの中段中継装置、及び上記最終段中継装置のいずれか1つ以上を制御する制御器と、を備えた、
    ことを特徴とする上記請求項2記載の通信システム。
  14. ポート番号がそれぞれ設定された複数のエージェントを有し、前記複数のエージェントのうち指定されたエージェントから、リストを含む往路メッセージを送信する送受信装置と、上記往路メッセージの最終的な宛先であり、かつ上記往路メッセージに応じて復路メッセージを上記送受信装置に送信する最終段中継装置と、上記復路メッセージと上記往路メッセージとを中継する初段中継装置と、から少なくとも構成される通信システムにおいて、
    (1).上記送受信装置内の上記複数のエージェントは、
    ・第1の往路メッセージを生成する第1のメッセージ生成器と、
    ・上記第1のメッセージ生成器で生成した第1の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第1の送信器と、をそれぞれ備え、
    (2).上記初段中継装置は、
    ・上記第1の往路メッセージを受信する第1の受信器と、
    ・上記第1の受信器が上記第1の往路メッセージを受信すると、上記受信された第1の往路メッセージのリストに、上記往路メッセージの中継経路である往路において、上記送受信装置を起点として当該段中継装置よりも前段に位置する送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったエージェントが通信に用いたポート番号と、を追加することで、第2の往路メッセージを生成する第2のメッセージ生成器と、
    ・上記第2のメッセージ生成器で生成した第2の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第2の送信器と、を備え、
    (3).上記最終段中継装置は、
    ・上記第2の往路メッセージを受信する第2の受信器と、
    ・上記第2の受信器で受信された第2の往路メッセージに含まれているリストが追加された復路メッセージを生成する第3のメッセージ生成器と、
    ・上記復路メッセージのリストに追加されたアドレスに基づいて、上記送受信装置を最終的な宛先として上記復路メッセージを送信する第3の送信器と、を備え、
    (4).
    上記初段中継装置の第1の受信器は、上記復路メッセージを受信し、
    上記初段中継装置の第2の送信器は、上記第1の受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路において上記送受信装置を起点として当該初段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置内の上記指定されたエージェントが通信に用いたポート番号と、に基づいて上記復路メッセージを送信する、
    ことを特徴とする通信システム。
  15. 往路メッセージを送信する送受信装置と、上記往路メッセージの最終的な宛先であり、かつ上記往路メッセージに応じて復路メッセージを上記送受信装置に送信する最終段中継装置と、上記往路メッセージと上記復路メッセージとを中継する初段中継装置と、から少なくとも構成される通信システムにおいて、
    (1).上記送受信装置は、
    ・上記往路メッセージに含まれるデータのダイジェストを生成する第1のダイジェスト生成器と、
    ・上記最終段中継装置を最終的な宛先として上記往路メッセージを送信する第1の送信器と、を備え、
    (2).上記初段中継装置は、
    ・上記往路メッセージを受信する第1の受信器と、
    ・上記第1の受信器で受信した往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第2の送信器と、を備え、
    (3).上記最終段中継装置は、
    ・上記往路メッセージを受信する第2の受信器と、
    ・上記第2の受信機で受信された往路メッセージに含まれるデータのダイジェストを生成する第2のダイジェスト生成器と、
    ・上記第2のダイジェスト生成器で生成されたダイジェストが追加された復路メッセージを生成する第3のメッセージ生成器と、
    ・上記送受信装置を最終的な宛先として上記復路メッセージを送信する第3の送信器と、を備え、
    (4).上記送受信装置は、
    ・上記往路において上記送受信装置を起点として上記送受信装置よりも後段に位置する初段中継装置から上記復路メッセージを受信する第3の受信器と、
    ・上記第3の受信器で受信した復路メッセージに含まれるダイジェストと、上記第1のダイジェスト生成器で生成したダイジェストと、が同一か否かに基づいて、上記最終段中継装置への上記往路メッセージに含まれるデータの送信が成功したか否かを判別する送信結果判別器と、を更に備えた、
    ことを特徴とする通信システム。
  16. リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置において、
    ポート番号がそれぞれ設定された複数のエージェントを有し、前記複数のエージェントのうち指定されたエージェントから上記往路メッセージを送信した送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったエージェントが通信に用いたポート番号と、が追加されたリストを含む第1の往路メッセージを受信する往路受信器と、
    上記往路受信器で受信された第1の往路メッセージに含まれるリストに、上記中継装置に割り当てられている自身のアドレスを追加することで、第2の往路メッセージを生成する往路メッセージ生成器と、
    上記往路メッセージ生成器で生成した第2の往路メッセージを送信する往路送信器と、
    上記往路メッセージのリストが追加された復路メッセージを受信する復路受信器と、
    上記復路受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置内の上記指定されたエージェントが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信器と、を備えた、
    ことを特徴とする中継装置。
  17. リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置において、
    ポート番号がそれぞれ設定された複数のエージェントを有する送受信装置から、前記複数のエージェントのうち指定されたエージェントから送信された第1の往路メッセージを受信する往路受信器と、
    上記往路受信器で受信された第1の往路メッセージに含まれるリストに、上記送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったエージェントが通信に用いたポート番号と、を追加することで、第2の往路メッセージを生成する往路メッセージ生成器と、
    上記往路メッセージ生成器で生成した第2の往路メッセージを送信する往路送信器と、
    上記往路メッセージのリストが追加された復路メッセージを受信する復路受信器と、
    上記復路受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置内の上記指定されたエージェントが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信器と、を備えた、
    ことを特徴とする中継装置。
  18. リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置のコンピュータを、
    ポート番号がそれぞれ設定された複数のエージェントを有し、前記複数のエージェントのうち指定されたエージェントから上記往路メッセージを送信した送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったエージェントが通信に用いたポート番号と、が追加されたリストを含む第1の往路メッセージを受信する往路受信器、
    上記往路受信器で受信された第1の往路メッセージに含まれるリストに、上記中継装置に割り当てられている自身のアドレスを追加することで、第2の往路メッセージを生成する往路メッセージ生成器、
    上記往路メッセージ生成器で生成した第2の往路メッセージを送信する往路送信器、
    上記往路メッセージのリストが追加された復路メッセージを受信する復路受信器、
    上記復路受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置内の上記指定されたエージェントが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信器、として機能させる、
    ことを特徴とする中継プログラム。
  19. リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置のコンピュータを、
    ポート番号がそれぞれ設定された複数のエージェントを有する送受信装置から、前記複数のエージェントのうち指定されたエージェントから送信された第1の往路メッセージを受信する往路受信器、
    上記往路受信器で受信された第1の往路メッセージに含まれるリストに、上記送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったエージェントが通信に用いたポート番号と、を追加することで、第2の往路メッセージを生成する往路メッセージ生成器、
    上記往路メッセージ生成器で生成した第2の往路メッセージを送信する往路送信器、
    上記往路メッセージのリストが追加された復路メッセージを受信する復路受信器、
    上記復路受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置内の上記指定されたエージェントが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信器、として機能させる、
    ことを特徴とする中継プログラム。
  20. リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置のコンピュータを、
    ポート番号がそれぞれ設定された複数のエージェントを有し、前記複数のエージェントのうち指定されたエージェントから上記往路メッセージを送信した送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったエージェントが通信に用いたポート番号と、が追加されたリストを含む第1の往路メッセージを受信する往路受信器、
    上記往路受信器で受信された第1の往路メッセージに含まれるリストに、上記中継装置に割り当てられている自身のアドレスを追加することで、第2の往路メッセージを生成する往路メッセージ生成器、
    上記往路メッセージ生成器で生成した第2の往路メッセージを送信する往路送信器、
    上記往路メッセージのリストが追加された復路メッセージを受信する復路受信器、
    上記復路受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置内の上記指定されたエージェントが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信器、として機能させる、
    ことを特徴とする中継プログラムを記録したコンピュータ読み取り可能な記録媒体。
  21. リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置のコンピュータを、
    ポート番号がそれぞれ設定された複数のエージェントを有する送受信装置から、前記複数のエージェントのうち指定されたエージェントから送信された第1の往路メッセージを受信する往路受信器、
    上記往路受信器で受信された第1の往路メッセージに含まれるリストに、上記送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったエージェントが通信に用いたポート番号と、を追加することで、第2の往路メッセージを生成する往路メッセージ生成器、
    上記往路メッセージ生成器で生成した第2の往路メッセージを送信する往路送信器、
    上記往路メッセージのリストが追加された復路メッセージを受信する復路受信器、
    上記復路受信器で受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置内の上記指定されたエージェントが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信器、として機能させる、
    ことを特徴とする中継プログラムを記録したコンピュータ読み取り可能な記録媒体。
  22. ポート番号がそれぞれ設定された複数のエージェントを有し、前記複数のエージェントのうち指定されたエージェントから、リストを含む往路メッセージを送信する送受信装置と、上記往路メッセージの最終的な宛先であり、かつ上記往路メッセージに応じて復路メッセージを上記送受信装置に送信する最終段中継装置と、上記復路メッセージと上記往路メッセージとを中継する初段中継装置と、から少なくとも構成される通信システムが実行する方法において、
    (1).
    ・上記送受信装置内の上記指定されたエージェントが、上記送受信装置に割り当てられている自身のアドレスと、上記往路メッセージの送信に用いるポート番号と、が追加されたリストを含む第1の往路メッセージを生成する第1のメッセージ生成ステップと、
    ・上記送受信装置内の上記指定されたエージェントが、上記第1のメッセージ生成ステップで生成した第1の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第1の送信ステップと、
    (2).
    ・上記初段中継装置が、上記第1の往路メッセージを受信する第1の受信ステップと、
    ・上記初段中継装置が、上記第1の受信ステップで上記第1の往路メッセージを受信すると、上記受信された第1の往路メッセージのリストに当該初段中継装置に割り当てられている自身のアドレスを追加することで第2の往路メッセージを生成する第2のメッセージ生成ステップと、
    ・上記初段中継装置が、上記第2のメッセージ生成ステップで生成された第2の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第2の送信ステップと、
    (3).
    ・上記最終段中継装置が、上記第2の往路メッセージを受信する第2の受信ステップと、
    ・上記最終段中継装置が、上記第2の受信ステップで受信された第2の往路メッセージに含まれているリストが追加された復路メッセージを生成する第3のメッセージ生成ステップと、
    ・上記最終段中継装置が、上記復路メッセージのリストに追加されたアドレスに基づいて、上記送受信装置を最終的な宛先として上記復路メッセージを送信する第3の送信ステップと、
    (4).
    ・上記初段中継装置が、上記復路メッセージを受信するステップと、
    ・上記初段中継装置が、上記受信した復路メッセージのリストに含まれるアドレスであって、上記往路において上記送受信装置を起点として当該初段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置内の上記指定されたエージェントが通信に用いたポート番号と、に基づいて上記復路メッセージを送信するステップと、を有する、
    ことを特徴とする通信方法。
  23. ポート番号がそれぞれ設定された複数のエージェントを有し、前記複数のエージェントのうち指定されたエージェントから、リストを含む往路メッセージを送信する送受信装置と、上記往路メッセージの最終的な宛先であり、かつ上記往路メッセージに応じて復路メッセージを上記送受信装置に送信する最終段中継装置と、上記復路メッセージと上記往路メッセージとを中継する初段中継装置と、から少なくとも構成される通信システムが実行する方法において、
    (1).
    ・上記送受信装置内の上記指定されたエージェントが、第1の往路メッセージを生成する第1のメッセージ生成ステップと、
    ・上記送受信装置内の上記指定されたエージェントが、上記第1のメッセージ生成ステップで生成した第1の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第1の送信ステップと、
    (2).
    ・上記初段中継装置が、上記第1の往路メッセージを受信する第1の受信ステップと、
    ・上記初段中継装置が、上記第1の受信ステップで上記第1の往路メッセージを受信すると、上記受信された第1の往路メッセージのリストに、上記往路メッセージの中継経路である往路において、上記送受信装置を起点として当該段中継装置よりも前段に位置する送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったエージェントが通信に用いたポート番号と、を追加することで、第2の往路メッセージを生成する第2のメッセージ生成ステップと、
    ・上記初段中継装置が、上記第2のメッセージ生成ステップで生成した第2の往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第2の送信ステップと、
    (3).
    ・上記最終段中継装置が、上記第2の往路メッセージを受信する第2の受信ステップと、
    ・上記最終段中継装置が、上記第2の受信ステップで受信された第2の往路メッセージに含まれているリストが追加された復路メッセージを生成する第3のメッセージ生成ステップと、
    ・上記最終段中継装置が、上記復路メッセージのリストに追加されたアドレスに基づいて、上記送受信装置を最終的な宛先として上記復路メッセージを送信する第3の送信ステップと、
    (4).
    ・上記初段中継装置が、上記復路メッセージを受信するステップと、
    ・上記初段中継装置が、上記受信した復路メッセージのリストに含まれるアドレスであって、上記往路において上記送受信装置を起点として当該初段中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置内の上記指定されたエージェントが通信に用いたポート番号と、に基づいて上記復路メッセージを送信するステップと、を有する、
    ことを特徴とする通信方法。
  24. 往路メッセージを送信する送受信装置と、上記往路メッセージの最終的な宛先であり、かつ上記往路メッセージに応じて復路メッセージを上記送受信装置に送信する最終段中継装置と、上記往路メッセージと上記復路メッセージとを中継する初段中継装置と、から少なくとも構成される通信システムが実行する方法において、
    (1).
    ・上記送受信装置が、上記往路メッセージに含まれるデータのダイジェストを生成する第1のダイジェスト生成ステップと、
    ・上記送受信装置が、上記最終段中継装置を最終的な宛先として上記往路メッセージを送信する第1の送信ステップと、
    (2).
    ・上記初段中継装置が、上記往路メッセージを受信する第1の受信ステップと、
    ・上記初段中継装置が、上記第1の受信ステップで受信した往路メッセージを、上記最終段中継装置を最終的な宛先として送信する第2の送信ステップと、
    (3).
    ・上記最終段中継装置が、上記往路メッセージを受信する第2の受信ステップと、
    ・上記最終段中継装置が、上記第2の受信機で受信された往路メッセージに含まれるデータのダイジェストを生成する第2のダイジェスト生成ステップと、
    ・上記最終段中継装置が、上記第2のダイジェスト生成ステップで生成されたダイジェストが追加された復路メッセージを生成する第3のメッセージ生成ステップと、
    ・上記最終段中継装置が、上記送受信装置を最終的な宛先として上記復路メッセージを送信する第3の送信ステップと、
    (4).
    ・上記送受信装置が、上記往路において上記送受信装置を起点として上記送受信装置よりも後段に位置する初段中継装置から上記復路メッセージを受信する第3の受信ステップと、
    ・上記送受信装置が、上記第3の受信ステップで受信した復路メッセージに含まれるダイジェストと、上記第1のダイジェスト生成ステップで生成したダイジェストと、が同一か否かに基づいて、上記最終段中継装置への上記往路メッセージに含まれるデータの送信が成功したか否かを判別する送信結果判別ステップと、を有する、
    ことを特徴とする通信方法。
  25. リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置が実行する方法において、
    ポート番号がそれぞれ設定された複数のエージェントを有し、前記複数のエージェントのうち指定されたエージェントから上記往路メッセージを送信した送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったエージェントが通信に用いたポート番号と、が追加されたリストを含む第1の往路メッセージを受信する往路受信ステップと、
    上記往路受信ステップで受信された第1の往路メッセージに含まれるリストに、上記中継装置に割り当てられている自身のアドレスを追加することで、第2の往路メッセージを生成する往路メッセージ生成ステップと、
    上記往路メッセージ生成ステップで生成した第2の往路メッセージを送信する往路送信ステップと、
    上記往路メッセージのリストが追加された復路メッセージを受信する復路受信ステップと、
    上記復路受信ステップで受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置内の上記指定されたエージェントが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信ステップと、を有する、
    ことを特徴とする中継方法。
  26. リストを含む往路メッセージと上記往路メッセージに応答する復路メッセージとを中継する中継装置が実行する方法において、
    ポート番号がそれぞれ設定された複数のエージェントを有する送受信装置から、前記複数のエージェントのうち指定されたエージェントから送信された第1の往路メッセージを受信する往路受信ステップと、
    上記往路受信ステップで受信された第1の往路メッセージに含まれるリストに、上記送受信装置に割り当てられているアドレスと、当該送受信装置において上記往路メッセージの送信を行ったエージェントが通信に用いたポート番号と、を追加することで、第2の往路メッセージを生成する往路メッセージ生成ステップと、
    上記往路メッセージ生成ステップで生成した第2の往路メッセージを送信する往路送信ステップと、
    上記往路メッセージのリストが追加された復路メッセージを受信する復路受信ステップと、
    上記復路受信ステップで受信した復路メッセージのリストに含まれるアドレスであって、上記往路メッセージの中継経路である往路において上記送受信装置を起点として当該中継装置よりも前段に位置する上記送受信装置に対応する所定アドレスと、上記受信された復路メッセージのリストに含まれるポート番号の内で、上記前段に位置する上記送受信装置内の上記指定されたエージェントが通信に用いたポート番号と、に基づいて、上記復路メッセージを送信する復路送信ステップと、を有する、
    ことを特徴とする中継方法。
JP2013556196A 2012-01-31 2012-09-26 通信システム及び中継装置、中継プログラム、中継プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに通信方法及び中継方法 Active JP5736061B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013556196A JP5736061B2 (ja) 2012-01-31 2012-09-26 通信システム及び中継装置、中継プログラム、中継プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに通信方法及び中継方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012017514 2012-01-31
JP2012017514 2012-01-31
JP2013556196A JP5736061B2 (ja) 2012-01-31 2012-09-26 通信システム及び中継装置、中継プログラム、中継プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに通信方法及び中継方法
PCT/JP2012/074756 WO2013114670A1 (ja) 2012-01-31 2012-09-26 通信システム及び中継装置、中継プログラム、中継プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに通信方法及び中継方法

Publications (2)

Publication Number Publication Date
JPWO2013114670A1 JPWO2013114670A1 (ja) 2015-05-11
JP5736061B2 true JP5736061B2 (ja) 2015-06-17

Family

ID=48904738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013556196A Active JP5736061B2 (ja) 2012-01-31 2012-09-26 通信システム及び中継装置、中継プログラム、中継プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに通信方法及び中継方法

Country Status (7)

Country Link
EP (1) EP2811700B1 (ja)
JP (1) JP5736061B2 (ja)
BR (1) BR112014016600B1 (ja)
ES (1) ES2721909T3 (ja)
MY (1) MY188024A (ja)
TW (1) TWI484344B (ja)
WO (1) WO2013114670A1 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005286989A (ja) * 2004-03-02 2005-10-13 Ntt Docomo Inc 通信端末及びアドホックネットワーク経路制御方法
JP4462554B2 (ja) * 2005-04-13 2010-05-12 Kddi株式会社 経路修復方法およびシステム
JP4582032B2 (ja) 2006-03-16 2010-11-17 ソニー株式会社 データ転送装置およびデータ転送システム
JP2008135914A (ja) * 2006-11-28 2008-06-12 Nec Corp 経路制御方法および通信ノード
CN101355490B (zh) * 2007-07-25 2012-05-23 华为技术有限公司 消息路由方法、系统和节点设备
EP2020801A1 (en) * 2007-07-31 2009-02-04 Seiko Epson Corporation Posting server, sending terminal, posting server control method and sending terminal control method
KR20120004776A (ko) 2010-07-07 2012-01-13 삼성전기주식회사 무전해 주석 환원 도금액 및 이를 이용한 무전해 주석 환원 도금방법

Also Published As

Publication number Publication date
EP2811700A4 (en) 2015-08-19
BR112014016600A2 (pt) 2017-06-13
TWI484344B (zh) 2015-05-11
MY188024A (en) 2021-11-10
BR112014016600B1 (pt) 2022-06-21
ES2721909T3 (es) 2019-08-06
WO2013114670A1 (ja) 2013-08-08
BR112014016600A8 (pt) 2017-07-04
JPWO2013114670A1 (ja) 2015-05-11
EP2811700B1 (en) 2019-02-20
EP2811700A1 (en) 2014-12-10
TW201346571A (zh) 2013-11-16

Similar Documents

Publication Publication Date Title
US6515967B1 (en) Method and apparatus for detecting a fault in a multicast routing infrastructure
US7995574B2 (en) Detection of forwarding problems for external prefixes
JP6055009B2 (ja) パケット処理方法、装置及びシステム
US9313241B2 (en) Communication system and relay device, computer-readable recording medium storing relay program, as well as communication method and relay method
CN104322020A (zh) 服务器、路由器、接收终端及处理方法
TWI603206B (zh) Server cluster based data processing method and cluster based data processing system
CN101123583A (zh) 网络节点设备及其方法
CN101826989A (zh) 一种故障处理方法和装置
US20090248803A1 (en) Apparatus and method of analyzing service processing status
US20160057043A1 (en) Diagnostic routing system and method for a link access group
US9647932B2 (en) Network routing modifications for distribution of data
CN110247823A (zh) 一种故障检测方法、装置及相关设备
JP5342082B1 (ja) ネットワーク障害解析システムおよびネットワーク障害解析プログラム
CN108880994B (zh) 一种重发邮件的方法和装置
CN108123890A (zh) 一种负载均衡系统中的链路检测方法、装置及电子设备
JP5736061B2 (ja) 通信システム及び中継装置、中継プログラム、中継プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに通信方法及び中継方法
CN107682257A (zh) 数据传输方法和系统
CN111010441A (zh) 一种区块链跨链方法、系统及电子设备
JP5126358B2 (ja) 検証装置、検証方法および検証プログラム
EP4270183A1 (en) Public cloud tenant service management method and device
US10148518B2 (en) Method and apparatus for managing computer system
CN114697196A (zh) 数据中心中网络路径切换方法、数据中心网络系统及设备
US10931796B2 (en) Diffusing packets to identify faulty network apparatuses in multipath inter-data center networks
JP6260361B2 (ja) データ転送システム及び方法
CN114710403B (zh) 数据调度方法、装置、设备、介质及程序产品

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150417

R150 Certificate of patent or registration of utility model

Ref document number: 5736061

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250