JP2010086137A - メッセージキューイング方法及びプログラム - Google Patents

メッセージキューイング方法及びプログラム Download PDF

Info

Publication number
JP2010086137A
JP2010086137A JP2008252315A JP2008252315A JP2010086137A JP 2010086137 A JP2010086137 A JP 2010086137A JP 2008252315 A JP2008252315 A JP 2008252315A JP 2008252315 A JP2008252315 A JP 2008252315A JP 2010086137 A JP2010086137 A JP 2010086137A
Authority
JP
Japan
Prior art keywords
message
application
processes
control unit
process control
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.)
Granted
Application number
JP2008252315A
Other languages
English (en)
Other versions
JP5509564B2 (ja
Inventor
Yasuo Koike
康夫 小池
Tamaki Tanaka
環 田中
Masashi Yamamoto
昌司 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008252315A priority Critical patent/JP5509564B2/ja
Priority to US12/493,873 priority patent/US8201017B2/en
Publication of JP2010086137A publication Critical patent/JP2010086137A/ja
Application granted granted Critical
Publication of JP5509564B2 publication Critical patent/JP5509564B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare

Abstract

【課題】プロセス起動時の他プロセスへの影響を排除できる冗長化されたアプリケーションへのメッセージキューイング方法及びプログラムを提供する。
【解決手段】メッセージ処理装置1のメッセージキュー部10は受信したメッセージを保存する。メッセージ受信制御部11は、メッセージ100の宛先の通知を受け、プロセスの現用又は待機を記録したプロセス制御表110に基づいて、現用プロセスに対するメッセージ100のみを取り出し、対応する現用プロセスのアプリケーション2Bへメッセージ100を送信する。一方、メッセージ受信制御部11は、待機プロセスのアプリケーション2Bに対しては、メッセージ100を送信しない。
【選択図】図1

Description

本発明は、メッセージキューイング方法及びプログラムに関し、特に、冗長化されたアプリケーションの連携を行うアプリケーション間におけるメッセージキューイング方法及びプログラムに関する。
株式取引システム等のような運用停止が不可とされるコンピュータシステムは、ミッションクリティカルであるという。このようなミッションクリティカルなコンピュータシステムにおいては、その信頼性を高めるため、コンピュータシステムを冗長化する必要がある。このようなシステムの冗長化に関する技術としては、以下の方法がある。
第1の方法は、アプリケーションのプロセス単位での冗長化を行う方法である。この方法は、プロセスの実行多重度が一定になるようにプロセス数を補充する方法、即ち、アプリケーションの2つ以上のプロセスを用意し、プロセス単位でのホットスタンバイ構成とする方法である。具体的には、同じ構成のシステムを2系統用意しておき、一方のシステムを現用系として動作させて、他方は待機系として同じ動作をさせながら、待機状態にしておく方法である。待機系のシステムは、現用系のシステムと常に同じ状態を保ち、現用系のシステムに障害が発生した場合には、速やかに待機系のシステムが処理を引き継ぐ。
第2の方法は、サーバ単位での冗長化を行う方法である。この方法は、サーバ単位で同じ構成のシステムを用意し、ホットスタンバイ構成とする方法である。
なお、コンピュータ間の通信を行う通信システムにおいて、ネットワークシステムの各端末である特定のプロセスからのパケットのみを優先的に処理することができる通信システムが知られている。
また、遠隔操作装置において、新たなコードを登録したときにロックノブを作動して、新たなコード信号が登録されたことを表示できる遠隔操作装置が知られている。
更に、分散共有メモリ計算機システムにおいて、ネットワーク資源を有効利用するために一貫性保証制御と同期制御を少ないネットワークパケット数で実現し、分散共有メモリへのアクセス性能を向上させる分散共有メモリ計算機システムが知られている。
特開平4−180425号公報 特開2001−227219号公報 特開平8−106440号公報
メッセージキューを用いてアプリケーション間の連携を行うサーバ等のシステムの場合、送信側と受信側のアプリケーションは、お互いの状態を認識する必要はない。しかし、本発明者の検討によれば、受信側のアプリケーションを冗長化する場合、以下の課題がある。
第1に、受信側のアプリケーションが異常終了した後、システムが時間あたりの処理量の回復まで時間を要する。異常終了したアプリケーションのプロセスの数だけ新たにプロセスを起動する場合に、プロセス起動時及び初期化処理により、システムが元のスループットになるまでに時間がかかるという問題がある。その結果、再起動時のI/O(Input/Output)などが現在処理中のアプリケーションの性能に悪影響を与えることになるため、性能を重要視するシステム等で問題となる場合がある。
第2に、アプリケーションのプロセス単位でホットスタンバイ構成をとる方法の場合には、全く同じアプリケーションのプログラムを2つ以上用意する必要がある。しかし、PULL型メッセージキュー、即ち、受信側のアプリケーションがメッセージを要求するようなメッセージ処理を使用したアプリケーションでは、待機プロセス側はメッセージキューからの受信を抑止する処理を実装する必要がある。
本発明は、プロセス起動時の他のプロセスへの性能に及ぼす影響を排除することができる冗長化されたアプリケーションの連携を行うアプリケーション間のメッセージキューイング方法を提供することを目的とする。
また、本発明は、プロセス起動時の他のプロセスへの性能に及ぼす影響を排除することができる冗長化されたアプリケーションの連携を行うアプリケーション間のメッセージキューイングを実行するプログラムを提供することを目的とする。
開示するメッセージキューイング方法は、メッセージを送信する送信アプリケーションと、多重化して構成されたメッセージを受信する複数の受信アプリケーションとの間のメッセージの送受信を処理するコンピュータが実行するメッセージキューイング方法である。このメッセージキューイング方法は、前記受信アプリケーションについての現用として設定可能なプロセス数の最大数である最大現用数と起動されている起動プロセスとを取得し、前記起動プロセスの各々について現用又は待機のいずれかの状態をプロセス制御テーブルに設定するプロセス制御ステップと、前記送信アプリケーションからのメッセージをキューイング処理するメッセージキューイングステップと、前記プロセス制御テーブルに現用が設定されたプロセスのみに対して、前記キューイングされているメッセージを取り出して送信するメッセージ受信制御ステップとを備える。
開示するメッセージキューイングプログラムは、コンピュータにおいて実行され、前述したメッセージキューイング方法を実現する。
開示するメッセージキューイング方法及びプログラムによれば、受信アプリケーションの起動されているプロセスのうち、現用に設定されたプロセスのみが送信アプリケーションからのメッセージを受信し、待機に設定されたプロセスに対する送信アプリケーションのメッセージ送信は行われないというメッセージ送信制御を実現する。
従って、受信アプリケーションの待機のプロセスにメッセージ受信を行わないための機能を設ける必要がないため、起動されている他のプロセスへ影響を及ぼすことなく、プロセス冗長化を簡単に実現することができる。即ち、予め冗長化された複数のプロセスが起動される。このため、初期化処理等による業務復帰までのタイムロスが少なく、速やかに業務再開を実現することができる。また、プロセス起動時の他のプロセスへの性能に及ぼす影響を排除することができる。更に、受信アプリケーションにおいて、冗長化の構成に対応させる処理を実行するためのプログラムの追加が不要になるので、アプリケーションの独立性を高めることができる。
図1は、本実施形態における情報処理装置の構成の一例を示す図である。
図1の情報処理装置は、メッセージ処理装置1と、複数のアプリケーション2とを備えるコンピュータシステムである。メッセージ処理装置1は、メッセージキュー部10と、メッセージ受信制御部11と、監視スレッド部12とを備える。メッセージ受信制御部11は、プロセス制御部13を備える。アプリケーション2は、当該コンピュータ上で実行されるプログラムであり、実際には、当該コンピュータにおいて生成されたプロセス(又はスレッド)により実行される。従って、アプリケーション2をアプリケーション2のプロセスとも言う。送信側のアプリケーション2に符号Aを付して表し、受信側のアプリケーション2に符号Bを付して表すこととする。
メッセージ処理装置1は、このコンピュータシステムにおいて、メッセージキューイング処理により、送信側のアプリケーション2Aからのメッセージ100を受信側のアプリケーション2Bに送信する。
なお、メッセージ処理装置1とアプリケーション2A及び/又は2Bとを、異なるコンピュータに設けるようにしても良い。例えば、メッセージ処理装置1をサーバに設け、送信側のアプリケーション2A及び受信側のアプリケーション2Bの一方又は双方をネットワークを介して前記サーバに接続された他のコンピュータ(クライアントマシーン)により実行するようにしても良い。
受信側のアプリケーション2Bは冗長化される。この冗長化のために、メッセージ処理装置1は、予め利用者から「利用者の設定」の入力を受け付ける。「利用者の設定」により、受信側のアプリケーション2Bの冗長構成が指定される。本発明実施例においては、「利用者の設定」において、受信側のアプリケーション2Bの数が“5”に設定され、かつ、現用系のアプリケーション2Bの多重数(並列して又は同時に存在する数、以下同じ)が“3多重”に設定されているものとする。従って、待機系のアプリケーション2Bの多重数は“2多重”となる。現用系のアプリケーション2Bの数の最大値が最大現用数(又は最大現用プロセス数)である。最大現用数とは、受信側のアプリケーション2Bを実行するプロセスであって、並列して又は同時に現用として設定可能なプロセスの数の最大値である。
メッセージ処理装置1は、「利用者の設定」に基づいて、アプリケーション2Bのプロセスの生成順(2B−1を1番目とし、2B−1〜2B−5の生成順とする)に、現用プロセスを3つ、待機プロセスを2つとして、メッセージ処理を行う。1番目に生成されたアプリケーション2Bをアプリケーション2B−1と表し、以下生成順にアプリケーション2B−1〜2B−5と表すものとする。なお、実際に生成されるのは、アプリケーション2Bを実行することになるプロセスである。メッセージ処理は、メッセージのキューイングにより送信側のアプリケーション2Aと、受信側の複数のアプリケーション2Bの現用プロセス間のメッセージの送受信を行うものである。
メッセージキュー部10は、送信側のアプリケーション2Aから受信側のアプリケーション2Bに送られるメッセージ100を受信し、一時的にメッセージ100を保存する。
メッセージキュー部10は、保存したメッセージ100の宛先(通信パス等)をメッセージ受信制御部11へ通知する。メッセージキュー部10は、メッセージ受信制御部11からメッセージ100の送信要求がある場合に、保存したメッセージ100を取り出し、メッセージ受信制御部11に取り出したメッセージ100を送信する。
なお、アプリケーション2B−1に送信されるメッセージ100をM1と表し、アプリケーション2B−2に送信されるメッセージ100をM2と表し、アプリケーション2B−3に送信されるメッセージ100をM3と表すものとする。
メッセージ受信制御部11は、メッセージキュー部10から保存されたメッセージ100の宛先(通信パス等)の通知を受ける。メッセージ受信制御部11は、プロセス制御部13が備えるプロセス制御表110に基づいて、メッセージ100の宛先から保存されたメッセージ100の取り出しを判断し、取り出したメッセージ100は対応するアプリケーション2Bへ送信する。
具体的には、メッセージ受信制御部11は、プロセス制御表110に基づいて、保存されたメッセージ100の宛先から、現用プロセスのアプリケーションのみへのメッセージ100(M1、M2、M3)を取り出し、取り出したメッセージ100(M1、M2、M3)を現用プロセスであるアプリケーション2B−1、2B−2、2B−3それぞれへ送信する。一方、メッセージ受信制御部11は、メッセージキュー部10が保存するメッセージ100の宛先が待機プロセスのアプリケーション2B−4、2B−5であれば、これらのアプリケーション2B−4、2B−5に対するメッセージ100を取り出さず、送信を行わない。
監視スレッド部12は、メッセージ受信制御部11と受信側のアプリケーション2B間の通信状態等を所定の単位の監視スレッドで監視する。監視スレッド部12は、監視スレッドに基づいて、受信側のアプリケーション2Bのプロセスの状態を監視し、受信側のアプリケーション2Bのプロセス状態の変化(プロセスの生成、異常終了等)をメッセージ受信制御部11に通知する。これにより、メッセージ受信制御部11は、アプリケーション2Bのプロセスの状態を監視することができる。
プロセス制御部13は、メッセージの送信を判断するためのプロセス制御表110を備えて、複数のアプリケーション2Bの現用プロセス及び待機プロセスを管理する。
プロセス制御表110の構成及び詳細な説明については、後述する図5の説明にて行う。また、図1に示す実施形態の動作説明については、図2乃至図4の動作説明にて行う。
図1に示す本発明の実施態様によれば、アプリケーション2B側では、各プロセスが現用プロセスであるか待機プロセスであるかを区別して認識する必要はない。即ち、メッセージ処理装置1が、現用プロセスと待機プロセスであるかを管理し、メッセージを送信するか否かを判断する。このため、受信側のアプリケーション2Bは、メッセージの受信を待つだけである。従って、アプリケーション2B側のプロセスで現用と待機との場合を区別してプロセスを作りこむ必要がない。このため、アプリケーション2Bの独立性を確保することができる。
図2は、アプリケーション2B−1〜2B−5がメッセージ受信制御部11に接続した場合の処理(第1の処理)を示す。
利用者は、予めメッセージ受信側の同一アプリケーション2Bのプロセスを必要な多重数分起動する。図2において、例えば、予め利用者が受信側のアプリケーション2Bの数を“5”と設定し、かつ、現用系のアプリケーション2Bの多重数を“3多重”として設定する。設定に基づいてアプリケーション2B−1〜2B−5が多重起動される。
アプリケーション2Bは、プロセスの生成をメッセージ受信制御部11へ通知する(処理T1)。メッセージ受信制御部11は、アプリケーション2Bの生成されたプロセスに対する監視スレッドを生成し(処理T2)、監視スレッド部12が生成された監視スレッドによりアプリケーション2Bのプロセスの状態を監視する(処理T3)。
プロセス制御部13は、アプリケーション2Bのプロセス生成を受けて、プロセスの生成順にアプリケーション2B−1〜2B−5のプロセスを管理するデータをプロセス制御表110へ保存する。
メッセージ受信制御部11は、メッセージキュー部10へ現用プロセスであるアプリケーション2B−1〜2B−3のメッセージ100(M1、M2、M3)の受信要求を行う(処理T4)。
メッセージキュー部10は、送信側のアプリケーション2Aに対して、メッセージ100(M1、M2、M3)が受信許可であることを通知する(処理T5)。
メッセージ100の受信許可の通知を受けた送信側のアプリケーション2Aは、メッセージM1、M2、M3をメッセージ処理装置1に送信する(処理T6)。メッセージ処理装置1のメッセージキュー部10は、メッセージM1〜M3を受信し、受信したメッセージM1〜M3のキューイング処理(待ち行列の処理)を行う。
メッセージキュー部10は、メッセージM1を受信した後、メッセージM1を保存していることを、メッセージ受信制御部11へ通知する。通知を受けたメッセージ受信制御部11が、メッセージM1をメッセージキュー部10から取り出す(処理T7)。
メッセージ受信制御部11は、取り出したメッセージM1を現用プロセスのアプリケーション2B−1へ送信する(処理T8)。メッセージM2及びM3についても同様な処理を行う(処理T9〜T10及び処理T11〜T12)。
一方、メッセージ受信制御部11は、待機プロセスのアプリケーション2B−4及び2B−5のメッセージは取り出さない(処理T13、処理T14)。
メッセージ受信制御部11は、アプリケーション2B−4及び2B−5へメッセージ100を送信しないため、アプリケーション2B−4及び2B−5側にとっては、メッセージ受信待ちの状態を継続している。アプリケーション2B−4及び2B−5側では、メッセージ受信待ちであるだけであり、プロセスが待機であるという区別はない。
図3は、受信側の現用系のアプリケーション2Bの現用プロセスがダウンした場合に、アプリケーション2Bの待機プロセスが現用プロセスに昇格する場合の処理(第2の処理)を示す。
具体的には、図3では、アプリケーション2B−1〜2B−3を受信側の現用系アプリケーションとして3多重とした状態(図2に示した第1の処理の状態)において、現用プロセスのうち1つがダウンした場合に、待機プロセスを現用プロセスに昇格させる場合の処理を示す。
現用プロセスであるアプリケーション2B−1のプロセスが、異常終了等によりダウンした場合に、メッセージ受信制御部11は、アプリケーション2Bの生成されたプロセスに対する監視スレッドを確認する(処理T21)。メッセージ受信制御部11は、監視スレッド部12に問い合せを行う(処理T22)。
監視スレッド部12がアプリケーション2Bのプロセス状態を監視し(処理T23)、アプリケーション2B−1のプロセスがダウンしている状態と判断し、メッセージ受信制御部11にその状態を通知する。
通知を受けたメッセージ受信制御部11のプロセス制御部13は、プロセス制御表110からアプリケーション2B−1のプロセスに対応するデータを削除する。
メッセージ受信制御部11は、現用プロセス数が“2”になったことを認識し、現用プロセス数を“3”に保つため、プロセス制御表110上において、アプリケーション2B−4のプロセスを待機プロセスから現用プロセスに昇格させるデータの更新を行う。
更新されたプロセス制御表110により、メッセージ受信制御部11は、メッセージキュー部10へ現用プロセスとなったアプリケーション2B−4のメッセージ100の受信許可の通知を行う(処理T24)。
メッセージ100の受信許可の通知を受けた送信側のアプリケーション2Aは、メッセージM2、M3、M4をメッセージ処理装置1に送信する(処理T25)。
メッセージキュー部10は、メッセージM2〜M4を受信し、メッセージキュー部10が受信したメッセージM2〜M4のキューイング処理(待ち行列の処理)を行う。メッセージキュー部10は、メッセージM2を受信した後、メッセージM2を保存していることを、メッセージ受信制御部11へ通知する。
通知を受けたメッセージ受信制御部11が、メッセージM2をメッセージキュー部10から取り出す(処理T26)。メッセージ受信制御部11は、取り出したメッセージM2を現用プロセスのアプリケーション2B−2へ送信する(処理T27)。メッセージM3及びM4についても同様な処理を行う(処理T28〜T29及び処理T30〜T31)。
メッセージ受信制御部11は、待機プロセスのアプリケーション2B−5のメッセージは取り出さない(処理T32)。また、メッセージ受信制御部11は、プロセスダウンと判断したアプリケーション2B−1へメッセージ100の受信処理を行わない。
以上のように、現用プロセスのアプリケーション2B−1が異常終了等によりプロセスダウンした場合においても、メッセージ処理装置1内で、アプリケーション2B−4の待機プロセスから現用プロセスにプロセスを昇格させることができる。
これにより、メッセージ処理装置1は、速やかにメッセージ受信待ち状態のアプリケーション2B−4の昇格した現用プロセスへメッセージM4を送信することができる。
図4は、受信側の現用系のアプリケーション2Bの現用プロセスがダウンし、待機プロセスが現用プロセスに昇格した状態(図3に示した第2の処理の状態)の後、メッセージ受信制御部11がアプリケーション2Bの待機プロセスとして補充する場合の処理(第3の処理)を示す。
現用プロセスであるアプリケーション2B−1のプロセスが、異常終了等によりダウンした後、利用者が新たにアプリケーション2B−6のプロセスを起動する(追加する)。プロセスの起動後、アプリケーション2B−6は、プロセスの生成をメッセージ受信制御部11へ通知する(処理T41)。従って、メッセージ受信制御部11は、アプリケーション2Bによる新たなプロセスの追加を受け付ける。
新たなプロセス起動が通知されると、メッセージ受信制御部11は、アプリケーション2B−6のプロセスに対する監視スレッドを生成し(処理T42)、監視スレッド部12が生成された監視スレッドによりアプリケーション2B−6のプロセスの状態を監視する(処理T43)。
この際、通知を受けたプロセス制御部13は、プロセス制御表110へアプリケーション2B−6のプロセスに対応するデータを追加する。更に、プロセス制御部13は、プロセス制御表110上で待機プロセス数が“1”に減じたことにより、アプリケーション2B−6のプロセスを待機プロセスとして補充するため、プロセス制御表110の更新を行う。
メッセージ受信制御部11は、更新されたプロセス制御表110に基づいて、メッセージキュー部10へ現用プロセスであるアプリケーション2B−2〜2B−4のメッセージ100の送信許可の通知を行う(処理T44)。
メッセージ100の受信許可の通知を受けた送信側のアプリケーション2Aは、メッセージM2、M3、M4をメッセージ処理装置1に送信する(処理T45)。
メッセージキュー部10は、メッセージM2〜M4を受信し、受信したメッセージM2〜M4のキューイング処理(待ち行列の処理)を行う。メッセージキュー部10は、メッセージM2を受信した後、メッセージM2を保存していることを、メッセージ受信制御部11へ通知する。通知を受けたメッセージ受信制御部11が、メッセージM2をメッセージキュー部10から取り出す(処理T46)。
メッセージ受信制御部11は、取り出したメッセージM2を現用プロセスのアプリケーション2B−2へ送信する(処理T47)。メッセージM3及びM4についても同様な処理を行う(処理T48〜T49及びT50〜T51)。メッセージ受信制御部11は、待機プロセスのアプリケーション2B−5及び2B−6のメッセージ100は取り出さない(処理T52、T53)。
以上のように、メッセージ処理装置1は、利用者が後から起動したアプリケーション2Bのプロセスであっても、起動したアプリケーション2Bをメッセージ処理装置1に接続した後、現用プロセス又は待機プロセスとして、プロセス制御表110に補充することができる。本発明の実施態様によれば、メッセージ処理装置1内でアプリケーション2Bの現用プロセス及び待機プロセスを管理する。このため、速やかに現用プロセス又は待機プロセスとして補充し、冗長化されたアプリケーション2Bへメッセージ処理の準備を速やかに行うことができる。
なお、利用者がアプリケーション2Bを補充するタイミングは、業務処理の運用に影響のないタイミングで、かつ、後から起動して補充するタイミングであっても良い。
図4の例では、現用のアプリケーション2Bの数が設定された数(=3)に達しているため、後から補充されたアプリケーション2Bは待機のアプリケーション2Bとなる。
図5は、本実施形態におけるプロセス制御表110のデータ構造を説明する図である。
図5(A)は、メッセージ受信制御部11がメッセージ100の受信先を管理するためのプロセス制御表110のデータ構造を示す図である。プロセス制御表110は、プロセス識別子111毎に、少なくとも、それに対応する通信パス112、現用フラグ113、次のデータへのポインタであるnextポインタ114を含むデータで構成されている。
プロセス識別子111は、アプリケーション2Bのプロセスを実行する順位を識別するための識別子である。通信パス112は、ソケット(socket)の指定である(宛先
IPアドレスとポート番号の組等を指定)。
現用フラグ113は、対応するプロセスが現用である場合には“ON”のデータが設定され、プロセスが待機の場合には“OFF”のデータが設定される。nextポインタ114には、自プロセスの次のプロセス先(プロセスの生成順)を示すポインタが設定される。
プロセス制御部13は、プロセス識別子111毎に複数のデータを含むデータ構造のプロセス生成順の連結したデータ連結リストをプロセス制御表110として管理する。プロセス制御部13は、プロセス制御表110にデータを追加又は削除し、図5(B)に示すデータ連結リストを連結し直す。
図5(B)は、プロセス制御表110のデータ連結リストの例を示す図である。図5(B)においては、図2に示した第1の処理におけるプロセス制御表110のデータ連結リストを示す。
プロセス制御部13は、メッセージ受信制御部11からのプロセスの生成の通知を得て、利用者からの設定に基づいて(例えば、現用プロセス=3で、待機プロセス=2の場合)、プロセスの生成順にプロセス制御表110に各プロセスのデータ(図5(B)中の110−1〜110−5で示す)を、順次追加する。
例えば、プロセス制御表110のプロセス識別子111が“1”に対応する現用プロセスのデータ110−1は、通信パス112が“socket1”(例えば、特定の宛先のソケット)で、現用フラグ113が“ON”(現用プロセス)であることを示す。同様に、データ110−2及び110−3は、プロセス識別子111が“2”及び“3”に対応する現用プロセスである。
また、待機プロセスのデータは、現用フラグ113が“OFF”であり、図5(B)の例では、プロセス識別子111が“4”及び“5”に対応するプロセスである(データ110―4及び110−5)。
メッセージ受信制御部11は、プロセスの生成順を、プロセス制御表110のnextポインタ114により判断する。例えば、プロセスの生成順は、nextポインタ114の先頭がデータ110−1であり、次はデータ110−2、・・・データ110−5とnextポインタ114によりリンクされている。
なお、プロセス識別子5のnextポインタ114のリンク先がない場合に“NULL”が設定されるため、最後の生成順のプロセスのデータ110−5のnextポインタ114は、NULL(ヌルデータ)となる。以上のように、プロセス制御部13は、データ110−1〜110―5を生成順に連結する。
図6は、本実施形態におけるプロセス制御表110のデータ連結の変更を説明するための図である。図6(A)は、メッセージ受信制御部11のプロセス昇格の制御におけるデータ連結の変更を説明するための図、及び、図6(B)は、プロセス補充の制御におけるデータ連結の変更を説明するための図である。
図6(A)は、図5(B)に示す現用プロセス及び待機プロセス数である状態から、1つのプロセスがダウン(異常終了)した場合に、図3に示した第2の処理に対応したプロセス制御表110のデータ連結の変更の例である。
まず、メッセージM1の送信対象であるプロセス識別子111が“1”に対応する現用プロセスが、正常終了する前にダウンした場合に、監視スレッド部12は、現用プロセス(図3の2B−1)のダウンを認識し、ダウンしたプロセスの情報をメッセージ受信制御部11に通知する。
すると、プロセス制御部13は、メッセージ受信制御部11を介して監視スレッド部12から通知された情報に基づいて、プロセス制御表110からダウンした現用プロセスに対応するデータ110−1を削除する。更に、プロセス制御部13は、プロセスの生成順をデータ110−2のnextポインタ114の先頭にして、データ連結リスト間を新たに繋ぎ直す。
また、プロセス制御部13は、現用プロセスの数が“3”から“2”に減じたことを認識し、プロセス制御表110のnextポインタ114に従い、プロセス識別子111が“4”に対応する待機プロセス(図3の2B−4)の現用フラグ113を“OFF”から“ON”に更新する(以下では、この処理を「現用プロセスへ昇格」ともいう)。
以上の処理の結果、メッセージ受信制御部11は、プロセス識別子111が“4”であるプロセスを現用プロセスと判断することができる。
以上のように、プロセス制御部13は、アプリケーション2Bの現用プロセスが異常終了又は正常終了した場合に、その終了したプロセスをプロセス制御表110から削除する。プロセス制御部13は、プロセス制御表110からプロセスのデータ110−1を削除した後、データ連結リスト間の連結を更新する。
これにより、メッセージ受信制御部11は、待機プロセスとしてメッセージ受信待ちであるアプリケーション2Bのプロセスを現用プロセスとして昇格させたことを判断することができる。
本発明の実施態様によれば、メッセージ処理装置1を備えることにより、アプリケーション2Bのプロセスがダウンした場合でも、短い時間でアプリケーション2Bに対するメッセージ受信の処理を続行することができる。
また、メッセージ処理装置1内でのみ現用プロセスと待機プロセスであるかを管理し、メッセージを送信するか否かを判断するため、受信側のアプリケーション2Bは、メッセージ100の受信を待つのみである。従って、アプリケーション2B側の現用プロセスと待機プロセスを区別するアプリケーションの作りこみが不要となるため、アプリケーション2Bの独立性を確保できる。
図6(B)は、図6(A)の現用プロセス及び待機プロセス数の状態から、1つのプロセスが補充された場合のデータ連結の変更例を説明するための図である。図6(B)は、図4に示した第3の処理に対応したプロセス制御表110である。
まず、プロセス制御部13は、図6(A)で説明したように起動したプロセスの数が“4”に減じた後に、利用者が後から起動したアプリケーション2B−6(図4に示す)のプロセスについて、以下のようにプロセス制御表110にデータ110−6を追加する。(以下では、この処理を「プロセスの補充」ともいう)。なお、ここで、利用者が設定したプロセス起動の多重数は“5”である。
メッセージ受信制御部11はプロセス制御表110から待機プロセスの数が“2”から“1”に減じたことを判断する。メッセージ受信制御部11は、監視スレッド部12から通知された内容をプロセス制御部13に通知する。プロセス制御部13はこの通知に基づいて、プロセス制御表110に後から起動されたアプリケーション2B−6のプロセスに対応するデータ110−6を追加する。
そして、プロセス制御部13は、プロセス制御表110にデータ110−6を追加した後、プロセスの生成順をもとにデータ110−5のnextポインタ114を“NULL”からデータ110−6のポインタの設定へ更新する。
プロセス制御部13は、プロセス制御表110の更新後にデータ連結リスト間を新たに連結し直す。この場合、プロセス制御部13は、生成順の最後のデータ110−6のnextポインタ114を“NULL”に設定する。
以上の結果、メッセージ受信制御部11は、以降の処理で、アプリケーション2B−6のプロセスをプロセス制御表110に基づいて待機プロセスと判断することができる。
これにより、メッセージ受信制御部11は、プロセス制御表110に基づいて、現用プロセスのアプリケーション2B(2B−2〜2B−4)に対してメッセージ100を送信し、待機プロセスのアプリケーション2B(2B−5及び2B−6)に対してメッセージ100を送信しないことを判断することができる。
また、メッセージ処理装置1は、アプリケーション2Bのプロセスの数が設定された値より減った場合に、別途起動されたアプリケーション2Bのプロセスを現用プロセス又は待機のプロセスとし、プロセス制御表110を更新することにより、プロセスの補充に速やかに対応することができる。
以上説明したように、本発明の実施形態によれば、アプリケーション2Bとして予め冗長なプロセスを起動しているため、初期化処理などによる業務復帰までのタイムロスがなく、アプリケーション異常終了時のシステム処理量を維持し、速やかに業務再開を実現することができる。
更に、本実施形態によれば、プロセス起動時の他のプロセスへの性能に及ぼす影響を排除することができる。また、本実施形態によれば、アプリケーション側での冗長化のための作りこみが不要になるため、システムの独立性を高めることができる。
図7乃至図11を用いて、本実施形態における図1の構成を備えるメッセージ処理装置1が実行する処理フローの説明を行う。
図7は、本実施形態における、受信側のアプリケーション2Bの処理フローである。
アプリケーション2Bは、メッセージ処理装置1への通信資源を獲得した後は、メッセージ100の要求、メッセージ100に対する業務処理を繰り返すという、簡易な処理フローとなる。ここで、「通信資源の獲得」とは、メッセージ処理装置1とアプリケーション2B間の通信が可能で、アプリケーション2Bがメッセージ100を受信可能な状態の成立をいう。図7において、「メッセージ処理装置への通信資源獲得」、「メッセージ処理装置へメッセージ受信依頼」、「メッセージ処理装置への通信資源解放」の処理は、メッセージ処理装置1の関数であり、アプリケーション2Bから内部処理は隠蔽される。
利用者によりアプリケーション2Bが起動されると、アプリケーション2Bの処理が開始される。起動後、アプリケーション2Bは、予め定められた初期化処理を行い(ステップS1)、メッセージ処理装置1に対して通信資源の獲得を要求し(ステップS2)、メッセージ処理装置1に対してメッセージ100の受信依頼(メッセージの要求)を行う(ステップS3)。
アプリケーション2Bは、要求したメッセージ100を受信すると、メッセージ100に対する業務処理を行い(ステップS4)、処理を終了するか否かを判断する(ステップS5)。処理を終了しない場合、アプリケーション2Bは、ステップS3以下を繰り返すことにより、引続き、業務処理を行う。
ステップS5において処理を終了する場合、アプリケーション2Bは、処理を終了する前に、メッセージ処理装置1へ通信資源の開放の通知を行う(ステップS6)。この後、アプリケーション2Bは、アプリケーションの終了処理を行う(ステップS7)。
図8(A)は、本実施形態におけるメッセージ処理装置1の通信資源の獲得処理の処理フローである。
メッセージ処理装置1のメッセージ受信制御部11は、アプリケーション2Bから通信資源の獲得要求を受けると、以下の処理を開始する。メッセージ受信制御部11は、アプリケーション2Bから通信資源の獲得要求の通知を受信する(ステップS10)。メッセージ受信制御部11は、通信資源の獲得要求の通知を受信した後、通信資源の獲得を行う(ステップS11)。次に、メッセージ受信制御部11は、アプリケーション2Bとメッセージ処理装置1の間の通信状態を監視するための監視スレッドを作成する(ステップS12)。
なお、生成された監視スレッドは、後述の図9で説明する監視スレッド部12の処理において、監視対象となる。
図8(B)は、本実施形態におけるメッセージ処理装置1の通信資源の解放処理の処理フローである。
メッセージ処理装置1のメッセージ受信制御部11は、アプリケーション2Bから通信資源の解放要求の通知を受信する(ステップS13)。その通知を受信後、メッセージ受信制御部11は、アプリケーション2Bの対象となるプロセスとの通信資源を開放する(ステップS14)。以上の処理で、メッセージ処理装置1の通信資源の解放処理は終了する。
図9は、本実施形態におけるメッセージ処理装置1に備えられた監視スレッド部12の監視処理フローを示す図である。
メッセージ受信制御部11が監視スレッドを生成すると、監視スレッド部12は、以下の監視処理を開始する。監視スレッド部12は、メッセージ受信制御部11とアプリケーション2B間の通信状態や監視対象が有るか無いか等の状態(通信資源状態)を監視する(ステップS15)。
監視スレッド部12は、その監視した結果に基づいて、通信資源があるか否かを判断する(ステップS16)。“通信資源がある”と判断した場合、監視スレッド部12は、ステップS15以下の処理を繰り返す。
ステップS16において“通信資源がない”と判断した場合、監視スレッド部12は、監視スレッドの監視内容に基づいて、アプリケーション2Bのプロセスが終了又は通信不能による停止状態等と判断して、メッセージ受信制御部11へプロセス終了の通知を送信する(ステップS17)。この通知は、監視スレッド部12からメッセージ受信制御部11へ非同期に送られる通知である。
図10は、本実施形態におけるメッセージ処理装置1のメッセージ受信依頼時の受信制御の処理フローを示す図である。
メッセージ処理装置1は、アプリケーション2Bからのメッセージの受信依頼の通知を受けてから以下の処理を開始する。メッセージ処理装置1のメッセージ受信制御部11は、アプリケーション2Bからのメッセージ100の受信依頼の通知を受信した場合、通知を送信したアプリケーション2Bのプロセスが現用であるか否かを判断する(ステップS20)。このために、メッセージ受信制御部11は、プロセス制御表110を参照し、当該アプリケーション2Bのプロセスが現用プロセス又は待機プロセスのいずれであるかを調べる。
当該アプリケーション2Bのプロセスが現用プロセスでない(待機プロセスである)場合、アプリケーション2Bの待機プロセスは、メッセージ受信制御部11に対し、メッセージ100の受信を実行するための実行許可申請を通知し(ステップS21)、メッセージ受信制御部11からの許可を受信するまで待機する(ステップS22)。なお、ステップS21及びS22の処理は、非同期の通信により実行される。
メッセージ受信制御部11は、即ち、プロセス制御部13は、プロセス制御表110上の対応する待機プロセスの現用フラグのデータを現用に設定する(ステップS23)。これにより、メッセージ受信制御部11は、プロセスの生成や終了等の状態により現用プロセス数が減じた場合に、待機プロセスを現用プロセスに昇格させる。
一方、ステップS20において、当該アプリケーション2Bのプロセスが現用プロセスである(待機プロセスでない)場合、メッセージ受信制御部11は、メッセージキュー部10に対し、現用プロセスのアプリケーション2Bに関するメッセージ100の受信依頼を行う(ステップS24)。
メッセージキュー部10が現用プロセスに対するメッセージ100を受信した場合、メッセージ受信制御部11は、メッセージキュー部10から受信したメッセージ100を取り出し、取り出したメッセージ100をアプリケーション2Bの現用プロセスへ送信する(ステップS25)。
以上のように、メッセージ処理装置1は、現用プロセスとして管理するアプリケーション2Bのプロセスへメッセージ受信の実行許可を通知し、待機プロセスとして管理するアプリケーション2Bのプロセスへメッセージ受信の実行許可の通知を送信しない。これにより、受信側のアプリケーション2Bは、メッセージ処理装置1からメッセージ受信の実行許可を得られた場合には、メッセージ処理装置1からメッセージ100を受信する。一方、受信側のアプリケーション2Bは、メッセージ処理装置1からメッセージ受信の実行許可を得られない間は、メッセージ100の受信待ちの状態となる。
図11は、本実施形態におけるメッセージ受信制御部11の現用プロセス及び待機プロセスの管理を行う処理の処理フローである。
メッセージ受信制御部11は、アプリケーション2Bとの通信待ち状態から、現用プロセス及び待機プロセスの管理を以下の処理により開始する。メッセージ受信制御部11は、利用者が設定した最大現用プロセス数を取得し(ステップS30)、アプリケーション2Bからの問い合せ等の通知を待つ(ステップS31)。
メッセージ受信制御部11は、アプリケーション2Bから問い合せ等の通知を受信した場合、その通知内容において通信種別が実行許可申請であるか否かを判断する(ステップS32)。通信種別が実行許可申請である場合、メッセージ受信制御部11のプロセス制御部13は、プロセス制御表110に通知元のプロセス識別子111等のデータを追加する(ステップS33)。
プロセス制御部13は、更に、現用プロセス数が最大現用プロセス数(利用者の設定による)より小さいか否かを判断する(ステップS34)。
現用プロセス数が最大現用プロセス数より小さくない(大きい)場合、プロセス制御部13は、当該プロセスは待機プロセスであるとみなし、“実行許可”の通知を返信しないで、ステップS30の処理に戻る。これにより、待機プロセスとみなされた通信元のアプリケーション2Bは応答待ち状態となる。
ステップS34において現用プロセス数が最大現用プロセス数より小さい場合、プロセス制御部13は、追加したプロセス識別子を備えるプロセスを現用プロセスに追加した上で、“現用プロセス数+1”として、この演算結果をプロセス制御部13が備えるメモリへ記憶する(ステップS35)。これに加えて、プロセス制御部13は、プロセス制御表110において追加したプロセスのデータの現用フラグ113を“ON”に設定する(ステップS36)。この後、メッセージ受信制御部11は、プロセス制御表110に基づいて、現用フラグ113を“ON”と設定したアプリケーション2Bの現用プロセスへ、“実行許可”の通知を返信する(ステップS37)。
ステップS32においてアプリケーション2Bの通知内容において通信種別が実行許可申請でない場合、メッセージ受信制御部11は、更に、通信種別が通信途絶検出(プロセスダウン)であるか否かを判断する(ステップS38)。通信種別が通信途絶検出でない場合、メッセージ受信制御部11は、ステップS30以下の処理を繰り返す。
通信種別が通信途絶検出である場合、プロセス制御部13は、プロセス制御表110から対応するプロセスのデータを削除する(ステップS39)。この後、プロセス制御部13は、削除したデータのプロセスが現用プロセスであるか否かを判断する(ステップS40)。当該プロセスが現用プロセスでない場合、メッセージ受信制御部11は、ステップS30以下の処理を繰り返す。
当該プロセスが現用プロセスである場合、メッセージ受信制御部11は、プロセス制御部13が備えるメモリへ記憶した現用プロセス数から1を減じて、この演算結果の現用プロセス数を当該メモリに記憶する(ステップS41)。この後、プロセス制御部13は、プロセス制御表110からプロセスの生成順に従い待機プロセスを選択し、その待機プロセスを現用プロセスの候補として選択し(ステップS42)、ステップS34以下の処理を繰り返す。
本実施形態における情報処理装置の構成を示す図である。 本実施形態における第1の処理を示す図である。 本実施形態における第2の処理を示す図である。 本実施形態における第3の処理を示す図である。 本実施形態におけるプロセス制御表のデータ構造を示す図である。 本実施形態におけるプロセス制御表のデータ連結の変更を示す図である。 本実施形態における受信側のアプリケーションの処理フローである。 本実施形態における通信資源の獲得処理及び解放処理の処理フローである。 本実施形態における監視処理の処理フローである。 本実施形態におけるメッセージ受信依頼時の受信制御の処理フローである。 本実施形態における現用及び待機プロセス管理処理の処理フローである。
符号の説明
1 メッセージ処理装置
2 アプリケーション
10 メッセージキュー部
11 メッセージ受信制御部
12 監視スレッド部
13 プロセス制御部
100 メッセージ
110 プロセス制御表

Claims (5)

  1. メッセージを送信する送信アプリケーションと、多重化して構成されたメッセージを受信する複数の受信アプリケーションとの間のメッセージの送受信を処理する、コンピュータが実行するメッセージキューイング方法であって、
    前記受信アプリケーションについての現用として設定可能なプロセス数の最大数である最大現用数と起動されている起動プロセスとを取得し、前記起動プロセスの各々について現用又は待機のいずれかの状態をプロセス制御テーブルに設定するプロセス制御ステップと、
    前記送信アプリケーションからのメッセージをキューイング処理するメッセージキューイングステップと、
    前記プロセス制御テーブルに設定された全てのプロセスと通信可能な状態を保持し、前記現用が設定されたプロセスのみに対して前記キューイングされているメッセージを取り出して送信するメッセージ受信制御ステップとを備える
    ことを特徴とするメッセージキューイング方法。
  2. 前記現用が設定されたプロセスの通信状態を監視して通信障害を検出する通信管理ステップを備えると共に、
    前記プロセス制御ステップにおいて、前記現用が設定されたプロセスの通信障害が検出された場合に、前記プロセス制御テーブルに待機が設定された少なくとも1つのプロセスの設定を現用に変更する処理ステップを備える
    ことを特徴とする請求項1記載のメッセージキューイング方法。
  3. 前記プロセス制御ステップにおいて、前記受信アプリケーションのプロセスの追加を受け付け、前記プロセス制御テーブルに該受け付けたプロセスを追加し、前記プロセス制御テーブルに現用が設定されたプロセス数が前記最大現用数以上である場合に、該追加されたプロセスに待機を設定する処理ステップを備える
    ことを特徴とする請求項1又は請求項2に記載のメッセージキューイング方法。
  4. 前記プロセス制御ステップにおいて、前記受信アプリケーションのプロセスの追加を受け付け、前記プロセス制御テーブルに該受け付けたプロセスを追加し、前記プロセス制御テーブルに現用が設定されたプロセス数が前記最大現用数に達しない場合に、前記プロセス制御テーブルに待機が設定されたプロセス又は該追加されたプロセスのいずれかのプロセスに現用を設定する処理ステップを備える
    ことを特徴とする請求項1又は請求項2に記載のメッセージキューイング方法。
  5. メッセージを送信する送信アプリケーションと、多重化して構成されたメッセージを受信する複数の受信アプリケーションとの間のメッセージの送受信を処理する、メッセージキューイングプログラムであって、
    前記受信アプリケーションについての現用として設定可能なプロセス数の最大数である最大現用数と起動されている起動プロセスとを取得し、前記起動プロセスの各々について現用又は待機のいずれかの状態をプロセス制御テーブルに設定するプロセス制御ステップと、
    前記送信アプリケーションからのメッセージをキューイング処理するメッセージキューイングステップと、
    前記プロセス制御テーブルに設定された全てのプロセスと通信可能な状態を保持し、前記現用が設定されたプロセスのみに対して前記キューイングされているメッセージを取り出して送信するメッセージ受信制御ステップとを、コンピュータに実行させる
    ことを特徴とするメッセージキューイングプログラム。
JP2008252315A 2008-09-30 2008-09-30 メッセージ送信方法及びプログラム Active JP5509564B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008252315A JP5509564B2 (ja) 2008-09-30 2008-09-30 メッセージ送信方法及びプログラム
US12/493,873 US8201017B2 (en) 2008-09-30 2009-06-29 Method for queuing message and program recording medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008252315A JP5509564B2 (ja) 2008-09-30 2008-09-30 メッセージ送信方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2010086137A true JP2010086137A (ja) 2010-04-15
JP5509564B2 JP5509564B2 (ja) 2014-06-04

Family

ID=42058914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008252315A Active JP5509564B2 (ja) 2008-09-30 2008-09-30 メッセージ送信方法及びプログラム

Country Status (2)

Country Link
US (1) US8201017B2 (ja)
JP (1) JP5509564B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7421052B2 (ja) 2019-03-15 2024-01-24 アイコム株式会社 サーバシステムおよびプロセスの冗長化方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8483285B2 (en) * 2008-10-03 2013-07-09 Qualcomm Incorporated Video coding using transforms bigger than 4×4 and 8×8
KR20160007120A (ko) 2014-07-11 2016-01-20 삼성전자주식회사 의료 영상 장치 및 그에 따른 의료 영상 촬영 방법
US10831581B2 (en) * 2015-12-04 2020-11-10 Nec Corporation File information collection system and method, and storage medium
CN112445631A (zh) * 2020-12-02 2021-03-05 广东博智林机器人有限公司 Rtps的进程通信方法、装置、电子设备及存储介质

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100872A (ja) * 1991-10-04 1993-04-23 Mitsubishi Electric Corp タスク間通信管理方法
JPH08511120A (ja) * 1993-12-30 1996-11-19 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン データ処理システム及び待ち行列管理方法
JPH0969053A (ja) * 1995-08-31 1997-03-11 Toshiba Corp メッセージ受信機構に於けるマルチスレッド制御方式及びキューイング方式
JPH09282296A (ja) * 1996-04-10 1997-10-31 Hitachi Ltd 多重化ノード間通信制御方式
JPH1153202A (ja) * 1997-07-30 1999-02-26 Internatl Business Mach Corp <Ibm> 並列トランザクション処理システム
US5978933A (en) * 1996-01-11 1999-11-02 Hewlett-Packard Company Generic fault tolerant platform
JP2001290637A (ja) * 2000-04-05 2001-10-19 Nec Corp コンポーネントの動的置換装置及びコンピュータ読み取り可能な記憶媒体
JP2002229943A (ja) * 2001-02-05 2002-08-16 Hitachi Ltd サービスレベル制御機構を有するトランザクション処理システム及びそのためのプログラム
JP2003271404A (ja) * 2002-03-19 2003-09-26 Fujitsu Ltd マルチプロセッサシステム
JP2003345609A (ja) * 2002-05-27 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> トランザクション処理装置、同装置のトランザクション処理方法、トランザクション処理プログラムおよび同プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2005173643A (ja) * 2003-12-05 2005-06-30 Toshiba Corp コンピュータシステム及びそのオペレーティング方法
JP2005235228A (ja) * 2004-02-20 2005-09-02 Sony Computer Entertainment Inc マルチプロセッサシステムにおけるタスク管理方法および装置
JP2005284781A (ja) * 2004-03-30 2005-10-13 Nomura Research Institute Ltd Mqデータ同期システム及びmqデータ同期プログラム
JP3788697B2 (ja) * 1998-11-18 2006-06-21 富士通株式会社 メッセージ制御装置
JP2007079936A (ja) * 2005-09-14 2007-03-29 Hitachi Ltd ジョブ処理システムの制御方法、ジョブ処理システム、管理装置の制御方法、管理装置、及びプログラム
US20080163249A1 (en) * 2003-05-28 2008-07-03 International Business Machines Corporation System for Workload Balancing by Resetting an Average Queue Depth upon the Start of the Server Instance

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04180425A (ja) 1990-11-15 1992-06-26 Toshiba Corp 通信システム
JPH08106440A (ja) 1994-10-07 1996-04-23 Hitachi Ltd 分散共有メモリ計算機システム
US6182109B1 (en) * 1996-03-08 2001-01-30 International Business Machines Corporation Dynamic execution unit management for high performance user level network server system
JP3541335B2 (ja) * 1996-06-28 2004-07-07 富士通株式会社 情報処理装置及び分散処理制御方法
JPH117400A (ja) * 1997-06-16 1999-01-12 Mitsubishi Electric Corp プログラム稼働数計測システム及びプログラム稼働数計測方法並びにプログラム稼働数計測プログラムを記録した記録媒体
US5974114A (en) * 1997-09-25 1999-10-26 At&T Corp Method and apparatus for fault tolerant call processing
JP2001227219A (ja) 2000-12-19 2001-08-24 Fuji Heavy Ind Ltd 遠隔操作装置
US7992153B2 (en) * 2007-05-30 2011-08-02 Red Hat, Inc. Queuing for thread pools using number of bytes

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100872A (ja) * 1991-10-04 1993-04-23 Mitsubishi Electric Corp タスク間通信管理方法
JPH08511120A (ja) * 1993-12-30 1996-11-19 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン データ処理システム及び待ち行列管理方法
JPH0969053A (ja) * 1995-08-31 1997-03-11 Toshiba Corp メッセージ受信機構に於けるマルチスレッド制御方式及びキューイング方式
US5978933A (en) * 1996-01-11 1999-11-02 Hewlett-Packard Company Generic fault tolerant platform
JPH09282296A (ja) * 1996-04-10 1997-10-31 Hitachi Ltd 多重化ノード間通信制御方式
JPH1153202A (ja) * 1997-07-30 1999-02-26 Internatl Business Mach Corp <Ibm> 並列トランザクション処理システム
JP3788697B2 (ja) * 1998-11-18 2006-06-21 富士通株式会社 メッセージ制御装置
JP2001290637A (ja) * 2000-04-05 2001-10-19 Nec Corp コンポーネントの動的置換装置及びコンピュータ読み取り可能な記憶媒体
JP2002229943A (ja) * 2001-02-05 2002-08-16 Hitachi Ltd サービスレベル制御機構を有するトランザクション処理システム及びそのためのプログラム
JP2003271404A (ja) * 2002-03-19 2003-09-26 Fujitsu Ltd マルチプロセッサシステム
JP2003345609A (ja) * 2002-05-27 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> トランザクション処理装置、同装置のトランザクション処理方法、トランザクション処理プログラムおよび同プログラムを記録したコンピュータ読み取り可能な記録媒体
US20080163249A1 (en) * 2003-05-28 2008-07-03 International Business Machines Corporation System for Workload Balancing by Resetting an Average Queue Depth upon the Start of the Server Instance
JP2005173643A (ja) * 2003-12-05 2005-06-30 Toshiba Corp コンピュータシステム及びそのオペレーティング方法
JP2005235228A (ja) * 2004-02-20 2005-09-02 Sony Computer Entertainment Inc マルチプロセッサシステムにおけるタスク管理方法および装置
JP2005284781A (ja) * 2004-03-30 2005-10-13 Nomura Research Institute Ltd Mqデータ同期システム及びmqデータ同期プログラム
JP2007079936A (ja) * 2005-09-14 2007-03-29 Hitachi Ltd ジョブ処理システムの制御方法、ジョブ処理システム、管理装置の制御方法、管理装置、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7421052B2 (ja) 2019-03-15 2024-01-24 アイコム株式会社 サーバシステムおよびプロセスの冗長化方法

Also Published As

Publication number Publication date
JP5509564B2 (ja) 2014-06-04
US8201017B2 (en) 2012-06-12
US20100083031A1 (en) 2010-04-01

Similar Documents

Publication Publication Date Title
EP3490224B1 (en) Data synchronization method and system
JP6164747B2 (ja) 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法
CN107528891B (zh) 一种基于WebSocket的自动集群方法及其系统
EP3817338B1 (en) Method and apparatus for acquiring rpc member information, electronic device and storage medium
JP5509564B2 (ja) メッセージ送信方法及びプログラム
US9967360B2 (en) Method and system for information exchange utilizing an asynchronous persistent store protocol
CN111787079A (zh) 基于通信群组的通信方法、装置、服务器、系统及介质
EP3496337B1 (en) Method and device for resetting network device to factory settings, and network device
JP4550604B2 (ja) 設定情報同期プログラム
JP4415391B2 (ja) データをネットワークに送信する方法及び装置並びにデータをネットワークから受信する方法及び装置
JP3515839B2 (ja) コンピュータシステム間通信システム
US20230146880A1 (en) Management system and management method
JP2009217765A (ja) 複数宛先への同期送信方法、その実施システム及び処理プログラム
US9467501B2 (en) Relay server system
JP5945367B2 (ja) ウェブページ間で通信を行うための方法およびシステム
CN113259408A (zh) 数据传输方法和系统
US20150081867A1 (en) Obtaining a mac address from an external source
JP2016018222A (ja) キューサーバ
CN114051047B (zh) 一种会话消息的备份方法、装置、网络设备和存储介质
US11277473B1 (en) Coordinating breaking changes in automatic data exchange
CN113660339B (zh) 用于去中心化集群的方法和装置
KR102367017B1 (ko) 통신 네트워크 시스템 및 그것의 제어방법
CN108011849B (zh) 表项同步方法及装置
CN117201575A (zh) 数据发送方法、装置、设备及介质
CN115086153A (zh) 消息处理系统、消息处理方法、设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130826

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140310

R150 Certificate of patent or registration of utility model

Ref document number: 5509564

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150