(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025002276
(43)【公開日】2025-01-09
(54)【発明の名称】処理装置および処理方法
(51)【国際特許分類】
G06F 8/65 20180101AFI20241226BHJP
【FI】
G06F8/65
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023102339
(22)【出願日】2023-06-22
(71)【出願人】
【識別番号】309036221
【氏名又は名称】三菱重工機械システム株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【弁理士】
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【弁理士】
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【弁理士】
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【弁理士】
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】上岡 祐輔
(72)【発明者】
【氏名】外尾 祥悟
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA28
5B376CA30
5B376GA07
(57)【要約】
【課題】可用性を向上させることができる処理装置および処理方法を提供する。
【解決手段】処理装置は、不定時間間隔で所定の範囲へ到来する処理対象について所定のプログラムを実行することで所定の処理を行う処理装置であって、プログラムは並列的に実行可能な複数のタスクを含み、複数のタスクは、アップデートの際に、タスク単位で所定の条件が満たされる毎に所定の順序でアップデートされる。
【選択図】
図8
【特許請求の範囲】
【請求項1】
不定時間間隔で所定の範囲へ到来する処理対象について所定のプログラムを実行することで所定の処理を行う処理装置であって、
前記プログラムは並列的に実行可能な複数のタスクを含み、
前記複数のタスクは、アップデートの際に、タスク単位で所定の条件が満たされる毎に所定の順序でアップデートされる
処理装置。
【請求項2】
前記所定の条件は、前記範囲から所定の距離内で前記処理対象が不検出であるという条件を含む
請求項1に記載の処理装置。
【請求項3】
前記所定の条件は、前記処理を行っている前記処理対象が不存在であるという条件を含む
請求項2に記載の処理装置。
【請求項4】
前記アップデートは、各前記タスクのアップデート用のソフトウェアを含むアップデートファイルと各前記タスクのアップデートの順序を示す情報を含む設定ファイルとに対応付けられ、外部の装置から送信されたアップデートコマンドを受信した際に行われる
請求項3に記載の処理装置。
【請求項5】
前記処理対象は車両であり、
前記処理は有料道路の料金収受処理を含む
請求項1から4のいずれか1項に記載の処理装置。
【請求項6】
不定時間間隔で所定の範囲へ到来する処理対象について所定のプログラムを実行することで所定の処理を行う処理方法であって、
前記プログラムは並列的に実行可能な複数のタスクを含み、
前記複数のタスクは、アップデートの際に、タスク単位で所定の条件が満たされる毎に所定の順序でアップデートされる
処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、処理装置および処理方法に関する。
【背景技術】
【0002】
特許文献1に記載されている監視装置と簡易改札機とを有する改札システムでは、簡易改札機に対する終車後の処理の指示が入力された場合、監視装置から簡易改札機に対して改札処理の中止を指示するコマンドと再起動を要求する再起動コマンドとを送信し、簡易改札機が監視装置からの改札処理の中止を指示するコマンドに応じて改札処理を中止とし、監視装置からの再起動コマンドに応じて再起動を行う。特許文献1に記載されている改札システムでは、簡易改札機におけるメモリの開放および更新を遠隔で行うことができるとされる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載のシステムでは、改札処理を行わなくてよい時間帯に装置の再起動等を行うものであるため、例えば24時間常時運用を継続する必要があるようなシステムに適用した場合、可用性が低下する場合があるという課題があった。
【0005】
本開示は、上記課題を解決するためになされたものであって、可用性を向上させることができる処理装置および処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本開示に係る処理装置は、不定時間間隔で所定の範囲へ到来する処理対象について所定のプログラムを実行することで所定の処理を行う処理装置であって、前記プログラムは並列的に実行可能な複数のタスクを含み、前記複数のタスクは、アップデートの際に、タスク単位で所定の条件が満たされる毎に所定の順序でアップデートされる。
【0007】
また、本開示に係る処理方法は、不定時間間隔で所定の範囲へ到来する処理対象について所定のプログラムを実行することで所定の処理を行う処理方法であって、前記プログラムは並列的に実行可能な複数のタスクを含み、前記複数のタスクは、アップデートの際に、タスク単位で所定の条件が満たされる毎に所定の順序でアップデートされる。
【発明の効果】
【0008】
本開示の処理装置および処理方法によれば、アップデートがタスク単位で行われるので、可用性を向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】本開示の実施形態に係る料金所の構成例を模式的に示す側面図である。
【
図2】本開示の実施形態に係る車両接近センサの動作例を説明するための模式図である。
【
図3】本開示の実施形態に係る車線サーバの構成例を示すブロック図である。
【
図4】本開示の実施形態に係る車線サーバアプリの構成例を示す模式図である。
【
図5】本開示の実施形態に係る車線サーバタスクの基本的動作例を示すフローチャートである。
【
図6】本開示の実施形態に係る車線サーバアプリのインストールの例を示すフローチャートである。
【
図7】本開示の実施形態に係る車線サーバにおけるメモリの記憶内容の例を示す模式図である。
【
図8】本開示の実施形態に係る車線サーバにおけるアップデート動作の例を示すフローチャートである。
【
図9】本開示の実施形態に係るタスク起動用のキューの動作例を説明するための模式図である。
【
図10】本開示の実施形態に係るタスク起動用のキューの動作例を説明するための模式図である。
【
図11】本開示の実施形態に係る車線サーバにおけるアップデート動作の例を説明するための模式図である。
【
図12】本開示の実施形態に係る車線サーバにおけるアップデート動作の例を説明するための他の模式図である。
【
図13】本開示の実施形態に係る車線サーバにおけるメモリの記憶内容の他の例を示す模式図である。
【
図14】本開示の実施形態に係る車線サーバにおけるアップデート動作の他の例を説明するための模式図である。
【
図15】本開示の実施形態に係る車線サーバにおけるアップデート動作の他の例を説明するための模式図である。
【
図16】本の実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0010】
以下、本開示の実施形態に係る処理装置および処理方法について、
図1~
図16を参照して説明する。
図1は、本開示の実施形態に係る料金所の構成例を模式的に示す側面図である。
図2は、本開示の実施形態に係る車両接近センサの動作例を説明するための模式図である。
図3は、本開示の実施形態に係る車線サーバの構成例を示すブロック図である。
図4は、本開示の実施形態に係る車線サーバアプリの構成例を示す模式図である。
図5は、本開示の実施形態に係る車線サーバタスクの基本的動作例を示すフローチャートである。
図6は、本開示の実施形態に係る車線サーバアプリのインストールの例を示すフローチャートである。
図7は、本開示の実施形態に係る車線サーバにおけるメモリの記憶内容の例を示す模式図である。
図8は、本開示の実施形態に係る車線サーバにおけるアップデート動作の例を示すフローチャートである。
図9は、本開示の実施形態に係るタスク起動用のキューの動作例を説明するための模式図である。
図10は、本開示の実施形態に係るタスク起動用のキューの動作例を説明するための模式図である。
図11は、本開示の実施形態に係る車線サーバにおけるアップデート動作の例を説明するための模式図である。
図12は、本開示の実施形態に係る車線サーバにおけるアップデート動作の例を説明するための他の模式図である。
図13は、本開示の実施形態に係る車線サーバにおけるメモリの記憶内容の他の例を示す模式図である。
図14は、本開示の実施形態に係る車線サーバにおけるアップデート動作の他の例を説明するための模式図である。
図15は、本開示の実施形態に係る車線サーバにおけるアップデート動作の他の例を説明するための模式図である。
図16は、本実施形態に係るコンピュータの構成を示す概略ブロック図である。なお、各図において同一または対応する構成には同一の符号を用いて説明を適宜省略する。
【0011】
図1に示すように、本開示の実施形態に係る料金所1は、有料道路の出口料金所であって、有料道路から一般道路に通じる走行レーンである車線Rが設置されている。
図1に示す車線Rは、ETC(登録商標)等の電子式料金収受システムによる料金収受が可能な車線である。
【0012】
料金所1には、路側機器10が設けられている。また、料金所1には、制御室40等の所定の建屋内に路側機器10を制御する車線サーバ30が設けられている。路側機器10は、車線Rの両側または片側の路側に、車両接近センサ11と、車両検知器12と、車両検知器13と、第1アンテナ14と、車線表示板15と、ナンバープレート(以下、NPと略す)読取装置16と、路側IF(インタフェース)集約部17と、路側表示器18と、発進制御機19と、車両検知器20と、第2アンテナ21とを備える。
【0013】
車両接近センサ11は、例えばドップラーセンサであり、例えば
図2に示すように50m先の車両を検知することができる。車両接近センサ11は、例えば50m以内に車両100が接近した場合に出力信号をオン(ON)にし、車両100が検出されない場合に出力信号をオフ(OFF)にする。
【0014】
第1アンテナ14は、車線Rの範囲R1に進入した車両100の車載器101との間で無線通信を行い、無線通信による料金収受処理を行う。
【0015】
車両検知器12は、例えば対向する投光器と受光器とを有し、投光器と受光器との間の車両100の有無を検知する。また、車両検知器13は、例えば対向する投光器と受光器とを有し、投光器と受光器との間の車両100の有無を検知する。第1アンテナ14は、車両検知器12によって車両100の車線Rの範囲R1への進入が検知されたことをトリガにして各種料金収受のための動作を開始する。また、第1アンテナ14は、車両検知器13によって車両100の車線Rの範囲R1からの退出が検知されたことをトリガにして各種料金収受のための動作を停止する。
【0016】
同様に、車両検知器20は、投光器と受光器とを有し、投光器と受光器との間の車両100の有無を検知する。車両検知器20は、発信制御機19よりも車線方向下流側に配置されている。発進制御機19は、車両検知器20によって車両100の車線Rからの退出が検知されたことをトリガにして閉動作するように制御される。発進制御機19は、車線Rの路側の両側にそれぞれに設けられている。発進制御機19は、車線R上を走行する車両100の一時停止および発進を制御するための阻止棒19aを有する。
【0017】
第2アンテナ21は、車両検知器20によって車両100の発進制御機19を越えた通過が検知された場合に、例えば、車種の検知等に時間を要したとき等において、必要に応じて車両100の車載器101との間で例えば各種料金収受のための通信を行う。
【0018】
車線表示板15は、車両100に対して車線Rの運用状態を示す情報等を表示する。NP読取装置16は、例えば撮影した画像に基づいて画像認識処理を行い、車両100のナンバープレートに表示されている情報を認識する。路側IF集約部17は、路側機器10が備える各機器の入出力情報を集約して、車線サーバ30との間で送受信する。路側表示器18は、車両100の運転者等に対して、料金収受処理の結果等を表示する。
【0019】
車線サーバ30は、不定時間間隔で所定の範囲R1へ到来する処理対象である車両100について所定のプログラムを実行することで料金収受処理等の所定の処理を行う処理装置である。車線サーバ30は、車両100の車載器101と第1アンテナ14との間の無線通信の結果、正規の料金が支払われたと判断した場合に、この車両100を車線Rから退出させるべく、発進制御機19に対して、阻止棒19aが開位置になるよう指示する。また、車線サーバ30は、正規の料金が支払われていないと判断される場合には、この車両100を車線Rから退出させないように、発進制御機19に対して、阻止棒19aが閉位置になるよう指示する。
【0020】
なお、上述の料金所1の態様は一例であり、この態様に限定されることはない。例えば、料金所1の車線Rには、無線通信を用いずに料金収受処理を行うための料金自動収受機が設置されていてもよい。また、料金自動収受機の代わりに収受員が待機する有人ブースが設置され、当該収受員が料金の支払いを受け付ける態様であってもよい。
【0021】
車線サーバ30は、組み込みサーバ等のコンピュータを用いて構成され、そのコンピュータとそのコンピュータの周辺装置等のハードウェアと、そのコンピュータが実行するプログラム等のソフトウェアとの組み合わせ等から構成される機能的構成として、
図3に示す各部を備える。すなわち、
図3に示すように、車線サーバ30は、機能的構成として、処理部31と、通信部33と、入出力部34と、記憶部35とを備える。処理部31は、CPU(中央処理装置)32を含む。記憶部35は、RAM(ランダムアクセスメモリ)等の揮発性メモリ36と、フラッシュメモリ等の不揮発性メモリ37とを含む。不揮発性メモリ37は、例えば、読み書き可能な記憶領域と、読み出しのみが可能な記憶領域とを含む。また、不揮発性メモリ37には、後述する遠隔操作によるインストール処理によって車線サーバアプリ(アプリケーションソフトウェアあるいはアプリケーションプログラム)38が格納される。また、不揮発性メモリ37には、例えば、OS(Operating System)39が格納されていて、車線サーバ30が実行する処理はOS39によって管理される。なお、揮発性メモリ36と不揮発性メモリ37を総称する場合に単にメモリともいう。
【0022】
処理部31は、OS39を実行するとともに、OS39の管理下で車線サーバアプリ38を実行する。通信部33は、上位制御装置50との間で所定の通信を実行する。上位制御装置50は、例えば、車線サーバ30から離れた管理センタに設置され、複数の車線サーバ30の動作を統合的に管理する。また、通信部33は、上位制御装置50から車線サーバアプリ38のインストールコマンドを受信した場合、車線サーバアプリ38のインストール処理を実行する。なお、本実施形態において車線サーバアプリ38のインストールとは、不揮発性メモリ37に車線サーバアプリ38を格納することを意味する。入出力部34(あるいは通信部33)は、路側IF集約部17との間で所定の情報を入出力(送受信)する。
【0023】
本実施形態において、車線サーバアプリ38は、不定時間間隔で所定の範囲R1へ到来する処理対象である車両100について料金収受処理等の所定の処理を行うためのプログラムである。すなわち、車線サーバアプリ38は、CPU32が車線サーバアプリ38を実行することで、料金収受処理等の所定の処理を行う。なお、車線サーバ30が本開示に係る「処理装置」の一構成例である。また、車線サーバアプリ38が本開示に係る「プログラム」の一構成例である。
【0024】
本実施形態において、車線サーバアプリ38は、並列的(あるいは並行的)に実行可能な複数のタスクを含む。複数のタスクは、アップデートの際に、タスク単位で所定の条件が満たされる毎に所定の順序でアップデートされる。なお、本実施形態において、「タスク」とは、並列的に実行可能なソフトウェアの実行単位を意味し、例えばメインメモリ上に展開され実行状態にあるソフトウェアと、不揮発性メモリ37に格納されている実行可能な形式のソフトウェアとに対応する。なお、本実施形態では、メインメモリは、CPU32が実行するプログラムが含む各命令が、直接アクセスすることができる記憶装置である。また、複数の「タスク」の並列的な実行はOS39によって管理されてもよいし、コンテキストスイッチ等の仕組みによって実行するタスクを所定の時間毎に自動的に切り替えることにより、複数のタスクを並行して実行するようにしてもよい。
【0025】
図4は、車線サーバアプリ38の構成例を示す。
図4に示す例では、車線サーバアプリ38は、車両管理タスク61、車線管理タスク62、周辺機器タスク63、通信タスク64、および、アップデートタスク65を含む。車両管理タスク61は、路側機器制御関連タスク611と、アンテナ通信関連タスク612と、車両情報管理関連タスク613とを含む。車線管理タスク62は、自己診断タスク621と、異常通知関連タスク622と、車線サーバログ関連タスク623とを含む。なお、
図4に示す各タスク61~65、611~7613および621~623が、本開示に係る「タスク」の構成例である。なお、各タスクを、車線サーバタスクともいう。
【0026】
周辺機器タスク63は、車線サーバ30が有する周辺機器を制御するための処理を実行する。通信タスク64は、通信部33を制御して、車線サーバ30の上位制御装置50との間で所定の情報を送受信するための処理を実行する。アップデートタスク65は、各タスク61~65、611~7613および621~623をアップデートする処理を実行する。なお、本実施形態においてアップデートとは、ソフトウェアを新しいものに置き換えたり、新しい情報に基づいてデータを更新したりすることを意味する。
【0027】
路側機器制御関連タスク611は、路側機器10を制御するための処理を実行する。アンテナ通信関連タスク612は、第1アンテナ14および第2アンテナ21を制御するための処理を実行する。車両情報管理関連タスク613は、車両100に関する情報を管理するための処理を実行する。自己診断タスク621は、路側機器10や車線サーバ30自体の自己診断処理を実行する。異常通知関連タスク622は、路側機器10の制御や料金収受処理において検知された異常を上位制御装置50へ通知するための処理を実行する。車線サーバログ関連タスク623は、路側機器10による検知結果や料金収受処理結果、車両100に関する認識情報や撮影画像を表す情報を所定の形式のデータとして上位制御装置50へ送信するための処理を実行する。
【0028】
なお、
図4は、車線サーバアプリ38の構成の一例を示すものであり、車線サーバアプリ38の構成は
図4に示すものに限定されない。
【0029】
図5は、各タスク61~65、611~7613および621~623に共通する基本的な処理の流れを示す。各タスクは、起動されると、まず、初期設定処理を実行する(ステップS1)。ステップS1の初期設定処理では、例えばハードウェア等に対して所定の診断処理を実行したり、メモリに所定のデータを展開したり、OS39に対する設定処理を実行したりする。初期設定処理の後、各タスクは、繰り返し主処理を実行する(ステップS2の繰り返し)。なお、主処理(ステップS2)は、所定の終了条件が満たされた場合に(ステップS3:yes)、当該タスクを終了するステップを含んでいてもよい。なお。
図5は、基本的な処理の一例を示すものであり、各タスクの処理は
図5に示す例に限定されない。
【0030】
次に、
図6を参照して、車線サーバアプリ38のインストールの例について説明する。
図6に示す処理は、不揮発性メモリ37に車線サーバアプリ38が格納されていない状態で実行される。
【0031】
図6に示す処理において、車線サーバ30が起動すると(電源が投入されると)(ステップS11)、例えば、通信部33が上位制御装置50からのインストールコマンドの受信の待機状態となり、上位制御装置50が車線サーバ30に対してインストールコマンドを送信すると、通信部33がインストールコマンドを受信して、通信部33がインストール処理を実行する(ステップS12)。ステップS12では、通信部33が、例えば車線サーバアプリ38の実行形式のファイルを上位制御装置50から受信し、不揮発性メモリ37に格納する。次に、通信部33が、車線サーバアプリ38を実行(起動)して(ステップS14)、
図6に示す処理を終了する。
【0032】
以上の処理によって、車線サーバ30は、上位制御装置50からのインストールコマンドに応答して、車線サーバアプリ38を自動的にインストールする。
【0033】
図7は、車線サーバ30に車線サーバアプリ38がインストールされ、さらに実行された状態のメモリの記憶内容の例を示す。
図7に示す例では、OS39によって、プログラムの実行環境が仮想アドレス空間70を用いて管理されている。なお、以下の各動作例等では、説明を簡単にするため、車線サーバアプリ38が、アップデートタスク65(のソフトウェア)と、タスクA(6A)(のソフトウェア(以下、同様。))と、タスクB(6B)と、タスクC(6C)とを含むものであるとする。また、後述するアップデート処理の対象は、タスクA、タスクBおよびタスクCであるとする。この場合、不揮発性メモリ37には、OS39と、アップデートタスク65と、タスクA(6A)と、タスクB(6B)と、タスクC(6C)とが格納されている。また、仮想アドレス空間70には、OS39の記憶領域391と、アップデートタスク65用の記憶領域651と、タスクA(6A)用の記憶領域6A1と、タスクB(6B)用の記憶領域6B1と、タスクC(6C)用の記憶領域6C1とが割り当てられている。また、記憶領域651にはアップデートタスク(65)の実行形式の(CPU32が実行可能な)データ(ファイル)が展開され、記憶領域6A1~6C1にはタスクA(6A)~C(6C)の実行形式のデータ(ファイル)が展開されている。なお、アップデートタスク65用の記憶領域651にはキュー651cが設けられている。なお、以下では、アップデートタスク65用の記憶領域651に展開されているアップデートタスク65をアップデートタスク651ともいう。
【0034】
図9に示すように、キュー651cは、各タスクA(6A)~C(6C)の起動順序を記憶する記憶領域である。
図9に示す例では、タスクA(6A)の識別情報6An、タスクB(6B)の識別情報6Bn、タスクC(6C)の識別情報6Cnがこの順で記憶されている。この場合、
図10に示すように、キュー651cは、まず、タスクA(6A)の識別情報6Anを出力し、次にタスクB(6B)の識別情報6Bn、その次にタスクC(6C)の識別情報6Cnを出力する。
【0035】
次に、
図8を参照して、車線サーバアプリ38のアップデート処理について説明する。
図8に示す処理は、
図1に示すように、車線サーバ30が、上位制御装置50からアップデートコマンドD10を受信した場合に開始される。なお、
図1に示す例では、アップデートコマンドD10は、設定ファイルD11と、アップデートファイルD12とを含む。設定ファイルD11は、各タスクのアップデートの順序を示す情報を含む。アップデートファイルD12は、各タスクのアップデート用のソフトウェアを含む。この場合、アップデートファイルD12は、タスクAのアップデート用のソフトウェア6Au、タスクBのアップデート用のソフトウェア6BuおよびタスクCのアップデート用のソフトウェア6Cuを含んでいるものとする。ソフトウェア6Au、ソフトウェア6Buおよびソフトウェア6Cuは、タスクA(6A)、タスクB(6B)およびタスクC(6C)を上書きすることで更新することができるソフトウェアの全部を含んでいるものとする。ただし、アップデートファイルD12は、各タスクのソフトウェアの一部を更新するための情報を含んでいてもよい。なお、この場合、アップデートコマンドD10は、設定ファイルD11とアップデートファイルD12とに対応付けられている。
【0036】
図8に示す処理が開始されると、例えば、通信部33がアップデートコマンドD10の受信に応じて、アップデートタスク651が、路側機器10の状態が正常であるか否かを判定する(ステップS11)。路側機器10の状態が正常でなかった場合(ステップS11:no)、アップデートタスク651は、路側機器10の状態が正常でなかったため、アップデートを完了できなかった旨の情報(
図1のアップデート結果D20)を上位制御装置50へ送信して、アップデート処理を終了する(ステップS21)。
【0037】
路側機器10の状態が正常であった場合(ステップS11:yes)、アップデートタスク651は、車線サーバアプリ38のアップデートファイルD12を記憶部に記憶する(ステップS12)。ステップS12において、アップデートタスク651は、
図7に示す不揮発性メモリ37内の、タスクA(6A)、タスクB(6B)、および、タスクC(6C)に、
図11に示すように、アップデートファイルD12が含むタスクA(6Au)、タスクB(6Bu)、および、タスクC(6Cu)を上書き保存する。
【0038】
次に、アップデートタスク651は、設定ファイルD11に指定された順番で各車線サーバタスクの起動順序をキュー651cに格納する(ステップS13)。起動順序がタスクA、タスクBおよびタスクCの順番であるとすると、ステップS13において、アップデートタスク651は、
図11に示すように、キュー651cに、タスクA、タスクB、および、タスクCを格納する。なお、
図11では、キュー651cにおいて図の上に位置するほど起動の優先順位が高い。
【0039】
次に、アップデートタスク651は、タスク再起動許可状態を不許可に設定する(ステップS14)。
【0040】
次に、アップデートタスク651は、車両接近センサ11の信号がOFFか否かを判定する(ステップS15)。車両接近センサ11の信号がOFFの場合(ステップS15:yes)、アップデートタスク651は、車両管理台数がゼロか否かを判定する(ステップS16)。車両管理台数がゼロの場合(ステップS16:yes)、アップデートタスク651は、タスク再起動許可状態を許可に設定する(ステップS17)。なお、車両管理台数は、
図1に示す範囲R2内に存在する車両100の台数である。範囲R2は、車両検知器12から車両検知器20までの車線Rの領域に対応する。
【0041】
次に、アップデートタスク651は、キュー651cの先頭のタスクを取り出して再起動する(ステップS18)。この場合、まず、
図10に示すようにタスクA(6A)の識別情報6Anがキュー651cから取り出されて、不揮発性メモリ37内のタスクA(6Au)が再起動される。タスクの再起動は、更新後のタスクを仮想アドレス空間70に展開し、仮想アドレス空間70に展開したタスクの実行を開始する動作である。
【0042】
次に、アップデートタスク651は、ステップS18、ステップS15でno、または、ステップS16でnoの後、タスク再起動許可状態を不許可に設定する(ステップS19)。次に、アップデートタスク651は、キュー651cにタスクが残っているか否かを判定する(ステップS20)。この場合、タスクBおよびタスクCが残っているので(ステップS20:yes)、ステップS15~S20の処理が繰り返し実行される。
【0043】
そして、タスクBおよびタスクCの再起動が実行された後、キュー651cにタスクは残っていないので(ステップS20:no)、アップデートタスク651は、アップデートが完了した旨の情報(
図1のアップデート結果D20)を上位制御装置50へ送信して、アップデート処理を終了する(ステップS21)。
【0044】
以上の処理の後、
図12に示すように、不揮発性メモリ37内の車線サーバアプリ38は、タスクA(6Au)、タスクB(6Bu)、および、タスクC(6Cu)を含み、仮想アドレス空間70には、タスクA(6Au)用の記憶領域6Au1と、タスクB(6Bu)用の記憶領域6Bu1と、タスクC(6Cu)用の記憶領域6Cu1とが割り当てられる。また、記憶領域6Au1~6Cu1にはタスクA(6Au)~C(6Cu)の実行形式のデータ(ファイル)が展開される。また、キュー651cには、タスクが格納されていない。
【0045】
次に、
図13~
図15を参照して、揮発性メモリ36の物理アドレスと、不揮発性メモリ37の物理アドレスを、物理アドレス空間に設定し、CPU32が、揮発性メモリ36と不揮発性メモリ37に直接アクセスする場合のアップデート処理の例について説明する。なお、この例についても、
図8に示すアップデート処理の流れは、上述した仮想メモリ空間70を用いる場合と共通である。
【0046】
なお、この例では、
図13に示すように、車線サーバアプリ38は、タスク実行タスク67、アップデートタスク66、タスクA(6A)、タスクB(6B)、および、タスクC(6C)を含む。タスク実行タスク67は、CPU32によってタスクA、タスクBおよびタスクCを時分割で並行的に実行する。タスク実行タスク67は、タスク管理情報671を含む。タスク管理情報671は、タスク名と各タスクの開始アドレスとを管理するデータである。この場合、タスクAの開始アドレスはA1、タスクBの開始アドレスはB1、および、タスクCの開始アドレスはC1である。タスク実行タスク67は、タスク管理情報671を参照して、各タスクを実行する。
【0047】
また、アップデートタスク66は、キュー66cに加え、タスクアップデート情報66uを含む。タスクアップデート情報66uはタスク名とタスク開始アドレスとを管理するデータである。
【0048】
図14は、
図8のステップS12で、アップデートタスク66が、不揮発性メモリ37内に、アップデートファイルD12が含むタスクA(6Au)、タスクB(6Bu)、および、タスクC(6Cu)を保存し、キュー66cにタスクA、タスクBおよびタスクCの各識別情報を格納した状態を示す。また、
図14は、
図8のステップS13で、タスクアップデート情報66uの内容を更新した状態を示す。タスクアップデート情報66uには、タスクA(6Au)の開始アドレスA2、タスクB(6Bu)の開始アドレスB2、および、タスクC(6Cu)の開始アドレスC2が格納されている。
【0049】
図15は、
図8のアップデート処理が完了した場合の状態を示す。タスク管理情報671には、タスクA(6Au)の開始アドレスA2、タスクB(6Bu)の開始アドレスB2、および、タスクC(6Cu)の開始アドレスC2が格納されている。
【0050】
(作用効果)
本開示の処理装置および処理方法によれば、アップデートがタスク単位で行われるので、可用性を向上させることができる。
【0051】
(その他の実施形態)
以上、本開示の実施の形態について図面を参照して詳述したが、具体的な構成はこの実施の形態に限られるものではなく、本開示の要旨を逸脱しない範囲の設計変更等も含まれる。
なお、上記実施形態ではタスク単位でタスク毎に再起動することとしたが、これに限るものではなく、例えば複数タスク毎に再起動するようにしてもよい。
【0052】
〈コンピュータ構成〉
図16は、本の実施形態に係るコンピュータの構成を示す。
コンピュータ90は、プロセッサ91、メインメモリ92、ストレージ93、および、インタフェース94を備える。
上述の車線サーバ30は、コンピュータ90に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ93に記憶されている。プロセッサ91は、プログラムをストレージ93から読み出してメインメモリ92に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ91は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ92に確保する。
【0053】
プログラムは、コンピュータ90に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージに既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータは、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)等が挙げられる。この場合、プロセッサによって実現される機能の一部または全部が当該集積回路によって実現されてよい。
【0054】
ストレージ93の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ93は、コンピュータ90のバスに直接接続された内部メディアであってもよいし、インタフェース94または通信回線を介してコンピュータ90に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ90に配信される場合、配信を受けたコンピュータ90が当該プログラムをメインメモリ92に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ93は、一時的でない有形の記憶媒体である。
【0055】
<付記>
本実施形態に記載の処理装置(車線サーバ30)は、例えば以下のように把握される。
【0056】
(1)第1の態様に係る処理装置(車線サーバ30)は、不定時間間隔で所定の範囲R1へ到来する処理対象(車両100)について所定のプログラム(車線サーバアプリ38)を実行することで所定の処理を行う処理装置であって、前記プログラムは並列的に実行可能な複数のタスクを含み、前記複数のタスクは、アップデートの際に、タスク単位で所定の条件が満たされる毎に所定の順序でアップデートされる。本態様および以下の各態様によれば、アップデートがタスク単位で行われるので、アップデートをプログラム全体について行う場合と比較して、アップデートによって処理が停止される期間を短縮することができ、可用性を向上させることができる。なお、一例を示せば、例えば、車線サーバアプリ38が60個程度のタスクを含む場合、車線サーバアプリ38を再起動するのに要する時間が最長1分程度のとき、各タスクを再起動するのに要する時間は最長1秒程度とすることができる。
【0057】
(2)第2の態様に係る処理装置(車線サーバ30)は、(1)の処理装置(車線サーバ30)であって、前記所定の条件は、前記範囲から所定の距離内で前記処理対象が不検出であるという条件を含む。
【0058】
(3)第3の態様に係る処理装置(車線サーバ30)は、(1)または(2)の処理装置(車線サーバ30)であって、前記所定の条件は、前記処理を行っている前記処理対象が不存在であるという条件を含む。
【0059】
(4)第4の態様に係る処理装置(車線サーバ30)は、(1)~(3)の処理装置(車線サーバ30)であって、前記アップデートは、各前記タスクのアップデート用のソフトウェアを含むアップデートファイルD12と各前記タスクのアップデートの順序を示す情報を含む設定ファイルD11とに対応付けられ、外部の装置から送信されたアップデートコマンドD11を受信した際に行われる。
【0060】
(5)第5の態様に係る処理装置(車線サーバ30)は、(1)~(4)の処理装置(車線サーバ30)であって、前記処理対象は車両100であり、前記処理は有料道路の料金収受処理を含む。
【符号の説明】
【0061】
1…料金所
30…車線サーバ
38…車線サーバアプリ
50…上位制御装置
6A、6Au…タスクA
6B、6Bu…タスクB
6C、6Cu…タスクC
651c、66c…キュー