(57)【要約】  産業用ＰＣ（ＩＰＣ）デバイス（１）の動作方法であって、ＩＰＣデバイス（１）が、汎用オペレーティングシステム（ＧＰＯＳ）下でプログラムコードを実行するよう実装されたＧＰＯＳセクション（２）と、リアルタオペレーティングシステム（ＲＴＯＳ）下でのリアルタイムデータ処理に適合されたプログラムコードを実行するよう実装されたＲＴＯＳセクション（３）とを含み、方法が、ＲＴＯＳ下で実行されるよう設計されたバイナリコード（ＢＣ）を含むアプリケーションプログラム（ＲＡＰ）とセキュリティーポリシーとに基づく、ラップされたアプリケーションプログラム（ＷＲＡＰ）を提供すること（Ｓ１）と、検証されたアプリケーションプログラムを取得するため、ＲＴＯＳプロセスにより、セキュリティポリシーに従い、ラップされたアプリケーションプログラム（ＷＲＡＰ）を検証すること（Ｓ２）と、検証されたアプリケーションプログラムのバイナリコード（ＢＣ）とセキュリティ要素（ＳＥ）とを、ＲＴＯＳプロセスからＧＰＯＳプロセスへ転送すること（Ｓ３）と、セキュリティ要素（ＳＥ）を用いて、ＧＰＯＳプロセスとＲＴＯＳセクションとの間のセキュア通信チャネル（１２）を確立すること（Ｓ４）と、ＧＰＯＳプロセスにより、検証されたアプリケーションプログラムのバイナリコード（ＢＣ）を実行することというステップを含む。【選択図】  図１
2021523494.tif 000002
【特許請求の範囲】
【請求項１】
産業用ＰＣ（ＩＰＣ）デバイス（１）の動作方法であって、前記ＩＰＣデバイス（１）が、
汎用オペレーティングシステム（ＧＰＯＳ）下でプログラムコードを実行するよう実装された、ＧＰＯＳセクション（２）と、
前記リアルタオペレーティングシステム（ＲＴＯＳ）下でのリアルタイムデータ処理に適合されたプログラムコードを実行するよう実装された、ＲＴＯＳセクション（３）と、
を含み、
前記方法が、
前記ＲＴＯＳ下で実行されるよう設計されたバイナリコード（ＢＣ）を含むアプリケーションプログラム（ＲＡＰ）と、セキュリティポリシーとに基づく、ラップされたアプリケーションプログラム（ＷＲＡＰ）を提供すること（Ｓ０）と、
検証されたアプリケーションプログラムを取得するため、ＲＴＯＳプロセスにより、前記セキュリティポリシーに従い、前記ラップされたアプリケーションプログラム（ＷＲＡＰ）を検証すること（Ｓ２）と、
前記検証されたアプリケーションプログラムの前記バイナリコード（ＢＣ）とセキュリティ要素とを、前記ＲＴＯＳプロセスからＧＰＯＳプロセスへ転送すること（Ｓ３）と、
前記セキュリティ要素を用いて、前記ＧＰＯＳプロセスと前記ＲＴＯＳセクションとの間のセキュア通信チャネル（１２）を確立すること（Ｓ４）と、
前記ＧＰＯＳプロセスにより、前記検証されたアプリケーションプログラムの前記バイナリコード（ＢＣ）を実行すること（Ｓ５）と
を含む、方法。
【請求項２】
前記セキュア通信チャネル（１２）を介し、前記検証されたアプリケーションプログラムの前記バイナリコード（ＢＣ）を実行する前記ＧＰＯＳプロセスとの間でアプリケーションデータを転送すること
を更に含む、
請求項１に記載の方法。
【請求項３】
前記セキュア通信チャネル（１２）内で、前記ＲＴＯＳ下で実行されるよう設計された前記アプリケーションプログラム（ＲＡＰ）により要求されるセキュアでない通信プロトコルをエミュレートすること
を更に含む、
請求項１又は２に記載の方法。
【請求項４】
前記ＲＴＯＳ下で実行されるよう設計されたバイナリコード（ＢＣ）を含む前記アプリケーションプログラム（ＲＡＰ）を提供することと、
前記アプリケーションプログラム（ＲＡＰ）をラップし、これにより、前記ラップされたアプリケーションプログラム（ＷＲＡＰ）を生成するため、前記アプリケーションプログラムへ前記セキュリティポリシーを適用することと
を更に含む、
請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記セキュリティポリシーが、
前記アプリケーションプログラムの前記バイナリコードを暗号化すること、前記バイナリコードに暗号署名又は証明書を加えること、及び／又は、前記暗号化されたバイナリコードに暗号署名又は証明書を加えること
を含む、
請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記セキュリティポリシーが前記ラップされたアプリケーションプログラム（ＷＲＡＰ）の前記バイナリコード（ＢＣ）に適用され、
前記方法が、
前記ラップされたアプリケーションプログラム（ＷＲＡＰ）のラッピングを外し、これにより、前記セキュリティポリシーが適用された前記アプリケーションプログラム（ＲＡＰ）の前記バイナリコード（ＢＣ）を抽出することと、
検証されたバイナリコードを取得するため、前記セキュリティポリシーに従い、前記ＲＴＯＳプロセスにより、前記抽出されたバイナリコード（ＢＣ）を検証すること（Ｓ２）と、
前記ＧＰＯＳプロセスにより、前記検証されたバイナリコードを実行すること（Ｓ５）と
を更に含む、
請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記ラップされたアプリケーションプログラム及び／又は前記抽出されたバイナリコードを検証すること（Ｓ２）が、
セキュリティ証明書に基づき認証すること、及び／又は、暗号鍵を用いて復号すること
を含む、
請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記セキュリティ要素（ＳＥ）が、前記検証されたアプリケーションプログラム又は前記検証されたバイナリコードに一意に指定される、
請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記セキュリティ要素（ＳＥ）が、セキュリティトークン、セキュリティ証明書、及び／又は暗号署名を含む、
請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記ＧＰＯＳプロセスへ転送する前に、前記検証されたアプリケーションプログラムの前記バイナリコード（ＢＣ）又は前記検証されたバイナリコードにセキュリティ証明書を付すことと、
前記検証されたアプリケーションの前記バイナリコード又は前記検証されたバイナリコードを実行する前記ＧＰＯＳプロセスにより、前記付されたセキュリティ証明書の機能として、前記セキュア通信チャネル（１２）を介した前記ＲＴＯＳセクションへのアクセスを許可することと
を更に含む、
請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
複数のラップされたアプリケーションプログラム（ＡＰ１、ＡＰ２、ＡＰ３）を提供することであって、各前記ラップされたアプリケーションプログラム（ＡＰ１、ＡＰ２、ＡＰ３）が、前記ＲＴＯＳ下で実行されるよう設計さたれた各々のバイナリコードを含む各々のアプリケーションプログラムと、前記各々のアプリケーションプログラムに指定された各々のセキュリティポリシーとに基づき生成されることと、
複数の検証されたアプリケーションプログラムを取得するため、各々のＲＴＯＳプロセスにより、前記各々に指定されたセキュリティポリシーに従い、各前記複数のラップされたアプリケーションプログラム（ＡＰ１、ＡＰ２、ＡＰ３）を検証することと、
前記複数の検証されたアプリケーションプログラムの複数のバイナリコードを、前記各々のＲＴＯＳプロセスから各々のＧＰＯＳプロセスへ転送することであって、前記検証されたアプリケーションプログラムの各前記バイナリコードに、各々のセキュリティ要素が指定されることと、
前記各々のＧＰＯＳプロセスにより、前記検証されたアプリケーションプログラムの前記バイナリコードを実行することであって、前記検証されたアプリケーションプログラムの前記各々のバイナリコードを実行する前記各々のＧＰＯＳプロセスとの間のアプリケーションデータが、前記同一のセキュア通信チャネル（１２）を介し転送されることと
を更に含む、
請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
前記ＲＴＯＳ下で実行されるよう設計された前記アプリケーションプログラムの前記バイナリコード（ＢＣ）が、Ｊａｖａコード又は．ＮＥＴコードを含む、
請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
前記セキュア通信チャネル（１２）がＴＬＳプロトコルを採用する、
請求項１〜１２のいずれか１項に記載の方法。
【請求項１４】
前記ＧＰＯＳ下でプログラムコードを実行するよう実装された、ＧＰＯＳセクション（２）と、
前記ＲＴＯＳ下でのリアルタイムデータ処理に適合されたプログラムコードを実行するよう実装されたＲＴＯＳセクション（３）と、
ホストマシンとしてのＩＰＣデバイス上のゲストマシンとしての前記ＧＰＯＳ及び前記ＲＴＯＳの実行を管理するよう実装された、ハイパーバイザ（４）と
を含む産業用ＰＣ（ＩＰＣ）デバイス（１）であって、
検証されたアプリケーションプログラムを取得するため、ＲＴＯＳプロセスにより、前記アプリケーションプログラムに指定されたセキュリティポリシーに従い、ラップされたアプリケーションプログラム（ＷＲＡＰ）を検証することであって、前記ラップされたアプリケーションプログラム（ＷＲＡＰ）が、ＲＴＯＳ下で実行されるよう設計されたバイナリコード（ＢＣ）を含むアプリケーションプログラム（ＲＡＰ）とをラッピングし、かつ前記指定されたセキュリティポリシーを適用することにより取得されることと、
前記検証されたアプリケーションプログラムの前記バイナリコード（ＢＣ）とセキュリティ要素（ＳＥ）とを、前記ＲＴＯＳプロセスからＧＰＯＳプロセスへ転送することと、
前記セキュリティ要素（ＳＥ）を用いて、前記ＧＰＯＳプロセスと前記ＲＴＯＳセクションとの間のセキュア通信チャネル（１２）を確立することと、
前記ＧＰＯＳプロセスにより、前記検証されたアプリケーションプログラムの前記バイナリコード（ＢＣ）を実行することと
を行うよう実装された、
ＩＰＣデバイス。
【請求項１５】
請求項１〜１３のいずれか１項に記載の方法を実行するよう実装された、
請求項１４に記載のＩＰＣデバイス。
【請求項１６】
前記ハイパーバイザセクション（４）が、前記ＧＰＯＳセクション（２）と前記ＲＴＯＳセクション（３）との間で、リクエスト、バイナリコード、及び／又はセキュリティ要素を交換するためのソフトウェアバスサービスを提供するよう実装された、
請求項１４又は１５に記載のＩＰＣデバイス。
【請求項１７】
前記ハイパーバイザセクション（４）が、前記ＧＰＯＳ及びＲＴＯＳセクション（２、３）へ前記ＩＰＣデバイス（１）のハードウェアリソースを割り当てるよう実装された、
請求項１４〜１６のいずれか１項に記載のＩＰＣデバイス。
【請求項１８】
前記ＲＴＯＳセクション（３）が、自動化システム内のフィールド機器（３５〜３８）を制御する、特に、マシン自動化コントローラデバイスの設定、プログラミング、デバッグ、メンテナンスのためのマシンコントローラアプリケーション（１４）を含む、
請求項１４〜１７のいずれか１項に記載のＩＰＣデバイス。
【請求項１９】
前記ＲＴＯＳセクション（３）が、所定の通信プロトコル、好ましくはＥｔｈｅｒＣＡＴ及び／又はＥｔｈｅｒＮｅｔ／ＩＰ標準に従い、自動化システム内のフィールド機器（３５〜３８）に通信可能に連接するための少なくとも１つのポートを含む、
請求項１４〜１８のいずれか１項に記載のＩＰＣデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータの動作方法及びコンピュータに関し、具体的には、自動化ネットワーク又はシステムに関連する産業目的を意図している。
【背景技術】
【０００２】
産業目的のコンピュータシステムは度々、プロセス制御及び／又はデータ取得といった特別な機能を満たす必要がある。時には、パーソナルコンピュータ（ＰＣ）デバイスが産業用ＰＣ（ＩＰＣ）として用いられる。ＩＰＣは、ネットトップやサーバラックといった特定のフォームファクタを採用してよい。一般的に、最新のＰＣ技術に基づき、ＩＰＣにおいて既製のオペレーティングシステム（ＯＳ）を使用することが望ましい。過去には、汎用オペレーティングシステム（ＧＰＯＳ）とリアルタイムオペレーティングシステム（ＲＴＯＳ）の仮想化されたセクションを有するＩＰＣが用いられている。独立して稼働するＧＰＯＳとＲＴＯＳセクションは、そのとき同一のハードウェアを共有し、リソースはハイパーバイザ又は仮想マシンモニタ（ＶＭＭ）により管理される。
【０００３】
様々な仮想化されたＯＳセクション間でデータ交換するため、共有メモリ概念が提案された。例えば、ＥＰ  ３  ２６７  ６４９  Ａ１は、ＲＴＯＳ及びＧＰＯＳセクション間のセキュアな通信を実行するための方法及び産業用演算装置を開示している。更に、ときには、特定のインターフェイス又はデータ転送を要する特定のオペレーティングシステム下で稼働するよう設計されたアプリケーションを用いることが望ましい。
【０００４】
自動化システム又は自動化ネットワークの文脈において、フィールド機器を制御するためのアプリケーションは、オペレーティングシステムの、最小の割り込みレイテンシー、最小のバッファリング遅延、最小のスレッド切替えレイテンシーを要する。故に、自動化システム固有ソフトウェアは、大抵はリアルタイムオペレーティングシステム条件下で実行されるよう実装される。更に、ＲＴＯＳは、特に、入ってきたアプリケーションデータをバッファリング遅延なしに処理する。一方、ＩＰＣは、Ａｐｐｌｅ  ＯＳ、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ、又はＵＮＩＸ（登録商標）の派生といった汎用オペレーティングシステムを稼働するよう、効率的に製造及び実装されることができる。
【０００５】
故に、様々なオペレーティングシステムセクション間のデータ転送が関係するＩＰＣデバイスをセキュアに動作することが望まれる。自動化ネットワークにアクセスするため、リアルタイムオペレーティングシステム固有のポートにアクセス可能とすることが特に望まれる。ＲＴＯＳポートは、フィールド機器から／へ、制御及び／又はセンサデータを、受信及び送信しうる。
【発明の概要】
【０００６】
このため、本発明の目的は、様々なオペレーティングシステムセクションを稼働する産業用ＰＣの改善された動作方法、及び対応するＩＰＣデバイスを提供することである。
【０００７】
従って、ＩＰＣデバイスの動作動作方法、汎用オペレーティングシステム（ＧＰＯＳ）下でプログラムコードを実行するよう実装されたＧＰＯＳセクションと、リアルタイムオペレーティングシステム（ＲＴＯＳ）下でのリアルタイムデータ処理に適合されたプログラムコードを実行するよう実装されたＲＴＯＳセクションとを含む、ＩＰＣデバイスが提供される。
【０００８】
該方法は、
ＲＴＯＳ下で実行されるよう設計されたバイナリコードを含むアプリケーションプログラムと、セキュリティポリシーとに基づき、ラップされたアプリケーションプログラムを提供することと、
検証されたアプリケーションプログラムを取得するため、ＲＴＯＳプロセスにより、セキュリティポリシーに従い、ラップされたアプリケーションプログラムを検証することと、
ＲＴＯＳプロセスからＧＰＯＳプロセスへ、検証されたアプリケーションプログラムのバイナリコードと、セキュリティ要素とを転送することと、
セキュリティ要素を用いて、ＧＰＯＳプロセスとＲＴＯＳセクションとの間のセキュア通信チャネルを確立することと、
ＧＰＯＳプロセスにより、検証されたアプリケーションプログラムのバイナリコードを実行すること
というステップを含む。
【０００９】
もう１つの様態によると、産業用ＰＣ（ＩＰＣ）デバイスは、
ＧＰＯＳ下でプログラムコードを実行するよう実装された、ＧＰＯＳセクションと、
ＲＴＯＳ下でのリアルタイムデータ処理に適合されたプログラムコードを実行するよう実装された、ＲＴＯＳセクションと、
ホストマシンとしてのＩＰＣデバイス上で、ゲストマシンとしてのＧＰＯＳとＲＴＯＳの実行を管理するよう実装された、ハイパーバイザセクションと
を含み、
ＩＰＣデバイスは、
検証されたアプリケーションプログラムを取得するため、ＲＴＯＳプロセスにより、アプリケーションプログラムに指定されたセキュリティポリシーに従い、ラップされたアプリケーションプログラムを検証することであって、ラップされたアプリケーションプログラムが、ＲＴＯＳ下で実行されるよう設計されたバイナリコードを含むアプリケーションプログラムをラップすることと、指定されたセキュリティポリシーを適用することとにより取得されることと、
ＲＴＯＳプロセスからＧＰＯＳプロセスへ、検証されたアプリケーションプログラムのバイナリコード（ＢＣ）と、セキュリティー要素とを転送することと、
セキュリティ要素を用いて。ＧＰＯＳプロセスとＲＴＯＳセクションとの間のセキュア通信チャネルを確立することと、
ＧＰＯＳプロセスにより、検証されたアプリケーションプログラムのバイナリコード（ＢＣ）を実行することと
を行うよう実装される。
【００１０】
別の様態によると、産業用ＰＣ（ＩＰＣ）デバイスの動作方法が提供され、ＩＰＣデバイスは、
汎用オペレーティングシステム（ＧＰＯＳ）下でプログラムコードを実行するよう実装された、ＧＰＯＳセクションと、
リアルタイムオペレーティングシステム（ＲＴＯＳ）下でのリアルタイムデータ処理に適合されたプログラムコードを実行するよう実装された、ＲＴＯＳセクションと
を含む。
【００１１】
そして、方法は、
ＲＴＯＳ下で実行されるよう設計されたバイナリコードを含むアプリケーションプログラムを提供することと、
ラップされたアプリケーションプログラムを生成するため、アプリケーションプログラムをラップし、これにより、アプリケーションプログラムにセキュリティポリシーを適用することと、
検証されたアプリケーションプログラムを取得するため、ＲＴＯＳプロセスを介し、セキュリティポリシーに従い、ラップされたアプリケーションプログラムを検証することと、
ＲＴＯＳプロセスからＧＰＯＳプロセスへ、検証されたアプリケーションプログラムのバイナリコードと、セキュリティ要素とを転送することと、
セキュリティ要素を用いて、ＧＰＯＳプロセスとＲＴＯＳセクションとの間のセキュア通信チャネルを確立することと、
ＧＰＯＳプロセスを介し、検証されたアプリケーションプログラムのバイナリコードを実行すること
というステップを含む
【００１２】
本発明の更なる様態は、リアルタイムオペレーティングシステム（ＲＴＯＳ）下でリアルタイムデータ処理に適合されたプログラムコードを実行するための方法に関する。
【００１３】
方法は、
ＲＴＯＳ下で実行されるよう設計されたバイナリコードを含むアプリケーションプログラムと、セキュリティーポリシーとに基づく、ラップされたアプリケーションプログラムを受け取ることと、
検証されたアプリケーションプログラムを取得するため、ＲＴＯＳプロセスにより、セキュリティポリシーに従い、ラップされたアプリケーションプログラムを検証することと、
ＲＴＯＳプロセスからＧＰＯＳプロセスへ、検証されたアプリケーションプログラムのバイナリコードと、セキュリティ要素とを転送することと、
セキュリティ要素を用いて、ＧＰＯＳプロセスとＲＴＯＳセクションとの間のセキュア通信チャネルを確立することと、
ＧＰＯＳプロセスにより、検証されたアプリケーションプログラムのバイナリコードを実行すること
というステップを含む。
【００１４】
開示されるＩＰＣデバイスの動作方法及び／又は開示されるＩＰＣデバイスにおいて、ＧＰＯＳは、リアルタイムデータ処理能力を必ずしも有するわけではないオペレーティングシステムを指す。ＲＴＯＳセクションと比較し、ＩＰＣデバイスにおけるＧＰＯＳセクションは、アプリケーションプロセスデータが入る又は生成されるとき、より大きなバッファリング遅延を有してよい。ＲＴＯＳ又はＲＴＯＳセクションは特に、ＧＰＯＳセクションと比較し、低い割り込みレイテンシー及び低いスレッド切替えレイテンシーを提供するよう実装され、例えばＰＯＳＩＸ又は他の利用可能なリアルタイムＯＳをＲＴＯＳとして用いることができる。
【００１５】
ラップされたアプリケーションプログラムは、アプリケーションラッピング処理又はａｐｐラッピング処理の結果である。ａｐｐラッピング処理において、管理レイヤ―が、基となるアプリケーションに変更を適用せずに、アプリケーションに適用される。例えば、アプリケーションは、アプリケーションに特定のポリシー要素を設定することによりラップされることができる。ポリシー要素は、ラップされたａｐｐの認証を要するセキュリティポリシーであることができ、又は、アプリケーションに電子署名が加えられてよい。具体的には、アプリケーションのラッピングは、管理者に、アプリケーション、アプリケーションに関連づく追加的なセキュリティ、及びアプリケーションに伴う管理機能を取得し、次いでラップされたアプリケーションを、配布される単一のコンテナ化されたプログラムとして再配備することを可能とする。ラップされたアプリケーションは、ポリシー要素を定義する特定の販売元により配布されることができる。
【００１６】
具体的には、アプリケーションを実行する産業用ＰＣの開示される動作方法は、
ＲＴＯＳ下で実行されるよう設計されたバイナリコードを含むアプリケーションプログラムを提供することと、
ラップされたアプリケーションプログラムを生成するため、アプリケーションプログラムをラップし、これにより、アプリケーションプログラムにセキュリティポリシーを適用すること
というステップを含むことができる。
【００１７】
セキュリティポリシーとアプリケーションプログラムの実行可能なコード（バイナリコード）は、ラップされたアプリケーションの一部である。セキュリティポリシーは、産業用ＰＣ、ＧＰＯＳ、ＲＴＯＳ環境、又はアプリケーションにとって何がセキュアであると見なされるかの定義を含んでよい。例えば、セキュリティポリシーは、特定のセキュリティレベルを用いたラップされたアプリケーションの認証を要してよい。セキュリティレベルは、ラップされたアプリケーションプログラムを認証するための証明書又は暗号署名、又はその他のメカニズムにより決定されることができる。セキュリティポリシーは、ソフトウェアの発行者又はアプリケーションの販売元の信頼できる識別子を指してもよい。実施形態において、セキュリティポリシーは、ラップされたアプリケーションが、バイナリコードの暗号化されたバージョン、及び／又は、例えば販売元又はベンダーとして、アプリケーションの出処を識別するための証明書を含むことを要する。
【００１８】
ＲＴＯＳ下で実行されるよう実装されたバイナリコードを有する、基となるアプリケーションプログラムは、ＲＴＯＳの以前のバージョン上、又は、古い又は旧式のハードウェアデバイス上で稼働するよう設計された、レガシーアプリケーションでありうる。アプリケーションプログラムの実際のバイナリコードはまだ動作できるが、現在のオペレーティングシステム又は必要とされるセキュリティレベルとの互換性の問題を起こす可能性がある。具体的には、ＲＴＯＳセクションは、フィールド機器との間の制御データ及びセンサデータの生成及び／又は交換を管理する機械制御ソフトウェアへのアクセスを許可する保護された領域であることができる。一般的に、ＧＰＯＳセクションはそのようなアクセスを許可されるべきでない。故に、従来のシステムにおいて、ＲＴＯＳセクション下で実行されるよう設計されたレガシーアプリケーションプログラムは、ＧＰＯＳコンテキストにおいて実行されることはできない。
【００１９】
開示される実施形態において、バイナリコードはセキュリティポリシーに従い検証され、例えばＲＴＯＳプロセスにおけるＲＴＯＳ下での認証処理に関連する。アプリケーションプログラムが検証された場合、検証されたアプリケーションプログラムの実行可能なバイナリコードとセキュリティ要素とが、セキュリティ要素と共にＧＰＯＳプロセスへ送られる。
【００２０】
アプリケーションプログラムが検証されることができない又は検証が失敗した場合、セキュア通信チャネルへのアクセスがブロックされることができる、及び／又は、バイナリコードの実行が防止される。
【００２１】
セキュリティ要素は、ＧＰＯＳプロセスとＲＴＯＳセクションとの間のセキュア通信チャネルの確立を可能とする。例えば、セキュリティ要素は、セキュリティドングル、ナンス、証明書、暗号鍵等を含むことができる。当初はＲＴＯＳ下で実行されるよう実装されたバイナリコードが、ＧＰＰＯＳプロセスにおいて検証されたアプリケーションプログラムとして用いることができることは、開示される方法及びデバイスの利点である。具体的には、ＧＰＯＳプロセス下で稼働する検証されたアプリケーションプログラムから生成又は受け散られたアプリケーションデータは、セキュア通信チャネルを介し転送されることができる。セキュア通信チャネルは、具体的には暗号化されたデータを用いた通信トンネルである。
【００２２】
このため、方法の実施形態において、検証されたアプリケーションプログラムのバイナリコードを実行するＧＰＯＳプロセスへの及び／又はＧＰＯＳプロセスからのアプリケーションデータは、セキュア通信チャネルを介し転送される。
【００２３】
実施形態において、方法は、セキュア通信チャネル内で、ＲＴＯＳ下で実行されるよう設計されたアプリケーションにより要求されるセキュアでない通信プロトコルをエミュレートすることを更に含む。
【００２４】
例えば、ＲＴＯＳのためのレガシーアプリケーションは、特定のプロトコルに基づき、自動化フィールド機器との間のアプリケーションデータ転送を要する可能性がある。例えば、レガシーソフトウェアとして実装されたデータベースクライアント、又は、レガシーアプリケーションにより採用された接続規格は、ＧＰＯＳ環境においてセキュアとは見なされない。実施形態において、セキュアでない通信プロトコルが、フィールド機器及び／又はセンサデバイスといった自動化設備とホスト工場ネットワークとの間の通信のための接続規格である。レガシーアプリケーションは、ＲＴＯＳ下で稼働するよう設計された機械制御アプリケーションであることができる。ＳＥＣＳ／ＧＥＭ標準を考慮することができる。
【００２５】
結果として、例えば、ＧＰＯＳにより提供されるソフトウェアサービス下で稼働する、バイナリコードは、ＲＴＯＳ固有通信プロトコルを用いることができ、ここで、アプリケーションデータはセキュア通信チャネルを介しトンネルされる。
【００２６】
例えばレガシーソフトウェア又はレガシーアプリケーションの用語「レガシー」は、ＲＴＯＳ環境において用いられるよう設計され、例えばセキュリティ上の理由により、それらの全機能は意図されたＲＴＯＳ環境以外の環境において配備されるべきでない要素を指す。
【００２７】
実施形態において、セキュリティポリシーは、少なくとも、アプリケーションプログラムのバイナリコードを暗号化することと、暗号署名を加えることと、バイナリコードに暗号化証明書を加えることと、暗号化されたバイナリコードに暗号署名又は暗号化証明書を加えることとを含む。
【００２８】
バイナリコードを暗号化すること、又は、バイナリコード又はアプリケーションプログラムに署名することは、ＲＴＯＳセクション内でラップされたアプリケーションプログラムを認証することを可能とする。例えば、ＲＴＯＳ境界プロセスが、暗号又はコードに付された署名をチェックすることによりアプリケーションプログラムを認証又は検証するために用いるられることができる。
【００２９】
実施形態において、セキュリティポリシーがラップされたアプリケーションプログラムのバイナリコードに適用され、方法は、
ラップされたアプリケーションプログラムのラッピングを外し、これによりセキュリティポリシーが適用されるアプリケーションプログラムのバイナリコードを抽出することと、
検証されたバイナリコードを取得するため、セキュリティポリシーに従い、ＲＴＯＳプロセスにより、抽出されたバイナリコードを検証することと、
ＧＰＯＳプロセスにより、検証されたバイナリコードを実行することと
を更に含む。
【００３０】
例えば、ＲＴＯＳのために設計されたレガシーバイナリコードは、そのときＧＰＯＳセクションにおいて実装されたソフトウェアサービス下でまだ稼働できる。次いで、ＲＴＯＳプロセス、例えば境界プロセスは、バイナリコードの署名をチェックする、又は、バイナリコードに付された証明書が特定の証明書と符合するか、信頼できる発行者からのものかをチェックする。
【００３１】
ラッピングを外す処理はＲＴＯＳプロセスにより実行されることが好ましく、その結果、ラップされたアプリケーションプログラムに含まれるバイナリコードを検証するため、ＲＴＯＳ境界プロセスにより、例えば、証明書が評価される。故に、検証は、ラップされたアプリケーションから抽出されたラッピングを外されたバイナリコードを転送することなく生じることができる。
【００３２】
方法の実施形態において、ラップされたアプリケーションプログラム及び／又は抽出されたバイナリコードの検証は、セキュリティ証明書に基づく認証、及び／又は、暗号鍵を用いた復号化を含む。セキュリティポリシーがセキュリティ証明書による認証を要する場合、ＲＴＯＳプロセスはセキュリティ証明書の有効性をチェックする。別のアプローチにおいて、バイナリコードは暗号化されることができ、ここで、ＲＴＯＳプロセスはバイナリコードを複号するため暗号鍵を用いる。
【００３３】
方法の実施形態において、セキュリティ要素は、検証されたアプリケーションプログラム又は検証されたバイナリコードに一意に指定される。
【００３４】
セキュリティ要素は、具体的には、セキュリティトークン、セキュリティ証明書、及び／又は暗号署名である。セキュリティ要素は１つの要素であり、セキュア通信チャネルにおけるセキュア通信を可能とする。例えば、ＲＴＯＳセクションとＧＰＯＳセクションとの間のセキュア通信チャネルは、暗号化トンネルに基づくことができる。暗号化トンネリングプロトコルは、１つのエンティティから他へのデータのセキュアな移動を可能とする。本発明において、セキュア通信チャネルは、トンネリングプロトコルに基づき実装されることが好ましい。実施形態のトンネリングプロトコルは、ＳＳＨアルゴリズムに基づき、具体的にはＴＬＳプロトコルに基づく。
【００３５】
方法の実施形態において、次のステップが実行される：
ＧＰＯＳプロセスへの転送前に、検証されたアプリケーションプログラム又は検証されたバイナリコードに、セキュリティ要素としてセキュリティ証明書を付すことと、
検証されたアプリケーションのバイナリコード又は検証されたバイナリコードを実行するＧＰＯＳプロセス、及び／又は、ＲＴＯＳプロセスにより、付されたセキュリティ証明書の機能として、セキュア通信チャネルを介したＲＴＯＳセクションへのアクセスを許可すること。
【００３６】
実施形態において、ＲＴＯＳ下で実行されるよう設計されたアプリケーションプログラムのバイナリコードは、Ｊａｖａコード又は．ＮＥＴコードを含む。例えば、レガシーアプリケーションは、ときには、自動化ネットワークのセキュア環境内でＲＴＯＳソフトウェアサービスにより実行されるＪａｖａコードで実装されている。ＧＰＯＳ及びＲＴＯＳセクションを仮想化ゲストマシンとして有するＩＰＣデバイスを使用するとき、レガシーＪａｖａ及び／又は．ＮＥＴコードは、Ｊａｖａエンジンを有するＧＰＯＳセクションを用いて実行されることができる。結果として、ＧＰＯＳゲストマシンは、例えばＪａｖａコードとして実装された、レガシー制御ソフトウェアを実行するために用いられることができ、ここで、アプリケーションデータは、ＲＴＯＳセクションへ及び／又はＲＴＯＳセクションから、セキュア通信チャネルを介しセキュアに交換される。これは、ＲＴＯＳセクションが自動化システムにおけるフィールド機器を制御するためのマシンコントローラアプリケーションを含むとき、特別な利点である。マシンコントローラアプリケーションは、マシン自動化コントローラデバイスの設定、プログラミング、デバッグ、及びメンテナンスを実装してよい。例えば、これら機能は、開示される方法及びデバイスを採用するＧＰＯＳセクションへ転送されてよい。
【００３７】
ＩＰＣデバイスの実施形態において、ＧＰＯＳセクションとＲＴＯＳセクションとの間でリクエスト、バイナリコード、及び／又はセキュリティ要素を交換するためのソフトウェアバスを提供するため、ハイパーバイザセクションが実装される。そのようなソフトウェアバスサービスは、ラップされたアプリケーションプログラム、バイナリコードを交換するため、そしてセキュア通信チャネルを確立するために用いられることができる。ソフトウェアバスは他の機能も実行してよい。一般的に、ハイパーバイザセクションは、ＧＰＯＳ及びＲＴＯＳセクションに、プロセッサ又はプロセッサコアといったハードウェアリソースを割り当てるために実装されてよい。ハイパーバイザは、仮想マシンモニタ（ＶＭＭ）とも呼ばれる。
【００３８】
実施形態において、ＩＰＣデバイスは、所定の通信プロトコルに従い自動化システム内のフィールド機器と通信可能に連接するための少なくとも1つのポートを含む。通信プロトコルは、例えば、ＥｔｈｅｒＣＡＴ又はＥｔｈｅｒＮｅｔ／ＩＰであることができる。他の実施形態において、シーメンスＰＲＯＦＩＮＥＴ標準が、ＲＴＯＳセクションにおけるマシンコントローラアプリケーションとの間の通信プロトコルとして用いられることができる。
【００３９】
更なる実施形態によると、方法は、
複数のラップされたアプリケーションプログラムを提供することであって、各ラップされたアプリケーションプログラムが、ＲＴＯＳ下で実行されるよう設計された各々のバイナリコードを含む各々のアプリケーションプログラムと、各々のアプリケーションプログラムに指定されたセキュリティポリシーに基づき生成されることと、
複数の検証されたアプリケーションプログラムを取得するため、各々のＲＴＯＳプロセスにより、各々に指定されたセキュリティポリシーに従い、各複数のラップされたアプリケーションプログラムを検証することと、
各々のＲＴＯＳプロセスから各々のＧＰＯＳプロセスへ、複数の検証されたアプリケーションプログラムの複数のバイナリコードを転送することであって、検証されたアプリケーションプログラムの各バイナリコードに各々のセキュリティ要素が指定されることと、
各々のＧＰＯＳプロセスにより、検証されたアプリケーションプログラムのバイナリコードを実行することであって、検証されたアプリケーションプログラムの各々のバイナリコードを実行する各々のＧＰＯＳセクションへの及び／又は各々のＧＰＯＳセクションからのアプリケーションデータは、同一のセキュア通信チャネルを介し転送されること
というステップを含む。
【００４０】
具体的には、ＩＰＣは、検証されたアプリケーションプログラムを互いに並行して実行するよう実装されてよい。例えば、各アプリケーションプログラムは、ラップされ、このため各々に指定されたセキュリティポリシーを有する、レガシーアプリケーションプログラムである。各ラップされたアプリケーションプログラムは、指定されたセキュリティポリシーを用いて、互いに独立して検証されることができる。セキュリティポリシーは、例えば、各々のアプリケーションプログラムを認証するための暗号化又は暗号化証明書であることができる。ＲＴＯＳプロセス、例えばＲＴＯＳ境界プロセスがアプリケーションプログラムを認証又は検証する場合、バイナリコードは実行のためＧＰＯＳプロセスへ返される。
【００４１】
実施形態において、各検証されたアプリケーションプログラムへ、特定のトークン又はセキュリティ要素が指定される。例えば、複数のラップされたアプリケーションプログラムのうちの１つの検証が失敗した場合、バイナリコードがＧＰＯＳに返されない、及び／又は、ＲＴＯＳによりセキュリティトークン又はセキュリティ要素が提供されず、検証されていないアプリケーションプログラムはＧＰＯＳにより実行されない。
【００４２】
或いは、又は追加的に、ＲＴＯＳプロセスにより検証されていない、ＧＰＯＳにより実行されるアプリケーションプログラム又はバイナリコードは、セキュア通信チャネルを用いることを防止される。
【００４３】
実施形態において、ＧＰＯＳセクションとＲＴＯＳセクションとの間には、１つの通信チャネルのみが確立される。このため、検証されたレガシーアプリケーションは、同時にセキュア通信チャネルを使用できる。
【００４４】
実施形態において、異なるアプリケーションプログラム又はバイナリコードには異なるセキュリティ要素が指定される。セキュリティ要素は、例えば、異なる権限を指定する証明書であることができ、特に自動化ネットワークと連接するＲＴＯＳセクションのポートに関係する。
【００４５】
本発明は、ＲＴＯＳデバイスにおいて用いられることを意図されたレガシーアプリケーションの、ＧＰＯＳ環境における使用を可能にする。産業用ＰＣは同時に、セキュア通信を保証し、アプリケーションデータが、ＲＴＯＳ（境界）プロセスによるレガシーソフトウェアのアクセス許可又は検証のうえでＧＰＯＳとＲＴＯＳとの間でセキュアに転送されるため、セキュリティ違反を防止する。
【００４６】
更なる様態によると、本発明は、少なくとも１つのコンピュータ上で稼働するとき、上述したＩＰＣによる方法を実行するためのプログラムコードを含む、コンピュータプログラム製品に関する。コンピュータプログラム手段といった、コンピュータプログラム製品は、メモリカード、ＵＳＢスティック、ＣＤ−ＲＯＭ、ＤＶＤとして、又は、ネットワーク内のサーバからダウンロードされてよいファイルとして、埋め込まれてよい。例えば、そのようなファイルは、無線通信ネットワークから、コンピュータプログラム製品を含むファイルを転送することにより提供されてよい。
【００４７】
装置、即ち本発明のＩＰＣデバイスを参照し説明される実施形態及び特徴は、ＩＰＣデバイスの動作方法に準用され、その逆も同様である。
【００４８】
本発明の更なる可能な実装又は代替的解決は、実施形態に関し上記又は下記に説明される特徴の組み合わせ―ここでは明示的に言及されない―をも包含する。当業者は、本発明の最も基本的な形態に、個々の又は孤立した態様と特徴を加えてもよい。
【図面の簡単な説明】
【００４９】
本発明の更なる実施形態、特徴、利点は、添付の図面と併せ、後続の説明及び従属請求項から明らかになるであろう。
【図１】産業用コンピュータデバイスの第１の実施形態の概略図を示す。
【図２】産業用ＰＣデバイスの動作方法の第１の実施形態の方法ステップが関係する処理フローを示す。
【図３】産業用ＰＣデバイスの１つの実施形態が関係する自動化システムの１つの実施形態の概略図を示す。
【図４】産業用ＰＣデバイスの動作方法の第２の実施形態の方法ステップが関係する処理フローを示す。
【図５】産業用コンピュータデバイスの第３の実施形態の概略図を示す。  図面において、具体的に明示しない限り、同様の符号は同様又は機能的に均等である要素を示す。
【発明を実施するための形態】
【００５０】
図１は、産業用コンピュータデバイスの第１の実施形態の概略図を示す。ＩＰＣデバイス１は、産業用自動化システム用に意図されており、共に独立して動作するいくつかのＰＣ技術の様態が含まれる。汎用オペレーティングシステムセクション２とリアルタイムオペレーティングシステムセクション３は、ホストとしてのＩＰＣデバイス１上で、ゲストマシンとして互いに独立して稼働する。コンピュータソフトウェア、ファームウェア、又はハードウェアとして実装されることのできるハイパーバイザ８は、仮想マシン、即ちＧＰＯＳセクション２とＲＴＯＳセクション３とを作成及び稼働する。ハイパーバイザ８又は仮想マシンモニタは、ゲストオペレーティングシステムＧＰＯＳ及びＲＴＯＳの実行を管理する。ＩＰＣデバイス１は、プロセッサ４及びプロセッサコア５、６、７といった、いくつかのハードウェアリソースを提供する。このため、ハイパーバイザ８は、ＩＰＣデバイス１の仮想化されたハードウェアリソースをゲストオペレーティングシステムに提供する。
【００５１】
ハイパーバイザ８により管理されるソフトウェアバスとして実装される通信手段９は、オペレーティングシステムセクション２、３間のデータ交換を可能とする。汎用オペレーティングシステムは、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓオペレーティングシステムであることができる。Ａｐｐｌｅ  ＯＳ又はＵｎｉｘ（登録商標）の派生といった他のオペレーティングシステムも考慮できる。
【００５２】
ＲＴＯＳセクション３は、リアルタイム機能を有するオペレーティングシステムに基づく。具体的には、ＲＴＯＳは、入ってくる又は出ていくデータをバッファリング遅延なしに処理するよう実装される。例えば、ＲＴＯＳは、一方で産業用自動化システム内のフィールド機器から制御データ又はセンサデータＣＤＯを受け取り、他方で制御データＣＤＩを生成する。データＣＤＯとＣＤＩは、ＥｔｈｅｒＣＡＴ又はＰｒｏｆｉｎｅｔといった、自動化ネットワークバスシステムを介し転送されることができる。
【００５３】
ＲＴＯＳは、具体的には、フィールド機器又は専用マシンコントローラのハードウェア又はソフトウェアとして実装されている可能性がある既存のレガシーシステムと互換性がある。度々、ＲＴＯＳ下で稼働するよう設計されたアプリケーションは、ＧＰＯＳを用いて試験又は改変できる。いくつかの例において、ＲＴＯＳのために設計されたそのようなレガシーアプリケーションをＧＰＯＳセクションにおいて稼働することが望ましい。しかし、特に、古い通信プロトコルを用いるデータベースクライアント又は機械制御アプリケーションを実装するレガシーＲＴＯＳアプリケーションは、ＧＰＯＳ上で稼働する場合、セキュアでないと見なされる可能性がある。
【００５４】
下記において、図１を参照し、図１に示されるような例としての、産業用ＰＣデバイス１の動作又は稼働方法を提供する。開示される方法は、ＲＴＯＳ環境用に意図されたレガシーアプリケーションを、ＧＰＯＳセクション２において使用することを可能とする。同時に、ソフトウェアサービスがアプリケーションのレガシーバイナリコードを実行するＧＰＯＳと、ＲＴＯＳセクション３において実装されたポートとの間のセキュアデータ転送を提供する。
【００５５】
第１のステップＳ０において、ラップされたアプリケーションＷＲＡＰが提供される。ラップされたアプリケーションは、ＲＴＯＳ下で実行されるよう設計されたアプリケーションＲＡＰをセキュリティポリシーと共にラッピングすることから結果として得られる。リアルタイムアプリケーションＲＡＰは、ＲＴＯＳにおけるソフトウェアサーバ又はＪａｖａエンジンを介し実行されることのできるＪａｖａコードとして実装される。ただし、ＧＰＯＳセクション２において、同一のコードＢＣを実行することが望ましい。このため、図１左に示されるように、ＲＴＯＳ下で実行されるよう設計されたバイナリコードＢＣと証明書ＣＥＲＴをセキュリティポリシーとして含む、ラップされたアプリケーションＷＲＡＰが生成される。開示される実施形態において、セキュリティポリシーは、アプリケーションＲＡＰがデジタル署名され、実行可能なバイナリコードＢＣを含むことを要する。
【００５６】
次のステップＳ１において、ＧＰＯＳセクション２のソフトウェアサービス１３が、例えばソフトウェアバス９を介し、ラップされたアプリケーションをＲＴＯＳ境界プロセスへ送信する。次いで、ＲＰＯＳ境界プロセス１１が、証明書ＣＥＲＴに基づき、ラップされたアプリケーションプログラムＷＲＡＰを検証する。証明書ＣＥＲＴは、ステップＳ２においてＲＴＯＳ境界プロセス１１によりその信頼性がチェックされる署名を表すことができる。ＲＴＯＳ境界プロセス１１がバイナリコードＢＣを検証又は認証した場合、バイナリコードＢＣは、ステップＳ３において、セキュリティ要素ＳＥと共にＧＰＯＳセクション２へ送り返される。
【００５７】
ＧＰＯＳセクション２は、図１に示されるＪａｖａエンジンＪＥといったソフトウェアサービス１３を実装する。例えば、レガシーバイナリコードはＪａｖａコードで書かれている。そして、バイナリコードＢＣは、ラップされたアプリケーションＷＲＡＰを形成するため、暗号化され署名されてよい。一般的に、Ｊａｖａコードは任意のＪａｖａエンジンにより実行されることができる。そして実行可能なＪａｖａコードＢＣは、次いでＧＰＯＳ内のＪａｖａエンジン１３により処理されることができる。ラップされたアプリケーションＷＲＡＰは、ベンダー又は販売元によりＩＰＣデバイス１に提供される。故に、有効に暗号化され署名されたＪａｖａコードのみが、ステップＳ２においてＲＴＯＳ境界プロセスにより受け入れられる。
【００５８】
バイナリコードＢＤを稼働するＪａｖａエンジン１３との間でアプリケーションデータを交換することを可能とするため、ステップＳ４において、ＧＰＯＳプロセス（Ｊａｖａエンジンを含む）１３とＲＴＯＳセクション３との間のセキュア通信チャネル１２が確立される。セキュア通信チャネルは、例えば、データ交換のための対称暗号化を用いるＴＬＳトンネルである。セキュリティ要素ＳＥは、例えば、セキュア接続を確立するための乱数又は疑似乱数であることができるナンスである。他のセキュリティ要素も考慮できる。
【００５９】
ステップＳ４に示されるように、アプリケーションデータＡＤはＧＰＯＳプロセス１３とＲＰＯＳセクション３との間で転送されることができる。例えば、セキュアトンネルが、隠されたＲＴＯＳ下で稼働するよう実装されたアプリケーションＲＡＰのため設計されたレガシープロトコルをエミュレートする。例えば、ＪａｖａコードＢＣは、自動化ネットワークに連接された専用ポートを介してＲＴＯＳセクション３に連接されたデバイスへのアクセスを要するデータベースクライアントを実装してよい。図１に示されるように、ＲＴＯＳセクション３における認証サーバ又は境界サービスは、アプリケーションデータ（ステップＳ４を参照）がＲＴＯＳセクション３と、ＧＰＯＳセクション２においてバイナリコードＢＣ（Ｊａｖａ）を稼働するソフトウェアサービス１３との間で転送されることを可能とする。故に、提案され開示される方法は、ＧＰＯＳセクション２内で、ＲＴＯＳ下で実行されるよう設計されたバイナリコードの例としての、レガシーＪａｖａバイトコードの実行を可能とする。
【００６０】
該方法は、ＩＰＣデバイス１が自動化ネットワーク又は産業用自動化システムに統合されるとき特に有用である。図３は、ＩＰＣデバイス１を有する自動化システム１００の１つの実施形態を示す。ＩＰＣデバイス１は、一般的に図１に示されるように実装される。ただし、例示目的のため、ＩＰＣホストのハイパーバイザとハードウェア構成要素は図において省略されている。ＧＰＯＳセクション２は、インターフェイスを提供するため、いくつかの通信ポート１５〜２１を提供する。例えば、ＧＰＯＳセクション２は、Ｅｔｈｅｒｎｅｔポート１５を介しインターネットＷＷＷに連接されることができる。例えば、ＰＣといった端末デバイスは、Ｅｔｈｅｒｎｅｔ２５を介し、ＧＰＯＳセクション２を用いてＩＰＣデバイス１に連接できる。インターフェイスを生成する通信ポートの他の例は、ＳＤメモリカードスロット１６、ＰＣＩカードポート１７、ハードディスクポート１８、シリアルポート１９、ＤＶＩポート２０、又はＵＳＢポート２１である。図１において、ＳＤ、ＰＣＩ、ハードディスク、シリアル、ＤＶＩ及びＵＳＢデバイス２６〜３１が例として示される。ＧＰＯＳは、例えば、Ｗｉｎｄｏｗｓ  １０オペレーティングシステムである。他のＷｉｎｄｏｗｓ標準も用いることができる。
【００６１】
ＲＴＯＳセクション３は、例えば、ＲＴオペレーティングシステムであり、自動化目的のためのリアルタイム機能を有する。ＲＴオペレーティングシステムは、マシンコントローラアプリケーション１４を含み実装する。マシンコントローラアプリケーション１４は、専用産業用ネットワーク上でフィールド機器と通信し制御するため実装される。例えば、ＲＴＯＳセクション３は、ＥｔｈｅｒＮｅｔ／ＩＰポート２２を有し、Ｅｔｈｅｒｎｅｔネットワーク上で端末デバイス３２と他の産業用ＰＣ３４及び／又はユーザインターフェイス３３と連接することを可能とする。
【００６２】
ＲＴＯＳセクション３は、所定の通信プロトコル上でフィールド機器３５、３６、３７、３８と通信可能に連接するためのポート２３を更に提供する。例えば、ポート２３はＥｔｈｅｒＣＡＴバスシステム２６と連接する。シーメンスによるＰｒｏｆｉｎｅｔといった他の通信プロトコルも考慮してよい。
【００６３】
マシンコントローラアプリケーション１４は、特に自動化コントローラサービスを設定、プログラム、デバッグ、又はメンテナンスするために実装される。例えば、ソフトウェアマシンコントローラ１４は、例えばライトカーテンを実装するセーフティデバイス３５からデータを受け取ることができる。同時に、マシンコントローラアプリケーション１４は、アクチュエータデバイス３７を制御する、又は、センサデバイス３８からセンサデータを受け取ってよい。マシンコントローラの機能は度々、ＲＴＯＳ下での稼働専用であるレガシーアプリケーションにより実装される。いくつかの例において、レガシーアプリケーションは、ＩＰＣ上ではなく、組込みシステム上で稼働するよう実装されている可能性がある。
【００６４】
次いで、例えば図１又は３に示されるＩＰＣデバイスの動作方法、又は、ＲＴＯＳ下でのリアルタイムデータ処理に適合された、提供されたソフトウェアコードをＧＰＯＳ環境内で実行するための方法の更なる実施形態を示す。図４に示される機能とプロセスは、ＧＰＯＳとＲＴＯＳにより提供される各々のソフトウェアサービスにより実装される。
【００６５】
図４の左の部分はＧＰＯＳプロセスを示し、右側はＲＴＯＳサービス又はプロセスを示す。
【００６６】
図４の実施形態において、ＷｉｎｄｏｗｓオペレーティングシステムＷＩＮＯＳが、ラップされたＪａｖａアプリケーションＷＲＡＰを受け取ると仮定する。Ｊａｖａアプリケーションは暗号化され認証のための証明書を提供される。ＧＰＯＳ又はＷｉｎｄｏｗｓオペレーティングシステムは、ＪａｖａエンジンＪＥを提供する。
【００６７】
最初のステップＳ０において、ラップされたアプリケーションＷＲＡＰが受け取られる。ＷｉｎｄｏｗｓオペレーティングシステムＷＩＮＯＳは、ステップＳ１１においてソフトウェアバスサービスに連接される。これには、ソフトウェアバスサービスへのアクセスを可能にさせるセキュリティ証明書が関係することができる。次いで、ソフトウェアバスサービスはＲＴＯＳ境界プロセスに接続する。境界プロセス又はＲＴＯＳは、ＲＴオペレーティングシステムとして実装される。ステップＳ１２における境界プロセスへの接続は、ハッシュ関数の実行が関係してよい。
【００６８】
次いで、ステップＳ１３において、ラップされたアプリケーションＷＲＡＰから取り出された暗号化されたＪａｖａコードｅｎｃＢＣが取得される。ステップＳ１４において、暗号化されたＪａｖａアプリケーションｅｎｃＢＣは署名又は証明書ＣＥＲＴと共に、ＲＴＯＳのソフトウェアバスサービスへ渡される。故に、ソフトウェアバスサービスは、暗号化されたＪａｖａコードと、例えばソフトウェア販売元であるＪａｖａコードの出処の認証としてのＪａｖａコード署名とを取得する。
【００６９】
次のステップにおいて、Ｊａｖａコードを稼働するＧＰＯＳと、例えば図３に示されるマシンコントローラとの間でアプリケーションデータが交換されることを可能とするため、セキュア通信トンネルが確立される。ソフトウェアバスサービスは、ステップＳ１５において、例えばレガシー通信チャネルをエミュレートするといった、セキュア通信チャネルを開くためのリクエストをＲＴＯＳ境界プロセスへ渡す。ステップＳ１５は、暗号化されたＪａｖａコード、Ｊａｖａコードの出処を保証する署名又は証明書、及びナンスをＲＴＯＳ境界プロセスへ渡すことが関係してよい。ＲＴＯＳ境界プロセスは、例えば一致する証明書を用いて、Ｊａｖａコード署名ＣＥＲＴをチェックする。
【００７０】
境界プロセスが、署名を検証することによりＪａｖａコードの由来又は出処を認証した場合、ステップＳ１７において、Ｊａｖａコードは複号される。結果として、実行可能なＪａｖａコードが境界プロセスにおいて利用可能となる。
【００７１】
次いで、ステップＳ１８において、セキュアチャネルが確立される。これは、トークンと、暗号化されたＪａｖａコードの複号処理から結果として得られたバイナリコードとを送ることが関係してよい。
【００７２】
ステップＳ１９において、バイナリコード、即ち実行可能なＪａｖａコードと、セキュリティ要素としてのセキュリティトークンがソフトウェアバスサービスへ送信される。ソフトウェアバスサービスは、次いでＧＰＯＳセクションにおけるＪＥによりレガシーＪａｖａコードの実行を開始する。これはステップＳ２０に示される。
【００７３】
故に、ソフトウェアバスサービスは、ステップＳ２２においてＪａｖａネイティブインターフェイスを介しバイナリコードをロードし開始する。ステップＳ２１とＳ２２は、例えばＴＬＳ接続でセキュアトンネルを確立するためにセキュリティトークンを生成することが関係する。故に、ＪａｖａコードはＧＰＯＳにおいてＪａｖａエンジンにより実行されるが、同時に、ステップＳ２３においてセキュアチャンネル上で通信でき、ＲＴＯＳにおいて提供されたポートにアクセスできる。これは、Ｊａｖａコード又はバイナリコードＢＣが、ＧＰＯＳにおいてセキュアでないと見なされるレガシー通信プロトコルを動作し実行することを意味する。例えば、ＴＬＳトンネルは、レガシーリアルタイムオペレーティングシステムアプリケーションと互換性のある、エミュレートされたセキュアでないプロトコルを実装する。
【００７４】
故に、図３に戻って参照し、ＧＰＯＳにおけるソフトウェアバスサービスは、古い又はレガシーバイナリコードを実行し。ここで、バイナリコードはセキュア通信チャネル（図１を参照）によりカプセル化されたセキュアでないプロトコル上で通信し、リアルタイムマシンコントローラが得ることのできるデータにアクセスしてよい。例えば、レガシーバイナリコードは、アクチュエータデバイス用の制御機能を含んでよい。ＧＰＯＳは、一般的に自動化ネットワーク２６（図３を参照）に連接する通信ポートへのアクセスを有さない。ただし、ＧＰＯＳセクション２におけるソフトウェアサービス１３（図１を参照）とＲＴＯＳセクション３の境界プロセス１１（図１を参照）との間のセキュアトンネルを確立することは、Ｊａｖａアプリケーションにおいての制御アルゴリズムの実行を可能とし、これにより、アクチュエータデバイス３７を制御するためのアプリケーション又は制御データＣＤＩを生成する。
【００７５】
図５は、産業用コンピュータデバイス、例えばＩＰＣデバイス１の第３の実施形態の概略図を示す。一般的に、ＩＰＣデバイス１は図１と３に示されるように実装される。ＩＰＣデバイス１はＧＰＯＳセクション２とＲＴＯＳセクション３とを有し、ここで、ＲＴＯＳセクション３は、制御データＣＤＩ、ＣＤＯを生成し、例えば特定の通信プロトコルにおいて自動化ネットワークから受け取ってよい。ＲＴＯＳセクション３において実装された境界プロセス又は認証プロセス１１は、ＧＰＯＳセクション２においてレガシーソフトウェアサービス１３下で稼働するアプリケーションＡＰ１、ＡＰ２、ＡＰ３間のセキュア通信を可能とする。ソフトウェアバスサービス９は、ＧＰＯＳセクション２とＲＴＯＳセクション３との間のセキュア通信トンネル１２を確立するために用いられることができる。
【００７６】
図５において、複数のアプリケーションプログラムＡＰ１〜ＡＰ３が示され、ここで、各アプリケーションプログラムＡＰ１、ＡＰ２、ＡＰ３はＲＴＯＳ下で実行されるよう実装される。アプリケーションプログラムＡＰ１、ＡＰ２、ＡＰ３は、ラップされたアプリケーションプログラムとして提供され、ここで、各アプリケーションプログラムは、例えば付された署名又は証明書である、指定されたセキュリティポリシーを有する。各レガシーアプリケーションプログラムＡＰ１、ＡＰ２、ＡＰ３について、図２又は図４に従ったプロセスが実行されることができるが、１つのセキュア通信チャネル１２のみが確立される。各々のレガシーアプリケーション間のセキュア通信は、セキュアトンネル１２を通過する点、一点鎖線、破線により示され、ここで、ＲＴＯＳにおける境界プロセス１１がセキュア通信を許可又はブロックする。例えば、ＡＰ２は制御データＣＤＩとセンサデータＣＤＯへのアクセスを許可されない。例えば、セキュリティポリシーは、複数のアプリケーションＡＰ１〜ＡＰ３のアプリケーションごとに異なってよい。
【００７７】
アプリケーションラッピングにおける複数のａｐｐのアプリケーションＡＰ１、ＡＰ２、ＡＰ３に包含された証明書によって、ＲＴＯＳセクションのリソースへの許可されるアクセスが異なってよい。例えば、アプリケーションに付された各々の証明書は、異なる権限を許可する。１つの例として、ＲＴＯＳセクション３のリソースへのアクセスは、ラッピング処理においてレガシーアプリケーションに付された証明書又はセキュリティポリシーの機能として判定される。このため、境界プロセス１１はアプリケーションＡＰ１とＡＰ３に対しＲＴＯＳの自動化ネットワークポートへのアクセスを許可するが、アプリケーションＡＰ２に対しアクセスを拒否する。
【００７８】
本発明は好ましい実施形態により説明されたが、当業者にとって全ての実施形態で改変が可能であることは明らかである。例えば、レガシーバイナリコードとしてＪａｖａではない他の実行可能なコードを考慮できる。例えば、アプリケーションバイナリは．ＮＥＴコードにより実装されることができる。証明書を用いる代わりに、ラップされたアプリケーションの認証のため、暗号署名又はトークンを考慮できる。
【符号の説明】
【００７９】
ＡＤ  アプリケーションデータ
ＡＰ１、ＡＰ２、ＡＰ３  アプリケーションプログラム
ＢＣ  バイナリコード
ＣＤＩ、ＣＤＯ  制御データ
ＣＥＲＴ  証明書
ｅｎＢＣ  暗号化されたバイナリコード
ＧＰＯＳ  汎用オペレーティングシステム
ＩＰＣ  産業用ＰＣ
ＪＥ  Ｊａｖａエンジン
ＲＡＰ  リアルタイムアプリケーションプログラム
ＲＴＯＳ  リアルタイムオペレーティングシステム
ＳＥ  セキュリティ要素
ＶＭＭ  仮想マシンモニタ／ハイパーバイザ
ＷＩＮＯＳ  Ｗｉｎｄｏｗｓ  ＯＳ
ＷＲＡＰ  ラップされたアプリケーション
ＷＷＷ  インターネット
Ｓ０  ＷＲＡＰを受け取る
Ｓ１  認証を要求する
Ｓ２  ＢＣを検証する
Ｓ３  検証されたＢＣとＳＥを転送する
Ｓ４  セキュアチャンネルを確立する
Ｓ５  ＢＣを実行する
Ｓ１１  ＳＷバスに接続する
Ｓ１２  境界プロセスに接続する
Ｓ１３  暗号化されたコードを取得する
Ｓ１４  セキュア通信（レガシーチャネル）を開始する
Ｓ１５  セキュアチャンネルパラメータを送信する
Ｓ１６  コード署名をチェックする
Ｓ１７  コードを復号する
Ｓ１８  セキュアチャンネルを開く
Ｓ１９  バイナリコードとトークンを返す
Ｓ２０  レガシーアプリケーションを開始する
Ｓ２１  Ｊａｖａインターフェイスを介しバイナリコードをロードする
Ｓ２２  バイナリコード（Ｊａｖａ）を実行する
Ｓ２３  トークンを用いてセキュアトンネルを確立する
１  産業用ＰＣデバイス
２  ＧＰＯＳセクション
３  ＲＴＯＳセクション
４  プロセッサデバイス
５、６、７  プロセッサコア
８  ハイパーバイザ
９  通信手段
１０  ラップされたアプリケーション
１１  認証サービス
１２  セキュアチャネル
１３  ソフトウェア実行サービス
１４  マシンコントローラアプリケーション
１５〜２３  通信ポート
２４、２５  Ｅｔｈｅｒｎｅｔネットワーク
２６  ＥｔｈｅｒＣＡＴネットワーク
２７  端末
２６〜３１  周辺デバイス
３２  端末
３３  インターフェイス
３４  ＩＰＣ
３５  セーフティデバイス
３６  Ｉ／Ｏ制御デバイス
３７  アクチュエータ
３８  センサデバイス
１００  自動化システム
【図１】
2021523494.tif 000003
【図２】
2021523494.tif 000004
【図３】
2021523494.tif 000005
【図４】
2021523494.tif 000006
【図５】
2021523494.tif 000007
【手続補正書】
【提出日】令和3年1月6日(2021.1.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
次のステップＳ１において、ＧＰＯＳセクション２のソフトウェアサービス１３が、例えばソフトウェアバス９を介し、ラップされたアプリケーションをＲＴＯＳ境界プロセスへ送信する。次いで、ＲＴＯＳ境界プロセス１１が、証明書ＣＥＲＴに基づき、ラップされたアプリケーションプログラムＷＲＡＰを検証する。証明書ＣＥＲＴは、ステップＳ２においてＲＴＯＳ境界プロセス１１によりその信頼性がチェックされる署名を表すことができる。ＲＴＯＳ境界プロセス１１がバイナリコードＢＣを検証又は認証した場合、バイナリコードＢＣは、ステップＳ３において、セキュリティ要素ＳＥと共にＧＰＯＳセクション２へ送り返される。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
ステップＳ４に示されるように、アプリケーションデータＡＤはＧＰＯＳプロセス１３とＲＴＯＳセクション３との間で転送されることができる。例えば、セキュアトンネルが、隠されたＲＴＯＳ下で稼働するよう実装されたアプリケーションＲＡＰのため設計されたレガシープロトコルをエミュレートする。例えば、ＪａｖａコードＢＣは、自動化ネットワークに連接された専用ポートを介してＲＴＯＳセクション３に連接されたデバイスへのアクセスを要するデータベースクライアントを実装してよい。図１に示されるように、ＲＴＯＳセクション３における認証サーバ又は境界サービスは、アプリケーションデータ（ステップＳ４を参照）がＲＴＯＳセクション３と、ＧＰＯＳセクション２においてバイナリコードＢＣ（Ｊａｖａ）を稼働するソフトウェアサービス１３との間で転送されることを可能とする。故に、提案され開示される方法は、ＧＰＯＳセクション２内で、ＲＴＯＳ下で実行されるよう設計されたバイナリコードの例としての、レガシーＪａｖａバイトコードの実行を可能とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
該方法は、ＩＰＣデバイス１が自動化ネットワーク又は産業用自動化システムに統合されるとき特に有用である。図３は、ＩＰＣデバイス１を有する自動化システム１００の１つの実施形態を示す。ＩＰＣデバイス１は、一般的に図１に示されるように実装される。ただし、例示目的のため、ＩＰＣホストのハイパーバイザとハードウェア構成要素は図において省略されている。ＧＰＯＳセクション２は、インターフェイスを提供するため、いくつかの通信ポート１５〜２１を提供する。例えば、ＧＰＯＳセクション２は、Ｅｔｈｅｒｎｅｔポート１５を介しインターネットＷＷＷに連接されることができる。例えば、ＰＣといった端末デバイスは、Ｅｔｈｅｒｎｅｔ２５を介し、ＧＰＯＳセクション２を用いてＩＰＣデバイス１に連接できる。インターフェイスを生成する通信ポートの他の例は、ＳＤメモリカードスロット２６、ＰＣＩカードポート２７、ハードディスクポート２８、シリアルポート２９、ＤＶＩポート３０、又はＵＳＢポート３１である。図１において、ＳＤ、ＰＣＩ、ハードディスク、シリアル、ＤＶＩ及びＵＳＢデバイス２６〜３１が例として示される。ＧＰＯＳは、例えば、Ｗｉｎｄｏｗｓ  １０オペレーティングシステムである。他のＷｉｎｄｏｗｓ標準も用いることができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
図５は、産業用コンピュータデバイス、例えばＩＰＣデバイス１の第３の実施形態の概略図を示す。一般的に、ＩＰＣデバイス１は図１と３に示されるように実装される。ＩＰＣデバイス１はＧＰＯＳセクション２とＲＴＯＳセクション３とを有し、ここで、ＲＴＯＳセクション３は、制御データＣＤＩを生成し、ＣＤＯを受信し、例えば特定の通信プロトコルにおいて自動化ネットワークから受け取ってよい。ＲＴＯＳセクション３において実装された境界プロセス又は認証プロセス１１は、ＧＰＯＳセクション２においてレガシーソフトウェアサービス１３下で稼働するアプリケーションＡＰ１、ＡＰ２、ＡＰ３間のセキュア通信を可能とする。ソフトウェアバスサービス９は、ＧＰＯＳセクション２とＲＴＯＳセクション３との間のセキュア通信トンネル１２を確立するために用いられることができる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００７９
【補正方法】変更
【補正の内容】
【００７９】
ＡＤ  アプリケーションデータ
ＡＰ１、ＡＰ２、ＡＰ３  アプリケーションプログラム
ＢＣ  バイナリコード
ＣＤＩ、ＣＤＯ  制御データ
ＣＥＲＴ  証明書
ｅｎcＢＣ  暗号化されたバイナリコード
ＧＰＯＳ  汎用オペレーティングシステム
ＩＰＣ  産業用ＰＣ
ＪＥ  Ｊａｖａエンジン
ＲＡＰ  リアルタイムアプリケーションプログラム
ＲＴＯＳ  リアルタイムオペレーティングシステム
ＳＥ  セキュリティ要素
ＶＭＭ  仮想マシンモニタ／ハイパーバイザ
ＷＩＮＯＳ  Ｗｉｎｄｏｗｓ  ＯＳ
ＷＲＡＰ  ラップされたアプリケーション
ＷＷＷ  インターネット
Ｓ０  ＷＲＡＰを受け取る
Ｓ１  認証を要求する
Ｓ２  ＢＣを検証する
Ｓ３  検証されたＢＣとＳＥを転送する
Ｓ４  セキュアチャンネルを確立する
Ｓ５  ＢＣを実行する
Ｓ１１  ＳＷバスに接続する
Ｓ１２  境界プロセスに接続する
Ｓ１３  暗号化されたコードを取得する
Ｓ１４  セキュア通信（レガシーチャネル）を開始する
Ｓ１５  セキュアチャンネルパラメータを送信する
Ｓ１６  コード署名をチェックする
Ｓ１７  コードを復号する
Ｓ１８  セキュアチャンネルを開く
Ｓ１９  バイナリコードとトークンを返す
Ｓ２０  レガシーアプリケーションを開始する
Ｓ２１  Ｊａｖａインターフェイスを介しバイナリコードをロードする
Ｓ２２  バイナリコード（Ｊａｖａ）を実行する
Ｓ２３  トークンを用いてセキュアトンネルを確立する
１  産業用ＰＣデバイス
２  ＧＰＯＳセクション
３  ＲＴＯＳセクション
４  プロセッサデバイス
５、６、７  プロセッサコア
８  ハイパーバイザ
９  通信手段
１０  ラップされたアプリケーション
１１  認証サービス
１２  セキュアチャネル
１３  ソフトウェア実行サービス
１４  マシンコントローラアプリケーション
１５〜２３  通信ポート
２４、２５  Ｅｔｈｅｒｎｅｔネットワーク
２６  ＥｔｈｅｒＣＡＴバスシステム
２７  端末
２６〜３１  周辺デバイス
３２  端末
３３  インターフェイス
３４  ＩＰＣ
３５  セーフティデバイス
３６  Ｉ／Ｏ制御デバイス
３７  アクチュエータ
３８  センサデバイス
１００  自動化システム
【手続補正６】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
産業用ＰＣ（ＩＰＣ）デバイス（１）の動作方法であって、前記ＩＰＣデバイス（１）が、
汎用オペレーティングシステム（ＧＰＯＳ）下でプログラムコードを実行するよう実装された、ＧＰＯＳセクション（２）と、
リアルタオペレーティングシステム（ＲＴＯＳ）下でのリアルタイムデータ処理に適合されたプログラムコードを実行するよう実装された、ＲＴＯＳセクション（３）と、
を含み、
前記方法が、
前記ＲＴＯＳ下で実行されるよう設計されたバイナリコード（ＢＣ）を含むアプリケーションプログラム（ＲＡＰ）と、セキュリティポリシーとに基づく、ラップされたアプリケーションプログラム（ＷＲＡＰ）を提供すること（Ｓ０）と、
検証されたアプリケーションプログラムを取得するため、ＲＴＯＳプロセスにより、前記セキュリティポリシーに従い、前記ラップされたアプリケーションプログラム（ＷＲＡＰ）を検証すること（Ｓ２）と、
前記検証されたアプリケーションプログラムの前記バイナリコード（ＢＣ）とセキュリティ要素とを、前記ＲＴＯＳプロセスからＧＰＯＳプロセスへ転送すること（Ｓ３）と、
前記セキュリティ要素を用いて、前記ＧＰＯＳプロセスと前記ＲＴＯＳセクションとの間のセキュア通信チャネル（１２）を確立すること（Ｓ４）と、
前記ＧＰＯＳプロセスにより、前記検証されたアプリケーションプログラムの前記バイナリコード（ＢＣ）を実行すること（Ｓ５）と
を含む、方法。
【請求項２】
前記セキュア通信チャネル（１２）を介し、前記検証されたアプリケーションプログラムの前記バイナリコード（ＢＣ）を実行する前記ＧＰＯＳプロセスとの間でアプリケーションデータを転送すること
を更に含む、
請求項１に記載の方法。
【請求項３】
前記セキュア通信チャネル（１２）内で、前記ＲＴＯＳ下で実行されるよう設計された前記アプリケーションプログラム（ＲＡＰ）により要求されるセキュアでない通信プロトコルをエミュレートすること
を更に含む、
請求項１又は２に記載の方法。
【請求項４】
前記ＲＴＯＳ下で実行されるよう設計された前記バイナリコード（ＢＣ）を含む前記アプリケーションプログラム（ＲＡＰ）を提供することと、
前記アプリケーションプログラム（ＲＡＰ）をラップし、これにより、前記ラップされたアプリケーションプログラム（ＷＲＡＰ）を生成するため、前記アプリケーションプログラムへ前記セキュリティポリシーを適用することと
を更に含む、
請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記セキュリティポリシーが、
前記アプリケーションプログラムの前記バイナリコードを暗号化すること、前記バイナリコードに暗号署名又は証明書を加えること、及び／又は、前記暗号化されたバイナリコードに暗号署名又は証明書を加えること
を含む、
請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記セキュリティポリシーが前記ラップされたアプリケーションプログラム（ＷＲＡＰ）の前記バイナリコード（ＢＣ）に適用され、
前記方法が、
前記ラップされたアプリケーションプログラム（ＷＲＡＰ）のラッピングを外し、これにより、前記セキュリティポリシーが適用された前記アプリケーションプログラム（ＲＡＰ）の前記バイナリコード（ＢＣ）を抽出することと、
検証されたバイナリコードを取得するため、前記セキュリティポリシーに従い、前記ＲＴＯＳプロセスにより、前記抽出されたバイナリコード（ＢＣ）を検証すること（Ｓ２）と、
前記ＧＰＯＳプロセスにより、前記検証されたバイナリコードを実行すること（Ｓ５）と
を更に含む、
請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記ラップされたアプリケーションプログラム及び／又は前記抽出されたバイナリコードを検証すること（Ｓ２）が、
セキュリティ証明書に基づき認証すること、及び／又は、暗号鍵を用いて復号すること
を含む、
請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記セキュリティ要素（ＳＥ）が、前記検証されたアプリケーションプログラム又は前記検証されたバイナリコードに一意に指定される、
請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記セキュリティ要素（ＳＥ）が、セキュリティトークン、セキュリティ証明書、及び／又は暗号署名を含む、
請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記ＧＰＯＳプロセスへ転送する前に、前記検証されたアプリケーションプログラムの前記バイナリコード（ＢＣ）又は前記検証されたバイナリコードにセキュリティ証明書を付すことと、
前記検証されたアプリケーションプログラムの前記バイナリコード又は前記検証されたバイナリコードを実行する前記ＧＰＯＳプロセスにより、前記付されたセキュリティ証明書の機能として、前記セキュア通信チャネル（１２）を介した前記ＲＴＯＳセクションへのアクセスを許可することと
を更に含む、
請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
複数のラップされたアプリケーションプログラム（ＡＰ１、ＡＰ２、ＡＰ３）を提供することであって、各前記複数のラップされたアプリケーションプログラム（ＡＰ１、ＡＰ２、ＡＰ３）が、前記ＲＴＯＳ下で実行されるよう設計さたれた各々のバイナリコードを含む各々のアプリケーションプログラムと、前記各々のアプリケーションプログラムに指定された各々のセキュリティポリシーとに基づき生成されることと、
複数の検証されたアプリケーションプログラムを取得するため、各々のＲＴＯＳプロセスにより、前記各々に指定されたセキュリティポリシーに従い、各前記複数のラップされたアプリケーションプログラム（ＡＰ１、ＡＰ２、ＡＰ３）を検証することと、
前記複数の検証されたアプリケーションプログラムの複数のバイナリコードを、前記各々のＲＴＯＳプロセスから各々のＧＰＯＳプロセスへ転送することであって、前記複数の検証されたアプリケーションプログラムの各前記複数のバイナリコードに、各々のセキュリティ要素が指定されることと、
前記各々のＧＰＯＳプロセスにより、前記検証されたアプリケーションプログラムの前記バイナリコードを実行することであって、前記検証されたアプリケーションプログラムの前記各々のバイナリコードを実行する前記各々のＧＰＯＳプロセスとの間のアプリケーションデータが、前記同一のセキュア通信チャネル（１２）を介し転送されることと
を更に含む、
請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
前記ＲＴＯＳ下で実行されるよう設計された前記アプリケーションプログラムの前記バイナリコード（ＢＣ）が、Ｊａｖａコード又は．ＮＥＴコードを含む、
請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
前記セキュア通信チャネル（１２）がＴＬＳプロトコルを採用する、
請求項１〜１２のいずれか１項に記載の方法。
【請求項１４】
ＧＰＯＳ下でプログラムコードを実行するよう実装された、ＧＰＯＳセクション（２）と、
ＲＴＯＳ下でのリアルタイムデータ処理に適合されたプログラムコードを実行するよう実装されたＲＴＯＳセクション（３）と、
ホストマシンとしてのＩＰＣデバイス上のゲストマシンとしての前記ＧＰＯＳ及び前記ＲＴＯＳの実行を管理するよう実装された、ハイパーバイザ（４）と
を含む産業用ＰＣ（ＩＰＣ）デバイス（１）であって、
検証されたアプリケーションプログラムを取得するため、ＲＴＯＳプロセスにより、アプリケーションプログラムに指定されたセキュリティポリシーに従い、ラップされたアプリケーションプログラム（ＷＲＡＰ）を検証することであって、前記ラップされたアプリケーションプログラム（ＷＲＡＰ）が、ＲＴＯＳ下で実行されるよう設計されたバイナリコード（ＢＣ）を含むアプリケーションプログラム（ＲＡＰ）とをラッピングし、かつ前記指定されたセキュリティポリシーを適用することにより取得されることと、
前記検証されたアプリケーションプログラムの前記バイナリコード（ＢＣ）とセキュリティ要素（ＳＥ）とを、前記ＲＴＯＳプロセスからＧＰＯＳプロセスへ転送することと、
前記セキュリティ要素（ＳＥ）を用いて、前記ＧＰＯＳプロセスと前記ＲＴＯＳセクションとの間のセキュア通信チャネル（１２）を確立することと、
前記ＧＰＯＳプロセスにより、前記検証されたアプリケーションプログラムの前記バイナリコード（ＢＣ）を実行することと
を行うよう実装された、
ＩＰＣデバイス。
【請求項１５】
請求項１〜１３のいずれか１項に記載の方法を実行するよう実装された、
請求項１４に記載のＩＰＣデバイス。
【請求項１６】
前記ハイパーバイザセクション（４）が、前記ＧＰＯＳセクション（２）と前記ＲＴＯＳセクション（３）との間で、リクエスト、バイナリコード、及び／又はセキュリティ要素を交換するためのソフトウェアバスサービスを提供するよう実装された、
請求項１４又は１５に記載のＩＰＣデバイス。
【請求項１７】
前記ハイパーバイザセクション（４）が、前記ＧＰＯＳ及びＲＴＯＳセクション（２、３）へ前記ＩＰＣデバイス（１）のハードウェアリソースを割り当てるよう実装された、
請求項１４〜１６のいずれか１項に記載のＩＰＣデバイス。
【請求項１８】
前記ＲＴＯＳセクション（３）が、自動化システム内のフィールド機器（３５〜３８）を制御する、マシンコントローラアプリケーション（１４）を含む、
請求項１４〜１７のいずれか１項に記載のＩＰＣデバイス。
【請求項１９】
前記ＲＴＯＳセクション（３）が、所定の通信プロトコル、好ましくはＥｔｈｅｒＣＡＴ及び／又はＥｔｈｅｒＮｅｔ／ＩＰ標準に従い、自動化システム内のフィールド機器（３５〜３８）に通信可能に連接するための少なくとも１つのポートを含む、
請求項１４〜１８のいずれか１項に記載のＩＰＣデバイス。
【請求項２０】
前記所定の通信プロトコルは、ＥｔｈｅｒＣＡＴ及び／又はＥｔｈｅｒＮｅｔ／ＩＰ標準を含む、
請求項１９に記載のＩＰＣデバイス。
【国際調査報告】
2021523494.tif 000008
2021523494.tif 000009