JP4998553B2 - メッセージ転送プログラム、メッセージ転送方法、メッセージ転送システムおよび振り分け制御プログラム - Google Patents

メッセージ転送プログラム、メッセージ転送方法、メッセージ転送システムおよび振り分け制御プログラム Download PDF

Info

Publication number
JP4998553B2
JP4998553B2 JP2009507319A JP2009507319A JP4998553B2 JP 4998553 B2 JP4998553 B2 JP 4998553B2 JP 2009507319 A JP2009507319 A JP 2009507319A JP 2009507319 A JP2009507319 A JP 2009507319A JP 4998553 B2 JP4998553 B2 JP 4998553B2
Authority
JP
Japan
Prior art keywords
message
digest
transmission
side device
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009507319A
Other languages
English (en)
Other versions
JPWO2008120327A1 (ja
Inventor
利弥 花森
森  正明
大祐 島林
康将 大城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2008120327A1 publication Critical patent/JPWO2008120327A1/ja
Application granted granted Critical
Publication of JP4998553B2 publication Critical patent/JP4998553B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2858Access network architectures
    • H04L12/2861Point-to-multipoint connection from the data network to the subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は、メッセージ転送プログラム、メッセージ転送方法メッセージ転送システムおよび振り分け制御プログラムに関する。
従来、地域、業務用途、OS(Operation System)などが異なる情報処理装置を含む複数のシステム間で、情報処理装置が各システムの独立性を確保しつつ、他のシステムの情報処理装置とアプリケーションを連携させて業務処理を行う技術が考案されている。このような技術では、一般的に、キューを使用した非同期通信が利用されている。
具体的には、図10に示すように、各情報処理装置10〜30は、キューと、キュー間転送制御部とを備える。そして、各情報処理装置10〜30は、当該キューに、アプリケーションによって生成されたメッセージ、または、他の情報処理装置より受信したメッセージを格納し、他の情報処理装置とのメッセージの送受信についてはキュー間転送制御部によって制御する。このようにして、各情報処理装置10〜30は、システムの独立性を確保しつつ、他のシステムの情報処理装置とアプリケーションを連携させて業務処理を行う。なお、図10は、従来のキューを使用した非同期通信システムを説明するための図である。
このような情報処理装置を含むシステム同士を接続し、アプリケーションを連携させて業務処理を行うためには、所定の通信定義を設定し、対応関係を特定する必要がある。以下に、3つの代表的な通信定義の設定手法を説明する。なお、以下では、図10における、情報処理装置10を送信側、情報処理装置20を受信側とし、両情報処理装置を含むシステム新たに接続するものとして説明を行う。
まず、送信側主導で通信定義を設定する場合を説明する。具体的には、図11に示すように、情報処理装置10において、キュー間転送制御部11は、キュー(送信キュー識別情報)ごとに、メッセージの送信先(情報処理装置のアドレス情報)と、当該メッセージの格納先(受信キュー識別情報)とを対応付けて記憶する(テーブル11a参照)。例えば、新たに情報処理装置20との通信定義を設定する場合には、キュー間転送制御部11は、キュー「Q1」に、メッセージの送信先「111.222.333.444」と、当該メッセージの格納先「q1」とを対応付けて記憶する(当該対応付けについては、オペレータによって実施される)。
そして、キュー間転送制御部11は、アプリケーションによってキューにメッセージが格納され(アプリケーションは、メッセージの送信先によって、格納するキューを選択する)、所定のタイミングになると、当該キューに対応付けられた情報処理装置へ、同じく当該キューに対応付けられた受信キューに格納されるようにメッセージを送信する。そして、送信先の情報処理装置において、キュー間転送制御部は、メッセージを受信すると、指定されたキューにメッセージを格納する。例えば、キュー間転送制御部11は、キュー12に格納されたメッセージ13のヘッダ部分に受信キュー識別情報「q1」を付与して情報処理装置20に送信する(テーブル11a参照)。そして、情報処理装置20において、キュー間転送制御部21は、メッセージ13を受信すると、ヘッダ部分に付与された受信キュー識別情報「q1」に基づいてキュー22に格納する。なお、図11は、従来の送信側主導で通信定義を設定する場合を説明するための図である。
また、送信側主導で通信定義を設定する別の方法もある。具体的には、図12に示すように、情報処理装置10において、キュー間転送制御部11は、メッセージの格納先(受信キュー識別情報)と、当該受信キューを備える情報処理装置(情報処理装置のアドレス情報)と、を対応付けて記憶する(テーブル11b参照)。なお、この場合には、情報処理装置10は、ただ一つのキューを備えればよい。例えば、新たに情報処理装置20との通信定義を設定する場合には、キュー間転送制御部11は、受信キュー22「q1」と、当該受信キュー22「q1」を備える情報処理装置20「111.222.333.444」とを対応付けて記憶する(当該対応付けについても、同様にオペレータによって実施される)。
そして、キュー間転送制御部11は、アプリケーションによってキューにメッセージが格納され(アプリケーションは、メッセージの格納先(受信キュー識別情報)を指定する)、所定のタイミングになると、当該メッセージの格納先に対応付けられた情報処理装置へ、格納先の受信キューに格納されるようにメッセージを送信する。そして、送信先の情報処理装置において、キュー間転送制御部は、メッセージを受信すると、指定されたキューにメッセージを格納する。例えば、キュー間転送制御部11は、ヘッダ部分に受信キュー識別情報「q1」が付与されたメッセージ13をキュー12から読み出し、当該受信キュー識別情報「q1」に対応付けられた情報処理装置20「111.222.333.444」に送信する(テーブル11b参照)。そして、情報処理装置20において、キュー間転送制御部21は、メッセージ13を受信すると、ヘッダ部分に付与された受信キュー識別情報「q1」に基づいてキュー22に格納する。なお、図12は、従来の送信側主導で通信定義を設定する場合を説明するための図である。
次に、受信側主導で通信定義を設定する場合を説明する。具体的には、図13に示すように、情報処理装置20において、キュー間転送制御部21は、キュー(受信キュー識別情報)ごとに、メッセージの送信元(情報処理装置のアドレス情報)と、当該メッセージの格納元(送信キュー識別情報)と、を対応付けて記憶する(テーブル21a参照)。例えば、新たに情報処理装置10との通信定義を設定する場合には、キュー間転送制御部21は、受信キュー「q1」に、メッセージの送信元「111.222.333.111」と、当該メッセージの格納元「Q1」とを対応付けて記憶する(当該対応付けについては、オペレータによって実施される)。
そして、キュー間転送制御部21は、所定のタイミングになると、対応関係を参照しつつ、各情報処理装置にメッセージの送信を依頼する。そして、メッセージの送信を依頼された情報処理装置は、依頼どおりにメッセージを送信する。例えば、キュー間転送制御部21は、情報処理装置10には、送信キュー「Q1」に格納されたメッセージを受信キュー「q1」に格納されるように依頼する。そして、情報処理装置10において、キュー間転送制御部11は、キュー12に格納されたメッセージ13のヘッダ部分に受信キュー識別情報「q1」を付与して情報処理装置20に送信する。そして、情報処理装置20において、キュー間転送制御部21は、メッセージ13を受信すると、ヘッダ部分に付与された受信キュー識別情報「q1」に基づいてキュー22に格納する。なお、図13は、従来の受信側主導で通信定義を設定する場合を説明するための図である。
なお、送信側主導で通信を制御するものとして、特許文献1では、同報通信データを送信する送信側端末が、同報通信データの先頭に受信側端末を指定するパラメータを付加して送信し、受信側端末が、付加されたパラメータを解析して、当該同報通信データを受信するか破棄するかについて決定するという技術が開示されている。
また、受信側主導で通信を制御するものとして、特許文献2では、ライブコンテンツなどのMP4ファイルを配信する配信サーバ(送信側)に対して、当該MP4ファイルを受信してストリーミング再生を行うクライアント端末(受信側)が、従来用いられているRTP(Real-time Transport Protocol)やUDP(User Datagram Protocol)などの通信プロトコルではなく、HTTP(Hypertext Transfer Protocol)を用いてMP4ファイルの初期ヘッダと最新のフラグメントとを含むレスポンスを配信サーバに依頼することで、MP4ファイルをリアルタイムでストリーミング再生する技術が開示されている。
特開2002−335283号公報 特開2005−86362号公報
しかしながら、上記した従来の技術は、システム間の通信関係を柔軟に構築することができないという課題があった。
具体的には、送信側主導で通信定義を設定する場合には、以下の課題があった。(1)受信側システムが追加/変更されるたびに、送信側システムで定義の修正が必要となり、通信関係の構築に係る作業が繁雑である。(2)送信キューが受信側システムのシステム数、または、キュー数分だけ必要であり、受信側システムが追加/変更されるたびに、送信キューを増設しなければならないので、通信関係の構築に係る作業が繁雑である。(3)受信側システムの追加/変更と同期をとってアプリケーションもメッセージを格納する論理の修正が必要なので、通信関係の構築に係る作業が繁雑である。(4)受信側システムの追加にともなって、送信側システムが管理する定義が増加し、その分メモリが必要となるので、安価にシステム間の通信関係を構築することができない。(5)受信キューが追加されるたびに、送信側システムにおいて、受信キューと送信先システムの突合せや検索を行うための1メッセージあたりのCPU負荷が増加するので、処理速度が遅くなる。(6)受信側システムの受信条件の変更があるたびに、送信側システムで配信条件の再設定が必要なので、通信関係の構築に係る作業が繁雑である。
また、受信側主導で通信定義を設定する場合には、以下の課題があった。(7)送信キューが受信側システムのシステム数、または、キュー数分だけ必要であり、受信側システムが追加/変更されるたびに、送信キューを増設しなければならないので、通信関係の構築に係る作業が繁雑である。(8)受信側システムの追加/変更と同期をとってアプリケーションもメッセージを格納する論理の修正が必要なので、通信関係の構築に係る作業が繁雑である。(9)受信側システムでは、送信側システムが備える送信キューにメッセージが格納されたことをポーリングするなどして逐次監視する制御が必要であり、送信側システムが増加すると、処理負荷が増大する。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、システム間の通信関係を柔軟に構築することが可能なメッセージ転送プログラム、メッセージ転送方法およびメッセージ転送システムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、発明は、ネットワークを介して相互に通信可能に接続された複数の受信側装置に対してキューに格納されているメッセージを転送する送信側装置としてのコンピュータに実行されるメッセージ転送プログラムであって、前記キューに格納されている複数のメッセージから各メッセージを一意に識別するヘッダ情報をそれぞれ抽出し、抽出した各ヘッダ情報を集めたダイジェストを作成するダイジェスト作成手順と、前記ダイジェスト作成手順によって作成されたダイジェストを前記複数の受信側装置にそれぞれ送信するダイジェスト送信手順と、前記複数の受信側装置のいずれかから前記ダイジェストに含まれるいずれかのヘッダ情報が指定されたメッセージ取得依頼を受信した場合に、当該指定されたヘッダ情報に対応するメッセージを前記キューから読み出して、当該メッセージ取得依頼を送信した受信側装置に送信するメッセージ送信手順と、をコンピュータに実行させることを特徴する。
また、発明は、ネットワークを介して相互に通信可能に接続された複数の受信側装置に対してキューに格納されているメッセージを転送するメッセージ転送方法であって、前記キューに格納されている複数のメッセージから各メッセージを一意に識別するヘッダ情報をそれぞれ抽出し、抽出した各ヘッダ情報を集めたダイジェストを作成するダイジェスト作成工程と、前記ダイジェスト作成工程によって作成されたダイジェストを前記複数の受信側装置にそれぞれ送信するダイジェスト送信工程と、前記複数の受信側装置のいずれかから前記ダイジェストに含まれるいずれかのヘッダ情報が指定されたメッセージ取得依頼を受信した場合に、当該指定されたヘッダ情報に対応するメッセージを前記キューから読み出して、当該メッセージ取得依頼を送信した受信側装置に送信するメッセージ送信工程と、を含んだことを特徴とする。
また、発明は、メッセージを受信する複数の受信側装置と、キューに格納されているメッセージを前記複数の受信側装置に転送する送信側装置とを、ネットワークを介して相互に通信可能に接続して構成されるメッセージ転送システムであって、前記送信側装置は、前記キューに格納されている複数のメッセージから各メッセージを一意に識別するヘッダ情報をそれぞれ抽出し、抽出した各ヘッダ情報を集めたダイジェストを作成するダイジェスト作成手段と、前記ダイジェスト作成手段によって作成されるダイジェストの受信を希望する受信側装置のアドレス情報を記憶するアドレス情報記憶手段と、前記ダイジェスト作成手段によって作成されたダイジェストを、前記アドレス情報記憶手段に記憶されたアドレス情報で特定される受信側装置にそれぞれ送信するダイジェスト送信手段と、前記複数の受信側装置のいずれかから前記ダイジェストに含まれるいずれかのヘッダ情報が指定されたメッセージ取得依頼を受信した場合に、当該指定されたヘッダ情報に対応するメッセージを前記キューから読み出して、当該メッセージ取得依頼を送信した受信側装置に送信するメッセージ送信手段と、を備え、前記受信側装置は、前記送信側装置から受信すべきメッセージを特定するための情報である受信条件を記憶する受信条件記憶手段と、前記送信側装置から受信したダイジェストから、前記受信条件記憶手段によって記憶された受信条件に合致するヘッダ情報を検索する検索手段と、前記検索手段によって受信条件に合致するものとして検索されたヘッダ情報を含んだメッセージ取得依頼を前記送信側装置に送信するメッセージ取得依頼送信手段と、を備えたことを特徴とする。
発明によれば、キューに格納されている複数のメッセージから各メッセージを一意に識別するヘッダ情報をそれぞれ抽出し、抽出した各ヘッダ情報を集めたダイジェストを作成し、ダイジェストを複数の受信側装置にそれぞれ送信する。そして、複数の受信側装置のいずれかからダイジェストに含まれるいずれかのヘッダ情報が指定されたメッセージ取得依頼を受信した場合に、当該指定されたヘッダ情報に対応するメッセージをキューから読み出して、当該メッセージ取得依頼を送信した受信側装置に送信する。こうすることによって、システム間の通信関係を柔軟に構築することが可能となる。
また、発明によれば、送信側装置は、ダイジェストの受信を希望する受信側装置のアドレス情報を記憶する。そして、送信側装置は、キューに格納されている複数のメッセージから各メッセージを一意に識別するヘッダ情報をそれぞれ抽出し、抽出した各ヘッダ情報を集めたダイジェストを作成し、アドレス情報で特定される受信側装置にそれぞれ送信する。そして、送信側装置は、複数の受信側装置のいずれかからダイジェストに含まれるいずれかのヘッダ情報が指定されたメッセージ取得依頼を受信した場合に、当該指定されたヘッダ情報に対応するメッセージをキューから読み出して、当該メッセージ取得依頼を送信した受信側装置に送信する。一方、受信側装置は、送信側装置から受信すべきメッセージを特定するための情報である受信条件を記憶する。そして、受信側装置は、送信側装置から受信したダイジェストから、受信条件に合致するヘッダ情報を検索し、受信条件に合致するものとして検索されたヘッダを含んだメッセージ取得依頼を送信側装置に送信する。こうすることによって、システム間の通信関係を柔軟に構築することが可能となる。
図1は、実施例1に係るメッセージ転送システムの概要および特徴を説明するための図である。 図2は、実施例1に係るメッセージ転送システムにおける送信側装置の構成を示すブロック図である。 図3は、配信先管理リスト記憶部が記憶する情報の例を示す図である。 図4は、実施例1に係るメッセージ転送システムにおける受信側装置の構成を示すブロック図である。 図5は、受信条件記憶部が記憶する情報の例を示す図である。 図6は、実施例1における配信先管理リスト作成処理の流れを示すフローチャートである。 図7は、実施例1におけるメッセージ取得処理の流れを示すフローチャートである。 図8は、実施例1におけるメッセージ受信処理の流れを示すフローチャートである。 図9は、メッセージ転送プログラムを実行するコンピュータを示す図である。 図10は、従来のキューを使用した非同期通信システムを説明するための図である。 図11は、従来の送信側主導で通信定義を設定する場合を説明するための図である。 図12は、従来の送信側主導で通信定義を設定する場合を説明するための図である。 図13は、従来の受信側主導で通信定義を設定する場合を説明するための図である。
符号の説明
1a1〜1an メッセージ
2 ダイジェスト
3 テーブル
10、30 送信側装置
20、70、70a1〜70an 受信側装置
40、80 外部I/F制御部
50、90 記憶部
51、91 メッセージ格納キュー
52 配信先管理リスト記憶部
60、100 処理部
61、102 アプリケーション
62、103 キュー間転送制御部
62a ダイジェスト作成部
62b ダイジェスト送信部
62c 取得依頼処理部
63 配信先管理リスト作成部
92 受信条件記憶部
101 配信リクエスト処理部
103a 取得メッセージ検索部
103b 取得依頼処理部
103c メッセージ格納処理部
以下に添付図面を参照して、メッセージ転送システムの実施例を詳細に説明する。なお、以下では、用語の説明、本発明に係るメッセージ転送システムの概要および特徴、送信側装置、受信側装置の構成および処理の流れを順に説明し、実施例1の効果を説明した後に、他の実施例を説明する。
[用語の説明]
まず、以下の実施例で用いる主要な用語を説明する。「メッセージ(請求の範囲に記載の「メッセージ」に対応する)」とは、複数の情報処理装置において各情報処理装置のアプリケーションをまたがって連携処理される単位データのことであり、ヘッダと、メッセージ本文とから構成される。
また、「ヘッダ(請求の範囲に記載の「ヘッダ情報」に対応する)」とは、上記したメッセージを一意に特定する情報のことであり、具体的には、受信キュー識別情報、配送先、商品名などを示す情報が含まれる。なお、以下の実施例では、商品名を示す情報のみを含むものとして説明するが、本発明はこれに限定されるものではなく、他の情報(例えば、受信キュー識別情報や配送先など)や、異なる複数の情報を併せもったもの(例えば、受信キュー識別情報および配送先)であってもよい。
また、「ダイジェスト(請求の範囲に記載の「ダイジェスト」に対応する)」とは、上記したメッセージのヘッダをパッキング(結合)したデータのことである。なお、以下の実施例では、一定の個数ずつヘッダをパッキングする場合を説明するが、本発明はこれに限定されるものではなく、例えば、ネットワーク回線やメッセージの蓄積状況に応じてその都度パッキングする個数を変更するようにしてもよい。
[メッセージ転送システムの概要および特徴]
図1を用いて、実施例1に係るメッセージ転送システムを説明する。図1は、実施例1に係るメッセージ転送システムの概要および特徴を説明するための図である。なお、図1に示すように、メッセージ転送システムは、メッセージを送信する送信側装置30と、メッセージを受信する複数の受信側装置70a1〜70anとをネットワークを介して相互に通信可能に接続して構成される。
実施例1に係るメッセージ転送システムの概要は、アプリケーションによる処理結果であるメッセージをキューに格納しつつ、当該キューからメッセージを読み出して次なる連携処理が行われる受信側装置に転送する送信側装置と、送信側装置からメッセージを受信してキューに格納しつつ、引き続きアプリケーションの連携処理を行う受信側装置とで、メッセージに対する連携処理を非同期で行うという内容であり、各装置を含むシステム間の通信関係を柔軟に構築することを可能にしている点に主たる特徴がある。
この主たる特徴について説明すると、メッセージ転送システムにおいて、送信側装置30は、ダイジェストの受信を希望する受信側装置のアドレス情報を記憶する。具体的には、図1に示すように、送信側装置30は、受信側装置70a1〜70anのアドレス情報を記憶する(テーブル3参照)。
そして、送信側装置30は、キューに格納されている複数のメッセージから各メッセージを一意に識別するヘッダをそれぞれ抽出し、抽出した各ヘッダを集めたダイジェストを作成する。具体的には、図1に示すように、送信側装置30は、自身が備えるキューに格納されたメッセージ1a1〜1anからそれぞれヘッダを抽出し、当該抽出したヘッダを集めてダイジェスト2を作成する(図1の(1)参照)。
そして、送信側装置30は、ダイジェストを、記憶したアドレス情報で特定される受信側装置にそれぞれ送信する。具体的には、図1に示すように、送信側装置30は、テーブル3にて記憶したアドレス情報で特定される受信側装置70a1〜70anに対して、作成したダイジェスト2を送信する(図1の(2)参照)。
一方、メッセージ転送システムにおいて、受信側装置は、送信側装置30から受信すべきメッセージを特定するための情報である受信条件を記憶する。例えば、図1に示すように、受信側装置70a1は、ヘッダに含まれる情報のうちの一つである商品名「コンピュータ」を記憶する。
そして、受信側装置は、送信側装置30から受信したダイジェストから、記憶した受信条件に合致するヘッダを検索する。例えば、図1に示すように、受信側装置70a1は、送信側装置30からダイジェスト2を受信すると、ダイジェスト2を構成するヘッダのうち商品名「コンピュータ」を含むヘッダを検索する(図1の(3)参照)。なお、受信側装置70a2や受信側装置70anも同様に受信したダイジェスト2から受信条件に合致するヘッダを検索する。
そして、受信側装置は、受信条件に合致するものとして検索されたヘッダを含んだメッセージ取得依頼を送信側装置30に送信する。例えば、図1に示すように、受信側装置70a1は、ダイジェスト2から商品名「コンピュータ」を含むヘッダを検索した結果、合致したヘッダが見付かると、送信側装置30に対して当該商品名「コンピュータ」を含むヘッダを送信側装置30に折り返すことで、自身のアドレス「111.222.333.444」宛てにメッセージを送信するように依頼する(図1の(4)参照)。
そして、複数の受信側装置のいずれかからダイジェストに含まれるいずれかのヘッダが指定されたメッセージ取得依頼を受信した場合に、当該指定されたヘッダに対応するメッセージをキューから読み出して、当該メッセージ取得依頼を送信した受信側装置に送信する。具体的には、送信側装置30は、受信側装置70a1からは商品名「コンピュータ」を示す情報を含んだヘッダを受信し、受信側装置70a2からは商品名「オーディオ機器」を示す情報を含んだヘッダを受信する。そして、送信側装置30は、キューに格納されたメッセージ1a1〜1anのうちヘッダに商品名「コンピュータ」を示す情報を含むメッセージ1a1を受信側装置70a1に送信し、ヘッダに商品名「オーディオ機器」を示す情報を含むメッセージ1a2を受信側装置70a2に送信する(図1の(5)参照)。
こうすることによって、実施例1に係るメッセージ転送システムは、上記した主たる特徴のとおり、システム間の通信関係を柔軟に構築することが可能となる。
[送信側装置の構成]
次に、図2を用いて、図1で説明したメッセージ転送システムにおける送信側装置30の構成を説明する。図2は、送信側装置30の構成を示すブロック図である。同図に示すように、送信側装置30は、外部I/F制御部40と、記憶部50と、処理部60とから構成される。
外部I/F制御部40は、受信側装置との通信を制御する。具体的には、外部I/F制御部40は、後述するダイジェスト送信部62bから出力されたダイジェストを受け取ると、受信側装置へと接続された伝送路に出力したり、受信側装置から送信されたメッセージ取得依頼を受け取ると、後述する取得依頼処理部62cに受け渡したりする。
記憶部50は、処理部60による各種処理に用いられるデータなどを記憶し、特に本発明に密接に関連するものとしては、メッセージ格納キュー51と、配信先管理リスト記憶部52とを備える。なお、配信先管理リスト記憶部52は、請求の範囲に記載の「アドレス情報記憶手段」に対応する。
メッセージ格納キュー51は、送信処理されるまでメッセージを記憶する。具体的には、メッセージ格納キュー51は、後述する取得依頼処理部62cによってメッセージが読み出されるまで当該メッセージを記憶する。
配信先管理リスト記憶部52は、ダイジェストの受信を希望する受信側装置のアドレス情報を記憶する。具体的には、後述する配信先管理リスト作成部63からアドレス情報を受け取ると、当該アドレス情報を記憶する。例えば、図3に示すように、配信先管理リスト記憶部52は、アドレス情報「111.222.333.444」などを記憶する。なお、図3は、配信先管理リスト記憶部が記憶する情報の例を示す図である。
処理部60は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行するプロセッサであり、特に本発明に密接に関連するものとしては、アプリケーション61と、キュー間転送制御部62と、配信先管理リスト作成部63とを備え、さらに、キュー間転送制御部62には、ダイジェスト作成部62aと、ダイジェスト送信部62bと、取得依頼処理部62cとを備える。なお、ダイジェスト作成部62aは、請求の範囲に記載の「ダイジェスト作成手段」に対応し、ダイジェスト送信部62bは、同じく「ダイジェスト送信手段」に対応し、取得依頼処理部62cは、同じく「メッセージ送信手段」に対応する。
アプリケーション61は、受信側装置のアプリケーションとの連携処理の対象となるメッセージを生成する。具体的には、入力部(図示しない)からユーザによる入力を受け付けると、当該入力に対して特定の処理を行い、その処理結果であるメッセージをメッセージ格納キュー51に格納する。例えば、コンピュータの発注受け付けから製造を経て受け渡しまでの連携処理を行う場合には、アプリケーション61において、その発注処理を行うアプリケーションは、ユーザから発注の個数や期限などを受け付け、所定の処理を行ってメッセージ(ヘッダには商品名「コンピュータ」を示す情報が含まれる)を生成し、メッセージ格納キュー51に格納する。
キュー間転送制御部62は、受信側装置70のアプリケーション102との連携処理を制御する処理部であり、ダイジェスト作成部62aと、ダイジェスト送信部62bと、取得依頼処理部62cとを備える。
ダイジェスト作成部62aは、キューに格納されている複数のメッセージから各メッセージを一意に識別するヘッダをそれぞれ抽出し、抽出した各ヘッダを集めたダイジェストを作成する。具体的には、ダイジェスト作成部62aは、所定のタイミングになると、上述したメッセージ格納キュー51に格納された所定数のメッセージについて、メッセージを構成するヘッダのみをそれぞれ抽出し、それらを結合してダイジェストを作成し、後述するダイジェスト送信部62bに出力する。例えば、ダイジェスト作成部62aは、メッセージ格納キュー51に10個以上のメッセージが格納された場合には、メッセージ格納キュー51に格納された10個のメッセージについて、ダイジェストを作成し、後述するダイジェスト送信部62bに出力する。なお、10個以下で格納される状況が一定期間続けば10個以下でもダイジェストを作成するようにしてもよい。
ダイジェスト送信部62bは、ダイジェスト作成部62aによって作成されたダイジェストを、配信先管理リスト記憶部52によって記憶されたアドレス情報で特定される受信側装置にそれぞれ送信する。具体的には、ダイジェスト送信部62bは、上述したダイジェスト作成部62aよりダイジェストを受け取ると、配信先管理リスト記憶部52によって記憶されたアドレス情報を読み出し、アドレス情報の数だけダイジェストの複製を生成する。そして、ダイジェスト送信部62bは、各ダイジェストの宛先に当該読み出したアドレス情報を付与して外部I/F制御部40に出力する。例えば、ダイジェスト送信部62bは、宛先にアドレス情報「111.222.333.444」を付与したダイジェストを外部I/F制御部40に出力する。
取得依頼処理部62cは、複数の受信側装置のいずれかからダイジェストに含まれるいずれかのヘッダが指定されたメッセージ取得依頼を受信した場合に、当該指定されたヘッダに対応するメッセージをキューから読み出して、当該メッセージ取得依頼を送信した受信側装置に送信する。具体的には、取得依頼処理部62cは、受信側装置より送信されたヘッダを上述した外部I/F制御部40を介して受け取ると、メッセージ格納キュー51に格納され、かつ、ヘッダがダイジェスト作成の対象となったメッセージのうち、当該受け取ったヘッダで構成されたメッセージを読み出す。そして、取得依頼処理部62cは、読み出したメッセージの宛先に受信したヘッダの送信元を付与して外部I/F制御部40に出力する。例えば、取得依頼処理部62cは、商品名「コンピュータ」の情報を含み、送信元が「111.222.333.444」であるヘッダを受け取ると、メッセージ格納キュー51から商品名「コンピュータ」の情報を含むヘッダで構成されたメッセージを読み出す。そして、取得依頼処理部62cは、読み出したメッセージに宛先「111.222.333.444」を付与して外部I/F制御部40に出力する。
配信先管理リスト作成部63は、ダイジェストの受信を希望する受信側装置のアドレス情報を管理する。具体的には、配信先管理リスト作成部63は、受信側装置より送信されたアドレス情報を外部I/F制御部40を介して受け取ると、配信先管理リスト記憶部52に格納する。例えば、配信先管理リスト作成部63は、新しくアドレス情報「111.222.333.XXX」を受け取ると、配信先管理リスト記憶部52に格納してダイジェストの送信先として追加する。
[受信側装置の構成]
次に、図4を用いて、受信側装置70の構成を説明する。図4は、受信側装置70の構成を示すブロック図である。同図に示すように、受信側装置70は、外部I/F制御部80と、記憶部90と、処理部100とから構成される。
外部I/F制御部80は、送信側装置との通信を制御する。具体的には、外部I/F制御部80は、後述する取得依頼処理部103bから出力されたヘッダを受け取ると、送信側装置30へと接続された伝送路に出力したり、送信側装置から送信されたダイジェストを受け取ると、後述する取得メッセージ検索部103aに受け渡したりする。
記憶部90は、処理部100による各種処理に用いられるデータなどを記憶し、特に本発明に密接に関連するものとしては、メッセージ格納キュー91と、受信条件記憶部92とを備える。なお、受信条件記憶部92は、請求の範囲に記載の「受信条件記憶手段」に対応する。
メッセージ格納キュー91は、後述するアプリケーション102による処理を待つメッセージを記憶する。具体的には、メッセージ格納キュー91は、後述するメッセージ格納処理部103cからメッセージを受け取って記憶する。なお、メッセージ格納キュー91は、メッセージ格納処理部103cからそれぞれ一意に識別されるための識別情報が付与されており、当該識別情報に基づいてメッセージ格納処理部103cによるメッセージの振り分けが実現される。
受信条件記憶部92は、送信側装置30から受信すべきメッセージを特定するための情報である受信条件を記憶する。具体的には、図5に示すように、受信条件記憶部92は、ヘッダに含まれる情報である商品名と、メッセージ格納キューを一意に識別する受信キュー識別情報とを対応付けて記憶する。例えば、図5に示すように、受信条件記憶部92は、商品名「コンピュータ」と、受信キュー識別情報「q1」とを対応付けて記憶する。なお、図5は、受信条件記憶部が記憶する情報の例を示す図である。
処理部100は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行するプロセッサであり、特に本発明に密接に関連するものとしては、配信リクエスト処理部101と、アプリケーション102と、キュー間転送制御部103とを備え、さらに、キュー間転送制御部103には、取得メッセージ検索部103aと、取得依頼処理部103bと、メッセージ格納処理部103cとを備える。なお、取得メッセージ検索部103aは、請求の範囲に記載の「検索手段」に対応し、取得依頼処理部103bは、同じく請求の範囲に記載の「メッセージ取得依頼送信手段」に対応する。
配信リクエスト処理部101は、送信側装置30に対してダイジェストを配信するように要求する。具体的には、配信リクエスト処理部101は、送信側装置30と通信可能な状態になると、ネットワークにおける受信側装置70のアドレス情報を外部I/F制御部80を介して送信側装置30に送信する。例えば、配信リクエスト処理部101は、アドレス情報「111.222.333.444」を送信側装置30に送信する。
アプリケーション102は、送信側装置30のアプリケーションとの連携処理の対象となるメッセージを処理する。具体的には、アプリケーション102は、それぞれ対応するメッセージ格納キュー91にメッセージが格納されると、メッセージを読み出してさらなる連携処理を行う。
キュー間転送制御部103は、送信側装置30のアプリケーション61との連携処理を制御する処理部であり、取得メッセージ検索部103aと、取得依頼処理部103bと、メッセージ格納処理部103cとを備える。
取得メッセージ検索部103aは、送信側装置30から受信したダイジェストから、受信条件に合致するヘッダを検索する。具体的には、取得メッセージ検索部103aは、外部I/F制御部80を介して送信側装置30よりダイジェストを受信すると、受信条件記憶部92によって記憶された商品名を含むヘッダを検索する。そして、取得メッセージ検索部103aは、ダイジェストの中に商品名を含むヘッダがあった場合には、当該ヘッダをダイジェストから抽出して後述する取得依頼処理部103bに出力する。例えば、取得メッセージ検索部103aは、「コンピュータ」、「テレビ」、「オーディオ機器」、「カメラ」、「カーナビ」、「電話」など10個のヘッダが結合されたダイジェストを受信すると、検索の結果、受信条件記憶部92によって記憶された商品名「コンピュータ」を含むヘッダを抽出し、当該ヘッダを取得依頼処理部103bに出力する。
取得依頼処理部103bは、受信条件に合致するものとして検索されたヘッダを含んだメッセージ取得依頼を送信側装置30に送信する。具体的には、取得依頼処理部103bは、上述した取得メッセージ検索部103aからヘッダを受け取ると、受信側装置70のアドレス情報を送信元としてヘッダに付与する。そして、取得依頼処理部103bは、送信元を付与したヘッダを外部I/F制御部80を介して送信側装置30に送信する。例えば、取得依頼処理部103bは、商品名「コンピュータ」を含むヘッダに受信側装置70のアドレス情報「111.222.333.444」を付与して送信側装置30に送信する。
メッセージ格納処理部103cは、送信側装置30から送信されたメッセージをメッセージ格納キュー91に振り分けて格納する。具体的には、メッセージ格納処理部103cは、外部I/F制御部80を介して送信側装置30から送信されたメッセージを受け取ると、受信条件記憶部92によって記憶された対応関係を参照し、メッセージのヘッダに対応する受信キュー識別情報に基づいて格納すべきメッセージ格納キュー91に格納する。例えば、メッセージ格納処理部103cは、ヘッダに含まれる情報が商品名「コンピュータ」であるメッセージを受け取ると、「コンピュータ」に対応する受信キュー識別情報「q1」に基づいて(図5参照)、当該受信キュー識別情報「q1」が付与されたメッセージ格納キュー91に格納する。
[送信側装置および受信側装置による処理]
次に、図6、図7および図8を用いて、送信側装置30および受信側装置70による処理を説明する。図6は、実施例1における配信先管理リスト作成処理の流れを示すフローチャートであり、図7は、実施例1におけるメッセージ取得処理の流れを示すフローチャートであり、図8は、実施例1におけるメッセージ受信処理の流れを示すフローチャートである。
図6に示すように、受信側装置70は、送信側装置30と通信可能な状態になると(ステップS601肯定)、送信側装置30に自身のアドレス情報を送信する(ステップS602)。これに続いて、送信側装置30は、受信側装置70より送信されたアドレス情報を受信すると(ステップS603肯定)、配信先管理リストに当該アドレス情報を追加する(ステップS604)。
また、図7に示すように、送信側装置30は、所定のタイミングになると(ステップS701肯定)、メッセージ格納キュー51に格納されたメッセージよりダイジェストを作成し(ステップS702)、配信先管理リスト記憶部52によって記憶されたアドレス情報に基づいてダイジェストを送信する(ステップS703)。これに続いて、受信側装置70は、送信側装置30より送信されたダイジェストを受信すると(ステップS704肯定)、このダイジェストから受信条件記憶部92によって記憶された商品名を含むヘッダを検索する(ステップS705)。そして、受信側装置70は、ダイジェストに商品名を含むヘッダが見付かった場合には(ステップS706肯定)、当該ヘッダを抽出し、自身のアドレス情報を送信元として付与して送信側装置30に送信する(ステップS707)。
また、図8に示すように、送信側装置30は、受信側装置70より送信されたヘッダを受信することでメッセージの取得依頼を受けると(ステップS801肯定)、メッセージ格納キュー51から当該受信したヘッダで構成されたメッセージを読み出し(ステップS802)、宛先には受信したヘッダの送信元を付与して送信する(ステップS803)。これに続いて、受信側装置70は、送信側装置30より送信されたメッセージを受信すると(ステップS804肯定)、受信条件記憶部92によって記憶された対応関係を参照して格納すべきメッセージ格納キュー91を決定し(ステップS805)、そのメッセージ格納キュー91にメッセージを格納する(ステップS806)。
[実施例1の効果]
上記したように、実施例1によれば、送信側装置は、ダイジェストの受信を希望する受信側装置のアドレス情報を記憶する。そして、送信側装置は、キューに格納されている複数のメッセージから各メッセージを一意に識別するヘッダ情報をそれぞれ抽出し、抽出した各ヘッダ情報を集めたダイジェストを作成する。そして、送信側装置は、ダイジェストを、アドレス情報で特定される受信側装置にそれぞれ送信し、複数の受信側装置のいずれかからダイジェストに含まれるいずれかのヘッダ情報が指定されたメッセージ取得依頼を受信した場合に、当該指定されたヘッダ情報に対応するメッセージをキューから読み出して、当該メッセージ取得依頼を送信した受信側装置に送信する。また、受信側装置は、送信側装置から受信すべきメッセージを特定するための情報である受信条件を記憶する。そして、受信側装置は、送信側装置から受信したダイジェストから、受信条件に合致するヘッダを検索し、受信条件に合致するものとして検索されたヘッダを含んだメッセージ取得依頼を送信側装置に送信する。このようにすることで、システム間の通信関係を柔軟に構築することが可能となる。
具体的には、送信側主導で通信定義を設定する場合に対して、(1)受信側システムが追加/変更されても、受信側装置より送信されたアドレス情報によって配信先管理リストが更新され、送信側システムにおいて定義の修正を必要としないので、通信関係の構築に係る作業が簡易となる。(2)送信側装置は、送信キューを一つだけ備えればよく、受信側システムが追加/変更されても、送信キューを増設する必要がないので、通信関係の構築に係る作業が簡易となる。(3)送信側装置におけるアプリケーションについては、ただ一つの送信キューにメッセージを格納するだけであって、受信側システムの追加/変更と同期をとってメッセージを格納する論理の修正を必要としないので、通信関係の構築に係る作業が簡易となる。(4)送信側装置は、送信キューを一つだけ備えればよく、受信側システムの追加にともなうメモリの増設を必要としないので、安価にシステム間の通信関係を構築することが可能となる。(5)送信側装置は、受信キューとは関係なく作成したダイジェストごとに処理するので、1メッセージあたりのCPU負荷を制御して処理速度を保つことが可能となる。(6)送信側装置における配信条件の設定をそもそも必要としないので、通信関係の構築に係る作業が簡易となる。
また、受信側主導で通信定義を設定する場合に対して、(7)送信側装置は、送信キューを一つだけ備えればよく、受信側システムが追加/変更されても、送信キューを増設する必要がないので、通信関係の構築に係る作業が簡易となる。(8)送信側装置におけるアプリケーションについては、ただ一つの送信キューにメッセージを格納するだけであって、受信側システムの追加/変更と同期をとってメッセージを格納する論理の修正を必要としないので、通信関係の構築に係る作業が簡易となる。(9)受信側装置は、送信側装置より送信されるダイジェストに基づいて処理を行うので、ポーリングするなどして逐次監視する制御を必要としないので、通信関係の構築に係る作業が簡易となる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、(1)〜(5)にそれぞれ区分けして異なる実施例を説明する。
(1)メッセージ本文
上記の実施例1では、メッセージの構成については、ヘッダと、メッセージ本文とで構成される場合を説明したが、本発明はこれに限定されるものではなく、メッセージ本文が収まる部分であるメッセージ本体に、メッセージ本文の獲得に至るための情報(例えば、メッセージ本文の所在を示すアドレス情報など)を格納するようにしてもよい。これを具体的に説明すると、メッセージ本体と、別の保存場所にあるメッセージ本文とについては、両者を一意に対応付ける情報(以下、一意キー)を付与する。そして、図8のフローチャートにおける処理の流れにおいて、送信側装置30は、受信側装置70より送信されたヘッダを受信すると(ステップS801肯定)、メッセージ格納キュー51から当該受信したヘッダで構成されたメッセージを読み出す(ステップS802)。そして、送信側装置30は、メッセージにおいてメッセージ本体にあるアドレス情報が示す保存場所から、メッセージ本体に付与された一意キーに基づいてメッセージ本文を読み出す。そして、送信側装置30は、メッセージ本体に当該読み出したメッセージ本文を収容した後「ステップS803」の処理に移行する。
(2)メッセージ構成
また、上記の実施例1では、キューに格納されるメッセージについては、ヘッダと、メッセージ本文とが常に対応付けられて格納されるものとして説明したが、本発明はこれに限定されるものではなく、ヘッダと、メッセージ本文とを分けてそれぞれ別の格納場所に格納するようにしてもよい。これを具体的に説明すると、ヘッダおよびメッセージ本文については、両者を一意に対応付ける情報(以下、一意キー)を付与する。そして、受信側装置70は、ダイジェストに商品名を含むヘッダが見付かった場合には、ヘッダに付与された一意キーを送信側装置30に送信する。そして、送信側装置30は、受信側装置70より送信された一意キーを受信すると、一意キーに基づいてそれぞれの格納場所からヘッダおよびメッセージ本文を読み出し、両者を対応付けることでメッセージとして受信側装置70に送信する。なお、受信側装置70は、一意キーではなく、検索の結果見付けたヘッダ自体を送信側装置30に送信するようにしてもよい。
(3)受信キュー
また、上記の実施例1では、送信側装置30と、受信側装置70とがキューを備え、メッセージに対するアプリケーションの連携処理を非同期で行う場合として説明したが、本発明はこれに限定されるものではなく、受信側装置70を常に動作するものとして、メッセージに対するアプリケーションの連携処理を同期で行い、このような受信側装置70にキューを備えない構成にしてもよい。
(4)システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、例えば、ダイジェスト作成部62aと、ダイジェスト送信部62bと統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。例えば、上記の実施例では、受信側装置が送信先装置と通信可能な状態になると自動でアドレス情報を送信する場合を説明したが、オペレータが所定の操作を行うことで動作が始まるようにしてもよい。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称(例えば、商品名「コンピュータ」など)、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
(5)メッセージ転送プログラム
ところで、上記の実施例1では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図9を用いて、上記の実施例1に示したメッセージ転送システムと同様の機能を有するメッセージ転送プログラムを実行するコンピュータの一例を説明する。図9は、メッセージ転送プログラムを実行するコンピュータを示す図である。
同図に示すように、送信側装置30としてのコンピュータ110は、ディスプレイ111、マウス112、外部I/F113、CPU114、ROM115、HDD116およびRAM117をバス118などで接続して構成される。
ROM115には、上記の実施例1に示した送信側装置30と同様の機能を発揮するメッセージ転送プログラム、つまり、図9に示すように、アプリケーションプログラム115aと、キュー間転送制御プログラム115bと、ダイジェスト作成プログラム115cと、ダイジェスト送信プログラム115dと、取得依頼処理プログラム115eと、配信先管理リスト作成プログラム115fとが予め記憶されている。なお、これらのプログラム115a〜プログラム115fについては、図2に示した送信側装置30の各構成要素と同様、適宜統合または分散してもよい。
そして、CPU114が、これらのプログラム115a〜プログラム115fをROM115から読み出して実行することで、図9に示すように、プログラム115a〜プログラム115fは、アプリケーションプロセス114a、キュー間転送制御プロセス114b、ダイジェスト作成プロセス114c、ダイジェスト送信プロセス114d、取得依頼処理プロセス114e、配信先管理リスト作成プロセス114fとして機能するようになる。なお、プロセス114a〜プロセス114fは、図2に示したアプリケーション61と、キュー間転送制御部62と、ダイジェスト作成部62aと、ダイジェスト送信部62bと、取得依頼処理部62cと、配信先管理リスト作成部63とにそれぞれ対応する。
また、HDD116には、図9に示すように、配信先管理リストテーブル116aが設けられる。なお、配信先管理リストテーブル116aは、図2に示した配信先管理リスト記憶部52に対応する。そして、CPU114は、配信先管理リストテーブル116aから配信先管理データ117aを読み出してRAM117に格納し、RAM117に格納された配信先管理データ117aに基づいてメッセージ転送に係る処理を実行する。
また、受信側装置70としてのコンピュータ120は、ディスプレイ121、マウス122、外部I/F123、CPU124、ROM125、HDD126、RAM127をバス128などで接続して構成される。
ROM125には、上記の実施例1に示した受信側装置70と同様の機能を発揮するメッセージ転送プログラム、つまり、図9に示すように、配信リクエスト処理プログラム125aと、アプリケーションプログラム125bと、キュー間転送制御プログラム125cと、取得メッセージ検索プログラム125dと、取得依頼処理プログラム125eと、メッセージ格納処理プログラム125fとが予め記憶されている。
そして、CPU124が、これらのプログラム125a〜プログラム125fをROM125から読み出して実行することで、図9に示すように、プログラム125a〜プログラム125fは、配信リクエスト処理プロセス124a、アプリケーションプロセス124b、キュー間転送制御プロセス124c、取得メッセージ検索プロセス124d、取得依頼処理プロセス124e、メッセージ格納処理プロセス124fとして機能するようになる。なお、プロセス124a〜プロセス124fは、図4に示した配信リクエスト処理部101と、アプリケーション102と、キュー間転送制御部103と、取得メッセージ検索部103aと、取得依頼処理部103bと、メッセージ格納処理部103cとに対応する。
また、HDD126には、図9に示すように、受信条件テーブル126aが設けられる。なお、受信条件テーブル126aは、図4に示した受信条件記憶部92に対応する。そして、CPU124は、受信条件テーブル126aから受信条件データ127aを読み出してRAM127に格納し、RAM127に格納された受信条件データ127aに基づいてメッセージ転送に係る処理を実行する。
なお、上記したプログラム115a〜115fおよびプログラム125a〜125fについては、必ずしも最初からROM115やROM125に記憶させておく必要はなく、例えば、コンピュータ110やコンピュータ120に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータ110やコンピュータ120の内外に備えられるHDDなどの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ110やコンピュータ120に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ110やコンピュータ120がこれらから各プログラムを読み出して実行するようにしてもよい。
以上のように、本発明に係るメッセージ転送プログラム、メッセージ転送方法およびメッセージ転送システムは、メッセージを受信する複数の受信側装置と、キューに格納されているメッセージを複数の受信側装置に転送する送信側装置とを、ネットワークを介して相互に通信可能に接続して構成される場合に有用であり、特にシステム間の通信関係を柔軟に構築することに適する。

Claims (5)

  1. 信側装置としてのコンピュータに、
    前記送信側装置で実行されるアプリケーションによって処理されて記憶手段に格納され、当該アプリケーションと連携して処理を行う他のアプリケーションを実行する受信側装置へ転送される複数のメッセージから、各メッセージを一意に識別するヘッダ情報をそれぞれ抽出し、抽出した各ヘッダ情報を集めたダイジェストを作成するダイジェスト作成手順と、
    前記ヘッダ情報と前記メッセージの振り分け先であるアプリケーションに係る識別情報とが対応付けられた情報を含む受信条件に基づいて前記ダイジェストから当該受信条件に合致するヘッダ情報を検索して当該ヘッダ情報を含んだメッセージ取得依頼を前記送信側装置に送信する前記複数の受信側装置それぞれに、前記ダイジェスト作成手順によって作成されたダイジェストを送信するダイジェスト送信手順と、
    前記送信側装置から転送されるメッセージを前記受信条件に基づいて対応する振り分け先に振り分ける前記複数の受信側装置のいずれかから前記ダイジェストに含まれるいずれかのヘッダ情報が指定されたメッセージ取得依頼を受信した場合に、当該指定されたヘッダ情報に対応するメッセージを前記記憶手段から読み出して、当該メッセージ取得依頼を送信した受信側装置に送信するメッセージ送信手順と、
    を実行させることを特徴とするメッセージ転送プログラム。
  2. 送信側装置としてのコンピュータが実行するメッセージ転送方法であって、
    前記送信側装置で実行されるアプリケーションによって処理されて記憶手段に格納され、当該アプリケーションと連携して処理を行う他のアプリケーションを実行する受信側装置へ転送される複数のメッセージから、各メッセージを一意に識別するヘッダ情報をそれぞれ抽出し、抽出した各ヘッダ情報を集めたダイジェストを作成するダイジェスト作成工程と、
    前記ヘッダ情報と前記メッセージの振り分け先であるアプリケーションに係る識別情報とが対応付けられた情報を含む受信条件に基づいて前記ダイジェストから当該受信条件に合致するヘッダ情報を検索して当該ヘッダ情報を含んだメッセージ取得依頼を前記送信側装置に送信する前記複数の受信側装置それぞれに、前記ダイジェスト作成工程によって作成されたダイジェストを送信するダイジェスト送信工程と、
    前記送信側装置から転送されるメッセージを前記受信条件に基づいて対応する振り分け先に振り分ける前記複数の受信側装置のいずれかから前記ダイジェストに含まれるいずれかのヘッダ情報が指定されたメッセージ取得依頼を受信した場合に、当該指定されたヘッダ情報に対応するメッセージを前記記憶手段から読み出して、当該メッセージ取得依頼を送信した受信側装置に送信するメッセージ送信工程と、
    を含んだことを特徴とするメッセージ転送方法。
  3. 送信側装置と複数の受信側装置とを有するメッセージ転送システムであって、
    前記送信側装置は、
    前記送信側装置で実行されるアプリケーションによって処理されて記憶手段に格納され、当該アプリケーションと連携して処理を行う他のアプリケーションを実行する受信側装置へ転送される複数のメッセージから、各メッセージを一意に識別するヘッダ情報をそれぞれ抽出し、抽出した各ヘッダ情報を集めたダイジェストを作成するダイジェスト作成手段と、
    前記ダイジェスト作成手段によって作成されるダイジェストの受信を希望する受信側装置のアドレス情報を記憶するアドレス情報記憶手段と、
    前記ダイジェスト作成手段によって作成されたダイジェストを、前記アドレス情報記憶手段に記憶されたアドレス情報で特定される受信側装置にそれぞれ送信するダイジェスト送信手段と、
    前記複数の受信側装置のいずれかから前記ダイジェストに含まれるいずれかのヘッダ情報が指定されたメッセージ取得依頼を受信した場合に、当該指定されたヘッダ情報に対応するメッセージを前記記憶手段から読み出して、当該メッセージ取得依頼を送信した受信側装置に送信するメッセージ送信手段と、
    を備え、
    前記受信側装置は、
    前記ヘッダ情報と前記メッセージの振り分け先であるアプリケーションに係る識別情報とが対応付けられた情報を含む受信条件を記憶する受信条件記憶手段と、
    前記送信側装置から前記ダイジェストを受信した場合に、受信したダイジェストから、前記受信条件記憶手段によって記憶された受信条件に合致するヘッダ情報を検索する検索手段と、
    前記検索手段によって受信条件に合致するものとして検索されたヘッダ情報を含んだメッセージ取得依頼を前記送信側装置に送信するメッセージ取得依頼送信手段と、
    前記メッセージを受信した場合に、前記受信条件記憶手段を参照して、受信したメッセージに含まれるヘッダ情報に対応する振り分け先に、当該メッセージを振り分ける格納手段と、
    を備えたことを特徴とするメッセージ転送システム。
  4. コンピュータに、
    他のコンピュータが保持するデータの識別情報の取得要求を、前記他のコンピュータに送信し、
    前記取得要求に応じて前記他のコンピュータから取得した識別情報が、前記コンピュータが備える記憶手段に、前記コンピュータに設けられた複数の振り分け先のそれぞれと対応付けて記憶された識別情報群のうちのいずれかと合致する場合に、前記識別情報群のうちの合致した識別情報に対応するデータの送信要求を前記他のコンピュータに送信し、
    前記送信要求に応じて前記他のコンピュータから送信された、前記識別情報に対応するデータを受信した場合に、受信した前記データを、前記合致した識別情報と対応付けられた振り分け先に振り分ける、
    ことを実行させることを特徴とする振り分け制御プログラム。
  5. 前記合致した識別情報と対応付けられた振り分け先は、前記コンピュータで動作するアプリケーションプログラムの制御に応じてアクセスされる記憶領域を示し、
    前記送信要求に応じて送信されるデータは、前記アプリケーションプログラムと連携して処理を行う他のアプリケーションプログラムの制御に応じてアクセスされる記憶領域から読み出されて前記コンピュータに送信されるデータである、
    ことを特徴とする請求項4に記載の振り分け制御プログラム。
JP2009507319A 2007-03-28 2007-03-28 メッセージ転送プログラム、メッセージ転送方法、メッセージ転送システムおよび振り分け制御プログラム Expired - Fee Related JP4998553B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/056697 WO2008120327A1 (ja) 2007-03-28 2007-03-28 メッセージ転送プログラム、メッセージ転送方法およびメッセージ転送システム

Publications (2)

Publication Number Publication Date
JPWO2008120327A1 JPWO2008120327A1 (ja) 2010-07-15
JP4998553B2 true JP4998553B2 (ja) 2012-08-15

Family

ID=39807920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009507319A Expired - Fee Related JP4998553B2 (ja) 2007-03-28 2007-03-28 メッセージ転送プログラム、メッセージ転送方法、メッセージ転送システムおよび振り分け制御プログラム

Country Status (3)

Country Link
US (1) US20100008366A1 (ja)
JP (1) JP4998553B2 (ja)
WO (1) WO2008120327A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9930116B2 (en) * 2015-06-01 2018-03-27 Oracle International Corporation Method and system for selecting a transport mechanism and a storage process

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213287A (ja) * 2002-12-27 2004-07-29 Mitsubishi Research Institute Inc 情報配信システム、情報配信方法、データ送信装置、データ受信装置、データ管理装置及びプログラム
JP2005063171A (ja) * 2003-08-13 2005-03-10 Matsushita Electric Ind Co Ltd コンテンツの送信装置及び受信装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6332129B1 (en) * 1996-09-04 2001-12-18 Priceline.Com Incorporated Method and system for utilizing a psychographic questionnaire in a buyer-driven commerce system
US6504842B1 (en) * 1998-07-30 2003-01-07 Alcatel Internetworking, Inc. Hardware copy assist for data communication switch
JP4516397B2 (ja) * 2004-10-05 2010-08-04 株式会社日立製作所 レイヤ2スイッチ
US20070156974A1 (en) * 2006-01-03 2007-07-05 Haynes John E Jr Managing internet small computer systems interface communications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213287A (ja) * 2002-12-27 2004-07-29 Mitsubishi Research Institute Inc 情報配信システム、情報配信方法、データ送信装置、データ受信装置、データ管理装置及びプログラム
JP2005063171A (ja) * 2003-08-13 2005-03-10 Matsushita Electric Ind Co Ltd コンテンツの送信装置及び受信装置

Also Published As

Publication number Publication date
WO2008120327A1 (ja) 2008-10-09
US20100008366A1 (en) 2010-01-14
JPWO2008120327A1 (ja) 2010-07-15

Similar Documents

Publication Publication Date Title
US8819080B2 (en) System and method for collection, retrieval, and distribution of data
KR101864813B1 (ko) 저장 시스템에서 조작 요청을 처리하기 위한 방법 및 장치
EP2957052B1 (en) Media delivery service protocol to support large numbers of client with error failover processes
CN110661891B (zh) 一种基于单向网络的跨网文件即时传输方法及系统
CN106059936B (zh) 云系统组播文件的方法及装置
CN110381058B (zh) 基于全双工通信协议WebSocket的请求传输方法及装置
US9544242B2 (en) Network data prioritizer
CN101720554A (zh) 将视频数据转换成视频流
US8948050B2 (en) Distribution system, distribution method, and memory medium thereof
JP6608572B1 (ja) データ処理装置、データ処理システム、データ処理方法及びプログラム
JP3605242B2 (ja) データ送信装置、データ受信装置、およびデータファイル記憶媒体
CN113986811B (zh) 一种高性能内核态网络数据包加速方法
US8903885B2 (en) Information communication system, node device, information processing method and computer-readable storage medium
US9137331B2 (en) Adaptive replication
JP4998553B2 (ja) メッセージ転送プログラム、メッセージ転送方法、メッセージ転送システムおよび振り分け制御プログラム
CN105210335A (zh) 用于数据分发的网络路由修改
JP4793254B2 (ja) コンテンツ配信システム及び方法
GB2580420A (en) Electronic message adaptation
JP2002373133A (ja) データ加工中継方法並びに装置及びネットワークシステム装置並びにデータ加工中継処理プログラム及び該処理プログラムを記録した記録媒体
CN102098339A (zh) 一种音频文件传输方法及其系统
KR20150112894A (ko) Mmt 에셋 전달 특성 시그널링 메시지의 구성 방법
US9137031B2 (en) Method and transmitter for producing a data stream, method and receiver for calling at least one data segment in a data stream
US20190320008A1 (en) Data transfer system and method thereof
JPH11249977A (ja) データ転送ネットワークシステム
JP7163093B2 (ja) ブローカ装置、通信システム、通信方法、およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110815

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120430

R150 Certificate of patent or registration of utility model

Ref document number: 4998553

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees