JP6242557B1 - 制御装置および制御プログラム - Google Patents
制御装置および制御プログラム Download PDFInfo
- Publication number
- JP6242557B1 JP6242557B1 JP2017547594A JP2017547594A JP6242557B1 JP 6242557 B1 JP6242557 B1 JP 6242557B1 JP 2017547594 A JP2017547594 A JP 2017547594A JP 2017547594 A JP2017547594 A JP 2017547594A JP 6242557 B1 JP6242557 B1 JP 6242557B1
- Authority
- JP
- Japan
- Prior art keywords
- monitoring
- time
- control
- partition
- interrupt
- 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
- 238000012544 monitoring process Methods 0.000 claims abstract description 384
- 238000005192 partition Methods 0.000 claims abstract description 236
- 238000000034 method Methods 0.000 claims description 111
- 230000006870 function Effects 0.000 description 17
- 238000007726 management method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000005856 abnormality Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000000638 solvent extraction Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 5
- 239000013589 supplement Substances 0.000 description 4
- 238000003745 diagnosis Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
- Programmable Controllers (AREA)
Abstract
Description
このような安全監視処理には、システムが定めるFTTI(Fault Tolerant Time Interval)に基づいて、CPU時間を割り当てる必要がある。CPUはCentral Processing Unitの略称である。
安全監視処理のタイムパーティションで通常の制御処理からの割り込みを受け付けることが可能であり、安全監視処理のタイムパーティションで通常の制御処理からの割り込みが発生した場合、アイドルウィンドウに割り当てられたCPU時間が安全監視処理のタイムパーティションに譲渡される。これにより、通常の制御処理の遅延を抑制しつつ、安全監視処理のCPU時間を保証することが可能となる。
このような監視が通常の制御処理からの割り込みに対して行われれば、安全監視処理のタイムパーティションで通常の制御処理からの割り込みを受け付けることが可能である場合において安全監視処理のCPU時間を保証することが可能となる。
制御処理は、数十マイクロ秒から数百マイクロ秒の間隔で発生する割り込みによって起動されてフィードバック制御を行う処理である。制御処理では遅延を極力小さくすることが求められる。また、制御処理は他の処理によって中断されてはならない。つまり、制御処理は、正常処理の中で最も高い優先度で実行される。
非制御処理は、制御処理と比較して大きな遅延が許され、また、他の処理によって中断されることも許容される。非制御処理には、ミリ秒オーダーの周期処理から起動される、また、CPU時間に余裕がある場合に起動される、といった特徴がある。
安全監視処理は、制御処理と比較して大きな遅延が許され、また、他の処理によって中断されることも許容される。しかし、前述の通り、数百ミリ秒から数千ミリ秒の所定の周期において、安全監視処理に対して所定のCPU時間が割り当てられることを保証する必要がある。
しかし、この方法では、すべてのタイムパーティションにおいて割り込みの発生頻度および割り込み処理の実行時間が監視されるため、安全監視処理以外の処理のタイムパーティションで違反が検知される可能性がある。その結果、安全監視処理のCPU時間が保証され装置に問題がないにもかかわらず、装置に異常が発生したと判定されてしまうことになる。
また、制御処理は中断されてはならないため、タイムパーティションの切り替え処理よりも高い優先度で制御処理を動作させる必要がある。そのため、安全監視処理のタイムパーティションの直前のタイムパーティションが完了する直前で制御処理からの割り込みが発生すると、タイムパーティションの切り替えが遅延し、安全監視処理のタイムパーティションのCPU時間が少なくなってしまう。
一方で、タイムパーティションの切り替え頻度が問題とならない程度にキャリア割り込みを間引くと、制御処理の起動周期が長くなり、制御処理に支障をきたしてしまう。
また、制御処理からの割り込みがキャリア割り込みのように定周期の割り込みである場合にしか、特許文献1に開示された技術を適用することができない。
安全監視を行いながら各種制御を行うための形態について、図1から図13に基づいて説明する。
図1に基づいて、制御装置100の構成を説明する。
制御装置100は、マイクロコントローラ200と周辺回路110とを備える。
マイクロコントローラ200は、制御装置100に備わるコンピュータである。
周辺回路110は、マイクロコントローラ200に接続される周辺回路である。
例えば、周辺回路110は、センサまたはアクチュエータなどである。
マイクロコントローラ200は、プロセッサ201とメモリ202と補助記憶装置203と入出力インタフェース204と通信コントローラ205と割り込みコントローラ206とタイマ207といったハードウェアを備える。これらのハードウェアは、信号線を介して互いに接続されている。
メモリ202は、揮発性の記憶装置である。例えば、メモリ202はRAM(Random Access Memory)である。
補助記憶装置203は、不揮発性の記憶装置である。例えば、補助記憶装置203は、ROM(Read Only Memory)またはフラッシュメモリである。
入出力インタフェース204には、センサおよびアクチュエータなどが接続される。入出力インタフェース204は、センサ値を得るためのADコンバータ、および、アクチュエータを制御するためのPWM回路などを含む。ADはAnalog to Digitalの略称であり、PWMはPulse Width Modulationの略称である。
通信コントローラ205は、トランスミッタおよびレシーバとして機能する通信装置である。通信コントローラ205は、CANコントローラおよびSPIコントローラなどを含む。CANはController Area Networkの略称であり、SPIはSerial Peripheral Interfaceの略称である。
割り込みコントローラ206は、割り込みを制御するためのコントローラである。
タイマ207は、設定された時間の経過を検出する要素である。
マイクロコントローラ200は、プロセッサ201の特権モードを切り替えるための命令を持つ。
プロセッサ201は、ホストモード211またはゲストモード212で動作する。
ホストモード211およびゲストモード212は、プロセッサ201の特権モードである。
ホストモード211は、仮想マシンモニタを実行するためのモードである。
ゲストモード212は、仮想マシン214を実行するためのモードである。
ホストモード211において、プロセッサ201は、ホストOS220として機能する。ホストOS220は仮想マシンモニタの役割を果たす。
ホストOS220は、ホストモード211におけるOS(Operating System)である。
仮想マシンモニタは、仮想マシン214を制御する。仮想マシンモニタはVMMと呼ばれる。
ゲストモード212において、プロセッサ201は、仮想マシン214として機能する。
仮想マシン214は、ソフトウェアによって仮想的に構築されたコンピュータである。仮想マシン214は、VMと呼ばれる。
仮想マシン214におけるOSをゲストOS230という。
ゲストOS230は、ゲストモード212で動作し、ホストOS220が使用するハードウェア資源にアクセスすることができない。
仮想マシン214は、割り当てられたハードウェア資源を利用して動作する。例えば、仮想マシン214の実行中に仮想マシン214に対する割り込みが発生した場合、ホストモードへの遷移は行われずに、仮想マシン214において割り込みが直接受け付けられる。また、他の仮想マシンに対する割り込みが発生した場合、その割り込みは保留される。また、仮想マシン214の実行中にホストOS220に対する割り込みが発生した場合、仮想マシン214の実行が中断され、ホストモードへの遷移が行われ、ホストOS220において割り込みが受け付けられる。
ホストOS220は、安全の確保に関連する機能として、分割されたハードウェア資源を空間的および時間的に保護する機能を有する。
例えば、空間的保護は、プロセッサ201の一部であるMPU(Memory Protection Unit)によるメモリ202の保護、および、マイクロコントローラ200が有するペリフェラル保護機能による入出力インタフェース204の保護などである。
例えば、時間的保護は、プロセッサ201の実行時間に対するパーティショニングまたは制御割り込みの監視などによって実現される。
ホストOS220は、VMタスク221とVM管理部222とスケジューラ223とスケジュールテーブル224と安全監視タスク225と制御割り込み受付部226と安全制御部227と監視部228と第1監視テーブル2291とを備える。
VMタスク221は、仮想マシン214を実行するためのタスクである。
VM管理部222は、仮想マシンモニタの役割を果たして、仮想マシン214の管理を行う。具体的には、VM管理部222は、仮想マシン214に対するハードウェア資源の割り当て、特権モードの切り替え、仮想マシン214のコンテキストの保存および復元などを行う。
スケジューラ223は、スケジュールテーブル224を用いて、プロセッサ201の実行時間に対するパーティショニング、および、ホストOS220上で動作するタスクのスケジューリングを行う。例えば、スケジューリングは実行時間の割り当てである。
スケジュールテーブル224は、タイムパーティションおよびタスクのスケジュールを示すテーブルである。
安全監視タスク225は、安全監視を実行するためのタスクである。安全監視は、障害の発生有無を監視する処理である。例えば、安全監視は、故障診断と呼ばれる処理および異常監視と呼ばれる処理である。
制御割り込み受付部226は、制御割り込みを受け付ける。制御割り込みは、優先制御の契機となる割り込みである。優先制御については後述する。
安全制御部227は、安全制御を行う。安全制御は、障害が発生したときのための処理である。例えば、安全制御は、フェイルセーフ処理またはフェイルオペレーション処理である。
監視部228は、第1監視テーブル2291に設定された監視規則に応じて監視を行う。
第1監視テーブル2291は、タイムパーティション毎の監視規則が設定されたテーブルである。
ゲストOS230は、スケジューラ231と優先制御ルーチン232と一般制御タスク233とを備える。
スケジューラ231は、ゲストOS230上で動作するタスクのスケジューリングを行う。
優先制御ルーチン232は、優先制御用のルーチンである。優先制御は、制御割り込みが発生したときの制御である。優先制御は、一般制御および安全監視に比べて優先度が高く、一般制御および安全制御よりも優先して実行される。具体的には、優先制御ルーチン232はISR(Interrupt Service Routine)として実装される。ゲストOS230がAUTOSAR OSである場合、優先制御ルーチン232は、Category 1 ISRとして実装することができる。
一般制御タスク233は、一般制御を実行するためのタスクである。一般制御は、優先制御以外の制御である。
予め定められた一定の時間を1周期という。
1周期は、複数のタイムパーティション(TP)に分割される。タイムパーティションは、1周期の中の一定の時間である。図6では、1周期は3つのタイムパーティションに分割されている。
それぞれのタイムパーティションには、1つ以上のタスクが割り当てられる。
スケジューラ223は、1周期毎に複数のタイムパーティションを管理し、タイムパーディション毎にタスクを管理する。タイムパーティションに複数のタスクが割り当てられた場合、スケジューラ223は、複数のタスクのそれぞれの優先度に基づいて、複数のタスクに対するスケジューリングする。
スケジュールテーブル224には、1周期に含まれる複数のタイムパーティションとして、第1タイムパーティションと第2タイムパーティションとが設定されている。
VMタスクは、仮想マシン214を実行するタスクである。
第1監視テーブル2291は、割り込み番号と第1監視規則と第2監視規則と第1監視履歴と第2監視履歴とのそれぞれの欄を有する。
割り込み番号NPは、制御割り込みを識別する番号である。
第1タイムパーティションで制御割り込みが発生した場合、監視部228は第1監視を行う。第1監視は第1監視規則に応じた監視である。
具体的には、第1監視規則は、第1タイムパーティションでの優先制御の実行時間を制限する規則である。監視部228は、第1監視として、第1タイムパーティションでの優先制御の実行時間を監視する。
第1タイムパーティションで第1監視規則に対する違反が発生した場合、安全制御部227は安全制御を行う。
第2タイムパーティションで制御割り込みが発生した場合、監視部228は第2監視を行う。第2監視は第2監視規則に応じた監視である。
具体的には、第2監視規則は、第2タイムパーティションでの優先制御の実行回数と実行時間とを制限する規則である。監視部228は、第2監視として、第2タイムパーティションでの優先制御の実行回数と実行時間とを監視する。
第2タイムパーティションで第2監視規則に対する違反が発生した場合、安全制御部227は安全制御を行う。
実行回数の欄は、優先制御が実行される回数の上限を示す。実行回数の欄におけるNULLは、実行回数の監視が不要であることを意味する。
実行時間の欄は、優先制御が実行される時間の上限を示す。
第2監視履歴の欄は、第2タイムパーティションでの優先制御の実行回数を示す。
制御装置100の動作は制御方法に相当する。また、制御方法の手順は制御プログラムの手順に相当する。
TP切り替え処理は、タイムパーティションを切り替えるための処理である。
TP切り替え処理は、スケジューラ223によって、ホストOS220のティック割り込み毎に実行される。
具体的には、スケジューラ223は、スケジュールテーブル224に設定されている現在のタイムパーティションの割り当て時間を参照し、現在のタイムパーティションの実行時間が現在のタイムパーティションの割り当て時間を超過したか判定する。現在のタイムパーティションの実行時間が現在のタイムパーティションの割り当て時間を超過した場合、現在時刻がTP切り替え時刻である。
現在時刻がTP切り替え時刻である場合、処理はステップS112に進む。
現在時刻がTP切り替え時刻でない場合、処理はステップS119に進む。
実行中タスクが有る場合、処理はステップS113に進む。
実行中タスクが無い場合、処理はステップS116に進む。
VMタスク221の実行中である場合、処理はステップS114に進む。
VMタスク221の実行中でない場合、処理はステップS116に進む。
VMコンテキストは、仮想マシン214のコンテキストである。
VMタスク221の再開アドレスは、VMタスク221が再開されるときの実行アドレスである。
実行アドレスは、実行される命令が記憶された領域のアドレスである。
具体的には、スケジューラ223は、VMタスク221のTCB(Task Control Block)の中のプログラムカウンタを、VMコンテキストを復元して仮想マシン214を起動する処理の直前の実行アドレス(図12のステップS401の直前の実行アドレス)に書き換える。
具体的には、スケジューラ223は、第1監視テーブル2291から現在のタイムパーティションの監視履歴を選択し、選択された監視履歴に設定されている実行回数を0に更新する。
ステップS118において、スケジューラ223は、スケジュールテーブル224を参照して次のタイムパーティションを決定し、次のタイムパーティションを開始する。
具体的には、スケジューラ223は、スケジュールテーブル224に設定されている次のタイムパーティションのタスクスケジュールを参照し、参照したタスクスケジュールに従ってタスクスケジューリングを行う。
制御割り込み処理は、制御割り込みが発生した場合の処理である。
制御割り込み処理は、制御割り込み受付部226が制御割り込みを受け付けたときに実行される。
具体的には、監視部228は、第1監視テーブル2291から現在のタイムパーティションの監視履歴を選択し、選択された監視履歴に設定されている実行回数に1を加える。
まず、監視部228は、第1監視テーブル2291から、現在のタイムパーティションの監視規則に設定されている実行回数と、現在のタイムパーティションの監視履歴に設定されている実行回数とを取得する。
次に、監視部228は、監視履歴の実行回数を監視規則の実行回数と比較する。但し、監視規則の実行回数がNULLである場合、監視部228は、監視履歴の実行回数を監視規則の実行回数と比較しない。
監視履歴の実行回数が監視規則の実行回数より多い場合、監視部228は、実行回数の規則違反が発生したと判定する。
監視履歴の実行回数が監視規則の実行回数以下である場合、監視部228は、実行回数の規則違反が発生していないと判定する。また、監視規則の実行回数がNULLである場合、監視部228は、実行回数の規則違反が発生していないと判定する。
実行回数の規則違反が発生していない場合、処理はステップS204に進む。
具体的には、監視部228は、第1監視テーブル2291から現在のタイムパーティションの監視規則に設定されている実行時間を取得し、取得された実行時間をタイマに設定し、タイマを起動する。起動されるタイマが制御監視タイマである。
具体的には、仮想マシン214は、優先制御ルーチン232に含まれる遷移命令を実行することによって、プロセッサ201の特権モードをゲストモードからホストモードに遷移する。
ステップS209の後、制御割り込みが発生したときに実行されていたタスクが再開される。
第1満了割り込み処理は、第1満了割り込みが発生した場合の処理である。第1満了割り込みは、ステップS204(図10参照)で起動された制御監視タイマが満了したときに発生する割り込みである。制御監視タイマの満了は、制御監視タイマに設定された時間の経過を意味する。
第1満了割り込み処理は、監視部228が第1満了割り込みを受け付けたときに実行される。
ステップS310において、監視部228は安全制御部227を呼び出し、安全制御部227は安全制御を実行する。具体的には、監視部228は、第1満了割り込みルーチンに含まれる呼び出し命令を実行することによって、安全制御部227を呼び出す。
VMタスク処理は、VMタスク221によって実行される処理である。
ステップS402において、VMタスク221は仮想マシン214を起動する。具体的には、VMタスク221は、遷移命令によって、プロセッサ201の特権モードをホストモードからゲストモードに遷移する。これにより、仮想マシン214が起動される。
つまり、VMタスク221の中断時に仮想マシン214の実行も中断され、VMタスク221の再開時に仮想マシン214の実行も再開される。
安全監視タスク処理は、安全監視タスク225によって実行される処理である。
ステップS502において、安全監視タスク225は、安全監視の結果に基づいて、障害の発生の有無を判定する。
障害が発生した場合、処理はステップS510に進む。
障害が発生していない場合、処理はステップS501に進む。
ステップS510において、安全監視タスク225は安全制御部227を呼び出し、安全制御部227は安全制御を実行する。
優先制御は制御処理ともいい、一般制御は非制御処理ともいう。
安全監視は安全監視処理ともいい、安全制御は安全制御処理ともいう。
制御処理用のアプリケーション、非制御処理用のアプリケーション、安全監視処理用のアプリケーションおよび安全制御処理用のアプリケーションは、補助記憶装置203に記憶され、メモリ202に読み込まれ、プロセッサ201によって実行される。補助記憶装置203に記憶されたアプリケーションを、プロセッサ201が直接実行してもよい。
制御処理用のアプリケーションは制御処理の実行イメージである。非制御処理用のアプリケーションは非制御処理の実行イメージである。安全監視処理用のアプリケーションは安全監視処理の実行イメージである。安全制御処理用のアプリケーションは安全制御処理の実行イメージである。
監視部228の一部である満了割り込みルーチンの優先度は、制御割り込み受付部226の優先度よりも高い。
制御割り込み受付部226の優先度は、優先制御ルーチン232の優先度と同じである。
優先制御ルーチン232の優先度は、スケジューラ223の優先度よりも高い。
スケジューラ223の優先度は、安全監視タスク225の優先度よりも高い。
一般制御タスク233の優先度は、スケジューラ223の優先度よりも低い。
実施の形態1により、不要な異常検知およびCPUオーバヘッドを抑制しながら、安全監視処理のCPU時間の保証と制御処理の遅延の抑制とを実現することが可能となる。
また、優先制御ルーチン232および制御割り込み受付部226がOS管理外割り込みであるため、ゲストOSおよびホストOSの割り込み禁止中でも割り込みを受け付けることができる。そのため、優先制御の遅延を抑制することができる。
また、優先制御ルーチン232および一般制御タスク233が仮想マシン214によって実行される。そのため、優先制御ルーチン232および一般制御タスク233を、安全監視タスク225および安全制御部227に対して、空間的および時間的に独立させることができる。これにより、安全監視処理のCPU時間を保証することが可能となる。また、優先制御ルーチン232および一般制御タスク233を、安全監視タスク225および安全制御部227に要求される安全度水準よりも低い安全度水準で、開発することができる。
第1タイムパーティションでの優先制御の実行時間を監視する代わりに第1タイムパーティションの実行時間を監視する形態について、主に実施の形態1と異なる点を図14から図20に基づいて説明する。
図14に基づいて、ホストOS220の構成を説明する。
ホストOS220は、実施の形態1(図4参照)で説明した要素の他に、第2監視テーブル2292を備える。
第2監視テーブル2292は、タイムパーティション毎の監視規則が設定されたテーブルである。
第2監視テーブル2292は、TP番号と監視フラグと監視規則と満了予定時刻とのそれぞれの欄を有する。
監視フラグの値がONである場合、安全監視が必要である。
監視フラグの値がOFFである場合、安全監視が不要である。
第1監視規則は、第1タイムパーティションの実行時間を制限する規則である。
第1タイムパーティションの実行時間は、第1タイムパーティションでの一般制御の実行時間と第1タイムパーティションでの優先制御の実行時間とを合計して得られる時間である。
第2監視規則がNULLであるため、第2タイムパーティションの実行時間に対する監視規則は無い。
満了予定時刻は、タイムパーティションの開始時刻からタイムパーティションの割り当て時間(一般制御の実行時間)が経過したときの時刻である。
監視フラグの値がOFFである場合、満了予定時刻はゼロである。
第1監視規則において実行回数および実行時間がNULLである。そのため、第1タイムパーティションでの優先制御に監視規則は無い。
図16の第1監視テーブル2291に基づいて、監視部228は、第2監視として、第2タイムパーティションでの優先制御の実行回数と実行時間とを監視する。
図17、図18および図19に基づいて、TP切り替え処理を説明する。
図17において、ステップS111からステップS117までの処理は、実施の形態1(図9参照)で説明した通りである。
ステップS117の後、処理はステップS120(図18参照)に進む。
具体的には、スケジューラ223は、第2監視テーブル2292から現在のタイムパーティションの監視フラグを選択し、選択された監視フラグの値がONであるか判定する。
現在のタイムパーティションがTP監視対象である場合、処理はステップS121に進む。
現在のタイムパーティションがTP監視対象でない場合、処理はステップS126に進む。
スケジューラ223は、現在のタイムパーティションのTP監視タイマを停止する。
スケジューラ223はVM管理部222を呼び出し、VM管理部222は制御割り込みをホストOS220に割り当てる。制御割り込みがホストOS220に割り当てられた後、制御割り込みはホストOS220で受け付けられる。
つまり、監視部228は、第1タイムパーティションの割り当て時間(一般制御の実行時間)が経過したか判定する。
まず、監視部228は、第2監視テーブル2292から、現在のタイムパーティションの満了予定時刻を取得する。
そして、監視部228は、現在時刻を現在のタイムパーティションの満了予定時刻と比較する。
満了予定時刻を過ぎていない場合、処理はステップS126に進む。
まず、スケジューラ223は、スケジュールテーブル224を参照することによって、次のタイムパーティションを特定する。
次に、スケジューラ223は、第1監視テーブル2291から、次のタイムパーティションの監視規則を選択する。
そして、スケジューラ223は、選択された監視規則において実行回数と実行時間との少なくともいずれかがNULL以外の値であるか判定する。
実行回数と実行時間との少なくともいずれかがNULL以外の値である場合、次のタイムパーティションが制御監視対象である。
次のタイムパーティションが制御監視対象でない場合、処理はステップS126に進む。
具体的には、監視部228は、第1監視テーブル2291から次のタイムパーティションの監視履歴を選択し、選択された監視履歴に設定されている実行回数に1を加える。
具体的には、スケジューラ223は、第2監視テーブル2292から次のタイムパーティションの監視フラグを選択し、選択された監視フラグの値がONであるか判定する。
次のタイムパーティションがTP監視対象である場合、処理はステップS127に進む。
次のタイムパーティションがTP監視対象でない場合、処理はステップS118(図19参照)に進む。
具体的には、スケジューラ223は、第2監視テーブル2292から、次のタイムパーティションの監視規則に設定されている実行時間を取得し、取得された実行時間をタイマに設定し、タイマを起動する。起動されるタイマが次のタイムパーティション用のTP監視タイマである。
まず、監視部228は、現在時刻から次のタイムパーティションの割り当て時間が経過したときの時刻を算出する。算出される時刻が満了予定時刻である。
次に、監視部228は、満了予定時刻に対応するタイマカウント値を算出する。
次に、監視部228は、第2監視テーブル2292から、次のタイムパーティションの満了予定時刻の欄を選択する。
そして、監視部228は、選択された満了予定時刻の欄にタイマカウント値を設定する。
第2満了割り込み処理は、第2満了割り込みが発生した場合の処理である。第2満了割り込みは、ステップS128(図18参照)で起動されたTP監視タイマが満了したときに発生する割り込みである。TP監視タイマの満了は、TP監視タイマに設定された時間の経過を意味する。つまり、第2満了割り込みは、第1タイムパーティションで第1監視規則に対する違反が発生した場合に発生する。
第2満了割り込み処理は、監視部228が第2満了割り込みを受け付けたときに実行される。
ステップS610において、監視部228は安全制御部227を呼び出し、安全制御部227は安全制御を実行する。具体的には、監視部228は、第2満了割り込みルーチンに含まれる呼び出し命令を実行することによって、安全制御部227を呼び出す。
第1タイムパーティションでの制御割り込みは、ゲストモード212で受け付けられる割り込みである。
第2タイムパーティションでの制御割り込みは、ホストモード211で受け付けられる割り込みである。
監視部228は、第1タイムパーティションでタイムパーティションの満了予定時刻を過ぎていて、且つ、第1タイムパーティションで第2監視テーブル2292に定義された第1監視規則に対する違反が発生していない場合、第2タイムパーティションでの優先制御の実行回数に1を加える。
監視部228は、第1タイムパーティションでタイムパーティションの満了予定時刻を過ぎていて、且つ、第1タイムパーティションで第2監視テーブル2292に定義された第1監視規則に対する違反が発生した場合、安全制御部227を呼び出す。
実施の形態2では、制御割り込みの実行回数および制御割り込みの実行時間の監視の代わりに、タイムパーティションの実行時間の監視が行われる。これにより、安全監視タスク225の実行時間が保証される。また、仮想マシン214の実行中に制御割り込みが発生した場合に監視部228による制御割り込みの監視を有効化するためにホストモードに遷移する必要がなくなる。これにより、仮想マシン214の実行中は制御割り込みを仮想マシン214で直接受け付けることも可能になる。そのため、優先制御ルーチン232の実行オーバヘッドを抑制することが可能となる。よって、コンテキストの切り替えに伴うCPU負荷の増大を抑制することが可能となる。
実施の形態2では、制御割り込みによってVMタスク221用のタイムパーティションの実行時間が延長した場合に、安全監視タスク225用のタイムパーティションにおける制御割り込みの実行回数がインクリメントされる。つまり、VMタスク221の終了間際に発生した制御割り込みによってVMタスク221用のタイムパーティションが延長してしまい、安全監視タスク225用のタイムパーティションの実行時間が少なくなってしまった場合、安全監視タスク225用のタイムパーティションで制御割り込みが発生したものとして実行回数がカウントされる。これにより、安全監視タスク225用のタイムパーティションにおいて安全監視タスク225の実行時間を確保することができる。
第1タイムパーティションから第2タイムパーティションへの切り換わり時刻よりも一定時間前に制御割り込みの受け付け先をゲストモード212からホストモード211に切り替える形態について、主に実施の形態1および実施の形態2と異なる点を図21から図25に基づいて説明する。
第2監視テーブル2292は、実施の形態2(図15参照)で説明した満了予定時刻の欄の代わりに、切り替え時間と割り込み番号と切り替え先とのそれぞれの欄を有する。
切り替え時間の欄は、切り替え時間を示す。切り替え時間は、割り込みの受け付け先を切り替える時刻を特定する時間である。具体的には、切り替え時間の欄は、切り替え時のタイムパーティションの実行時間を示す。
割り込み番号の欄は、割り込みを識別する番号である割り込み番号を示す。割り込み番号NPは、制御割り込みの割り込み番号である。
切り替え先の欄は、切り替え先を示す。切り替え先は、切り替え後の制御割り込みの受け付け先である。
第1監視テーブル2291の設定は、実施の形態2(図16参照)における設定と同じである。
図23、図24および図25に基づいて、TP切り替え処理を説明する。
図23において、ステップS111からステップS117までの処理は、実施の形態1(図9参照)で説明した通りである。
ステップS111で現在時刻がTP切り替え時刻でないと判定された場合、処理はステップS131(図25参照)に進む。
ステップS117の後、処理はステップS120(図24参照)に進む。
また、ステップS118およびステップS119は、実施の形態1(図9参照)で説明した通りである。
現在のタイムパーティションがTP監視対象である場合、処理はステップS132に進む。
現在のタイムパーティションがTP監視対象でない場合、処理はステップS119(図24参照)に進む。
具体的には、スケジューラ223は、第2監視テーブル2292から現在のタイムパーティションの切り替え時間を取得し、現在のタイムパーティションの実行時間が現在のタイムパーティションの切り替え時間を超過したか判定する。現在のタイムパーティションの実行時間が現在のタイムパーティションの切り替え時間を超過した場合、現在時刻が割り込み切り替え時刻である。
現在時刻が割り込み切り替え時刻である場合、処理はステップS133に進む。
現在時刻が割り込み切り替え時刻でない場合、処理はステップS119(図24参照)に進む。
次のタイムパーティションが制御監視対象である場合、処理はステップS134に進む。
次のタイムパーティションが制御監視対象でない場合、処理はステップS119(図24参照)に進む。
第1タイムパーティションの終了前の一定時間を除いて第1タイムパーティションでの制御割り込みは、ゲストモード212で受け付けられる割り込みである。
第1タイムパーティションの一定時間での制御割り込みは、ホストモード211で受け付けられる割り込みである。
第2タイムパーティションでの制御割り込みは、ホストモード211で受け付けられる割り込みである。
実施の形態3では、タイムパーティションの終了時刻より制御割り込みの最悪実行時間の分だけ前倒しして、制御割り込みの割り付け先が仮想マシン214からホストOS220に変更される。これにより、VMタスク221用のタイムパーティションの終了間際に発生した制御割り込みによってVMタスク221用のタイムパーティションが延長し、安全監視タスク225用のタイムパーティションの実行時間が少なくなってしまった場合、安全監視タスク225用のタイムパーティションで制御割り込みが発生したものとして実行回数がカウントされる。その結果、安全監視タスク225用のタイムパーティションにおいて、安全監視タスク225の実行時間を確保することができる。
実施の形態において、制御装置100の機能はハードウェアで実現してもよい。
図26に、制御装置100の機能がハードウェアで実現される場合の構成を示す。
制御装置100は処理回路990を備える。処理回路990はプロセッシングサーキットリともいう。
処理回路990は、プロセッサ201とメモリ202と補助記憶装置203とを実現する専用の電子回路である。
例えば、処理回路990は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAまたはこれらの組み合わせである。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
Claims (11)
- 1周期に含まれる複数のタイムパーティションの中の1つのタイムパーティションであって一般制御を実行するためのタイムパーティションである第1タイムパーティションで優先制御の契機となる制御割り込みが発生した場合に、第1監視規則に応じた監視である第1監視を行い、前記複数のタイムパーティションの中の1つのタイムパーティションであって障害の発生有無を監視する安全監視を実行するためのタイムパーティションである第2タイムパーティションで制御割り込みが発生した場合に、第2監視規則に応じた監視である第2監視を行う監視部と、
前記第1タイムパーティションで前記第1監視規則に対する違反が発生した場合と、前記第2タイムパーティションで前記第2監視規則に対する違反が発生した場合とのそれぞれで、障害が発生したときのための安全制御を行う安全制御部と
を備える制御装置。 - 前記一般制御および前記優先制御はゲストモードで実行される処理であり、
前記安全監視および前記安全制御はホストモードで実行される処理である
請求項1に記載の制御装置。 - 前記第1監視規則は、前記第1タイムパーティションでの前記優先制御の実行時間を制限する規則であり、
前記監視部は、前記第1監視として、前記第1タイムパーティションでの前記優先制御の実行時間を監視し、
前記第2監視規則は、前記第2タイムパーティションでの前記優先制御の実行回数と実行時間とを制限する規則であり、
前記監視部は、前記第2監視として、前記第2タイムパーティションでの前記優先制御の実行回数と実行時間とを監視する
請求項1または請求項2に記載の制御装置。 - 前記制御割り込みは、オペレーティングシステムの管理外の割り込みであり、
前記管理外の割り込みは、オペレーティングシステムの割り込み禁止中にも受け付け可能な割り込みである
請求項1から請求項3のいずれか1項に記載の制御装置。 - 前記第1監視規則は、前記第1タイムパーティションでの前記一般制御の実行時間と前記第1タイムパーティションでの前記優先制御の実行時間とを合計して得られる前記第1タイムパーティションの実行時間を制限する規則であり、
前記監視部は、前記第1監視として、前記第1タイムパーティションの実行時間を監視し、
前記第2監視規則は、前記第2タイムパーティションでの前記優先制御の実行回数と前記優先制御の実行時間とを制限する規則であり、
前記監視部は、前記第2監視として、前記第2タイムパーティションでの前記優先制御の実行回数と実行時間とを監視する
請求項1または請求項2に記載の制御装置。 - 前記第1タイムパーティションでの前記制御割り込みは、ホストモードを介さずゲストモードで直接受け付けられる割り込みであり、
前記第2タイムパーティションでの前記制御割り込みは、ホストモードで受け付けられる割り込みである
請求項5に記載の制御装置。 - 前記監視部は、前記第1タイムパーティションで前記第1タイムパーティションの実行時間が経過した場合、前記第2タイムパーティションでの前記優先制御の実行回数に1を加える
請求項5または請求項6に記載の制御装置。 - 前記第1タイムパーティションの終了前の一定時間を除いて前記第1タイムパーティションでの前記制御割り込みは、ゲストモードで受け付けられる割り込みであり、
前記第1タイムパーティションの前記一定時間での前記制御割り込みは、ホストモードで受け付けられる割り込みであり、
前記第2タイムパーティションでの前記制御割り込みは、ホストモードで受け付けられる割り込みである
請求項5に記載の制御装置。 - 1周期に含まれる複数のタイムパーティションの中の1つのタイムパーティションであって一般制御を実行するためのタイムパーティションである第1タイムパーティションで優先制御の契機となる制御割り込みが発生した場合に、第1監視規則に応じた監視である第1監視を行い、前記複数のタイムパーティションの中の1つのタイムパーティションであって障害の発生有無を監視する安全監視を実行するためのタイムパーティションである第2タイムパーティションで制御割り込みが発生した場合に、第2監視規則に応じた監視である第2監視を行う監視処理と、
前記第1タイムパーティションで前記第1監視規則に対する違反が発生した場合と、前記第2タイムパーティションで前記第2監視規則に対する違反が発生した場合とのそれぞれで、障害が発生したときのための安全制御を行う安全制御処理と
をコンピュータに実行させるための制御プログラム。 - 1周期に含まれる複数のタイムパーティションの中の1つのタイムパーティションであって一般制御を実行するためのタイムパーティションである第1タイムパーティションで優先制御の契機となる制御割り込みが発生した場合に、第1監視規則に応じた監視である第1監視を行い、前記複数のタイムパーティションの中の1つのタイムパーティションであって障害の発生有無を監視する安全監視を実行するためのタイムパーティションである第2タイムパーティションで制御割り込みが発生した場合に、第2監視規則に応じた監視である第2監視を行う監視部を備える制御装置であって、
前記第1監視規則は、前記第1タイムパーティションでの前記一般制御の実行時間と前記第1タイムパーティションでの前記優先制御の実行時間とを合計して得られる前記第1タイムパーティションの実行時間を制限する規則であり、
前記監視部は、前記第1監視として、前記第1タイムパーティションの実行時間を監視し、
前記第2監視規則は、前記第2タイムパーティションでの前記優先制御の実行回数と前記優先制御の実行時間とを制限する規則であり、
前記監視部は、前記第2監視として、前記第2タイムパーティションでの前記優先制御の実行回数と実行時間とを監視する
制御装置。 - 1周期に含まれる複数のタイムパーティションの中の1つのタイムパーティションであって一般制御を実行するためのタイムパーティションである第1タイムパーティションで優先制御の契機となる制御割り込みが発生した場合に、第1監視規則に応じた監視である第1監視を行い、前記複数のタイムパーティションの中の1つのタイムパーティションであって障害の発生有無を監視する安全監視を実行するためのタイムパーティションである第2タイムパーティションで制御割り込みが発生した場合に、第2監視規則に応じた監視である第2監視を行う監視処理
をコンピュータに実行させるための制御プログラムであって、
前記第1監視規則は、前記第1タイムパーティションでの前記一般制御の実行時間と前記第1タイムパーティションでの前記優先制御の実行時間とを合計して得られる前記第1タイムパーティションの実行時間を制限する規則であり、
前記監視処理は、前記第1監視として、前記第1タイムパーティションの実行時間を監視し、
前記第2監視規則は、前記第2タイムパーティションでの前記優先制御の実行回数と前記優先制御の実行時間とを制限する規則であり、
前記監視処理は、前記第2監視として、前記第2タイムパーティションでの前記優先制御の実行回数と実行時間とを監視する
制御プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/011245 WO2018173123A1 (ja) | 2017-03-21 | 2017-03-21 | 制御装置および制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6242557B1 true JP6242557B1 (ja) | 2017-12-06 |
JPWO2018173123A1 JPWO2018173123A1 (ja) | 2019-03-28 |
Family
ID=60570386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017547594A Active JP6242557B1 (ja) | 2017-03-21 | 2017-03-21 | 制御装置および制御プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200233702A1 (ja) |
JP (1) | JP6242557B1 (ja) |
CN (1) | CN110419028B (ja) |
WO (1) | WO2018173123A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020197837A (ja) * | 2019-05-31 | 2020-12-10 | 株式会社デンソー | 車両用装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020052960A (ja) * | 2018-09-28 | 2020-04-02 | 株式会社デンソーテン | 車両制御装置および車両制御方法 |
EP3671450A1 (en) * | 2018-12-18 | 2020-06-24 | Aptiv Technologies Limited | Virtual electronic control units in autosar |
DE112019007432B4 (de) * | 2019-06-27 | 2024-02-08 | Mitsubishi Electric Corporation | Elektronische steuereinheit und programm |
JP7322734B2 (ja) * | 2020-02-05 | 2023-08-08 | 株式会社デンソー | 制御装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002073354A (ja) * | 2000-08-29 | 2002-03-12 | Ricoh Co Ltd | タスク制御装置とタスク制御方法 |
JP2007233847A (ja) * | 2006-03-02 | 2007-09-13 | Hitachi Ltd | ストレージシステム及びスケジューリング方法 |
JP2010036806A (ja) * | 2008-08-07 | 2010-02-18 | Nsk Ltd | 電動パワーステアリング装置 |
WO2012070102A1 (ja) * | 2010-11-22 | 2012-05-31 | 三菱電機株式会社 | 計算機装置及びプログラム |
WO2013145199A1 (ja) * | 2012-03-29 | 2013-10-03 | 株式会社日立製作所 | 仮想計算機のスケジュール方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2653822Y (zh) * | 2003-10-29 | 2004-11-03 | 北京科技大学 | 数字与模拟技术相结合的图像监控装置 |
JP2014211689A (ja) * | 2013-04-17 | 2014-11-13 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
CN105301955A (zh) * | 2015-10-19 | 2016-02-03 | 中国航空无线电电子研究所 | 一种系统级重构管理应用软件主从切换方法 |
-
2017
- 2017-03-21 CN CN201780088378.3A patent/CN110419028B/zh active Active
- 2017-03-21 WO PCT/JP2017/011245 patent/WO2018173123A1/ja active Application Filing
- 2017-03-21 JP JP2017547594A patent/JP6242557B1/ja active Active
- 2017-03-21 US US16/487,026 patent/US20200233702A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002073354A (ja) * | 2000-08-29 | 2002-03-12 | Ricoh Co Ltd | タスク制御装置とタスク制御方法 |
JP2007233847A (ja) * | 2006-03-02 | 2007-09-13 | Hitachi Ltd | ストレージシステム及びスケジューリング方法 |
JP2010036806A (ja) * | 2008-08-07 | 2010-02-18 | Nsk Ltd | 電動パワーステアリング装置 |
WO2012070102A1 (ja) * | 2010-11-22 | 2012-05-31 | 三菱電機株式会社 | 計算機装置及びプログラム |
WO2013145199A1 (ja) * | 2012-03-29 | 2013-10-03 | 株式会社日立製作所 | 仮想計算機のスケジュール方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020197837A (ja) * | 2019-05-31 | 2020-12-10 | 株式会社デンソー | 車両用装置 |
JP7243459B2 (ja) | 2019-05-31 | 2023-03-22 | 株式会社デンソー | 車両用装置 |
US11884283B2 (en) | 2019-05-31 | 2024-01-30 | Denso Corporation | Vehicle device |
Also Published As
Publication number | Publication date |
---|---|
US20200233702A1 (en) | 2020-07-23 |
CN110419028B (zh) | 2023-06-30 |
CN110419028A (zh) | 2019-11-05 |
JPWO2018173123A1 (ja) | 2019-03-28 |
WO2018173123A1 (ja) | 2018-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6242557B1 (ja) | 制御装置および制御プログラム | |
US8880201B2 (en) | Safety controller and safety control method | |
US8756606B2 (en) | Safety controller and safety control method in which time partitions are scheduled according to a scheduling pattern | |
JPWO2009060530A1 (ja) | ネットワーク処理制御装置,プログラムおよび方法 | |
JP2002259155A (ja) | 多重系計算機システム | |
US20220055637A1 (en) | Electronic control unit and computer readable medium | |
US20100281485A1 (en) | Method For Changing Over A System Having Multiple Execution Units | |
JP5621857B2 (ja) | 安全制御装置および安全制御方法 | |
Piper et al. | Mitigating timing error propagation in mixed-criticality automotive systems | |
JP2013143093A (ja) | 情報処理装置、情報処理システム | |
JP5834935B2 (ja) | 安全制御装置及び安全制御方法 | |
TWI654561B (zh) | 用於控制時間密集的指令的資訊處理設備及方法 | |
US20050160425A1 (en) | Limitation of the response time of a software process | |
JP5533777B2 (ja) | プログラム群 | |
JP2013152636A (ja) | 情報処理装置、タスクスケジューリング方法 | |
US8423681B2 (en) | Control apparatus for process input-output device | |
JP5906584B2 (ja) | 制御装置及び制御方法 | |
US20200183733A1 (en) | Vehicle control device | |
JP5718712B2 (ja) | 情報処理装置 | |
JP4231465B2 (ja) | 組込み制御装置 | |
JP2008077388A (ja) | マルチプロセッサ制御システム、方法、およびプログラム | |
CN107066321B (zh) | 用于准并行地执行多个线程的方法和装置 | |
JP2024085626A (ja) | コンピュータシステム、異常対処方法 | |
TW202422337A (zh) | 錯誤動作控制系統、錯誤動作控制方法及非暫時性電腦可讀取媒體 | |
JP2023032307A (ja) | 仮想化制御装置および割り込み制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170908 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170908 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170908 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170926 |
|
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: 20171010 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6242557 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |