(57)【要約】【課題】仮想環境における専用の車線端末制御機構（例えば専用のＰＣＩ拡張カード）の開発負荷を軽減することができる料金所データ処理装置を提供することである。【解決手段】実施形態に係る料金所データ処理装置は、料金収受システムの中央管理システムと料金所のレーンに設けられる路側装置及び車線端末とを接続し、料金所データ処理装置は、車線端末制御機構と、記憶部と、及びプロセッサーを備える。車線端末制御機構は、前記車線端末とのインタフェースをとる。記憶部は、プログラムを記憶する。プロセッサーは、前記記憶部に記憶されたプログラムに基づいて、仮想環境上の仮想ＢＩＯＳにより前記車線端末制御機構の第１のレジスタへ初期設定に係るビットを設定し、仮想環境上の端末制御機構ドライバにより前記車線端末制御機構の第２のレジスタへ前記車線端末制御機構の内部動作に係るビットを設定する。【選択図】      図２
2020027481.tif 000002
【特許請求の範囲】
【請求項１】
料金収受システムの中央管理システムと料金所のレーンに設けられる路側装置及び車線端末とを接続する料金所データ処理装置であって、
前記車線端末とのインタフェースをとる車線端末制御機構と、
プログラムを記憶する記憶部と、
前記記憶部に記憶されたプログラムに基づいて、仮想環境上の仮想ＢＩＯＳにより前記車線端末制御機構の第１のレジスタへ初期設定に係るビットを設定し、仮想環境上の端末制御機構ドライバにより前記車線端末制御機構の第２のレジスタへ前記車線端末制御機構の内部動作に係るビットを設定するプロセッサーと、
を備える料金所データ処理装置。
【請求項２】
前記車線端末制御機構は、ＰＣＩ拡張カードであり、
前記プロセッサーは、ＰＣＩパススルーにより、前記第２のレジスタへ前記ＰＣＩ拡張カードの前記内部動作に係るビットを設定する請求項１の料金所データ処理装置。
【請求項３】
前記ＰＣＩ拡張カードは、前記料金収受システムの専用の通信プロトコルに対応するカードである請求項２の料金所データ処理装置。
【請求項４】
前記プロセッサーは、前記仮想ＢＩＯＳにより前記ＰＣＩ拡張カードのＰＣＩコンフィグレーションレジスタに含まれる汎用の前記第１のレジスタへ前記初期設定に係るビットを設定する請求項２乃至３の何れか１項の料金所データ処理装置。
【請求項５】
前記プロセッサーは、前記ＰＣＩ拡張カードに対応するＰＣＩ拡張カードドライバーにより前記ＰＣＩ拡張カードの専用の前記第２のレジスタへ前記内部動作に係るビットを設定する請求項２乃至４の何れか１項の料金所データ処理装置。
【請求項６】
情報処理システムの中央管理システムと端末装置とを接続する情報処理装置であって、
前記端末装置とのインタフェースをとる端末制御機構と、
プログラムを記憶する記憶部と、
前記記憶部に記憶されたプログラムに基づいて、仮想環境上の仮想ＢＩＯＳにより前記端末制御機構の第１のレジスタへ初期設定に係るビットを設定し、仮想環境上の端末制御機構ドライバにより前記端末制御機構の第２のレジスタへ前記端末制御機構の内部動作に係るビットを設定するプロセッサーと、を備える情報処理装置。
【請求項７】
前記端末制御機構は、ＰＣＩ拡張カードであり、
前記プロセッサーは、ＰＣＩパススルーにより、前記第２のレジスタへ前記ＰＣＩ拡張カードの前記内部動作に係るビットを設定する請求項６の情報処理装置。
【請求項８】
前記ＰＣＩ拡張カードは、前記情報処理システムの専用の通信プロトコルに対応するカードである請求項７の情報処理装置。
【請求項９】
前記プロセッサーは、前記仮想ＢＩＯＳにより前記ＰＣＩ拡張カードのＰＣＩコンフィグレーションレジスタに含まれる汎用の前記第１のレジスタへ前記初期設定に係るビットを設定する請求項７乃至８の何れか１項の情報処理装置。
【請求項１０】
前記プロセッサーは、前記ＰＣＩ拡張カードに対応するＰＣＩ拡張カードドライバーにより前記ＰＣＩ拡張カードの専用の前記第２のレジスタへ前記内部動作に係るビットを設定する請求項７乃至９の何れか１項の情報処理装置。
【請求項１１】
料金収受システムの中央管理システムと料金所のレーンに設けられる路側装置及び車線端末とを接続される料金所データ処理装置の車線端末制御機構の設定方法であって、
車線端末制御機構の記憶部に記憶されたプログラムに基づいて、仮想環境上の仮想ＢＩＯＳにより前記車線端末制御機構の第１のレジスタへ初期設定に係るビットを設定し、
仮想環境上の車線端末制御機構ドライバにより前記車線端末制御機構の第２のレジスタへ前記車線端末制御機構の内部動作に係るビットを設定する料金所データ処理装置の車線端末制御機構の設定方法。
【請求項１２】
情報処理システムに適用され、端末装置と接続され、各種データを処理する情報処理装置の端末制御機構の設定方法であって、
記憶部に記憶されたプログラムに基づいて、仮想環境上の仮想ＢＩＯＳにより前記端末制御機構の第１のレジスタへ初期設定に係るビットを設定し、
仮想環境上の端末制御機構ドライバにより前記端末制御機構の第２のレジスタへ前記端末制御機構の内部動作に係るビットを設定する情報処理装置の端末制御機構の設定方法。
【請求項１３】
料金収受システムに適用され、中央管理システムと料金所のレーンに設けられる路側装置及び車線端末とを接続する料金所データ処理装置を設定するプログラムであって、
車線端末制御機構の仮想環境上の仮想ＢＩＯＳにより前記車線端末制御機構の第１のレジスタへ初期設定に係るビットを設定する手順と、
仮想環境上の車線端末制御機構ドライバにより前記車線端末制御機構の第２のレジスタへ前記車線端末制御機構の内部動作に係るビットを設定する手順と、
をコンピュータに実行させる設定プログラム。
【請求項１４】
情報処理システムに適用され、端末装置と接続し、各種データを処理する情報処理装置の端末制御機構を設定するプログラムであって、
仮想環境上の仮想ＢＩＯＳにより前記端末制御機構の第１のレジスタへ初期設定に係るビットを設定する手順と、
仮想環境上の端末制御機構ドライバにより前記端末制御機構の第２のレジスタへ前記端末制御機構の内部動作に係るビットを設定する手順と、
をコンピュータに実行させる設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、料金所データ処理装置、情報処理装置、料金所データ処理装置の車線端末制御機構の設定方法、情報処理装置の端末制御機構の設定方法、及び設定プログラムに関する。
【背景技術】
【０００２】
高速道路等の有料道路の料金収受システムとしては、車載通信装置と路側通信装置の無線通信により料金収受するＥＴＣ（Electronic Toll Collection System、以下、「ＥＴＣシステム」と称する）と、通行券を用いた磁気カードシステムが用いられている。
【０００３】
料金収受システムは、大別すると、中央（上位）に中央管理システムと、各料金所設備（下位）から構成される。各料金所設備は、機械室等に設けられる料金所データ処理装置と、通行車両に対し発進制御等を行う路側装置と、車両が走行する車線（レーン）毎に設けられるブース内の車線端末とを備える。
【０００４】
この中で料金所の機械室に設けられる料金所データ処理装置は、車線端末及び路側装置と接続し、車線端末及び路側装置からの情報を受信し、中央管理システムと接続し、車線端末及び路側装置からの情報を送信し、中央管理システムは、料金所データ処理装置から送信される情報を集約する。
【０００５】
料金所データ処理装置は、本システムにおいて専用に開発された通信プロトコルにより、車線機器（車線端末）と通信するように開発されている。つまり、料金所データ処理装置は、本システムにおいて専用に開発された車線端末制御機構（以下、「専用の車線端末制御機構」と称する）を備える。例えば、専用の車線端末制御機構は、専用のＰＣＩ（Peripheral Component Interconnect）拡張カードである。
【０００６】
一般的にサーバ又はＰＣにおいては、ＯＳ（operating system）仮想化技術の進展に伴い、仮想環境において、レガシーなソフトウェア資産を、レガシー環境で動作させることが可能になっており、上記した料金所データ処理装置においても同様である。仮想環境上のゲストＯＳからＰＣＩ拡張カードに直接アクセスする為には、ＰＣＩパススルー（ホストＯＳを経由しないアクセス）という技術が必要となる。
【０００７】
仮想環境では、ホストＯＳ上に仮想ＢＩＯＳが存在し、ゲストＯＳからＰＣＩ拡張カードへのアクセスを可能にしている。ＰＣＩ拡張カードが、仮想環境で正しく動作する為には、仮想ＢＩＯＳから当該ＰＣＩ拡張カードに対し、正しく初期設定を行う必要がある。
【０００８】
従来、ＰＣＩ拡張カード上のカード内部の動作に係る設定は、ＰＣＩ拡張カードベンダがフリーソフトウェアである仮想ＢＩＯＳの変更を行い、仮想ＢＩＯＳのコミュニティに採用してもらう必要がある。
【０００９】
市場に多数流通させることを狙った汎用のＰＣＩ拡張カードは、ＰＣＩ拡張カードベンダが積極的に仮想ＢＩＯＳのコミュニティへの登録を行っており、一般ユーザでも容易に仮想環境で当該ＰＣＩ拡張カードを動作させる事が可能である。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−００４０１３号公報
【特許文献２】特開２００１−３４４１８５号公報
【特許文献３】特表２０１５−５１８６１５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記した料金所データ処理装置では、特殊（汎用性の低い）なＰＣＩ拡張カードを仮想環境で使用するため、料金所データ処理装置の開発者らは仮想ＢＩＯＳの変更（カード内部の動作に係る設定）を行い、仮想ＢＩＯＳのコミュニティへの登録を行う必要がある。このような、仮想ＢＩＯＳのコミュニティへの登録は、承認までに時間を要するだけでなく、承認されないリスクも負うことになる。結果的に、開発からリリースまでの期間が長期化するなど、開発者らの負担増につながるおそれがある。
【００１２】
本発明の目的は、仮想環境における専用の車線端末制御機構（例えば専用のＰＣＩ拡張カード）の開発負荷を軽減することができる料金所データ処理装置、情報処理装置、料金所データ処理装置の車線端末制御機構の設定方法、情報処理装置の端末制御機構の設定方法、及び設定プログラムを提供することである。
【課題を解決するための手段】
【００１３】
実施形態に係る料金所データ処理装置は、料金収受システムの中央管理システムと料金所のレーンに設けられる路側装置及び車線端末とを接続し、料金所データ処理装置は、車線端末制御機構と、記憶部と、及びプロセッサーを備える。車線端末制御機構は、前記車線端末とのインタフェースをとる。記憶部は、プログラムを記憶する。プロセッサーは、前記記憶部に記憶されたプログラムに基づいて、仮想環境上の仮想ＢＩＯＳにより前記車線端末制御機構の第１のレジスタへ初期設定に係るビットを設定し、仮想環境上の端末制御機構ドライバにより前記車線端末制御機構の第２のレジスタへ前記車線端末制御機構の内部動作に係るビットを設定する。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る料金収受システムの概略構成の一例を示すブロック図である。
【図２】実施形態に係る料金収受システムにおける料金所データ処理装置の概略構成の一例を示すブロック図である。
【図３】実施形態に係る料金所データ処理装置の開発の概要を示すフローチャートである。
【図４】実施形態に係る料金所データ処理装置において仮想環境でＰＣＩ拡張カードを動作させるための処理の一例を示すフローチャートである。
【図５】比較例としての料金所データ処理装置の概略構成の一例を示すブロック図である。
【図６】比較例の料金所データ処理装置の開発の概要を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して実施形態に係る料金収受システムの一例について説明する。本実施形態では料金収受システムを例に挙げて説明するが、料金収受システムに限らず、各種の情報処理システムに適用することができる。以下、料金収受システムは情報処理システムと読み替えることができる。
【００１６】
図１は、実施形態に係る料金収受システムの概略構成の一例を示すブロック図である。  
料金収受システムが適用される有料道路等の入口及び出口には料金所が設けられ、これら入口及び出口には１又は複数の車線（レーン）が設けられる。
【００１７】
料金収受システムは、車両が通行を制御するための発進制御バーと、及び料金等の案内表示のために車線の脇に設けられた路側表示器を備える。
【００１８】
料金収受システムは、有料道路の料金所の車線を通行する車両に搭載された車載器（ＥＴＣカードが装填された車載器）とＥＴＣアンテナを有する路側装置とが無線通信することにより通行料金を収受できると、発進制御バーを開閉して、車両を通行させる。また、車載器と路側装置との無線通信ができなかった場合、車載器に装填されるＥＴＣカードと車線端末車線端末がＥＴＣカードからデータを読み出すなどで通行料金を収受したりする。
【００１９】
図１に示すように、料金収受システムは、大別すると、中央（上位）に中央管理システム１と、各料金所設備（下位）から構成される。中央管理システム１は、管理局データ処理装置とも呼ばれる。各料金所設備は、機械室等に設けられる料金所データ処理装置２を備える。さらに、料金収受システムは、料金所において車両が走行する車線（レーン）毎に設けられるブース内の車線端末３と、通行車両に対し発進制御等を行うブース外の路側に路側装置４とを備える。
【００２０】
なお、料金収受システムを情報処理システムと読み替えた場合は、料金所データ処理装置２を情報処理装置と読み替え、車線端末３を端末装置と読み替えることができ、読み替えられた情報処理装置及び端末装置の設置場所は限定されない。
【００２１】
中央管理システム１は、各料金所の料金所データ処理装置２に接続される。所定料金所の料金所データ処理装置２は、同一の所定料金所の各車線に設けられる車線端末３及び路側装置４と接続する。中央管理システム１は、各料金所の料金所データ処理装置２との間で料金収受に関する各種データを交換する。
【００２２】
料金所データ処理装置２は、専用の通信基板（専用の車線端末制御機構）を介して専用プロトコルで車線端末３と通信し各種データを交換する。また、料金所データ処理装置２は、ＬＡＮ（local area network）を介して汎用プロトコルで（例えばＴＣＰ（transmission control protocol）／ＩＰ（internet protocol））路側装置４と通信し各種データを交換する。
【００２３】
例えば、中央管理システム１は、曜日、時間帯、及び区間別の通行料金テーブルを送信し、料金所データ処理装置２は、通行料金テーブルを受信し記憶する。また、料金所データ処理装置２は、車線端末３へ通行料金テーブルを送信する。
【００２４】
車線端末３は、現金等のＥＴＣを利用しない車両に対する支払処理や、ＥＴＣの通信による決済に不具合があった時（例えば、ＥＣＴカードの納入忘れ等）等の対応のため、係員により操作される係員端末である。車線端末３は、料金所データ処理装置２から送信される通行料金テーブルを受信し記憶する。車線端末３は、有料道路の利用者である車両の運転者等から手渡される現金、クレジットカード、又はクレジットカードに対応付けられたＥＴＣカードによる通行料金の精算処理を受付け、精算結果等に基づき車線に設けられた発進制御バーの開閉制御を行う。
【００２５】
更に、精算結果を示す課金データを料金所データ処理装置２へ送信する。さらに、料金所データ処理装置２は、課金データを中央管理システム１へ送信する。現金による精算処理に対応する課金データは、入口料金所ＩＤ、出口料金所ＩＤ、精算日時、及び精算金額等を含む。クレジットによる精算処理に対応する課金データは、クレジットカード番号、入口料金所ＩＤ、出口料金所ＩＤ、精算日時、及び精算金額等を含む。ＥＴＣカードによる精算処理に対応する課金データは、ＥＴＣカード番号、入口料金所ＩＤ、出口料金所ＩＤ、精算日時、及び精算金額等を含む。なお、入口料金所ＩＤは、運転者等から手渡される通行券又はＥＴＣカードから読み取られる。また、出口料金所ＩＤは、車線端末３が設置されている料金所ＩＤであり、車線端末３は、料金所データ処理装置２から送信される出口料金所ＩＤを受信して記憶している。
【００２６】
路側装置４はＥＴＣアンテナを備えるＥＴＣ装置であり、入口料金所に設置された路側装置４は、ＥＴＣアンテナにより、料金所の車線を通行する車両に搭載された車載器と無線通信し、入口料金所ＩＤ及び入場日時等を含む入口情報を送信する。
【００２７】
車載器にはＥＴＣカードが装填され、車載器は、入口情報をＥＴＣカードへ記録する。また、出口料金所に設置された路側装置４は、ＥＴＣアンテナにより、料金所の車線を通行する車両に搭載された車載器と無線通信し、出口料金所ＩＤ及び出場日時等を含む出口情報を送信し、車載器ＩＤ、ＥＴＣカードＩＤ、入口情報を受信する。車載器は、出口情報をＥＴＣカードへ記録する。
【００２８】
路側装置４は、入口料金所ＩＤ、入場日時、出口料金所ＩＤ、及び出場日時を含む通行記録を料金所データ処理装置２へ送信する。料金所データ処理装置２は、通行料金テーブル及び通行記録に基づき、通行料金を算出し、通行料金を示す課金データを中央管理システム１へ送信する。
【００２９】
図２は、実施形態に係る料金収受システムにおける料金所データ処理装置２の概略構成の一例を示すブロック図である。  
図２に示す料金所データ処理装置２は、車線端末３との通信を専用プロトコルで実施しており、専用の通信基板（専用の車線端末制御機構２３）を使用する。また、料金所データ処理装置２では、現行の料金所データ処理装置とアプリケーション統一（共通化）を行うため、ＯＳ仮想化を行い、仮想的に現行の料金所データ処理装置と同様の環境を構築する。
【００３０】
図２に示すように、料金所データ処理装置２は、プロセッサー２１、記憶部２２、車線端末制御機構２３、及び通信インタフェース２４を備える。  
プロセッサー２１と記憶部２２に記憶されたプログラム（ホストＯＳなど）が協働して、各部を制御する。つまり、プロセッサー２１は、記憶部２２に記憶されたプログラムに基づいて動作し、車線端末制御機構２３のレジスタをリセットしたり、レジスタに所定値を書き込んだり、レジスタの所定値を書き換えたりする。
【００３１】
記憶部２２は、車線端末制御機構に所定ビットを設定するプログラムであるホストＯＳ、ゲストＯＳ、及びＢＩＯＳ等を記憶する。プロセッサー２１は、記憶部２２に記憶されたホストＯＳ、ホストＯＳの仮想マシンモニタ上のゲストＯＳ等のプログラムに基づいて動作し、車線端末制御機構２３のレジスタに所定値を書き込んだり、また、仮想環境（仮想ＢＩＯＳを含む仮想マシンモニタ）を構築し、仮想ＢＩＯＳにより車線端末制御機構２３のレジスタに所定値を書き込んだりする。
【００３２】
ホストＯＳの仮想マシンモニタ上に、ゲストＯＳ、及びＢＩＯＳ等のプログラムを料金所データ処理装置２へインストールして実行するだけで、車線端末制御機構２３の設定処理を実現することができる。例えば、料金所データ処理装置２は、これらプログラムをネットワーク経由でダウンロードし、ダウンロードしたプログラムを記憶し、プログラムのインストールを完了することができる。或いは、料金所データ処理装置２は、これらプログラムを情報記憶媒体から読み取り、読み取ったプログラムを記憶し、これらプログラムのインストールを完了することができる。
【００３３】
車線端末制御機構２３は、プロセッサー２１（コンピュータ）に端末装置を接続するためのバスインタフェースである。ここでは、車線端末制御機構２３が、ＰＣＩ（Peripheral Component Interconnect）拡張カードであるケースについて説明する。例えば、ＰＣＩ拡張カードは、２枚のカードを受け入れる構成であり、１枚のカードで１６車線の各車線端末３と通信することができる。なお、上記説明したように、料金所データ処理装置２は、車線端末３との通信を専用プロトコルで実施しており、そのため、専用の車線端末制御機構２３が使用される。つまり、車線端末制御機構２３に対応するＰＣＩ拡張カードも汎用のカードではなく、専用のカードである。
【００３４】
車線端末制御機構２３は、複数レジスタを有するＰＣＩコンフィグレーションレジスタ２３１、及び複数のレジスタを有するデバイス固有空間２３２を備える。車線端末制御機構２３に対応するＰＣＩ拡張カードが専用のカードであることを説明したが、ＰＣＩコンフィグレーションレジスタ２３１は、汎用のカードに設けられる汎用のレジスタであり、ＰＣＩコンフィグレーションレジスタ２３１へのアクセスは一般的に公開された処理手順で実現することができる。一方、デバイス固有空間２３２は、汎用のカードには無い専用のカードに固有の空間に設けられた固有のレジスタであり、デバイス固有空間２３２へのアクセスの処理手順は一般的に公開されていないため、アクセスのための情報（アドレス情報）が必要となる。
【００３５】
ＰＣＩコンフィグレーションレジスタ２３１は、ＯＳの動作に係るレジスタ（第１のレジスタ）２３１１を備え、デバイス固有空間２３２は、車線端末制御機構の内部動作に係るレジスタ（第２のレジスタ）２３１２を備える。ＰＣＩコンフィグレーションレジスタ２３１には、ＯＳの動作に係るレジスタ２３１１が複数存在し、また、デバイス固有空間２３２には、車線端末制御機構の内部動作に係るレジスタ２３２１が複数存在する。
【００３６】
例えば、車線端末制御機構の内部動作に係るレジスタ２３２１として、以下の４つのレジスタＲ１、Ｒ２、Ｒ３、Ｒ４を挙げる。なお、これら４つ以外にも複数のレジスタが存在するが、本実施形態では、以下の４つのレジスタについて説明し、その他のレジスタの説明を省略する。
【００３７】
レジスタＲ１（Control register）は、ＰＣＩ拡張カードのファームウェア（ＦＷ）の内部動作を規定するためのレジスタである。  
レジスタＲ２（ECC（error correction code） register）は、ＰＣＩ拡張カードのメモリー障害状態を監視するためのレジスタである。  
レジスタＲ３（LED（light emitting diode） register）は、ＰＣＩ拡張カードのメモリー以外のハードウェア障害状態を監視し、障害発生時は、LEDで障害を出力（通知）するためのレジスタである。  
レジスタＲ４は（reset/reconfiguration register）、ビットがセットされると、ＰＣＩ拡張カードがリセットされるレジスタである。
【００３８】
通信インタフェース２４は、中央管理システム１等との通信により情報を送受信するインタフェースである。
【００３９】
図３は、実施形態に係る料金所データ処理装置の開発の概要を示すフローチャートである。  
図３に示すように、料金所データ処理装置の開発者らは、車線端末制御機構（ＰＣＩ拡張カード）を設計し（ステップＳＴ１１）、ＰＣＩ拡張カードの設計に対応するように端末制御機構ドライバを変更する（ステップＳＴ１２）。その後は、仮想環境での動作検証を実施し（ステップＳＴ１３）、開発を完了する。これにより、仮想ＢＩＯＳのバージョンに左右されず製品リリースが可能となる。次に、仮想環境での動作検証について説明する。
【００４０】
図４は、実施形態に係る料金所データ処理装置において仮想環境でＰＣＩ拡張カードを動作させるための処理の一例を示すフローチャートである。  
プロセッサー２１は、仮想ＢＩＯＳにより、ＯＳの動作に係る第１のレジスタ２３１１の初期化する。初期化に際して、プロセッサー２１は、仮想ＢＩＯＳにより、ＰＣＩコンフィグレーションレジスタ２３１を初期設定する。つまり、プロセッサー２１は、仮想ＢＩＯＳにより、ＯＳの動作に係るレジスタ２３１１（ベースアドレスレジスタ）へアクセスし、初期設定に係るビットを設定する。初期設定は、デバイス固有空間２３２の車線端末制御機構の内部動作に係るレジスタ２３２１へのアクセス情報（アドレス）を含む。
【００４１】
その後、プロセッサー２１は、端末制御機構ドライバの初期化処理を開始し（ステップＳＴ１３０１）、カーネルダンプ処理を実行する場合には（ステップＳＴ１３０２、ＹＥＳ）、エラーコードを設定し（ステップＳＴ１３０３）、処理を終了する。カーネルダンプ処理は、記憶部２２のメモリーの内容を保存して後で分析できるようにＯＳの中核（以下、「カーネル」と称する）のクラッシュをダンプする仕組み（以下、「kdump」と称する）の実行時の端末制御機構ドライバの初期化に関する記述を指す。kdump kernelの場合には、端末制御機構ドライバの初期化処理を終了することを指す。カーネルにおいてエラーが発生し完全に復旧することができなくなった状態（以下、「パニック」と称する）でカーネルによる端末制御機構ドライバの初期化でＰＣＩ拡張カードは既に初期化されている。
【００４２】
kdump kernelで初期化すると２重に初期化すること（現在の実装ではＦＷで対策済み）、及びＦＷへ通知しているカーネル空間の時刻を管理する物理アドレスが異なること（これはＦＷでは対策されていない）の２点の問題があり、kdump kernel のドライバ初期化で対処されている。
【００４３】
プロセッサー２１は、カーネルダンプ処理を実行しない場合（ステップＳＴ１３０２、ＮＯ）、端末制御機構ドライバにより、ＯＳの動作に係るレジスタ２３１１内のアクセス情報を参照し、車線端末制御機構の内部動作に係るレジスタ２３２１へアクセスし、車線端末制御機構の内部動作に係るビットを設定する。つまり、プロセッサー２１は、端末制御機構ドライバにより、車線端末制御機構の内部動作に係るレジスタ２３２１をカーネル空間へマップする（ステップＳＴ１３０４）。これにより、ＰＣＩコンフィグレーション空間内に車線端末制御機構の内部動作に係るレジスタ２３２１がマップされる。プロセッサー２１は、このステップＳＴ１３０４のマッピングにより、端末制御機構ドライバによる、車線端末制御機構の内部動作に係るレジスタ２３２１にアクセス可能になる。
【００４４】
ここで、仮想ＢＩＯＳによるＰＣＩコンフィグレーションレジスタ２３１の初期設定（第１の設定）と、端末制御機構ドライバによる車線端末制御機構の内部動作に係る設定（第２の設定）の順序について補足する。第１の設定は、ＰＣＩ−ＳＩＧと呼ばれるＰＣＩ−Express（以下、ＰＣＩｅ）の規格に沿った標準の設定である。一方の、第２の設定は、専用の車線端末制御機構２３（専用のＰＣＩ拡張カード）に固有の設定である。第２の設定のためには、先に第１の設定を実施することになる。このような設定順所により、固有の設定を汎用的なプログラム（仮想ＢＩＯＳ）に含めずに、専用のＰＣＩ拡張カードのハードウェアと高い親和性を持つ端末制御機構ドライバで処理することにより、メンテナンス性を高めることができる。
【００４５】
また、ＰＣＩコンフィグレーションレジスタ２３１、及びデバイス固有空間２３２を独立した空間に分割することにより、機能分担を明確にすることができる。つまり、専用の端末制御機能に関する固有の処理をホストＯＳ側のＰＣｌｅの管理機能から、不用意にハンドリングされることを回避できる。
【００４６】
デバイス固有空間２３２の車線端末制御機構の内部の動作に係るレジスタ２３２１は、車線端末制御機構のＦＷが管理する領域であり、車線端末制御機構の内部の動作に係るレジスタ２３２１に対して、ホストＯＳ（仮想ＢＩＯＳ）が勝手に読み書きすることはできない。
【００４７】
例えば、デバイス固有空間２３２のレジスタＲ３（LED register）は、車線端末制御機構のハードウェアの障害監視情報を保持する。ゲストＯＳが再起動するとき、ＰＣＩコンフィグレーション空間が初期化されるが、デバイス固有空間２３２の情報は、初期化の対象外である。よって、ＰＣＩコンフィグレーション空間が初期化されても、デバイス固有空間２３２の情報は保持される。このように、ＰＣＩコンフィグレーションレジスタ２３１、及びデバイス固有空間２３２を独立した空間に分割することにより、ＰＣＩコンフィグレーション空間の初期化による意図しない情報喪失のような不具合を回避することができる。
【００４８】
再び、フローチャートの説明に戻る。プロセッサー２１は、車線端末制御機構２３に関する各種のレジスタをアクセスし（ステップＳＴ１３０５）、車線端末制御機構２３のエラーを検出すると（ステップＳＴ１３０６、ＹＥＳ）、エラーコードを設定し（ステップＳＴ１３０７）、処理を終了する。プロセッサー２１が、車線端末制御機構２３のエラーを検出しなければ（ステップＳＴ１３０６、ＮＯ）、車線端末制御機構２３のＦＷと端末制御機構ドライバのインタフェース用のメールボックスレジスタをカーネル空間へマップする（ステップＳＴ１３０８）。これは、ＰＣＩパススルーに必要な有効化その１（ＭＳＩ／ＭＳＩ−Ｘ割り込みの有効化）である。
【００４９】
さらに、プロセッサー２１は、ＰＣＩパススルーで車線端末制御機構２３がゲストＯＳの物理メモリーへＤＭＡ（direct memory access）転送出来るようゲストＯＳのカーネルを設定する（ステップＳＴ１３０９）。これは、ＰＣＩパススルーに必要な有効化その２（ＤＭＡの有効化）である。
【００５０】
さらに、プロセッサー２１は、割り込みを設定し（ステップＳＴ１３１０）、ＰＣＩパススルーを実行できるように、ＰＣＩコンフィグレーションレジスタ２３１内のコマンドレジスタのＩＮＴ×割り込みを無効に設定する（ステップＳＴ１３１１）。これは、ＰＣＩパススルーに必要な無効化その１（ＩＮＴ×割込みの無効化）である。
【００５１】
プロセッサー２１は、端末制御機構ドライバと車線端末制御機構２３の主導権を車線端末制御機構２３に渡す。つまり、プロセッサー２１は、車線端末制御機構２３がバスマスターとなれるようにＰＣＩコンフィグレーションレジスタ２３１内のコマンドレジスタでバスマスターを設定する（ステップＳＴ１３１２）。さらに、プロセッサー２１は、車線端末制御機構２３のＰＣＩリセットを待ち合わせる（ステップＳＴ１３１３）。ここまでで、車線端末制御機構２３をゲストＯＳに使わせる初期化に関する一連の処理は終了する（ゲストＯＳの終了ではない）。
【００５２】
＜比較例＞
以下、比較例について説明する。ここでは、新規に開発される料金所データ処理装置２に対応する料金所データ処理装置２ａについて説明する。なお、料金所データ処理装置２ａのように開発することも考えられるが、料金所データ処理装置２ａに比べて料金所データ処理装置２の構成にすることにより、開発負荷の軽減を図ることができる。
【００５３】
図５は、比較例としての料金所データ処理装置の概略構成の一例を示すブロック図である。図５に示す料金所データ処理装置２ａについて、実施形態の料金所データ処理装置２との相違点を中心に説明し、共通点については適宜説明を省略する。  
図５に示すように、料金所データ処理装置２ａは、プロセッサー２１ａ、記憶部２２ａ、車線端末制御機構２３ａ、及び通信インタフェース２４ａを備える。
【００５４】
車線端末制御機構２３ａは、ＰＣＩコンフィグレーションレジスタ２３１ａを備える。ＰＣＩコンフィグレーションレジスタ２３１ａは、ＯＳの動作に係るレジスタ（第１のレジスタ）２３１１ａ、及び車線端末制御機構の内部動作に係るレジスタ（第２のレジスタ）２３１２ａを備える。ＰＣＩコンフィグレーションレジスタ２３１ａには、第１のレジスタ２３１１が複数存在し、また、車線端末制御機構の内部動作に係るレジスタ２３２１ａも複数存在する。例えば、車線端末制御機構の内部動作に係るレジスタ２３２２ａとして、４つのレジスタＲ１、Ｒ２、Ｒ３、Ｒ４が挙げられる。なお、これら４つのレジスタの説明は省略する。
【００５５】
専用の車線端末制御機構２３ａに対応した仮想ＢＩＯＳを新に開発し、新に開発した仮想ＢＩＯＳで車線端末制御機構２３ａの初期設定機能を実現しようとした場合には、以下の（１）〜（３）の事項を考慮する必要がある。
【００５６】
（１）新に開発した仮想ＢＩＯＳのコミュニティによる正式採用までに１年近くの長期間を要する。  
（２）初期設定の追加、修正の必要性が発覚した時点で、仮想ＢＩＯＳのコミュニティは、ターゲットとする現行バージョンの仮想ＢＩＯＳに修正を盛り込むことはない為、現行バージョンでの開発継続が難しくなる。  
（３）上記（１）又は（２）を解決する為に、仮想ＢＩＯＳのコミュニティが提供する標準の仮想ＢＩＯＳをベースに、独自の仮想ＢＩＯＳを作る事も可能である。しかしそれ以降、仮想BIOSのコミュニティのサポート対象外となる。
【００５７】
図６は、比較例の料金所データ処理装置の開発の概要を示すフローチャートである。  
図６に示すように、料金所データ処理装置の開発者らは、車線端末制御機構（ＰＣＩ拡張カード）を設計し（ステップＳＴ２１）、設計した車線端末制御機構に対応させて仮想ＢＩＯＳを変更する（ステップＳＴ２２）。変更した仮想ＢＩＯＳ（バージョン_Ｎ）により、仮想環境での動作を検証し（ステップＳＴ２３）、変更した仮想ＢＩＯＳを仮想ＢＩＯＳコミュニティへ登録申請する（ステップＳＴ２４）。ここで、仮想ＢＩＯＳコミュニティが変更した仮想ＢＩＯＳの登録申請を受け入れたとしても（ステップＳＴ２５）、その間、約１年が費やされてしまう。
【００５８】
また、仮想ＢＩＯＳのバージョンを更新する場合（バージョン_Ｎ→バージョン_Ｎ＋１）には、変更した仮想ＢＩＯＳ（バージョン_Ｎ＋１）により、仮想環境での動作を検証し（ステップＳＴ２６）、変更した仮想ＢＩＯＳを仮想ＢＩＯＳコミュニティへ登録申請することになる。このように、製品の開発からリリースまで長期化することが予想される。
【００５９】
これに対して、上記説明した実施形態に係る料金所データ処理装置２によれば、仮想環境における専用の車線端末制御機構（例えば専用のＰＣＩ拡張カード）の開発負荷を軽減することができる。つまり、上記説明した実施形態に係る料金所データ処理装置２により、比較例において挙げた（１）〜（３）の事項を解消することができる。
【００６０】
仮想化において、専用の通信プロトコルに対応する仮想ＢＩＯＳを準備するための開発者らの負担は重く、また、仮想ＢＩＯＳの申請から登録までに相当の時間が必要となる。本実施形態に係る料金所データ処理装置２は、ＰＣＩパススルー技術を利用し、端末制御機構ドライバから直接的にデバイス固有空間２３２の車線端末制御機構の内部の動作に係るレジスタ２３２１を書き換える。これにより、開発負荷を軽減しつつ、専用プロトコルにより、料金所データ処理装置２と車線端末３の通信を実現することができる。
【００６１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６２】
１…中央管理システム
２、２ａ…料金所データ処理装置
３…車線端末
４…路側装置
２１、２１ａ…プロセッサー
２２、２２ａ…記憶部
２３、２３ａ…車線端末制御機構
２４、２４ａ…通信インタフェース
２３１、２３１ａ…ＰＣＩコンフィグレーションレジスタ
２３２…デバイス固有空間
２３１１…ＯＳの動作に係るレジスタ（第１のレジスタ）
２３２１…車線端末制御機構の内部動作に係るレジスタ（第２のレジスタ）
２３１１ａ…ＯＳの動作に係るレジスタ
２３１２ａ…車線端末制御機構の内部動作に係るレジスタ
【図１】
2020027481.tif 000003
【図２】
2020027481.tif 000004
【図３】
2020027481.tif 000005
【図４】
2020027481.tif 000006
【図５】
2020027481.tif 000007
【図６】
2020027481.tif 000008
【手続補正書】
【提出日】平成30年12月3日(2018.12.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
料金収受システムの中央管理システムと料金所のレーンに設けられる路側装置及び車線端末とを接続する料金所データ処理装置であって、
前記車線端末とのインタフェースである車線端末制御機構と、
プログラムを記憶する記憶部と、
前記記憶部に記憶されたプログラムに基づいて、仮想環境上の仮想ＢＩＯＳにより前記車線端末制御機構の第１のレジスタへ初期設定に係るビットを設定し、仮想環境上の端末制御機構ドライバにより前記車線端末制御機構の第２のレジスタへ前記車線端末制御機構の内部動作に係るビットを設定するプロセッサーと、
を備え、
前記車線端末制御機構は、ＰＣＩ拡張カードであり、
前記プロセッサーは、前記仮想ＢＩＯＳにより前記ＰＣＩ拡張カードのＰＣＩコンフィグレーションレジスタに含まれる汎用の前記第１のレジスタへ前記初期設定に係るビットを設定し、
前記プロセッサーは、ＰＣＩパススルーにより、前記ＰＣＩ拡張カードに対応するＰＣＩ拡張カードドライバーにより前記ＰＣＩ拡張カードの専用の前記第２のレジスタへ前記内部動作に係るビットを設定する料金所データ処理装置。
【請求項２】
前記ＰＣＩ拡張カードは、前記料金収受システムの専用の通信プロトコルに対応するカードである請求項１の料金所データ処理装置。
【請求項３】
前記初期設定は、前記第２のレジスタへのアクセス情報を含む請求項１又は２の料金所データ処理装置。
【請求項４】
前記ＰＣＩ拡張カードは、独立して分割された前記ＰＣＩコンフィグレーションレジスタとデバイス固有空間を含み、
前記デバイス固有空間は、前記第２のレジスタを含む請求項１乃至３の何れか１項の料金所データ処理装置。
【請求項５】
情報処理システムの中央管理システムと端末装置とを接続する情報処理装置であって、
前記端末装置とのインタフェースである端末制御機構と、
プログラムを記憶する記憶部と、
前記記憶部に記憶されたプログラムに基づいて、仮想環境上の仮想ＢＩＯＳにより前記端末制御機構の第１のレジスタへ初期設定に係るビットを設定し、仮想環境上の端末制御機構ドライバにより前記端末制御機構の第２のレジスタへ前記端末制御機構の内部動作に係るビットを設定するプロセッサーと、を備え、
前記端末制御機構は、ＰＣＩ拡張カードであり、
前記プロセッサーは、前記仮想ＢＩＯＳにより前記ＰＣＩ拡張カードのＰＣＩコンフィグレーションレジスタに含まれる汎用の前記第１のレジスタへ前記初期設定に係るビットを設定し、
前記プロセッサーは、ＰＣＩパススルーにより、前記ＰＣＩ拡張カードに対応するＰＣＩ拡張カードドライバーにより前記ＰＣＩ拡張カードの専用の前記第２のレジスタへ前記内部動作に係るビットを設定する情報処理装置。
【請求項６】
前記ＰＣＩ拡張カードは、前記情報処理システムの専用の通信プロトコルに対応するカードである請求項５の情報処理装置。
【請求項７】
前記初期設定は、前記第２のレジスタへのアクセス情報を含む請求項５又は６の情報処理装置。
【請求項８】
前記ＰＣＩ拡張カードは、独立して分割された前記ＰＣＩコンフィグレーションレジスタとデバイス固有空間を含み、
前記デバイス固有空間は、前記第２のレジスタを含む請求項５乃至７の何れか１項の情報処理装置。
【請求項９】
料金収受システムの中央管理システムと料金所のレーンに設けられる路側装置及び車線端末とを接続される料金所データ処理装置の車線端末制御機構の設定方法であって、
車線端末制御機構の記憶部に記憶されたプログラムに基づいて、仮想環境上の仮想ＢＩＯＳにより前記車線端末制御機構の第１のレジスタへ初期設定に係るビットを設定し、
仮想環境上の車線端末制御機構ドライバにより前記車線端末制御機構の第２のレジスタへ前記車線端末制御機構の内部動作に係るビットを設定し、
前記車線端末制御機構は、ＰＣＩ拡張カードであり、
前記初期設定に係るビットの設定は、前記仮想ＢＩＯＳにより前記ＰＣＩ拡張カードのＰＣＩコンフィグレーションレジスタに含まれる汎用の前記第１のレジスタへ前記初期設定に係るビットを設定することであり、
前記内部動作に係るビットの設定は、ＰＣＩパススルーにより、前記ＰＣＩ拡張カードに対応するＰＣＩ拡張カードドライバーにより前記ＰＣＩ拡張カードの専用の前記第２のレジスタへ前記内部動作に係るビットを設定することである、料金所データ処理装置の車線端末制御機構の設定方法。
【請求項１０】
前記初期設定は、前記第２のレジスタへのアクセス情報を含む請求項９の料金所データ処理装置の車線端末制御機構の設定方法。
【請求項１１】
前記ＰＣＩ拡張カードは、独立して分割された前記ＰＣＩコンフィグレーションレジスタとデバイス固有空間を含み、
前記デバイス固有空間は、前記第２のレジスタを含む請求項９乃至１０の何れか１項の料金所データ処理装置の車線端末制御機構の設定方法。
【請求項１２】
情報処理システムに適用され、端末装置と接続され、各種データを処理する情報処理装置の端末制御機構の設定方法であって、
記憶部に記憶されたプログラムに基づいて、仮想環境上の仮想ＢＩＯＳにより前記端末制御機構の第１のレジスタへ初期設定に係るビットを設定し、
仮想環境上の端末制御機構ドライバにより前記端末制御機構の第２のレジスタへ前記端末制御機構の内部動作に係るビットを設定し、
前記端末制御機構は、ＰＣＩ拡張カードであり、
前記初期設定に係るビットの設定は、前記仮想ＢＩＯＳにより前記ＰＣＩ拡張カードのＰＣＩコンフィグレーションレジスタに含まれる汎用の前記第１のレジスタへ前記初期設定に係るビットを設定することであり、
前記内部動作に係るビットの設定は、ＰＣＩパススルーにより、前記ＰＣＩ拡張カードに対応するＰＣＩ拡張カードドライバーにより前記ＰＣＩ拡張カードの専用の前記第２のレジスタへ前記内部動作に係るビットを設定することである、情報処理装置の端末制御機構の設定方法。
【請求項１３】
料金収受システムに適用され、中央管理システムと料金所のレーンに設けられる路側装置及び車線端末とを接続する料金所データ処理装置を設定するプログラムであって、
車線端末制御機構の仮想環境上の仮想ＢＩＯＳにより前記車線端末制御機構の第１のレジスタへ初期設定に係るビットを設定する手順と、
仮想環境上の車線端末制御機構ドライバにより前記車線端末制御機構の第２のレジスタへ前記車線端末制御機構の内部動作に係るビットを設定する手順と、
をコンピュータに実行させる設定プログラムであり、
前記車線端末制御機構は、ＰＣＩ拡張カードであり、
前記初期設定に係るビットの設定は、前記仮想ＢＩＯＳにより前記ＰＣＩ拡張カードのＰＣＩコンフィグレーションレジスタに含まれる汎用の前記第１のレジスタへ前記初期設定に係るビットを設定することであり、
前記内部動作に係るビットの設定は、ＰＣＩパススルーにより、前記ＰＣＩ拡張カードに対応するＰＣＩ拡張カードドライバーにより前記ＰＣＩ拡張カードの専用の前記第２のレジスタへ前記内部動作に係るビットを設定することである、設定プログラム。
【請求項１４】
情報処理システムに適用され、端末装置と接続し、各種データを処理する情報処理装置の端末制御機構を設定するプログラムであって、
仮想環境上の仮想ＢＩＯＳにより前記端末制御機構の第１のレジスタへ初期設定に係るビットを設定する手順と、
仮想環境上の端末制御機構ドライバにより前記端末制御機構の第２のレジスタへ前記端末制御機構の内部動作に係るビットを設定する手順と、
をコンピュータに実行させる設定プログラムであり、
前記端末制御機構は、ＰＣＩ拡張カードであり、
前記初期設定に係るビットの設定は、前記仮想ＢＩＯＳにより前記ＰＣＩ拡張カードのＰＣＩコンフィグレーションレジスタに含まれる汎用の前記第１のレジスタへ前記初期設定に係るビットを設定することであり、
前記内部動作に係るビットの設定は、ＰＣＩパススルーにより、前記ＰＣＩ拡張カードに対応するＰＣＩ拡張カードドライバーにより前記ＰＣＩ拡張カードの専用の前記第２のレジスタへ前記内部動作に係るビットを設定することである、設定プログラム。