JP2019046339A - Information processing device and information processing program - Google Patents

Information processing device and information processing program Download PDF

Info

Publication number
JP2019046339A
JP2019046339A JP2017170847A JP2017170847A JP2019046339A JP 2019046339 A JP2019046339 A JP 2019046339A JP 2017170847 A JP2017170847 A JP 2017170847A JP 2017170847 A JP2017170847 A JP 2017170847A JP 2019046339 A JP2019046339 A JP 2019046339A
Authority
JP
Japan
Prior art keywords
command
time limit
usage rate
cpu usage
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
JP2017170847A
Other languages
Japanese (ja)
Inventor
英憲 田中
Hidenori Tanaka
英憲 田中
英夫 山田
Hideo Yamada
英夫 山田
川原 巧
Takumi Kawahara
巧 川原
美行 小林
Yoshiyuki Kobayashi
美行 小林
正太郎 宮本
Seitaro Miyamoto
正太郎 宮本
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2017170847A priority Critical patent/JP2019046339A/en
Publication of JP2019046339A publication Critical patent/JP2019046339A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

To provide an information processing device that can reduce cases of being handled as errors when processing of a command cannot be finished within a time limit provided on the command received from another OS in comparison with a case of not allocating the command to a task with predetermined priority.SOLUTION: Reception means of an information processing device receives a command from a first OS to a second OS. If processing of the command cannot be finished within a time limit provided on the command at a CPU use rate of the second OS, an allocation means allocates the processing of the command to a task with predetermined priority.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理装置及び情報処理プログラムに関する。   The present invention relates to an information processing apparatus and an information processing program.

特許文献1には、タスクがデッドラインを超過するか否かをできる限り早い段階で予測し、システム全体がシャットダウンすることを早めに回避することができる、車両制御装置を提供することを課題とし、車両制御装置は、タスクを構成するサブタスクの遅延度を求め、遅延度が閾値以上であれば当該タスクに代えてフェールセーフタスクを実行し、遅延度が閾値未満であれば当該タスクを継続することが開示されている。   It is an object of Patent Document 1 to provide a vehicle control device that can predict whether a task exceeds a deadline at the earliest possible stage and can avoid early shutdown of the entire system. The vehicle control device obtains the degree of delay of the subtasks constituting the task, executes the fail-safe task instead of the task if the degree of delay is equal to or greater than the threshold, and continues the task if the degree of delay is less than the threshold. It is disclosed.

特許文献2には、タスク制御の対象とされるアプリケーションソフトウェアの適用範囲の制約を軽減することを課題とし、プロセッサによってアプリケーションソフトウェアタスクが実行される場合において、アプリケーションソフトウェアタスクには予めチェックポイントが埋め込まれ、前記アプリケーションソフトウェアタスクの実行中に、前記チェックポイントを用いて、前記アプリケーションソフトウェアタスクの経過ポイントを問い合わせ、問い合わせた結果の現在の経過ポイントと経過ポイントに対応する経過予算から前記タスクの進捗状況を判断し、その判断結果に基づいて、タスクが利用する共有リソースを制御するとともに、新たな経過予算を設定し、これにより、タスク制御の対象とされるアプリケーションソフトウェアの適用範囲の制約が軽減されることが開示されている。   In Patent Document 2, an object is to reduce restrictions on the application range of application software that is subject to task control. When an application software task is executed by a processor, a checkpoint is embedded in the application software task in advance. During the execution of the application software task, the progress point of the application software task is inquired using the checkpoint, and the progress status of the task is obtained from the current progress point of the inquiry result and the progress budget corresponding to the progress point. Based on the determination result, the shared resource used by the task is controlled, and a new progress budget is set. As a result, the application software subject to task control is set. Coverage restrictions is disclosed to be alleviated.

特許文献3には、シリアル通信専用デバイスによるシリアル通信と、CPUによるシリアル通信とを動的に選択して、常に速度の速いシリアル通信を可能とする通信装置を提供することを課題とし、接続された対象デバイスに対して、シリアル通信専用のデバイスを介してシリアル通信する手段と、CPUのデータ転送制御にしたがいシリアル通信する手段とを備えた通信装置であって、CPU負荷を判断する判定基準を設けており、シリアルデータ転送の要求があったときには、該判定基準に基づいて、CPU負荷が高いと判断したときはシリアル通信専用のデバイスでデータ転送させる一方、CPU負荷が低いと判断したときはCPUのデータ転送制御によりデータ転送させるデータ転送選択手段を有していることが開示されている。   Patent Document 3 is connected with the object of providing a communication device that can dynamically select serial communication by a dedicated device for serial communication and serial communication by a CPU to always enable high-speed serial communication. A communication device comprising means for serial communication with a target device via a device dedicated to serial communication and means for serial communication in accordance with CPU data transfer control, wherein a determination criterion for determining the CPU load is When there is a request for serial data transfer, based on the determination criteria, when it is determined that the CPU load is high, data is transferred by a device dedicated to serial communication, while when it is determined that the CPU load is low It is disclosed that data transfer selection means for transferring data by data transfer control of the CPU is provided.

特開2016−066139号公報Japanese Patent Application Laid-Open No. 2006-066139 特開2009−025939号公報JP 2009-025939 A 特開2006−350891号公報JP 2006-350891 A

複数のOS間で指令(以下、コマンドともいう)のやり取りを行う技術がある。この指令には、制限時間が対応している。つまり、その制限時間内に、指令の処理が終了しない場合は、エラーとして扱われることになる。
本発明は、他のOSから受信した指令に設けられている制限時間内に、その指令の処理が終了できない場合に、予め定められた優先度のタスクにその指令の処理を割り当てることを行わない場合に比べて、エラーとして扱われることを減少させることができる情報処理装置及び情報処理プログラムを提供することを目的としている。
There is a technique for exchanging commands (hereinafter also referred to as commands) between a plurality of OSs. This command corresponds to a time limit. That is, if the processing of the command does not end within the time limit, it is treated as an error.
The present invention does not assign the processing of the command to a task having a predetermined priority when the processing of the command cannot be completed within the time limit provided for the command received from another OS. It is an object of the present invention to provide an information processing apparatus and an information processing program capable of reducing the number of cases that are handled as errors compared to the case.

かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、第1のOSから第2のOSへの指令を受信する受信手段と、前記第2のOSのCPU使用率では、前記指令に設けられている制限時間内に、該指令の処理が終了できない場合は、予め定められた優先度のタスクに該指令の処理を割り当てる割当手段を有する情報処理装置である。
The gist of the present invention for achieving the object lies in the inventions of the following items.
According to the first aspect of the present invention, the receiving means for receiving a command from the first OS to the second OS, and the CPU usage rate of the second OS, the time limit provided in the command is within the time limit. When the command processing cannot be completed, the information processing apparatus includes an assigning unit that allocates the command processing to a task having a predetermined priority.

請求項2の発明は、前記割当手段は、予め定められた優先度のタスクとして、既に受信している指令の処理を行うタスクよりも優先して行われるタスクを割り当てる、請求項1に記載の情報処理装置である。   According to a second aspect of the present invention, in the first aspect of the present invention, the assigning unit assigns a task to be performed with priority over a task for processing a command that has already been received as a task having a predetermined priority. Information processing apparatus.

請求項3の発明は、前記第2のOSのCPU使用率で、前記指令に設けられている制限時間内に、該指令の処理が終了できる場合は、該指令を既に受信している指令の待ち行列に加える、請求項1に記載の情報処理装置である。   According to the third aspect of the present invention, if the processing of the command can be completed within the time limit provided in the command at the CPU usage rate of the second OS, the command already received The information processing apparatus according to claim 1, wherein the information processing apparatus is added to a queue.

請求項4の発明は、CPU使用率と該CPU使用率で対応できる制限時間との関係を用いて、前記受信手段が受信した指令の制限時間内に、該指令の処理を終了できるか否かを判断する、請求項1に記載の情報処理装置である。   The invention of claim 4 uses the relationship between the CPU usage rate and the time limit that can be handled by the CPU usage rate to determine whether or not the processing of the command can be completed within the time limit of the command received by the receiving means. The information processing apparatus according to claim 1, wherein:

請求項5の発明は、前記関係を用いて、前記CPU使用率に対応する制限時間を閾値として、前記受信手段が受信した指令の制限時間と該閾値とを比較することによって、該制限時間内に、該指令の処理を終了できるか否かを判断する、請求項4に記載の情報処理装置である。   The invention according to claim 5 uses the relation to compare the time limit of the command received by the receiving means with the threshold value by using the time limit corresponding to the CPU usage rate as a threshold value. The information processing apparatus according to claim 4, wherein it is determined whether or not the processing of the command can be terminated.

請求項6の発明は、前記関係を用いて、前記制限時間に対応するCPU使用率を閾値として、前記第2のOSのCPU使用率と該閾値とを比較することによって、該制限時間内に、該指令の処理を終了できるか否かを判断する、請求項4に記載の情報処理装置である。   The invention according to claim 6 uses the relation to compare the CPU usage rate of the second OS with the threshold value by using the CPU usage rate corresponding to the time limit as a threshold value. The information processing apparatus according to claim 4, wherein it is determined whether or not the processing of the command can be terminated.

請求項7の発明は、前記関係は、過去の実績に応じて学習したものである、請求項4に記載の情報処理装置である。   The invention according to claim 7 is the information processing apparatus according to claim 4, wherein the relationship is learned in accordance with past results.

請求項8の発明は、コンピュータを、第1のOSから第2のOSへの指令を受信する受信手段と、前記第2のOSのCPU使用率では、前記指令に設けられている制限時間内に、該指令の処理が終了できない場合は、予め定められた優先度のタスクに該指令の処理を割り当てる割当手段として機能させるための情報処理プログラムである。   In the invention of claim 8, the computer receives the command from the first OS to the second OS, and the CPU usage rate of the second OS is within the time limit provided in the command. In addition, when the processing of the command cannot be completed, the information processing program is made to function as an assigning unit that allocates the processing of the command to a task having a predetermined priority.

請求項1の情報処理装置によれば、他のOSから受信した指令に設けられている制限時間内に、その指令の処理が終了できない場合に、予め定められた優先度のタスクにその指令の処理を割り当てることを行わない場合に比べて、エラーとして扱われることを減少させることができる。   According to the information processing apparatus of the first aspect, when the processing of the command cannot be completed within the time limit provided for the command received from another OS, the command of the command is assigned to a task having a predetermined priority. Compared with a case where processing is not assigned, it is possible to reduce the handling of errors.

請求項2の情報処理装置によれば、予め定められた優先度のタスクとして、既に受信している指令の処理を行うタスクよりも優先して行われるタスクを割り当てることができる。   According to the information processing apparatus of the second aspect, it is possible to assign a task to be performed with higher priority than a task for processing a command that has already been received as a task having a predetermined priority.

請求項3の情報処理装置によれば、指令の処理が制限時間内に終了できる場合は、その指令を既に受信している指令の待ち行列に加えることができる。   According to the information processing apparatus of the third aspect, when the command processing can be completed within the time limit, the command can be added to the queue of commands that have already been received.

請求項4の情報処理装置によれば、CPU使用率とそのCPU使用率で対応できる制限時間との関係を用いて、指令の処理を制限時間内に終了できるか否かを判断することができる。   According to the information processing apparatus of the fourth aspect, it is possible to determine whether or not the command processing can be completed within the time limit using the relationship between the CPU usage rate and the time limit that can be handled by the CPU usage rate. .

請求項5の情報処理装置によれば、指令の制限時間とCPU使用率に対応する制限時間とを比較することによって、指令の処理を制限時間内に終了できるか否かを判断することができる。   According to the information processing apparatus of the fifth aspect, it is possible to determine whether or not the command processing can be completed within the time limit by comparing the command time limit and the time limit corresponding to the CPU usage rate. .

請求項6の情報処理装置によれば、第2のOSのCPU使用率と制限時間に対応するCPU使用率とを比較することによって、指令の処理を制限時間内に終了できるか否かを判断することができる。   According to the information processing apparatus of the sixth aspect, by comparing the CPU usage rate of the second OS with the CPU usage rate corresponding to the time limit, it is determined whether or not the command processing can be completed within the time limit. can do.

請求項7の情報処理装置によれば、関係を、過去の実績に応じて学習することができる。   According to the information processing apparatus of the seventh aspect, the relationship can be learned according to the past results.

請求項8の情報処理プログラムによれば、他のOSから受信した指令に設けられている制限時間内に、その指令の処理が終了できない場合に、予め定められた優先度のタスクにその指令の処理を割り当てることを行わない場合に比べて、エラーとして扱われることを減少させることができる。   According to the information processing program of claim 8, when the processing of the command cannot be completed within the time limit provided for the command received from another OS, the command of the command is assigned to a task having a predetermined priority. Compared with a case where processing is not assigned, it is possible to reduce the handling of errors.

本実施の形態の構成例についての概念的なモジュール構成図である。It is a conceptual module block diagram about the structural example of this Embodiment. 本実施の形態を利用したシステム構成例を示す説明図である。It is explanatory drawing which shows the system configuration example using this Embodiment. 従来のOS間通信の処理例を示す説明図である。It is explanatory drawing which shows the example of a process of the communication between conventional OSs. 従来のコマンド処理例で、正常終了する場合を示す説明図である。It is explanatory drawing which shows the case where it completes normally in the example of conventional command processing. 従来のコマンド処理例で、制限時間に間に合わず異常終了する場合を示す説明図である。It is explanatory drawing which shows the case where it terminates abnormally in time for time limit in the example of conventional command processing. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. コマンド・制限時間対応テーブルのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of a command and time limit correspondence table. 制限時間・CPU使用率閾値対応テーブルのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of a time limit / CPU utilization rate threshold value correspondence table. 制限時間内に処理を完了させるためのCPU使用率の閾値例を示す説明図である。It is explanatory drawing which shows the example of a threshold value of CPU usage rate for completing a process within time limit. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. CPU使用率・制限時間閾値対応テーブルのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of CPU usage-rate / time limit threshold value correspondence table. 制限時間内に処理を完了させるためのCPU使用率の閾値例を示す説明図である。It is explanatory drawing which shows the example of a threshold value of CPU usage rate for completing a process within time limit. 本実施の形態による処理例を示す説明図である。It is explanatory drawing which shows the process example by this Embodiment. 本実施の形態による処理例を示す説明図である。It is explanatory drawing which shows the process example by this Embodiment. 本実施の形態による処理例を示す説明図である。It is explanatory drawing which shows the process example by this Embodiment. 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the computer which implement | achieves this Embodiment.

以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
Hereinafter, an example of a preferred embodiment for realizing the present invention will be described with reference to the drawings.
FIG. 1 shows a conceptual module configuration diagram of a configuration example of the present embodiment.
The module generally refers to components such as software (computer program) and hardware that can be logically separated. Therefore, the module in the present embodiment indicates not only a module in a computer program but also a module in a hardware configuration. Therefore, the present embodiment is a computer program for causing these modules to function (a program for causing a computer to execute each procedure, a program for causing a computer to function as each means, and a function for each computer. This also serves as an explanation of the program and system and method for realizing the above. However, for the sake of explanation, the words “store”, “store”, and equivalents thereof are used. However, when the embodiment is a computer program, these words are stored in a storage device or stored in memory. This means that control is performed so as to be stored in the apparatus. Modules may correspond to functions one-to-one, but in mounting, one module may be configured by one program, or a plurality of modules may be configured by one program, and conversely, one module May be composed of a plurality of programs. The plurality of modules may be executed by one computer, or one module may be executed by a plurality of computers in a distributed or parallel environment. Note that one module may include other modules. Hereinafter, “connection” is used not only for physical connection but also for logical connection (data exchange, instruction, reference relationship between data, login, etc.). “Predetermined” means that the process is determined before the target process, and not only before the process according to this embodiment starts but also after the process according to this embodiment starts. Also, if it is before the target processing, it is used in accordance with the situation / status at that time or with the intention to be decided according to the status / status up to that point. When there are a plurality of “predetermined values”, they may be different values, or two or more values (of course, including all values) may be the same. In addition, the description of “do B when A” is used to mean “determine whether or not A and do B when A”. However, the case where it is not necessary to determine whether or not A is excluded. In addition, when enumerating things such as “A, B, C”, etc., it is an enumerated list unless otherwise specified, and includes cases where only one of them is selected (for example, only A).
In addition, the system or device is configured by connecting a plurality of computers, hardware, devices, and the like by communication means such as a network (including one-to-one correspondence communication connection), etc., and one computer, hardware, device. The case where it implement | achieves by etc. is included. “Apparatus” and “system” are used as synonymous terms. Of course, the “system” does not include a social “mechanism” (social system) that is an artificial arrangement.
In addition, when performing a plurality of processes in each module or in each module, the target information is read from the storage device for each process, and the processing result is written to the storage device after performing the processing. is there. Therefore, description of reading from the storage device before processing and writing to the storage device after processing may be omitted. Here, the storage device may include a hard disk, a RAM (Random Access Memory), an external storage medium, a storage device via a communication line, a register in a CPU (Central Processing Unit), and the like.

本実施の形態である情報処理装置100は、OS(Operating System)間通信の処理を行うものであって、図1の例に示すように、OS(A)110、OS(B)120を有している。
OS間通信を伴うコマンド処理のタイムアウトによりシステムエラーが生じる。そのためコマンド処理がタイムアウトになるのを避けるための技術が必要になる。
マルチプロセッサ構成によるOS間通信を行う場合、パフォーマンスに影響する時間的制約が課題となる。
情報処理装置100は、コマンド送受信(例えば、OS(A)110からOS(B)120へ、又は、OS(B)120からOS(A)110へ、等)が完了するまでの制限時間を各コマンドが超過しないように制御している。
The information processing apparatus 100 according to the present embodiment performs processing of OS (Operating System) communication, and includes an OS (A) 110 and an OS (B) 120 as shown in the example of FIG. doing.
A system error occurs due to a timeout of command processing involving communication between OSs. Therefore, a technique for avoiding command processing from timing out is required.
When performing inter-OS communication using a multiprocessor configuration, time constraints that affect performance become an issue.
The information processing apparatus 100 sets a time limit for completion of command transmission / reception (for example, from OS (A) 110 to OS (B) 120 or from OS (B) 120 to OS (A) 110). The command is controlled not to exceed.

OS(A)110とOS(B)120は、それぞれのCPU上で動作するOSである。例えば、OS(A)110として、主にユーザーインタフェース関連の処理を担当させ、OS(B)120として、主にデバイスの制御を担当させるようにしてもよい。具体的には、OS(A)110として、汎用OSであるLinux(登録商標)等、OS(B)120として、組込みOS(又は、リアルタイムOS)であるvxWorks(登録商標)等を採用してもよい。   The OS (A) 110 and the OS (B) 120 are OSs that operate on the respective CPUs. For example, the OS (A) 110 may be mainly responsible for user interface-related processing, and the OS (B) 120 may be mainly responsible for device control. Specifically, Linux (registered trademark), which is a general-purpose OS, is adopted as the OS (A) 110, and vxWorks (registered trademark), which is an embedded OS (or real-time OS), is adopted as the OS (B) 120. Also good.

OS(A)110は、通信モジュール115を有している。
通信モジュール115は、OS(B)120の通信モジュール125と接続されている。通信モジュール115は、OS(A)110とOS(B)120との間の通信を行う。通信モジュール115は、OS(A)110からOS(B)120への指令を送信する。例えば、OS(A)110は、ユーザーインタフェースを介して、ユーザーの操作を受け付ける。その操作による指示にOS(B)120が管理しているデバイスへの指令を含む場合は、通信モジュール115は、OS(A)110からOS(B)120への指令を送信する。具体的な例として、ユーザーからの印刷指示を受け付けた場合、プリンターへの指令がOS(B)120に送信されることになる。また、逆に、通信モジュール115は、OS(B)120からOS(A)110に送信されてきた、その指令の処理結果等を受信する。
The OS (A) 110 has a communication module 115.
The communication module 115 is connected to the communication module 125 of the OS (B) 120. The communication module 115 performs communication between the OS (A) 110 and the OS (B) 120. The communication module 115 transmits a command from the OS (A) 110 to the OS (B) 120. For example, the OS (A) 110 receives a user operation via the user interface. When the instruction by the operation includes a command to the device managed by the OS (B) 120, the communication module 115 transmits a command from the OS (A) 110 to the OS (B) 120. As a specific example, when a print instruction is received from a user, a command to the printer is transmitted to the OS (B) 120. Conversely, the communication module 115 receives the processing result of the command transmitted from the OS (B) 120 to the OS (A) 110.

OS(B)120は、通信モジュール125、タスク割当処理モジュール130、処理結果取得モジュール160、ログ記憶モジュール165、学習モジュール170を有している。
通信モジュール125は、OS(A)110の通信モジュール115と接続されている。通信モジュール125は、OS(B)120とOS(A)110との間の通信を行う。通信モジュール125は、OS(A)110からOS(B)120への指令を受信する。また、逆に、通信モジュール125は、OS(B)120からOS(A)110にその指令の処理結果等を送信する。
The OS (B) 120 includes a communication module 125, a task assignment processing module 130, a processing result acquisition module 160, a log storage module 165, and a learning module 170.
The communication module 125 is connected to the communication module 115 of the OS (A) 110. The communication module 125 performs communication between the OS (B) 120 and the OS (A) 110. The communication module 125 receives a command from the OS (A) 110 to the OS (B) 120. Conversely, the communication module 125 transmits the processing result of the command from the OS (B) 120 to the OS (A) 110.

タスク割当処理モジュール130は、制限時間取得モジュール135、CPU使用率取得モジュール140、判断モジュール145、タスク割当モジュール155を有している。
制限時間取得モジュール135は、通信モジュール125が受信した指令に設けられている制限時間を抽出する。ここでの制限時間とは、その指令の処理を終了させるまでの時間である。例えば、制限時間取得モジュール135は、後述する図7に示すコマンド・制限時間対応テーブル700を用いて、指令に設けられている制限時間を抽出するようにしてもよい。
また、OS(A)110から送信されてきた指令そのものに制限時間が付加されていてもよい。その場合、制限時間取得モジュール135は、指令に付加されている制限時間を抽出すればよい。
CPU使用率取得モジュール140は、OS(B)120が動作しているCPUの使用率を取得する。例えば、OS(B)120が用意しているタスクマネージャー等を用いて、現在のCPUの使用率を取得すればよい。
The task allocation processing module 130 includes a time limit acquisition module 135, a CPU usage rate acquisition module 140, a determination module 145, and a task allocation module 155.
The time limit acquisition module 135 extracts the time limit provided in the command received by the communication module 125. The time limit here is the time until the processing of the command is terminated. For example, the time limit acquisition module 135 may extract the time limit provided in the command using a command / time limit correspondence table 700 shown in FIG.
Further, a time limit may be added to the command itself transmitted from the OS (A) 110. In that case, the time limit acquisition module 135 may extract the time limit added to the command.
The CPU usage rate acquisition module 140 acquires the usage rate of the CPU on which the OS (B) 120 is operating. For example, the current CPU usage rate may be acquired using a task manager or the like prepared by the OS (B) 120.

判断モジュール145は、閾値記憶モジュール150を有しており、タスク割当モジュール155と接続されている。判断モジュール145は、CPU使用率とそのCPU使用率で対応できる制限時間との関係を用いて、通信モジュール125が受信した指令の制限時間内に、その指令の処理を終了できるか否かを判断する。
「CPU使用率とそのCPU使用率で対応できる制限時間との関係」として、具体的には、CPU使用率と制限時間とを対応させた表(テーブル)、CPU使用率と制限時間とを変数とした関係式等がある。
なお、「CPU使用率とそのCPU使用率で対応できる制限時間との関係」の用い方に2通りある。
1つ目は、その関係(CPU使用率とそのCPU使用率で対応できる制限時間との関係)を用いて、CPU使用率に対応する制限時間を閾値として、通信モジュール125が受信した指令の制限時間とその閾値とを比較することによって、その制限時間内に、その指令の処理を終了できるか否かを判断するものである。
2つ目は、その関係(CPU使用率とそのCPU使用率で対応できる制限時間との関係)を用いて、制限時間に対応するCPU使用率を閾値として、OS(B)120のCPU使用率とその閾値とを比較することによって、その制限時間内に、その指令の処理を終了できるか否かを判断するものである。
この関係は、ログ記憶モジュール165に記憶されている過去の実績に応じて、学習モジュール170が学習したものとしてもよい。
The determination module 145 has a threshold storage module 150 and is connected to the task assignment module 155. The determination module 145 determines whether or not the processing of the command can be completed within the time limit of the command received by the communication module 125, using the relationship between the CPU usage rate and the time limit that can be handled by the CPU usage rate. To do.
As the “relationship between the CPU usage rate and the time limit that can be handled by the CPU usage rate”, specifically, a table (table) in which the CPU usage rate and the time limit are associated with each other, the CPU usage rate and the time limit are variables. There is a relational expression.
There are two ways to use the “relationship between the CPU usage rate and the time limit that can be handled by the CPU usage rate”.
First, using the relationship (the relationship between the CPU usage rate and the time limit that can be supported by the CPU usage rate), the limit of the command received by the communication module 125 using the time limit corresponding to the CPU usage rate as a threshold value. By comparing the time and the threshold value, it is determined whether or not the processing of the command can be completed within the time limit.
Second, using the relationship (the relationship between the CPU usage rate and the time limit that can be handled by the CPU usage rate), the CPU usage rate of the OS (B) 120 using the CPU usage rate corresponding to the time limit as a threshold value. Is compared with the threshold value to determine whether or not the processing of the command can be completed within the time limit.
This relationship may be learned by the learning module 170 in accordance with past results stored in the log storage module 165.

閾値記憶モジュール150は、学習モジュール170と接続されている。閾値記憶モジュール150は、判断モジュール145による判断処理で用いる閾値を記憶している。例えば、後述する図8に示す制限時間・CPU使用率閾値対応テーブル800、図11に示すCPU使用率・制限時間閾値対応テーブル1100を記憶している。   The threshold storage module 150 is connected to the learning module 170. The threshold storage module 150 stores a threshold used in determination processing by the determination module 145. For example, a time limit / CPU usage rate threshold correspondence table 800 shown in FIG. 8 and a CPU usage rate / time limit threshold correspondence table 1100 shown in FIG. 11 are stored.

タスク割当モジュール155は、判断モジュール145と接続されている。タスク割当モジュール155は、OS(B)120のCPU使用率では、指令に設けられている制限時間内に、その指令の処理が終了できない場合は、予め定められた優先度のタスクに、その指令の処理を割り当てる。
また、タスク割当モジュール155は、予め定められた優先度のタスクとして、既に受信している指令の処理を行うタスクよりも優先して行われるタスクを割り当てるようにしてもよい。つまり、他のタスクよりも優先してデバイスを利用することができるようになる。また、タスクを割り当てる際に、デバイスが使用中である場合であっても、その使用(指令の処理)を中断して、割り当てられたタスクの処理を行うようにしてもよい。また、デバイスが処理の中断を許さない場合は、タスクを割り当てる際に、デバイスが使用中である場合は、その使用(指令の処理)が終了するのを待って、その直後に割り当てられたタスクの処理を行うようにしてもよい。
また、タスク割当モジュール155は、OS(B)120のCPU使用率で、指令に設けられている制限時間内に、その指令の処理が終了できる場合は、その指令を既に受信している指令の待ち行列に加えるようにしてもよい。つまり、通信モジュール125が受信した順序通りに指令の処理を行わせるものである。
The task assignment module 155 is connected to the determination module 145. When the CPU usage rate of the OS (B) 120 cannot complete the processing of the command within the time limit provided in the command, the task allocation module 155 sends the command to the task having a predetermined priority. Allocate processing.
Further, the task assignment module 155 may assign a task that is given priority over a task that performs processing of a command that has already been received as a task having a predetermined priority. In other words, the device can be used with priority over other tasks. Further, when assigning a task, even if the device is in use, the use (command processing) may be interrupted and the assigned task may be processed. If the device does not allow interruption of processing, when assigning a task, if the device is in use, wait for the end of its use (command processing), and then assign the task You may make it perform the process of.
In addition, the task allocation module 155 determines that the command that has already received the command can be completed within the time limit set in the command by the CPU usage rate of the OS (B) 120. You may make it add to a queue. That is, the command processing is performed in the order received by the communication module 125.

処理結果取得モジュール160は、ログ記憶モジュール165と接続されている。処理結果取得モジュール160は、通信モジュール125が受信した指令の処理結果を取得する。処理結果として、例えば、処理が成功した(制限時間以内に終了した)こと、失敗したこと、失敗した場合のその原因、処理時間等がある。
ログ記憶モジュール165は、処理結果取得モジュール160、学習モジュール170と接続されている。ログ記憶モジュール165は、過去の実績を記憶している。ここで、「過去の実績」は、機械学習における教師データであり、具体的には、CPU使用率と制限時間と結果(そのCPU使用率で制限時間以内に終了したか否かを示すデータ)である。
学習モジュール170は、タスク割当処理モジュール130内の判断モジュール145の閾値記憶モジュール150、ログ記憶モジュール165と接続されている。学習モジュール170は、ログ記憶モジュール165内の過去の実績を用いて機械学習を行う。機械学習として、既存の手法を用いればよい。例えば、ニューラルネットワーク、サポートベクターマシン、クラスタリング等を用いればよい。
The processing result acquisition module 160 is connected to the log storage module 165. The processing result acquisition module 160 acquires the processing result of the command received by the communication module 125. The processing result includes, for example, that the processing has succeeded (finished within the time limit), has failed, the cause of the failure, the processing time, and the like.
The log storage module 165 is connected to the processing result acquisition module 160 and the learning module 170. The log storage module 165 stores past results. Here, “past performance” is teacher data in machine learning. Specifically, the CPU usage rate, the time limit, and the result (data indicating whether or not the CPU usage rate ended within the time limit) It is.
The learning module 170 is connected to the threshold storage module 150 and the log storage module 165 of the determination module 145 in the task assignment processing module 130. The learning module 170 performs machine learning using past results in the log storage module 165. An existing method may be used as machine learning. For example, a neural network, a support vector machine, clustering, or the like may be used.

図2は、本実施の形態を利用したシステム構成例を示す説明図である。
画像処理装置200は、情報処理装置100、プリンター210、スキャナー220、符号化・復号装置230、A4ファックス240を有している。画像処理装置200は、例えば、複写機、ファックス、スキャナー、プリンター、複合機(スキャナー、プリンター、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)等である。
情報処理装置100は、OS(A)110、OS(B)120を有している。情報処理装置100は、画像処理装置200全体を制御する。
OS(A)110は、OS(B)120と接続されている。OS(B)120は、OS(A)110、プリンター210、スキャナー220、符号化・復号装置230、A4ファックス240と接続されている。OS(B)120は、プリンター210、スキャナー220、符号化・復号装置230、A4ファックス240を制御する。プリンター210は、情報処理装置100のOS(B)120と接続されている。スキャナー220は、情報処理装置100のOS(B)120と接続されている。符号化・復号装置230は、情報処理装置100のOS(B)120と接続されている。A4ファックス240は、情報処理装置100のOS(B)120と接続されている。
OS(A)110は、ユーザーの操作を受け付け、その操作に対応する指令をOS(B)120に送信する。OS(B)120は、その指令にしたがって、デバイスであるプリンター210等を制御して、その指令の処理を行う。そして、その処理結果をOS(B)120からOS(A)110に送信し、OS(A)110は、その処理結果をユーザーに提示する。
FIG. 2 is an explanatory diagram showing a system configuration example using the present embodiment.
The image processing apparatus 200 includes an information processing apparatus 100, a printer 210, a scanner 220, an encoding / decoding apparatus 230, and an A4 fax 240. The image processing apparatus 200 is, for example, a copying machine, a fax machine, a scanner, a printer, or a multifunction machine (an image processing apparatus having any two or more functions such as a scanner, a printer, a copying machine, and a fax machine).
The information processing apparatus 100 includes an OS (A) 110 and an OS (B) 120. The information processing apparatus 100 controls the entire image processing apparatus 200.
The OS (A) 110 is connected to the OS (B) 120. The OS (B) 120 is connected to the OS (A) 110, the printer 210, the scanner 220, the encoding / decoding device 230, and the A4 fax 240. The OS (B) 120 controls the printer 210, the scanner 220, the encoding / decoding device 230, and the A4 fax 240. The printer 210 is connected to the OS (B) 120 of the information processing apparatus 100. The scanner 220 is connected to the OS (B) 120 of the information processing apparatus 100. The encoding / decoding device 230 is connected to the OS (B) 120 of the information processing device 100. The A4 fax 240 is connected to the OS (B) 120 of the information processing apparatus 100.
The OS (A) 110 receives a user operation and transmits a command corresponding to the operation to the OS (B) 120. The OS (B) 120 controls the printer 210, which is a device, according to the command, and processes the command. Then, the processing result is transmitted from the OS (B) 120 to the OS (A) 110, and the OS (A) 110 presents the processing result to the user.

情報処理装置100における処理例を示す。ただし、以下の説明(本段落番号内の説明)は、本実施の形態の理解を容易にすることを目的とするものであり、この説明を用いて限定解釈することは意図していない。そして、この説明部分のみを用いて、特許を受けようとする発明が発明の詳細な説明に記載したものであること(特許法第36条第6項第1号)の判断を行うべきではないことは当然である。
情報処理装置100は、コマンド制限時間に間に合わないと判断した場合には、高優先度のタスクでそのコマンドを処理することによってシステムエラーを回避するようにしている。
具体的には、通信モジュール125がコマンド処理タスクに振り分ける際、OS(B)120でのCPU使用率を問い合わせ、CPU使用率とコマンドの制限時間の2つを判断材料にして、待ち行列による処理タスクでコマンド処理が制限時間内に終わるか否かを判断し、終わる場合はその待ち行列による処理タスクで、終わらない場合は非常用の高優先度タスクで処理し、制限時間に間に合わせるようにしている。
タスク切り替え判断は、閾値記憶モジュール150にCPU使用率とコマンド制限時間との関係を記憶しておき、高優先度タスクに切り替えるか否かを判断する。この関係はシステムが学習によって変動させ、最適化するようにしてもよい。
単なる待ち行列によって処理タスクを処理した場合においてはCPU使用率が高いとシステムエラーになっていた場合も、情報処理装置100においてはコマンド制限時間に間に合わないと判断された場合、高優先度タスクに切り替えて処理させることで、システムエラーを回避することができる。
OS(A)110から受信したコマンドの処理を、予め設定されたタスクで実行するパス、非常用の高優先度タスクで実行するパスのどちらを使用して実行するかを、CPU使用率とコマンド制限時間の2つから判断して切り替えるようにしている。これによって、予め設定されたタスクでの処理ではコマンド制限時間に間に合わずシステムエラーになってしまうような処理でも、システムエラーにならずに処理を完了させることができるようになる。つまり、システムエラーとなる可能性が低くなることで、画像処理装置200全体の品質の向上が見込まれる。
The process example in the information processing apparatus 100 is shown. However, the following description (the description in this paragraph number) is intended to facilitate understanding of the present embodiment, and is not intended to be interpreted in a limited manner using this description. And it should not be judged that the invention to be patented is described in the detailed explanation of the invention (Patent Act Article 36 (6) (i)) using only this explanation part. It is natural.
When the information processing apparatus 100 determines that the command time limit is not met, the system error is avoided by processing the command with a high priority task.
Specifically, when the communication module 125 allocates the command processing task, it inquires about the CPU usage rate in the OS (B) 120, and uses the CPU usage rate and the command time limit as judgment materials to perform processing based on the queue. The task determines whether or not the command processing ends within the time limit. If it ends, the task is processed by the queue, and if it does not end, it is processed by the emergency high priority task so as to meet the time limit. ing.
In the task switching determination, the threshold storage module 150 stores the relationship between the CPU usage rate and the command time limit, and determines whether to switch to a high priority task. This relationship may be optimized by the system changing by learning.
When a processing task is processed by a simple queue, a system error may occur if the CPU usage rate is high. If the information processing apparatus 100 determines that the command time limit is not met, the task is assigned a high priority task. System errors can be avoided by switching and processing.
Whether the command received from the OS (A) 110 is executed by using a path executed by a preset task or a path executed by an emergency high priority task, the CPU usage rate and the command Judgment is made based on two of the time limits, and switching is performed. As a result, even if a process with a preset task causes a system error due to the command time limit, the process can be completed without causing a system error. That is, since the possibility of a system error is reduced, the quality of the entire image processing apparatus 200 is expected to be improved.

図3は、従来のOS間通信の処理例を示す説明図である。
OS(C)380は、OS(D)390と接続されており、ユーザーの操作に応じた指令をOS(D)390に送信する。
OS(D)390は、OS(C)380と接続されており、その指令にしたがって、タスクであるプリンターメインタスク310、スキャナーメインタスク320、符号化・復号処理メインタスク330、A4ファックスメインタスク340等を生成する。各タスクは、デバイスドライバを制御する。プリンターメインタスク310はプリンター210を制御し、スキャナーメインタスク320はスキャナー220を制御し、符号化・復号処理メインタスク330は符号化・復号装置230を制御し、A4ファックスメインタスク340はA4ファックス240を制御する。
各タスクは、OS(C)380とOS(D)390とのOS間通信の初期化時に決められた優先度で生成される。
FIG. 3 is an explanatory diagram showing a processing example of conventional inter-OS communication.
The OS (C) 380 is connected to the OS (D) 390 and transmits a command corresponding to the user operation to the OS (D) 390.
The OS (D) 390 is connected to the OS (C) 380, and according to the command, the printer main task 310, the scanner main task 320, the encoding / decoding processing main task 330, and the A4 fax main task 340 are tasks. And so on. Each task controls the device driver. The printer main task 310 controls the printer 210, the scanner main task 320 controls the scanner 220, the encoding / decoding processing main task 330 controls the encoding / decoding device 230, and the A4 fax main task 340 includes the A4 fax 240. To control.
Each task is generated with a priority determined at the time of initialization of communication between the OS (C) 380 and OS (D) 390.

例えば、以下に示すような処理を行う。
コピー、プリント等のサービスは、OS(C)380(例えば、Linux)からOS(D)390(例えば、vxWorks)にOS間通信でコマンドを送信し、OS(D)390のデバイスドライバが各デバイスを制御して処理し、処理結果をOS(D)390からOS(C)380にOS間通信で送信することで実現している。
このコマンド処理には制限時間が設けられており、制限時間を超過するとシステムエラーとなってしまう。
従来のOS間通信構成では、コマンド毎にタスクが割り振られており、OS(D)390はコマンドを受信すると、事前に割り振られたタスクで処理を実行する。
例えばコマンドを4つ受信したとき、CPU使用率が低い場合は制限時間内にコマンド処理を完了させることができるが、CPU使用率が高い場合は制限時間内にコマンド処理を完了できず、システムエラーとなってしまう場合がある。
情報処理装置100は、コマンド制限時間超過によるシステムエラーを回避するようにしている。これによって、情報処理装置100を具備する画像処理装置200等の製品品質向上を図る。
For example, the following processing is performed.
A service such as copying and printing is performed by transmitting a command from the OS (C) 380 (for example, Linux) to the OS (D) 390 (for example, vxWorks) through inter-OS communication, and the device driver of the OS (D) 390 This process is realized by transmitting the processing result from the OS (D) 390 to the OS (C) 380 through inter-OS communication.
This command processing has a time limit, and if the time limit is exceeded, a system error occurs.
In the conventional inter-OS communication configuration, a task is allocated for each command, and when the OS (D) 390 receives the command, the task is executed with the task allocated in advance.
For example, when four commands are received, if the CPU usage rate is low, the command processing can be completed within the time limit, but if the CPU usage rate is high, the command processing cannot be completed within the time limit, resulting in a system error It may become.
The information processing apparatus 100 avoids a system error caused by exceeding the command time limit. As a result, the product quality of the image processing apparatus 200 including the information processing apparatus 100 is improved.

図4は、従来のコマンド処理例で、正常終了する場合を示す説明図である。
OS(D)390は、図4(a)の例に示すように、コマンド1:410、コマンド2:420、コマンド3:430、コマンド4:440の順序でOS(C)380からのコマンドを受信したとする。これを、待ち行列として実現している。
FIG. 4 is an explanatory diagram showing a case of normal termination in a conventional command processing example.
As shown in the example of FIG. 4A, the OS (D) 390 receives commands from the OS (C) 380 in the order of command 1: 410, command 2: 420, command 3: 430, command 4: 440. Suppose it is received. This is realized as a queue.

図4(b)の例は、各コマンドに対応するタスクのタイムチャートを示している。つまり、左端を0時間(コマンド1:410を受信した時間)とし、右側への移行で時間の経過を示している時間軸上で、各コマンドの処理の時間(処理を待機している時間、処理が開始された時間、終了した時間)を示している。そして、各コマンドの制限時間を示している。コマンド4制限時間490が短く、それよりも長いコマンド1/2/3制限時間480がある。
例えば、図4(b)に示すように、CPU使用率が10%である場合(CPUに余裕がある場合の例)は、コマンド1:410に対応してコマンド実行時間415(待機時間がないのは、コマンド1:410の受信後のすぐに処理を開始しているからである)があり、コマンド2:420に対応してコマンド実行待機時間423、コマンド実行時間425があり、コマンド3:430に対応してコマンド実行待機時間433、コマンド実行時間435があり、コマンド4:440に対応してコマンド実行待機時間443、コマンド実行時間445がある。なお、コマンド実行待機時間423の終了(コマンド実行時間425の開始)は、コマンド実行時間415の終了に対応している。つまり、コマンド1:410の処理が終了し、タスクの切り替わりによって、次のコマンド2:420の処理が開始されるからである。
CPU使用率が10%であるので、全てのコマンドの処理がコマンド4制限時間490内に終了している。したがって、タイムアウトによりシステムエラーは生じていない。
The example of FIG. 4B shows a time chart of tasks corresponding to each command. That is, the left end is 0 hour (the time when the command 1: 410 is received), and the processing time of each command (the time waiting for the processing, The time when the process is started and the time when the process is finished). And the time limit of each command is shown. The command 4 time limit 490 is short, and there is a command 1/2/3 time limit 480 longer than that.
For example, as shown in FIG. 4B, when the CPU usage rate is 10% (an example in which the CPU has room), the command execution time 415 (no waiting time) corresponding to the command 1: 410. This is because the processing is started immediately after the command 1: 410 is received), and there is a command execution waiting time 423 and a command execution time 425 corresponding to the command 2: 420, and the command 3: A command execution standby time 433 and a command execution time 435 correspond to 430, and a command execution standby time 443 and a command execution time 445 correspond to the command 4: 440. Note that the end of the command execution waiting time 423 (the start of the command execution time 425) corresponds to the end of the command execution time 415. That is, the process of the command 1: 410 is completed, and the process of the next command 2: 420 is started by task switching.
Since the CPU usage rate is 10%, processing of all commands is completed within the command 4 time limit 490. Therefore, no system error has occurred due to timeout.

また、図4(c)の例に示すように、OS(D)390からOS(C)380へのコマンドの処理結果の応答順も、コマンド1:417、コマンド2:427、コマンド3:437、コマンド4:447の順序であり、図4(a)の例に示したコマンドの受信順と同じである。   Also, as shown in the example of FIG. 4C, the response order of the command processing results from the OS (D) 390 to the OS (C) 380 is also command 1: 417, command 2: 427, command 3: 437. , Command 4: 447, which is the same as the command reception order shown in the example of FIG.

図5は、従来のコマンド処理例で、制限時間に間に合わず異常終了する場合を示す説明図である。
OS(D)390は、図5(a)の例に示すように、コマンド1:410、コマンド2:420、コマンド3:430、コマンド4:440の順序でOS(C)380からのコマンドを受信したとする。
FIG. 5 is an explanatory diagram showing a case in which the command is terminated in a conventional command processing example and the time limit is not met.
As shown in the example of FIG. 5A, the OS (D) 390 receives commands from the OS (C) 380 in the order of command 1: 410, command 2: 420, command 3: 430, command 4: 440. Suppose it is received.

例えば、図5(b)に示すように、CPU使用率が90%である場合(CPUに余裕がない場合の例)は、コマンド1:410に対応してコマンド実行時間515があり、コマンド2:420に対応してコマンド実行待機時間523、コマンド実行時間525があり、コマンド3:430に対応してコマンド実行待機時間533、コマンド実行時間535があり、コマンド4:440に対応してコマンド実行待機時間543、コマンド実行時間545がある。
CPU使用率が90%の場合のコマンド実行時間515は、図4の例に示したCPU使用率が10%の場合のコマンド実行時間415と比較して、差分時間510だけ長くなっている。
そのため、その後のコマンド2:420、コマンド3:430、コマンド4:440においても、コマンド実行待機時間523、コマンド実行待機時間533、コマンド実行待機時間543は、コマンド実行待機時間423、コマンド実行待機時間433、コマンド実行待機時間443よりも長くなり、コマンド実行時間525、コマンド実行時間535、コマンド実行時間545は、コマンド実行時間425、コマンド実行時間435、コマンド実行時間445よりも長くなっている。
したがって、コマンド1:410、コマンド2:420、コマンド3:430はコマンド1/2/3制限時間480前に終了するが、コマンド4:440はコマンド4制限時間490前に終了することができなくなってしまう。つまり、CPU使用率が90%であるので、各処理は、図4(b)の例に示した処理よりも長い時間がかかっており、コマンド実行時間545で、コマンド4制限時間490を過ぎてしまうので、タイムアウトによりシステムエラーが生じてしまう。
For example, as shown in FIG. 5B, when the CPU usage rate is 90% (an example where the CPU has no margin), there is a command execution time 515 corresponding to the command 1: 410, and the command 2 : Command execution waiting time 523 and command execution time 525 corresponding to 420, command execution waiting time 533 and command execution time 535 corresponding to command 3: 430, command execution corresponding to command 4: 440 There is a waiting time 543 and a command execution time 545.
The command execution time 515 when the CPU usage rate is 90% is longer by the difference time 510 than the command execution time 415 when the CPU usage rate is 10% shown in the example of FIG.
Therefore, also in the subsequent command 2: 420, command 3: 430, and command 4: 440, the command execution standby time 523, the command execution standby time 533, and the command execution standby time 543 are the command execution standby time 423 and the command execution standby time. The command execution time 525, the command execution time 535, and the command execution time 545 are longer than the command execution time 425, the command execution time 435, and the command execution time 445.
Therefore, command 1: 410, command 2: 420, command 3: 430 end before command 1/2/3 time limit 480, but command 4: 440 cannot end before command 4 time limit 490. End up. That is, since the CPU usage rate is 90%, each process takes longer than the process shown in the example of FIG. 4B, and the command execution time 545 exceeds the command 4 time limit 490. Therefore, a system error occurs due to timeout.

あるコマンド(図5の例では、コマンド1:410、コマンド2:420、コマンド3:430)が処理を握ってしまい、他のコマンド(図5の例では、コマンド4:440)が制限時間内に処理を完了できずにタイムアウトしてしまう。
制限時間が短いコマンドを優先的に処理させ、タイムアウトが起こらないようにすべきである。なお、前提として、CPUの使用率が高いため、コマンド処理に時間がかかっている。
図5の例では、制限時間をオーバーしているため、コマンド4:440の処理はエラーとなり、システムエラーと判断される。
A certain command (command 1: 410, command 2: 420, command 3: 430 in the example of FIG. 5) grasps the process, and another command (command 4: 440 in the example of FIG. 5) is within the time limit. Timed out without completing the process.
Commands with a short time limit should be processed preferentially and timeouts should not occur. As a premise, since the usage rate of the CPU is high, the command processing takes time.
In the example of FIG. 5, since the time limit is exceeded, the process of command 4: 440 results in an error and is determined to be a system error.

図6は、本実施の形態による処理例を示すフローチャートである。
ステップS602では、通信モジュール125は、コマンドを受信する。
ステップS604では、制限時間取得モジュール135は、制限時間を取得する。制限時間取得モジュール135は、例えば、コマンド・制限時間対応テーブル700を用いて、ステップS602で受信したコマンドに対応する制限時間を取得してもよい。図7は、コマンド・制限時間対応テーブル700のデータ構造例を示す説明図である。コマンド・制限時間対応テーブル700は、コマンド欄710、制限時間欄720を有している。コマンド欄710は、コマンド(指令)を記憶している。制限時間欄720は、そのコマンドに対応する制限時間を記憶している。
制限時間の取得方法として、ステップS602で受信したコマンドに付随してきた制限時間を取得してもよい。この場合は、OS(A)110が制限時間を指定してきた場合である。
FIG. 6 is a flowchart showing an example of processing according to this embodiment.
In step S602, the communication module 125 receives a command.
In step S604, the time limit acquisition module 135 acquires the time limit. The time limit acquisition module 135 may acquire the time limit corresponding to the command received in step S602 using, for example, the command / time limit correspondence table 700. FIG. 7 is an explanatory diagram showing an example of the data structure of the command / time limit correspondence table 700. The command / time limit correspondence table 700 has a command column 710 and a time limit column 720. The command column 710 stores commands (commands). The time limit column 720 stores a time limit corresponding to the command.
As a time limit acquisition method, the time limit associated with the command received in step S602 may be acquired. In this case, the OS (A) 110 has designated a time limit.

ステップS606では、CPU使用率取得モジュール140は、OS(B)120の現在のCPU使用率を取得する。
ステップS608では、判断モジュール145は、その制限時間におけるCPU使用率の閾値を取得する。判断モジュール145は、例えば、制限時間・CPU使用率閾値対応テーブル800を用いて、CPU使用率の閾値を取得してもよい。図8は、制限時間・CPU使用率閾値対応テーブル800のデータ構造例を示す説明図である。制限時間・CPU使用率閾値対応テーブル800は、制限時間欄810、CPU使用率閾値欄820を有している。制限時間欄810は、制限時間を記憶している。CPU使用率閾値欄820は、その制限時間におけるCPU使用率の閾値を記憶している。CPU使用率がこの閾値以下であるならば、制限時間以内に完了すると判断することになる。
In step S606, the CPU usage rate acquisition module 140 acquires the current CPU usage rate of the OS (B) 120.
In step S608, the determination module 145 acquires a threshold value of the CPU usage rate for the time limit. For example, the determination module 145 may acquire a threshold value of CPU usage rate using the time limit / CPU usage rate threshold value correspondence table 800. FIG. 8 is an explanatory diagram showing an example of the data structure of the time limit / CPU usage rate threshold correspondence table 800. The time limit / CPU usage rate threshold correspondence table 800 has a time limit column 810 and a CPU usage rate threshold value column 820. The time limit column 810 stores a time limit. The CPU usage rate threshold value column 820 stores a threshold value of the CPU usage rate for the time limit. If the CPU usage rate is less than or equal to this threshold value, it is determined that the process is completed within the time limit.

ステップS610では、判断モジュール145は、「CPU使用率>閾値」であるか否かを判断し、「CPU使用率>閾値」の場合はステップS612へ進み、それ以外の場合はステップS614へ進む。
ステップS612では、タスク割当モジュール155は、受信したコマンドを優先タスクに割り当てる。ここで優先タスクとして、後述する図13の例に示す非常用タスク1310が該当する。
ステップS614では、タスク割当モジュール155は、受信したコマンドを通常のタスクに割り当てる。
In step S610, the determination module 145 determines whether or not “CPU usage rate> threshold”. If “CPU usage rate> threshold”, the process proceeds to step S612. Otherwise, the process proceeds to step S614.
In step S612, the task assignment module 155 assigns the received command to the priority task. Here, an emergency task 1310 shown in the example of FIG. 13 described later corresponds to the priority task.
In step S614, the task assignment module 155 assigns the received command to a normal task.

図9は、制限時間内に処理を完了させるためのCPU使用率の閾値例を示す説明図である。
図9の例に示すグラフは、横軸に制限時間、縦軸にCPU使用率をとり、CPU使用率閾値950を引いたものである。CPU使用率閾値950は、制限時間内に処理を完了させるためのCPU使用率閾値である。つまり、制限時間・CPU使用率閾値対応テーブル800をグラフ化したものである。なお、図9の例では、CPU使用率閾値950は直線になっているが、曲線、学習モジュール170の機械学習によって示される判断基準であってもよい。例えば、このグラフのCPU使用率閾値950は、コマンド処理時のCPU使用率と制限時間の関係を機械学習によって、学習モジュール170が算出し、最適化している。
図9の例に示すグラフでは、CPU使用率低領域910ではコマンド1:911、コマンド4:914のようにプロットされ、CPU使用率高領域990ではコマンド1:991、コマンド4:994のようにプロットされる。CPU使用率閾値950より下にあるコマンド1:911、コマンド4:914、コマンド1:991は、制限時間以内に処理が終了すると判断され、CPU使用率閾値950より上にあるコマンド4:994は、制限時間以内には処理は終了しないと判断される。つまり、CPU使用率が高いとコマンド4は、従来タスクでの処理では制限時間に間に合わない。CPU使用率が低いと従来のタスク処理で制限時間に間に合うことになる。
情報処理装置100は、コマンドの制限時間に対し、CPU使用率がCPU使用率閾値よりも上である場合、高優先度タスクで制限時間内に処理を完了させるようにしている。
FIG. 9 is an explanatory diagram illustrating an example of a threshold value of the CPU usage rate for completing the processing within the time limit.
The graph shown in the example of FIG. 9 is obtained by subtracting the CPU usage rate threshold value 950 from the time limit on the horizontal axis and the CPU usage rate on the vertical axis. The CPU usage rate threshold value 950 is a CPU usage rate threshold value for completing the processing within the time limit. That is, the time limit / CPU usage rate threshold correspondence table 800 is graphed. In the example of FIG. 9, the CPU utilization threshold value 950 is a straight line, but it may be a curve or a determination criterion indicated by machine learning of the learning module 170. For example, the CPU usage rate threshold value 950 of this graph is optimized by the learning module 170 calculating the relationship between the CPU usage rate during command processing and the time limit by machine learning.
In the graph shown in the example of FIG. 9, the CPU usage rate low area 910 is plotted as command 1: 911, command 4: 914, and the CPU usage high area 990 is plotted as command 1: 991, command 4: 994. Plotted. Command 1: 911, command 4: 914, and command 1: 991 below the CPU usage rate threshold 950 are determined to finish processing within the time limit, and command 4: 994 above the CPU usage rate threshold 950 is It is determined that the process does not end within the time limit. In other words, if the CPU usage rate is high, the command 4 cannot meet the time limit in the conventional task processing. When the CPU usage rate is low, the time limit is reached in the conventional task processing.
When the CPU usage rate is higher than the CPU usage rate threshold with respect to the command time limit, the information processing apparatus 100 completes the processing within the time limit for the high priority task.

図10は、本実施の形態による処理例を示すフローチャートである。図6の例に示したフローチャートとは異なる例を示している。
ステップS1002では、通信モジュール125は、コマンドを受信する。
ステップS1004では、制限時間取得モジュール135は、制限時間を取得する。
ステップS1006では、CPU使用率取得モジュール140は、OS(B)120の現在のCPU使用率を取得する。ステップS1002からステップS1006までの処理は、図6の例に示したフローチャートのステップS602からステップS606までの処理と同等である。
FIG. 10 is a flowchart showing an example of processing according to this embodiment. An example different from the flowchart shown in the example of FIG. 6 is shown.
In step S1002, the communication module 125 receives a command.
In step S1004, the time limit acquisition module 135 acquires the time limit.
In step S <b> 1006, the CPU usage rate acquisition module 140 acquires the current CPU usage rate of the OS (B) 120. The processing from step S1002 to step S1006 is equivalent to the processing from step S602 to step S606 in the flowchart shown in the example of FIG.

ステップS1008では、そのCPU使用率における制限時間の閾値を取得する。判断モジュール145は、例えば、CPU使用率・制限時間閾値対応テーブル1100を用いて、制限時間の閾値を取得してもよい。図11は、CPU使用率・制限時間閾値対応テーブル1100のデータ構造例を示す説明図である。CPU使用率・制限時間閾値対応テーブル1100は、CPU使用率欄1110、制限時間閾値欄1120を有している。CPU使用率欄1110は、CPU使用率を記憶している。制限時間閾値欄1120は、そのCPU使用率における制限時間の閾値を記憶している。制限時間がこの閾値以下であるならば、制限時間以内に完了すると判断することになる。   In step S1008, a threshold value of the time limit for the CPU usage rate is acquired. For example, the determination module 145 may acquire a threshold value for the time limit using the CPU usage rate / time limit threshold value correspondence table 1100. FIG. 11 is an explanatory diagram showing an example of the data structure of the CPU usage rate / time limit threshold correspondence table 1100. The CPU usage rate / time limit threshold correspondence table 1100 has a CPU usage rate column 1110 and a time limit threshold value column 1120. The CPU usage rate column 1110 stores the CPU usage rate. The time limit threshold field 1120 stores a time limit threshold for the CPU usage rate. If the time limit is less than or equal to this threshold, it is determined that the time limit is completed within the time limit.

ステップS1010では、判断モジュール145は、「制限時間>閾値」であるか否かを判断し、「制限時間>閾値」の場合はステップS1012へ進み、それ以外の場合はステップS1014へ進む。
ステップS1012では、タスク割当モジュール155は、受信したコマンドを優先タスクに割り当てる。ここで優先タスクとして、後述する図13の例に示す非常用タスク1310が該当する。
ステップS1014では、タスク割当モジュール155は、受信したコマンドを通常のタスクに割り当てる。
In step S1010, the determination module 145 determines whether or not “time limit> threshold value”. If “time limit> threshold value”, the process proceeds to step S1012. Otherwise, the process proceeds to step S1014.
In step S1012, the task assignment module 155 assigns the received command to the priority task. Here, an emergency task 1310 shown in the example of FIG. 13 described later corresponds to the priority task.
In step S1014, the task assignment module 155 assigns the received command to a normal task.

図12は、制限時間内に処理を完了させるためのCPU使用率の閾値例を示す説明図である。
図12の例に示すグラフは、横軸にCPU使用率、縦軸に制限時間をとり、制限時間閾値1250を引いたものである。制限時間閾値1250は、CPU使用率において処理できる制限時間の閾値である。つまり、CPU使用率・制限時間閾値対応テーブル1100をグラフ化したものである。なお、図12の例では、制限時間閾値1250は直線になっているが、曲線、学習モジュール170の機械学習によって示される判断基準であってもよい。例えば、このグラフの制限時間閾値1250は、コマンド処理時のCPU使用率と制限時間の関係を機械学習によって、学習モジュール170が算出し、最適化している。
図12の例に示すグラフでは、CPU使用率低領域1210ではコマンド1:1211、コマンド4:1214のようにプロットされ、CPU使用率高領域1290ではコマンド1:1291、コマンド4:1294のようにプロットされる。制限時間閾値1250より下にあるコマンド1:1211、コマンド4:1214、コマンド1:1291は、制限時間以内に処理が終了すると判断され、制限時間閾値1250より上にあるコマンド4:1294は、制限時間以内には処理は終了しないと判断される。つまり、CPU使用率が高いとコマンド4は、従来タスクでの処理では制限時間に間に合わない。CPU使用率が低いと従来のタスク処理で制限時間に間に合うことになる。
情報処理装置100は、現在のCPU使用率において、コマンドの制限時間が制限時間閾値よりも上である場合、高優先度タスクで制限時間内に処理を完了させるようにしている。
FIG. 12 is an explanatory diagram illustrating an example of a threshold value of the CPU usage rate for completing the processing within the time limit.
The graph shown in the example of FIG. 12 is obtained by subtracting the time limit threshold value 1250 with the CPU usage rate on the horizontal axis and the time limit on the vertical axis. The time limit threshold 1250 is a time limit threshold that can be processed in the CPU usage rate. That is, the CPU usage rate / time limit threshold correspondence table 1100 is graphed. In the example of FIG. 12, the time limit threshold value 1250 is a straight line, but may be a curve or a determination criterion indicated by machine learning of the learning module 170. For example, the time limit threshold value 1250 of this graph is optimized by the learning module 170 calculating the relationship between the CPU usage rate and the time limit during command processing by machine learning.
In the graph shown in the example of FIG. 12, the CPU usage rate low region 1210 is plotted as command 1: 1211 and command 4: 1214, and the CPU usage rate high region 1290 is plotted as command 1: 1291 and command 4: 1294. Plotted. Command 1: 1211, command 4: 1214, and command 1: 1291 below the time limit threshold 1250 are determined to be processed within the time limit, and command 4: 1294 above the time limit threshold 1250 is limited. It is determined that the process will not end within the time. In other words, if the CPU usage rate is high, the command 4 cannot meet the time limit in the conventional task processing. When the CPU usage rate is low, the time limit is reached in the conventional task processing.
In the current CPU usage rate, the information processing apparatus 100 is configured to complete the processing within the time limit for a high priority task when the command time limit is above the time limit threshold.

図13は、本実施の形態による処理例を示す説明図である。
この例では、従来のコマンド処理用のいずれのタスクよりも優先度を高く設定した非常用タスク1310を生成しておく。
ステップS1302では、OS(B)120は、OS(A)110から「プリンターコマンド1」を受信する。
ステップS1304では、CPU使用率(負荷)をCPU使用率計測モジュール1340に問い合わせる。
ステップS1306では、プリンターコマンド1の制限時間に間に合うため、タスクであるプリンターメインタスク310Aにコマンドを渡し、コマンドを実行する。
ステップS1308では、プリンターメインタスク310Aはプリンター210を制御して、「プリンターコマンド1」の処理を行わせる。
FIG. 13 is an explanatory diagram showing a processing example according to the present embodiment.
In this example, an emergency task 1310 having a higher priority than any conventional task for command processing is generated.
In step S <b> 1302, the OS (B) 120 receives “printer command 1” from the OS (A) 110.
In step S1304, the CPU usage rate (load) is inquired of the CPU usage rate measurement module 1340.
In step S1306, in order to meet the time limit of the printer command 1, the command is passed to the printer main task 310A, which is a task, and the command is executed.
In step S1308, the printer main task 310A controls the printer 210 to perform the process of “printer command 1”.

ステップS1310では、OS(B)120は、OS(A)110から「プリンターコマンド1」の処理中に、制限時間の短い「プリンターコマンド2」を受信する。
ステップS1312では、CPU使用率(負荷)をCPU使用率計測モジュール1340に問い合わせる。
ステップS1314では、CPU負荷が高く、通常経路では制限時間に間に合わないため、非常用タスク1310にコマンドを渡し、コマンド(プリンターコマンド2)を実行する。プリンターコマンド1を中断する。なお、1つのプリンター210であるが、プリンターコマンド1とプリンターコマンド2の排出先が異なっていれば、プリンターコマンド1を中断してプリンターコマンド2を実行しても問題(印刷用紙が混ざり合うこと)はない。
ステップS1316では、非常用タスク1310はプリンター210を制御して、「プリンターコマンド2」の処理を行わせる。
In step S1310, the OS (B) 120 receives “printer command 2” having a short time limit during the processing of “printer command 1” from the OS (A) 110.
In step S1312, the CPU usage rate measurement module 1340 is inquired about the CPU usage rate (load).
In step S1314, since the CPU load is high and the time limit is not reached in the normal route, the command is passed to the emergency task 1310 and the command (printer command 2) is executed. Printer command 1 is interrupted. If there is a single printer 210, but the discharge destinations of the printer command 1 and the printer command 2 are different, there is a problem even if the printer command 1 is interrupted and the printer command 2 is executed (printing paper is mixed). There is no.
In step S1316, the emergency task 1310 controls the printer 210 to execute the process of “printer command 2”.

ステップS1318では、非常用タスク1310は、「プリンターコマンド2」の処理結果をプリンター210から受け取る。
ステップS1320では、「プリンターコマンド2」の処理完了後、高優先度用通信路経由でOS(B)120にRetコマンド(処理完了通知)を渡す。
ステップS1322では、OS(B)120は、OS(A)110へ「プリンター応答2」(プリンターコマンド2の処理完了通知)を送信する。
In step S 1318, the emergency task 1310 receives the processing result of “printer command 2” from the printer 210.
In step S1320, after the processing of “printer command 2” is completed, the Ret command (processing completion notification) is passed to the OS (B) 120 via the high priority communication path.
In step S1322, the OS (B) 120 transmits “printer response 2” (printer command 2 processing completion notification) to the OS (A) 110.

ステップS1324では、プリンターメインタスク310Bは、「プリンターコマンド1」の処理結果をプリンター210から受け取る。
ステップS1326では、「プリンターコマンド1」の処理完了後、プリンターメインタスク310BからOS(B)120にRetコマンド(処理完了通知)を渡す。
ステップS1328では、OS(B)120は、OS(A)110へ「プリンター応答1」を送信する。
In step S1324, the printer main task 310B receives the processing result of “printer command 1” from the printer 210.
In step S1326, after the processing of “printer command 1” is completed, the Ret command (processing completion notification) is passed from the printer main task 310B to the OS (B) 120.
In step S 1328, the OS (B) 120 transmits “printer response 1” to the OS (A) 110.

図14は、本実施の形態による処理例を示す説明図である。図6の例に示したステップS614又は図10の例に示したステップS1014の処理を行った場合の例を示すものである。
OS(B)120は、図14(a)の例に示すように、コマンド1:1410、コマンド2:1420、コマンド3:1430、コマンド4:1440の順序でOS(A)110からのコマンドを受信したとする。そして、CPU使用率が低い場合であるので、図4に示した例と同様に、全てのコマンドが制限時間内に終了している。
したがって、図14(c)の例に示すように、OS(B)120からOS(A)110へのコマンドの処理結果の応答順も、コマンド1:1417、コマンド2:1427、コマンド3:1437、コマンド4:1447の順序であり、図14(a)の例に示したコマンドの受信順と同じである。
FIG. 14 is an explanatory diagram showing a processing example according to the present embodiment. The example at the time of performing the process of step S614 shown in the example of FIG. 6 or step S1014 shown in the example of FIG. 10 is shown.
As shown in the example of FIG. 14A, the OS (B) 120 receives commands from the OS (A) 110 in the order of command 1: 1410, command 2: 1420, command 3: 1430, command 4: 1440. Suppose it is received. Since the CPU usage rate is low, all commands are completed within the time limit as in the example shown in FIG.
Therefore, as shown in the example of FIG. 14C, the response order of the command processing results from the OS (B) 120 to the OS (A) 110 is also command 1: 1417, command 2: 1427, command 3: 1437. , Command 4: 1447, which is the same as the command reception order shown in the example of FIG.

図15は、本実施の形態による処理例を示す説明図である。この例は、CPU使用率が高い場合であって、コマンド処理タスクを切り替える処理が発生する場合を示している。
OS(B)120は、図15(a)の例に示すように、コマンド1:1410、コマンド2:1420、コマンド3:1430、コマンド4:1440の順序でOS(A)110からのコマンドを受信したとする。
そして、CPU使用率の状態(CPU使用率が高い場合)から、従来のタスクでは時間内に処理を完了できないため、高優先度のタスク(図13の例に示した非常用タスク1310)で処理を実行する。
例えば、図15(b)に示すように、CPU使用率が90%である場合(CPUに余裕がない場合の例)は、コマンド1:1410に対応してコマンド実行時間1515aがあり、その処理中にコマンド4:1440を受信し、制限時間内に終了しないと判断されたので、コマンド4:1440を非常用タスク1310に割り当て、コマンド1:1410の処理を中断して、コマンド4:1440に対応するコマンド実行時間1545があり、その終了後に、中断していたコマンド1:1410の処理を再開する。つまり、コマンド実行時間1515aの後、コマンド実行中断時間1516が発生し、コマンド実行時間1515bで再開している。もちろんのことながら、コマンド4:1440のコマンド実行時間1545の終了時はコマンド4制限時間1490よりも前になる。なお、コマンド3:1430のコマンド実行時間1535は、コマンド4:1440の処理が優先されたので、遅くなっているが、コマンド1/2/3制限時間1480よりも前であるので、システムエラーは発生しない。
FIG. 15 is an explanatory diagram showing a processing example according to the present embodiment. This example shows a case where the CPU usage rate is high and processing for switching the command processing task occurs.
As shown in the example of FIG. 15A, the OS (B) 120 receives commands from the OS (A) 110 in the order of command 1: 1410, command 2: 1420, command 3: 1430, command 4: 1440. Suppose it is received.
Since the conventional task cannot complete the process in time from the state of the CPU usage rate (when the CPU usage rate is high), processing is performed with a high priority task (emergency task 1310 shown in the example of FIG. 13). Execute.
For example, as shown in FIG. 15B, when the CPU usage rate is 90% (an example in which the CPU has no margin), there is a command execution time 1515a corresponding to the command 1: 1410, and the processing Since the command 4: 1440 is received and it is determined that the command will not end within the time limit, the command 4: 1440 is assigned to the emergency task 1310, the processing of the command 1: 1410 is interrupted, and the command 4: 1440 is issued. There is a corresponding command execution time 1545, and after that, the suspended processing of the command 1: 1410 is resumed. That is, after the command execution time 1515a, a command execution interruption time 1516 occurs and resumes at the command execution time 1515b. Of course, the end of the command execution time 1545 of the command 4: 1440 is before the command 4 time limit 1490. Note that the command execution time 1535 of the command 3: 1430 is delayed because the processing of the command 4: 1440 is prioritized, but is earlier than the command 1/2/3 time limit 1480, so the system error is Does not occur.

図16を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図16に示す構成は、例えばパーソナルコンピュータ(PC)等によって構成されるものであり、スキャナー等のデータ読み取り部1617と、プリンター等のデータ出力部1618を備えたハードウェア構成例を示している。   A hardware configuration example of the information processing apparatus according to the present embodiment will be described with reference to FIG. The configuration illustrated in FIG. 16 is configured by, for example, a personal computer (PC), and illustrates a hardware configuration example including a data reading unit 1617 such as a scanner and a data output unit 1618 such as a printer.

CPU(Central Processing Unit)1601は、前述の実施の形態において説明した各種のモジュール、すなわち、OS(A)110、通信モジュール115、OS(B)120、通信モジュール125、タスク割当処理モジュール130、制限時間取得モジュール135、CPU使用率取得モジュール140、判断モジュール145、閾値記憶モジュール150、タスク割当モジュール155、処理結果取得モジュール160、学習モジュール170等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。   The CPU (Central Processing Unit) 1601 includes various modules described in the above-described embodiments, that is, the OS (A) 110, the communication module 115, the OS (B) 120, the communication module 125, the task allocation processing module 130, and the restrictions. According to a computer program that describes the execution sequence of each module such as the time acquisition module 135, the CPU usage rate acquisition module 140, the determination module 145, the threshold storage module 150, the task allocation module 155, the processing result acquisition module 160, and the learning module 170. It is a control part which performs the processed.

ROM(Read Only Memory)1602は、CPU1601が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1603は、CPU1601の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバス等から構成されるホストバス1604により相互に接続されている。   A ROM (Read Only Memory) 1602 stores programs, calculation parameters, and the like used by the CPU 1601. A RAM (Random Access Memory) 1603 stores programs used in the execution of the CPU 1601, parameters that change as appropriate during the execution, and the like. These are connected to each other by a host bus 1604 including a CPU bus or the like.

ホストバス1604は、ブリッジ1605を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス1606に接続されている。   The host bus 1604 is connected to an external bus 1606 such as a PCI (Peripheral Component Interconnect / Interface) bus through a bridge 1605.

キーボード1608、マウス等のポインティングデバイス1609は、操作者により操作されるデバイスである。ディスプレイ1610は、液晶表示装置又はCRT(Cathode Ray Tube)等があり、各種情報をテキストやイメージ情報として表示する。また、ポインティングデバイス1609とディスプレイ1610の両方の機能を備えているタッチスクリーン等であってもよい。その場合、キーボードの機能の実現について、キーボード1608のように物理的に接続しなくても、画面(タッチスクリーン)上にソフトウェアでキーボード(いわゆるソフトウェアキーボード、スクリーンキーボード等ともいわれる)を描画して、キーボードの機能を実現するようにしてもよい。   A keyboard 1608 and a pointing device 1609 such as a mouse are devices operated by an operator. The display 1610 includes a liquid crystal display device or a CRT (Cathode Ray Tube), and displays various types of information as text or image information. Further, a touch screen or the like having both functions of the pointing device 1609 and the display 1610 may be used. In that case, with respect to the realization of the keyboard function, a keyboard (so-called software keyboard, screen keyboard, etc.) is drawn on the screen (touch screen) without being physically connected like the keyboard 1608, You may make it implement | achieve the function of a keyboard.

HDD(Hard Disk Drive)1611は、ハードディスク(フラッシュ・メモリ等であってもよい)を内蔵し、ハードディスクを駆動し、CPU1601によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、ログ記憶モジュール165、等としての機能を実現させる。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。   An HDD (Hard Disk Drive) 1611 includes a hard disk (may be a flash memory or the like), drives the hard disk, and records or reproduces a program executed by the CPU 1601 and information. The hard disk realizes a function as the log storage module 165 and the like. Further, various other data, various computer programs, and the like are stored.

ドライブ1612は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1613に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1607、外部バス1606、ブリッジ1605、及びホストバス1604を介して接続されているRAM1603に供給する。なお、リムーバブル記録媒体1613も、データ記録領域として利用可能である。   The drive 1612 reads data or a program recorded on a removable recording medium 1613 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and the data or program is read out from the interface 1607 and the external bus 1606. , A bridge 1605, and a RAM 1603 connected via the host bus 1604. Note that the removable recording medium 1613 can also be used as a data recording area.

接続ポート1614は、外部接続機器1615を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1614は、インタフェース1607、及び外部バス1606、ブリッジ1605、ホストバス1604等を介してCPU1601等に接続されている。通信部1616は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部1617は、例えばスキャナーであり、ドキュメントの読み取り処理を実行する。データ出力部1618は、例えばプリンターであり、ドキュメントデータの出力処理を実行する。   The connection port 1614 is a port for connecting an external connection device 1615 and has a connection unit such as USB, IEEE1394. The connection port 1614 is connected to the CPU 1601 and the like via the interface 1607, the external bus 1606, the bridge 1605, the host bus 1604, and the like. A communication unit 1616 is connected to a communication line and executes data communication processing with the outside. The data reading unit 1617 is a scanner, for example, and executes document reading processing. The data output unit 1618 is a printer, for example, and executes document data output processing.

なお、図16に示す情報処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図16に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図16に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナー、プリンター、複合機などに組み込まれていてもよい。   Note that the hardware configuration of the information processing apparatus shown in FIG. 16 shows one configuration example, and the present embodiment is not limited to the configuration shown in FIG. 16, and the modules described in this embodiment are executed. Any configuration is possible. For example, some modules may be configured with dedicated hardware (for example, Application Specific Integrated Circuit (ASIC), etc.), and some modules are in an external system and connected via a communication line Alternatively, a plurality of systems shown in FIG. 16 may be connected to each other via communication lines so as to cooperate with each other. In particular, in addition to personal computers, mobile information communication devices (including mobile phones, smartphones, mobile devices, wearable computers, etc.), information appliances, robots, copiers, fax machines, scanners, printers, multifunction devices, etc. May be.

また、前述の実施の形態の説明内での比較処理において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。   In addition, in the comparison processing in the description of the above-described embodiment, “more than”, “less than”, “greater than”, and “less than (less than)” The values may be “larger”, “smaller (less than)”, “more than”, and “less than”, respectively.

なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
The program described above may be provided by being stored in a recording medium, or the program may be provided by communication means. In that case, for example, the above-described program may be regarded as an invention of a “computer-readable recording medium recording the program”.
The “computer-readable recording medium on which a program is recorded” refers to a computer-readable recording medium on which a program is recorded, which is used for program installation, execution, program distribution, and the like.
The recording medium is, for example, a digital versatile disc (DVD), which is a standard established by the DVD Forum, such as “DVD-R, DVD-RW, DVD-RAM,” and DVD + RW. Standard “DVD + R, DVD + RW, etc.”, compact disc (CD), read-only memory (CD-ROM), CD recordable (CD-R), CD rewritable (CD-RW), Blu-ray disc ( Blu-ray (registered trademark) Disc), magneto-optical disk (MO), flexible disk (FD), magnetic tape, hard disk, read-only memory (ROM), electrically erasable and rewritable read-only memory (EEPROM (registered trademark)) )), Flash memory, Random access memory (RAM) SD (Secure Digital) memory card and the like.
Then, the whole or a part of the program may be recorded on the recording medium for storage or distribution. Also, by communication, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wired network used for the Internet, an intranet, an extranet, or a wireless communication It may be transmitted using a transmission medium such as a network or a combination of these, or may be carried on a carrier wave.
Furthermore, the program may be a part or all of another program, or may be recorded on a recording medium together with a separate program. Moreover, it may be divided and recorded on a plurality of recording media. Further, it may be recorded in any manner as long as it can be restored, such as compression or encryption.

100…情報処理装置
110…OS(A)
115…通信モジュール
120…OS(B)
125…通信モジュール
130…タスク割当処理モジュール
135…制限時間取得モジュール
140…CPU使用率取得モジュール
145…判断モジュール
150…閾値記憶モジュール
155…タスク割当モジュール
160…処理結果取得モジュール
165…ログ記憶モジュール
170…学習モジュール
200…画像処理装置
210…プリンター
220…スキャナー
230…符号化・復号装置
240…A4ファックス
DESCRIPTION OF SYMBOLS 100 ... Information processing apparatus 110 ... OS (A)
115: Communication module 120 ... OS (B)
125 ... Communication module 130 ... Task allocation processing module 135 ... Time limit acquisition module 140 ... CPU usage rate acquisition module 145 ... Judgment module 150 ... Threshold storage module 155 ... Task allocation module 160 ... Processing result acquisition module 165 ... Log storage module 170 ... Learning module 200 ... image processing apparatus 210 ... printer 220 ... scanner 230 ... encoding / decoding apparatus 240 ... A4 fax

Claims (8)

第1のOSから第2のOSへの指令を受信する受信手段と、
前記第2のOSのCPU使用率では、前記指令に設けられている制限時間内に、該指令の処理が終了できない場合は、予め定められた優先度のタスクに該指令の処理を割り当てる割当手段
を有する情報処理装置。
Receiving means for receiving a command from the first OS to the second OS;
In the CPU usage rate of the second OS, if the instruction processing cannot be completed within the time limit provided in the instruction, the allocating means allocates the instruction processing to a task having a predetermined priority. An information processing apparatus.
前記割当手段は、予め定められた優先度のタスクとして、既に受信している指令の処理を行うタスクよりも優先して行われるタスクを割り当てる、
請求項1に記載の情報処理装置。
The assigning means assigns a task that is performed in preference to a task that processes a command that has already been received, as a task having a predetermined priority.
The information processing apparatus according to claim 1.
前記第2のOSのCPU使用率で、前記指令に設けられている制限時間内に、該指令の処理が終了できる場合は、該指令を既に受信している指令の待ち行列に加える、
請求項1に記載の情報処理装置。
If the processing of the command can be completed within the time limit provided in the command at the CPU usage rate of the second OS, the command is added to the queue of commands already received.
The information processing apparatus according to claim 1.
CPU使用率と該CPU使用率で対応できる制限時間との関係を用いて、前記受信手段が受信した指令の制限時間内に、該指令の処理を終了できるか否かを判断する、
請求項1に記載の情報処理装置。
Using the relationship between the CPU usage rate and the time limit that can be handled by the CPU usage rate, it is determined whether the command processing can be completed within the time limit of the command received by the receiving means.
The information processing apparatus according to claim 1.
前記関係を用いて、前記CPU使用率に対応する制限時間を閾値として、前記受信手段が受信した指令の制限時間と該閾値とを比較することによって、該制限時間内に、該指令の処理を終了できるか否かを判断する、
請求項4に記載の情報処理装置。
Using the relationship, the time limit corresponding to the CPU usage rate is set as a threshold value, and the command time limit is compared with the threshold value of the command received by the receiving unit, thereby processing the command within the time limit. Determine if it can be terminated,
The information processing apparatus according to claim 4.
前記関係を用いて、前記制限時間に対応するCPU使用率を閾値として、前記第2のOSのCPU使用率と該閾値とを比較することによって、該制限時間内に、該指令の処理を終了できるか否かを判断する、
請求項4に記載の情報処理装置。
Using the relationship, the CPU usage rate corresponding to the time limit is used as a threshold value, and the CPU usage rate of the second OS is compared with the threshold value, thereby completing the processing of the command within the time limit. Determine whether it can be done,
The information processing apparatus according to claim 4.
前記関係は、過去の実績に応じて学習したものである、
請求項4に記載の情報処理装置。
The relationship is learned according to past results,
The information processing apparatus according to claim 4.
コンピュータを、
第1のOSから第2のOSへの指令を受信する受信手段と、
前記第2のOSのCPU使用率では、前記指令に設けられている制限時間内に、該指令の処理が終了できない場合は、予め定められた優先度のタスクに該指令の処理を割り当てる割当手段
として機能させるための情報処理プログラム。
Computer
Receiving means for receiving a command from the first OS to the second OS;
In the CPU usage rate of the second OS, if the instruction processing cannot be completed within the time limit provided in the instruction, the allocating means allocates the instruction processing to a task having a predetermined priority. Information processing program to function as
JP2017170847A 2017-09-06 2017-09-06 Information processing device and information processing program Pending JP2019046339A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017170847A JP2019046339A (en) 2017-09-06 2017-09-06 Information processing device and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017170847A JP2019046339A (en) 2017-09-06 2017-09-06 Information processing device and information processing program

Publications (1)

Publication Number Publication Date
JP2019046339A true JP2019046339A (en) 2019-03-22

Family

ID=65812946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017170847A Pending JP2019046339A (en) 2017-09-06 2017-09-06 Information processing device and information processing program

Country Status (1)

Country Link
JP (1) JP2019046339A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137910A (en) * 1994-11-15 1996-05-31 Hitachi Ltd Parallel data base processing method and its executing device
JPH09319596A (en) * 1996-05-31 1997-12-12 Canon Inc Device and method for scheduling task
JP2001350639A (en) * 2000-06-06 2001-12-21 Atr Adaptive Communications Res Lab Scheduling method in soft real-time
JP2003337713A (en) * 2002-05-21 2003-11-28 Hitachi Ltd Method for controlling processor
JP2010173206A (en) * 2009-01-30 2010-08-12 Riso Kagaku Corp Printer controller
JP2012045874A (en) * 2010-08-30 2012-03-08 Seiko Epson Corp Data storage processing apparatus in printing apparatus, printing apparatus, and data storage processing method
WO2013030908A1 (en) * 2011-08-26 2013-03-07 富士通株式会社 Scheduling system, data processing system and scheduling method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137910A (en) * 1994-11-15 1996-05-31 Hitachi Ltd Parallel data base processing method and its executing device
JPH09319596A (en) * 1996-05-31 1997-12-12 Canon Inc Device and method for scheduling task
JP2001350639A (en) * 2000-06-06 2001-12-21 Atr Adaptive Communications Res Lab Scheduling method in soft real-time
JP2003337713A (en) * 2002-05-21 2003-11-28 Hitachi Ltd Method for controlling processor
JP2010173206A (en) * 2009-01-30 2010-08-12 Riso Kagaku Corp Printer controller
JP2012045874A (en) * 2010-08-30 2012-03-08 Seiko Epson Corp Data storage processing apparatus in printing apparatus, printing apparatus, and data storage processing method
WO2013030908A1 (en) * 2011-08-26 2013-03-07 富士通株式会社 Scheduling system, data processing system and scheduling method

Similar Documents

Publication Publication Date Title
US8392635B2 (en) Selectively enabling a host transfer interrupt
US8966130B2 (en) Tag allocation for queued commands across multiple devices
JP2004038758A (en) Storage controller, control method for storage controller, and program
US20140156851A1 (en) Server facility, method for providing copying service for system of server facility, and copying program for system of sever facility
JP6565391B2 (en) Information processing apparatus and information processing program
US20170329644A1 (en) Computer-readable recording medium having stored therein program, information processing apparatus, information processing system, and method for processing information
US9219794B2 (en) Information processing apparatus and non-transitory computer readable medium storing information processing program
US12028269B2 (en) Method for optimal resource selection based on available GPU resource analysis in large-scale container platform
US10558237B2 (en) Information processing apparatus
CN111327595A (en) System and method for prioritizing on-demand scanning and on-demand scanning tasks
US20150220361A1 (en) Parallel computer system, control method of parallel computer system, and computer-readable storage medium
JP2019046339A (en) Information processing device and information processing program
US10491757B2 (en) Image processing device, image processing system, and program
JP6492865B2 (en) Information processing apparatus, program, and information processing method
JP4630766B2 (en) A system having a primary system and a secondary system
US11397603B2 (en) Information processing apparatus, control method therefor, and program
US10339462B2 (en) System and method for executing a high bandwidth network activity as a background activity in a virtual desktop environment
JP4997063B2 (en) Computer startup method and computer system
US9870249B2 (en) Virtual computer system, method, and non-transitory computer readable medium
US9933982B2 (en) Managing print job associated processing by user processes associated with separate logged-in users of an information processing apparatus
US11842066B2 (en) Control apparatus and information processing system for providing a bridge apparatus between a host controller and a non-volatile storage medium to encrypt and decrypt data
JP6645212B2 (en) Information processing method and information processing apparatus
JP2015158800A (en) Data transfer control apparatus, data transfer control program, and data transfer control method
WO2016006228A1 (en) Virtualization system and virtualization method
US11609731B2 (en) Image forming apparatus, non-transitory computer readable medium, and image forming method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210908

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220125