(57)【要約】リアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行う方法が提案され、リアルタイムオペレーティングシステムおよび汎用オペレーティングシステムは、単一のコンピューティング装置に設けられ且つ仮想マシンモニタによって分離されており、リアルタイムオペレーティングシステムは第１のオープンプラットフォーム通信インタフェースを含み、汎用オペレーティングシステムは第２のオープンプラットフォーム通信インタフェースを含む。本方法は、第１または第２のオープンプラットフォーム通信インタフェースを介して、ユーザから、汎用オペレーティングシステムからリアルタイムオペレーティングシステムのデータにアクセスする、または、リアルタイムオペレーティングシステムから汎用オペレーティングシステムのデータにアクセスするリクエストを仮想マシンモニタで受信すること、リクエストに従って第１および第２のオープンプラットフォーム通信インタフェースの間のソフトウェアバスを介するセキュアな通信経路を確立すること、および、データにアクセスするための確立された安全な通信経路を介してリアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行うこと、を含む。
2019523951.tif 000002
【特許請求の範囲】
【請求項１】
リアルタイムオペレーティングシステム（１０）と汎用オペレーティングシステム（２０）との間のセキュアな通信を行う方法であって、前記リアルタイムオペレーティングシステム（１０）および前記汎用オペレーティングシステム（２０）は、単一のコンピューティング装置（１）の中に設けられ且つ仮想マシンモニタ（３）によって分離されており、前記リアルタイムオペレーティングシステム（１０）は第１のオープンプラットフォーム通信インタフェース（１１）を含み、前記汎用オペレーティングシステム（２０）は第２のオープンプラットフォーム通信インタフェース（２１）を含み、前記方法は、
前記第１または第２のオープンプラットフォーム通信インタフェース（１１，２１）を介して、ユーザから、前記汎用オペレーティングシステム（２０）から前記リアルタイムオペレーティングシステム（１０）のデータにアクセスする、または、前記リアルタイムオペレーティングシステム（１０）から前記汎用オペレーティングシステム（２０）のデータにアクセスするリクエストを前記仮想マシンモニタ（３）で受信すること、
前記リクエストに従って前記第１および第２のオープンプラットフォーム通信インタフェース（１１，２１）の間のソフトウェアバス（５）を介するセキュアな通信経路を確立すること、および、
前記データにアクセスするための前記確立されたセキュアな通信経路を介して、前記リアルタイムオペレーティングシステム（１０）と前記汎用オペレーティングシステム（２０）との間のセキュアな通信を行うこと、を含む、方法。
【請求項２】
前記セキュアな通信経路は、第１および第２の通信プロトコルを使用する、請求項１に記載の方法。
【請求項３】
前記第１の通信プロトコルはパラレルデータバス用の通信プロトコルであり、前記第２の通信プロトコルはリクエスト／レスポンス・デュアルバス用のプロトコルである、請求項２に記載の方法。
【請求項４】
前記セキュアな通信は、証明書および／または署名を使用する通信である、先行クレームのいずれか１項に記載の方法。
【請求項５】
前記セキュアな通信は暗号化通信である、先行クレームのいずれか１項に記載の方法。
【請求項６】
前記リアルタイムオペレーティングシステム（１０）の前記データまたは前記汎用オペレーティングシステム（２０）の前記データは、前記ソフトウェアバス（５）を介して、サブスクライブされたデータとして入手可能である、先行クレームのいずれか１項に記載の方法。
【請求項７】
前記データにアクセスするための前記セキュアな通信は、アクセスされる前記データが属する前記リアルタイムオペレーティングシステム（１０）または前記汎用オペレーティングシステム（２０）へのアクセスなしで、前記サブスクライブされたデータへのダイレクトアクセスとして行われる、請求項６に記載の方法。
【請求項８】
前記リアルタイムオペレーティングシステム（１０）の前記データまたは前記汎用オペレーティングシステム（２０）の前記データは、前記リアルタイムオペレーティングシステム（１０）または前記汎用オペレーティングシステム（２０）で入手可能である、先行クレームのいずれか１項に記載の方法。
【請求項９】
前記データにアクセスするための前記セキュアな通信は、アクセスされる前記データが属する前記リアルタイムオペレーティングシステム（１０）または前記汎用オペレーティングシステム（２０）、へのアクセスとして行われる、請求項８に記載の方法。
【請求項１０】
前記リアルタイムオペレーティングシステム（１０）の前記データまたは前記汎用オペレーティングシステム（２０）の前記データは、前記リアルタイムオペレーティングシステム（１０）または前記汎用オペレーティングシステム（２０）で入手できない、先行クレームのいずれか１項に記載の方法。
【請求項１１】
前記データにアクセスするための前記確立されたセキュアな通信経路を介して前記リアルタイムオペレーティングシステム（１０）と前記汎用オペレーティングシステム（２０）との間の前記セキュアな通信を行うことは、
アクセスされる前記データが属する前記リアルタイムオペレーティングシステム（１０）または汎用オペレーティングシステム（２０）に接続されているデバイスから前記データを検索すること、および、
アクセスされる前記データが属する前記リアルタイムオペレーティングシステム（１０）または前記汎用オペレーティングシステム（２０）を介して前記データにアクセスすること、を含む、請求項１０に記載の方法。
【請求項１２】
少なくとも１つのコンピュータ上で実行されたときに先行クレームのいずれか１項に記載の方法を実施するためのプログラムコードを含む、コンピュータプログラム製品。
【請求項１３】
リアルタイムオペレーティングシステム（１０）と汎用オペレーティングシステム（２０）との間のセキュアな通信を行うための産業コンピューティング装置であって、前記産業コンピューティング装置は、
単一のコンピューティング装置としての前記産業コンピューティング装置に設けられたリアルタイムオペレーティングシステム（１０）および汎用オペレーティングシステム（２０）と、
前記リアルタイムオペレーティングシステム（１０）と前記汎用オペレーティングシステム（２０）とを分離するための仮想マシンモニタ（３）であって、前記リアルタイムオペレーティングシステム（１０）は第１のオープンプラットフォーム通信インタフェース（１１）を含み前記汎用オペレーティングシステム（２０）は第２のオープンプラットフォーム通信インタフェース（２１）を含む、仮想マシンモニタ（３）と、を含み、
前記仮想マシンモニタ（３）は、前記第１または第２のオープンプラットフォーム通信インタフェース（１１，２１）を介して、ユーザから、前記汎用オペレーティングシステム（２０）から前記リアルタイムオペレーティングシステム（１０）のデータにアクセスする、または、前記リアルタイムオペレーティングシステム（１０）から前記汎用オペレーティングシステム（２０）のデータにアクセスするリクエストを受信し、前記リクエストに従って前記第１および第２のオープンプラットフォーム通信インタフェース（１１，２１）の間のソフトウェアバス（５）を介するセキュアな通信経路を確立し、そして、前記確立された安全な通信経路を介して前記リアルタイムオペレーティングシステム（１０）と前記汎用オペレーティングシステム（２０）との間のセキュアな通信を行うように構成されている、装置。
【請求項１４】
前記第１のオープンプラットフォーム通信インタフェース（１１）および／または前記第２のオープンプラットフォーム通信インタフェース（２１）は、オープンプラットフォーム通信・統合アーキテクチャの中に設けられる、請求項１３に記載の装置。
【請求項１５】
前記第１のオープンプラットフォーム通信インタフェース（１１）および／または第２のオープンプラットフォーム通信インタフェース（２１）は、パブリッシュ・サブスクライブ・インタフェースである、請求項１３または１４に記載の装置。
【請求項１６】
前記第１のオープンプラットフォーム通信インタフェース（１１）および／または前記第２のオープンプラットフォーム通信インタフェース（２１）は、クライアント／サーバ・インタフェースである、請求項１３〜１５のいずれか１項に記載の装置。
【請求項１７】
請求項１３〜１６のいずれか１項に記載の産業コンピューティング装置を含む産業通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行う方法に関する。本発明はさらに、そのような方法を実施するためのプログラムコードを含むコンピュータプログラム製品に関する。さらに、本発明は、リアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行うための産業コンピューティング装置、および、そのような産業コンピューティング装置を含む産業通信システムに関する。
【背景技術】
【０００２】
産業のオートメーションおよび／または通信システムは、実際の製造プロセスをコントロールする様々な製造（またはオートメーション）コントローラだけでなく、異なる生産態様のモニタリングおよび／または管理のための様々な企業ソフトウェアアプリケーション（それらは、情報技術（ＩＴ）または製造のソフトウェアアプリケーションとしても知られている）を含む。企業ソフトウェアアプリケーションおよび製造コントローラは、産業オートメーションシステムの２つの異なるドメイン（すなわちそれぞれ企業ドメインおよびコントロールドメイン）の中で動作すると考えることができる。この目的のために、産業通信システムはしばしば、異なるドメインに割り当てられた異なるオペレーティングシステムを有する多数のデバイスを含む。これらのオペレーティングシステムは、異なるセキュリティレベルを有するかもしれず、そのため、これらのオペレーティングシステム間の通信は、異なるセキュリティ要件または性能要件に従わなければならないかもしれない。異なるセキュリティ要件は、割り当てられたデバイスの異なるセキュリティ分類に依存するかもしれない。例えば、重大なまたは機密のデータはより高いセキュリティ要件を有しているかもしれず、すなわち、他のデータよりも攻撃から保護される必要があるかもしれない。異なる性能要件は、デバイスの種類に依存するかもしれない。例えば、いくつかのデバイスはリアルタイムの制約を有することがあり、そのため、リアルタイムオペレーティングシステムに割り当てられるかもしれず、一方で、他のデバイスは、この種の制約を有さず、汎用オペレーティングシステムに割り当てることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開番号ＵＳ２００９／０２３３７０５Ａ１
【特許文献２】米国特許出願公開番号ＵＳ２０１５／０２６４０４７Ａ１
【発明の概要】
【発明が解決しようとする課題】
【０００４】
リアルタイムオペレーティングシステム（ＲＴＯＳ）は、例えば、機械類および産業システムをコントロールするために使用される。ＲＴＯＳは、特定のオペレーションが、それが起こるたびに正確に同じ長さの時間で実行されるように、コンピュータのリソースを管理してもよい。複雑な機械において、システム資源が利用可能であるという理由だけで部品をより速く動かすことは、システムがビジーであるためにそれを少しも動かすことができないことと同様、全く破壊的なものになるかもしれない。
【０００５】
一方、汎用オペレーティングシステム（ＧＰＯＳ）は、オペレータインタフェース、データベース、および汎用の演算タスクを扱うために使用されてもよい。ＧＰＯＳの例は、とりわけ、アップルＯＳ  Ｘ、Ｌｉｎｕｘ、およびその変形、ならびにマイクロソフトＷｉｎｄｏｗｓである。
【０００６】
産業通信システムでは、ＲＴＯＳおよびＧＰＯＳは、１つの単一のコンピューティング装置（例えばコンピュータ）の中で組み合わせられてもよい。しかしながら、オペレーティングシステムが異なるセキュリティおよび性能の要件を有するため、オペレーティングシステムは、コンピューティング装置内で仮想的に分離されてもよい。オペレーティングシステム間で通信を行うために、例えば、オペレーティングシステム間またはオペレーティングシステムに割り当てられているデバイス間でデータを交換するために、異なるオペレーティングシステム間の通信経路が提供される必要がある。
【０００７】
本発明の目的の１つは、異なるオペレーティングシステム間の、改善されたセキュアな通信を提供することである。
【課題を解決するための手段】
【０００８】
したがって、リアルタイムオペレーティングシステム（ＲＴＯＳ）と汎用オペレーティングシステム（ＧＰＯＳ）との間のセキュアな通信を行う方法が提案され、その方法では、前記リアルタイムオペレーティングシステムおよび前記汎用オペレーティングシステムは、単一のコンピューティング装置に設けられ且つ仮想マシンモニタによって分離されている。前記リアルタイムオペレーティングシステムは第１のオープンプラットフォーム通信インタフェースを含み、前記汎用オペレーティングシステムは第２のオープンプラットフォーム通信インタフェースを含む。前記方法は、以下のステップ、すなわち、前記第１または第２のオープンプラットフォーム通信インタフェースを介して、ユーザから、前記汎用オペレーティングシステムから前記リアルタイムオペレーティングシステムのデータにアクセスする、または、前記リアルタイムオペレーティングシステムから前記汎用オペレーティングシステムのデータにアクセスするリクエストを前記仮想マシンモニタで受信すること、前記リクエストに従って前記第１および第２のオープンプラットフォーム通信インタフェースの間のソフトウェアバスを介するセキュアな通信経路を確立すること、および、前記データにアクセスするための前記確立された安全な通信経路を介して前記リアルタイムオペレーティングシステムと前記汎用オペレーティングシステムとの間のセキュアな通信を行うこと、を含む。
【０００９】
提案された方法を使用して、１つの単一コンピューティング装置に含まれる異なるオペレーティングシステム間のセキュアな通信を提供することが可能である。単一のコンピューティング装置は、１つのコンピューティングシステム上で複数のオペレーティングシステムをホストすることができるコンピュータまたは同種のものであってもよい。単一のコンピューティング装置は、ネットワーク上の他のデバイスと通信してもよい。単一のコンピューティング装置は、産業コンピューティング装置であってもよい。
【００１０】
オペレーティングシステムは、仮想マシンモニタ（ハイパーバイザーと呼ばれることもある）によって分離されている。仮想マシンモニタは、２つのオペレーティングシステムを分離し、且つ、オペレーティングシステム間の通信をコントロールおよび管理するように働く。仮想マシンモニタは、仮想マシン（ここでは、２つのオペレーティングシステム、ＲＴＯＳおよびＧＰＯＳを有する仮想マシン）を生成して実行する、１つのコンピュータソフトウェア、ファームウェアまたはハードウェアである。ここでの「分離されている」とは、２つのオペレーティングシステムが互いにデータを直接読み書きすることができず、仮想マシンモニタおよびソフトウェアバスを介してのみそれが可能であること、を意味する場合がある。
【００１１】
それぞれのオペレーティングシステムのセキュリティを維持するために、すなわち、ＧＰＯＳとＲＴＯＳとの間の障壁を開くことによるオペレーティングシステム間のセキュリティ上のネガティブな影響の回避のために、仮想マシンモニタは、ＧＰＯＳとＲＴＯＳとの間の安全な通信経路を確立してもよい。ここでの「セキュア」とは、通信経路自体に対する任意の攻撃を防ぐために、または、通信経路を介してオペレーティングシステム間で送信されているデータを保護するために、通信経路がセキュリティ機能を使用するかもしれないこと、を意味する場合がある。
【００１２】
通信経路は、ソフトウェアバス（「通信チャネル」と呼ばれることもある）によって提供されてもよい。ソフトウェアバスは、オペレーティングシステムであるＧＰＯＳとＲＴＯＳとの間の接続および通信を容易にするか可能にする、共有された通信チャネルのことを意味する場合がある。
【００１３】
ＧＰＯＳからＲＴＯＳのデータにまたは逆方向にアクセスするようにユーザからのリクエストが受信された場合、仮想マシンモニタは通信経路を確立し、オペレーティングシステム間の通信を行うことができる。通信経路は、オペレーティングシステムの通信インタフェース間で確立されてもよい。通信インタフェースは、オープンプラットフォーム通信（ＯＰＣ）インタフェースであってもよい。ＯＰＣは、産業電気通信のための一連の規格および仕様を参照してもよい。ＯＰＣは、異なる製造業者からのコントロールデバイス間のリアルタイムの設備データの通信を規定する。オペレーティングシステムのそれぞれは、１つのＯＰＣインタフェースを実装する。
【００１４】
ユーザリクエストは、通常のユーザ、またはユーザアプリケーション（すなわち、ＯＰＣを使用し、自動的に行われるアプリケーション）に由来してもよい。
【００１５】
一実施形態によれば、安全な通信経路は、第１および第２の通信プロトコルを使用する。第１の通信プロトコルは、パラレルデータバス用の通信プロトコルであってもよく、第２の通信プロトコルは、リクエスト／レスポンス・デュアルバス用のプロトコルであってもよい。
【００１６】
仮想マシンモニタは、オペレーティングシステム間で、リクエストおよびそれらのリクエストに対するレスポンスを送信するための、リクエスト／レスポンス・デュアルバスを使用してもよい。リクエストされたデータを送信するときに、データを送信するためのそれぞれの方向に通信チャネルを提供するパラレルデータバスが使用されてもよい。
【００１７】
さらなる一実施形態によれば、セキュアな通信は、証明書および／または署名を使用した通信である。
【００１８】
証明書または署名は、オペレーティングシステムのそれぞれの同一性を確証するため、送信データの出所を確証するため、または送信データをエンコードするために使用されてもよい。例えば、ＲＴＯＳは、ソフトウェアバスを介してデータを送信してもよい。ソフトウェアバスは、ＲＴＯＳの中の情報を証明してそれをＧＰＯＳに送ってもよく、ＧＰＯＳは、情報および添付された証明書を確証してもよい。
【００１９】
さらなる一実施形態によれば、セキュアな通信は暗号化通信である。
この実施形態によれば、送信されるデータは暗号化されてもよい。これは、例えば、公開鍵／秘密鍵暗号化、または、送信データを暗号化するのに適切な他の種類の暗号化、を使用して行われてもよい。
【００２０】
さらなる一実施形態によれば、リアルタイムオペレーティングシステムのデータまたは汎用オペレーティングシステムのデータは、ソフトウェアバスを介してサブスクライブされたデータ（ｓｕｂｓｃｒｉｂｅｄ  ｄａｔａ）として入手可能である。
【００２１】
データ（関連するオペレーティングシステムに割り当てられている異なるデバイスからのデータまたは情報であってもよい（例えばコントローラ、センサ、クラウド情報または同様のもの））は、オペレーティングシステム間で翻訳される必要があるかもしれない。ＧＰＯＳおよびＲＴＯＳは異なる言語を使用してもよく、そのため、ＲＴＯＳからのデータは、ＧＰＯＳに到達するために翻訳されなければならない。翻訳された形式でデータが既に存在している場合、データは、サブスクライブされたデータと呼ばれることがある。
【００２２】
さらなる一実施形態によれば、データにアクセスするためのセキュアな通信は、アクセスされるデータが属するリアルタイムオペレーティングシステムまたは汎用オペレーティングシステムへのアクセスなしで、サブスクライブされたデータへのダイレクトアクセスとして行われる。
【００２３】
翻訳された形式（すなわち、サブスクライブされたデータとして）でデータが既に存在している場合、オペレーティングシステム自体へのさらなるアクセスなしで、データは直接リクエストされ送信されることができる。
【００２４】
さらなる一実施形態によれば、リアルタイムオペレーティングシステムのデータまたは汎用オペレーティングシステムのデータは、リアルタイムオペレーティングシステムまたは汎用オペレーティングシステムで入手可能である。
【００２５】
サブスクライブされた形式でデータが存在していない場合、そのことは、オペレーティングシステムのそれぞれに割り当てられている異なるデバイスからのデータが、翻訳された形式においてではなくオペレーティングシステムの１つにおいて既に入手可能かもしれないことを意味する。
【００２６】
さらなる一実施形態によれば、データにアクセスするためのセキュアな通信は、アクセスされるデータが属するリアルタイムオペレーティングシステムまたは汎用オペレーティングシステムへのアクセスとして行われる。
【００２７】
この場合、データはサブスクライブされてもよく、その後にアクセスが許可される。
他のオペレーティングシステムの言語への翻訳は、ユーザのリクエストに応じて行われてもよい。
【００２８】
さらなる一実施形態によれば、リアルタイムオペレーティングシステムのデータまたは汎用オペレーティングシステムのデータは、リアルタイムオペレーティングシステムまたは汎用オペレーティングシステムで入手できない。
【００２９】
この実施形態では、データは、翻訳された形式でもオペレーティングシステムでも入手できず、接続されたデバイスにおいてのみ入手可能である。
【００３０】
さらなる一実施形態によれば、データにアクセスするための確立されたセキュアな通信経路を介してリアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行うことは、アクセスされるデータが属するリアルタイムオペレーティングシステムまたは汎用オペレーティングシステムに接続されているデバイスからデータを検索すること、および、アクセスされるデータが属するリアルタイムオペレーティングシステムまたは汎用オペレーティングシステムを介してデータにアクセスすること、を含む。
【００３１】
したがって、データは、ユーザからのリクエストに応じてオペレーティングシステムのうちの１つに接続されているデバイスから検索されてもよく、それに続いて翻訳されてもよい。最終的に、翻訳されたデータは、上記のような他のオペレーティングシステムに提供されてもよい。
【００３２】
さらなる一態様によれば、本発明は、少なくとも１つのコンピュータ上で実行されたときにリアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行うための上記方法を実施するためのプログラムコードを含むコンピュータプログラム製品に関する。
【００３３】
コンピュータプログラム手段のようなコンピュータプログラム製品は、メモリーカード、ＵＳＢスティック、ＣＤ−ＲＯＭ、ＤＶＤとして、または、ネットワーク中のサーバからダウンロードされてもよいファイルとして、具体化されてもよい。例えば、そのようなファイルは、コンピュータプログラム製品を含むファイルを無線通信ネットワークから転送することによって提供されてもよい。
【００３４】
さらなる一態様によれば、リアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行うための産業コンピューティング装置が提案される。産業コンピューティング装置は、単一のコンピューティング装置としての産業コンピューティング装置に設けられたリアルタイムオペレーティングシステムおよび汎用オペレーティングシステムと、リアルタイムオペレーティングシステムと汎用オペレーティングシステムとを分離するための仮想マシンモニタであって、リアルタイムオペレーティングシステムは第１のオープンプラットフォーム通信インタフェースを含み汎用オペレーティングシステムは第２のオープンプラットフォーム通信インタフェースを含む仮想マシンモニタと、を含み、仮想マシンモニタは、第１または第２のオープンプラットフォーム通信インタフェースを介して、ユーザから、汎用オペレーティングシステムからリアルタイムオペレーティングシステムのデータにアクセスする、または、リアルタイムオペレーティングシステムから汎用オペレーティングシステムのデータにアクセスするリクエストを受信し、リクエストに従って第１および第２のオープンプラットフォーム通信インタフェースの間のソフトウェアバスを介するセキュアな通信経路を確立し、そして、確立された安全な通信経路を介してリアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行うように、構成されている。
【００３５】
産業コンピューティング装置は、例えば、プログラマブルロジックコントローラ（ＰＬＣ）であってもよい。ＰＬＣは、工場組立てラインの機械類、娯楽用乗り物、または照明設備のコントロールのような、典型的な産業電気機械のプロセスのオートメーションに使用されてもよい。
【００３６】
産業コンピューティング装置は、複数の、入出力装置、不揮発性メモリ、演算処理装置などを含んでもよい。ＧＰＯＳおよびＲＴＯＳはそれぞれ、不揮発性メモリに格納されてもよいし、演算処理装置（例えばＣＰＵ）によって実行されてもよい。
【００３７】
一実施形態によれば、第１のオープンプラットフォーム通信インタフェースおよび／または第２のオープンプラットフォーム通信インタフェースは、オープンプラットフォーム通信・統合アーキテクチャの中に設けられる。
【００３８】
ＯＰＣ統合アーキテクチャ（ＯＰＣ  ＵＡ）は、ＯＰＣ財団によって開発された、相互運用（ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ）のための産業用のＭ２Ｍ通信プロトコルを示す。ＯＰＣ  ＵＡは、セキュリティを向上させ且つ情報モデルを提供しながら、プロセスコントロールのためのクロスプラットフォーム・サービス指向アーキテクチャ（ＳＯＡ）に向かってオリジナルのＯＰＣ通信モデルから進む道を提供している。
【００３９】
さらなる一実施形態によれば、第１のオープンプラットフォーム通信インタフェースおよび／または第２のオープンプラットフォーム通信インタフェースは、パブリッシュ・サブスクライブ・インタフェースである。
【００４０】
ソフトウェアアーキテクチャでは、パブリッシュ−サブスクライブは、メッセージの送信者（パブリッシャーと呼ばれる）が、特定の受信者（サブスクライバーと呼ばれる）へ直接送られるようにはメッセージをプログラムせず、代わりに、どのようなサブスクライバー（もしいるなら）が存在するかの知見なしに、発信されたメッセージ（ｐｕｂｌｉｓｈｅｄ  ｍｅｓｓａｇｅ）をクラス分けするメッセージングパターンである。同様に、サブスクライバーは、１つ以上のクラスに対する関心を表明し、どのパブリッシャー（もしいるなら）が存在するかの知見なしに、関心があるメッセージのみを受信する。
【００４１】
さらなる一実施形態によれば、第１のオープンプラットフォーム通信インタフェースおよび／または第２のオープンプラットフォーム通信インタフェースは、クライアント／サーバ・インタフェースである。
【００４２】
さらなる一態様によれば、上記のような産業コンピューティング装置を含む産業通信システムが提案される。
【００４３】
そのような産業通信システムは、例えば、多数の産業コンピューティング装置のオペレーティングシステムに割り当てられている複数の異なるデバイスを統合するオートメーションシステムであってもよい。
【００４４】
本発明の装置を参照して記載された実施形態および特徴は、必要な変更を加えて本発明の方法へ適用され、また、逆にも適用される。
【００４５】
本発明のさらに可能な実施または代替案は、実施形態に関して、上記または下記の特徴の組合せ（ここでは明示的に言及されない）も包含する。当業者は、個別のまたは分離された態様および特徴を、本発明の最も基本的な形式に加えてもよい。
【００４６】
本発明の、さらなる実施形態、特徴および利点は、添付の図面と共に、以下の記載および従属のクレームから明らかになるであろう。
【図面の簡単な説明】
【００４７】
【図１】図１は、産業コンピューティング装置の模式的ブロック図を示す。
【図２】図２は、図１の産業コンピューティング装置において使用されるソフトウェアバスの構造の模式的ブロック図を示す。
【図３】図３は、図１の産業コンピューティング装置における通信の検証のための方法ステップの一例を示す。
【図４】図４は、図１の産業コンピューティング装置におけるデータの翻訳のための方法ステップの一例を示す。
【図５】図５は、図１の産業コンピューティング装置におけるローカルなデータ検索のための方法ステップの一例を示す。
【図６】図６は、図１の産業コンピューティング装置における遠隔のデータ検索のための方法ステップの一例を示す。
【発明を実施するための形態】
【００４８】
図において、同様の符号は、別段の指示がない限り、同様のまたは機能的に等価な要素を示す。
【００４９】
図１は、リアルタイムオペレーティングシステム（ＲＴＯＳ）１０と汎用オペレーティングシステム（ＧＰＯＳ）２０との間のセキュアな通信を行うための産業コンピューティング装置１を示す。
【００５０】
ＲＴＯＳ１０およびＧＰＯＳ２０は、産業コンピューティング装置１（単一のコンピューティング装置として働く）の中に設けられる。ハイパーバイザ（ｈｙｐｅｒｖｉｓｏｒ）とも呼ばれる仮想マシンモニタ３は、ＲＴＯＳ１０とＧＰＯＳ２０とを分離（符号２によって示す）する。ＲＴＯＳ１０はマシンネットワークと通信し、ＧＰＯＳ２０はマシン・トゥ・マシン（Ｍ２Ｍ）のネットワークと通信する。
【００５１】
ＲＴＯＳ１０は、第１のオープンプラットフォーム通信インタフェース１１を含む。ＲＴＯＳ１０は、インタフェース１１を介してイーサネット１３と直接通信することができ、それによって、ＲＦＩＤデバイス１５、温度コントローラ１６、コントローラ１７、またはＨＭＩデバイス１８のような、異なるデバイスと通信することができる。あるいは、インタフェース１１は、コントローラファームウェア１２を介してＲＴＯＳ１０をイーサネット１４に接続してもよく、それによって、デバイス１５〜１８に接続してもよい。
【００５２】
ＧＰＯＳ２０は、第２のオープンプラットフォーム通信インタフェース２１を含む。ＧＰＯＳ２０は、インタフェース２１を介してイーサネット２２と直接通信することができ、それによって、ＨＭＩデバイス２３、企業資源計画（Ｅｎｔｅｒｐｒｉｓｅ−Ｒｅｓｏｕｒｃｅ−Ｐｌａｎｎｉｎｇ  （ＥＲＰ））デバイス２４、製造実行システム（ｍａｎｕｆａｃｔｕｒｉｎｇ  ｅｘｅｃｕｔｉｏｎ  ｓｙｓｔｅｍｓ  （ＭＥＳ））２５またはクラウドシステム２６のような、異なるデバイスと通信することができる。
【００５３】
第１および第２のオープンプラットフォーム通信（ＯＰＣ）インタフェース１１および２１は、オープンプラットフォーム通信・統合アーキテクチャ（ＯＰＣ−ＵＡ）としての１つのインタフェース４として実装されてもよい。ＯＰＣ  ＵＡ４自体は、２つのオペレーティングシステム１０，２０を１つのものとして扱ってもよい。Ｍ２Ｍネットワーク側のユーザは、ＧＰＯＳ側の１つのＯＰＣ（すなわちＧＰＯＳのＯＰＣ−ＵＡ２１）のみと対話するであろう。逆に、マシンネットワーク側のユーザは、マシンネットワーク側の１つのＯＰＣ（すなわちＲＴＯＳのＯＰＣ−ＵＡ１１）のみと対話するであろう。
【００５４】
ＲＴＯＳ１０とＧＰＯＳ２０との間でデータを交換するために、仮想マシンモニタ３は、ソフトウェアバス５を介した通信経路を確立することができる。
【００５５】
ユーザが、Ｍ２ＭネットワークからＲＴＯＳ１０の要素（ｅｌｅｍｅｎｔ）と対話することを望む場合、その命令は、接続を容易にするプロトコルを介してＯＰＣ−ＵＡ２１に与えられるであろう。この実施形態において、接続は、イーサネットネットワーク２２を介したイーサネット接続であるが、それには限定されない。ＯＰＣ−ＵＡ２１は、ソフトウェアバス５を介してＯＰＣ−ＵＡ１１と通信するであろう。
【００５６】
ソフトウェアバス５の構造の模式的ブロック図を、図２に示す。
ソフトウェアバス５は、２つのプロトコル、すなわちパラレルデータバス（Ｐｂｕｓ）３３およびリクエスト／レスポンス・デュアルバス（ＲＲＢｕｓ）３６、を実装する。
【００５７】
ＯＰＣ−ＵＡ１１は、証明書を使用して、ＲＲＢｕｓ３６を介するセキュアにされた接続をセットアップしてもよい。ひとたびセットアップされると、ＯＰＣ−ＵＡ１１は、Ｐｂｕｓ３３のセキュアにされた接続３５を介して、リクエストをＯＰＣ−ＵＡ２１に渡すであろう。同様に、レスポンスは、Ｐｂｕｓ３３のこのセキュアにされた接続３４を介して返されるであろう。
【００５８】
リクエストおよびレスポンスは、ＧＰＯＳ２０側ではソフトウェアバス・クライアントインタフェース３１を介して、および、ＲＴＯＳ１０側ではソフトウェアバス・サーバインタフェース３２を介して、扱われてもよい。
【００５９】
データのリクエストおよび検索の異なる筋道について、図３〜６を参照して、以下に記載することとする。なお、以下では、プロセスは、ＧＰＯＳ２０からスタートしてＲＴＯＳ１０からデータを検索するように記載されるが、記載されたステップを逆にすることも可能である。
【００６０】
最初に、ＧＰＯＳ２０とＲＴＯＳ１０との間の接続が、図３に示すように確立されるであろう。
【００６１】
ステップＳ１において、接続のリクエストは、ＯＰＣ−ＵＡ２１からソフトウェアバス・クライアントインタフェース３１に供給される。ステップＳ２において、このリクエストは、ソフトウェアバス・クライアントインタフェース３１からソフトウェアバス・サーバインタフェース３２へ、ソフトウェアバス５を介して転送される。ソフトウェアバス５は、リクエストを検証する、すなわち、ステップＳ３において、情報および添付された証明書を確証してもよい。
【００６２】
ステップＳ４において、レスポンスは、ソフトウェアバス・サーバインタフェース３２からソフトウェアバス・クライアントインタフェース３１に送られ、その後、ステップＳ５において、ＯＰＣ−ＵＡ２１に転送される。
【００６３】
ステップＳ６において、ソフトウェアバス・サーバインタフェース３２からのレスポンスは、ＯＰＣ−ＵＡ２１で検証されてもよく、接続（すなわちセキュアな通信のための通信経路）が確立される。
【００６４】
図４では、データの翻訳（サブスクリプションとも呼ばれる）を開始するための方法ステップが記載される。
【００６５】
ステップＳ１０において、サブスクリプションを開始するためのリクエストが、ＯＰＣ−ＵＡ２１からソフトウェアバス・クライアントインタフェース３１に供給される。ステップＳ１１において、このリクエストは、ソフトウェアバス・クライアントインタフェース３１からソフトウェアバス・サーバインタフェース３２に、ソフトウェアバス５を介して転送される。ステップＳ１２において、ソフトウェアバス・サーバインタフェース３２は、ＯＰＣ−ＵＡ１１にリクエストを転送する。
【００６６】
続いて、ステップＳ１３において、リクエストされたデータは、サブスクライブされ、Ｐｂｕｓ３３にマッピングされる。これは、リクエストされたデータが、ＧＰＯＳ２０の言語に翻訳され、次に、Ｐｂｕｓ３３中の位置がデータにマッピングされることを意味する。任意の前のステップＳ１８において、データはＯＰＣ−ＵＡ１１において検索されてもよい。
【００６７】
サブスクライブされたデータの位置を示すレスポンスは、ステップＳ１４において、ＯＰＣ−ＵＡ１１から送られ、ステップＳ１５において、ソフトウェアバス・サーバインタフェース３２からソフトウェアバス・クライアントインタフェース３１に送られ、その後、ステップＳ１６において、ＯＰＣ−ＵＡ２１に転送される。
【００６８】
ステップＳ１７において、サブスクライブされたデータは、ＯＰＣ−ＵＡ２１においてＰｂｕｓ３３から検索されてもよい。
【００６９】
図５では、データのローカルな検索のための方法ステップが記載される。
ステップＳ２０において、検索されるデータ（すなわちユーザによってリクエストされたデータ）がサブスクライブされた形式で既に入手可能であるかどうかが、ＯＰＣ−ＵＡ２１においてチェックされる。
【００７０】
それがそうである場合、ステップＳ２１において、上記のＰｂｕｓ３３中の位置からデータを検索することができる。
【００７１】
リクエストされたデータがサブスクライブされた形式で入手可能ではない場合、ステップＳ２２において、データを検索するリクエストが、ＯＰＣ−ＵＡ２１からソフトウェアバス・クライアントインタフェース３１に与えられる。ステップＳ２３において、このリクエストは、ソフトウェアバス５を介してソフトウェアバス・クライアントインタフェース３１からソフトウェアバス・サーバインタフェース３２に転送される。ステップＳ２４において、ソフトウェアバス・サーバインタフェース３２は、ＯＰＣ−ＵＡ１１にリクエストを転送する。
【００７２】
続いて、ステップＳ２５において、リクエストされたデータは、ＯＰＣ−ＵＡ１１によって、ローカルにＲＴＯＳから検索される。
【００７３】
検索データを含むレスポンスは、ステップＳ２６において、ＯＰＣ−ＵＡ１１からソフトウェアバス・サーバインタフェース３２に送られ、ステップＳ２７において、ソフトウェアバス・サーバインタフェース３２からソフトウェアバス・クライアントインタフェース３１に送られ、その後、ステップＳ２８において、ＯＰＣ−ＵＡ２１に転送される。
【００７４】
リクエスト時にＲＴＯＳ１０でデータが入手可能でない場合、図６に示されるステップＳ２５ａおよびＳ２５ｂ（図５の方法とはステップ２５、２５ａ、２５ｂのみが異なる）において、ＯＰＣ−ＵＡ１１は、適切なプロトコル（限定されないが例えばＥｔｈｅｒＣＡＴまたはＥｔｈｅｒＮｅｔ／ＩＰ）を介して、接続されている遠隔デバイス４０から情報を集めるであろう。
【００７５】
データがひとたびＯＰＣ−ＵＡ１１に返されると、ＯＰＣ−ＵＡ１１は、図５に記載されるように、ＲＲｂｕｓ３６を介してＯＰＣ−ＵＡ２１にレスポンスデータを転送するであろう。
【００７６】
ここに記載された産業コンピューティング装置１および方法を使用して、１つの単一コンピューティング装置に含まれる異なるオペレーティングシステム間のセキュアな通信を提供することが可能である。
【００７７】
本発明は好ましい実施形態に従って記載されたが、すべての実施形態において変更が可能であることは当業者に明らかである。
【符号の説明】
【００７８】
１  産業コンピューティング装置
２  分離
３  仮想マシンモニタ
４  ＯＰＣ−ＵＡ
５  ソフトウェアバス
１０  ＲＴＯＳ
１１  ＯＰＣ−ＵＡ
１２  コントローラファームウェア
１３、１４、２２  イーサネット
１５  ＲＦＩＤデバイス
１６  温度コントローラ
１７  コントローラ
１８、２３  ＨＭＩデバイス
２０  ＧＰＯＳ
２１  ＯＰＣ−ＵＡ
２４  ＥＲＰ
２５  ＭＥＳ
２６  クラウドシステム
３１  ソフトウェアバス・クライアントインタフェース
３２  ソフトウェアバス・サーバインタフェース
３３、３４、３５  パラレルデータバス
３６  リクエスト・レスポンス・バス
Ｓ１〜Ｓ６、Ｓ１０〜Ｓ１８、Ｓ２０〜Ｓ２８  方法ステップ
【図１】
2019523951.tif 000003
【図２】
2019523951.tif 000004
【図３】
2019523951.tif 000005
【図４】
2019523951.tif 000006
【図５】
2019523951.tif 000007
【図６】
2019523951.tif 000008
【手続補正書】
【提出日】平成30年12月18日(2018.12.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リアルタイムオペレーティングシステム（１０）と汎用オペレーティングシステム（２０）との間のセキュアな通信を行う方法であって、前記リアルタイムオペレーティングシステム（１０）および前記汎用オペレーティングシステム（２０）は、単一のコンピューティング装置（１）の中に設けられ且つ仮想マシンモニタ（３）によって分離されており、前記リアルタイムオペレーティングシステム（１０）は第１のオープンプラットフォーム通信インタフェース（１１）を含み、前記汎用オペレーティングシステム（２０）は第２のオープンプラットフォーム通信インタフェース（２１）を含み、前記方法は、
前記第１または第２のオープンプラットフォーム通信インタフェース（１１，２１）を介して、ユーザから、前記汎用オペレーティングシステム（２０）から前記リアルタイムオペレーティングシステム（１０）のデータにアクセスする、または、前記リアルタイムオペレーティングシステム（１０）から前記汎用オペレーティングシステム（２０）のデータにアクセスするリクエストを前記仮想マシンモニタ（３）で受信すること、
前記リクエストに従って前記第１および第２のオープンプラットフォーム通信インタフェース（１１，２１）の間のソフトウェアバス（５）を介するセキュアな通信経路を確立すること、および、
前記データにアクセスするための前記確立されたセキュアな通信経路を介して、前記リアルタイムオペレーティングシステム（１０）と前記汎用オペレーティングシステム（２０）との間のセキュアな通信を行うこと、を含む、方法。
【請求項２】
前記セキュアな通信経路は、第１および第２の通信プロトコルを使用する、請求項１に記載の方法。
【請求項３】
前記第１の通信プロトコルはパラレルデータバス用の通信プロトコルであり、前記第２の通信プロトコルはリクエスト／レスポンス・デュアルバス用のプロトコルである、請求項２に記載の方法。
【請求項４】
前記セキュアな通信は、証明書および／または署名を使用する通信である、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記セキュアな通信は暗号化通信である、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記リアルタイムオペレーティングシステム（１０）の前記データまたは前記汎用オペレーティングシステム（２０）の前記データは、前記ソフトウェアバス（５）を介して、サブスクライブされたデータとして入手可能である、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記データにアクセスするための前記セキュアな通信は、アクセスされる前記データが属する前記リアルタイムオペレーティングシステム（１０）または前記汎用オペレーティングシステム（２０）へのアクセスなしで、前記サブスクライブされたデータへのダイレクトアクセスとして行われる、請求項６に記載の方法。
【請求項８】
前記リアルタイムオペレーティングシステム（１０）の前記データまたは前記汎用オペレーティングシステム（２０）の前記データは、前記リアルタイムオペレーティングシステム（１０）または前記汎用オペレーティングシステム（２０）で入手可能である、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記データにアクセスするための前記セキュアな通信は、アクセスされる前記データが属する前記リアルタイムオペレーティングシステム（１０）または前記汎用オペレーティングシステム（２０）、へのアクセスとして行われる、請求項８に記載の方法。
【請求項１０】
前記データにアクセスするための前記確立されたセキュアな通信経路を介して前記リアルタイムオペレーティングシステム（１０）と前記汎用オペレーティングシステム（２０）との間の前記セキュアな通信を行うことは、
アクセスされる前記データが属する前記リアルタイムオペレーティングシステム（１０）または汎用オペレーティングシステム（２０）に接続されているデバイスから前記データを検索すること、および、
アクセスされる前記データが属する前記リアルタイムオペレーティングシステム（１０）または前記汎用オペレーティングシステム（２０）を介して前記データにアクセスすること、を含む、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
少なくとも１つのコンピュータ上で実行されたときに請求項１〜１０のいずれか１項に記載の方法を実施するためのプログラムコードを含む、コンピュータプログラム。
【請求項１２】
リアルタイムオペレーティングシステム（１０）と汎用オペレーティングシステム（２０）との間のセキュアな通信を行うための産業コンピューティング装置であって、前記産業コンピューティング装置は、
単一のコンピューティング装置としての前記産業コンピューティング装置に設けられたリアルタイムオペレーティングシステム（１０）および汎用オペレーティングシステム（２０）と、
前記リアルタイムオペレーティングシステム（１０）と前記汎用オペレーティングシステム（２０）とを分離するための仮想マシンモニタ（３）であって、前記リアルタイムオペレーティングシステム（１０）は第１のオープンプラットフォーム通信インタフェース（１１）を含み前記汎用オペレーティングシステム（２０）は第２のオープンプラットフォーム通信インタフェース（２１）を含む、仮想マシンモニタ（３）と、を含み、
前記仮想マシンモニタ（３）は、前記第１または第２のオープンプラットフォーム通信インタフェース（１１，２１）を介して、ユーザから、前記汎用オペレーティングシステム（２０）から前記リアルタイムオペレーティングシステム（１０）のデータにアクセスする、または、前記リアルタイムオペレーティングシステム（１０）から前記汎用オペレーティングシステム（２０）のデータにアクセスするリクエストを受信し、前記リクエストに従って前記第１および第２のオープンプラットフォーム通信インタフェース（１１，２１）の間のソフトウェアバス（５）を介するセキュアな通信経路を確立し、そして、前記確立されたセキュアな通信経路を介して前記リアルタイムオペレーティングシステム（１０）と前記汎用オペレーティングシステム（２０）との間のセキュアな通信を行うように構成されている、装置。
【請求項１３】
前記第１のオープンプラットフォーム通信インタフェース（１１）および／または前記第２のオープンプラットフォーム通信インタフェース（２１）は、オープンプラットフォーム通信・統合アーキテクチャの中に設けられる、請求項１２に記載の装置。
【請求項１４】
前記第１のオープンプラットフォーム通信インタフェース（１１）および／または前記第２のオープンプラットフォーム通信インタフェース（２１）は、パブリッシュ・サブスクライブ・インタフェースである、請求項１２または１３に記載の装置。
【請求項１５】
前記第１のオープンプラットフォーム通信インタフェース（１１）および／または前記第２のオープンプラットフォーム通信インタフェース（２１）は、クライアント／サーバ・インタフェースである、請求項１２〜１４のいずれか１項に記載の装置。
【請求項１６】
請求項１２〜１５のいずれか１項に記載の産業コンピューティング装置を含む産業通信システム。
【国際調査報告】
2019523951.tif 000009
2019523951.tif 000010