(57)【要約】  第１のアプリケーション（７０）向けの第１のインターフェースを提供する第１のインターフェース提供部（２０）と、ＲＰＣ変換中継機能部（４０）と、第２のアプリケーション（８０）向けの第２のインターフェースを提供する第２のインターフェース提供部（３０）とを備える。第１のアプリケーション（７０）からのＲＰＣの処理要求を、第１のインターフェース提供部（２０）が受け取り、ＲＰＣを、ＲＰＣ変換中継機能部（４０）において、第２のアプリケーション（８０）のＲＰＣに変換して第２のインターフェース提供部（３０）へ出力することによって、第１のアプリケーション（７０）と第２のアプリケーション（８０）との間でＲＰＣを中継する。
2018116933.tif 000002
【特許請求の範囲】
【請求項１】
互いにプロトコルの異なる第１のアプリケーションと第２のアプリケーションとの中継を行うＲＰＣ変換処理システムであって、
前記第１のアプリケーションに接続され、前記第１のアプリケーション向けの第１のインターフェースを提供する第１のインターフェース提供部と、
ＲＰＣ変換中継機能部と、
前記第２のアプリケーションに接続され、前記第２のアプリケーション向けの第２のインターフェースを提供する第２のインターフェース提供部とを備え、
前記第１のアプリケーションからのＲＰＣの処理要求を、前記第１のインターフェース提供部が受け取り、前記ＲＰＣを、前記ＲＰＣ変換中継機能部において、前記第２のアプリケーションのＲＰＣに変換して前記第２のインターフェース提供部へ出力することによって、前記第１のアプリケーションと前記第２のアプリケーションとの間でＲＰＣを中継するようにした、ＲＰＣ変換処理システム。
【請求項２】
前記第１のインターフェース提供部と、前記ＲＰＣ変換中継機能部と、前記第２のインターフェース提供部とが同じコンテナまたは仮想マシン内に含まれる、請求項１に記載のＲＰＣ変換処理システム。
【請求項３】
前記第１のアプリケーションと前記第２のアプリケーションとを含む、請求項１に記載のＲＰＣ変換処理システム。
【請求項４】
前記第１のインターフェース提供部、前記第２のインターフェース提供部、およびＲＰＣ変換中継機能部における設定情報の生成元となる共通の情報である共通データ構造生成元情報を記憶する記憶部と、
前記共通データ構造生成元情報に基づいて、前記第１のインターフェース提供部および前記ＲＰＣ変換中継機能部へ提供される第１の設定情報を生成する第１の設定情報生成部と、
前記共通データ構造生成元情報に基づいて、前記第２のインターフェース提供部および前記ＲＰＣ変換中継機能部へ提供される第２の設定情報を生成する第２の設定情報生成部とをさらに備えた、請求項１に記載のＲＰＣ変換処理システム。
【請求項５】
前記共通データ構造生成元情報が更新された場合、前記第１の設定情報生成部は、前記更新された共通データ構造生成元情報に基づいて、前記第１の設定情報を更新し、前記第２の設定情報生成部は、前記更新された共通データ構造生成元情報に基づいて、前記第２の設定情報を更新する、請求項４に記載のＲＰＣ変換処理システム。
【請求項６】
前記共通データ構造生成元情報は、規定したデータモデルの情報、または、前記データモデルの一部に関するリレーションの情報を含み、
前記第１の設定情報は、前記第１のアプリケーションに接続するためのプロトコルおよびネットワークに応じて前記第１のインターフェースを定義し、
前記第２の設定情報は、前記第２のアプリケーションに接続するためのプロトコルおよびネットワークに応じて前記第２のインターフェースを定義する、請求項４に記載のＲＰＣ変換処理システム。
【請求項７】
前記第１のインターフェース提供部、前記第２のインターフェース提供部、およびＲＰＣ変換中継機能部における設定情報の生成元となる共通の情報である共通データ構造生成元情報を記憶する記憶部と、
前記共通データ構造生成元情報に基づいて、前記第１のインターフェース提供部および前記ＲＰＣ変換中継機能部へ提供される第１の設定情報を生成する第１の設定情報生成部と、
前記第１の設定情報に基づいて、前記第２のインターフェース提供部および前記ＲＰＣ変換中継機能部へ提供される第２の設定情報を生成する第２の設定情報生成部とをさらに備えた、請求項１に記載のＲＰＣ変換処理システム。
【請求項８】
前記共通データ構造生成元情報は、規定したデータモデルの情報、または、前記データモデルの一部に関するリレーションの情報を含み、
前記第１の設定情報は、前記第１のアプリケーションに接続するためのプロトコルおよびネットワークに応じて前記第１のインターフェースを定義し、
前記第２の設定情報は、前記第２のアプリケーションに接続するためのプロトコルおよびネットワークに応じて前記第２のインターフェースを定義する、請求項７に記載のＲＰＣ変換処理システム。
【請求項９】
前記共通データ構造生成元情報に基づいて、前記第１のインターフェース提供部、前記第２のインターフェース提供部、前記ＲＰＣ変換中継機能部のためのソフトウェアのいずれかまたは任意の組み合わせまたは全てを生成する、請求項７に記載のＲＰＣ変換処理システム。
【請求項１０】
前記共通データ構造生成元情報が更新された場合、前記第１の設定情報生成部は、前記更新された共通データ構造生成元情報に基づいて、前記第１の設定情報を更新し、前記第２の設定情報生成部は、前記更新された第１の設定情報に基づいて、前記第２の設定情報を更新する、請求項７に記載のＲＰＣ変換処理システム。
【請求項１１】
互いにプロトコルの異なる第１のアプリケーションと第２のアプリケーションとの中継を、ＲＰＣ変換処理システムによって実施されるＲＰＣ変換処理方法であって、
前記ＲＰＣ変換処理システムが、
前記第１のアプリケーションからのＲＰＣの処理要求を受け取り、前記ＲＰＣを、前記第２のアプリケーションのＲＰＣに変換し、前記第２のアプリケーションへ提供することによって、前記第１のアプリケーションと前記第２のアプリケーションとの間でＲＰＣを中継するようにした、ＲＰＣ変換処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＩｏＴのように、異なるプロトコルやネットワーク上のアプリケーションやデバイス等のホストが接続されたデータ処理システムに適用され、プロトコルやネットワークの異なるホスト間でのデータ処理および制御を可能とするためのＲＰＣ変換処理システムおよびＲＰＣ変換方法に関する。
【背景技術】
【０００２】
近年、様々なセンサ、デバイス等とネットワークとを接続し、データを活用するＩｏＴが注目されている。ＩｏＴでは多種多数のセンサ、デバイス等からデータを収集することから、様々なセンサ、デバイス等の生成するデータを、共通のデータ処理システムが処理するためのインターフェース（以下、「Ｉ／Ｆ」と称する）が必要となる。【０００３】
さらに、これらのセンサ、デバイス等から収集したデータは、多数のアプリケーションにおいて利用されるが、アプリケーション毎に個別のＩ／Ｆを準備することはコストが大きいことから、様々なアプリケーションに対して共通のデータ処理システムがデータを提供するためのアプリケーション向けＩ／Ｆが必要となる。【０００４】
さらに、ＩｏＴの活用例において、アプリケーションにおいてデータを処理した結果に基づきデバイスを制御するといった用途が考えられ、アプリケーションからデバイスを制御することも必要となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１１０３１８号公報
【発明の開示】
【０００６】
しかしながら、既存のアプリケーションの多くはＨＴＴＰ等のプロトコルを用いてサーバに対してｒｅｑｕｅｓｔ、ｒｅｓｐｏｎｓｅのやり取りを行うものが一般的である。
【０００７】
それに対して、デバイスが通信に用いるプロトコルは、レガシーなプロトコルも含めて多岐にわたり、必ずしもＨＴＴＰによる通信が可能とは限らない。また、多数のアプリケーションが同時に多数のデバイスのデータを利用する場合や、様々なデバイスのデータを１箇所に集約して活用する場合には、アプリケーションとデバイスが、異なるネットワーク上に存在し、中間サーバ等を介して通信を行うシステム構成をとる場合もある。
【０００８】
このように、異なるプロトコルやネットワーク上のアプリケーションからデバイス等を制御することは従来の単独のＲＰＣ等の技術では困難であるという問題がある。特に、ＩｏＴ分野では、様々なアプリケーションとデバイスとの間で柔軟にデータ処理や制御等を実施したいという要求があるが、アプリケーションとデバイスは多くの場合異なるプロトコルやネットワークを利用するため、単一のプロトコルのＲＰＣ等によるデータ処理や制御が難しいという事情がある。
【０００９】
また、ＩｏＴシステムでは様々なセンサ／デバイス／アプリケーションがシステムに接続され、その接続構成やデータの種類が変更される場合があるため、データモデル等の共通情報の更新が発生する。データモデル等の共通情報の更新時にはＲＰＣ変換ソフトウェアならびにアプリケーションやデバイス向けのＲＰＣ  Ｉ／Ｆを規定し、開発する必要が生じる場合があり、更新のたびに生じうるこれらのＩ／Ｆの整合性の維持や、ソフトウェア等の間の一貫性の確認のための負担が大きいという問題もある。
【００１０】
本発明のＲＰＣ変換処理システムおよびＲＰＣ変換方法は、このような事情に鑑みてなされたものであり、その第１の目的は、互いに異なるプロトコルやネットワーク間でのＲＰＣ  Ｉ／Ｆを規定し、アプリケーションの用いるプロトコルのＲＰＣを、デバイス等の用いるプロトコルのＲＰＣに変換／中継して制御を行うことにある。
【００１１】
また、その第２の目的は、データモデル等の共通情報が更新された場合、ＲＰＣ変換ソフトウェアならびにアプリケーション／デバイス向けのＩ／Ｆを自動的に生成することによって、ＲＰＣ変換ソフトウェアならびにＩ／Ｆの整合性の維持や、ソフトウェア等の間の一貫性の確認のための負担を軽減することにある。
【００１２】
上記目的を達成するための本発明の第１の観点は、互いにプロトコルの異なる第１のアプリケーションと第２のアプリケーションとの中継を行うＲＰＣ変換処理システムであって、第１のアプリケーションに接続され、第１のアプリケーション向けの第１のインターフェースを提供する第１のインターフェース提供部と、ＲＰＣ変換中継機能部と、第２のアプリケーションに接続され、第２のアプリケーション向けの第２のインターフェースを提供する第２のインターフェース提供部とを備える。第１のアプリケーションからのＲＰＣの処理要求を、第１のインターフェース提供部が受け取り、ＲＰＣを、ＲＰＣ変換中継機能部において、第２のアプリケーションのＲＰＣに変換して第２のインターフェース提供部へ出力することによって、第１のアプリケーションと第２のアプリケーションとの間でＲＰＣを中継する。
【００１３】
本発明の第２の観点は、第１の観点のＲＰＣ変換処理システムにおいて、第１のインターフェース提供部と、ＲＰＣ変換中継機能部と、第２のインターフェース提供部とが同じコンテナまたは仮想マシン内に含まれる。
【００１４】
本発明の第３の観点は、第１の観点のＲＰＣ変換処理システムにおいて、第１のアプリケーションと第２のアプリケーションとを含む。
【００１５】
本発明の第４の観点は、第１の観点のＲＰＣ変換処理システムにおいて、第１のインターフェース提供部、第２のインターフェース提供部、およびＲＰＣ変換中継機能部における設定情報の生成元となる共通の情報である共通データ構造生成元情報を記憶する記憶部と、共通データ構造生成元情報に基づいて、第１のインターフェース提供部およびＲＰＣ変換中継機能部へ提供される第１の設定情報を生成する第１の設定情報生成部と、共通データ構造生成元情報に基づいて、第２のインターフェース提供部およびＲＰＣ変換中継機能部へ提供される第２の設定情報を生成する第２の設定情報生成部とをさらに備える。
【００１６】
本発明の第５の観点は、第４の観点のＲＰＣ変換処理システムにおいて、共通データ構造生成元情報が更新された場合、第１の設定情報生成部は、更新された共通データ構造生成元情報に基づいて、第１の設定情報を更新し、第２の設定情報生成部は、更新された共通データ構造生成元情報に基づいて、第２の設定情報を更新する。
【００１７】
本発明の第６の観点は、第４の観点のＲＰＣ変換処理システムにおいて、共通データ構造生成元情報は、規定したデータモデルの情報、または、データモデルの一部に関するリレーションの情報を含み、第１の設定情報は、第１のアプリケーションに接続するためのプロトコルおよびネットワークに応じて第１のインターフェースを定義し、第２の設定情報は、第２のアプリケーションに接続するためのプロトコルおよびネットワークに応じて第２のインターフェースを定義する。
【００１８】
本発明の第７の観点は、第１の観点のＲＰＣ変換処理システムにおいて、第１のインターフェース提供部、第２のインターフェース提供部、およびＲＰＣ変換中継機能部における設定情報の生成元となる共通の情報である共通データ構造生成元情報を記憶する記憶部と、共通データ構造生成元情報に基づいて、第１のインターフェース提供部およびＲＰＣ変換中継機能部へ提供される第１の設定情報を生成する第１の設定情報生成部と、第１の設定情報に基づいて、第２のインターフェース提供部およびＲＰＣ変換中継機能部へ提供される第２の設定情報を生成する第２の設定情報生成部とをさらに備える。
【００１９】
本発明の第８の観点は、第７の観点のＲＰＣ変換処理システムにおいて、共通データ構造生成元情報は、規定したデータモデルの情報、または、データモデルの一部に関するリレーションの情報を含み、第１の設定情報は、第１のアプリケーションに接続するためのプロトコルおよびネットワークに応じて第１のインターフェースを定義し、第２の設定情報は、第２のアプリケーションに接続するためのプロトコルおよびネットワークに応じて第２のインターフェースを定義する。
【００２０】
本発明の第９の観点は、第７の観点のＲＰＣ変換処理システムにおいて、共通データ構造生成元情報に基づいて、第１のインターフェース提供部、第２のインターフェース提供部、ＲＰＣ変換中継機能部のためのソフトウェアのいずれかまたは任意の組み合わせまたは全てを生成する。
【００２１】
本発明の第１０の観点は、第７の観点のＲＰＣ変換処理システムにおいて、共通データ構造生成元情報が更新された場合、第１の設定情報生成部は、更新された共通データ構造生成元情報に基づいて、第１の設定情報を更新し、第２の設定情報生成部は、更新された第１の設定情報に基づいて、第２の設定情報を更新する。
【００２２】
本発明の第１１の観点は、互いにプロトコルの異なる第１のアプリケーションと第２のアプリケーションとの中継を、ＲＰＣ変換処理システムによって実施されるＲＰＣ変換処理方法であって、ＲＰＣ変換処理システムが、第１のアプリケーションからのＲＰＣの処理要求を受け取り、ＲＰＣを、第２のアプリケーションのＲＰＣに変換し、第２のアプリケーションへ提供することによって、第１のアプリケーションと第２のアプリケーションとの間でＲＰＣを中継する。
【００２３】
本発明のＲＰＣ変換処理システムおよびＲＰＣ変換方法によれば、互いに異なるプロトコルやネットワーク上のアプリケーションが接続されたデータ処理システムにおいて、プロトコルやネットワークの異なるホスト間でのデータ処理や制御が可能となる。
【００２４】
また、データモデル等の共通情報が更新された場合、ＲＰＣ変換ソフトウェアならびにアプリケーション向けのＩ／Ｆの整合性の維持や、ソフトウェア等の間の一貫性の確認のための負担を軽減することが可能となる。
【図面の簡単な説明】
【００２５】
【図１】第１の実施形態のＲＰＣ変換方法が適用されたＲＰＣ変換処理システムの構成例を示す概念図である。
【図２】第２の実施形態のＲＰＣ変換方法が適用されたＲＰＣ変換処理システムの構成例を示す概念図である。
【図３】第２の実施形態のＲＰＣ変換方法が適用されたＲＰＣ変換処理システムの変形例を説明するための概念図である。
【図４】ＲＰＣ変換処理システムの実施例を説明するための概念図である。
【図５】ＲＰＣ変換処理システムによってなされるＲＰＣ変換の処理の流れを示すフローチャートである。
【図６】ＲＰＣ変換処理システムによってなされるＲＰＣ  Ｉ／ＦおよびＲＰＣ変換ソフトウェアの自動生成時の処理の流れを示すフローチャートである。
【図７】ＲＰＣ変換処理システムの実施例の変形例を説明するための概念図である。
【発明を実施するための最良の形態】
【００２６】
以下に、本発明の実施形態のＲＰＣ変換方法が適用されたＲＰＣ変換処理システムを、図面を参照して説明する。【００２７】
（第１の実施形態）  
図１は、本発明の第１の実施形態のＲＰＣ変換方法が適用されたＲＰＣ変換処理システムの構成例を示す概念図である。【００２８】
このＲＰＣ変換処理システム１０は、互いにプロトコルの異なるアプリケーション等ホスト７０とアプリケーション等ホスト８０との間の中継を行うためのシステムであって、アプリケーション向けインターフェース（Ｉ／Ｆ）提供部２０、３０と、ＲＰＣ変換中継機能部４０とを備える。【００２９】
アプリケーション向けＩ／Ｆ提供部２０は、アプリケーションやセンサ、デバイス等をホストする、あるいは、アプリケーションやセンサ、デバイス等自身であるアプリケーション等ホスト７０に接続され、アプリケーション等ホスト７０向けのインターフェースやＡＰＩ等を提供する。また、アプリケーション等ホスト７０からのＲＰＣの処理要求を受け取り、ＲＰＣ変換中継機能部４０へ出力する。【００３０】
ＲＰＣ変換中継機能部４０は、アプリケーション向けＩ／Ｆ提供部２０から出力されたＲＰＣを、アプリケーション等ホスト８０のためのＲＰＣに変換して、アプリケーション向けＩ／Ｆ提供部３０へ中継する。【００３１】
したがって、ＲＰＣ変換処理システム１０では、ＲＰＣ変換中継機能部４０を境として、ＲＰＣ変換中継機能部４０よりもアプリケーション向けＩ／Ｆ提供部２０側では、アプリケーション等ホスト７０によって使用されるネットワークまたはプロトコルが使用され、ＲＰＣ変換中継機能部４０よりもアプリケーション向けＩ／Ｆ提供部３０側では、アプリケーション等ホスト８０によって使用されるネットワークまたはプロトコルが使用される。【００３２】
アプリケーション向けＩ／Ｆ提供部３０は、アプリケーションやセンサ、デバイス、デバイスドライバ／プロトコルコンバータ等をホストする、あるいは、アプリケーションやセンサ、デバイス、デバイスドライバ／プロトコルコンバータ等自身であるアプリケーション等ホスト８０に接続され、アプリケーション等ホスト８０向けのインターフェースを提供する。また、ＲＰＣ変換中継機能部４０によって中継されたＲＰＣを、アプリケーション等ホスト８０へ提供する。【００３３】
ＲＰＣ変換処理システム１０は、このようにして、２つのアプリケーション向けＩ／Ｆ提供部２０、３０の間に、ＲＰＣ変換中継機能部４０を介したシステム構成によって、例えばアプリケーション等ホスト７０とアプリケーション等ホスト８０との間のように、異なるプロトコル／ネットワーク上のアプリケーションとデバイスとの間で、ＲＰＣを変換し中継する処理を行う。【００３４】
上述したような構成によって、本実施形態のＲＰＣ変換方法が適用されたＲＰＣ変換処理システム１０によれば、異なるプロトコル／ネットワーク間でのＲＰＣの変換および中継によって、異なるプロトコル／ネットワーク間での柔軟なデータ処理や、例えば、デバイスを、異なるプロトコル／ネットワークのアプリケーションから制御すること等が可能となる。【００３５】
（第２の実施形態）  
図２は、本発明の第２の実施形態のＲＰＣ変換方法が適用されたＲＰＣ変換処理システムの構成例を示す概念図である。【００３６】
図２に示すＲＰＣ変換処理システム１２は、図１に示すＲＰＣ変換処理システム１０と同じ部位については、同一番号を付し、以下では、重複説明を避け、異なる点について説明する。【００３７】
すなわち、ＲＰＣ変換処理システム１２は、ＲＰＣ変換処理システム１０に、共通データ構造生成元情報記憶部５０と、設定情報生成部６０と、設定情報生成部６２とを付加した構成としている。【００３８】
共通データ構造生成元情報記憶部５０は、アプリケーション向けＩ／Ｆ提供部２０、３０、およびＲＰＣ変換中継機能部４０における設定情報の生成元となる共通の情報である共通データ構造生成元情報を記憶する。【００３９】
設定情報生成部６０は、共通データ構造生成元情報記憶部５０に記憶された共通データ構造生成元情報に基づいて、アプリケーション向けＩ／Ｆ提供部２０およびＲＰＣ変換中継機能部４０へ提供される第１の設定情報を生成する。【００４０】
第１の設定情報は、アプリケーション等ホスト７０に接続するアプリケーションのプロトコル／ネットワークに応じたＲＰＣ  Ｉ／Ｆ２２を定義する。ＲＰＣ変換中継機能部４０は、ＲＰＣ  Ｉ／Ｆ２２と同一のＩ／ＦであるＲＰＣ  Ｉ／Ｆ４２を備えている。第１の設定情報はまた、ＲＰＣ変換中継機能部４０のコード（例えば、ＲＰＣ変換ソフトウェア）を自動生成するために使用される。【００４１】
設定情報生成部６２は、設定情報生成部６０によって生成された第１の設定情報に基づいて、アプリケーション向けＩ／Ｆ提供部３０およびＲＰＣ変換中継機能部４０へ提供される第２の設定情報を生成する。【００４２】
第２の設定情報は、アプリケーション等ホスト８０に接続するアプリケーションのプロトコル／ネットワークに応じたＲＰＣ  Ｉ／Ｆ３２を定義する。ＲＰＣ変換中継機能部４０は、ＲＰＣ  Ｉ／Ｆ３２と同一のＩ／ＦであるＲＰＣ  Ｉ／Ｆ４４を備えている。第２の設定情報はまた、ＲＰＣ変換中継機能部４０のコード（例えば、ＲＰＣ変換ソフトウェア）を自動生成するために使用される。【００４３】
上述したような構成によって、本実施形態のＲＰＣ変換方法が適用されたＲＰＣ変換処理システム１２によれば、共通データ構造生成元情報記憶部５０に記憶された共通データ構造生成元情報に基づき、ＲＰＣ  Ｉ／Ｆの定義、および、ＲＰＣ変換ソフトウェアの自動生成のために使用される設定情報が生成される。これによって、ＲＰＣ  Ｉ／Ｆ、ＲＰＣ変換ソフトウェア、および、設定情報間の一貫性を維持することが可能となり、データモデル等の更新に伴う管理稼動を削減することも可能となる。【００４４】
さらに、共通データ構造生成元情報に基づき、一方のプロトコルのＩＤＬ等の情報を生成し、ＩＤＬ等の情報に基づき他方のプロトコルのスキーマ等の情報を生成し、ＩＤＬおよびスキーマ等の情報からＲＰＣ  Ｉ／ＦおよびＲＰＣ変換ソフトウェアまたはその一部を自動生成することにより、複数のプロトコルに対するＲＰＣ  Ｉ／ＦならびにＲＰＣ変換ソフトウェアおよびその設定情報の一貫性を維持する稼動を削減することも可能となる。【００４５】
（変形例）  
図３は、第２の実施形態のＲＰＣ変換方法が適用されたＲＰＣ変換処理システムの変形例を説明するための概念図である。【００４６】
図３に示すＲＰＣ変換処理システム１４の構成は、図２に示すＲＰＣ変換処理システム１２の構成と比べて、第２の設定情報の生成の仕方が異なっている。すなわち、ＲＰＣ変換処理システム１２では、設定情報生成部６２は、第２の設定情報を生成する際に、設定情報生成部６０によって生成された第１の設定情報を考慮している。一方、ＲＰＣ変換処理システム１４では、設定情報生成部６２は、第２の設定情報を生成する際に、設定情報生成部６０によって生成された第１の設定情報を考慮せず、共通データ構造生成元情報記憶部５０に記憶された共通データ構造生成元情報のみを考慮する。【００４７】
このような構成であっても、前述したようなデータモデル等の更新に伴う管理稼動の削減や、複数のプロトコルに対するＲＰＣ  Ｉ／ＦならびにＲＰＣ変換ソフトウェアおよびその設定情報の一貫性を維持する稼動の削減が可能となる。【００４８】
（実施例）  
上述したような各実施形態に対応する具体的な実施例を説明する。【００４９】
図４は、図２に示すＲＰＣ変換処理システム１２の具体例である実施例を説明するための概念図である。【００５０】
したがって、以下の説明では、図２の説明と重複する説明を省く。【００５１】
図４に示す実施例のＲＰＣ変換処理システム１２’では、図２におけるアプリケーション向けＩ／Ｆ提供部２０がアプリケーション向けＡＰＩ提供部２０’として、アプリケーション向けＩ／Ｆ提供部３０がデバイス側Ｉ／Ｆ提供部３０’として、ＲＰＣ変換中継機能部４０が、例えばＲＰＣ  ｄａｅｍｏｎのようなＲＰＣ変換ソフトウェア４０’として実現される。【００５２】
アプリケーション向けＡＰＩ提供部２０’、デバイス側Ｉ／Ｆ提供部３０’、およびＲＰＣ変換ソフトウェア４０’は、ＲＰＣ変換処理システム１２’内の同じコンテナまたは仮想マシン内に含まれていても、あるいはＲＰＣ変換処理システム１２’内の異なるコンテナまたは仮想マシン内に含まれていてもよい。【００５３】
アプリケーション向けＩ／Ｆ提供部３０がデバイス側Ｉ／Ｆ提供部３０’として実現されることに応じて、デバイス側Ｉ／Ｆ提供部３０’には、複数のデバイスドライバ／プロトコルデバイスドライバ／プロトコルコンバータ８２、８６やセンサ／デバイス／デバイスドライバ／プロトコルデバイスドライバ／プロトコルコンバータ８９が接続され、さらにこれらデバイスドライバ／プロトコルデバイスドライバ／プロトコルコンバータ８２、８６にはそれぞれセンサ／デバイス８４、８８が接続されている。【００５４】
また、アプリケーション向けＩ／Ｆ提供部２０’には、複数のアプリケーション７６、７８が接続されている。アプリケーション７６、７８は、ＲＰＣ変換処理システム１２’とは異なる外部のハードウェア上あるいはクラウド上に設けられる。【００５５】
ＲＰＣ変換ソフトウェア４０’を境に、アプリケーション向けＩ／Ｆ提供部２０’側では、ＨＴＴＰのｒｅｑｕｅｓｔ、ｒｅｓｐｏｎｓｅ等によるプロトコル１が使用され、デバイス側Ｉ／Ｆ提供部３０’側では、ＭＱＴＴのｓｕｂｓｃｒｉｂｅ、ｐｕｂｌｉｓｈ等によるプロトコル２が使用される。【００５６】
共通データ構造生成元情報記憶部５０に記憶される共通データ構造生成元情報は、規定したデータモデル等の情報や、データモデルの一部に関するリレーションの情報である。【００５７】
設定情報生成部６０は、このような共通データ構造生成元情報から、アプリケーション７６、７８向けに、ｇＲＰＣのＩＤＬである第１の設定情報を自動生成する。ｇＲＰＣのＩＤＬは、アプリケーション向けＩ／Ｆ提供部２０’におけるＲＰＣ  Ｉ／Ｆ２２、および、ＲＰＣ変換ソフトウェア４０’におけるＲＰＣ  Ｉ／Ｆ４２の自動定義のために使用される。さらに、ｇＲＰＣのＩＤＬは、ＲＰＣ変換ソフトウェア４０’におけるコード（ｇＲＰＣのサーバ／クライアントのソースコード）またはその一部の自動生成のために使用される。【００５８】
設定情報生成部６２は、設定情報生成部６０によって生成されたｇＲＰＣのＩＤＬから、ＭＱＴＴ等のデバイスドライバ／プロトコルデバイスドライバ／プロトコルコンバータ８２、８６のプロトコルのＭＱＴＴ  ＲＰＣスキーマ等である第２の設定情報を自動生成する。また、ＭＱＴＴ  ＲＰＣスキーマは、デバイス側Ｉ／Ｆ提供部３０’におけるＲＰＣ  Ｉ／Ｆ３２、および、ＲＰＣ変換ソフトウェア４０’におけるＲＰＣ  Ｉ／Ｆ４４の自動定義のために使用される。さらに、ＭＱＴＴ  ＲＰＣスキーマは、ＲＰＣ  Ｉ／Ｆ３２、４４のネットワークライブラリおよびＲＰＣ変換ソフトウェア４０’のコードの自動生成のために使用される。【００５９】
アプリケーション７６、７８は、ＨＴＴＰ等のプロトコルを用いてアプリケーション向けＡＰＩ提供部２０’へデータを送信する。【００６０】
デバイス側Ｉ／Ｆ提供部３０’に接続されるデバイスドライバ／プロトコルコンバータ８２、８６は、センサ／デバイス８４、８８と接続し、それらとの間でのデータの形式を変換するデバイスドライバ／プロトコルコンバータ等であってもよい。【００６１】
デバイスドライバ／プロトコルコンバータ８２、８６、およびセンサ／デバイス／デバイスドライバ／プロトコルコンバータ８９と、デバイス側Ｉ／Ｆ提供部３０’とは、ＭＱＴＴ等のプロトコルを用いて通信を行ってもよい。【００６２】
アプリケーション７６、７８からのＨＴＴＰ等のプロトコルによるＲＰＣ要求は、アプリケーション向けＡＰＩ提供部２０’内のＲＰＣ  Ｉ／Ｆ２２を介してＲＰＣ変換ソフトウェア４０’のＲＰＣ  Ｉ／Ｆ４２へ送られる。【００６３】
ＲＰＣ変換ソフトウェア４０’は、このＲＰＣ要求を、デバイスドライバ／プロトコルコンバータ８２、８６、およびセンサ／デバイス／デバイスドライバ／プロトコルコンバータ８９向けのＭＱＴＴ等のプロトコルに応じて変換し、ＲＰＣ  Ｉ／Ｆ４４から、デバイス側Ｉ／Ｆ提供部３０’のＲＰＣ  Ｉ／Ｆ３２へ送る。【００６４】
デバイス側Ｉ／Ｆ提供部３０’は、ＭＱＴＴ等のプロトコルを用いて、デバイスドライバ／プロトコルコンバータ８２、８６およびセンサ／デバイス／デバイスドライバ／プロトコルコンバータ８９に対して、このＲＰＣ要求を送る。このＲＰＣ要求はさらに、デバイスドライバ／プロトコルコンバータ８２、８６からセンサ／デバイス８４、８８へ送られる。【００６５】
これによって、アプリケーション７６、７８と、センサ／デバイス８４、８８およびセンサ／デバイス／デバイスドライバ／プロトコルコンバータ８９との間のように、異なるプロトコル間でのＲＰＣを用いたデータ処理が実現される。【００６６】
また逆に、デバイス側Ｉ／Ｆ提供部３０’が、センサ／デバイス８４、８８によって生成されデバイスドライバ／プロトコルコンバータ８２、８６によって変換されたデータや、センサ／デバイス／デバイスドライバ／プロトコルコンバータ８９によって生成されたデータを、アプリケーション７６、７８のような他のデータ処理系において処理可能なＡＰＩ等の形式で、アプリケーション７６、７８のような他のデータ処理系へ提供することも可能である。【００６７】
次に、ＲＰＣ変換処理システム１２’の動作を図５および図６のフローチャートを用いて説明する。【００６８】
図５は、ＲＰＣ変換処理システム１２’によってなされるＲＰＣ変換の処理の流れを示すフローチャートである。【００６９】
ＲＰＣ変換処理システム１２’によってＲＰＣ変換がなされる場合、先ず、アプリケーション７６、７８からのＨＴＴＰ  ｒｅｑｕｅｓｔ等のＲＰＣ処理要求が、アプリケーション向けＡＰＩ提供部２０’によって受け取られる（Ｓ１）。【００７０】
ＨＴＴＰ  ｒｅｑｕｅｓｔ等のＲＰＣ処理要求が、ＲＰＣ  Ｉ／Ｆ２２、４２を通じて、ＲＰＣ変換ソフトウェア４０’へ中継される（Ｓ２）。【００７１】
ＨＴＴＰ  ｒｅｑｕｅｓｔ等のＰＲＣ処理要求が、ＲＰＣ変換ソフトウェア４０’によって、ＭＱＴＴ  ｓｕｂｓｃｒｉｂｅ等の異なるプロトコルのＲＰＣ処理要求へ変換される（Ｓ３）。【００７２】
ＭＱＴＴ  ｓｕｂｓｃｒｉｂｅ等のＲＰＣ処理要求が、ＲＰＣ  Ｉ／Ｆ４４、３２を通じてデバイス側Ｉ／Ｆ提供部３０’へ中継される（Ｓ４）。【００７３】
デバイス側Ｉ／Ｆ提供部３０’のＡＰＩ等を通じてデバイス／デバイスドライバ／プロトコルコンバータ８２、８６へのデータ処理が行われる（Ｓ５）。【００７４】
異なるプロトコルを中継したＲＰＣ処理が完了する（Ｓ６）。【００７５】
図６は、ＲＰＣ変換処理システム１２’によってなされるＲＰＣ  Ｉ／ＦおよびＲＰＣ変換ソフトウェアの自動生成時の処理の流れを示すフローチャートである。【００７６】
ＲＰＣ変換処理システム１２’によって、ＲＰＣ  Ｉ／ＦおよびＲＰＣ変換ソフトウェアの自動生成が行われる場合、先ず、クラス、アトリビュート、リレーション、ファンクション等が定義された共通データ構造生成元情報から、設定情報生成部６０によって、ｇＲＰＣ  ＩＤＬが自動生成される（Ｓ１１）。【００７７】
ｇＲＰＣ  ＩＤＬに基づいて、ＲＰＣ  Ｉ／Ｆ２２、４２が定義され（Ｓ１２）、設定情報生成部６２によって、ＭＱＴＴ  ＲＰＣスキーマが生成される（Ｓ１３）。さらに、ｇＲＰＣ  ＩＤＬに基づいて、ＲＰＣ変換ソフトウェア４０’によって、ＲＰＣ  Ｉ／Ｆ４２、および、ＲＰＣ変換ソフトウェア４０’のコード（ｇＰＲＣのサーバ・クライアントのソースコード）またはその一部が自動生成されるようにしてもよい。【００７８】
次に、ＭＱＴＴ  ＲＰＣスキーマに基づいて、ＲＰＣ  Ｉ／Ｆ３２、４４が定義される。さらに、ＭＱＴＴ  ＲＰＣスキーマに基づいて、ＲＰＣ変換ソフトウェア４０’によって、ＲＰＣ  Ｉ／Ｆ４４のネットワークライブラリおよびＲＰＣ変換ソフトウェア４０’のコードまたはその一部が自動生成されるようにしてもよい（Ｓ１４）。【００７９】
このようにして、ＲＰＣ  Ｉ／ＦおよびＲＰＣ変換ソフトウェアの自動生成時の処理が完了する（Ｓ１５）。【００８０】
以上説明したように、本発明のＲＰＣ変換処理システムおよびＲＰＣ変換方法によれば、互いに異なるプロトコルやネットワーク上のアプリケーション、デバイス等のホストが接続されたデータ処理システムにおいて、プロトコルやネットワークの異なるホスト間でのデータ処理や制御を、ＲＰＣを用いて柔軟に実施することが可能となる。【００８１】
また、データモデル等の共通情報の更新が発生した場合、アプリケーションや、デバイスドライバ／プロトコルコンバータ／センサ／デバイス向けのＩ／ＦおよびＩＤＬ、スキーマ、ＲＰＣ変換ソフトウェアを自動生成することによって、Ｉ／Ｆの整合性の維持や、ソフトウェア等の間の一貫性の確認のための負担を軽減することが可能となる。【００８２】
本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。【００８３】
例えば、図４では、ＲＰＣ変換処理システム１２’の外部に、アプリケーション７６、７８や、センサ／デバイス８４、８８に接続されたデバイスドライバ／プロトコルコンバータ８２、８６や、センサ／デバイス／デバイスドライバ／プロトコルコンバータ８９が配置されている例を示した。【００８４】
しかしながら、図７に示すアプリケーション７２や、アプリケーション７６へ基盤的機能を提供する共通アプリケーション７４や、センサ／デバイス８４に接続されたデバイスドライバ／プロトコルコンバータ８２のように、ＲＰＣ変換処理システム１２’の内部に配置されたアプリケーションやデバイスドライバ／プロトコルコンバータ／センサ／デバイスとの間であっても同様に機能し、同様な作用効果を奏することができる。【００８５】
また、アプリケーション向けＡＰＩ提供部２０’、デバイス側Ｉ／Ｆ提供部３０’、およびＲＰＣ変換ソフトウェア４０’が、ＲＰＣ変換処理システム１２’’内の同じコンテナまたは仮想マシン内に含まれていても同様に機能し、同様な作用効果を奏することができる。
【図１】
2018116933.tif 000003
【図２】
2018116933.tif 000004
【図３】
2018116933.tif 000005
【図４】
2018116933.tif 000006
【図５】
2018116933.tif 000007
【図６】
2018116933.tif 000008
【図７】
2018116933.tif 000009
【国際調査報告】
2018116933.tif 000010
2018116933.tif 000011