JPH06282447A - 待ち行列管理方式 - Google Patents

待ち行列管理方式

Info

Publication number
JPH06282447A
JPH06282447A JP6995193A JP6995193A JPH06282447A JP H06282447 A JPH06282447 A JP H06282447A JP 6995193 A JP6995193 A JP 6995193A JP 6995193 A JP6995193 A JP 6995193A JP H06282447 A JPH06282447 A JP H06282447A
Authority
JP
Japan
Prior art keywords
queue
stored
elements
sequence number
start time
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.)
Pending
Application number
JP6995193A
Other languages
English (en)
Inventor
Yasuhiro Kobata
康博 木幡
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP6995193A priority Critical patent/JPH06282447A/ja
Publication of JPH06282447A publication Critical patent/JPH06282447A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 待ち行列に実行待ち要素を格納する時、処理
開始時刻と優先順位を実行待ち要素に指定することによ
り、待ち行列より要素を取り出し実行する時に正しい順
序で要素を取り出し実行するようにする。 【構成】 実行待ち要素と処理開始時刻を受け入れるプ
ロセス9a〜プロセス9cが、順に優先順位の低い待ち
行列から高い待ち行列にアクセスし、処理開始時刻を基
に、時系列に複数存在する待ち行列16の該当処理開始
時刻の配列Tn に実行待ち要素を格納し、プロセス9d
が次に実行すべき要素を、処理開始時刻及び優先順位の
昇順に待ち行列16から取り出す待ち行列管理方式を構
成した。 【効果】 同じ優先順位を持つ要素が待ち行列に複数存
在していても、処理開始時刻の早い順に実行され、実行
順序が逆になることがなくなる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、待ち行列処理が発生す
るコンピュータシステムにおいて、待ち行列に実行待ち
の要素を格納する時、或いは、待ち行列から次に実行す
べき要素を取り出す時、優先順位の他に処理開始時間、
及び、実行順序番号を指定可能にした待ち行列管理方式
に関するものである。
【0002】
【従来の技術】図17は、例えば特開昭61−1361
34号公報に示された従来の待ち行列資源管理方式に於
けるシステム構成図である。図17において、1は待ち
行列を制御する待ち行列制御テーブルであり、待ち行列
ごとに1つの待ち行列制御テーブル1a,1b,1c・
・・が対応する。2は待ち行列を示し、一つ一つの要素
を待ち行列の要素と呼ぶ。3は空き待ち行列を制御する
空き待ち行列制御テーブルである。4は空き待ち行列、
5は空き待ち行列のカウンタ、6は空き待ち行列につな
ぐための空き待ち行列制御プログラム、7は待ち行列に
つなぐための制御を行う待ち行列制御プログラム、8は
待ち行列2の要素を取り出す制御を行う要素取り出し制
御プログラムであり、要素取り出し制御プログラム8に
より取り出された待ち行列2の要素は、空き待ち行列4
につなげられる。9は待ち行列資源に対して使用要求を
行うプログラム(以下プロセスと呼称する。)であり、
9aのプロセスAは優先度の最も低い待ち行列にアクセ
スするプロセス、9bのプロセスBは優先度が中程度の
待ち行列にアクセスするプロセス、9cのプロセスCは
優先度の最も高い待ち行列にアクセスするプロセスとす
る。10は待ち行列の優先度を判定し、待ち行列に追加
することを許すかどうかを制御する優先度制御手段であ
る。
【0003】次に図17のシステム構成の動作について
説明する。待ち行列2を使用するプロセス9a,9b,
9cは待ち行列制御プログラム7を用いて最初に待ち行
列2に実行待ちの要素を格納する時に、その待ち行列2
に対して優先度を指定する。待ち行列制御プログラム7
が待ち行列2の追加処理を行う時に、優先度制御手段1
0は、空き待ち行列のカウンタ5により、全体の待ち行
列2の要素の個数に対する空き待ち行列4の要素の個数
の割合をチェックして、待ち行列の追加処理を許す。つ
まり、優先度の高いプロセス9cは空き待ち行列4の要
素が1個でもあれば、待ち行列2の追加処理が許され
る。優先度の低いプロセス9aは空き待ち行列4の要素
の割合が小さい時には、待ち行列2に対して追加処理を
せずに、空き待ち行列4が増すまで持たせるようにす
る。これによって、優先度の高いプロセスに対しては確
実に待ち行列2の要素を割当てられるようにする。
【0004】
【発明が解決しようとする課題】従来例において、複数
の同一の優先度をもつ実行待ちの要素で、かつ、処理さ
れる順番が予め決まっている場合に、処理の順番を先に
すべき実行待ちの要素よりも、処理の順番を後にすべき
要素の方が先に待ち行列に格納されてしまうと、処理の
順番を後にすべき要素の方が先に実行されてしまうとい
う問題があった。又、実行待ちの要素で、予め処理開始
時刻が決まっていても、優先度が低い場合は、処理開始
時刻が到来してもいつまでも待ち行列に格納されずに実
行されないという問題があった。
【0005】この発明は、上記のような問題を解決する
ためになされたもので、複数の予め処理される順番が決
まっている同一の優先度をもつ実行待ちの要素を待ち行
列に格納し、実行するために取り出す時、処理の順番に
従い実行待ちの要素を取り出せる待ち行列管理方式を得
ることを目的とする。又、優先度が低くても、予め処理
開始時刻が決まっている実行待ちの要素を、処理開始時
刻が到来した場合に取り出して実行できる待ち行列管理
方式を得ることを目的とする。
【0006】
【課題を解決するための手段】この発明の第1の発明に
係る待ち行列管理方式は、以下の要素を有するものであ
る。 (a)待ち行列に並べられる要素と、その要素に対して
指定された処理開始時刻とを受け付ける要素受付手段、
(b)予めシステムで決められた、ある一定の時間間隔
毎に時系列的に複数の待ち行列を記憶する待ち行列記憶
手段、(c)上記要素受付手段により受け付けた要素の
指定された処理開始時刻に基づいて、上記待ち行列記憶
手段に記憶された複数の待ち行列の中から格納すべき待
ち行列を決定し、決定された待ち行列にその要素を格納
する要素格納手段、(d)上記待ち行列記憶手段に記憶
した待ち行列の処理開始時刻が到来した場合、上記要素
格納手段によって、その待ち行列に格納されている要素
を取り出し実行する処理開始時刻による要素実行手段。
【0007】この発明の第2の発明に係る待ち行列管理
方式は、上記第1の発明に係る待ち行列管理方式に対し
て、上記要素受付手段は、さらに、各要素に対して処理
の優先順位を受け付ける優先順位受付手段を有し、上記
要素実行手段は、処理開始時刻が到来した待ち行列の中
から要素を取り出して実行する場合、上記優先順位指定
手段により受け付けた各要素に指定された優先順位に従
って、待ち行列から要素を取り出す優先順位による要素
取出手段を有するものである。
【0008】この発明の第3の発明にかかる待ち行列管
理方式は、以下の要素を有するものである。 (a)待ち行列に並べられる要素と、その要素に対して
指定された処理の実行順序番号とを受け付ける要素受付
手段、(b)上記要素受付手段により受け付けられた順
序番号をもつ要素を、待ち行列に格納する要素格納手
段、(c)上記要素格納手段により待ち行列に格納され
た要素を、上記順序番号に基づいて取り出し実行する要
素実行手段、
【0009】この発明の第4の発明に係る待ち行列管理
方式は、上記第3の発明に係る待ち行列管理方式に対し
て、上記要素受付手段は、さらに、各要素に対して処理
の優先順位を受け付ける優先順位受付手段を有し、上記
要素実行手段は、待ち行列に格納された要素の中から、
優先順位に基づいて要素を取り出すにあたり、実行可能
な要素を複数取り出せる場合に、順序番号に基づいて要
素を取り出して実行する優先順位と順序番号による要素
取出手段を有するものである。
【0010】この発明の第5の発明にかかる待ち行列管
理方式は、上記第1、又は、第2の発明に係る待ち行列
管理方式に対して、上記要素受付手段は、さらに、各要
素に対して処理の実行順序番号を受け付ける順序番号受
付手段を有し、上記要素実行手段は、実行可能な要素を
複数取り出せる場合に、要素に指定された順序番号に基
づいて待ち行列から要素を取り出す順序番号による要素
取出手段を有するものである。
【0011】
【作用】この発明の第1の発明における待ち行列管理方
式は、要素受付手段が、待ち行列に並べられる要素と、
その要素に対して指定された処理開始時刻とを受け付け
て、待ち行列記憶手段が、ある一定の時間間隔毎に時系
列的に複数の待ち行列を記憶し、要素格納手段が、上記
要素受付手段により受け付けた要素の指定された処理開
始時刻に基づいて、上記待ち行列記憶手段に記憶された
複数の待ち行列の中から、格納すべき待ち行列を決定
し、決定された待ち行列にその要素を格納し、要素実行
手段が、上記待ち行列記憶手段に記憶した待ち行列の処
理開始時刻が到来した場合に、上記要素格納手段によっ
て、その待ち行列に格納されている要素を取り出し実行
するので、待ち行列に後から格納される要素であって
も、指定された処理開始時刻が早ければ、先に待ち行列
に格納された要素よりも先に取り出されて実行されるの
で、処理の順序が逆転されることがなくなる。
【0012】この発明の第2の発明における待ち行列管
理方式は、上記第1の発明において、上記要素受付手段
が、さらに、各要素に対して処理の優先順位を受け付け
る受付手段を有し、上記要素実行手段が、処理開始時刻
が到来した待ち行列の中から要素を取り出して実行する
場合に、上記優先順位指定手段により受け付けた各要素
に指定された優先順位に従って待ち行列から要素を取り
出す優先順位による要素取出手段を有するので、処理時
刻が到来している要素が複数存在するときに、その要素
の中で最も優先順位の高い要素より先に実行する。従っ
て、上記第1の発明より正しい順序で処理が行われる事
に加えて、要素の有せん処理が可能になる。
【0013】この発明の第3の発明における待ち行列管
理方式は、上記要素受付手段が、待ち行列に並べられる
要素と、その要素に対して指定された処理の実行順序番
号とを受け付けて、要素格納手段が、上記要素受付手段
により受け付けられた順序番号をもつ要素を、待ち行列
に格納し、要素実行手段が、上記要素格納手段により待
ち行列に格納された要素を、上記順序番号に基づいて実
行するので、実行順序番号の小さい要素が、実行順序番
号の大きい要素よりも後に待ち行列に格納されても、待
ち行列から取り出されるときは、実行順序番号の昇順に
取り出されるので、処理の順番が逆転されて実行される
ことがなくなる。
【0014】この発明の第4の発明における待ち行列管
理方式は、上記第3の発明において、上記要素受付手段
が、さらに、各要素に対して処理の優先順位を受け付け
る優先順位受付手段を有し、上記要素実行手段が待ち行
列に格納された要素の中から、優先順位に基づいて要素
を取り出し、複数取り出せる場合は、順序番号に基づい
て要素を取り出して実行する優先順位と順序番号による
要素取出手段を有するので、優先順位の高い順に要素を
取り出した時に、優先順位が同じ実行待ち要素が復数あ
る場合でも、取り出した順ではなく、実行順序番号に従
って実行される。従って、上記第3の発明により正しい
順序で処理が行なわれるとともに、要素の優先処理が可
能になる。
【0015】この発明の第5の発明における待ち行列管
理方式は、上記第1、又は、第2の発明において、上記
要素受付手段が、さらに、各要素に対して処理の実行順
序番号を受け付ける順序番号受付手段を有し、上記要素
実行手段が、実行可能な要素を複数取り出した場合に、
要素に指定された順序番号に基づいて待ち行列から要素
を取り出す順序番号による要素取出手段を有するので、
処理開始時間と優先順位が同じ実行待ち要素が複数ある
場合でも待ち行列に格納された順番ではなく指定された
処理の実行順序番号に従って実行されるので、上記第
1、及び、第2の発明よりもさらに処理の順番が逆転さ
れずに正しく処理されることになる。
【0016】
【実施例】
実施例1.この実施例は、実行待ち要素に処理開始時刻
を指定して、待ち行列に格納することと、この待ち行列
が、予めシステムで定められた時間間隔ごとに、メモリ
ー上に記憶されていることを特徴としている。以下に詳
しい説明を行う。
【0017】図1は、本実施によるシステムを示す構成
図であり、図2は待ち行列制御テーブルのデータフォー
マット図であり、図3は要素を受け入れてから格納する
までの処理の手順を示す流れ図、図4は待ち行列から要
素を取り出し実行するまでの処理の手順を示す流れ図で
ある。
【0018】図1において、3は空き待ち行列(フリー
キュー)を制御する空き待ち行列制御テーブルである。
4は空き待ち行列(フリーキュー)、6は空き待ち行列
に対する制御を行う空き待ち行列制御プログラム、7は
待ち行列に対する制御を行う待ち行列制御プログラム、
8は待ち行列の要素を取り出す制御を行う要素取り出し
制御プログラムであり、要素取り出し制御プログラム8
により、取り出された待ち行列の要素は、空き待ち行列
4に戻される。9は待ち行列資源に対して使用要求を行
うプログラム(以下プロセスと呼称する。)であり、プ
ロセス9a,プロセス9b,プロセス9c,プロセス9
dの4つのプロセスより構成され、プロセス9a〜プロ
セス9cは、実行待ち要素を待ち行列に格納する為のプ
ロセスであり、実行待ち要素に対して処理開始時刻を指
定する。プロセス9dは、実行待ち要素を待ち行列から
取り出す為のプロセスである。11はどの待ち行列に格
納するかを決定する時間間隔制御プログラム、12は待
ち行列から要素を取り出すときに優先順位の制御を行う
優先順位制御プログラム、13は待ち行列から要素を取
り出すときに順序指定の制御を行う順序制御プログラ
ム、14は時間間隔の時間監視プログラム、15は各々
の待ち行列を制御する待ち行列制御テーブルであり、現
在まで取り出した要素の順序番号を持つ。16は待ち行
列(キュー)を示し、待ち行列に要素を格納する時、指
定された順序番号と優先順位(プライオリティ)を各要
素の中に情報として持つ。又、待ち行列16は、処理開
始時刻のカレント時刻Tc に対応する待ち行列をT0
して、予めシステムで定められた時間間隔(T)毎に、
0 ,T1 ,T2 ,…,Tm-1 ,Tm のように複数のm
+1個の待ち行列よりなり、プロセス9a〜プロセス9
cで指定された処理開始時刻に従って、該当するTn
(0≦n≦m)の待ち行列に要素を格納する。待ち行列
n は、Tn a,Tn b,Tn cの3つの待ち行列より
構成され、Tn aにはプロセス9aで処理された実行待
ち要素が格納され、Tn bにはプロセス9bで処理され
た実行待ち要素が格納され、Tn cにはプロセス9cで
処理された実行待ち要素が格納される。プロセス9a〜
プロセス9cで指定される処理開始時刻は、Tc +T×
(n−1)以後であって、Tc +T×nより前であるこ
ととする。なお、優先順位制御プログラム12について
は実施例3で説明し、順序制御プログラム13について
は、実施例5で説明する。
【0019】次に、図2のデータフォーマットを示す図
を使用して、図3の流れ図に従い、実行待ちの要素を待
ち行列に格納するまでの処理手順を説明する。プロセス
9には、要素を待ち行列に格納するためのプロセスが9
a,9b,9cとあるが、9aから順番に要素を待ち行
列に格納する。待ち行列制御プログラム7は、プロセス
9aより出された実行待ち要素の格納要求を受け入れる
(S1)。次に、待ち行列制御プログラム7は、プロセ
ス9aより処理開始時刻を受け入れ、S1で受け入れた
実行待ち要素に対してこの処理開始時刻を指定する。こ
の実施例での処理開始時刻は11:05とする(S
3)。処理開始時刻はTC +T×(n−1)≦処理開始
時刻<TC +T×nである。待ち行列制御プログラム7
は空き待ち行列4に空き要素が存在するか確認し(S
5)、空き待ち行列4に空き要素が存在するとき、空き
待ち行列制御プログラム6を用いて、空き待ち行列4よ
り空き要素を取り出し(S7)、S3でこの実行待ちの
要素に指定された処理開始時刻を、時間間隔制御プログ
ラム11に渡し、時間間隔制御プログラム11が処理開
始時刻を基に、図2の待ち行列制御テーブル15が持つ
「要素が処理されるべき時刻T1」を参照してT0 〜T
m までの待ち行列の中から格納すべき待ち行列Tn を決
定する(S9)。この実施例では、処理開始時刻を9:
00、時間間隔Tを5分とするので、格納すべき待ち行
列Tn は待ち行列T25となる。待ち行列制御プログラム
7は、S9で決定された待ち行列T25に実行待ちの要素
を要素Aとして格納する(S11)。再び、待ち行列制
御プログラム7は、プロセス9aより実行待ちの要素と
処理開始時刻11:10を受け入れ、S1〜S11まで
の処理を繰り返し行い、この実行待ちの要素を要素Bと
して待ち行列T26に格納する。
【0020】次に、上記図3の流れ図に従い格納された
要素を待ち行列より取り出し、実行するまでの処理手順
について、図4の流れ図に従い説明する。この実施例に
おける待ち行列Tn は、処理開始時刻のカレント時刻
9:00、時間間隔(T)を5分としてT0 (9:0
0),T1 (9:05),T2 (9:10),T3
(9:15)…のように存在している。現在処理対象と
している待ち行列をTn-1 として、次の処理開始時刻が
到来した時、待ち行列Tn-1 に実行待ち要素が取り出さ
れずに残っている場合、時間監視プログラム14は、待
ち行列Tn-1 に納されている実行待ちの要素と、次の処
理開始時刻の待ち行列Tn に格納されている実行待ちの
要素を、処理開始時刻の早い要素の後方に、処理開始時
刻の遅い要素を追加し、待ち行列Tn の要素とする(S
13)。待ち行列Tn-1 を待ち行列T25とし処理開始時
刻が11:10になっても、S11で格納した要素Aが
取り出されずに残っていると、要素Aは待ち行列T26
要素となり、待ち行列T26に格納されている要素の順番
は要素A、要素Bの順に格納される。プロセス9dは要
素取り出し制御プログラム8を用いて、待ち行列T26
格納されている順番に実行待ち要素を取り出す(S1
5)。空き待ち行列制御プログラム6は、S15で実行
待ちの要素が取り出されたことにより空き要素が発生す
るので、空き待ち行列4へ空き要素を格納する(S1
7)。プロセス9dはS15で取り出した実行待ちの要
素を実行状態にする(S19)。
【0021】以上のように、上記実施例1では、実行待
ちの要素を待ち行列に格納する時、処理開始時刻別に格
納され、また、待ち行列T0 〜Tm は処理開始時刻のカ
レント時刻から一定時間(T)が経過する毎に、処理開
始時刻が到来した待ち行列Tn に、待ち行列Tn-1 に取
り出されずに残っている実行待ち要素を、処理開始時刻
の昇順になるように混ぜてしまい、待ち行列Tn から要
素を取り出す時は、格納されている順に実行待ち要素を
取り出して実行するので、待ち行列に格納される順番が
遅くても処理開始時刻が早い要素より順に実行される。
【0022】実施例2.上記実施例1では、待ち行列制
御プログラム7は、プロセス9a〜プロセス9cより処
理開始時刻を受け入れていたが、業務毎に処理開始時刻
が判断可能なシステムでは、実行待ちの要素に業務名を
識別するための識別子を付加することにより、待ち行列
制御プログラム7において、この識別子より処理開始時
刻を自動的に判断させ、格納すべき待ち行列を決定し、
処理開始時刻の昇順に実行待ち要素を格納するようにし
てもよい。また、上記実施例1では、プロセス9a,プ
ロセスb,プロセス9cで処理された実行待ち要素は、
それぞれ待ち行列Tn のTn a,Tn b,Tn cに格納
されていたが、図2の待ち行列制御テーブル15が持っ
ている「業務の名前」に上記識別子を格納し、待ち行列
n のTn a,Tn b,Tn cを業務別の待ち行列とし
てもよい。
【0023】実施例3.上記実施例1では、待ち行列制
御プログラム7において、プロセス9aより実行待ち要
素と処理開始時刻を受け付けていたが、本実施例では、
待ち行列制御プログラム7において、実行待ち要素に対
してさらに優先順位を与えることを特徴としている。以
下に詳しい説明を行なう。
【0024】図5は、実施例による待ち行列に格納され
ている各要素が持っているデータのフォーマット図であ
り、図6は、要素を受け入れてから格納するまでの処理
の手順を示す流れ図、図7は待ち行列から要素を取り出
し、実行するまでの処理の手順を示す流れ図である。
尚、本実施におけるシステム構成は上記実施例1と同様
とするが、プロセス9のプロセス9a、プロセス9b、
プロセス9cは、プロセス9aが最も優先順位の低い待
ち行列にアクセスするプロセスであり、以下、プロセス
9b、プロセス9cの順に優先順位の高い待ち行列にア
クセスするプロセスとする。
【0025】次に、図5のデータフォーマットを示す図
を使用して、図6の流れ図に従い、実行待ちの要素を待
ち行列に格納するまでの処理手順を説明する。上記実施
例1と同様に、待ち行列制御プログラム7において、プ
ロセス9aより実行待ちの要素を受けいれる(S1)。
プロセス9aで処理される優先順位はa、プロセス9b
で処理される優先順位はb、プロセス9cで処理される
優先順位はcとして優先順位の順はc>b>aとする。
待ち行列制御プログラム7は、プロセス9aより処理開
始時刻11:05を受け入れ、優先順位aとともに実行
待ち要素に指定する(S3a)。次に、上記実施例1と
同様に、待ち行列制御プログラム7は空き待ち行列4に
空き要素が存在するか確認し(S5)、空き待ち行列4
に空き要素が存在する時、空き待ち行列制御プログラム
6を用いて、空き待ち行列4より空き要素を取り出す
(S7)。S3aで、この実行待ちの要素に指定された
処理開始時刻を時間間隔制御プログラム11に渡し、時
間間隔制御プログラム11は、処理開始時刻をもとに待
ち行列T0 〜Tm より格納すべき待ち行列Tn を決定す
る(S9)。この実施例では上記実施例1と同様に処理
開始時刻を9:00、時間間隔(T)を5分として、T
0 (9:00),T1 (9:05),T2 (9:1
0),T3 (9:15)…のように待ち行列が構成され
ているので、格納すべき待ち行列Tn は待ち行列T25
なる。待ち行列制御プログラム7はS9で決定された待
ち行列T25に実行待ちの要素を要素Aとして格納する
(S11)。この時、図5の待ち行列の要素16にある
「優先順位番号」に上記S3aで指定された優先順位a
が格納される。さらに、待ち行列制御プログラム7で
は、待ち行列に格納する実行待ちの要素を受け入れ、こ
の要素は、上記要素Aよりも優先順位が高い要素として
プロセス9cで処理されたものとする。この2番目の実
行待ちの要素も上記要素Aと同様に、処理開始時刻を1
1:05としてS1〜S11までの処理を行ない、待ち
行列T25に要素Bとして格納する。
【0026】次に、上記図6の流れ図に従い格納された
要素を待ち行列より取り出し、実行するまでの処理手順
について、図7の流れ図に従い説明する。待ち行列は、
上記実施例1と同様に、現在処理対象としている待ち行
列をTn-1 として、次の処理開始時刻が到来した時、待
ち行列Tn-1 に実行待ち要素が取り出されずに残ってい
る場合、時間監視プログラム14は、待ち行列Tn-1
納されている実行待ちの要素と、次の処理開始時刻の待
ち行列Tn に格納されている実行待ちの要素を、処理開
始時刻の早い要素の後方に、処理開始時刻の遅い要素を
追加し、待ち行列Tn の要素とする(S13)。待ち行
列Tn には処理開始時刻の昇順に実行待ちの要素が格納
されているので、プロセス9dは要素取り出し制御プロ
グラム8を用いて、待ち行列Tn に格納されている順番
に実行待ち要素を取り出す(S15a)。上記S11に
おいて待ち行列T25に要素を格納した時、上記要素Aと
上記要素Bは処理開始時刻が11:05で同じであっ
た。このため要素取り出し制御プログラム8は2つの要
素を取り出すが、図5の待ち行列要素16にある「優先
順位番号」を参照して、優先順位番号の高い要素より先
に実行するので、要素Bの方が先にT25の待ち行列より
取り出される。次に、空き待ち行列制御プログラム6
は、S15aで実行待ちの要素が取り出されたことによ
り空き要素が発生するので、空き待ち行列4へ空き要素
を格納する(S17)。プロセス9dはS15aで取り
出された実行待ちの要素を実行状態にする(S19)。
次に、プロセス9dが実行待ちの要素を待ち行列T25
ら取り出すときは、上記S11で格納された優先順位番
号bをもつ要素Aを取り出すことになる。
【0027】以上のように、上記実施例3では、処理開
始時刻が同じ実行待ち要素が、待ち行列に存在する時、
格納した順ではなく、優先順位を確認しているので、格
納した順序が遅い場合でも優先順位が高ければ先に処理
され、上記実施例1よりもさらに確実に希望する順序で
処理が実行できる。
【0028】実施例4.上記実施例3では、プロセス9
a〜プロセス9cで実行待ち要素を処理する場合に、処
理するプロセス毎に優先順位を区別していたが、業務毎
に処理の優先順位が予め分かっているようなシステムで
は、待ち行列制御プログラム7において、プロセスに依
存するのではなく、業務名により優先順位を判断して、
優先順位を指定できるようにしてもよい。
【0029】実施例5.この実施例は、実行待ち要素に
順序番号を指定して待ち行列に格納し、待ち行列から要
素を取り出す時は、順序番号の昇順に要素を取り出すこ
とを特徴としている。以下に詳しい説明を行う。
【0030】図8は、本実施例によるシステムを示す構
成図であり、図9は要素を受け入れてから格納するまで
の処理の手順を示す流れ図、図10は待ち行列から要素
を取り出し実行するまでの処理の手順を示す流れ図であ
る。
【0031】図8において、システムを構成する各構成
要素は上記実施例1の図1と同様であるが、待ち行列1
6は処理開始時刻毎に複数存在するのではなく、待ち行
列が1つ存在するだけである。この為、実行待ちの要素
は必ず同一の待ち行列に格納される。
【0032】次に、図5のデータフォーマットを示す図
を使用して、図9の流れ図に従い、実行待ちの要素を待
ち行列に格納するまでの処理の手順を説明する。プロセ
ス9には要素を待ち行列に格納するためのプロセス9
a,9b,9cとあるが上記実施例1と同様に、9aか
ら順番に要素を受け付け待ち行列に格納するものとす
る。待ち行列制御プログラム7は、プロセス9aより出
された実行待ち要素の格納要求を受け入れる(S1)。
次に、待ち行列制御プログラム7は、プロセス9aより
順序番号を受け入れ、S1受け入れた実行待ち要素に対
してこの順序番号を指定する。この実施例では順序番号
を「15」と指定する(S3b)。待ち行列制御プログ
ラム7は、空き待ち行列4に空き要素が存在するか確認
し(S5)、空き要素が存在する時、空き待ち行列制御
プログラム6を用いて、空き待ち行列4より空き要素を
取り出す(S7)。待ち行列制御プログラム7は待ち行
列T0 に実行待ち要素を格納する(S11)。この時、
図5の待ち行列の要素16が持っている「実行順序番
号」にS3bで指定された処理の順序番号「15」を格
納する。
【0033】次に、上記図11の流れ図に従い格納され
た要素を待ち行列より取り出し、実行するまでの処理手
順について、図10の流れ図に従い説明する。図2の待
ち行列制御テーブル15が持っている「処理済シーケン
ス番号」に、待ち行列16から最後に取り出された要素
がもつ順序番号が格納されている。プロセス9dはこの
待ち行列制御テーブル15がもつ「処理済シーケンス番
号」を参照して、次に待ち行列から取り出す要素が存在
するか、待ち行列T0 の要素16がもつ「実行順序番
号」を確認する(S14)。この実施例では、待ち行列
制御テーブル15がもつ処理済シーケンス番号を「1
3」とすると、待ち行列に格納されている要素がもつ順
序番号は、S3bで「15」としたので、プロセス9d
が次に取り出すべき要素が、待ち行列に存在していない
ことになる。この為、プロセス9dは処理済シーケンス
番号+1、つまり「14」の順序番号を持つ要素が待ち
行列に格納されるまで、待ち状態になる。プロセス9d
が待ち状態になっている間に、待ち行列制御プログラム
7において、プロセス9bより次の実行待ちの要素を順
序番号を「14」として受け入れ、待ち行列制御プログ
ラム7がこの要素を待ち行列T0 に格納すると、プロセ
ス9dは待ち状態から解放され、要素取り出し制御プロ
グラム8を用いて、待ち行列T0 から順序番号が「1
4」である要素を取り出す(S15b)。この時、順序
制御プログラム13が待ち行列制御テーブル15の処理
済シーケンス番号に「1」を加算する。S15bで、待
ち行列から実行待ちの要素が取り出されたことにより空
き要素が発生するので、空き待ち行列4へ空き要素を格
納する(S17)。プロセス9dはS15bで取り出さ
れた実行待ちの要素を実行状態にする(S19)。
【0034】以上のように、上記実施例5では、実行待
ちの要素を待ち行列に格納する時、順序番号を各要素に
付加し、待ち行列から要素を取り出す時は、この順序番
号の昇順に要素を取り出して、該当する順序番号をもつ
要素が存在しない場合は、その順序番号をもつ要素が待
ち行列に格納されるまで待つことになるので確実に希望
する順番に処理が行われることになる。
【0035】実施例6.上記実施例1、及び、上記実施
例5では、実行待ち要素に対して処理開始時刻、又は、
順序番号のいずれかを指定して、待ち行列に格納してい
たが、この実施例では、処理開始時刻と順序番号の両方
を実行待ち要素に指定して、待ち行列に格納する。ま
た、待ち行列が要素を取り出す時には、処理開始時刻,
順序番号の順で、取り出し条件を確認することを特徴と
している。以下に詳しい説明を行う。
【0036】図11は、要素を受け入れてから格納する
までの処理の手順を示す流れ図、図12は待ち行列から
要素を取り出し実行するまでの処理の手順を示す流れ図
である。尚、本実施例におけるシステムの構成は上記実
施例1のシステム構成と同様に図1のシステム構成図を
使用する。
【0037】次に、図11の流れ図に従い、実行待ちの
要素を待ち行列に格納するまでの処理手順を説明する。
プロセス9には、要素を待ち行列に格納するためのプロ
セスが9a,9b,9cとあるが上記実施例1と同様
に、9aから順番に要素を受け付け、待ち行列に格納す
る。待ち行列制御プログラム7は、プロセス9aより出
された格納要求を実行待ち要素の格納要求を受け入れる
(S1)。次に、待ち行列制御プログラム7は、プロセ
ス9aより処理開始時刻を9:20を受け入れる。さら
に待ち行列制御プログラム7は、プロセス9aより順序
番号「13」を受け入れ、S1で受け入れた実行待ち要
素に対して処理開始時刻と順序番号を指定する(S3
c)。処理開始時刻と順序番号は、必ずそれぞれが昇順
になるように指定を行うものとする。次に、待ち行列制
御プログラム7は、空き待ち行列4に空き要素が存在す
るか確認する(S5)。空き待ち行列4に空き要素が存
在する時、空き待ち行列制御プログラム6を用いて、空
き待ち行列4より空き要素を取り出す(S7)。S3c
でこの実行待ちの要素に指定された処理開始時刻を時間
間隔制御プログラム11に渡し、時間間隔制御プログラ
ム11が処理開始時刻を基に、図2の待ち行列制御テー
ブル15がもつ「要素が処理されるべき時刻T1」を参
照してT0〜Tm までの待ち行列の中から格納すべき待
ち行列Tn を決定する(S9)。この実施例では、上記
実施例1と同様に、処理開始時刻のカレント時刻を9:
00、時間間隔Tを5分としてT0 (9:00),T1
(9:05),T2 (9:10),T3 (9:15)…
のように待ち行列が構成されているので、格納すべき待
ち行列はT4 となる。待ち行列制御プログラム7は、S
9で決定された待ち行列T4 に実行待ちの要素を格納す
る(S11)。この時、図5の待ち行列の要素16がも
つ「実行順序番号」にS3cで指定した順序番号「1
3」を指定する。再び待ち行列制御プログラム7におい
て、プロセス9bより実行待ち要素を処理開始時刻
「9:20」、順序番号「12」として受け入れ、上記
S1〜S11までの処理を繰り返し行い、待ち行列T4
に格納する。
【0038】次に、上記図11の流れ図に従い格納され
た要素を待ち行列より取り出し、実行するまでの処理手
順について、図12の流れ図に従い説明する。上記実施
例1と同様に、現在処理対象としている待ち行列をT
n-1 として、次の処理開始時刻が到来した時、待ち行列
n-1 に実行待ち要素が取り出されずに残っている場
合、時間監視プログラム14は、待ち行列Tn-1 に納さ
れている実行待ちの要素と、次の処理開始時刻の待ち行
列Tn に格納されている実行待ちの要素を、処理開始時
刻の早い要素の後方に、処理開始時刻の遅い要素を追加
し、待ち行列Tn の要素とする(S13)。図2の待ち
行列制御テーブル15の「処理済シーケンス番号」に待
ち行列16から最後に取り出された要素がもつ順序番号
が格納されている。プロセス9dはこの待ち行列制御テ
ーブル15がもつ「処理済シーケンス番号」を参照し
て、待ち行列Tn に格納されている要素の中に、次に取
り出すべき順序番号をもつ要素が存在するか、待ち行列
n に格納されている要素の実行順序番号を確認する
(S14a)。この実施例では待ち行列制御テーブル1
5がもつ「処理済シーケンス番号」を「11」とし、待
ち行列Tn を待ち行列T4 する。待ち行列T4 に格納さ
れている要素がもつ順序番号は上記S3Cの説明では
「12」、「13」としたが、待ち行列に格納した順番
は順序番号が「13」の要素の方が先であった。例え
ば、プロセス9dにおける待ち行列からの要素の取り出
し処理が、順序番号「13」の要素を待ち行列に格納し
た後、順序番号「12」の要素を格納する前に行われた
とすると、次に取り出すべき要素は待ち行列T4 に存在
しないことになる。このためプロセス9dは、処理済シ
ーケンス番号が「12」の順序番号をもつ要素が待ち行
列T4 に格納されるまで待ち状態になる。プロセス9d
が待ち状態になっている間に順序番号「12」の実行待
ち要素が待ち行列制御プログラム7によって待ち行列T
4 に登録されるとプロセス9dは待ち状態から解放さ
れ、要素取出制御プログラム8を用いて、待ち行列T4
から順序番号が「12」である要素を取り出す(S15
b)。この時、順序制御プログラム13は待ち行列制御
テーブル15の処理済シーケンス番号に「1」を加算す
る。S15bで待ち行列16より実行待ちの要素が取り
出されたことにより、空き要素が発生するので、空き待
ち行列4へ空き要素を格納する(S17)。プロセス9
dは、S15bで取り出された実行待ちの要素を実行状
態にする。(S19)。
【0039】実施例7.上記実施例6では、実行待ちの
要素を待ち行列に格納する時、始めに格納した要素の処
理開始時刻と、2番目に格納した要素の処理開始時刻を
同じ処理開始時刻に指定したが、始めに格納した要素の
順序番号が「13」であり、2番目に格納した要素の順
序番号が「12」であるため、始めに格納した要素の処
理開始時刻を、2番目に格納した要素の処理開始時刻よ
りも遅くなってもかまわない。例えば、順序番号が「1
3」である要素の処理開始時刻を「9:30」としても
よい。大切なのは、処理開始時刻と処理順序番号が、そ
れぞれ昇順になっていることである。
【0040】以上のように、上記実施例6〜7では、実
行待ち要素に対して、処理開始時刻と順序番号を同時に
指定して待ち行列に格納し、処理開始時刻が到来した待
ち行列より、順序番号に従い取り出すので、処理開始時
刻の指定のみを行っている上記実施例1、及び、順序番
号の指定のみを行っている上記実施例5よりも、細かく
処理の順番を指定でき、確実に指定した順番で処理が行
われることになる。
【0041】実施例8.上記実施例6では、実行待ち要
素に対して、順序番号を指定して待ち行列に格納してい
たが、この実施例では、順序番号と優先順位を実行待ち
要素に対して指定して待ち行列に格納する。また、待ち
行列から要素を取り出す時には、優先順位、順序番号の
順で、取り出し条件を確認することを特徴としている。
以下に詳しい説明を行う。
【0042】図13は、要素を受け入れてから格納する
までの処理の手順を示す流れ図、図14は、待ち行列か
ら要素を取り出し実行するまでの処理の手順を示す流れ
図である。尚、本実施例におけるシステム構成は、上記
実施例5のシステム構成と同様とし図8を使用する。
【0043】次に、図13の流れ図に従い、実行待ちの
要素を待ち行列に格納するまでの処理の手順を説明す
る。プロセス9には、要素を待ち行列に格納するための
プロセスが9a,9b,9cとあるが、上記実施例3と
同様にプロセス9aを最も優先順位の低い待ち行列にア
クセスするプロセスとして、以下、プロセス9b、プロ
セス9cの順に優先順位の高い待ち行列にアクセスする
プロセスとする。優先順位はプロセス9aで処理された
場合はaとし、プロセス9bで処理された場合はbと
し、プロセス9cで処理された場合はcとする。待ち行
列制御プログラム7は、プロセス9bより出された実行
待ち要素の格納要求を受け入れる(S1)。次に、待ち
行列制御プログラム7は、プロセス9bより順序番号
「13」を受け入れ、S1で受け入れた実行待ち要素に
対して順序番号と優先順位を指定する(S3d)。待ち
行列制御プログラム7は、空き待ち行列4に空き要素が
存在するか確認する(S5)。S5で空き要素が存在す
ることが確認された時、空き待ち行列制御プログラム6
を用いて、空き待ち行列4より空き要素を取り出す(S
7)。待ち行列制御プログラム7は、待ち行列T0 に実
行待ち要素を格納する(S11)。この時、待ち行列の
要素16は、図5の待ち行列の要素16がもつ「実行順
序番号」に、S3dで指定された処理の順序番号「1
3」を格納し、「優先順位番号」に、上記S3dで指定
した優先順位bを格納する。再び、待ち行列制御プログ
ラム7において、プロセス9bより実行待ちの要素と順
序番号「12」を受け入れ、S1〜S11までの処理を
繰り返し行なう。
【0044】次に、上記図13の流れ図に従い格納され
た要素を待ち行列より取り出し、実行するまでの処理手
順について、図14の流れ図に従い説明する。待ち行列
制御テーブル15は上記実施例5と同様に、図2にある
「処理済シーケンス番号」に、待ち行列T0 から最後に
取り出された要素がもつ順序番号を格納している。プロ
セス9dは要素取出制御プログラム8を用いて、待ち行
列T0 より要素を取り出すが、この時、この実施例では
優先順位の指定を行っているので、優先順位制御プログ
ラム12により待ち行列T0 に格納されている要素のう
ち、最も優先順位の高い要素の待ち行列の要素16が持
つ「実行順序番号」を参照して、待ち行列制御テーブル
15がもつ「処理済シーケンス番号」の次の番号をもつ
要素が存在するか確認を行う(S14b)。この実施例
では、待ち行列制御テーブル15がもつ処理済シーケン
ス番号を「11」とする。始めに格納した要素の優先順
位は「b」、順序番号は「13」であり、次に格納した
要素の優先順位は「b」、順序番号は「12」であるの
で、プロセス9dが次に取り出すべき要素は、待ち行列
0 に存在していることになるが、この待ち行列からの
要素の取り出し処理が、順序番号「13」の要素を格納
した処理の後で、順序番号「12」の要素を格納する前
に行われたとすると、プロセス9dが取り出すべき要素
が待ち行列T0 に存在しなくなるので、プロセス9dは
待ち状態になる。プロセス9dが待ち状態になっている
間に、順序番号「12」をもつ要素が待ち行列T0 に格
納されると、プロセス9dは待ち状態から解放され、要
素取出制御プログラム8を用いて待ち行列T0 から順序
番号が「12」である要素を取り出す(S15b)。こ
の時、順序制御プログラム13が、待ち行列制御テーブ
ル15の処理済シーケンス番号に「1」を加算する。S
15bで待ち行列より実行待ちの要素が取り出されたこ
とにより、空き要素が発生するので、空き待ち行列4へ
空き要素を格納する(S17)。プロセス9dはS15
bで取り出された実行待ちの要素を実行状態にする(S
19)。この次に、待ち行列T0 から取り出される要素
は1番目に格納された優先順位がbで順序番号が「1
3」の要素となる。
【0045】実施例9.上記実施例8では、始めに待ち
行列に格納された要素と、後から待ち行列に格納された
要素は、同じ優先順位であったが、始めに格納された要
素は順序番号が「13」であり、次に格納された要素は
順序番号が「12」であり、次に格納された要素の方が
順序番号が小さいため、始めに格納した要素の優先順位
はbよりも低い優先順位aでも待ち行列T0 から取り出
される順序はかわらない。また、次に格納した要素の順
序番号は、始めに格納した要素の順序番号よりも小さい
ため、次に格納した要素の優先順位はbよりも高い優先
順位cでも待ち行列T0 から取り出される順序はかわら
ない。大切なことは、優先順位、及び、順序番号が昇順
になることである。
【0046】以上のように上記実施例8〜9では、実行
待ちの要素を待ち行列に格納する時、優先順位と順序番
号を同時に指定して、待ち行列に格納し、優先順位の昇
順に順序番号に従い待ち行列より要素を取り出すので、
優先順位の指定のみを行っているシステムに比べ、優先
順位が同じ要素が複数あった場合でも、その複数の中で
順番を決められるので、希望する順序で確実に処理が行
われることになる。
【0047】実施例10.上記実施例1〜9では、実行
待ち要素に対して処理開始時刻,優先順位,または,順
序番号をそれぞれ単独で指定するか、3つのうち2つを
指定して待ち行列に格納していたが、この実施例では、
処理開始時刻と優先順位と順序番号の3つを同時に実行
待ち要素に対して指定して、待ち行列に格納する。ま
た、待ち行列から要素を取り出す時には、処理開始時
刻,優先順位,順序番号の順で、取り出し条件を確認す
ることを特徴としている。以下に詳しい説明を行う。
【0048】図15は、本実施例による要素を受け入れ
てから格納するまでの処理の手順を示す流れ図、図16
は、待ち行列から要素を取り出し実行するまでの処理の
手順を示す流れ図である。尚、本実施例におけるシステ
ムの構成は上記実施例1と同様に図1のシステム構成と
する。
【0049】次に、図15の流れ図に従い実行待ちの要
素を待ち行列に格納するまでの処理手順を説明する。プ
ロセス9には、要素を待ち行列に格納するためのプロセ
スが9a,9b,9cとあるが、上記実施例3と同様に
プロセス9aを最も優先順位の低い待ち行列にアクセス
するプロセスとして、以下、プロセス9b、プロセス9
cの順に優先順位の高い待ち行列にアクセスするプロセ
スとする。優先順位はプロセス9aで処理された場合は
aとし、プロセス9bで処理された場合はbとし、プロ
セス9cで処理された場合はcとする。待ち行列制御プ
ログラム7は、プロセス9aより出された実行待ち要素
の格納要求を受け入れる(S1)。次に、待ち行列制御
プログラム7は、プロセス9bより処理開始時刻9:2
0と順序番号「13」とを受け入れ、S1で受け入れた
実行待ち要素に対して処理開始時刻9:20と、順序番
号「13」と、優先順位bとを指定する(S3e)。待
ち行列制御プログラム7は、空き待ち行列4に空き要素
が存在するか確認し(S5)、空き待ち行列4に空き要
素が存在する時、空き待ち行列制御プログラム6を用い
て、空き待ち行列4より空き要素を取り出す(S7)。
この実施例は、上記実施例1と同様に処理開始時刻のカ
レント時刻を9:00、時間間隔(T)を5分としてT
0 (9:00),T1 (9:05),T2 (9:1
0),T3 (9:15)…のようにT0 〜Tm までの複
数の待ち行列をもつシステムとする。S3eで指定され
た処理開始時刻を、時間間隔制御プログラム11に渡
し、時間間隔制御プログラム11が処理開始時刻をもと
に、図2の待ち行列制御テーブル15がもつ「要素が処
理されるべき時刻T1」を参照してT0 〜Tm の待ち行
列の中から格納すべき待ち行列Tn を決定する(S
9)。この実施例では、格納すべき待ち行列はT4にな
る。待ち行列制御プログラム7は、S9で決定された待
ち行列T4 に実行待ち要素を格納する(S11)。この
時、順序制御プログラム13によって待ち行列の要素1
6がもつ「実行順序番号」に、S3eで指定された順序
番号「13」を格納し、「優先順位番号」には、S3e
で指定された優先順位番号bを格納する。さらに、待ち
行列制御プログラム7において、プロセス9bより実行
待ち要素を処理開始時刻9:20、実行順序番号「1
2」として受け付れ、上記S1からS11までの処理を
繰り返す。
【0050】次に、上記図15で格納された要素を待ち
行列より取り出し、実行するまでの処理手順について、
図16の流れ図に従い説明する。待ち行列は、上記実施
例1と同様に、現在処理対象としている待ち行列をT
n-1 として、次の処理開始時刻が到来した時、待ち行列
n-1 に実行待ち要素が取り出されずに残っている場
合、時間監視プログラム14は、待ち行列Tn-1 に納さ
れている実行待ちの要素と、次の処理開始時刻の待ち行
列Tn に格納されている実行待ちの要素を、処理開始時
刻の早い要素の後方に、処理開始時刻の遅い要素を追加
し、待ち行列Tn の要素とする(S13)。この時、処
理開始時刻の早い要素の後に処理開始時刻の遅い要素を
追加するように格納をする。図2の待ち行列制御テーブ
ル15がもつ「処理済シーケンス番号」には待ち行列T
n-1 から最後に取り出された要素がもつ順序番号が格納
されている。プロセス9dは、この待ち行列制御テーブ
ル15がもつ処理済シーケンス番号を参照して、待ち行
列Tn に取り出すべき順序番号をもつ要素が存在する
か、待ち行列Tn の待ち行列の要素16がもつ「実行順
序番号」を確認する(S14c)。この時、待ち行列の
要素16がもつ「優先順位番号」も同時に参照し、優先
順位番号の高い要素から先に、実行順序番号の確認を行
うようにする。この実施例では、待ち行列制御テーブル
15がもつ処理済シーケンス番号を「11」とし、待ち
行列Tn を待ち行列T4 すると、待ち行列に格納されて
いる要素がもつ順序番号は、「13」と「12」である
ため、次に取り出すべき要素は存在しているが、順序番
号が「13」の要素を格納した後で、順序番号が「1
2」の要素を格納する前に、この要素の取り出し処理を
行った場合は、待ち行列T4 には、次に実行すべき要素
が存在しないことになる。このため、プロセス9dは待
ち状態になる。プロセス9dが待ち状態になっている間
に、順序番号「12」の要素が待ち行列T4 に格納され
ると、プロセス9dは待ち状態から解放され、要素取り
出し制御プログラム8を用いて、待ち行列から順序番号
が「12」である要素を取り出すことができる(S15
b)。この時、順序制御プログラム13は待ち行列制御
テーブル15がもつ「処理済シーケンス番号」に「1」
を加算する。S15bで待ち行列より実行待ちの要素が
取り出されたことにより、空き要素が発生するので、空
き待ち行列4へ空き要素を格納する(S17)。プロセ
ス9dは、S15bで取り出された実行待ちの要素を実
行状態にする(S19)。この後、再度待ち行列からの
要素取り出し処理が行われると、プロセス9dは順序番
号が「13」である要素を取り出し実行を行う。
【0051】実施例11.上記実施例10では、始めに
待ち行列に格納した要素と、次に格納した要素の優先順
位は、互いにプロセス9bで格納処理を行っていたた
め、同じ優先順位であったが、始めに格納された要素の
順序番号が「13」であり、次に格納した要素の順序番
号が「12」であるので、始めに格納した要素の優先順
位は、後で格納した優先順位よりも低くても待ち行列か
ら取り出される順序はかわらない。大切なことは、順序
番号と優先順位が昇順になっていることである。また、
上記実施例10では、2つの要素は処理開始時刻が
「9:20」で同じであったが、先に格納した要素の方
が、次に格納した要素よりも順序番号が遅いので、始め
に格納した要素の処理開始時刻を「9:20」よりも遅
い時間、例えば「9:30」であっても待ち行列から取
り出される順序はかわらない。大切なことは、順序番号
と処理開始時刻、及び、優先順位が昇順であることであ
る。
【0052】以上のように、上記実施例10〜11で
は、実行待ち要素に対して、処理開始時刻と優先順位と
順序番号を同時に指定して待ち行列に格納し、処理の開
始時刻と優先順位を基準に、順序番号に従い待ち行列よ
り取り出すので、処理開始時刻と優先順位が同じ実行待
ち要素が存在していても、順序番号があることにより正
しい順序で処理が実行されることになる。
【0053】
【発明の効果】以上のように第1の発明によれば、実行
待ちの要素を待ち行列に格納する場合、処理開始時刻を
指定し、また、待ち行列は処理開始時刻から一定時間間
隔毎に待ち行列を複数もつように構成しているので、待
ち行列に実行待ちの要素を格納する時、及び、待ち行列
から実行する要素を取り出す時に、処理の開始時刻の昇
順に格納したり、取り出して実行するので、優先順位に
よる実行順序の指定よりも確実に処理の順序が正しく行
われる効果がある。
【0054】また、第2の発明によれば、第1の発明の
ような処理開始時刻を指定する他に、さらに、優先順位
を実行待ちの要素を待ち行列に格納する時に指定可能に
したので、待ち行列から実行すべき要素を取り出す時
に、処理開始時刻が同じ要素が存在していても、優先順
位の高い要素より先に取り出され実行されるので、上記
第1の発明よりもさらに実行順序が確実に守られること
に加えて、優先処理が可能になる効果がある。
【0055】また、第3の発明によれば、実行待ち要素
を待ち行列に格納する場合、順序番号を指定し、また、
待ち行列から実行すべき要素を取り出す場合、順序番号
の昇順になるように要素を取り出すので、格納される順
番に関係なく希望する処理の順番通りに要素を取り出
し、実行する効果がある。
【0056】また、第4の発明によれば、上記第3の発
明では、順序番号を指定して実行待ちの要素を格納して
いたが、順序番号の他に、さらに、優先順位を実行待ち
要素に指定して待ち行列に格納するので、待ち行列から
実行すべき要素を取り出す時に、同じ優先順位をもつ要
素が待ち行列に複数存在していても順序番号を指定する
ことにより、格納順序に関係なく優先順位の高い要素か
ら順序番号の昇順に要素を取り出し、実行するので、上
記第3の発明よりもさらに希望する処理の順番通りに要
素を取り出し、実行する効果がある。
【0057】さらに、第5の発明によれば、上記第1の
発明〜第4の発明では処理開始時刻、優先順位、実行順
序番号の3つのうち各1つを実行待ち要素に対して指定
し、待ち行列に格納するか、または、3つのうち2つを
組み合わせて実行待ち要素に指定して、待ち行列に格納
していたが、さらに3つを同時に指定し、待ち行列に格
納することにより、待ち行列から実行待ち要素を取り出
して実行するときに、処理開始時刻が同じで、優先順位
も同じ要素が複数存在していたとしても、順序番号が指
定されていることにより、格納順序に関係なく希望する
処理の順番通りに要素を取り出し実行する効果がある。
【図面の簡単な説明】
【図1】この発明の実施例1のシステム構成を示すシス
テム構成図。
【図2】この発明の待ち行列制御テーブルのデータフォ
ーマットを示す図。
【図3】この発明の実施例1における、要素を待ち行列
に格納するまでの処理手順を示す流れ図。
【図4】この発明の実施例1における、要素を待ち行列
から取り出し実行するまでの処理手順を示す流れ図。
【図5】この発明の待ち行列の要素のデータフォーマッ
トを示す図。
【図6】この発明の実施例3における、要素を待ち行列
に格納するまでの処理手順を示す流れ図。
【図7】この発明の実施例3における、要素を待ち行列
から取り出し実行するまでの処理手順を示す流れ図。
【図8】この発明の実施例5における、システムの構成
を示す構成図。
【図9】この発明の実施例5における、要素を待ち行列
に格納するまでの処理手順を示す流れ図。
【図10】この発明の実施例5における、要素を待ち行
列から取り出し実行するまでの処理手順を示す流れ図。
【図11】この発明の実施例6における、要素を待ち行
列に格納するまでの処理手順を示す流れ図。
【図12】この発明の実施例6における、要素を待ち行
列から取り出し実行するまでの処理手順を示す流れ図。
【図13】この発明の実施例8における、要素を待ち行
列に格納するまでの処理手順を示す流れ図。
【図14】この発明の実施例8における、要素を待ち行
列から取り出し実行するまでの処理手順を示す流れ図。
【図15】この発明の実施例10における、要素を待ち
行列に格納するまでの処理手順を示す流れ図。
【図16】この発明の実施例10における、要素を待ち
行列から取り出し実行するまでの処理手順を示す流れ
図。
【図17】従来例1におけるシステムの構成を示すシス
テム構成図。
【符号の説明】
1 待ち行列制御テーブル 2 待ち行列 3 空き待ち行列制御テーブル 4 空き待ち行列 5 空き待ち行列のカウンタ 6 空き待ち行列制御プログラム 7 待ち行列制御プログラム 8 要素取り出し制御プログラム 9 プロセス 10 優先度制御手段 11 時間間隔制御プログラム 12 優先順位制御プログラム 13 順序制御プログラム 14 時間監視プログラム 15 待ち行列制御テーブル 16 待ち行列

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータシステムの待ち行列におい
    て、以下の要素を有する待ち行列管理方式 (a)待ち行列に並べられる要素と、その要素に対して
    指定された処理開始時刻とを受けつける要素受付手段、
    (b)ある一定の時間間隔毎に時系列的に複数の待ち行
    列を記憶する待ち行列記憶手段、(c)上記要素受付手
    段により受け付けた要素の指定された処理開始時刻に基
    づいて、上記待ち行列記憶手段に記憶された複数の待ち
    行列の中から、格納すべき待ち行列を決定し、決定され
    た待ち行列にその要素を格納する要素格納手段、(d)
    上記待ち行列記憶手段に記憶した待ち行列の処理開始時
    刻が到来した場合、上記要素格納手段によって、その待
    ち行列に格納されている要素を取り出し実行する処理開
    始時刻による要素実行手段。
  2. 【請求項2】 上記要素受付手段は、さらに、各要素に
    対して処理の優先順位を受け付ける優先順位受付手段を
    有し、上記要素実行手段は、処理開始時刻が到来した待
    ち行列の中から要素を取り出して実行する場合、上記優
    先順位指定手段により受け付けた各要素に指定された優
    先順位に従って、待ち行列から要素を取り出す優先順位
    による要素取出手段を有することを特徴とする請求項1
    記載の待ち行列管理方式。
  3. 【請求項3】 コンピュータシステムの待ち行列処理に
    おいて、以下の要素を有する待ち行列管理方式 (a)待ち行列に並べられる要素と、その要素に対して
    指定された処理の実行順序番号とを受け付ける要素受付
    手段、(b)上記要素受付手段により受け付けられた順
    序番号を持つ要素を、待ち行列に格納する要素格納手
    段、(c)上記要素格納手段により待ち行列に格納され
    た要素を、上記順序番号に基づいて取り出し実行する要
    素実行手段。
  4. 【請求項4】 上記要素受付手段は、さらに、各要素に
    対して処理の優先順位を受け付ける優先順位受付手段を
    有し、上記要素実行手段は、待ち行列に格納された要素
    の中から、優先順位に基づいて要素を取り出すにあた
    り、実行可能な要素を複数取り出せる場合に、順序番号
    に基づいて要素を取り出して実行する優先順位と順序番
    号による要素取出手段を有することを特徴とする請求項
    3記載の待ち行列管理方式。
  5. 【請求項5】 上記要素受付手段は、さらに、各要素に
    対して処理の実行順序番号を受け付ける順序番号受付手
    段を有し、上記要素実行手段は、実行可能な要素を複数
    取り出せる場合に、要素に指定された順序番号に基づい
    て待ち行列から要素を取り出す順序番号による要素取出
    手段を有することを特徴とする請求項1、又は、2記載
    の待ち行列管理方式。
JP6995193A 1993-03-29 1993-03-29 待ち行列管理方式 Pending JPH06282447A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6995193A JPH06282447A (ja) 1993-03-29 1993-03-29 待ち行列管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6995193A JPH06282447A (ja) 1993-03-29 1993-03-29 待ち行列管理方式

Publications (1)

Publication Number Publication Date
JPH06282447A true JPH06282447A (ja) 1994-10-07

Family

ID=13417474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6995193A Pending JPH06282447A (ja) 1993-03-29 1993-03-29 待ち行列管理方式

Country Status (1)

Country Link
JP (1) JPH06282447A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001525570A (ja) * 1997-12-03 2001-12-11 ストリームコア 幾人かのユーザの間における資源の分担管理用装置
JP2009026302A (ja) * 2001-06-18 2009-02-05 Microsoft Corp スリープキュー管理
JP2011221962A (ja) * 2010-04-14 2011-11-04 Mitsubishi Electric Corp スケジューリング装置、スケジューリング方法およびスケジューリングプログラム
JP2013114435A (ja) * 2011-11-29 2013-06-10 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP2014505946A (ja) * 2011-01-14 2014-03-06 クゥアルコム・インコーポレイテッド 汎用グラフィクス処理装置における計算リソースパイプライン化
KR20150122117A (ko) * 2013-02-28 2015-10-30 오라클 인터내셔날 코포레이션 미들웨어 머신 환경에서 협동적인 동시실행을 지원하는 시스템 및 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001525570A (ja) * 1997-12-03 2001-12-11 ストリームコア 幾人かのユーザの間における資源の分担管理用装置
JP2009026302A (ja) * 2001-06-18 2009-02-05 Microsoft Corp スリープキュー管理
JP2011221962A (ja) * 2010-04-14 2011-11-04 Mitsubishi Electric Corp スケジューリング装置、スケジューリング方法およびスケジューリングプログラム
JP2014505946A (ja) * 2011-01-14 2014-03-06 クゥアルコム・インコーポレイテッド 汎用グラフィクス処理装置における計算リソースパイプライン化
US9804995B2 (en) 2011-01-14 2017-10-31 Qualcomm Incorporated Computational resource pipelining in general purpose graphics processing unit
JP2013114435A (ja) * 2011-11-29 2013-06-10 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
KR20150122117A (ko) * 2013-02-28 2015-10-30 오라클 인터내셔날 코포레이션 미들웨어 머신 환경에서 협동적인 동시실행을 지원하는 시스템 및 방법
JP2016511904A (ja) * 2013-02-28 2016-04-21 オラクル・インターナショナル・コーポレイション ミドルウェアマシン環境において協働的同時並行性をサポートするためのシステムおよび方法

Similar Documents

Publication Publication Date Title
US5893924A (en) System and method for overflow queue processing
US6006247A (en) Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system
US6633897B1 (en) Method and system for scheduling threads within a multiprocessor data processing system using an affinity scheduler
JPH1055284A (ja) スレッドをスケジュールする方法及びそのシステム
EP2131278A1 (en) Scheduling of multiple tasks in a system including multiple computing elements
CN113254223B (zh) 一种系统重启后的资源分配方法、系统及相关组件
JPH06282447A (ja) 待ち行列管理方式
US5692156A (en) Computer program product for overflow queue processing
CN115981893A (zh) 消息队列任务处理方法、装置、服务器及存储介质
EP0400500A2 (en) A method and apparatus managing tasks
CN113806055A (zh) 一种轻量级任务调度方法、系统、装置及存储介质
JP2740469B2 (ja) タスク管理方式
JPH05216844A (ja) マルチプロセッサデータ処理システムにおける改良されたタスク分散のための方法および装置
GB2030331A (en) Real-time Data Processing System for Processing Time Period Commands
JPH07114518A (ja) マルチプロセッサシステムにおけるタスクスケジューリング方式
JPS6120154A (ja) メモリアクセス制御装置
JP2527066B2 (ja) 受信待ち行列処理装置
CN116226081A (zh) 数据库弹性伸缩方法、装置、电子设备及存储介质
CN111858011A (zh) 一种多数据流任务处理方法、装置、设备及存储介质
JPH01185734A (ja) バッファメモリ管理方式
JP2817911B2 (ja) キー付ファイルのアクセス制御方式
CN115168000A (zh) 一种任务调度方法、系统及计算机可读存储介质
JP2001344119A (ja) トランザクション実行制御方式およびトランザクション実行制御方法
JPH04320537A (ja) 並列処理システムの同期処理方法
JPH05176009A (ja) 回線制御方式