(57)【要約】【課題】複数の計算機を備える電力系統制御システムにおいて、既存計算機を新しい計算機へ交換する場合に、システムの運用を継続することが可能な技術を提供する。【解決手段】電力系統制御システムは、第１物理計算機および第２物理計算機を含む。第１物理計算機は、第１物理計算機上で動作する第１アプリケーションから、第１物理計算機で取り扱う第１データ形式のアプリデータの送信要求を受け付けた場合に、当該アプリデータを第２物理計算機に送信する。第２物理計算機は、第１データ送信部から送信されたアプリデータを受信し、当該受信されたアプリデータのデータ形式を、第１データ形式から、第２物理計算機で取り扱う第２データ形式に変換し、第２データ形式に変換されたアプリデータを、第２物理計算機上で動作する第２アプリケーションに送信する。【選択図】図３
2018182842.tif 000002
【特許請求の範囲】
【請求項１】
第１物理計算機と、前記第１物理計算機と通信可能に構成された第２物理計算機とを備える電力系統制御システムであって、
前記第１物理計算機は、
前記第１物理計算機上で動作する第１アプリケーションから、前記第１物理計算機で取り扱う第１データ形式のアプリデータの送信要求を受け付けた場合に、当該アプリデータを前記第２物理計算機に送信する第１データ送信部を含み、
前記第２物理計算機は、
前記第１データ送信部から送信された前記アプリデータを受信するデータ受信部と、
前記データ受信部により受信された前記アプリデータのデータ形式を、前記第１データ形式から、前記第２物理計算機で取り扱う第２データ形式に変換するデータ変換部とを含み、
前記データ変換部は、前記第２データ形式に変換された前記アプリデータを、前記第２物理計算機上で動作する第２アプリケーションに送信する、電力系統制御システム。
【請求項２】
前記データ変換部は、前記第２アプリケーションから前記第２データ形式の前記アプリデータの送信要求を受け付けた場合に、前記アプリデータのデータ形式を、前記第２データ形式から前記第１データ形式に変換し、
前記第２物理計算機は、前記第１データ形式に変換された前記アプリデータを前記第１物理計算機に送信する第２データ送信部をさらに含む、請求項１に記載の電力系統制御システム。
【請求項３】
前記第１物理計算機は、前記第２データ送信部から送信された前記第１データ形式の前記アプリデータを受信し、当該受信された前記第１データ形式の前記アプリデータを、前記第１アプリケーションに送信するデータ取得部をさらに含む、請求項２に記載の電力系統制御システム。
【請求項４】
前記第１データ形式の前記アプリデータがビッグエンディアン形式のデータである場合、前記第２データ形式の前記アプリデータはリトルエンディアン形式のデータである、請求項１〜３のいずれか１項に記載の電力系統制御システム。
【請求項５】
第１物理計算機と、前記第１物理計算機と通信可能に構成された第２物理計算機とを備える電力系統制御システムであって、
前記第１物理計算機は、
前記第１物理計算機上で動作する第１アプリケーションから、前記第１物理計算機で取り扱う第１データ形式のアプリデータの送信要求を受け付けた場合に、前記アプリデータのデータ形式を、前記第１データ形式から、前記第１データ形式とは異なる第２データ形式に変換する第１データ変換部と、
前記第２データ形式に変換された前記アプリデータを前記第２物理計算機に送信する第１データ送信部とを含み、
前記第２物理計算機は、
前記第１データ送信部から送信された前記アプリデータを受信するデータ受信部と、
前記データ受信部により受信された前記アプリデータのデータ形式を、前記第２データ形式から、前記第２物理計算機で取り扱う前記第１データ形式に変換する第２データ変換部とを含み、
前記第２データ変換部は、前記第１データ形式に変換された前記アプリデータを、前記第２物理計算機上で動作する第２アプリケーションに送信する、電力系統制御システム。
【請求項６】
第１物理計算機と、前記第１物理計算機と通信可能に構成された第２物理計算機とを備える電力系統制御システムの制御方法であって、
前記第１物理計算機が、前記第１物理計算機上で動作する第１アプリケーションから、前記第１物理計算機で取り扱う第１データ形式のアプリデータの送信要求を受け付けるステップと、
前記第１物理計算機が、前記送信要求に従って、当該アプリデータを前記第２物理計算機に送信するステップと、
前記第２物理計算機が、前記第１物理計算機から送信された前記アプリデータを受信するステップと、
前記第２物理計算機が、前記受信するステップにより受信された前記アプリデータのデータ形式を、前記第１データ形式から、前記第２物理計算機で取り扱う第２データ形式に変換するステップと、
前記第２物理計算機が、前記第２データ形式に変換された前記アプリデータを、前記第２物理計算機上で動作する第２アプリケーションに送信するステップとを含む、電力系統制御システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、電力系統制御システム、およびその制御方法に関し、特に、稼働系および待機系の物理計算機を備える電力系統制御システム、およびその制御方法に関する。
【背景技術】
【０００２】
従来、電力系統制御システムにおいては高信頼性が要求されるため、制御用の計算機を二重化した冗長構成が採用されている。この方式では、同じ機能を有する計算機を二台用意し、一方を稼動系、他方を待機系としている。稼動系計算機に故障等の異常が発生した場合、あるいは稼動系計算機を新しい計算機へ交換する場合には、待機系計算機を稼動系に切り替える。このような稼働系計算機および待機系計算機間においては、ネットワークを介してデータ通信が実施される。
【０００３】
ネットワークを介して複数の機器を接続し、１つの機器の情報資源を他の機器において利用する技術の一例として、特開平７−２１９８２３号公報（特許文献１）が開示されている。特許文献１には、ファイル共有の際に自動的にマシンの機種に応じたエンディアンでファイルの内容をアクセス可能とすることで、複数のバイト文字コードを採用した場合においても、エンディアンを意識することなくテキストファイルの共有を行なうファイルシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２１９８２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
電力系統制御システムでは、既存計算機の寿命により当該既存計算機を新しい計算機へ交換する場合等であっても、監視制御を止めることなく系統運用を継続することが求められている。しかしながら、一方の既存計算機を新しい計算機へ交換する場合であって、かつ、他の既存計算機で取り扱う（処理可能な）データ形式と、新しい計算機で取り扱う（処理可能な）データ形式とが異なる場合には、新しい計算機と他の既存計算機とのデータ通信に不整合が発生し、システムの運用の継続が困難になる可能性がある。特許文献１に係る技術は、このような問題を解決するための技術的手段を何ら教示するものではない。
【０００６】
本開示のある局面における目的は、複数の物理計算機を備える電力系統制御システムにおいて、既存計算機を新しい計算機へ交換する場合に、システムの運用を継続することが可能な技術を提供することである。
【課題を解決するための手段】
【０００７】
ある実施の形態に従うと、第１物理計算機と、第１物理計算機と通信可能に構成された第２物理計算機とを備える電力系統制御システムが提供される。第１物理計算機は、第１物理計算機上で動作する第１アプリケーションから、第１物理計算機で取り扱う第１データ形式のアプリデータの送信要求を受け付けた場合に、当該アプリデータを第２物理計算機に送信する第１データ送信部を含む。第２物理計算機は、第１データ送信部から送信されたアプリデータを受信するデータ受信部と、データ受信部により受信されたアプリデータのデータ形式を、第１データ形式から、第２物理計算機で取り扱う第２データ形式に変換するデータ変換部とを含む。データ変換部は、第２データ形式に変換されたアプリデータを、第２物理計算機上で動作する第２アプリケーションに送信する。
【０００８】
他の実施の形態に従うと、第１物理計算機と、第１物理計算機と通信可能に構成された第２物理計算機とを備える電力系統制御システムの制御方法が提供される。当該制御方法は、第１物理計算機が、第１物理計算機上で動作する第１アプリケーションから、第１物理計算機で取り扱う第１データ形式のアプリデータの送信要求を受け付けるステップと、第１物理計算機が、送信要求に従って、当該アプリデータを第２物理計算機に送信するステップと、第２物理計算機が、第１物理計算機から送信されたアプリデータを受信するステップと、第２物理計算機が、受信するステップにより受信されたアプリデータのデータ形式を、第１データ形式から、第２物理計算機で取り扱う第２データ形式に変換するステップと、第２物理計算機が、第２データ形式に変換されたアプリデータを、第２物理計算機上で動作する第２アプリケーションに送信するステップとを含む。
【発明の効果】
【０００９】
本開示によると、複数の計算機を備える電力系統制御システムにおいて、既存計算機を新しい計算機へ交換する場合に、システムの運用を継続することが可能な技術を提供することである。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に従う電力系統制御システムの構成例を示す図である。
【図２】実施の形態１に従う物理計算機のハードウェア構成例を示すブロック図である。
【図３】実施の形態１に従う各物理計算機の機能構成を示す模式図である。
【図４】データ種類とデータ構造との関係を示す情報テーブルである。
【図５】データ種類「１」のデータ構造を説明するための図である。
【図６】データ変換方法の一例を説明するための図である。
【図７】データ変換方法の他の例を説明するための図である。
【図８】実施の形態１に従う各物理計算機の処理手順を示すフローチャートである。
【図９】実施の形態１に従う各物理計算機の処理手順を示すフローチャートである。
【図１０】実施の形態２に従う電力系統制御システムの構成例を示す図である。
【図１１】実施の形態２に従う各物理計算機の機能構成を示す模式図である。
【図１２】実施の形態２に従う各物理計算機の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ、本発明の実施の形態について説明する。なお、同一または相当する部分に同一の参照符号を付し、その説明を繰返さない場合がある。また、以下に説明する実施の形態において、個数、量などに言及する場合、特に記載がある場合を除き、本発明の範囲は必ずしもその個数、量などに限定されない。また、以下の実施の形態において、各々の構成要素は、特に記載がある場合を除き、本発明にとって必ずしも必須のものではない。
【００１２】
実施の形態１．
＜システム構成＞
図１は、実施の形態１に従う電力系統制御システム１０００の構成例を示す図である。電力系統制御システム１０００は、電力系統に含まれる比較的大規模な装置または設備の監視制御に適用される。例えば、電力系統制御システム１０００は、管轄区間における発電所全体の発電機制御を統括する給電指令所に配置される。
【００１３】
図１を参照して、電力系統制御システム１０００は、２つの物理計算機１００Ａ、１００Ｂ（以下、「物理計算機１００」とも総称する。）を含む。物理計算機１００Ａおよび物理計算機１００Ｂは、基本的に同じであり、一方が稼働系に設定され他方が待機系に設定されて二重化を構成している。
【００１４】
実施の形態１に係る電力系統制御システム１０００では、２つの既存計算機（例えば、物理計算機１００Ａ）のうちの一方を新しい計算機（例えば、物理計算機１００Ｂ）に交換した場面を想定する。また、物理計算機１００Ａと物理計算機１００Ｂとは、異なるオペレーティングシステム（ＯＳ）を搭載しているが、電力系統を監視および制御する機能に関しては同一であるとする。
【００１５】
物理計算機１００Ａには、複数のアプリケーション１０＿１〜１０＿Ｎ（以下、「アプリケーション１０」とも総称する。）と、送信プログラム１１と、受信プログラム１２とがインストールされている。物理計算機１００Ｂには、複数のアプリケーション２０＿１〜２０＿Ｎ（以下、「アプリケーション２０」とも総称する。）と、送信プログラム２１と、受信プログラム２２とがインストールされている。物理計算機１００Ｂは、情報格納部２３をさらに含む。複数のアプリケーション１０＿１〜１０＿Ｎは、それぞれ複数のアプリケーション２０＿１〜２０＿Ｎと同一のソースプログラムにより生成される。
【００１６】
アプリケーション１０，２０は、電力系統を運用するために用いられるアプリケーションである。例えば、アプリケーション１０，２０は、電力系統を監視および制御するために必要な演算を実行するためのアプリケーション、電力系統制御システム１０００外からデータを受信するために必要な処理を実行するアプリケーション、電力系統制御システム１０００外にデータを送信するために必要な処理を実行するアプリケーション等である。
【００１７】
送信プログラム１１は、物理計算機１００Ｂにデータを送信するためのプログラムである。受信プログラム１２は、物理計算機１００Ｂからデータを受信するためのプログラムである。これらの機能の詳細については後述する。
【００１８】
送信プログラム２１は、物理計算機１００Ａにデータを送信するためのプログラムである。受信プログラム２２は、物理計算機１００Ｂからデータを受信するためのプログラムである。これらの機能の詳細については後述する。
【００１９】
情報格納部２３は、物理計算機１００Ａから受信したデータのデータ形式、および物理計算機１００Ａへ送信するデータのデータ形式を変換するために必要な情報を格納する。
【００２０】
＜ハードウェア構成＞
図２は、実施の形態１に従う物理計算機１００のハードウェア構成例を示すブロック図である。図２を参照して、物理計算機１００は、そのコンポーネントとして、プロセッサ１５０と、主記憶装置１５２と、二次記憶装置１５４と、ネットワークインターフェイス（Ｉ／Ｆ：Interface）１５８と、入力装置１６０と、汎用インターフェイス（Ｉ／Ｆ：Interface）１６２とを含む。これらのコンポーネントは、内部バス１６４を介して互いに通信可能に接続されている。
【００２１】
プロセッサ１５０は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Multi Processing Unit）といった演算処理部であり、二次記憶装置１５４にインストールされているＯＳを含む各種プログラムを読出して、主記憶装置１５２に展開しつつ実行する。
【００２２】
主記憶装置１５２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性記憶媒体であり、プロセッサ１５０によって実行されるＯＳを含む各種プログラムのコードの他、各種プログラムの実行に必要な各種ワークデータを保持する。
【００２３】
二次記憶装置１５４は、ハードディスクあるいはＳＳＤ（Solid State Drive）などの不揮発性記憶媒体であり、ＯＳを含む各種プログラムの他、各種設定値などを保持する。
【００２４】
ネットワークインターフェイス１５８は、他の物理計算機等との間の通信に係る処理を実行する。入力装置１６０は、典型的には、キーボード、マウスなどからなり、ユーザ（例えば、系統運用者）からの各種設定および操作を受付ける。
【００２５】
汎用インターフェイス１６２は、典型的には、ＵＳＢ（Universal Serial Bus）インターフェイス、ＲＳ−２３２Ｃに従うシリアル通信インターフェイス、パラレル通信インターフェイスなどを含み、外部装置等との間でデータを遣り取りする。
【００２６】
＜機能構成＞
図３は、実施の形態１に従う物理計算機１００Ａおよび１００Ｂの機能構成を示す模式図である。図３を参照して、物理計算機１００Ａは、アプリケーション１０と、要求受付部１０２と、データ送信部１０４と、データ受信部１０６とを含む。要求受付部１０２およびデータ送信部１０４は、図１中の送信プログラム１１に対応する。データ受信部１０６は、図１中の受信プログラム１２に対応する。
【００２７】
物理計算機１００Ｂは、アプリケーション２０と、要求受付部２０２と、データ送信部２０４と、データ受信部２０６と、データ変換部２０８とを含む。また、物理計算機１００Ｂは、主記憶装置１５２および二次記憶装置１５４により実現される情報格納部２３をさらに含む。要求受付部２０２、データ変換部２０８、およびデータ送信部２０４は、図１中の送信プログラム２１に対応する。データ受信部２０６およびデータ変換部２０８は、図１中の受信プログラム２２に対応する。
【００２８】
本実施の形態では、アプリケーションで使用される（処理される）各種データを「アプリデータ」とも称する。まず、アプリケーション１０からアプリケーション２０にアプリデータが送信される場合について説明する。すなわち、アプリケーション１０＿１〜１０＿Ｎのうちの１つのアプリケーション１０から、アプリケーション２０＿１〜２０〜Ｎのうちの１つのアプリケーション２０へアプリデータが送信される場合について説明する。
【００２９】
物理計算機１００Ａの要求受付部１０２は、アプリケーション１０からアプリデータの送信要求を受け付ける。具体的には、送信要求は、送信対象のアプリデータと、アプリケーション２０に当該アプリデータを送信するための要求情報とを含む。当該送信対象のアプリデータは、物理計算機１００Ａで取り扱う（処理可能な）データ形式（詳細には、物理計算機１００Ａのプロセッサ１５０で取り扱うデータ形式）Ｘ１を有している。
【００３０】
要求受付部１０２は、送信対象のアプリデータをデータ送信部１０４に送信するとともに、当該アプリデータをアプリケーション２０へ送信するようにデータ送信部１０４に指示する。
【００３１】
データ送信部１０４は、ＬＡＮ（Local Area Network）等のネットワークを介して、送信対象のアプリデータを物理計算機１００Ｂに送信する。
【００３２】
物理計算機１００Ｂのデータ受信部２０６は、データ送信部１０４から送信されたアプリデータを受信する。データ受信部２０６は、受信したアプリデータをデータ変換部２０８に送信する。
【００３３】
データ変換部２０８は、データ受信部２０６により受信されたアプリデータのデータ形式を変換する。具体的には、データ変換部２０８は、データ受信部２０６により受信されたアプリデータのデータ形式「Ｘ１」を、物理計算機１００Ｂで取り扱うデータ形式「Ｘ２」に変換する。例えば、データ変換部２０８は、以下に説明するようにデータ変換を実行する。
【００３４】
図４は、データ種類とデータ構造との関係を示す情報テーブル４００である。情報テーブル４００は、情報格納部２３に格納されている。
【００３５】
図４を参照して、データ種類「１」のデータは、水平方向３２ビットで構成されており、２個の２バイト長のフィールドと、１個の４バイト長のフィールドと、８個の１バイト長のフィールドとを有する。データ種類「２」のデータは、水平方向３２ビットで構成されており、１６個の８バイト長のフィールドを有する。データ種類「３」のデータは、水平方向３２ビットで構成されており、８個の１バイト長のフィールドと、２個の４バイト長のフィールドとを有する。データ変換部２０８は、データ受信部２０６により受信されたアプリデータの種類情報と、情報テーブル４００とに基づいて、当該アプリデータのデータ構造を特定する。例えば、種類情報が「１」の場合、データ変換部２０８は、当該アプリデータが、データ種類「１」に対応するデータ構造であると特定する。なお、種類情報は、アプリデータとともに受信するか、あるいは、アプリデータの中に含まれているとする。
【００３６】
図５は、データ種類「１」のデータ構造を説明するための図である。図５を参照して、データ種類「１」のアプリデータは、フィールドＦ１〜Ｆ１１で構成される。フィールドＦ１，Ｆ２は２バイト調査で構成され、フィールドＦ３は４バイト長で構成され、フィールドＦ４〜Ｆ１１は、１バイト長で構成される。
【００３７】
図６は、データ変換方法の一例を説明するための図である。具体的には、図６（ａ）は、データ種類「１」のアプリデータのデータ変換前のデータ構造を示している。図６（ｂ）は、データ種類「１」のアプリデータのデータ変換後のデータ構造を示している。
【００３８】
ここで、データ変換前のアプリデータは、物理計算機１００Ａで取り扱うデータ形式「Ｘ１」のアプリデータであり、データ変換後のアプリデータは、物理計算機１００Ｂで取り扱うデータ形式「Ｘ２」のアプリデータであるとする。また、データ形式「Ｘ１」がビッグエンディアン形式であり、データ形式「Ｘ２」がリトルエンディアン形式であるとする。ビッグエンディアン形式とは、複数バイトで構成されるデータを、データの上位バイトからメモリに並べる形式である。リトルエンディアン形式とは、複数バイトで構成されるデータを、データの下位バイトからメモリに並べる形式である。
【００３９】
図６（ａ）を参照して、データ変換前のアプリデータにおいては、フィールドＦ１の上位バイトおよび下位バイトが、それぞれＡ１およびＡ２で表されており、フィールドＦ２の上位バイトおよび下位バイトが、それぞれＡ３およびＡ４で表されている。フィールドＦ３においては、Ａ５が最上位バイト、順にＡ６、Ａ７、最下位バイトがＡ８で表される。フィールドＦ４〜Ｆ１１を構成する１バイトは、それぞれＡ９〜Ａ１６で表される。
【００４０】
一方、図６（ｂ）を参照して、データ変換後のアプリデータにおいては、フィールドＦ１の上位バイトおよび下位バイトが、それぞれＡ２およびＡ１で表されており、フィールドＦ２の上位バイトおよび下位バイトが、それぞれＡ４およびＡ３で表されている。フィールドＦ３においては、Ａ８が最上位バイト、順にＡ７、Ａ６、最下位バイトがＡ５で表される。なお、フィールドＦ４〜Ｆ１１を構成する１バイトは、それぞれＡ９〜Ａ１６で表されており、図６（ａ）と同様である。
【００４１】
図７は、データ変換方法の他の例を説明するための図である。具体的には、図７（ａ）は、データ種類「２」のアプリデータのデータ変換前のデータ構造を示している。図７（ｂ）は、データ種類「２」のアプリデータのデータ変換後のデータ構造を示している。
【００４２】
図７（ａ）を参照して、データ変換前のアプリデータでは、フィールドＦ２１において、Ａ１が最上位バイト、順にＡ２、・・・、Ａ７、最下位バイトがＡ８で表される。フィールドＦ３６において、Ｐ１が最上位バイト、順にＰ２、・・・、Ｐ７、最下位バイトがＰ８で表される。一方、図７（ｂ）を参照して、データ変換後のアプリデータでは、フィールドＦ２１において、Ａ８が最上位バイト、順にＡ７、・・・、Ａ２、最下位バイトがＡ１で表される。他の各フィールドにおいても同様である。
【００４３】
上記のように、データ変換部２０８は、アプリデータをエンディアン変換していることがわかる。具体的には、データ変換部２０８は、情報テーブル４００を用いてアプリデータのデータ構造を特定した後、物理計算機１００Ａ（具体的には、物理計算機１００Ａのプロセッサ１５０およびＯＳ）が対応しているビッグエンディアン形式のアプリデータＤｂから、物理計算機１００Ｂ（具体的には、物理計算機１００Ｂのプロセッサ１５０およびＯＳ）が対応しているリトルエンディアン形式のアプリデータＤｌに変換する。より詳細には、データ変換部２０８は、当該特定されたデータ構造に従って、複数バイトで構成される各フィールド（例えば、データ種類「１」の場合には各フィールドＦ１〜Ｆ３）において、バイト単位での並び替え（すなわち、エンディアン変換）を実行する。
【００４４】
これにより、ビッグエンディアンとは逆のデータ並びとなるリトルエンディアンに対応する物理計算機１００Ｂでも、アプリデータＤｂと同じ内容のデータとして、アプリデータＤｌを処理可能になる。
【００４５】
なお、データ変換部２０８は、アプリデータの種類情報が、情報テーブル４００に存在しない場合には、アプリデータのデータ変換を実行しなくてもよい。例えば、アプリデータを構成する各フィールドが、すべて１バイト長で構成されている場合、当該アプリデータのビッグエンディアン方式とリトルエンディアン方式とは同じ扱いとなる。そのため、データ形式を変換しなくても物理計算機１００Ａおよび物理計算機１００Ｂで当該アプリデータを処理可能である。
【００４６】
したがって、情報テーブル４００は、アプリデータの各フィールドがすべて１バイト長で構成される場合、当該アプリデータの種類情報に対応するデータ構造を含まなくてもよい。この場合、データ変換部２０８によりデータ変換を実行しないため、変換処理時間を削減できる。
【００４７】
再び、図３を参照して、データ変換部２０８は、データ形式「Ｘ２」に変換されたアプリデータを、アプリケーション２０に送信する。具体的には、データ変換部２０８は、リトルエンディアン方式のアプリデータをアプリケーション２０に与える。
【００４８】
次に、アプリケーション２０において用いられるアプリデータを、アプリケーション１０に送信する場合について説明する。
【００４９】
物理計算機１００Ｂの要求受付部２０２は、アプリケーション２０からアプリデータの送信要求を受け付ける。ここで、送信対象のアプリデータは、物理計算機１００Ｂで取り扱うデータ形式「Ｘ２」を有している。
【００５０】
要求受付部２０２は、送信対象のアプリデータをデータ変換部２０８に送信するとともに、アプリデータのデータ変換を指示する。
【００５１】
データ変換部２０８は、アプリケーション２０からデータ形式「Ｘ２」のアプリデータの送信要求を受け付けた場合、当該アプリデータのデータ形式を、データ形式「Ｘ２」から、物理計算機１００Ａで取り扱うデータ形式「Ｘ１」に変換する。具体的には、データ変換部２０８は、送信対象のアプリデータの種類情報と、情報テーブル４００とに基づいて、当該アプリデータのデータ構造を特定する。データ変換部２０８は、当該特定されたデータ構造に従って、複数バイトで構成される各フィールドにおいて、バイト単位での並び替え（すなわち、エンディアン変換）を実行する。データ変換部２０８は、データ形式「Ｘ１」に変換されたアプリデータをデータ送信部２０４に出力する。
【００５２】
データ送信部２０４は、ネットワークを介して、データ変換後のアプリデータを物理計算機１００Ａに送信する。
【００５３】
物理計算機１００Ａのデータ受信部１０６は、データ送信部２０４から送信されたアプリデータを受信する。データ受信部１０６は、受信したデータ形式「Ｘ１」のアプリデータをアプリケーション１０に送信する。
【００５４】
上記では、物理計算機１００Ａで取り扱うデータ形式「Ｘ１」のアプリデータがビッグエンディアン形式のデータであり、物理計算機１００Ｂで取り扱うデータ形式「Ｘ２」のアプリデータがリトルエンディアン形式のデータである構成について説明したが、当該構成に限られない。データ形式「Ｘ１」のアプリデータがリトルエンディアン形式のデータであり、データ形式「Ｘ２」のアプリデータがビッグエンディアン形式のデータであってもよい。
【００５５】
＜処理手順＞
図８は、実施の形態１に従う各物理計算機の処理手順を示すフローチャートである。具体的には、図８には、物理計算機１００Ａのアプリケーション１０から物理計算機１００Ｂのアプリケーション２０に、アプリデータが送信されるときの処理手順が示されている。典型的には、図８に示す物理計算機１００Ａの各ステップは、物理計算機１００Ａのプロセッサ１５０により実行され、図８に示す物理計算機１００Ｂの各ステップは、物理計算機１００Ｂのプロセッサ１５０により実行される。
【００５６】
図８を参照して、物理計算機１００Ａは、アプリケーション１０からアプリデータの送信要求を受け付けたか否かを判断する（ステップＳ１０）。例えば、送信要求は、管理者の指示により行われてもよいし、アプリケーション１０が何らかの条件を満たした場合に行われてもよい。
【００５７】
当該送信要求を受け付けていない場合（ステップＳ１０においてＮＯ）、物理計算機１００ＡはステップＳ１０の処理を繰り返す。当該送信要求を受け付けた場合（ステップＳ１０においてＹＥＳ）、物理計算機１００Ａは、ネットワークインターフェイス１５８を介して、送信対象のアプリデータを物理計算機１００Ｂに送信する（ステップＳ１２）。
【００５８】
物理計算機１００Ｂは、ネットワークインターフェイス１５８を介して、アプリデータを受信する（ステップＳ１４）。物理計算機１００Ｂは、受信したアプリデータの種類情報と、情報テーブル４００とを比較して、アプリデータのデータ変換を実行するか否かを判断する（ステップＳ１６）。具体的には、物理計算機１００Ｂは、受信したアプリデータの種類情報が情報テーブル４００に存在する場合にはデータ変換を実行すると判断し、受信したアプリデータの種類情報が情報テーブル４００に存在しない場合にはデータ変換を実行しないと判断する。
【００５９】
データ変換を実行する場合（ステップＳ１６においてＹＥＳ）、物理計算機１００Ｂは、アプリデータのデータ形式を変換する（ステップＳ１８）。具体的には、物理計算機１００Ｂは、アプリデータのデータ形式を、データ形式「Ｘ１」からデータ形式「Ｘ２」に変換する。物理計算機１００Ｂは、データ形式「Ｘ２」に変換されたアプリデータをアプリケーション２０に送信する（ステップＳ２０）。
【００６０】
一方、データ変換を実行しない場合（ステップＳ１６においてＮＯ）、物理計算機１００Ｂは、アプリデータのデータ変換を実行せずに、当該アプリデータをアプリケーション２０に送信する（ステップＳ２０）。なお、物理計算機１００Ｂがデータ変換を実行しない場合は、アプリデータを構成する各フィールドが、すべて１バイト長で構成されている等、データ形式を変換しなくても物理計算機１００Ａおよび物理計算機１００Ｂで当該アプリデータを処理可能な場合に限られる。そのため、アプリケーション２０は、当該アプリデータを取り扱うことができる。
【００６１】
図９は、実施の形態１に従う各物理計算機の処理手順を示すフローチャートである。図９には、物理計算機１００Ｂのアプリケーション２０から物理計算機１００Ａのアプリケーション１０に、アプリデータが送信されるときの処理手順が示されている。
【００６２】
図９を参照して、物理計算機１００Ｂは、アプリケーション２０からアプリデータの送信要求を受け付けたか否かを判断する（ステップＳ３０）。
【００６３】
当該送信要求を受け付けていない場合（ステップＳ３０においてＮＯ）、物理計算機１００ＢはステップＳ３０の処理を繰り返す。当該送信要求を受け付けた場合（ステップＳ３０においてＹＥＳ）、物理計算機１００Ｂは、送信対象のアプリデータの種類情報と、情報テーブル４００とを比較して、アプリデータのデータ変換を実行するか否かを判断する（ステップＳ３２）。
【００６４】
データ変換を実行する場合（ステップＳ３２においてＹＥＳ）、物理計算機１００Ｂは、アプリデータのデータ形式を変換する（ステップＳ３４）。具体的には、物理計算機１００Ｂは、アプリデータのデータ形式を、データ形式「Ｘ２」からデータ形式「Ｘ１」に変換する。物理計算機１００Ｂは、ネットワークインターフェイス１５８を介して、データ変換されたアプリデータを物理計算機１００Ａに送信する（ステップＳ３６）。
【００６５】
一方、データ変換を実行しない場合（ステップＳ３２においてＮＯ）、物理計算機１００Ｂは、アプリデータのデータ形式を変換せずに、ネットワークインターフェイス１５８を介して、当該アプリデータを物理計算機１００Ａに送信する（ステップＳ３６）。
【００６６】
物理計算機１００Ａは、ネットワークインターフェイス１５８を介して、アプリデータを受信し（ステップＳ３８）、当該アプリデータをアプリケーション１０に送信する（ステップＳ４０）。
【００６７】
＜利点＞
実施の形態１によると、２つの既存計算機（例えば、物理計算機１００Ａ）のうちの一方を新しい計算機（例えば、物理計算機１００Ｂ）に交換した場合であっても、他方の既存計算機と新しい計算機との間で通信されるアプリデータのデータ形式が適切に変換される。そのため、電力系統制御システムの運用を継続しながら既存計算機から新しい計算機への交換を行なうことができる。
【００６８】
また、アプリデータがアプリケーション１０および２０間で送受信される度に、当該アプリデータのデータ形式が適切に変換される。これにより、アプリデータを変換する機能を各アプリケーションに組み込む必要がないため、既存計算機および新しい計算機にインストールされたアプリケーションの内容を変更する必要もない。
【００６９】
実施の形態２．
＜システム構成＞
上述した実施の形態１では、２つの物理計算機１００のうちの一方のみ（例えば、物理計算機１００Ｂ）で、アプリデータのデータ変換が実行される構成について説明した。実施の形態２では、両方の物理計算機１００においてデータ変換が実行される構成について説明する。
【００７０】
図１０は、実施の形態２に従う電力系統制御システム１１００の構成例を示す図である。図１０を参照して、電力系統制御システム１１００は、２つの物理計算機１００Ｃ、１００Ｂを含む。電力系統制御システム１１００は、図１中の電力系統制御システム１０００における物理計算機１００Ａを、物理計算機１００Ｃに置き換えたものに相当する。
【００７１】
物理計算機１００Ｃおよび物理計算機１００Ｂは、基本的に同じ構成であり、一方が稼働系に設定され他方が待機系に設定されて二重化を構成している。
【００７２】
実施の形態２に係る電力系統制御システム１１００では、電力系統制御システム１０００における既存計算機（例えば、物理計算機１００Ａ）を新しい計算機（例えば、物理計算機１００Ｃ）にさらに交換した場面を想定する。
【００７３】
上述した実施の形態１では、物理計算機１００Ａが取り扱うデータ形式と、物理計算機１００Ｂが取り扱うデータ形式とが同一である構成について説明した。しかしながら、実施の形態２では、物理計算機１００Ｂで取り扱うデータ形式と、物理計算機１００Ｃで取り扱うデータ形式とは同一であるとする。すなわち、物理計算機１００Ｂと物理計算機１００Ｃとは、同一のオペレーティングシステム（ＯＳ）を搭載しているとする。例えば、物理計算機１００Ｂおよび１００Ｃは、リトルエンディアン方式に対応している、あるいは、ビッグエンディアン方式に対応している。
【００７４】
物理計算機１００Ｃには、複数のアプリケーション３０＿１〜３０＿Ｎ（以下、「アプリケーション３０」とも総称する。）と、送信プログラム３１と、受信プログラム３２とがインストールされている。物理計算機１００Ｃは、情報格納部３３をさらに含む。複数のアプリケーション３０＿１〜３０＿Ｎは、それぞれ複数のアプリケーション２０＿１〜２０＿Ｎと同一のソースプログラムにより生成されている。物理計算機１００Ｃは、データ変換を実行する点で物理計算機１００Ａと異なる。物理計算機１００Ｃのハードウェア構成は、図２中のハードウェア構成を採用することができる。
【００７５】
＜機能構成＞
図１１は、実施の形態２に従う物理計算機１００Ｂおよび１００Ｃの機能構成を示す模式図である。図１１を参照して、物理計算機１００Ｂの機能構成は、図３中の機能構成と同様である。物理計算機１００Ｃは、アプリケーション３０と、要求受付部３０２と、データ送信部３０４と、データ受信部３０６と、データ変換部３０８とを含む。要求受付部３０２、データ変換部３０８、およびデータ送信部３０４は、図１０中の送信プログラム３１に対応する。データ受信部３０６およびデータ変換部３０８は、図１０中の受信プログラム３２に対応する。
【００７６】
まず、アプリケーション３０において用いられるアプリデータを、アプリケーション２０に送信する場合について説明する。
【００７７】
物理計算機１００Ｃの要求受付部３０２は、アプリケーション３０からアプリデータの送信要求を受け付ける。ここで、送信対象のアプリデータは、物理計算機１００Ｃで取り扱うデータ形式「Ｘ２」を有している。要求受付部３０２は、送信対象のアプリデータをデータ変換部３０８に送信するとともに、アプリデータのデータ変換を指示する。
【００７８】
データ変換部３０８は、アプリケーション３０からデータ形式「Ｘ２」のアプリデータの送信要求を受け付けた場合、当該アプリデータのデータ形式を、データ形式「Ｘ２」から、当該データ形式「Ｘ２」とは異なるデータ形式「Ｘ１」に変換する。変換方式については、実施の形態１と同様であるためその詳細な説明は繰り返さない。
【００７９】
データ送信部３０４は、ネットワークを介して、データ変換後のアプリデータを物理計算機１００Ｂに送信する。
【００８０】
物理計算機１００Ｂのデータ受信部２０６は、データ送信部３０４から送信されたアプリデータを受信する。データ受信部２０６は、受信したアプリデータをデータ変換部２０８に送信する。
【００８１】
データ変換部２０８は、データ受信部２０６により受信されたアプリデータのデータ形式を変換する。具体的には、データ変換部２０８は、データ受信部２０６により受信されたアプリデータのデータ形式を、データ形式「Ｘ１」から、物理計算機１００Ｂで取り扱うデータ形式「Ｘ２」に変換する。変換方式については、実施の形態１と同様であるためその詳細な説明は繰り返さない。データ変換部２０８は、データ形式「Ｘ２」に変換されたアプリデータ（再変換後のアプリデータ）を、アプリケーション２０に送信する。
【００８２】
次に、アプリケーション２０において用いられるアプリデータを、アプリケーション３０に送信する処理について説明する。
【００８３】
物理計算機１００Ｂの要求受付部２０２は、アプリケーション２０からアプリデータの送信要求を受け付ける。ここで、送信対象のアプリデータは、物理計算機１００Ｂで取り扱うデータ形式「Ｘ２」を有している。要求受付部２０２は、送信対象のアプリデータをデータ変換部２０８に送信するとともに、アプリデータのデータ変換を指示する。
【００８４】
データ変換部２０８は、アプリケーション２０からデータ形式「Ｘ２」のアプリデータの送信要求を受け付けた場合、当該アプリデータのデータ形式を、データ形式「Ｘ２」からデータ形式「Ｘ１」に変換する。データ送信部２０４は、ネットワークを介して、データ変換後のアプリデータを物理計算機１００Ｃに送信する。
【００８５】
物理計算機１００Ｃのデータ受信部３０６は、データ送信部２０４から送信されたアプリデータを受信する。データ受信部３０６は、受信したアプリデータをデータ変換部３０８に送信する。データ変換部３０８は、データ受信部３０６により受信されたアプリデータのデータ形式「Ｘ１」を、物理計算機１００Ｃで取り扱うデータ形式「Ｘ２」に変換する。データ変換部３０８は、データ形式「Ｘ２」に変換されたアプリデータ（再変換後のアプリデータ）を、アプリケーション３０に送信する。
【００８６】
＜処理手順＞
図１２は、実施の形態２に従う各物理計算機の処理手順を示すフローチャートである。図１２には、物理計算機１００Ｃのアプリケーション３０から物理計算機１００Ｂのアプリケーション２０に、アプリデータが送信されるときの処理手順が示されている。
【００８７】
図１２を参照して、物理計算機１００Ｃは、アプリケーション３０からアプリデータの送信要求を受け付けたか否かを判断する（ステップＳ５０）。
【００８８】
当該送信要求を受け付けていない場合（ステップＳ５０においてＮＯ）、物理計算機１００ＣはステップＳ５０の処理を繰り返す。当該送信要求を受け付けた場合（ステップＳ５０においてＹＥＳ）、物理計算機１００Ｃは、送信対象のアプリデータの種類情報と、情報テーブル４００とを比較して、アプリデータのデータ変換を実行するか否かを判断する（ステップＳ５２）。
【００８９】
データ変換を実行する場合（ステップＳ５２においてＹＥＳ）、物理計算機１００Ｃは、アプリデータのデータ形式を変換する（ステップＳ５４）。具体的には、物理計算機１００Ｃは、アプリデータのデータ形式を、物理計算機１００Ｃで取り扱うデータ形式「Ｘ２」から、当該データ形式「Ｘ２」とは異なるデータ形式「Ｘ１」に変換する。物理計算機１００Ｃは、ネットワークインターフェイス１５８を介して、データ形式「Ｘ１」に変換されたアプリデータを物理計算機１００Ｂに送信する（ステップＳ５６）。
【００９０】
一方、データ変換を実行しない場合（ステップＳ５２においてＮＯ）、物理計算機１００Ｃは、アプリデータのデータ形式を変換せずに、ネットワークインターフェイス１５８を介して、当該アプリデータを物理計算機１００Ｂに送信する（ステップＳ５６）。この場合、データ形式「Ｘ２」のアプリデータが物理計算機１００Ｂに送信される。
【００９１】
物理計算機１００Ｂは、ネットワークインターフェイス１５８を介して、アプリデータを受信する（ステップＳ５８）。物理計算機１００Ｂは、受信したアプリデータの種類情報と、情報テーブル４００とを比較して、アプリデータのデータ形式を変換するか否かを判断する（ステップＳ６０）。
【００９２】
ここで、物理計算機１００Ｂおよび１００Ｃは、同一の情報テーブル４００に基づいて上記判断を実行するため、物理計算機１００ＢのステップＳ５２の判断結果と、物理計算機１００ＣのステップＳ６０の判断結果とは同一となる。すなわち、アプリデータが物理計算機１００Ｂによりデータ変換された場合には、物理計算機１００Ｃでもデータ変換される。一方、アプリデータが物理計算機１００Ｂによりデータ変換されなかった場合には、物理計算機１００Ｃでもデータ変換されない。
【００９３】
データ形式を変換する場合（ステップＳ６０においてＹＥＳ）、物理計算機１００Ｂは、受信したアプリデータのデータ変換を実行する（ステップＳ６２）。具体的には、物理計算機１００Ｂは、受信したアプリデータのデータ形式「Ｘ１」を、物理計算機１００Ｂが処理可能なデータ形式「Ｘ２」に変換する。物理計算機１００Ｂは、データ形式「Ｘ２」に変換されたアプリデータをアプリケーション２０に送信する（ステップＳ６４）。
【００９４】
一方、データ形式を変換しない場合（ステップＳ６０においてＮＯ）、物理計算機１００Ｂは、ステップＳ５８において受信したデータ形式「Ｘ２」のアプリデータを、データ変換することなくアプリケーション２０に送信する（ステップＳ６４）。
【００９５】
物理計算機１００Ｂのアプリケーション２０から物理計算機１００Ｃのアプリケーション３０に、アプリデータが送信されるときの処理の流れは、上述した図１１の処理の流れと同様である。そのため、その詳細な説明は繰り返さない。
【００９６】
＜利点＞
実施の形態２によると、両方の既存計算機（例えば、物理計算機１００Ａ）が、取り扱うデータ形式が同一である新しい計算機（例えば、物理計算機１００Ｂおよび物理計算機１００Ｃ）に交換された場合であっても、当該新しい計算機の機能を変更することなく（具体的には、データ変換機能の削除等の変更をすることなく）電力系統制御システムの運用を継続することができる。
【００９７】
また、実施の形態２によると、２台の物理計算機の両方がデータ変換機能を有している。そのため、例えば、２台の物理計算機の両方がリトルエンディアン方式に対応している場合であって、２台の物理計算機を接続するネットワーク（例えば、ＬＡＮ）に流すデータが、ビッグエンディアンに変換するという規約（ネットワークバイトオーダ）で運用されている場合にも対応できる。
【００９８】
［その他の実施の形態］
上述の実施の形態として例示した構成は、本発明の構成の一例であり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、一部を省略する等、変更して構成することも可能である。
【００９９】
また、上述した実施の形態において、その他の実施の形態で説明した処理や構成を適宜採用して実施する場合であってもよい。
【０１００】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０１】
１０，２０，３０  アプリケーション、１１，２１，３１  送信プログラム、１２，２２，３２  受信プログラム、２３，３３  情報格納部、１００Ａ，１００Ｂ，１００Ｃ  物理計算機、１０２，２０２，３０２  要求受付部、１０４，２０４，３０４  データ送信部、１０６，２０６，３０６  データ受信部、１５０  プロセッサ、１５２  主記憶装置、１５４  二次記憶装置、１５８  ネットワークインターフェイス、１６０  入力装置、１６２  汎用インターフェイス、１６４  内部バス、２０８，３０８  データ変換部、４００  情報テーブル、１０００，１１００  電力系統制御システム。 
【図１】
2018182842.tif 000003
【図２】
2018182842.tif 000004
【図３】
2018182842.tif 000005
【図４】
2018182842.tif 000006
【図５】
2018182842.tif 000007
【図６】
2018182842.tif 000008
【図７】
2018182842.tif 000009
【図８】
2018182842.tif 000010
【図９】
2018182842.tif 000011
【図１０】
2018182842.tif 000012
【図１１】
2018182842.tif 000013
【図１２】
2018182842.tif 000014