JP2000155693A - メッセージ制御装置 - Google Patents
メッセージ制御装置Info
- Publication number
- JP2000155693A JP2000155693A JP10328360A JP32836098A JP2000155693A JP 2000155693 A JP2000155693 A JP 2000155693A JP 10328360 A JP10328360 A JP 10328360A JP 32836098 A JP32836098 A JP 32836098A JP 2000155693 A JP2000155693 A JP 2000155693A
- Authority
- JP
- Japan
- Prior art keywords
- message
- thread
- target object
- control unit
- queue buffer
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
セージを授受するメッセージ制御装置100に関し、シス
テム全体の処理速度を早める。 【解決手段】メッセージ分配部300がメッセージ700をタ
ーゲットオブジェクトTO_i,TO_2毎に設けられたキュ
ーバッファ431及び432に分配し、スレッド制御部(図示
せず)がプロセス又はターゲットオブジェクト毎に予め
設定された最大スレッド割当数以下の複数のスレッド50
0を同時に作成して該メッセージを取り出して対応する
該ターゲットオブジェクトTO_1及びTO_2に与える。ま
た、プロセスのCPU稼働率に対応して該最大スレッド割
当数を指定可能とする。さらに、使用スレッド数が少な
いターゲットオブジェクトのスレッド割当数の一部を使
用スレッド数の多いターゲットオブジェクトの最大スレ
ッド割当数に割り振る。
Description
に関し、特に異なるプロセスに属するオブジェクト間で
メッセージを授受するメッセージ制御装置に関するもの
である。
おいては、異なるプロセスに属するオブジェクト間の通
信はプロセス間のメッセージ(例えばリクエストメッセ
ージ)転送で行われる。各プロセスは、メッセージを転
送する順序の変更及び転送するための負荷の調整等を行
うことが要求されている。
の構成例(1)を示しており、このメッセージ制御装置100
は、リクエストメッセージ(以後、リクエストと略称す
ることがある)700を受信するメッセージ受信部200、リ
クエスト700の宛先であるターゲットオブジェクトTO_1
〜TO_3と共にプロセスを構成している。
信部200に接続されたメッセージ分配部300及びターゲッ
トオブジェクトTO_1〜TO_3にそれぞれ対応したキューバ
ッファ431〜433で構成され、キューバッファ431〜433か
らターゲットオブジェクトTO_1〜TO_3へそれぞれスレッ
ド500_1〜500_3(符号500で総称することがある)が与
えられるようになっている。
受信したリクエスト700をメッセージ分配分部300に送
る。メッセージ分配部300は、順次受信したリクエス
ト700を、リクエストR1,R2,R3,R9、リクエストR4,R
5、及びリクエストR6,R7,R8として、その宛先のター
ゲットオブジェクトTO_1〜TO_3に対応したキューバッフ
ァ431〜433に分配する。ターゲットオブジェクトTO_1
〜TO_3は、一定時間毎にキューバッファ431〜433をそれ
ぞれポーリングして、バッファリングされているリクエ
ストがあれば1つのスレッドを作成して一つずつ取り出
し実行する。
〜TO_3は、リクエスト700の重要性、優先度に関わらず
常にキューバッファ431〜433で先入れ先出しされたリク
エスト700を取り出し処理する。
信元のプロセスから受信したリクエストであり、リクエ
ストR9が第2の送信元のプロセスからのリクエストであ
る場合で、第2のプロセスの優先度が第1のプロセスよ
り高い場合においても、ターゲットオブジェクトTO_1は
リクエストR1,R2,R3を処理した後でなければリクエス
トR9を処理することができない。
り即応性が求められる重要なリクエストである場合で
も、リクエストR1,R2が順次処理された後でなければ処
理されず、待ち時間が多くなる。
セージ制御装置100の構成例(2)を示しており、この構成
例ではキューバッファ431〜433が無く、メッセージ分配
部300がターゲットオブジェクトTO_1,TO_2に対して複
数のスレッド500_1〜500_3及びスレッド500_4〜500_6を
与えるようになっている点が上記の構成例と異なってい
る。
受信したリクエスト700をメッセージ分配部300に送る。
メッセージ分配部300は、リクエスト700であるリクエ
ストGet1,Set1,Get2毎にスレッド500_1〜500_3をその
宛先のターゲットオブジェク600_1との間に作成する。
ターゲットオブジェクトTO_1においては、Get処理部610
がリクエストGet1,Get2を同時に処理し、Set処理部620
がリクエストSet1を処理する。
ットオブジェクトTO_2向けのリクエスト701〜703毎にス
レッド500_4〜500_6を作成し、ターゲットオブジェクト
TO_2はリクエスト701〜703を同時に処理する。
0においては、図20の従来例におけるキューバッファに
よる待ち時間は無くなる。
リクエスト700に対してスレッド500を作成するため、同
時に作成されるスレッドの数が多くなり、プロセスにお
けるオーバヘッドを増加させて、システム全体の処理速
度が遅くなるという課題があった。
オブジェクト間でメッセージを授受するメッセージ制御
装置おいて、システム全体の処理速度を早めることを課
題とする。
め、請求項1に係る本発明のメッセージ制御装置は、タ
ーゲットオブジェクト毎に設けられたキューバッファ
と、メッセージを該ターゲットオブジェクトに応じて該
キューバッファに分配するメッセージ分配部と、該キュ
ーバッファから該メッセージを取り出して対応する該タ
ーゲットオブジェクトに与えるべき複数のスレッドを同
時に作成するスレッド制御部とを備え、該スレッド制御
部は、プロセス内の全スレッドが処理できる該メッセー
ジの最大スレッド割当数及び現在の処理メッセージ数を
管理するスレッド管理テーブルを有し、該処理メッセー
ジ数が該最大スレッド割当数を越えたとき、該メッセー
ジの取り出しを待機することを特徴としている。
の原理(1)を示しており、このメッセージ制御装置100
は、一つのプロセス内のターゲットオブジェクトTO_1,
TO_2に対応したキューバッファ431,432と、他のプロセ
スからのメッセージ700を受信するメッセージ受信部200
からメッセージ700が与えられ、このメッセージ700を宛
先の例えば該ターゲットオブジェクトTO_1に対応した該
キューバッファ431に分配するメッセージ分配部300と、
キューバッファ431からメッセージ700を取り出し作成し
たスレッド500_1を介してターゲットオブジェクトTO_1
に送るスレッド制御部(図示せず)とで構成されてい
る。このスレッド制御部はターゲットオブジェクトTO_
1,TO_2に対応して設けられている。
ド管理テーブル460を含み、このスレッド管理テーブル4
60は最大スレッド割当数部461と処理メッセージ数部462
から成っている。最大スレッド割当数部461にはメッセ
ージ制御装置100のスレッド制御部が作成することがで
きる最大のスレッド数、すなわち、1つのプロセス内で
同時に処理することができるメッセージ数が予め設定さ
れ、処理メッセージ数部462には現在処理されているメ
ッセージ数、すなわち、現在作成されているスレッド数
が設定される。
例えばターゲットオブジェクトTO_1宛のメッセージ700
をメッセージ受信部200から受け、このメッセージ700を
キューバファ431に分配する。キューバッファ431はメッ
セージ700を保持する。スレッド制御部は、キューバ
ッファ431に保持されたメッセージ700を到着順に取り出
してスレッド500_1を作成し、ターゲットオブジェクトT
O_1に与える。
ージ数部462を“1”だけインクリメントし、メッセー
ジ700がターゲットオブジェクトTO_1に受信されたとき
処理メッセージ数を“1”だけデクリメントする。同様
に、ターゲットオブジェクトTO_2に対応したスレッド制
御部も処理メッセージ数部462をインクリメント又はデ
クリメントする。
大スレッド割当数部461の値であるとき、全スレッド制
御部はメッセージを取り出さずスレッドを作成しない待
機状態になる。
理されるメッセージ数を制限することができ、プロセス
のCPUが過大スレッドを負荷としたことによるオーバヘ
ッドになることを減らしてシステム処理効率を上げるこ
とが可能になる。
ターゲットオブジェクト毎に設けられたキューバッファ
と、メッセージを該ターゲットオブジェクトに応じて該
キューバッファに分配するメッセージ分配部と、該キュ
ーバッファから該メッセージを取り出して対応する該タ
ーゲットオブジェクトに与えるべき複数のスレッドを同
時に作成するスレッド制御部とを備え、該スレッド制御
部は、該ターゲットオブジェクトに該メッセージを与え
ることができる最大スレッド割当数及び現在の処理メッ
セージ数を各ターゲットオブジェクト毎に管理するスレ
ッド管理テーブルを有し、該処理メッセージ数が該最大
スレッド割当数を越えたとき、対応するターゲットオブ
ジェクトの該メッセージの取り出しを待機することを特
徴としている。
の原理(2)を示しており、この装置150の基本的な構成は
原理(1)と同じであるが、スレッド管理テーブル460の代
わりにスレッド管理テーブル460_1及び460_2がスレッド
制御部毎に設けられている点が異なっている。また、ス
レッド管理テーブル460_1及び460_2には、各スレッド制
御部が作成可能な最大のスレッド割当数部461_1,461_2
(符号461で総称することがある)と処理している現在
のメッセージ数部462_1,462_2(符号462で総称するこ
とがある)とが設定されるようになっている。
ッセージ700を取り出してスレッド500を作成する毎に対
応する処理メッセージ数を“1”だけインクリメント
し、メッセージがターゲットオブジェクトに与えられる
毎に“1”だけデクリメントする。そして、処理メッセ
ージ数部462の値≧最大スレッド割当数部461の値のと
き、待機状態になる。
セスのCPUが過大スレッドを負荷としたことによるオー
バヘッドを減らして処理効率を上げることが可能にな
る。
さらに、該プロセスにおけるCPUの稼働率に対応する該
最大スレッド割当数を保持するスレッド割当管理テーブ
ルを含むスレッド割当制御部を有し、該スレッド割当制
御部が、一定時間毎に該CPU稼働率を監視し、該スレッ
ド割当管理テーブル中の該CPU稼働率に対応した該最大
スレッド割当数を該スレッド管理テーブルの該最大スレ
ッド割当数として指定することができる。
原理(3)を示しており、この装置150の基本的な構成は、
図1又は図2で示した構成と同じであるが、さらに、ス
レッド割当制御部470が付加されていることが異なって
いる。
理テーブル471を有し、このテーブル471にはプロセスに
おけるCPUの稼働率480に対応した該最大スレッド割当数
部461が予め設定されている。
は、一定時間毎に該CPU稼働率480を監視し、スレッド割
当管理テーブル471中の該CPU稼働率480に対応した該最
大スレッド割当数を上述した該スレッド管理テーブル46
0中の該最大スレッド割当数部461の値として指定する。
各スレッド制御部は、処理メッセージ数部462の値≧最
大スレッド割当数部461の値のとき待機状態になる。
レッド割当管理テーブル471を参照して該CPU稼働率から
最大スレッド割当数を求めて、これを該スレッド管理テ
ーブル460中の該最大スレッド割当数部461に割り当てる
ことにより、システムの負荷状態に合わせてメッセージ
制御装置100の負荷を調整することが可能となる。この
結果、プロセスのCPUが過大スレッドを負荷としたこと
によるオーバヘッドを減らして処理効率を上げることが
できる。
該キューバッファ及びスレッド制御部を管理するメッセ
ージ管理部を備え、該メッセージ管理部が、一定時間毎
に該処理メッセージ数をチェックし、該処理メッセージ
数の少ない該スレッド管理テーブルの該最大スレッド割
当数が一部を、該処理メッセージ数が多い別のターゲッ
トオブジェクトの該スレッド管理テーブルの該最大スレ
ッド割当数に割り振ることが可能である。
ッド管理テーブルの処理メッセージ数/最大スレッド割
当数を求め、これを各スレッド制御部の稼働率とする。
そして、この稼働率の低いスレッド制御部の最大スレッ
ド割当数の一部を稼働率の高いスレッド制御部の最大ス
レッド割当数に割り振る。
割当数は、稼働率が高いほど大きくなり、メッセージ制
御装置100の処理効率を上げることができる。
送信元プロセス毎に優先レベルが設定されており、該キ
ューバッファが該優先レベル毎に設けられており、該ス
レッド制御部が、該優先レベルの高いメッセージのみに
割り当てた第1のスレッド部とそれ以外の第2のスレッ
ド部とを有し、該第2のスレッド部に空きがないとき、
該優先レベルの高いメッセージのみを該第1のスレッド
部に与えることが可能である。
の原理(4)を示しており、同図には、上述した例えばタ
ーゲットオブジェクトTO_1に対応したスレッド制御部が
作成できる最大スレッド割当数部461に予め設定された
割当数11個のスレッドから成るスレッド部500が示され
ている。この例ではスレッド部500は、優先レベルが高
いメッセージに対して4個の確保されたスレッドが第1
のスレッド部510として設定されおり、残りの7個の通
常のスレッドが第2のスレッド部520として設定されて
いる。
ッセージ数がスレッド部520のスレッド数に達していな
いとき、メッセージ700をその優先レベルに関わりな
く、通常スレッドを作成してターゲットオブジェクトTO
に与える。そして、処理メッセージ数がスレッド部520
のスレッド数に達したとき、優先レベルの高いメッセー
ジのみを取り出しスレッドをスレッド部510で作成して
ターゲットオブジェクトに与える。
スからのメッセージ700を、優先してターゲットオブジ
ェクトに与えることになる。
送信元プロセス毎に優先レベルが設定されており、また
該キューバッファが該優先レベル毎に設けられており、
該スレッド制御部が、該優先レベルの高い方のキューバ
ッファから優先して該メッセージを取り出すことができ
る。
設定する。すなわち、各プロセスからのメッセージに
は、対応した優先レベルが設定される。さらに、この優
先レベルに対応してキューバッファが設けられている。
ーバッファから優先してメッセージを取り出しスレッド
を作成しターゲットオブジェクトに与える。
スからのメッセージを優先して処理することがことが可
能となる。
さらに、該キューバッファを送信元プロセス毎に設ける
ことができる。
の原理(5)を示しており、同図には図1に示したキュー
バッファ431及びターゲットオブジェクトTO_1のみが示
されている。キューバッファ431は、例えば送信元プロ
セス1〜nにそれぞれ対応したキューバッファ431_1〜431
_nが設定されている。
(図1参照)、受信したメッセージを送信元のプロセス
1〜n毎に対応したキューバッファ431_1〜431_nに分配す
る。スレッド制御部(図示せず)は、キューバッファ43
1_1〜431_nから順次メッセージ700を取り出しスレッド5
00を作成してターゲットオブジェクトTOに与える。
0を均等にターゲットオブジェクトTOに送ることが可能
となる。
該メッセージに含まれるオペレーション毎に優先レベル
が設定されており、該優先レベル順に該メッセージを並
び換えるメッセージソート制御部をさらに設けることが
できる。
の原理(6)を示している。同図(1)は、メッセージ700が
含む情報を示しており、この情報はメッセージ名R、キ
ューバッファ431に到着した順序x、オペレーション名
O及びその優先レベルpから成っている。
ている並び換え前の到着順のメッセージ(R1〜R6)700を
示しており、各メッセージR1〜R6のオペレーションO
は、“G”,“A”,“S”,“P”,“B”,“S”であ
り、その優先レベルは、“3”,“1”,“3”,“2”,
“2”,“3”である。
(図示せず)は、優先レベルに従って同図(2)に示した
メッセージR1,R2,R3,R4,R5,R6の順序をオペレーシ
ョンの優先レベルPに従ってソートし、同図(3)に示すよ
うにオペレ−ション/優先レベルA1,P2,B2,G3,S3,S
3の順に並び換える。すなわち、メッセージは、メッセ
ージR2,R4,R5,R1,R3,R6の順になる。
ンを含むメッセージを優先してターゲットオブジェクト
TOに与えることになる。
該メッセージにタイムスタンプを付与し、該スレッド制
御部が、該タイムスタンプが一定時間以上経過した該メ
ッセージを優先して引き出すことができる。
の原理(7)を示している。同図(1)はメッセージ700が含
む情報を示しており、この情報はメッセージ名R、到着
順x及びタイムスタンプTcから成っている。同図(2)
は、キューバッファ431が保持するメッセージR20,
R12,R13,R8,R15,R2を示している。これらのメッセ
ージR20,R12,R13、R8,R15,R2のタイムスタンプTcの
値“4”,“10”,“9”,“13”,“7”,“21”は、
メッセージ700がスレッド500を介してキューバッファ43
1からターゲットオブジェクトTOに与えられた後、
“1”だけカウントアップされた値を示している。
(図示せず)は、メッセージR2のタイムスタンプTc=21
が予め設定された値“20”を越えていることを検出し
て、同図(3)で示すようにメッセージR2をキューバッフ
ァ431の先頭に割り込ませ、メッセージR2を最優先でタ
ーゲットオブジェクトTOに送るようにする。この結果、
メッセージが少なくとも一定時間内に取り出されること
になる。
各プロセスに排他制御フラグが割り当てられており、ま
た該メッセージが排他制御情報を有しており、該スレッ
ド制御部は、取り出した該メッセージの該制御情報が設
定されているとき、該排他制御フラグを設定し、該排他
制御フラグが設定されているとき、全てのスレッド制御
部は該排他制御情報が設定された該メッセージのみ取り
出すことが可能である。
設けられ、またメッセージが排他制御情報を有してい
る。スレッド制御部は、排他制御情報が設定されている
メッセージを取り出したとき、スレッドを作成してメッ
セージをターゲットオブジェクトに与えると共に、排他
制御フラグを設定する。
全てのスレッド制御部は排他制御情報が設定されている
メッセージのみを取り出し他のメッセージは取り出さな
い。排他制御フラグは、排他制御情報が設定されており
現在、スレッドが作成されている全てのメッセージが対
応するターゲットオブジェクトで処理されたとき、その
設定が解除される。
特定のメッセージを優先して取り出しターゲットオブジ
ェクトに与えることが可能となる。
該メッセージとしてリクエストメッセージでを用いるこ
とができる。
は、該送信元プロセスが送信元オブジェクトであっても
よい。
制御装置100の実施例(1)を示しており、この実施例で
は、メッセージ制御装置100は、ターゲットオブジェク
ト別メッセージ分配部(以後、TO別メッセージ分配部と
略称する)310と、このTO別メッセージ分配部310に接続
されターゲットオブジェクトTO_1〜TO_3にリクエストメ
ッセージ700を与えるメッセージ管理部400とで構成され
ている。なお、以下の説明ではメッセージとしてリクエ
ストメッセージを一例として取り挙げるが、これに限定
されず他の種々のメッセージも適用可能である。
ジェクトTO_1〜TO_3に対応したユーザ別メッセージ分配
部410_1〜410_3(符号410で総称することがある)、こ
れらの分配部410_1〜410_3に接続されたメッセージソー
ト制御部420_1〜420_3(符号420で総称することがあ
る)、これらの制御部410_1〜410_3に接続されたキュー
バッファ431〜433、及びこれらのバッファ431〜433に接
続されたスレッド制御部440_1〜440_3(符号440で総称
することがある)で構成されている。
〜410_3はTO別メッセージ分配部310に共通接続され、ス
レッド制御部440_1〜440_3はそれぞれターゲットオブジ
ェクトTO_1〜TO_3に接続されている。また、キューバッ
ファ431〜433はそれぞれユーザ別キューバッファ431_1
〜431_4、432_1〜432_4、及び433_1〜433_4で構成され
ている。スレッド制御部440_1〜440_3には、最大スレッ
ド割当数部461及び処理メッセージ数部462からなるスレ
ッド管理テーブル460(図2参照)が含まれており、図
8には処理メッセージ数462のみが処理メッセージ数カ
ウンタ462として例示されている。
は、受信したリクエスト700をその宛先のターゲットオ
ブジェクトTO_1〜TO_3に対応したユーザ別メッセージ分
配部410に分配する。ユーザ別メッセージ分配部410は、
メッセージソート制御部420を介してリクエスト700を送
信元のユーザ(プロセス、オブジェクト等)毎に分配し
て例えばキューバッファ431ではユーザ別キューバッフ
ァ431_1〜431_4に与える。
キューバッファ431_1〜431_4にバッファリングされてい
るリクエスト700を順次取り出しスレッド500を作成して
ターゲットオブジェクトTO_1に送ると共に、リクエスト
700を取り出す毎に処理メッセージ数カウンタ462を
“1”だけインクリメントする。処理メッセージ数カウ
ンタ462の値≧最大スレッド割当数のとき、スレッド制
御部440_1は待機状態となりリクエスト700の取り出しを
停止する。
数のリクエスト700を同時に処理し、1つのリクエスト7
00の処理が終了したとき、これをスレッド制御部440_1
に通知する。スレッド制御部440_1は、処理メッセージ
数カウンタ462を“1”だけデクリメントし、処理メッ
セージ数カウンタ462の値<最大スレッド割当数部461の
値のとき、リクエスト700の取り出しを再開する。
をオーバヘッド状態にせずにシステム全体の処理速度を
遅くすることなくメッセージの授受を行うことが可能と
なると共に、各プロセス(ユーザ)からのメッセージ70
0を均等にターゲットオブジェクトTOに送ることが可能
となる。
制御部440が、それぞれ最大スレッド割当数及び処理メ
ッセージ数から成るスレッド管理テーブル460を備え、
最大スレッド割当数と処理メッセージ数カウンタ462の
値とを比較してリクエスト700の取り出しを待機するか
否かを判定したが、これとは異なり、プロセス全体に対
して1つのスレッド管理テーブル460を設け、スレッド
制御部440が1つのリクエスト700を取り出す毎に処理メ
ッセージ数カウンタ462を“1”だけインクリメント
し、処理メッセージ数カウンタ462の値≧最大スレッド
割当数部461の値のとき全てのスレッド制御部440がリク
エスト700の取り出しを停止して待機状態にしても同様
の効果が得られる。
バッファ431_1〜431_3、スレッド制御部440及びターゲ
ットオブジェクトTO_1の動作をより詳細に示したもので
ある。ターゲットオブジェクトTO_1を宛先とするリクエ
ストR1(Get),R2(Set),R3(Act)、リクエストR4(Del),
R5(Trm),R7(Set),R9(Del)、及びリクエストR6(Get),
R8(Get)が、ユーザ別メッセージ分配部410_1(同図参
照)で送信元であるユーザ1〜3別に分配され、ユーザ
1用キューバッファ431_1〜ユーザ3用キューバッファ4
31_3にバッファリングされている。なお、リクエストR1
〜R9の添数字はリクエストの入力順番を示している(以
下同様)。
御部440の動作手順例(1)を示しており、図9を参照して
以下にスレッド制御部440の動作を説明する。まず、ス
レッド制御部440は、リクエストを取り出すキューバッ
ファのユーザ番号をi=1に設定し(ステップS10)、
リクエストがあるか否かを判定する(同S11)。リクエ
ストが無い場合、ステップS13に進むが、リクエストR1
があるので、キューバッファ431_1からリクエストR1
を取り出し(同S12)、スレッドを作成してターゲット
オブジェクトTO_1に与えた後、ステップS13に進む。
は、iを1だけインクリメントし、このi(=2)>n
(n:ユーザ数“3”)であるか否かを判定する。i≦
3であるので、ステップS10に戻り、キューバッファの
ユーザ番号をi=2に設定し、リクエストR4が有るので
(同S11)、キューバッファ430_2からリクエストR4を
取り出し、スレッドを作成してターゲットオブジェクト
TO_1に与える(同S12)。
を経由して、キューバッファ431_3からリクエストR6
を取り出し、スレッドを作成してターゲットオブジェク
トTO_1に与え(同S12)、ステップS13に進む。ステップ
S13において、iを“1”だけインクリメントするとi
=“4”となり、i>3となる。そこで、i=1に戻し
てステップS10に戻る。
御部440は、キューバッファ431_1〜431_3から順次、リ
クエストR2,R5,R8,R3,R7,R9を取り出してターゲッ
トオブジェクトTO_1に与える。
ユーザに関して均等に処理される。従って、キューバッ
ファをユーザ別に分けない場合と比較して、ユーザ当た
りのリクエストの待ち時間が短縮されることになる。
の実施例(2)を示している。この実施例では複数のネッ
トワーク制御システムをネットワーク管理システムが管
理するネットワーク監視制御システムにおける情報管理
例を示しており、特にネットワーク管理システムにおけ
るメッセージ制御装置が、短時間に多数のリクエストを
複数のネットワーク制御システムから送信元プロセスを
構成する上位制御オブジェクトSO_1〜SO_3を介して受信
した場合を示している。
実施例(1)の構成要素にさらにCPUの稼働率480を入力し
スレッド割当管理テーブル471(図3参照)を有するス
レッド割当制御部470を備えている。
〜SO_3からのリクエストR10,R12、リクエストR11,
R19、及びリクエストR1,R3,R4,R8,R15は、メッセー
ジ分配部300(図3参照)で分配され、それぞれキュー
バッファ431〜433にバッファリングされる。スレッド割
当制御部470は、現在のCPUの稼働率、例えば80%を入
力し、スレッド割当管理テーブル471を参照して機能オ
ブジェクトであるターゲットオブジェクトTO_1〜TO_3の
最大スレッド割当数“2”,“2”,“2”を得る(図
3参照)。この割当数“2”,“2”,“2”をスレ
ッド割当制御部470は、スレッド制御部440(図8参照)
のスレッド管理テーブル460の最大スレッド割当数(図
2参照)とする。
最大スレッド割当数“2”,“2”,“2”のスレッド
500を作成して、リクエストR10,R12、リクエストR11,
R19、及びリクエストR1,R3をターゲットオブジェクトT
O_1,TO_2,及びTO_3に与える。そして、例えばスレッ
ド制御部440_3は、キューバッファ433がリクエストR4,
R8,R15をバッファリングしているにも関わらず最大ス
レッド割当数“2”以上のスレッドを作成してリクエス
トR4,R8,R15を取り出さない。
例えばCPU稼働率“20%”を入力すると、スレッド割
当管理テーブル471からターゲットオブジェクトTO_1〜T
O_3の最大スレッド割当数“12”,“9”,“8”を得て
(図3参照)、スレッド制御部440_1〜440_3(図8参
照)の最大スレッド割当数とする。
ッド制御部440_3は、さらにリクエストR4,R8,R15を取
り出し、スレッド500を作成してターゲットオブジェク
トTO_3に与えることが可能となる。
レッドを作成することにより、CPUが過大なスレッド処
理の負荷によりオーバヘッドすることなしに全体の処理
を早め、リクエストの転送速度を上げることが可能とな
る。
けるメッセージ管理部400の動作手順例を示している。
以下に、図8を参照してメッセージ管理部400の動作を
説明する。但し、ユーザはn、すなわちターゲットオブ
ジェクトTO_1〜TO_n、スレッド制御部440_1〜440_n等と
して説明する。
“0”に設定した後、各ターゲットオブジェクトTOに対
応したスレッド管理テーブル460_1〜460_n(図2参照)
の最大スレッド割当数及び処理メッセージ数(図12の処
理メッセージ数カウンタ462の値)を読み出し、各ター
ゲットオブジェクトTO_1〜TO_nの稼働率OR=処理メッセ
ージ数/最大スレッド割当数を演算で昇順(小→大)に
ソートをする(ステップS20)。稼働率ORは、ソートさ
れた昇順にOR_1〜OR_nとする。
プS21でiを“1”だけインクリメントした後、ステッ
プS22に進み、i<n(n:ターゲットオブジェクト数
+1)であるか否かを判定し、i≧nであるとき動作を
終了する。初回は、i(=1)<nであるので、ステッ
プS23に進み、最も小さい稼働率OR_1/最も大きい稼働
率OR_n-1を演算し、演算結果が一定の値“α”以上でな
いとき、ステップS24に進む。
n-1に対応するターゲットオブジェクトが例えばそれぞ
れターゲットオブジェクトTO_1及びTO_3であるとしたと
き、ターゲットオブジェクトTO_1の未だ使われていない
未使用スレッド数の2分の1をターゲットオブジェクト
TO_3の最大スレッド割当数に割り振り、ステップS21に
戻る。
き、稼働率の少ないターゲットオブジェクトの未使用ス
レッド数の2分の1を稼働率の大きいターゲットオブジ
ェクトの最大スレッド割当数に割り振る処理を実行す
る。
当てられた、すなわちスレッド作成部に割り当てられた
最大スレッド割当数を動的に稼働率の高いターゲットオ
ブジェクトに割り振ることになり、メッセージ制御装置
内で限られた数のスレッドを効率的に使うことが可能と
なる。
の実施例(3)を示しており、この実施例は図11に示した
実施例(2)と同様に複数のネットワーク制御システムか
らリクエストを受信するメッセージ制御装置100を示し
ている。
ク制御システムに含まれる上位制御オブジェクトSO_1〜
SO_5からのリクエストをバッファリングして、機能オブ
ジェクトであるターゲットオブジェクトTO_1に与えるキ
ューバッファ430を含んでいる。上位制御オブジェクトS
O_1〜SO_5の中の特にオブジェクトSO_1及びSO_2には、
ユーザレベル1が設定され、他のオブジェクトSO_3〜SO
_5にはユーザレベル2が設定されている。
〜SO_5からのリクエストをバッファリングするキューバ
ッファ431_1〜431_5から成り、各オブジェクトSO_1〜SO
_5のユーザレベルに対応してキューバッファ431_1及び4
31_2がユーザレベル1用キューバッファ部430_1を構成
し、キューバッファ431_3〜431_5がユーザレベル2用キ
ューバッファ部430_2を構成している。
処理可能なリクエスト数としてユーザレベル1用に3つ
及びユーザレベル2用に7つが設定されているものとす
る。そして、キューバッファ431_1〜431_5は、それぞれ
リクエストR10,R12、リクエストR11,R19、リクエスト
R1,R3,R4,R8,R15、リクエストR2,R6,R7,R9,
R 16、リクエストR5,R13,R14,R17,R18をバッファリ
ングしている。
読み込む定義ファイル例を示している。同図(1)のファ
イルには、ユーザとそのユーザレベルが示されており、
ユーザである“Administrator”、“amelio”、“atar
i”、“okonomy”、“sussy”、“sundo”、…にそれぞ
れユーザレベル“1”、“2”、“2”、“2”、“2”、
“2”、…が設定されている。
その優先レベル及び排他制御情報が示されており、例え
ば、リクエスト名が“Create”及び“Back_Up”の優先
レベル及び排他制御情報は、それぞれ“2”、“1”及
び“OFF”、“ON”である。
示しており、この動作例ではメッセージ管理部400(図
8参照)が図14に示したファイルのデータを読み込んで
いる状態であり、このデータをスレッド制御部440は参
照する。また、スレッド制御部440は、ターゲットオブ
ジェクトTO_1が同時に処理可能なリクエスト数(同時リ
クエスト数)として上述したようにユーザレベル1用に
3つ及びユーザレベル2用に7つが設定されていること
を、後述する同時リクエスト数D1=3、D2=7として知
っているものとする。
の動作手順例(2)を示している。この手順例を概念的に
述べると、まずスレッド制御部440はユーザレベルの高
いキューバッファから順次リクエストを取り出しスレッ
ドを作成してターゲットオブジェクトTO_1に送り、作成
したスレッド数がターゲットオブジェクトTO_1が同時に
処理できるユーザレベルの高いリクエストの最大数=
“3”に達したとき、リクエストの取り出しを停止状態
にする。そして、次にユーザレベルの高いキューバッフ
ァ430_1からのリクエストの取り出し動作に移行する。
る。スレッド制御部440は、ステップS30でiを“0”に
初期設定してステップS31に進み、iを“1”だけイン
クリメントし、リクエスト数Pi=P1を“0”に初期設定
する。なお、リクエスト数Piはユーザレベルiのキュー
バッファから取り出したリクエスト数である。
リクエスト数D1=3とリクエスト数P1を比較し、D1>P1
であるのでステップS33に進む。ユーザレベル1のキュ
ーバッファ431_1にリクエストR10(図13参照)が存在す
るので(ステップS33,S34)、このリクエストR10を取
り出しスレッドを作成してターゲットオブジェクトTO_1
に送信し(同S35)、リクエスト数P1を“1”だけイン
クリメントしたP1=1としてステップS32に戻る。
順次キューバッファ431_2及び431_1からリクエストR11
及びR12を取り出しスレッドを作成してターゲットオブ
ジェクトTO_1に送信する。ステップS35からS32に戻った
とき、D1(=3)≦P1(=3)であるので、ユーザレベ
ル1のリクエストの送信を待機状態にする。そして、ス
テップS31に戻り、iを“1”だけインクリメントしてi
=2とし、P2を“0”に初期設定して、ユーザレベル2
のキューバッファ431_3〜431_5からのリクエストの取り
出しを開始する。
順次、キューバッファ431_3〜431_5から同時リクエスト
数D2が指定する7つのリクエストR1,R2,R5,R3,R6,
R13,R4(図13参照)取り出しスレッドを作成してター
ゲットオブジェクトTO_1に送信して、待機状態になる。
なお、図16に示した手順には、スレッド制御部440が同
一ユーザレベルの複数のキューバッファから、順次リク
エストを取り出す手順は省略されている。
ッドがそれぞれ3及び7つ作成され、ターゲットオブジ
ェクトTO_1は合計10のリクエストを同時に処理する形と
なる。そして、例えば、オブジェクトTO_1が、ユーザレ
ベル1の2つのリクエストの処理を完了すると、図15に
示すように、ユーザレベル1用の2つのスレッド500_
1が待機状態になり、ユーザレベル2用のスレッド500
_2は全て実行中の状態のままである。
ーザレベル1用のキューバッファ430_1からリクエスト
を取り出しユーザレベル1用のスレッド500_1の空いた
スレッドを用いてオブジェクトTO_1に送信することを開
始する。このとき、キューバッファ430_1にバッファリ
ングされているリクエストが無い場合、スレッド制御部
440は、ユーザレベル2用のキューバッファ430_2から
リクエストを取り出しユーザレベル1用のスレッド500_
1を用いて送信することはない。ただし、キューバッフ
ァ430_1にバッファリングされているリクエストがあっ
て、スレッド500_2に待機状態を含む場合には、スレッ
ド制御部440は、キューバッファ430_1のリクエストをス
レッド500_2に与えスレッドの作成を行うことができ
る。
レベルの高い順にリクエストをターゲットオブジェクト
に与えるともに、同じユーザレベルのリクエストはユー
ザの別なく均等に処理することが可能となる。
8参照)の動作例を示しており、この動作例において
も、起動時にメッセージ管理部400(図8参照)は、図1
4に示したユーザレベル及び優先レベル定義データを読
み込んでいるものとする。
エストR1,R2,…,R4がこの順で待ち状態になってい
る。リクエストR1〜R4のオペレーション名は、それぞれ
“Create”、“Set”、“Get”及び“Terminate”であ
り、これらのオペレーションの優先レベルは、メッセー
ジ管理部400が読み込んだ図15(2)の優先レベルデータを
参照すると“2”、“3”、“3”及び“3”であることを
知ることができる。このことを同図中では符号“C2”、
“S3”、“G3”及び“T3”でそれぞれ示している。
はリクエストR5(Create)を受信すると、“Create”の優
先レベルが“2”であることを知り、リクエストR2〜R4
より優先レベルが高いのでソートを開始し、同図(2)に
示すように、リクエストR5をリクエストR1とリクエスト
R2の間に挿入するように並び換える。この結果、優先レ
ベルの高いオペレーションを含むリクエストが優先して
ターゲットオブジェクトに与えられることになる。
スレッド制御部440(図8参照)の動作例を示してい
る。図17に示したメッセージソート制御部420のソート
動作だけでは、優先レベルの高いオペレーションのリク
エストが連続して送られてきた場合、これより優先レベ
ルの低いオペレーションを含むリクエストはさらに遅れ
て送信されることになる。
ファにバッファリングされた各リクエストにタイムスタ
ンプ情報を持たせることとする。キューバッファ431_1
にバッファリングされたリクエストR20,R12,R13及びR
2の現在のタイムスタンプ情報はそれぞれ“4”、“1
0”、“9”、“20”である。
_1〜431_3の中からリクエストを取り出す毎に各リクエ
ストR20〜R2のタイムスタンプ情報を“1”だけカウン
トアップし、このタイムスタンプ情報が一定の値、例え
ば“21”以上になったリクエストを探索する。そして、
この例ではスレッド制御部440は、リクエストR2を検
出し、その優先レベルを強制的に“1”とする。そし
て、メッセージソート制御部420に対してソートを要
求する。
ベル順にリクエストR20〜R2をソートする。この結果、
優先レベルの高いリクエストR2がリクエストR20の前に
挿入されることになり、一定時間以上待たされたリクエ
ストR2が優先的にターゲットオブジェクトTO_1に送出さ
れることになる。
の動作例(2)を示しており、この動作例ではメッセージ
管理部400が排他制御フラグ490を有し、各リクエストは
排他制御情報を有している。すなわち、スレッド制御部
440は、メッセージ管理部400が読み込んだ優先レベル定
義情報(図14(2)参照)を参照することにより各リクエ
ストのオペレーヨンに対応した排他制御情報のオン/オ
フ状態を知ることができる。また、この動作例では、図
17で示したようにメッセージソート制御部420は、入力
したリクエストをそのオペレージョンの優先レベルに従
ってソートするものとする。
は、図17のキューバッファ431_1と同様にリクエストR
1(C2),R2(S3),R3(G3),R4(T3)がバッファリングされ
ているものとする。これらのリクエストの優先レベル
は、上述したように“2”、“3”、“3”及び“3”であ
り、排他制御情報は全て“オフ”(図14(2)参照)あ
る。
クエストR5(Back_Up)入力されと、メッセージソート制
御部420は、リクエストR5の優先レベルが“1”である
ことを知り(図14(2)参照)、リクエストR5をリクエス
トR1の前に挿入するようにソートする。
り出しスレッドを作成して送出する。このとき、リクエ
ストR5のオペレーション“Back_Up”の排他制御情報が
“オン”であることを知り(図14(2)参照)、排他制御
フラグ490を設定する。この排他制御フラグ490が設定さ
れているとき、全てのスレッド制御部440_1〜440_3は、
排他制御情報が設定されているリクエストのみを取り出
し送出する。
ストのみを最優先でターゲットオブジェクトに送出する
ことが可能となる。
セージ制御装置によれば、メッセージ分配部がメッセー
ジをターゲットオブジェクト毎に設けられたキューバッ
ファに分配し、スレッド制御部が、プロセス又はターゲ
ットオブジェクト毎に予め設定された最大スレッド割当
数以下の複数のスレッドを同時に作成して該メッセージ
を取り出し対応する該ターゲットオブジェクトに与える
ように構成したので、システム全体の処理速度を早める
ことが可能となる。
最大スレッド割当数を指定するようにしたこと及び使用
スレッド数が少ないターゲットオブジェクトのスレッド
割当数の一部を使用スレッド数の多いターゲットオブジ
ェクトの最大スレッド割当数割り振るようにしたことに
よりCPUが過大スレッドを負荷としたことによるオーバ
ヘッドを減らして処理効率を上げることができる。
と、メッセージのオペレーション毎に優先レベルを設定
すること、又は排他制御フラグを設定することで特定の
メッセージを優先してターゲットオブジェクトに与える
ことが可能となる。
示したブロック図である。
示したブロック図である。
示したブロック図である。
示したブロック図である。
示したブロック図である。
示したブロック図である。
示したブロック図である。
を示したブロック図である。
ザ別リクエストの処理手順を示した図である。
ッド制御部の動作手順例(1)を示したフローチャート図
である。
を示したブロック図である。
セージ管理部の動作手順例を示したフローチャート図で
ある。
を示したブロック図である。
ユーザレベル及び優先レベル定義テーブル例を示した図
である。
ッド制御部の動作例(1)を示したブロック図である。
ッド制御部の動作手順例(2)を示したフローチャート図
である。
セージソート制御部の動作例を示したブロック図であ
る。
セージソート制御部及びスレッド制御部の動作例を示し
たブロック図である。
ッド制御部の動作例(2)を示したブロック図である。
たブロック図である。
たブロック図である。
分配部 400 メッセージ管理部 410,410_i ユーザ別
メッセージ分配部 420,420_i メッセージソート制御部 430〜433,430_i〜433_i キューバッファ 440,440_i スレッド制御部 460,460_i スレッド
管理テーブル 461,461_i 最大スレッド割当数部 462,462_i 処理メッセージ数部、処理メッセージ数カ
ウンタ 470 スレッド割当制御部 471 スレッド割当管理
テーブル 480 CPU稼働率 490 排他制御フラグ 500,500_i,510,520 スレッド TO,TO_i ターゲットオブジェクト SO_i 制御オ
ブジェクト 610 Get処理部 620 Set処理部 700〜703,R1〜R20 メッセージ,リクエストメッセー
ジ iは正の整数 図中、同一符号は同一又は相当部分を示す。
Claims (12)
- 【請求項1】異なるプロセスに属するオブジェクト間で
メッセージ授受するメッセージ制御装置おいて、 ターゲットオブジェクト毎に設けられたキューバッファ
と、 該メッセージを該ターゲットオブジェクトに応じて該キ
ューバッファに分配するメッセージ分配部と、 該キューバッファから該メッセージを取り出して対応す
る該ターゲットオブジェクトに与えるべき複数のスレッ
ドを同時に作成するスレッド制御部と、 を備え、 該スレッド制御部は、該プロセス内の全スレッドが処理
できる該メッセージの最大スレッド割当数及び現在の処
理メッセージ数を管理するスレッド管理テーブルを有
し、該処理メッセージ数が該最大スレッド割当数を越え
たとき、該メッセージの取り出しを待機することを特徴
としたメッセージ制御装置。 - 【請求項2】異なるプロセスに属するオブジェクト間で
メッセージを授受するメッセージ制御装置おいて、 ターゲットオブジェクト毎に設けられたキューバッファ
と、 該メッセージを該ターゲットオブジェクトに応じて該キ
ューバッファに分配するメッセージ分配部と、 該キューバッファから該メッセージを取り出して対応す
る該ターゲットオブジェクトに与えるべき複数のスレッ
ドを同時に作成するスレッド制御部と、 を備え、 該スレッド制御部は、該ターゲットオブジェクトに該メ
ッセージを与えることができる最大スレッド割当数及び
現在の処理メッセージ数を各ターゲットオブジェクト毎
に管理するスレッド管理テーブルを有し、該処理メッセ
ージ数が該最大スレッド割当数を越えたとき、対応する
ターゲットオブジェクトの該メッセージの取り出しを待
機することを特徴としたメッセージ制御装置。 - 【請求項3】請求項1又は2において、 さらに、該プロセスにおけるCPUの稼働率に対応する該
最大スレッド割当数を保持するスレッド割当管理テーブ
ルを含むスレッド割当制御部を有し、 該スレッド割当制御部が、一定時間毎に該CPU稼働率を
監視し、該スレッド割当管理テーブル中の該CPU稼働率
に対応した該最大スレッド割当数を該スレッド管理テー
ブルの該最大スレッド割当数として指定することを特徴
としたメッセージ制御装置。 - 【請求項4】請求項2において、 該キューバッファ及びスレッド制御部を管理するメッセ
ージ管理部を備え、該メッセージ管理部が、一定時間毎
に該処理メッセージ数をチェックし、該処理メッセージ
数の少ない該スレッド管理テーブルの該最大スレッド割
当数が一部を、該処理メッセージ数が多い別のターゲッ
トオブジェクトの該スレッド管理テーブルの該最大スレ
ッド割当数に割り振ることを特徴とするメッセージ制御
装置。 - 【請求項5】請求項1又は2において、 送信元プロセス毎に優先レベルが設定されており、該キ
ューバッファが該優先レベル毎に設けられており、該ス
レッド制御部が、該優先レベルの高いメッセージのみに
割り当てた第1のスレッド部とそれ以外の第2のスレッ
ド部とを有し、該第2のスレッド部に空きがないとき、
該優先レベルの高いメッセージのみを該第1のスレッド
部に与えることを特徴としたメッセージ制御装置。 - 【請求項6】請求項1又は2において、 送信元プロセス毎に優先レベルが設定されており、また
該キューバッファが該優先レベル毎に設けられており、
該スレッド制御部が、該優先レベルの高い方のキューバ
ッファから優先して該メッセージを取り出すことを特徴
としたメッセージ制御装置。 - 【請求項7】請求項1又は2において、 該キューバッファが、さらに、送信元プロセス毎に設け
られていることを特徴としたメッセージ制御装置。 - 【請求項8】請求項1又は2において、 該メッセージに含まれるオペレーション毎に優先レベル
が設定されており、該優先レベル順に該メッセージを並
び換えるメッセージソート制御部をさらに設けたことを
特徴とするメッセージ制御装置。 - 【請求項9】請求項1又は2において、 該メッセージにタイムスタンプを付与し、該スレッド制
御部が、該タイムスタンプが一定時間以上経過した該メ
ッセージを優先して引き出すことを特徴としたメッセー
ジ制御装置。 - 【請求項10】請求項1又は2において、 各プロセスに排他制御フラグが割り当てられており、ま
た該メッセージが排他制御情報を有しており、該スレッ
ド制御部は、取り出した該メッセージに該制御情報が設
定されているとき、該排他制御フラグを設定し、該排他
制御フラグが設定されているとき、全てのスレッド制御
部は該排他制御情報が設定された該メッセージのみ取り
出すことを特徴としたメッセージ制御装置。 - 【請求項11】請求項1又は2において、 該メッセージがリクエストメッセージであることを特徴
としたメッセージ制御装置。 - 【請求項12】請求項5乃至7のいずれかにおいて、 該送信元プロセスが送信元オブジェクトであることを特
徴としたメッセージ制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32836098A JP3788697B2 (ja) | 1998-11-18 | 1998-11-18 | メッセージ制御装置 |
US09/328,369 US6848107B1 (en) | 1998-11-18 | 1999-06-09 | Message control apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32836098A JP3788697B2 (ja) | 1998-11-18 | 1998-11-18 | メッセージ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000155693A true JP2000155693A (ja) | 2000-06-06 |
JP3788697B2 JP3788697B2 (ja) | 2006-06-21 |
Family
ID=18209385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32836098A Expired - Fee Related JP3788697B2 (ja) | 1998-11-18 | 1998-11-18 | メッセージ制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6848107B1 (ja) |
JP (1) | JP3788697B2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005048086A2 (en) | 2003-11-17 | 2005-05-26 | Roy-G-Biv Corporation | Command processing systems and methods |
JP2006285514A (ja) * | 2005-03-31 | 2006-10-19 | Fujitsu Ltd | 情報処理装置 |
JP2008027344A (ja) * | 2006-07-25 | 2008-02-07 | Nec Access Technica Ltd | オブジェクト間の非同期メッセージ管理方式および非同期メッセージ管理方法 |
JP2008234024A (ja) * | 2007-03-16 | 2008-10-02 | Fujitsu Ltd | バッチ処理プログラム,バッチ処理方法及びバッチ処理装置 |
US7853645B2 (en) | 1997-10-07 | 2010-12-14 | Roy-G-Biv Corporation | Remote generation and distribution of command programs for programmable devices |
JP2011070636A (ja) * | 2009-08-27 | 2011-04-07 | Nippon Telegr & Teleph Corp <Ntt> | データ同期システム、データ同期方法、情報処理装置、情報処理方法、およびプログラム |
US8027349B2 (en) | 2003-09-25 | 2011-09-27 | Roy-G-Biv Corporation | Database event driven motion systems |
US8102869B2 (en) | 2003-09-25 | 2012-01-24 | Roy-G-Biv Corporation | Data routing systems and methods |
WO2013171854A1 (ja) * | 2012-05-16 | 2013-11-21 | 株式会社日立製作所 | 計算機、スレッド割当管理方法及びプログラム |
WO2022172365A1 (ja) * | 2021-02-10 | 2022-08-18 | 日本電信電話株式会社 | リソース制御装置、リソース制御システム、および、リソース制御方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100131078A1 (en) * | 1999-10-27 | 2010-05-27 | Brown David W | Event driven motion systems |
US8032605B2 (en) * | 1999-10-27 | 2011-10-04 | Roy-G-Biv Corporation | Generation and distribution of motion commands over a distributed network |
US7904194B2 (en) * | 2001-02-09 | 2011-03-08 | Roy-G-Biv Corporation | Event management systems and methods for motion control systems |
JP3975703B2 (ja) * | 2001-08-16 | 2007-09-12 | 日本電気株式会社 | 情報処理システムにおける優先実行制御方法及びその装置並びにプログラム |
US20070022194A1 (en) * | 2003-09-25 | 2007-01-25 | Brown David W | Database event driven motion systems |
US20050262055A1 (en) * | 2004-05-20 | 2005-11-24 | International Business Machines Corporation | Enforcing message ordering |
US8187883B2 (en) * | 2005-10-21 | 2012-05-29 | Wisconsin Alumni Research Foundation | Method and system for delivering nucleic acid into a target cell |
US7613281B2 (en) * | 2005-12-13 | 2009-11-03 | Sap Ag | Monitoring a response time for a user request |
JP5509564B2 (ja) * | 2008-09-30 | 2014-06-04 | 富士通株式会社 | メッセージ送信方法及びプログラム |
CN103618586B (zh) * | 2013-11-07 | 2017-07-28 | 华为技术有限公司 | 一种发送响应帧的方法及装置 |
US11055280B2 (en) * | 2017-11-27 | 2021-07-06 | Snowflake Inc. | Batch data ingestion in database systems |
CN110515749B (zh) * | 2019-08-30 | 2022-06-24 | 深圳乐信软件技术有限公司 | 信息发送的队列调度的方法、装置、服务器和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0397354A (ja) * | 1989-09-11 | 1991-04-23 | Nec Corp | メッセージ送信制御装置 |
JPH06332834A (ja) * | 1993-05-25 | 1994-12-02 | Hitachi Ltd | リモートプロシジャコール方法 |
JPH076043A (ja) * | 1993-03-05 | 1995-01-10 | Mitsubishi Electric Corp | マルチスレッド・サーバ |
US5504898A (en) * | 1994-06-20 | 1996-04-02 | Candle Distributed Solutions, Inc. | Threaded environment for AS/400 |
JPH08166929A (ja) * | 1994-12-13 | 1996-06-25 | Hitachi Ltd | 共用資源排他制御システム |
JPH08511120A (ja) * | 1993-12-30 | 1996-11-19 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | データ処理システム及び待ち行列管理方法 |
JPH0969053A (ja) * | 1995-08-31 | 1997-03-11 | Toshiba Corp | メッセージ受信機構に於けるマルチスレッド制御方式及びキューイング方式 |
JPH09244984A (ja) * | 1996-03-08 | 1997-09-19 | Nippon Telegr & Teleph Corp <Ntt> | イベント順序補正方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH051163A (ja) | 1991-06-26 | 1993-01-08 | Nok Corp | 透明アクリルゴム成形品の表面処理方法 |
US5430850A (en) | 1991-07-22 | 1995-07-04 | Massachusetts Institute Of Technology | Data processing system with synchronization coprocessor for multiple threads |
US5752031A (en) * | 1995-04-24 | 1998-05-12 | Microsoft Corporation | Queue object for controlling concurrency in a computer system |
US5828881A (en) * | 1995-11-09 | 1998-10-27 | Chromatic Research, Inc. | System and method for stack-based processing of multiple real-time audio tasks |
US5826081A (en) | 1996-05-06 | 1998-10-20 | Sun Microsystems, Inc. | Real time thread dispatcher for multiprocessor applications |
JPH1049381A (ja) * | 1996-07-04 | 1998-02-20 | Internatl Business Mach Corp <Ibm> | 複数のデータ処理要求の処理方法及び処理システム、プログラムの実行方法及びシステム |
-
1998
- 1998-11-18 JP JP32836098A patent/JP3788697B2/ja not_active Expired - Fee Related
-
1999
- 1999-06-09 US US09/328,369 patent/US6848107B1/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0397354A (ja) * | 1989-09-11 | 1991-04-23 | Nec Corp | メッセージ送信制御装置 |
JPH076043A (ja) * | 1993-03-05 | 1995-01-10 | Mitsubishi Electric Corp | マルチスレッド・サーバ |
JPH06332834A (ja) * | 1993-05-25 | 1994-12-02 | Hitachi Ltd | リモートプロシジャコール方法 |
JPH08511120A (ja) * | 1993-12-30 | 1996-11-19 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | データ処理システム及び待ち行列管理方法 |
US5504898A (en) * | 1994-06-20 | 1996-04-02 | Candle Distributed Solutions, Inc. | Threaded environment for AS/400 |
JPH08166929A (ja) * | 1994-12-13 | 1996-06-25 | Hitachi Ltd | 共用資源排他制御システム |
JPH0969053A (ja) * | 1995-08-31 | 1997-03-11 | Toshiba Corp | メッセージ受信機構に於けるマルチスレッド制御方式及びキューイング方式 |
JPH09244984A (ja) * | 1996-03-08 | 1997-09-19 | Nippon Telegr & Teleph Corp <Ntt> | イベント順序補正方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7853645B2 (en) | 1997-10-07 | 2010-12-14 | Roy-G-Biv Corporation | Remote generation and distribution of command programs for programmable devices |
US8102869B2 (en) | 2003-09-25 | 2012-01-24 | Roy-G-Biv Corporation | Data routing systems and methods |
US8027349B2 (en) | 2003-09-25 | 2011-09-27 | Roy-G-Biv Corporation | Database event driven motion systems |
WO2005048086A2 (en) | 2003-11-17 | 2005-05-26 | Roy-G-Biv Corporation | Command processing systems and methods |
EP1690173A2 (en) * | 2003-11-17 | 2006-08-16 | Roy-G-Biv Corporation | Command processing systems and methods |
EP1690173A4 (en) * | 2003-11-17 | 2010-04-21 | Roy G Biv Corp | COMMAND PROCESSING SYSTEMS AND METHODS |
JP4564390B2 (ja) * | 2005-03-31 | 2010-10-20 | 東芝ストレージデバイス株式会社 | 情報処理装置 |
JP2006285514A (ja) * | 2005-03-31 | 2006-10-19 | Fujitsu Ltd | 情報処理装置 |
JP2008027344A (ja) * | 2006-07-25 | 2008-02-07 | Nec Access Technica Ltd | オブジェクト間の非同期メッセージ管理方式および非同期メッセージ管理方法 |
JP2008234024A (ja) * | 2007-03-16 | 2008-10-02 | Fujitsu Ltd | バッチ処理プログラム,バッチ処理方法及びバッチ処理装置 |
JP2011070636A (ja) * | 2009-08-27 | 2011-04-07 | Nippon Telegr & Teleph Corp <Ntt> | データ同期システム、データ同期方法、情報処理装置、情報処理方法、およびプログラム |
WO2013171854A1 (ja) * | 2012-05-16 | 2013-11-21 | 株式会社日立製作所 | 計算機、スレッド割当管理方法及びプログラム |
WO2022172365A1 (ja) * | 2021-02-10 | 2022-08-18 | 日本電信電話株式会社 | リソース制御装置、リソース制御システム、および、リソース制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3788697B2 (ja) | 2006-06-21 |
US6848107B1 (en) | 2005-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000155693A (ja) | メッセージ制御装置 | |
US6922408B2 (en) | Packet communication buffering with dynamic flow control | |
US5944778A (en) | Periodic process scheduling method | |
US6434631B1 (en) | Method and system for providing computer storage access with quality of service guarantees | |
KR101006260B1 (ko) | 네트워크 프로토콜 처리의 오프로드에서 메모리 관리를 지원하기 위한 장치 및 방법 | |
US6185221B1 (en) | Method and apparatus for fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch | |
JP3691515B2 (ja) | オペレーティングシステムにおけるイベント分配装置及び方法 | |
JP2504377B2 (ja) | デ―タ・パケットを貯蔵する方法及び装置 | |
USRE38134E1 (en) | System for communications where first priority data transfer is not disturbed by second priority data transfer and where allocated bandwidth is removed when process terminates abnormally | |
US5577035A (en) | Apparatus and method of processing bandwidth requirements in an ATM switch | |
KR19990087752A (ko) | 효율적인 출력 요구 패킷 스위치와 방법 | |
US20090043742A1 (en) | Method and system for off-loading user queries to a task manager | |
AU2003218229B2 (en) | Packet scheduling mechanism | |
JPH05216842A (ja) | 資源管理装置 | |
US11310164B1 (en) | Method and apparatus for resource allocation | |
CA2399186C (en) | Data transfer apparatus and data transfer method | |
CN113626221B (zh) | 一种消息入队方法及装置 | |
JP4072315B2 (ja) | パケットスイッチ | |
JP2904483B2 (ja) | 周期的プロセスのスケジューリング方法 | |
US7086059B2 (en) | Throttling queue | |
CN111756586A (zh) | 一种数据中心网络中基于优先级队列的公平带宽分配方法、交换机及可读存储介质 | |
JP2004178031A (ja) | 資源配信方法及びシステム | |
CN113553361A (zh) | 资源管理方法及装置 | |
JPH0744505A (ja) | 並列計算機における負荷分散方法 | |
US20030185227A1 (en) | Secondary queue for sequential processing of related queue elements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050412 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060123 |
|
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: 20060322 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060323 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090407 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100407 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110407 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110407 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120407 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140407 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |