JP2003248592A - マルチタスク型構内交換機におけるタスク実行制御方法及びコンピュータにこの方法を実行させるためのプログラムとこのプログラムによりマルチタスク処理を行う構内交換機 - Google Patents

マルチタスク型構内交換機におけるタスク実行制御方法及びコンピュータにこの方法を実行させるためのプログラムとこのプログラムによりマルチタスク処理を行う構内交換機

Info

Publication number
JP2003248592A
JP2003248592A JP2002048299A JP2002048299A JP2003248592A JP 2003248592 A JP2003248592 A JP 2003248592A JP 2002048299 A JP2002048299 A JP 2002048299A JP 2002048299 A JP2002048299 A JP 2002048299A JP 2003248592 A JP2003248592 A JP 2003248592A
Authority
JP
Japan
Prior art keywords
event
extension
task
processing
main task
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
JP2002048299A
Other languages
English (en)
Inventor
Takayuki Ishikawa
高行 石川
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.)
NEC Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2002048299A priority Critical patent/JP2003248592A/ja
Publication of JP2003248592A publication Critical patent/JP2003248592A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Exchange Systems With Centralized Control (AREA)

Abstract

(57)【要約】 【課題】マルチタスク又はマルチプロセッサシステムの
電子交換機において、競合するイベントの処理が並列に
処理されることを未然に防ぎ、リアルタイム性を損なう
ことなくレーシングによるデッドロックを防止する。 【解決手段】ローカルタスクは、内線からのイベントを
検出し、当該の内線の呼状態とイベント内容に基づき他
のイベントとの競合関係を判定する。競合する危険があ
る場合には、他のイベントと同一のタスクとなるように
メインタスクを指定しキューに登録する。OSは、キュ
ーの入出力管理を周期的に行い、実行可能なイベントか
ら順次メインタスクに処理を命令し、前記競合の危険あ
りのイベントについては指定のメインタスクが空きとな
るまで待つ。これにより、競合関係のイベントが互いに
規制しあうような状況を回避することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ランダムに発生す
る呼のイベントを処理し、接続制御を行う構内交換機
(以下、PBXという。)での交換処理実行手段に関
し、特にリアルタイムで複数のイベントの処理を行うマ
ルチタスクシステムでのタスク実行制御、交換処理実行
手段に関する。
【0002】
【従来の技術】従来のPBXでは、ランダムに発生する
内線の発呼、ダイヤル、呼び出し、応答、復旧というイ
ベントを、同時に複数実行できるようにマルチタスクシ
ステムで行っている。このイベントは、ジョブといわ
れ、ジョブは複数のプロセスに分割される。分割された
プロセスは、タスクによって処理される。
【0003】そしてPBXでは、実行するプロセスの種
別毎にタスクグループを作っており、端末制御を行うロ
ーカルタスクグループと、接続制御を決定するメインタ
スクグループがある。ローカルタスクグループは「内線
の発呼」「ダイヤル操作」等のイベントを監視し、「ト
ーン接続」「スイッチ接続」のような端末制御を行って
いる。またメインタスクグループは、発生したイベント
を分析し「トーン送出の指示」、「接続回線の決定」等
の指示をローカルタスクに対して行っている。これらの
異なったタスク間のデータ転送には、FIFOメモリを
使用した待ち行列(QUEUE)を使用して、データの
受け渡しが行われている。このようなマルチタスクシス
テムでは、複数のジョブが同一の端末に対して同時に制
御が行われる可能性がある(レーシング)。これを防止
するために、イベント発生時や、呼処理プログラム実行
中には、該当端末に対して実行中ビットを「オン」と
し、他のイベントが実行ビットを「オン」としている端
末を制御することを禁止している。
【0004】特開平8−305589号公報に記載され
る画像処理装置でのタスク実行順序の決定方式では、各
機能毎に独立したタスクがジョブ・スペック登録テーブ
ルの内容に基づいて実行順序を決定している。ここで
は、処理機能毎に独立したタスクが、それぞれ処理可能
な機能と、ジョブが競合した時に排他処理を行わなけれ
ばならないタスクをジョブ・スペック登録テーブル(図
12)に登録しておき、ジョブがタスクにより実行され
る際に、他の実行中タスクとジョブが競合するか否かを
ジョブ・スペック登録テーブルによって判断し、競合す
るジョブがない場合、ジョブはタスクにより実行され
る。
【0005】
【発明が解決しようとする課題】しかしながら従来の技
術には以下のような問題点を有する。第1の問題点は、
例えば通話中の内線から同時にフッキングのような動作
を行った場合、互いに動作を規制しあい、どちらの内線
のイベントもサービスが行えなくなってしまう場合があ
る。
【0006】その理由は、マルチタスクシステムにおい
て、複数のイベントが同一端末に競合する処理を実行し
ようとした場合、わずかの時間で遅れたイベントは、該
当内線の実行ビットの状態を確認した時点で、競合を回
避するためにその端末に対する制御の中断もしくは、制
限を行う排他処理ルーチンによって他の接続プログラム
が起動される。複数のイベントが実行ビットを「オン」
とした場合、互いに排他処理を行ってしまうとどちらの
イベントも処理されない。
【0007】第2の問題点は、イベントが競合した時の
排他処理がさらに別の競合を起こす可能性がある場合、
このときの排他処理を考慮したルーチンを設計しなけれ
ばならず、複雑で重い処理ルーチンとなってしまう。
【0008】その理由は、第1の問題点のように互いに
排他処理を行ってしまった場合を想定してプログラムを
設計すると、再度競合した内容、端末の呼状態、イベン
ト内容等を再分析して競合を起こさずにイベント処理を
行うプログラムを追加する必要がある。
【0009】第3の問題点は、上記公報に開示される技
術では、PBXのような多重マルチタスクシステムのタ
スク実行制御には向かない。
【0010】その理由は、処理機能毎にタスクが独立し
ているので、処理機能による排他条件が決まれば、タス
ク間の排他条件が決定するので、タスクが起動する前に
ジョブの競合が判明する。しかしながらPBXのような
多重マルチタスクシステムでは、同じ処理機能を持つタ
スクが複数存在し、このタスク間において他のタスクを
排他しなければならない。しかしながらタスクを起動し
た時点では、排他を行うか否かは判定できずタスク起動
後、処理分析を行う過程において判定されるので、公報
の技術では対応できない。
【0011】そこで、複数のタスクが並列に処理を行う
マルチタスクシステムの場合、同一の端末に影響を及ぼ
すような異なったイベントが同時に処理される場合があ
る(レーシング)。このようなことを回避するために他
の端末に対し影響がある場合、何らかの排他処理を行う
必要があるが、本発明では、競合の可能性を予測するこ
とで、イベント処理の競合を未然に防止しリアルタイム
制御を損なうことなくレーシングによるデッドロックを
防止することを目的とする。
【0012】
【課題を解決するための手段】請求項1記載の発明によ
れば、収容される複数の内線から発生するイベント信号
をマルチタスクで処理する構内交換機におけるタスク実
行制御方法において、ローカルタスクは、前記内線から
発生するイベント信号を検出すると、当該イベント信号
の内容と当該内線の呼状態から当該イベントの処理対象
となる内線に対して発生する他のイベントとの競合を判
定し、競合の可能性があると判定された場合には当該イ
ベントと他のイベントを処理するメインタスクが同一と
なるようにメインタスクを指定し、前記競合の有無及び
指定するメインタスクがある場合にはそのメインタスク
を当該イベント信号に付加してイベント情報を生成した
後、このイベント情報をキューに登録と同時に当該内線
の呼処理プログラム実行中を示すビットをオンにし、オ
ペレーションシステムは、前記キューに登録されたイベ
ント情報を周期的に登録の古い順から読み出しを行い、
イベント情報に付加された競合の有無及びメインタスク
の指定とメインタスクの稼働状況から当該イベントの処
理が実行可能であるか否かを判定し、実行可能であれば
メインタスクを起動し、また読み出したイベント情報が
競合の可能性が有りであって指定されたメインタスクが
起動中の場合には空き状態となるまでイベント処理を待
ち状態とすることで順序を入れ替えて他の実行可能なイ
ベントを処理するメインタスクを起動し、メインタスク
は、制御プログラムの実行後においてイベント処理の対
象となる内線について他のイベントの発生中又は呼処理
プログラム実行中を示す実行ビットの状態を確認するこ
とでイベント処理の継続の可否を判断し、継続処理が可
の場合には当該内線が属するローカルタスクに端末制御
の実行を命令し、否の場合には当該イベント処理を終了
するとともに当該内線の実行ビットをオフすることを特
徴とするタスク実行制御方法を得ることができる。
【0013】請求項2記載の発明によれば、コンピュー
タに請求項1に記載のタスク実行制御方法を実行させる
ためのプログラムを得ることができる。
【0014】請求項3記載の発明によれば、収容される
複数の内線から発生するイベント信号をマルチタスクで
処理する構内交換機において、内線毎に呼状態と当該内
線に対するイベント処理を実行した最新のメインタスク
と当該内線についてのイベントの発生又は呼処理プログ
ラム実行の状態を示すものであって他のイベント処理の
実行を禁止する場合にはオンとし実行を許可する場合に
はオフとする実行ビットとを記憶更新する内線状態メモ
リと、内線の呼状態と発生するイベント信号の内容に基
づき当該イベント処理の対象となる内線に対して発生す
る他のイベント信号との競合関係を段階的に規定する競
合レベルをテーブル化したタスクレベル選択テーブル
と、前記内線から発生するイベント信号を検出する機能
と、イベント信号を検出した際に当該イベント信号を発
生した内線の呼状態を前記内線状態メモリから読み出
し、読み出された内線の呼状態及び当該イベント信号か
ら前記タスクレベル選択テーブルを参照して競合レベル
を判定する機能と、この判定結果に基づき当該イベント
を処理するメインタスクを指定する機能と、前記競合レ
ベルと必要に応じて指定されるメインタスクを当該イベ
ント信号に付加してイベント情報を生成する機能と、メ
インタスクからの起動命令により内線の端末制御を行う
機能とを含む複数のローカルタスクと、前記ローカルタ
スクから出力されるイベント情報を受信順に待ち行列に
登録するキューと、前記キューに登録されたイベント情
報を周期的に登録の古い順から読み出しを行い、イベン
ト情報に付加された競合レベルの有無及びメインタスク
の指定とメインタスクの稼働状況から当該イベントの処
理が実行可能であるか否かを判定し、実行可能であれば
メインタスクを起動し、また読み出したイベント情報が
競合の可能性が有りであって指定されたメインタスクが
起動中の場合には空き状態となるまでイベント処理を待
ち状態とすることで順序を入れ替えて他の実行可能なイ
ベントを処理するメインタスクを起動する機能を含むオ
ペレーションシステムと、前記オペレーションシステム
からの命令に基づき起動を開始し、当該イベント処理の
対象となる内線の実行ビットの状態を前記内線状態メモ
リから読み出し、実行ビットがオフの場合には当該内線
が属するローカルタスクに端末制御の実行を命令し、オ
ンの場合には当該イベント処理を終了するとともに当該
内線の実行ビットをオフとする機能を含む複数のメイン
タスクとを備えることを特徴とする構内交換機を得るこ
とができる。
【0015】請求項4記載の発明によれば、収容される
複数の内線から発生するイベント信号をマルチプロセッ
サにより処理する構内交換機において、内線毎に呼状態
と当該内線に対するイベント処理を実行した最新のメイ
ンタスクと当該内線についてのイベントの発生又は呼処
理プログラム実行の状態を示すものであって他のイベン
ト処理の実行を禁止する場合にはオンとし実行を許可す
る場合にはオフとする実行ビットを記憶更新する内線状
態メモリと、内線の呼状態と発生するイベント信号の内
容に基づき当該イベント処理の対象となる内線に対して
発生する他のイベント信号との競合関係を段階的に規定
する競合レベルをテーブル化したタスクレベル選択テー
ブルと、前記内線から発生するイベント信号を検出する
機能と、イベント信号を検出した際に当該イベント信号
を発生した内線の呼状態を前記内線状態メモリから読み
出し、読み出された内線の呼状態及び当該イベント信号
から前記タスクレベル選択テーブルを参照して競合レベ
ルを判定する機能と、この判定結果に基づき当該イベン
トを処理するメインプロセッサを指定する機能と、前記
競合レベルと必要に応じて指定されるメインプロセッサ
を当該イベント信号に付加してイベント情報を生成する
機能と、メインプロセッサからの起動命令により内線の
端末制御を行う機能とを含む複数のローカルプロセッサ
と、前記ローカルタスクから出力されるイベント情報を
受信順に待ち行列に登録するキューと、前記キューに登
録されたイベント情報を周期的に登録の古い順から読み
出しを行い、イベント情報に付加された競合レベルの有
無及びメインタスクの指定とメインタスクの稼働状況か
ら当該イベントの処理が実行可能であるか否かを判定
し、実行可能であればメインタスクを起動し、また読み
出したイベント情報が競合の可能性が有りであって指定
されたメインタスクが起動中の場合には空き状態となる
までイベント処理を待ち状態とすることで順序を入れ替
えて他の実行可能なイベントを処理するメインタスクを
起動する機能を含むキュー入出力管理手段と、前記キュ
ー入出力管理手段からの命令に基づき起動を開始し、当
該イベント処理の対象となる内線の実行ビットの状態を
前記内線状態メモリから読み出し、実行ビットがオフの
場合には当該内線が属するローカルプロセッサに端末制
御の実行を命令し、オンの場合には当該イベント処理を
終了するとともに当該内線の実行ビットをオフとする機
能を含む複数のメインプロセッサとを備えることを特徴
とする構内交換機を得ることができる。
【0016】
【発明の実施の形態】以下に図面を参照して、この発明
の好適な実施の形態を例示的に説明する。ただし、この
実施の形態に記載されている構成部品の寸法、材質、そ
の相対配置などは、特に特定的な記載がない限りは、こ
の発明の範囲をそれらのみに限定する趣旨のものではな
い。
【0017】図1は、本発明が適用される構内交換機に
おけるシステム構成図である。内線2−1〜2−nを収
容する構内交換機(以下、PBXという。)1は、前記
内線から発生するイベントを監視し、当該内線の呼状態
とイベント内容に基づき他のイベントの競合レベルを判
定する機能と、判定された競合レベルとイベントを処理
するメインタスクを付加したイベント情報を生成する機
能と、後述するメインタスクからの起動命令により内線
の端末制御を行う機能とを含むローカルタスク11−1
〜11−nと、FIFO(First In First Out)メモリ
等にて構成されローカルタスク11−1〜11−nから
出力されるイベント情報を受信順に待ち行列に登録する
QUEUE(以下、キューという。)12と、キュー1
2に対するイベント情報の入出力を管理し登録されたイ
ベント情報の競合レベルとタスクの稼働状況に応じてメ
インタスクを起動するオペレーションシステム(以下、
OSという。)14と、キュー12から読み出したイベ
ント情報を分析し、処理対象の内線を制御するローカル
タスクに対して端末制御を命令するメインタスク13−
1〜13−nと、前記内線毎に呼状態等を管理する内線
状態メモリ15と、イベントの競合関係をレベル指定す
るタスクレベル選択テーブル16とから構成される。ま
たローカルタスクは、予め定められた複数の内線に対す
る端末制御を実行するものとし1対nの関係にある。本
実施の形態では、ローカルタスク11−1が内線2−1
〜2−3から発生するイベントの検出及び端末制御等を
行うものとし、その他の内線については他のローカルタ
スクが管轄するものとする。また、ローカルタスク、メ
インタスク、及びOS14はプログラムであってPBX
1の全体を制御する中央処理装置(図示せず)にて起動
される。
【0018】次に内線状態メモリ15の構成について図
2を用いて説明する。当該メモリは、PBX1に収容さ
れる内線毎に、当該内線についてのイベントの発生又は
呼処理プログラム実行の状態を示すものであって他のイ
ベント処理の実行を禁止する場合にはオンとし実行を許
可する場合にはオフとする実行ビットと、当該内線に対
する端末制御を命令した最新のメインタスクと、当該内
線の呼状態を記憶保持し、内線の状態変化に応じて更新
される。このとき、メインタスクグループ内の各タスク
には、グループにおける通し番号としてナンバリングす
ることで、ユニークなタスク番号として用いてもよい。
以下の説明では、メインタスクを構成する各タスクに、
このようなユニークなタスク番号を付与した場合につい
て説明する。
【0019】続いてタスクレベル選択テーブル16の構
成について図3を用いて説明する。本テーブルは、縦軸
を内線の呼状態とし横軸をローカルタスクにて検出され
たイベントとし、イベント検出時の内線状態に応じてレ
ベル1〜3の3段階の競合関係を指定し、それ以外は競
合を生じないものとする。レベル1は、イベント処理を
行うタスクを指定し、後述するキュー12登録後のOS
14による分析の結果、指定タスクを起動できない場合
にはイベントを処理しないでタスクが空き状態になるま
で処理を待つことを規定する。レベル2は、イベントの
処理を行うタスクを指定するが、OS14による分析の
結果、指定タスクを起動することができない場合には他
のタスクで実行することを規定する。また、レベル3
は、タスクは指定せずに空いているタスクで実行するこ
とを規定するものである。
【0020】次にイベントを検出しキュー12にイベン
トを登録するまでのローカルタスクの処理フローについ
て、図4を用いて説明する。
【0021】内線2−1〜2−nからイベントが発生す
ると、当該内線に対応するローカルタスクにて当該イベ
ントを検出する(ステップS1)。イベントを検出した
ローカルタスクは、内線状態メモリ15から当該イベン
トを生成した内線の状態情報を読み出し、呼状態とイベ
ントの種別によりタスクレベル選択テーブル16を参照
して競合の可能性を判定する(ステップS2)。その結
果、レベル1〜3に該当するならばレベルを指定し、競
合の可能性がなければタスク指定も行わずにイベント情
報を生成しキュー12に登録する。レベルを指定するイ
ベントについては、レベルの内容に応じてタスクが指定
される(ステップS4)。すなわち、レベル1及び2に
該当するイベントに対しては、内線状態メモリ15から
読み出した最新のメインタスクを指定して(ステップS
5)、イベント情報を生成して(ステップS6)、キュ
ー12に登録する(ステップS7)。レベル3に該当す
るイベントに対しては、タスクを指定せずにイベント情
報の生成後にキュー12に登録する。図5にローカルタ
スクにて生成されるイベント情報とキュー12の登録状
態の一例を示す。
【0022】続いて図6を用いてキュー12にイベント
が登録された場合のOS14の処理について説明する。
OS14は、周期的にキュー12の登録状態を検出し
(ステップP1)、イベント情報が登録されていた場合
にはイベント情報に示されるレベルをチェックする(ス
テップP3)。その結果、レベル1又は2を指定するイ
ベント情報であれば、指定されるタスクの状態(メイン
タスクの稼働状況)をチェックし(ステップP4)、空
き状態(IDLE)であれば指定タスクを起動しキュー
12から当該イベントを削除する。一方、指定タスクが
処理中(BUSY)の場合、再度レベルチェックを行い
(ステップP5)、レベル1であれば指定タスクが空き
状態になるまで指定タスクの起動を待ち、レベル2であ
れば指定タスク以外で空き状態にあるタスクを選択して
メインタスクを起動する。またステップP3の処理でレ
ベル3を指定するイベントに対しては、空きタスクを選
択しタスクを起動する(ステップP6)。
【0023】以上説明した指定レベル及びタスク状態に
応じたタスク処理の実行の一例を図7に示す。イベント
情報(A)は、指定されるタスク4が空き状態にあるの
で処理が当該タスクにて処理が実行される。また、イベ
ント情報(B)は、指定されるタスク3が処理中であっ
てレベル1であるので当該タスクが空きとなるまで待つ
こととなる。またイベント情報(C)ではレベル3が指
定されているので、空き状態のタスク1,4,6,7,
8のいずれかにおいてイベント処理が実行される。続い
て、イベント処理の入れ替えについて図8を用いて説明
する。イベントはイベント1から4の順番で発生し、そ
れぞれレベル及びタスクが指定されている。イベント1
とイベント2は順にキュー12に登録され、先に登録さ
れたイベント1が指定するタスク2は空き状態にあるの
でイベント処理に移りキュー12から削除される。これ
に続いてイベント3とイベント4が順に登録される。次
にイベント2の分析に移るが指定タスク2はイベント1
の処理を実行しているので、イベント3の分析に移り指
定されるタスク1が空き状態であるのでイベント2と順
番を入れ替えてタスク処理を実行することとなる。
【0024】続いてメインタスクの処理について図9を
用いて説明する。キュー12に登録されたイベント情報
から、空き状態のタスク(メインタスク)が起動される
(ステップQ1)。そして、イベント情報に示されるイ
ベント処理の対象となる内線を抽出し(ステップQ
2)、当該内線が属するローカルタスクに対して当該内
線のイベント処理状態又は呼処理プログラムの実行状態
について問い合わせを行う(ステップQ3)。問い合わ
せ先のローカルタスクは、内線状態メモリ15から内線
状態を読み出し実行ビットの有無を返信する。タスク
(メインタスク)では、実行ビットがオフであればイベ
ントに対応した呼処理プログラムを起動して、内線に対
する端末制御を決定し、該当ローカルタスクに処理結果
を命令する。命令が通知されたローカルタスクでは当該
内線の端末制御を実行する。これに対して、実行ビット
がオンであれば、当該内線に対する他の処理が実行され
ていると判断しイベント処理を無効化する呼処理プログ
ラムを起動しイベント処理を終了する。
【0025】次に、本実施形態に係る実施例について説
明する。以下、内線2−1と内線2−2とが通話中の場
合に、内線2−1と内線2−2が同時にフッキングした
時の処理について説明する。なお、内線2−1と内線2
−2は、同一のローカルタスクから端末制御が実行され
るものとする。
【0026】内線2−1がダイヤルし内線2−2を呼び
出し、内線2−2がそれに応答した時、内線2−2の応
答処理は、メインタスクグループのタスク2によって実
行されたことと、内線2−1/2−2に対応付けられた
内線状態メモリ15の中に保持している。そして通話が
確立すると、前記内線状態メモリ15に設定した両内線
の実行ビットを「オフ」とする。次に、互いに通話状態
にある内線2−1及び内線2−2がほぼ同時にフッキン
グした場合であって、内線2−1からのフッキング信号
に基づくイベント1の検出に続いて内線2−2からのフ
ッキング信号に基づくイベント2をローカルタスクが検
出した場合を考える。
【0027】内線2−1がフッキング信号を送出する
と、ローカルタスクはこのイベント1を検出し、内線状
態メモリ15の内線2−1に対応する実行ビットを「オ
ン」にセットするとともに、当該メモリの内線2−1に
対応する呼状態と最新メインタスクを読み出す。ローカ
ルタスクは、内線状態メモリ15から読み出した呼状態
及びイベント内容(フッキング信号)に基づきタスク選
択テーブル16を用いてイベント1のタスクレベルをレ
ベル1に指定し、読み出した最新のメインタスクのタス
ク2を指定して生成されたイベント情報1をキュー12
に登録する。
【0028】同様に、内線2−2がフッキング信号を発
生すると、ローカルタスクは、イベント2を検出し、内
線状態メモリ15の内線2−2に対応する実行ビットを
「オン」にセットするとともに、読み出した呼状態と最
新メインタスクに基づきタスクレベル選択テーブルを用
いてイベント2のタスクレベルをレベル1に指定し、読
み出した最新のメインタスクのタスク2を指定して生成
されたイベント情報2をキュー12に登録する。
【0029】PBX1のOS14は周期的にキュー12
の入出力の監視し、イベントの検出を行う。OS14
は、キュー12に登録された内線2−1のイベント情報
と内線2−2のイベント情報を順に検出し、登録された
イベント順に指定されたタスクで実行できるか判断す
る。まず、内線2−1のイベント情報を読み出し、レベ
ル指定の有無及びレベル内容をチェックし、次に指定さ
れたタスク2の使用状態を検出する。空き状態が確認さ
れるとメインタスクグループのタスク2を起動する。
【0030】内線2−1のイベント情報1を受け取った
メインタスクグループのタスク2は、イベント情報1を
分析し、イベント処理の対象とされる内線2−2のイベ
ント処理状態及び呼処理プログラムの実行状態について
内線2−2が属するローカルタスクに問い合わせる。当
該ローカルタスクは、内線状態メモリ15の内線2−2
に対応する実行ビットを確認し「オン」にセットされて
いることを前記タスク2に返信する。タスク2は、実行
ビットのオンにより他のイベント処理との競合を避ける
ために当該イベントを無効にする呼処理プログラムを実
行するとともに、内線2−1のローカルタスクに対しイ
ベントの無効を通知する。タスク2からイベント無効を
通知されたローカルタスクは内線状態メモリ15の内線
2−1に対応する実行ビットを「オフ」とする。
【0031】この間、内線2−2は、タスク2をレベル
1で指定しているため、OS14は内線2−1のイベン
ト処理が終了を待ってタスク2を起動する。内線2−2
からのイベントを処理するタスク2は、イベント情報2
を分析し、フッキング処理の対象となる内線2−1が属
するローカルタスクに内線2−1の実行状態を問い合わ
せる。該当ローカルタスクは、内線状態メモリ15の内
線2−1に対応する実行ビットを確認し、実行ビットは
前述のフッキング処理の無効化により「オフ」にリセッ
トされているので、タスク2の処理が実行可能であるこ
とを返信する。この返信を受信したタスク2は、イベン
トに対応した呼処理プログラムを起動して、内線2−1
と内線2−2に対する端末制御を決定し、該当ローカル
タスクに処理を命令する。命令が通知されたローカルタ
スクでは、タスク2から指示されたイベント処理の終了
後、内線状態メモリ15の内線2−2に対応する実行ビ
ットを「オフ」にするとともに、当該メモリの内線2−
2に対応する最新メインタスクをタスク2に更新する。
また内線2−2のイベント発生の後にキュー12に登録
されたイベントは、レベル指定が1又は2でタスク2以
外のタスクであれば、内線2−2のイベントよりも先に
キュー12から取り出されて指定のタスクが起動され
る。
【0032】次に本発明の第2の実施の形態について図
面を参照して説明する。図11は、本実施形態を示すシ
ステム構成図である。同図では、内線2−1〜2−n
が、マルチプロセッサ方式のPBX1に接続される形態
を示しており、ローカルプロセッサ17−1及び17−
2、メインプロセッサ18−1及び18−2、キュー入
出力管理手段14のそれぞれは第1の実施形態における
ローカルタスク、メインタスク、OSに相当し、プロセ
ッサバス19を介してイベント情報のデータ転送が行わ
れる。
【0033】ローカルプロセッサ17−1は内線2−1
〜2−10からのイベントの検出等を行い、第1の実施
形態と同様に所定の情報を付加したイベント情報を生成
しキュー12に登録する。同様にローカルプロセッサ1
7−2は、内線2−11〜2−nから発生するイベント
の検出等を行う。
【0034】キュー入出力管理手段14は、周期的にキ
ュー12のイベント登録の状態を検出し、イベントの内
容に応じてキュー12に登録されたイベントを処理すべ
きメインプロセッサを起動する、起動したメインプロセ
ッサはローカルプロセッサに内線の端末状態を確認した
後に、イベントに対応した呼処理プログラムを実行し内
線の制御を決定し、該当ローカルタスクに処理結果を命
令する。命令が通知されたローカルプロセッサでは当該
内線の端末制御を実行する。
【0035】
【発明の効果】以上説明したように、本発明によれば、
競合するイベントの処理が並列に動作することを未然に
防止し信頼性を向上させることができる。その理由は、
競合する処理の発生が予測される場合、予め決めたタス
クを指定することによって、競合する処理が並列に処理
され互いに排他処理を行うことを防止しているからであ
る。
【0036】また、第2の効果として、第1の効果を実
行するのにリアルタイム性を損なわないことである。そ
の理由は、実行可能なイベントから先に制御を行うこと
により、リアルタイム性を損なわずイベント処理を行う
からである。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る構内交換機のタ
スク構成図である。
【図2】図1の内線状態メモリの内容を示す図である。
【図3】図1のタスクレベル選択テーブル16の内容を
示す図である。
【図4】イベント検出時のローカルタスクの制御フロー
を示す図である。
【図5】ローカルタスクで生成されるイベント情報とキ
ューの登録状態を表す図である。
【図6】OS14におけるキュー入出力管理の制御フロ
ーを示す図である。
【図7】イベント情報に基づくメインタスクの起動状態
の一例を示す図である。
【図8】イベント処理の順序変更の一例を示す図であ
る。
【図9】メインタスクの制御フローを示す図である。
【図10】第1の実施形態に係る実施例のシーケンスチ
ャート図である。
【図11】本発明の第2の実施形態に係るマルチプロセ
ッサ方式の構内交換機のシステム構成図である。
【図12】従来技術に用いられるジョブ・スペック登録
テーブルの内容を示す図である。
【符号の説明】
1 構内交換機 11−1〜11−n ローカルタスク 12 キュー 13−1〜13−n メインタスク 14 OS、キュー入出力管理手段 15 内線状態メモリ 16 タスクレベル選択テーブル 2−1〜2−n 内線 17−1、17−2 ローカルプロセッサ 18−1、18−2 メインプロセッサ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 収容される複数の内線から発生するイベ
    ント信号をマルチタスクで処理する構内交換機における
    タスク実行制御方法において、 ローカルタスクは、前記内線から発生するイベント信号
    を検出すると、当該イベント信号の内容と当該内線の呼
    状態から当該イベントの処理対象となる内線に対して発
    生する他のイベントとの競合を判定し、競合の可能性が
    あると判定された場合には当該イベントと他のイベント
    を処理するメインタスクが同一となるようにメインタス
    クを指定し、前記競合の有無及び指定するメインタスク
    がある場合にはそのメインタスクを当該イベント信号に
    付加してイベント情報を生成した後、このイベント情報
    をキューに登録と同時に当該内線の呼処理プログラム実
    行中を示す実行ビットをオンにし、 オペレーションシステムは、前記キューに登録されたイ
    ベント情報を周期的に登録の古い順から読み出しを行
    い、イベント情報に付加された競合の有無及びメインタ
    スクの指定とメインタスクの稼働状況から当該イベント
    の処理が実行可能であるか否かを判定し、実行可能であ
    ればメインタスクを起動し、また読み出したイベント情
    報が競合の可能性が有りであって指定されたメインタス
    クが起動中の場合には空き状態となるまでイベント処理
    を待ち状態とすることで順序を入れ替えて他の実行可能
    なイベントを処理するメインタスクを起動し、 メインタスクは、制御プログラムの実行後においてイベ
    ント処理の対象となる内線について、の他のイベントの
    発生中又は呼処理プログラム実行中を示す実行ビットを
    確認することでイベント処理の継続の可否を判断し、継
    続処理が可の場合には当該内線が属するローカルタスク
    に端末制御の実行を命令し、否の場合には当該イベント
    処理を終了するとともに当該内線の実行ビットをオフと
    することを特徴とするタスク実行制御方法。
  2. 【請求項2】 コンピュータに請求項1に記載のタスク
    実行制御方法を実行させるためのプログラム。
  3. 【請求項3】 収容される複数の内線から発生するイベ
    ント信号をマルチタスクで処理する構内交換機におい
    て、 内線毎に呼状態と当該内線に対するイベント処理を実行
    した最新のメインタスクと当該内線についてのイベント
    の発生又は呼処理プログラム実行の状態を示すものであ
    って他のイベント処理の実行を禁止する場合にはオンと
    し実行を許可する場合にはオフとする実行ビットとを記
    憶更新する内線状態メモリと、 内線の呼状態と発生するイベント信号の内容に基づき当
    該イベント処理の対象となる内線に対して発生する他の
    イベント信号との競合関係を段階的に規定する競合レベ
    ルをテーブル化したタスクレベル選択テーブルと、 前記内線から発生するイベント信号を検出する機能と、
    イベント信号を検出した際に当該イベント信号を発生し
    た内線の呼状態を前記内線状態メモリから読み出し、読
    み出された内線の呼状態及び当該イベント信号から前記
    タスクレベル選択テーブルを参照して競合レベルを判定
    する機能と、この判定結果に基づき当該イベントを処理
    するメインタスクを指定する機能と、前記競合レベルと
    必要に応じて指定されるメインタスクを当該イベント信
    号に付加してイベント情報を生成する機能と、メインタ
    スクからの起動命令により内線の端末制御を行う機能と
    を含む複数のローカルタスクと、 前記ローカルタスクから出力されるイベント情報を受信
    順に待ち行列に登録するキューと、 前記キューに登録されたイベント情報を周期的に登録の
    古い順から読み出しを行い、イベント情報に付加された
    競合レベルの有無及びメインタスクの指定とメインタス
    クの稼働状況から当該イベントの処理が実行可能である
    か否かを判定し、実行可能であればメインタスクを起動
    し、また読み出したイベント情報が競合の可能性が有り
    であって指定されたメインタスクが起動中の場合には空
    き状態となるまでイベント処理を待ち状態とすることで
    順序を入れ替えて他の実行可能なイベントを処理するメ
    インタスクを起動する機能を含むオペレーションシステ
    ムと、前記オペレーションシステムからの命令に基づき
    起動を開始し、当該イベント処理の対象となる内線の実
    行ビットの状態を前記内線状態メモリから読み出し、実
    行ビットがオフの場合には当該内線が属するローカルタ
    スクに端末制御の実行を命令し、オンの場合には当該イ
    ベント処理を終了するとともに当該内線の実行ビットを
    オフとする機能を含む複数のメインタスクとを備えるこ
    とを特徴とする構内交換機。
  4. 【請求項4】 収容される複数の内線から発生するイベ
    ント信号をマルチプロセッサにより処理する構内交換機
    において、 内線毎に呼状態と当該内線に対するイベント処理を実行
    した最新のメインタスクと当該内線についてのイベント
    の発生又は呼処理プログラム実行の状態を示すものであ
    って他のイベント処理の実行を禁止する場合にはオンと
    し実行を許可する場合にはオフとする実行ビットを記憶
    更新する内線状態メモリと、 内線の呼状態と発生するイベント信号の内容に基づき当
    該イベント処理の対象となる内線に対して発生する他の
    イベント信号との競合関係を段階的に規定する競合レベ
    ルをテーブル化したタスクレベル選択テーブルと、 前記内線から発生するイベント信号を検出する機能と、
    イベント信号を検出した際に当該イベント信号を発生し
    た内線の呼状態を前記内線状態メモリから読み出し、読
    み出された内線の呼状態及び当該イベント信号から前記
    タスクレベル選択テーブルを参照して競合レベルを判定
    する機能と、この判定結果に基づき当該イベントを処理
    するメインプロセッサを指定する機能と、前記競合レベ
    ルと必要に応じて指定されるメインプロセッサを当該イ
    ベント信号に付加してイベント情報を生成する機能と、
    メインプロセッサからの起動命令により内線の端末制御
    を行う機能とを含む複数のローカルプロセッサと、 前記ローカルタスクから出力されるイベント情報を受信
    順に待ち行列に登録するキューと、 前記キューに登録されたイベント情報を周期的に登録の
    古い順から読み出しを行い、イベント情報に付加された
    競合レベルの有無及びメインタスクの指定とメインタス
    クの稼働状況から当該イベントの処理が実行可能である
    か否かを判定し、実行可能であればメインタスクを起動
    し、また読み出したイベント情報が競合の可能性が有り
    であって指定されたメインタスクが起動中の場合には空
    き状態となるまでイベント処理を待ち状態とすることで
    順序を入れ替えて他の実行可能なイベントを処理するメ
    インタスクを起動する機能を含むキュー入出力管理手段
    と、 前記キュー入出力管理手段からの命令に基づき起動を開
    始し、当該イベント処理の対象となる内線の実行ビット
    の状態を前記内線状態メモリから読み出し、実行ビット
    がオフの場合には当該内線が属するローカルプロセッサ
    に端末制御の実行を命令し、オンの場合には当該イベン
    ト処理を終了するとともに当該内線の実行ビットをオフ
    とする機能を含む複数のメインプロセッサとを備えるこ
    とを特徴とする構内交換機。
JP2002048299A 2002-02-25 2002-02-25 マルチタスク型構内交換機におけるタスク実行制御方法及びコンピュータにこの方法を実行させるためのプログラムとこのプログラムによりマルチタスク処理を行う構内交換機 Pending JP2003248592A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002048299A JP2003248592A (ja) 2002-02-25 2002-02-25 マルチタスク型構内交換機におけるタスク実行制御方法及びコンピュータにこの方法を実行させるためのプログラムとこのプログラムによりマルチタスク処理を行う構内交換機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002048299A JP2003248592A (ja) 2002-02-25 2002-02-25 マルチタスク型構内交換機におけるタスク実行制御方法及びコンピュータにこの方法を実行させるためのプログラムとこのプログラムによりマルチタスク処理を行う構内交換機

Publications (1)

Publication Number Publication Date
JP2003248592A true JP2003248592A (ja) 2003-09-05

Family

ID=28661135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002048299A Pending JP2003248592A (ja) 2002-02-25 2002-02-25 マルチタスク型構内交換機におけるタスク実行制御方法及びコンピュータにこの方法を実行させるためのプログラムとこのプログラムによりマルチタスク処理を行う構内交換機

Country Status (1)

Country Link
JP (1) JP2003248592A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012244316A (ja) * 2011-05-18 2012-12-10 Kyocera Document Solutions Inc 画像形成装置および制御プログラム
CN112527671A (zh) * 2020-12-18 2021-03-19 上海航天计算机技术研究所 一种基于事件流分析的多任务时序冲突检测方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012244316A (ja) * 2011-05-18 2012-12-10 Kyocera Document Solutions Inc 画像形成装置および制御プログラム
CN112527671A (zh) * 2020-12-18 2021-03-19 上海航天计算机技术研究所 一种基于事件流分析的多任务时序冲突检测方法
CN112527671B (zh) * 2020-12-18 2023-04-21 上海航天计算机技术研究所 一种基于事件流分析的多任务时序冲突检测方法

Similar Documents

Publication Publication Date Title
CN108920267B (zh) 任务处理装置
US6675191B1 (en) Method of starting execution of threads simultaneously at a plurality of processors and device therefor
JP3976065B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムの割込み制御方法をコンピュータに実行させるためのプログラム
US20090282407A1 (en) Task switching apparatus, method and program
US6820155B1 (en) Interruption managing device and interruption managing method
US7853743B2 (en) Processor and interrupt controlling method
WO2008062647A1 (en) Multiprocessor system, system configuration method in multiprocessor system, and program thereof
WO2010067492A1 (ja) マルチプロセッサシステム及びその排他制御の調停方法
US8413163B2 (en) Program control device including per-timeslot switching of thread execution
US20060112394A1 (en) Computer system
JP2005190207A (ja) 割り込み制御装置、制御方法
JP4206653B2 (ja) タスクスケジューリングシステムおよび方法、プログラム
JP2004326486A (ja) タスク管理装置
JP2001282558A (ja) マルチオペレーティング計算機システム
JP2003248592A (ja) マルチタスク型構内交換機におけるタスク実行制御方法及びコンピュータにこの方法を実行させるためのプログラムとこのプログラムによりマルチタスク処理を行う構内交換機
US7484214B2 (en) Real time control system
EP1785849A2 (en) Inter-cpu data transfer device
US7748003B2 (en) Hard real-time response
JP4441592B2 (ja) 並列処理装置及び排他制御方法
JP5003673B2 (ja) マルチプロセッシング方法及びマルチプロセッサシステム
JP2006293559A (ja) タスクの優先度逆転現象の回避処理装置および回避処理方法
JPH10340197A (ja) キャッシング制御方法及びマイクロコンピュータ
JP4190629B2 (ja) マルチプロセッサシステム
JP2000259436A (ja) 分散オブジェクト環境における排他制御方式
JP3096760B2 (ja) 共通データ参照設定装置及び参照設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20050117

Free format text: JAPANESE INTERMEDIATE CODE: A621

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050329

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070320

A02 Decision of refusal

Effective date: 20070710

Free format text: JAPANESE INTERMEDIATE CODE: A02