JP5849772B2 - Information processing apparatus and information processing method - Google Patents
Information processing apparatus and information processing method Download PDFInfo
- Publication number
- JP5849772B2 JP5849772B2 JP2012043733A JP2012043733A JP5849772B2 JP 5849772 B2 JP5849772 B2 JP 5849772B2 JP 2012043733 A JP2012043733 A JP 2012043733A JP 2012043733 A JP2012043733 A JP 2012043733A JP 5849772 B2 JP5849772 B2 JP 5849772B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- console
- queue
- entry
- output
- 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.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Description
本発明に係るいくつかの態様は、情報処理装置、及び情報処理方法に関する。 Some embodiments according to the present invention relate to an information processing apparatus and an information processing method.
メインフレームのような複数のコンソール装置を持つコンピュータシステムでは、通常、出力を選択した全コンソール装置へのメッセージ出力が完了するまで、当該メッセージを保持し続ける。よって、例えばI/O(Input/Output)性能の異なるコンソール装置が複数あると、最もI/O性能の低いコンソール装置へのメッセージ出力がボトルネックとなって、メッセージ管理の資源が枯渇してしまうことがあった。 In a computer system having a plurality of console devices such as a mainframe, the message is normally held until message output to all console devices selected for output is completed. Thus, for example, if there are multiple console devices with different I / O (Input / Output) performance, message output to the console device with the lowest I / O performance becomes a bottleneck, and message management resources are exhausted. There was a thing.
特許文献1には、各コンソール装置のうちの一つでオーバロードとなっている出力メッセージの数がコンソール装置全体でオーバロードとなっている出力メッセージの数を超えたときに、該コンソール装置を停止することによって、低速のコンソール装置に出力負荷が集中することによるコンピュータシステム全体への影響を防止することが開示されている。
In
しかしながら、コンソール装置を停止してしまうと、コンピュータシステム全体が操作不能となる可能性がある。停止しても影響の小さいコンソール装置のみを停止対象とすることも考えられるが、そのように実装すると、負荷軽減の効果が限定的となってしまう。 However, if the console device is stopped, the entire computer system may become inoperable. Although it is conceivable that only a console device having a small influence even if it is stopped is set as a stop target, such an implementation limits the effect of reducing the load.
本発明のいくつかの態様は前述の課題に鑑みてなされたものであり、コンソール装置の停止なく、資源の枯渇を抑制することのできる情報処理装置及び情報処理方法を提供することを目的の1つとする。 Some aspects of the present invention have been made in view of the above-described problems, and an object of the present invention is to provide an information processing apparatus and an information processing method that can suppress resource depletion without stopping the console apparatus. I will.
本発明の情報処理装置は、複数のコンソール装置へ出力するためのメッセージの入力を受ける入力手段と、前記入力手段から入力された1以上のメッセージを一時記憶する一時記憶手段と、前記記憶手段に記憶されたメッセージを複数の前記コンソール装置へ出力するためのエントリが登録されるキューをそれぞれ管理する複数の管理手段と、前記キューにエントリが登録されたメッセージを前記コンソール装置へ出力する出力手段と、前記出力手段から前記コンソール装置へのメッセージの出力性能に応じて、複数の前記管理手段がそれぞれ管理する複数の前記キューの中から、新たなメッセージに対応するエントリを登録する前記キューを決める選択手段とを備える。 The information processing apparatus according to the present invention includes an input unit that receives input of messages to be output to a plurality of console devices, a temporary storage unit that temporarily stores one or more messages input from the input unit, and a storage unit that stores A plurality of management means each managing a queue in which entries for outputting stored messages to a plurality of console devices are registered; and an output means for outputting messages having entries registered in the queue to the console device. Selecting a queue for registering an entry corresponding to a new message from among the plurality of queues managed by the plurality of management units according to the output performance of the message from the output unit to the console device. Means.
本発明の情報処理方法は、1以上のコンソール装置へ出力するためのメッセージの入力を受けるステップと、入力された1以上のメッセージを一時記憶する一時記憶装置に記憶するステップと、前記一時記憶装置に記憶されたメッセージを複数の前記コンソール装置へそれぞれ出力するためのエントリが登録される1以上のキューを管理するステップと、前記キューにエントリが登録されたメッセージを前記コンソール装置へ出力するステップと、前記コンソール装置へのメッセージの出力性能に応じて、複数の前記キューの中から、新たなメッセージに対応するエントリを登録する前記キューを決めるステップとを備える。 The information processing method of the present invention includes a step of receiving an input of a message for outputting to one or more console devices, a step of storing the input one or more messages in a temporary storage device, and the temporary storage device Managing one or more queues in which entries for outputting the messages stored in the plurality of console devices are respectively registered, and outputting the messages in which the entries are registered in the queue to the console device; Determining a queue for registering an entry corresponding to a new message from the plurality of queues according to the output performance of the message to the console device.
尚、本発明において、「部」や「手段」、「装置」とは、単に物理的手段を意味するものではなく、その「部」や「手段」、「装置」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や「手段」、「装置」が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や「手段」、「装置」の機能が1つの物理的手段や装置により実現されても良い。 In the present invention, “part”, “means”, and “apparatus” do not simply mean physical means, but the functions of the “part”, “means”, and “apparatus” are realized by software. This includes cases where In addition, even if the functions of one “unit”, “means”, and “device” are realized by two or more physical means or devices, two or more “parts”, “means”, and “devices” The function may be realized by one physical means or apparatus.
本発明によれば、コンソール装置の停止なく、資源の枯渇を抑制することのできる情報処理装置及び情報処理方法を提供することができる。 According to the present invention, it is possible to provide an information processing apparatus and an information processing method capable of suppressing resource depletion without stopping the console apparatus.
以下に本発明の実施形態を説明する。以下の説明及び参照する図面の記載において、同一又は類似の構成には、それぞれ同一又は類似の符号が付されている。 Embodiments of the present invention will be described below. In the following description and the description of the drawings to be referred to, the same or similar components are denoted by the same or similar reference numerals.
(1 第1の実施形態の概要)
以下、第1の実施形態に係る情報処理装置であるコンピュータシステム10の概要を図1を参照しながら説明する。図1に示すように、本実施形態に係るコンピュータシステム10は、アプリケーションプログラム101(以下、単に「アプリケーション101」とも呼ぶ。)、メッセージ送信手段103、通知セマフォ105、メッセージ処理手段107、メッセージログ109、コンソール111(コンソール111A乃至111Nを総称して「コンソール111」と呼ぶ。また、コンソールとコンソール装置とは同義で使用する。)、及び空き資源管理手段113等を含む。
(1 Outline of the first embodiment)
Hereinafter, an outline of a
コンピュータシステム10は、アプリケーション101が出力したメッセージを複数のコンソール111に出力可能な、例えばメインフレーム等の情報処理装置である。ここでコンピュータシステム10は、I/O(Input/Output)性能が低いコンソール111があっても、当該コンソール111の切離しやメッセージを格納する内部資源(例えば記憶領域等)を増やすことなく、資源の枯渇を防止し、かつ、資源に格納されたメッセージは必ずメッセージログ109に出力することで、事象の事後確認を可能としている。以下、この点を説明する。
The
通常、メインフレームのコンソール制御では、出力メッセージを格納可能な有限個の資源は、出力を選択した全コンソールへのI/Oが完了するまで解放できない。速度が異なるコンソールが複数存在する場合には、最もI/O性能が低いコンソールがボトルネックとなって資源の解放が遅延するので、その間に新たなメッセージが入力されると、結果として有限個の資源が枯渇する可能性がある。 Normally, with console control of the mainframe, a finite number of resources that can store output messages cannot be released until I / O to all consoles that have selected output is completed. When there are multiple consoles with different speeds, the console with the lowest I / O performance becomes a bottleneck and resource release is delayed, so if a new message is input during that time, a finite number of consoles will result. Resources can be depleted.
ここで、資源が枯渇した場合に、メッセージ出力よりも処理の継続を優先する一部のアプリケーションプログラムが、資源の空きを待つことなくメッセージの出力を中止することも考えられる。しかしながら、メッセージ出力を中止してしまうと、I/O性能の高いコンソールやメッセージログにもメッセージが出力されないため、ユーザが事象を事後確認できなくなってしまう。 Here, when resources are depleted, some application programs that prioritize continuation of processing over message output may stop outputting messages without waiting for resource availability. However, if the message output is stopped, the message cannot be output to the console or message log with high I / O performance, and the user cannot confirm the event after the fact.
また、コンソールに関連する技術として、コンソール及びメッセージに付加したレベルや属性に応じて出力コンソールの選択を行うことも考えられる。しかしながら、これはコンソールのI/O性能や目的を考慮して、レベルと属性とを設定する静的な出力コンソール選択方式であるため、ネットワーク負荷の変動等の動的なI/O性能の変動に対応するのは困難である。 Further, as a technique related to the console, it may be possible to select an output console according to the level and attributes added to the console and the message. However, this is a static output console selection method that sets the level and attributes in consideration of the console I / O performance and purpose, so dynamic I / O performance fluctuations such as network load fluctuations It is difficult to deal with
更に、メッセージの枯渇時に、I/O性能の低いコンソールを切り離すことも考えられるが、コンソールを切り離してしまうと、コンピュータシステム全体が操作不能となる可能性があり、また、システムが操作不能とならないように切離し対象を出力専用のコンソール(例えば、シリアルプリンタ等)に限ってしまうと、資源枯渇抑制の効果は限定的となってしまう。 Furthermore, it may be possible to disconnect a console with low I / O performance when messages are exhausted. However, if the console is disconnected, the entire computer system may become inoperable, and the system will not become inoperable. Thus, if the object to be disconnected is limited to an output-only console (for example, a serial printer), the effect of suppressing resource depletion is limited.
そこで上述の通り、本実施形態に係るコンピュータシステム10では、コンソール111のI/O性能の変動に対応した出力コンソールの選択を行い、I/O性能の低いコンソールがあったとしても、コンソールの切離しや、資源の追加を行うことなく資源の枯渇を防止し、且つ、資源に格納されたメッセージは、必ずメッセージログ109に出力することで、事象の事後確認やメッセージ連動を可能としている。
Therefore, as described above, in the
(2 コンピュータシステム10の概略構成)
(2.1 コンピュータシステム10全体の構成)
以下、図1を参照しながら、第1の実施形態に係るコンピュータシステム10の概略構成を説明する。図1は、コンピュータシステム10の機能構成の概略を示す機能ブロック図である。前述のとおり、コンピュータシステム10は、メッセージ送信手段103、通知セマフォ105、メッセージ処理手段107、メッセージログ109、コンソール111、及び空き資源管理手段113等を含み、アプリケーション101が動作する、例えばメインフレーム等の情報処理装置である。
(2 Schematic configuration of computer system 10)
(2.1 Overall Configuration of Computer System 10)
The schematic configuration of the
アプリケーション101は、ユーザがCOBOL等の任意の言語で作成したアプリケーションプログラムであり、コンピュータシステム10上で実行される。アプリケーション101は、複数が同時に実行されていても良い。
The
コンソール111は、アプリケーション101が出力したメッセージを表示してオペレータ(操作者)に認知させる機能と、キーボードを通してオペレータからの入力を受け付ける機能とを備える。
The console 111 has a function of displaying a message output from the
空き資源管理手段113は、未使用のメッセージ格納資源115をプール管理するためのモジュールである。より具体的には、空き資源管理手段113は、内部のプールから、空き資源として管理しているメッセージ格納資源115を取り出す資源取得機能と、後述するメッセージ格納資源115のI/Oカウント領域119が「0」になった資源を内部のプールに戻すための資源解放機能と、管理している空き資源数を管理する機能とを備える。
The free resource management means 113 is a module for pool management of unused
メッセージ格納資源115は、アプリケーション101から出力要求されたメッセージを、コンソール111に当該メッセージの出力が完了するまで保持(一時記憶)しておくための内部のメモリ資源である。後述する図3に示すとおり、メッセージ格納資源115は、メッセージ格納領域117とI/Oカウント領域119とを有する。
The
メッセージ格納領域117は、メッセージを格納しておくための、記憶媒体上に確保される記憶領域である。I/Oカウント領域119は、当該メッセージを登録したI/Oキューの数を記憶するために記憶媒体上に確保される記憶領域である。メッセージ格納資源115に係るメッセージが、登録された全てのI/Oキュー210に対応するコンソール111への出力が完了すると、I/Oカウント領域119の値は「0」となり、空き資源管理手段113によって、当該メッセージ格納資源115は解放(メッセージに係るデータが削除)される。
The message storage area 117 is a storage area secured on a storage medium for storing messages. The I / O count area 119 is a storage area secured on the storage medium for storing the number of I / O queues in which the message is registered. When the output of the message related to the
メッセージ送信手段103は、アプリケーション101によって使用され、空き資源管理手段113を使用して取得したメッセージ格納資源115に、アプリケーション101から入力されたメッセージをコピー(複製)して、通知セマフォ105を通じて、メッセージ処理手段107にメッセージ送信を要求するモジュールである。
The message transmission means 103 is used by the
通知セマフォ105は、メッセージ送信手段103からメッセージ処理手段107にメッセージ出力要求を通知して、出力メッセージを格納したメッセージ格納資源115を受け渡すためのセマフォである。
The
メッセージ処理手段107は、メッセージ送信手段103からのメッセージ出力要求を受けて、メッセージをメッセージログ109に記録すると共に、メッセージを出力すべき0乃至複数台のコンソール111を選択して、選択したコンソール111にメッセージを出力するためのモジュールである。メッセージ処理手段107は、コンソール選択手段201と、I/Oキュー210(I/Oキュー210A乃至210Nを総称する。)と、メッセージ記録手段203とを含む。
メッセージ記録手段203は、メッセージをメッセージログ109に記録するモジュールであり、コンソール選択手段201により使用される。
The
The
コンソール選択手段201は、メッセージ送信手段103から出力要求された全てのメッセージを、メッセージ記録手段203を用いてメッセージログ109へ記録すると共に、当該メッセージに係るメッセージ格納資源115を適切なI/Oキュー210に登録するモジュールである。コンソール選択手段201は、登録するI/Oキュー210を、一般的なコンソールルーティング手法を用いて、メッセージとコンソール111に付加された属性とレベルとによって選択(決定)する。また、コンソール選択手段201は、I/Oキュー210の選択時に資源の逼迫を検出すると、I/O性能の低いコンソール111を選択対象外としてI/O完了待ちによる資源解放のボトルネックを排除することにより、メッセージ格納資源115の解放を早める機能を有する。更に、コンソール選択手段201は、I/Oキューに登録済みの資源や、通知セマフォ105に滞留している資源を解放することにより、資源の逼迫を解消する機能も備える。
The
I/Oキュー210は、コンソール選択手段201によって登録されたメッセージ格納資源115への参照を、コンソール111に出力するまでの間保持するためのキューである。一般的なコンソール111は、メッセージ出力のI/Oに数十ミリ秒程度の時間を必要とするため、コンソール111毎にI/O待ちメッセージを保持するI/Oキュー210が必要となる。
The I /
メッセージログ109は、出力要求のあったメッセージを事後確認するためのメッセージ記憶領域であり、たとえばHDD(Hard Disk Drive)等の磁気ディスクにより構築される。
The
(2.2 I/Oキュー210の構成)
図2を参照して、I/Oキュー210の構成を詳細に説明する。図2は、I/Oキュー210の機能構成を示す機能ブロック図である。
(2.2 Configuration of I / O queue 210)
The configuration of the I /
I/Oキュー210は、エントリ管理手段211と、資源登録手段215と、キュー長測定手段217と、資源解放手段219と、I/O手段221と、登録件数記録領域223と、I/O件数記録領域225とを含む。
The I /
エントリ管理手段211は、I/Oキュー210に登録されたエントリ213(エントリ213A乃至213Nを総称して「エントリ213」と呼ぶ。後述のエントリ213A1乃至213A3、エントリ213B1等も同様。)をFIFO(First In First Out)で管理するための手段である。エントリ213をキューの末尾に追加する機能と、キューの先頭からエントリ213を取出す機能と、任意のエントリ213を取出す機能とを備える。エントリ213は、I/Oキュー210に登録されたメッセージ格納資源115への参照を保持するためのメモリ資源である。エントリ213については、図3を参照しながら後に詳細に構成を説明する。
The
資源登録手段215は、当該I/Oキューにメッセージ格納資源115を登録するために、コンソール選択手段201によって使用される。資源登録手段215は、新規にエントリ213を確保してメッセージ格納資源115への参照を当該新規エントリ213に登録して、エントリ管理手段211で管理するエントリ213の末尾(図2の例であれば、213A)に追加する機能を有する。また、資源登録手段215は、メッセージ格納資源115のI/Oカウント領域119の値をインクリメント(+1)してI/Oキューからの参照を記録する機能を有する。更に資源登録手段215は、登録件数記録領域223が記憶する、単位時間当たりの登録件数を更新する機能も有する。
The
登録件数記録領域223は、当該I/Oキュー210に対する単位時間当たりの登録件数を記憶する領域である。登録件数記録領域223は、アクセス速度を考慮してメモリ上に確保される。
The registration
キュー長測定手段217は、エントリ管理手段211を使用して、エントリ管理手段211に登録されているエントリ213の数を取得するためのモジュールである。
The queue
資源解放手段219は、エントリ管理手段211が管理している任意のエントリ213を取出して解放すると共に、当該エントリ213が参照していたメッセージ格納資源115のI/Oカウント領域119の値をデクリメント(−1)する。資源解放手段219は、I/Oカウント領域119の値が「0」になった場合、すなわち、全てのI/Oキュー210から当該メッセージ格納資源115への参照がなくなった場合に、空き資源管理手段113を使用して、当該メッセージ格納資源115を解放する。
The resource release means 219 extracts and releases an arbitrary entry 213 managed by the entry management means 211 and decrements the value of the I / O count area 119 of the
I/O手段221は、エントリ管理手段211の先頭からエントリ213を取出して、エントリ213が参照するメッセージ格納資源115のメッセージをコンソール111に出力を要求するとともに、I/O完了時に、資源解放手段219を使用して、当該エントリ213を解放する機能と、I/O件数記録領域225の値を更新する機能とを備える。
The I /
I/O件数記録領域225は、当該I/Oキュー210に対応するコンソール111について、直近のI/Oに要した時間を単位時間当たりのI/O可能件数として記録する領域である。I/O件数記録領域225は、アクセス速度を考慮してメモリ上に確保される。
The I / O
(2.3 エントリ213の構成)
以下、図3を参照しながら、エントリ213の構成を説明する。図3は、エントリ213の構成を説明するためのブロック図である。
(2.3 Configuration of entry 213)
Hereinafter, the configuration of the entry 213 will be described with reference to FIG. FIG. 3 is a block diagram for explaining the configuration of the entry 213.
エントリ213は、メッセージ格納資源115への参照を保持するための参照保持領域305A1と、同一I/Oキュー210内で各エントリ213を登録順にリンクしてFIFO(First In First Out)で管理するためのキュー内リンク領域301A1と、同一のメッセージ格納資源115を参照するエントリ213をリンクするための、キュー外リンク領域303とを含む。
The entry 213 is linked to the reference holding area 305A1 for holding a reference to the
キュー外リンク領域303のリンクは、リング状に構成される。そのため、先頭と末尾のエントリ213は存在しない。尚、リンクの方向は双方向であっても単方向であっても構わない。例えば、3つのエントリ213A1、エントリ213B1、エントリ213C1をリンクする場合、「・・・⇔エントリ213A1⇔エントリ213B1⇔エントリ213C1⇔エントリ213A1⇔エントリ213B1⇔エントリ213C1⇔・・・」のように、リング状に循環したリンクを構成する。このような構造とすることで、どのエントリ213からでも、最小のステップで全てのエントリ213を辿ることができるようになる。 The links in the out-of-queue link area 303 are configured in a ring shape. For this reason, the entry 213 at the head and tail does not exist. The direction of the link may be bidirectional or unidirectional. For example, when linking three entries 213A1, entry 213B1, and entry 213C1, a ring shape such as “... Entry 213A1 entry 213B1 entry 213C1 entry 213A1 entry 213B1 entry 213C1⇔. Configure a link that circulates. With such a structure, all entries 213 can be traced from any entry 213 with the minimum steps.
図3は、I/Oキュー210A(I/OキューA)のエントリ管理手段211(図3では省略。)に3つのエントリ213A1乃至A3が登録されており、同様にI/Oキュー210B(I/OキューB)のエントリ管理手段211に1つのエントリ213B1が登録されており、かつ、それぞれの左端(末尾)のエントリ213A1及びB1が、同一のメッセージ格納資源115Aを参照している場合の例である。メッセージ格納資源115Aは2つのI/Oキュー210から参照されているので、メッセージ格納資源115AのI/Oカウント領域119Aは「2」となっている。
In FIG. 3, three entries 213A1 to A3 are registered in the entry management means 211 (not shown in FIG. 3) of the I /
エントリ213は、メッセージ格納資源115への参照と、リンク領域のみで構成される数十バイト程度の小さなメモリ資源である。よって、メッセージを格納するために比較的サイズが大きくなるメッセージ格納資源115のような、空きエントリ213をプール管理する仕組みは必須ではない。本実施形態では、エントリ213は、動的にメモリ上に確保/解放されるものとする。
The entry 213 is a small memory resource of about several tens of bytes that includes only a reference to the
(3 処理の流れ)
(3.1 メッセージ出力処理の流れ)
アプリケーション101は、メッセージ送信手段103を用いて、任意のコンソール111へのメッセージ送信を要求する。メッセージ送信手段103は、空き資源管理手段113を使用して、空き資源管理手段113が管理しているメッセージ格納資源115を取得する。資源が枯渇していて取得できない場合は、メッセージ送信失敗となる。この場合、送信要求されたメッセージはコンソール111には出力されず、またメッセージログ109にも記録されない。また、メッセージ格納資源115の枯渇が解消するまで待ち合わせる方式も考えられる。この場合には、アプリケーション101も、メッセージ格納資源115が取得できるまで停止することになる。
(3 Process flow)
(3.1 Message output processing flow)
The
メッセージ格納資源115が取得できた場合、メッセージ送信手段103は、メッセージ格納資源115のメッセージ格納領域117にアプリケーション101から送信要求されたメッセージをコピーして、I/Oカウント領域119に「0」をセットする。更にメッセージ送信手段103は、通知セマフォ105に、取得したメッセージ格納資源115をセットして、メッセージ処理手段107にメッセージ送信要求を通知する。
以下、図4を参照しながら、メッセージ処理手段107の処理の流れを説明する。
When the
Hereinafter, the processing flow of the message processing means 107 will be described with reference to FIG.
まず、コンソール選択手段201は、通知セマフォ105に対して待ち合わせを行い、メッセージ送信手段103からのメッセージ送信要求と、メッセージ格納資源115とを受け取る(S401)。
First, the
次に、コンソール選択手段201は、空き資源管理手段113を使用して、空き資源の数を確認する(S403)。ここで、資源の解放を開始する資源解放開始値を予め定めておき、もし空き資源数(空いている記憶容量)が資源解放開始値以下になった場合には、S405に進んで資源の解放を開始する。そうでない場合には、資源の解放を行わずに、S419の処理へ進む。
Next, the
S419では、コンソール選択手段201は、メッセージ記録手段203を使用して、メッセージ格納資源115のメッセージ格納領域117に格納されたメッセージを、メッセージログ109に出力する。その後、図5を参照しながら後述するコンソール選択処理に進む。
In S419, the
S403で、空き資源数(空き記憶容量)が資源解放開始値以下であった場合には、資源の逼迫が検出されているため、メッセージ格納資源115の解放を開始する。まず、システムに存在する全てのI/Oキュー210に対して、キュー長測定手段217を使用してエントリ213の数を検査する(S405)。エントリ213が登録されたI/Oキュー210が存在しない場合にはS407へ、エントリ213が登録されたI/Oキュー210が1つ以上存在する場合にはS415の処理へと進む。
If the number of free resources (free storage capacity) is equal to or less than the resource release start value in S403, the resource storage has been detected, and release of the
I/Oキュー210に登録されているメッセージ格納資源115が存在しない場合には、通知セマフォ105に滞留しているメッセージ格納資源115の解放を開始する。この時、コンソール111へのメッセージ出力を諦める代わりに、メッセージログ109に記録を残す。メッセージ記録手段203は、メッセージ格納資源115のメッセージ格納領域117に格納されたメッセージをメッセージログ109に出力し(S407)、また、空き資源管理手段113は、メッセージ格納資源115を解放する(S409)。
When the
この後、空き資源管理手段113は、再度空き資源の数を確認する(S411)。このとき、資源の解放を終了する資源解放終了値(尚、資源解放終了値は、資源解放開始値以上である)の値を事前に決めておき、空き資源数が資源解放終了値以上に回復した場合には、S401に処理を戻す。この後、空き資源が減少して再び資源解放開始値以下にならない限りは、S403(No)及びS419を経て、図5を参照しながら後述するコンソール選択処理へと進む。
Thereafter, the free
S411で空き資源数が資源解放終了値未満の場合には(S411のNo)、メッセージ処理手段107は、通知セマフォ105から次のメッセージ出力要求に係るメッセージが格納されたメッセージ格納資源115を取り出し(S413)、S407へ処理を戻してメッセージログ109への出力(S407)及び資源を解放する(S409)処理を繰り返す。
If the number of free resources is less than the resource release end value in S411 (No in S411), the
S405で、エントリ213が登録されたI/Oキュー210が1つ以上存在する場合には(S405のYes)、I/Oキュー210に登録されたエントリ213から優先してメッセージ格納資源115を解放する。メッセージ処理手段107は、解放する資源として、エントリ213が登録された全てのI/Oキュー210を検査して、最もI/O完了に時間がかかると予測されるエントリ213を選択する。ここで、I/Oキュー210は、単位時間あたりのI/O可能回数を記録するI/O件数記録領域225を備え、I/O手段221がI/O毎に当該I/O件数記録領域225を更新している。よって、メッセージ処理手段107は、単位時間あたりのI/O可能回数を1回のI/Oに要する時間に変換した上で、これをキュー長測定手段217で測定したエントリ213の数との積を求めることで、現時点から、現在の末尾のエントリ213のI/O完了までに要する時間を予測できる。よって、メッセージ処理手段107は、最も時間がかかると予測されるI/Oキュー210の末尾のエントリ213が参照するメッセージ格納資源115を解放対象とする。
If there is one or more I /
解放対象としたエントリ213が参照しているメッセージ格納資源115が他のコンソール111にもルーティングされている場合には、当該メッセージ格納資源115は、他のI/Oキュー210のエントリ213からも参照されている事になる。よって、空き資源管理手段113は、参照する全てのI/Oキュー210のエントリ213を解放するまで、メッセージ格納資源115を解放することはできない。よって、エントリ213のキュー外リンク領域303を参照することで、解放対象とするメッセージ格納資源115を参照する全てのエントリ213を辿ることができるので、全てのエントリ213を資源解放手段219が解放した上で、空き資源管理手段113は、メッセージ格納資源115を解放する(S415)。尚、S415の処理の具体例は、図6を参照しながら後述する。
When the
メッセージ格納資源115の解放後、メッセージ処理手段107は、空き資源管理手段113を使用して空き資源の数を確認する。空き資源数が事前に決められた資源解放終了値以上になった場合には(S417のYes)、コンソール選択手段201は、メッセージ格納資源115のメッセージ格納領域117に格納されたメッセージをまだメッセージログ109へ出力していなければ、メッセージ記録手段203を使用して、当該メッセージをメッセージログ109に出力する(S419)。その後、解放処理を終了し、図5に説明するコンソール選択処理に進む。空き資源数が資源解放終了値以上に回復していない場合には(S417のNo)、S405に処理を戻し、資源解放処理を続行する。
After releasing the
続いて、図5を参照しながら、コンソール選択手段201によるコンソール選択処理の流れを説明する。図5は、コンソール選択手段201の処理の流れを示すフローチャートである。
Next, the flow of console selection processing by the
まず、コンソール選択手段201は、全てのI/Oキュー210を順に処理するため、未処理のI/Oキュー210を選択する(S501)。全てのI/Oキュー210が処理済みであり、S501で選択できるI/Oキュー210が存在しない場合には(S503のYes)、コンソール選択手段201は処理を終了し、メッセージ処理手段107は次のメッセージ出力要求を待ち合わせて、図4を参照しながら説明したメッセージ処理を開始する。
First, the
選択可能なI/Oキュー210があった場合には(S503のNo)、当該I/Oキュー210が対応するコンソール111がルーティング対象であるか否かを判定する(S505)。判定には、例えば一般的なコンソールルーティング手法を用いることができる。本実施形態では、メッセージに付加された属性と、コンソール111に付加された属性とが1つ以上一致し、かつ、メッセージに付加されたメッセージレベルが、コンソール111に付加されたコンソールレベル以上の場合に、当該コンソール111に対応するI/Oキュー210をルーティング対象とする。もしルーティング対象で無い場合には(S505のNo)、コンソール選択手段201は処理をS501に戻し、次の未処理のI/Oキュー210を選択する。
If there is a selectable I / O queue 210 (No in S503), it is determined whether or not the console 111 corresponding to the I /
S505で選択したI/Oキューに対応するコンソール111がルーティング対象であった場合には(S505のYes)、コンソール選択手段201は、空き資源管理手段113を使用して空いているメッセージ格納資源115の数を確認する。空きメッセージ格納資源115の数(空き記憶容量)が、事前に決められた抑制閾値以下になった場合には(S507のYes)、S511に処理を進めてメッセージをI/Oキュー210に登録するか否かを判定する。尚、I/Oキュー210への登録抑制は、図3の資源解放処理よりも早い段階で開始するのが望ましいため、抑制閾値は、資源解放開質よりも大きな値とする。
When the console 111 corresponding to the I / O queue selected in S505 is a routing target (Yes in S505), the
空きメッセージ格納資源115の数が抑制閾値より多い場合には(S507のNo)、メッセージ格納資源115が逼迫していないと判断できるので、コンソール選択手段201は、コンソール111のI/O性能を考慮することなく、メッセージ格納資源115をI/Oキュー210へ登録する(S509)。I/Oキュー210への登録は、資源登録手段215を使用する。このとき、資源登録手段215は、エントリ213を新規に確保して、エントリ管理手段211を使用して、I/Oキュー210の末尾に追加する。エントリ管理手段211は、エントリ213のキュー内リンク領域301を使用して、FIFOのキュー構造を構成する。
If the number of empty
さらに、コンソール選択手段201は、エントリ213の参照保持領域305に登録するメッセージ格納資源115への参照を設定し、メッセージ格納資源115のI/Oカウント領域119Aをインクリメント(+1)する。他のI/Oキュー210にも当該メッセージを登録した場合には、コンソール選択手段201は、登録したエントリ213を一時的に覚えておき、そのエントリ213を、本ステップで確保したエントリ213とキュー外リンク領域303でリンクする。
Further, the
また、コンソール選択手段201は、資源登録手段215により、登録件数記録領域223の単位時間当たりの登録件数を更新する。コンソール選択手段201は、資源登録手段215により登録件数記録領域223に単位時間分の過去までの資源を登録した複数の時刻を記録しておくことにより、単位時間当たりの登録件数を求めることができる。
コンソール選択手段201は、このようなI/Oキュー210への登録処理の完了後、S501に戻って次の未処理のI/Oキュー210を選択する。
Further, the
After completing the registration processing in the I /
S507で空き資源の数が抑制閾値以下となった場合には(S507のYes)、メッセージ格納資源115の逼迫を検出したものとみなすことができるので、コンソール選択手段201は、I/O性能の低いコンソール111へのメッセージ格納資源115の登録を抑制する。より具体的には、コンソール選択手段201は、S509で記録した登録件数記録領域223の単位時間当たりの登録件数と、I/O件数記録領域225の単位時間当たりのI/O可能件数とを比較する。単位時間当たりの登録件数の方が多い場合には(S511Yes)、対応するコンソール111のI/O性能がメッセージ出力要求に追いつかないと判断できるので、コンソール選択手段201は、I/Oキュー210にメッセージ格納資源115を登録するS509には進まず、S501へ戻って次の未処理のI/Oキュー210を選択する。そうでない場合には、処理対象のI/Oキュー210のI/O性能はメッセージ出力要求を処理するのに十分であると考えられるので、コンソール選択手段201は、S509へ進んで当該I/Oキュー210に資源を登録する。
ここで、I/O手段221の処理を簡単に説明する。I/O手段221は、コンソール選択手段201とは独立して並列に動作する。
If the number of free resources is equal to or less than the suppression threshold in S507 (Yes in S507), it can be considered that the tightness of the
Here, the processing of the I /
I/O手段221は、エントリ管理手段211を使用して、先頭のエントリ213を取出して、取出したエントリ213が参照するメッセージ格納資源115のメッセージをコンソール111に出力要求する。ここで、もしエントリ213が存在しなかった場合には、I/O手段221は、新たにエントリ213が登録されるまで待ち合わせる。
The I /
さらに、I/O手段221は、メッセージ出力要求のI/O完了を待ち合わせ、I/Oに要した時間を使用して、I/O件数記録領域225の単位時間当たりのI/O可能件数を更新する。I/O可能件数は、誤差による変動を抑えるため、直近の複数回のI/Oに要した時間を平均して求めるのが好ましい。
I/O完了後、I/O手段221は、資源解放手段219を使用して、当該エントリ213を解放して、先頭エントリ213の取出しに戻る。
Further, the I /
After completing the I / O, the I /
(3.2 エントリ213に係るメッセージ格納資源115解放の処理の具体例)
以下、図6を参照しながら、図4S415の処理の具体例を説明する。
(3.2 Specific example of processing for releasing
Hereinafter, a specific example of the process of FIG. 4S415 will be described with reference to FIG.
図6の例では、I/Oキュー210A(I/OキューA)、I/Oキュー210B(I/OキューB)、I/Oキュー210C(I/OキューC)の3つのI/Oキュー210が構成され、I/Oキュー210Aに4つのエントリ213A1、213A2、213A3、及び213A4が、I/Oキュー210Bに3つのエントリ213B1、213B2、及び213B3が、I/Oキュー210Cに1つのエントリ213C1が登録されている。ここで、メッセージ処理手段107は、I/O件数記録領域225を参照することで、各I/Oキュー210の1回のI/Oに要する時間は、I/Oキュー210Aが10ms、I/Oキュー210Bが20ms、I/Oキュー210Cが30msと求めることができるものとする。
In the example of FIG. 6, three I /
メッセージ処理手段107は、全てのI/Oキュー210を検査して、最もI/O完了に時間がかかると予測されるエントリ213を選択する。各I/Oキュー210の中で最も時間のかかるエントリ213は、最後にI/O要求するキュー末尾のエントリ213となるため、コンソール選択手段201は、エントリ213A1、エントリ213B1、及びエントリ213C1のI/O完了時間を予測する。それぞれのエントリ213について、1回のI/Oに要する時間とキュー長との積を計算すると、エントリ213A1は40ms、エントリ213B1は60ms、エントリ213C1は30msとなる。よって、エントリ213B1がI/O完了までに最も時間がかかると考えられるため、コンソール選択手段201は、エントリ213B1を解放対象とする。
The
図6の例では、エントリ213B1は、キュー外リンク領域303により、エントリ213A2及びエントリ213C1とリンクされている。これは、エントリ213A2とエントリ213C1とが、エントリ213B1と同一のメッセージ格納資源115を参照していることを示しているため、メッセージ処理手段107は、エントリ213A2及びエントリ213C1も解放対象とする。
In the example of FIG. 6, the entry 213B1 is linked to the entry 213A2 and the entry 213C1 by the out-of-queue link area 303. Since this indicates that the entry 213A2 and the entry 213C1 refer to the same
メッセージ処理手段107は、エントリ213B1からキュー外リンクを辿り、資源解放手段219を使用してエントリ213B1、213C1、及び213A2の順で解放すると共に、空き資源管理手段113を使用して、それらのエントリ213に参照されているメッセージ格納資源115を解放する。
The
(4 第1の実施形態に係る効果)
以上説明したように、本実施形態に係るコンピュータシステム10は、I/O性能の低いコンソール111があった場合であっても、メッセージ格納資源115の枯渇が発生しづらい。なぜなら、コンソール選択処理(図5)のS511において、メッセージ登録件数よりI/O可能件数が小さいコンソール111のI/Oキュー210を、メッセージ格納資源115の登録対象外としているためである。このようにメッセージ登録頻度と比較してI/O性能の低いコンソール111をルーティング対象外とすることにより、I/O完了待ちによる資源解放のボトルネックを排除できるため、メッセージ格納資源115を滞りなく解放できる。
(4. Effects according to the first embodiment)
As described above, in the
また、本実施形態に係るコンピュータシステム10は、資源逼迫の解消が早い。なぜならば、資源が逼迫した場合には、メッセージ処理手段107が、図4に示したS405、S415、及びS417において、I/Oキュー210に登録済みの資源の中から最もI/O完了に時間のかかる資源を選択して、即座に解放するためである。
In addition, the
更に、本実施形態に係るコンピュータシステム10では、メッセージ格納資源115のメッセージは必ずメッセージログ109に出力するため、コンソール111に出力しなかったメッセージも事後的に確認可能である。これは、高速なI/Oが行えるメッセージログ109には必ず出力すると共に、I/O性能が低いコンソール111への出力を抑制することにより、コンソール111の切り離しや資源の追加なく、資源の枯渇を防止し、かつメッセージの事後確認を可能としている。その理由は、図4に示したメッセージ処理のS407及びS419において、資源解放前に、メッセージログ109にメッセージを出力しているからである。
Furthermore, in the
(5 他の実施形態)
以下、他の実施形態について説明する。ここで、上記実施形態と同様の構成については同一の符号を付し、説明を省略する。また、上記実施形態と共通する作用効果についても、説明を省略している。
(5 Other embodiments)
Hereinafter, other embodiments will be described. Here, the same reference numerals are given to the same configurations as those in the above embodiment, and the description thereof is omitted. In addition, the description of the operational effects common to the above embodiment is also omitted.
(5.1 第2の実施形態)
コンソールメッセージの中には、コンソール111を操作するオペレータの応答が必要なものもある。しかしながら、オペレータ応答が必要なメッセージの資源を解放したり、I/Oキュー210への登録を抑制したりすることによりコンソール111へ出力しなかった場合、オペレータが応答要求に気づかないことが考えられる。上記実施形態では、メッセージログ109により事後的に確認することは可能ではあるが、リアルタイムに応答することはできない。そこで、第2の実施形態では、オペレータ応答が必要なメッセージについては、メッセージ格納資源115の逼迫時であっても、その資源を解放せずにコンソール111に表示する。
そのために、第2の実施形態では、メッセージ格納資源115に応答フラグを追加する。以下、上記実施形態と相違する本実施形態の処理を中心に説明する。
(5.1 Second Embodiment)
Some console messages require a response from an operator who operates the console 111. However, if the message is not output to the console 111 by releasing a resource of a message that requires an operator response or suppressing registration in the I /
Therefore, in the second embodiment, a response flag is added to the
アプリケーション101は、メッセージ送信要求時に、オペレータ応答が必要なメッセージであることを、メッセージ送信手段103に伝える。メッセージ送信手段103は、空き資源管理手段113を用いたメッセージ格納資源115の取得時に、オペレータ応答の要否を、応答フラグに設定する。メッセージ処理手段107は、図4のS415において、I/Oキュー210に登録されたメッセージ格納資源115のうち、応答フラグの値が「応答不要」のエントリ213のみを選択して、最もI/O完了に時間がかかると予測されるエントリ213を解放対象とする。ここで、I/O完了時間の予測には、キュー長測定手段217で測定したエントリ213の数を使用するのではなく、対象のエントリ213がI/Oキューの先頭から何番目であるかの値を使用する。
The
また、図4のS405のI/Oキューに登録済みの資源があるか否かの判定は、I/Oキュー210の全てのメッセージ格納資源115の応答フラグがオペレータ応答要の場合には、そのI/Oキュー210に解放できる資源が存在しないので、登録済みの資源なしと判定するように変更する。
Also, whether there is a registered resource in the I / O queue in S405 of FIG. 4 is determined if the response flags of all
更に、図4のS409において解放しようとしたメッセージ格納資源115の応答フラグが「オペレータ応答要」の場合、この資源を解放せず、図5に示すコンソール選択処理に進む。このとき、コンソール選択処理の終了後は、S409に処理を復帰させるようにする。
Furthermore, if the response flag of the
また、図5のS511において、「オペレータ応答要」のメッセージ格納資源115は、登録抑制の判定を行わず、S509に進んで資源をI/Oキュー210へ登録する。
Further, in S511 of FIG. 5, the
このように実装することで、本実施形態によれば、メッセージ格納資源115の逼迫時であっても、オペレータ応答要のメッセージはコンソール111に表示されるので、オペレータはリアルタイムに応答することができるようになる。なぜならば、上述のように、オペレータ応答が必要なメッセージについては、資源解放と登録抑制の対象外としているためである。
With this implementation, according to the present embodiment, even when the
(5.2 第3の実施形態)
以下、第3の実施形態について説明する。上述の通り、第2の実施形態では、メッセージ格納資源115の逼迫時に、オペレータ応答要のメッセージを、オペレータの存在如何に関わらずコンソール111に出力している。しかしながら、オペレータ不在のコンソール111は、即座に対応することはできないため、たとえオペレータ応答要のメッセージであっても、出力は必須ではないと考えることができる。そこで本実施形態では、オペレータ不在のI/O性能の低いコンソール111に対しては、メッセージ格納資源115の逼迫時には、メッセージを出力しないようにする。
(5.2 Third Embodiment)
Hereinafter, a third embodiment will be described. As described above, according to the second embodiment, when the
第3の実施形態に係るコンピュータシステム10の機能構成を図7に示す。図7に示すとおり、本実施形態では、図1に示したこれまで説明してきた実施形態の機能構成に対して、コンソール111に、オペレータ検知手段601(オペレータ検知手段601乃至601Nを総称して「オペレータ検知手段601」と呼ぶ。)を追加している。
FIG. 7 shows a functional configuration of the
ここで、オペレータ検知手段601は、対応するコンソール111のオペレータの存在の有無を確認(判定)するためのモジュールである。このオペレータの存在の検出方法としては、例えば以下のような方式が考えられる。 Here, the operator detection means 601 is a module for confirming (determining) the presence or absence of an operator of the corresponding console 111. As a method for detecting the presence of the operator, for example, the following method can be considered.
まず1つめの方式として、コンソール111が備えるキーボードやマウス等の入力装置からの入力信号を利用して判定する方法が考えられる。この場合、例えば、オペレータ検知手段601は、一定時間内にキーボード又はマウスからの入力信号の入力があった場合に、オペレータが存在すると判定することができる。一方、一定時間入力がなかった場合には、オペレータ検知手段601はオペレータ不在と判定する。 As a first method, a determination method using an input signal from an input device such as a keyboard or a mouse provided in the console 111 is conceivable. In this case, for example, the operator detection unit 601 can determine that an operator exists when an input signal is input from a keyboard or a mouse within a certain time. On the other hand, when there is no input for a certain period of time, the operator detection means 601 determines that there is no operator.
2つめの方式としては、コンソール111が表示するコンソール画面に排他的に押下可能な離席ボタンと着席ボタンとを設け手置き、オペレータ検知手段601は、着席ボタンが押下されている間はオペレータが存在するものとして判定する。一方、離席ボタンが押下されている間は、オペレータ検知手段601はオペレータ不在として判定する。 As the second method, a console button displayed on the console 111 is provided with a leave button and a seat button that can be pressed exclusively, and the operator detecting means 601 is configured so that the operator can operate while the seat button is pressed. Judge as existing. On the other hand, while the away button is pressed, the operator detection unit 601 determines that the operator is absent.
3つめの方式としては、コンソール111に備え付けられた椅子に圧力センサを設けることで、オペレータ検知手段601がオペレータの着席を検出できるようにする。一定時間内に一定以上の圧力を検出した場合には、オペレータ検知手段601はオペレータが存在するものと判定する。一方、一定時間内に一定以上の圧力を検出しなかった場合には、オペレータ検知手段601はオペレータ不在として判定する。 As a third method, a pressure sensor is provided in a chair provided in the console 111 so that the operator detection means 601 can detect the seating of the operator. When a pressure higher than a certain level is detected within a certain time, the operator detection unit 601 determines that an operator is present. On the other hand, when the pressure above a certain level is not detected within a certain time, the operator detection means 601 determines that the operator is absent.
4つめの方式としては、オペレータの代わりに自動運転プログラムが動作する場合に対応させるべく、コンソール111に、自動運転開始と自動運転終了のプログラムインタフェースを設ける。オペレータ検知手段601は、自動運転プログラムが自動運転開始インタフェースを使用して自動運転開始を通知した場合は、オペレータが存在するものとして判定し、自動運転プログラムが自動運転終了インタフェースを使用して自動運転終了を通知した場合には、オペレータ不在と判定する。
本実施形態の処理の流れを、以下説明する。基本的には、上述の第2の実施形態と同様であるが、以下の点が異なる。
As a fourth method, a program interface for starting automatic operation and ending automatic operation is provided in the console 111 so as to correspond to the case where the automatic operation program operates instead of the operator. The operator detection means 601 determines that the operator exists when the automatic operation program notifies the start of automatic operation using the automatic operation start interface, and the automatic operation program uses the automatic operation end interface to perform automatic operation. When the end is notified, it is determined that the operator is absent.
The processing flow of this embodiment will be described below. Basically, it is similar to the second embodiment described above, but differs in the following points.
まず、図5のS511の処理において、処理対象としているI/Oキュー210のオペレータ検知手段601を使用して、オペレータの存在の有無を確認する。オペレータが存在する場合には、メッセージ格納資源115の登録抑制を判定せずにS509に進んでメッセージ格納資源115を当該I/Oキュー210に登録する。もしオペレータ不在の場合には、登録抑制の判定を行った上で、抑制不要であればS509の処理へ進み、抑制が必要であれば、S501へ進む。
First, in the process of S511 in FIG. 5, the operator detection unit 601 of the I /
このように実装することで、本実施形態に係るコンピュータシステム10は、オペレータ不在のコンソール111がメッセージ格納資源115の解放を遅延させる原因にならずに、空き資源の回復を速やかにすることが可能となる。なぜならば、図5のS511におけるオペレータ検知手段601の使用により、オペレータ不在のI/O性能の低いコンソール111のI/Oキュー210にメッセージ格納資源115を登録しないため、当該コンソール111がボトルネックとなることなく、空き資源管理手段113が資源を滞り無く解放できるようになるためである。
By implementing in this way, the
(5.3 第4の実施形態)
上述の実施形態では、メッセージ格納資源115の逼迫時に、全てのI/Oキュー210のうち、最もI/O完了までに時間を要すると予測できるエントリ213を解放している。この点、第4の実施形態では、解放するエントリ213の他の選択方式について説明する。
以下に説明する本実施形態の方式では、第1の実施形態における、図4のS415の処理を以下のいずれかに変更してエントリ213を解放する。
(5.3 Fourth Embodiment)
In the above-described embodiment, when the
In the method of the present embodiment described below, the entry 213 is released by changing the process of S415 of FIG. 4 to one of the following in the first embodiment.
(1)第1の方式としては、コンソール111に優先度を設ける方式が考えられる。この場合、エントリ213が存在するI/Oキュー210のうち、優先度が最も低いコンソール111のエントリ213を解放対象とする。例えば、優先度が5段階あり、最高優先度が1、最低優先度が5の場合、資源解放手段219は、優先度5の全てのコンソール111のI/Oキュー210のうち、最もI/O完了に時間のかかるエントリ213を解放する。優先度5のコンソール111に解放可能なエントリ213が存在しない場合には、優先度4のコンソール111からエントリ213を選択して解放する。同様に解放可能なエントリ213がない場合には、優先度1のコンソール111まで検索する。エントリ213の解放は、キュー外リンク領域303を辿り、同一資源を参照する全てのエントリ213を、資源解放手段219を使用して解放する。
このように実装することで、ユーザが優先度に応じて、資源逼迫時に出力を優先するコンソール111を設定できるようになる。
(1) As a first method, a method of giving priority to the console 111 is conceivable. In this case, of the I /
By mounting in this way, the user can set the console 111 that prioritizes output when resources are tight, according to priority.
(2)第2の方式として、登録されたI/Oキュー210が最も少ないメッセージ格納資源115を解放することが考えられる。この場合、登録したI/Oキュー210の数は、メッセージ格納資源115のキュー外リンク領域303を辿ることで確認することができる。全てのI/Oキュー210とそのエントリ213について、登録したI/Oキュー210の数を調べることで、登録したI/Oキュー210が最も少ないエントリ213を決定することができる。エントリ213の解放は、キュー外リンク領域303を辿り、同一視源を参照する全てのエントリ213を、資源解放手段219を使用して解放する。
(2) As a second method, it is conceivable to release the
このように実装することで、資源解放に係る影響を受けるオペレータの数を最小にすることができる。なぜならば、ルーティングしたコンソール111の数が多いほど、資源解放による影響を受けるオペレータの数が多くなるが、この方式は、ルーティングしたコンソール111が少ない資源から解放するものだからである。 By implementing in this way, the number of operators affected by resource release can be minimized. This is because, as the number of routed consoles 111 increases, the number of operators affected by the resource release increases, but this method is because the routed console 111 releases from fewer resources.
(3)オペレータ不在のコンソール111を、第2の実施形態で示したオペレータ検知手段601により明らかにした上で、オペレータ不在のコンソール111に対応するI/Oキュー210のうち、最もI/O完了までに時間のかかるエントリ213を選択して解放する。エントリ213の解放は、キュー外リンク領域303を辿り、同一のメッセージ格納資源115を参照する全てのエントリ213を、資源解放手段219を使用して解放する。
(3) After the operator absent console 111 is clarified by the operator detection means 601 shown in the second embodiment, the most complete I / O is completed in the I /
このように実装することで、本実施形態に係るコンピュータシステム10は、オペレータ不在のコンソール111からメッセージ格納資源115を解放するので、オペレータが存在するコンソール111に、優先してメッセージを出力できる。尚、オペレータ不在のコンソール111については、メッセージログ109を事後確認すればよいため、コンソール111への出力は必須ではないと考えることができる。
By implementing in this way, the
(5.4 第5の実施形態)
以下、第5の実施形態について説明する。上述の各実施形態は、メッセージ格納資源115の枯渇を抑制する効果があるが、資源が枯渇した場合には、資源の取得に失敗してアプリケーション101がメッセージの送信に失敗してしまうことがあった。そこで、本実施形態のコンピュータシステム10は、メッセージ格納資源115の枯渇時に、資源の優先取得を希望するアプリケーション101に資源の割り当てを行うようにしている。
(5.4 Fifth Embodiment)
The fifth embodiment will be described below. Each of the above embodiments has an effect of suppressing the depletion of the
本実施形態に係るコンピュータシステム10の構成を、図8を参照しながら説明する。図8において、アプリケーション101Bは、資源枯渇時も、アプリケーション101よりも優先的にメッセージを送信することのできるアプリケーションである。図8に示すコンピュータシステム10の、図1を参照しながら説明した第1の実施形態に係るコンピュータシステム10との違いは、メッセージ格納資源115の枯渇時に、優先的に資源を取得してメッセージ送信を可能とするメッセージ優先送信手段103Bと、コンソール選択手段201からの資源割当通知と、割り当てられたメッセージ格納資源115を受け取るための優先通知セマフォ105Bとを追加した点である。
The configuration of the
尚、アプリケーション101A、メッセージ送信手段103A、及び通知セマフォ105Aは、それぞれ第1の実施形態のアプリケーション101、メッセージ送信手段103、及び通知セマフォ105に対応する。
以下、本実施形態に係るコンピュータシステム10の処理の流れを、第1の実施形態との違いを中心に説明する。
Note that the
Hereinafter, the flow of processing of the
アプリケーション101Aは、メッセージ優先送信手段103Bを使用して、任意のコンソール111へのメッセージ送信を要求する。メッセージ優先送信手段103Bは、空き資源管理手段113を使用して、メッセージ格納資源115を取得する。メッセージ格納資源115が取得できたあとの動作は、第1の実施形態のメッセージ送信手段103と同様である。
The
メッセージ格納資源115が枯渇して取得できない場合には、優先通知セマフォ105Bに対して待ち合わせを行い、コンソール選択手段201からの資源割り当て通知と、割り当てられたメッセージ格納資源115とを受け取る。メッセージ格納資源115を受け取った後の動作は、第1の実施形態においてメッセージ送信手段103がメッセージ格納資源115が取得できた場合の処理と同様である。
When the
また、図4のS409及びS415の処理も、以下の通り相違する。まず、S409においては、優先通知セマフォ105Bを検査し、メッセージ優先送信手段103Bが資源の割り当てを待ち合わせていれば、解放する予定の資源を解放せず、優先通知セマフォ105Bを使用して、資源割り当て通知と共に、メッセージ優先送信手段103Bに送信する。資源の割り当てを待ち合わせていなければ、空き資源管理手段113を用いて資源を解放する。
Also, the processing of S409 and S415 of FIG. 4 is different as follows. First, in S409, the
S415の処理については、解放するエントリ213を決定するまでの処理は、第1の実施形態と同様の処理である。若しくは、第4の実施形態の処理であっても良い。解放するエントリ213を決定した後は、優先通知セマフォ105Bを検査し、メッセージ優先送信手段103Bが資源の割り当てを待ち合わせていれば、解放するエントリ213のキュー外リンク領域303を辿り、同一資源を参照する全てのエントリ213を各I/Oキュー210のエントリ管理手段211から取り出して解放する。解放したエントリ213が参照していたメッセージ格納資源115は解放せず、優先通知セマフォ105Bを使用して、資源割り当て通知と共に、メッセージ優先送信手段103Bに送信する。
Regarding the processing of S415, the processing up to the determination of the entry 213 to be released is the same processing as in the first embodiment. Alternatively, the process of the fourth embodiment may be used. After the entry 213 to be released is determined, the
メッセージ優先送信手段103Bが資源の割り当てを待ち合わせていなければ、解放するエントリ213のキュー外リンク領域303を辿り、同一資源を参照する全てのエントリ213を、各I/Oキュー210の資源解放手段219を使用して解放する。
If the message priority transmission means 103B does not wait for resource allocation, the message priority transmission means 103B follows the off-queue link area 303 of the entry 213 to be released, and all the entries 213 that refer to the same resource are assigned to the resource release means 219 of each I /
本実施形態によれば、メッセージ格納資源115の枯渇時に、アプリケーション101Bに優先的に資源を割り当て、アプリケーション101Bのメッセージ送信を保証できるようになる。なぜならば、図4のS409及びS415において、解放対象としたメッセージ格納資源115を空き資源管理手段113に戻すことなく、直接メッセージ優先送信手段103Bに割り当てるためである。
According to the present embodiment, when the
(6 付記事項)
尚、前述の各実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしてもよい。また、本発明の構成は前述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。
尚、前述の各実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(6 Appendix)
Note that the configurations of the above-described embodiments may be combined or some of the components may be replaced. The configuration of the present invention is not limited to the above-described embodiment, and various modifications may be made without departing from the scope of the present invention.
A part or all of each of the above-described embodiments can be described as in the following supplementary notes, but is not limited thereto.
(付記1)
複数のコンソール装置へ出力するためのメッセージの入力を受ける入力手段と、前記入力手段から入力された1以上のメッセージを一時記憶する一時記憶手段と、前記一時記憶手段に記憶されたメッセージを複数の前記コンソール装置へ出力するためのエントリが登録されるキューをそれぞれ管理する複数の管理手段と、前記キューにエントリが登録されたメッセージを前記コンソール装置へ出力する出力手段と、前記出力手段から前記コンソール装置へのメッセージの出力性能に応じて、複数の前記管理手段がそれぞれ管理する複数の前記キューの中から、新たなメッセージに対応するエントリを登録する前記キューを決める選択手段とを備える、情報処理装置。
(Appendix 1)
Input means for receiving a message to be output to a plurality of console devices; temporary storage means for temporarily storing one or more messages input from the input means; and a plurality of messages stored in the temporary storage means. A plurality of management means each managing a queue in which an entry for output to the console device is registered; an output means for outputting a message in which an entry is registered in the queue to the console device; and the console from the output means An information processing unit including: a selecting unit that determines the queue for registering an entry corresponding to a new message from the plurality of queues managed by the plurality of managing units according to output performance of a message to the apparatus. apparatus.
(付記2)
前記選択手段は、前記一時記憶手段の記憶容量が第1の閾値を下回った場合に、新たなメッセージに対応するエントリを登録する前記キューを決める、付記1記載の情報処理装置。
(Appendix 2)
The information processing apparatus according to
(付記3)
前記出力手段から前記コンソール装置への出力完了前に、前記一時記憶手段からメッセージを削除可能な削除手段を更に備える、付記1又は付記2記載の情報処理装置。
(Appendix 3)
The information processing apparatus according to
(付記4)
前記削除手段は、前記出力手段から前記コンソール装置へのメッセージの出力性能に応じて、前記一時記憶手段から当該メッセージを削除する、付記3記載の情報処理装置。
(Appendix 4)
The information processing apparatus according to appendix 3, wherein the deletion unit deletes the message from the temporary storage unit according to the output performance of the message from the output unit to the console device.
(付記5)
前記一時記憶手段が記憶するメッセージを前記コンソール装置への出力完了前に前記削除手段が削除する場合に、削除するメッセージに関する情報を記録媒体に記録するログ記録手段を更に備える、付記3又は付記4記載の情報処理装置。
(Appendix 5)
Appendix 3 or Appendix 4 further comprising log recording means for recording information about the message to be deleted on a recording medium when the deletion means deletes the message stored in the temporary storage means before the output to the console device is completed. The information processing apparatus described.
(付記6)
前記削除手段は、前記一時記憶手段の記憶容量が第2の閾値を下回った場合に、前記一時記憶手段からメッセージを削除する、付記3乃至付記5のいずれか1項記載の情報処理装置。
(Appendix 6)
The information processing apparatus according to any one of attachments 3 to 5, wherein the deletion unit deletes a message from the temporary storage unit when a storage capacity of the temporary storage unit falls below a second threshold value.
(付記7)
前記選択手段は、前記出力手段から前記コンソール装置へ出力すべきメッセージの登録件数と出力可能件数との比較に基づき、複数の前記管理手段がそれぞれ管理する複数の前記キューの中から、新たなメッセージに対応するエントリを登録する前記キューを決める、付記1乃至付記6のいずれか1項記載の情報処理装置。
(Appendix 7)
The selection unit is configured to select a new message from the plurality of queues respectively managed by the plurality of management units based on a comparison between the number of registered messages to be output from the output unit to the console device and the number of outputable messages. The information processing apparatus according to any one of
(付記8)
前記コンソール装置のオペレータの存在の有無を検知する検知手段を更に備え、前記選択手段は、オペレータが存在する前記コンソール装置に対応する前記キューを、新たなメッセージに対応するエントリを登録する前記キューとする、付記1乃至付記6のいずれか1項記載の情報処理装置。
(Appendix 8)
Detection means for detecting presence / absence of an operator of the console device is further provided, and the selection means includes the queue corresponding to the console device in which the operator exists, the queue for registering an entry corresponding to a new message, The information processing apparatus according to any one of
(付記9)
前記入力手段は、第1のアプリケーション及び前記第1のアプリケーションよりも優先度の高い第2のアプリケーションからメッセージの入力を受け、前記削除手段は、前記第2のアプリケーションからメッセージの一次記憶を要求された場合に、前記一次記憶手段からメッセージを削除して、前記第2のアプリケーションからのメッセージを格納する、付記3乃至付記7のいずれか1項記載の情報処理装置。
(Appendix 9)
The input means receives a message input from a first application and a second application having a higher priority than the first application, and the deletion means is requested to primarily store a message from the second application. The information processing apparatus according to any one of appendix 3 to appendix 7, wherein the message is deleted from the primary storage unit and the message from the second application is stored.
(付記10)
1以上のコンソール装置へ出力するためのメッセージの入力を受けるステップと、入力された1以上のメッセージを一時記憶する一時記憶装置に記憶するステップと、前記一時記憶装置に記憶されたメッセージを複数の前記コンソール装置へそれぞれ出力するためのエントリが登録される1以上のキューを管理するステップと、前記キューにエントリが登録されたメッセージを前記コンソール装置へ出力するステップと、前記コンソール装置へのメッセージの出力性能に応じて、複数の前記キューの中から、新たなメッセージに対応するエントリを登録する前記キューを決めるステップとを備える、情報処理方法。
(Appendix 10)
Receiving a message to be output to one or more console devices; storing the input one or more messages in a temporary storage device; and storing a plurality of messages stored in the temporary storage device. Managing one or more queues in which entries for output to the console device are registered; outputting a message in which entries are registered in the queue to the console device; and messages for the console device And determining a queue for registering an entry corresponding to a new message from the plurality of queues according to output performance.
10・・・コンピュータシステム、101・・・アプリケーションプログラム、103・・・メッセージ送信手段、105・・・通知セマフォ、107・・・メッセージ処理手段、109・・・メッセージログ、111・・・コンソール、113・・・空き資源管理手段、115・・・メッセージ格納資源、201・・・コンソール選択手段、203・・・メッセージ記録手段、210・・・I/Oキュー
DESCRIPTION OF
Claims (10)
前記入力手段から入力された1以上のメッセージを一時記憶する一時記憶手段と、
前記一時記憶手段に記憶されたメッセージを複数の前記コンソール装置へ出力するためのエントリが登録されるキューをそれぞれ管理する複数の管理手段と、
前記キューにエントリが登録されたメッセージを前記コンソール装置へ出力する出力手段と、
前記出力手段から前記コンソール装置へのメッセージの出力性能に応じて、複数の前記管理手段がそれぞれ管理する複数の前記キューの中から、新たなメッセージに対応するエントリを登録する前記キューを決める選択手段と
を備える、情報処理装置。 An input means for receiving input of a message for outputting to a plurality of console devices;
Temporary storage means for temporarily storing one or more messages input from the input means;
A plurality of management means each managing a queue in which entries for outputting a message stored in the temporary storage means to a plurality of the console devices are registered;
Output means for outputting a message whose entry is registered in the queue to the console device;
Selection means for deciding the queue for registering an entry corresponding to a new message from among the plurality of queues managed by a plurality of management means according to the output performance of messages from the output means to the console device An information processing apparatus comprising:
請求項1記載の情報処理装置。 The selection means determines the queue for registering an entry corresponding to a new message when the storage capacity of the temporary storage means falls below a first threshold;
The information processing apparatus according to claim 1.
を更に備える、請求項1又は請求項2記載の情報処理装置。 The information processing apparatus according to claim 1, further comprising a deletion unit that can delete a message from the temporary storage unit before completion of output from the output unit to the console device.
請求項3記載の情報処理装置。 The deletion unit deletes the message from the temporary storage unit according to the output performance of the message from the output unit to the console device.
The information processing apparatus according to claim 3.
を更に備える、請求項3又は請求項4記載の情報処理装置。 The log recording means which records the information regarding the message to delete on a recording medium, when the deletion means deletes the message which the temporary storage means memorizes before the output to the console device is completed. Item 5. The information processing apparatus according to Item 4.
請求項3乃至請求項5のいずれか1項記載の情報処理装置。 The deleting means deletes the message from the temporary storage means when the storage capacity of the temporary storage means falls below a second threshold;
The information processing apparatus according to any one of claims 3 to 5.
請求項1乃至請求項6のいずれか1項記載の情報処理装置。 The selection unit is configured to select a new message from the plurality of queues respectively managed by the plurality of management units based on a comparison between the number of registered messages to be output from the output unit to the console device and the number of outputable messages. Determining the queue to register the entry corresponding to
The information processing apparatus according to any one of claims 1 to 6.
を更に備え、
前記選択手段は、オペレータが存在する前記コンソール装置に対応する前記キューを、新たなメッセージに対応するエントリを登録する前記キューとする、
請求項1乃至請求項6のいずれか1項記載の情報処理装置。 It further comprises detection means for detecting the presence or absence of an operator of the console device,
The selecting means sets the queue corresponding to the console device in which an operator is present as the queue for registering an entry corresponding to a new message.
The information processing apparatus according to any one of claims 1 to 6.
前記削除手段は、前記第2のアプリケーションからメッセージの一次記憶を要求された場合に、前記一次記憶手段からメッセージを削除して、前記第2のアプリケーションからのメッセージを格納する、
請求項3乃至請求項7のいずれか1項記載の情報処理装置。 The input means receives a message from a first application and a second application having a higher priority than the first application,
The deletion unit deletes the message from the primary storage unit and stores the message from the second application when the primary storage of the message is requested from the second application.
The information processing apparatus according to any one of claims 3 to 7.
入力された1以上のメッセージを一時記憶する一時記憶装置に記憶するステップと、
前記一時記憶装置に記憶されたメッセージを複数の前記コンソール装置へそれぞれ出力するためのエントリが登録される1以上のキューを管理するステップと、
前記キューにエントリが登録されたメッセージを前記コンソール装置へ出力するステップと、
前記コンソール装置へのメッセージの出力性能に応じて、複数の前記キューの中から、新たなメッセージに対応するエントリを登録する前記キューを決めるステップと
を備える、情報処理方法。 Receiving a message for output to one or more console devices;
Storing one or more input messages in a temporary storage device that temporarily stores the messages;
Managing one or more queues in which entries for outputting messages stored in the temporary storage device to each of the plurality of console devices are registered;
Outputting a message whose entry is registered in the queue to the console device;
Determining a queue for registering an entry corresponding to a new message from the plurality of queues according to the output performance of a message to the console device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012043733A JP5849772B2 (en) | 2012-02-29 | 2012-02-29 | Information processing apparatus and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012043733A JP5849772B2 (en) | 2012-02-29 | 2012-02-29 | Information processing apparatus and information processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013182297A JP2013182297A (en) | 2013-09-12 |
JP5849772B2 true JP5849772B2 (en) | 2016-02-03 |
Family
ID=49272930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012043733A Active JP5849772B2 (en) | 2012-02-29 | 2012-02-29 | Information processing apparatus and information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5849772B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63259752A (en) * | 1987-04-17 | 1988-10-26 | Hitachi Ltd | Registration system for message destined to terminal |
JPH04220749A (en) * | 1990-12-20 | 1992-08-11 | Fujitsu Ltd | Information change processing system |
JP2643630B2 (en) * | 1991-03-13 | 1997-08-20 | 日本電気株式会社 | Message transmission method |
WO2006112381A1 (en) * | 2005-04-14 | 2006-10-26 | Matsushita Electric Industrial Co., Ltd. | Server device, information report method, and information report system |
US7756134B2 (en) * | 2006-05-02 | 2010-07-13 | Harris Corporation | Systems and methods for close queuing to support quality of service |
JP5108263B2 (en) * | 2006-08-07 | 2012-12-26 | 住友電気工業株式会社 | Communication device |
-
2012
- 2012-02-29 JP JP2012043733A patent/JP5849772B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013182297A (en) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10645152B2 (en) | Information processing apparatus and memory control method for managing connections with other information processing apparatuses | |
US10860395B2 (en) | Event processing method, non-transitory computer-readable storage medium for storing program | |
JP5652480B2 (en) | Database update notification method | |
US9948520B2 (en) | Efficiently determining network topology | |
CN109842651A (en) | A kind of continual load-balancing method of business and system | |
CN107005467B (en) | Apparatus and method for routing data in a switch | |
JP7281045B2 (en) | Error resolution information providing system, error resolution information providing device and electronic device | |
US20130006930A1 (en) | Transference control method, transference control apparatus and recording medium of transference control program | |
JP5849772B2 (en) | Information processing apparatus and information processing method | |
US9769185B2 (en) | Method and system for managing suspicious devices on network | |
JP4894567B2 (en) | Trace information output device and trace information output method | |
JP6708007B2 (en) | Mirror packet control program, mirror packet control method, and mirror packet control device | |
US20150378794A1 (en) | Information processing device, information processing system, and interrupt device control method | |
JP2008124977A (en) | Method, apparatus, and program of message delivery | |
EP3389222B1 (en) | A method and a host for managing events in a network that adapts event-driven programming framework | |
JP6627475B2 (en) | Processing resource control program, processing resource control device, and processing resource control method | |
US9811403B1 (en) | Method, apparatus and system for performing matching operations in a computing system | |
JP6135430B2 (en) | Information processing apparatus, method, program, and system | |
JP5472885B2 (en) | Program, stream data processing method, and stream data processing computer | |
JP2020024636A (en) | Scheduling device, scheduling system, scheduling method and program | |
CN114244902B (en) | High-concurrency service request processing method and device, electronic equipment and storage medium | |
KR102561995B1 (en) | Management system, method, and program storage medium | |
JP5884595B2 (en) | Message communication method, message communication program, and computer | |
CN113535324B (en) | Method and system for edge side pull mirroring | |
JP2009110195A (en) | Information processing apparatus and system, information processing taking-over control method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150108 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151026 |
|
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: 20151104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5849772 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |