(57)【要約】      （修正有）【課題】異なる型の複数の情報を処理対象とする処理手段を対象として、受け付けた情報の処理を行わせることができる情報処理装置を提供する。【解決手段】情報処理装置１００の受付モジュールは、情報を受け付ける。記憶モジュールは、受付モジュールによって受け付けられたことのある情報の型を記憶する。制御モジュールは、受付モジュールによって受け付けられた情報の型が記憶モジュールに記憶されておらず、該情報の型と記憶モジュールに記憶されている型との組み合わせを処理対象とする処理モジュールが情報処理装置１００内にある場合は、該処理モジュールに該情報を渡す制御を行う。処理モジュールは、異なる型の複数の情報を処理対象とする。【選択図】図１
2020086851.tif 000002
【特許請求の範囲】
【請求項１】
情報を受け付ける受付手段と、
前記受付手段によって受け付けられたことのある情報の型を記憶している記憶手段と、
前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されておらず、該情報の型と前記記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が本情報処理装置内にある場合は、該処理手段に該情報を渡す制御を行う制御手段
を有しており、
前記処理手段は、異なる型の複数の情報を処理対象とする、
情報処理装置。
【請求項２】
前記制御手段は、前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されている場合は、前記処理手段に該情報を渡す制御を行う、
請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されておらず、該情報の型と前記記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が本情報処理装置内にない場合は、処理手段管理装置から該処理手段を取得する、
請求項１に記載の情報処理装置。
【請求項４】
前記情報の型が前記記憶手段に記憶されていない場合は、該情報の型を該記憶手段に記憶させる制御を行う記憶制御手段
をさらに有する請求項１に記載の情報処理装置。
【請求項５】
前記受付手段によって受け付けられる情報は、異なる型の情報が同期して送信されたものではない、
請求項１に記載の情報処理装置。
【請求項６】
前記受付手段によって受け付けられる情報は、異なる独立したセンサーから送信されてくる情報である、
請求項５に記載の情報処理装置。
【請求項７】
前記受付手段は、前記処理手段による処理結果を情報として受け付ける、
請求項１に記載の情報処理装置。
【請求項８】
前記処理手段は、前記制御手段から情報を受け付けた場合に、処理対象となる異なる型の情報が不足しているときは、前記処理手段による処理は開始しない、
請求項１に記載の情報処理装置。
【請求項９】
前記処理手段は、前記制御手段から情報を受け付けた場合に、処理対象となる異なる型の情報が揃ったときは、前記処理手段による処理を開始する、
請求項８に記載の情報処理装置。
【請求項１０】
情報処理装置であるコンピュータを、
情報を受け付ける受付手段と、
前記受付手段によって受け付けられたことのある情報の型を記憶している記憶手段と、
前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されておらず、該情報の型と前記記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が前記情報処理装置内にある場合は、該処理手段に該情報を渡す制御を行う制御手段
として機能させ、
前記処理手段は、異なる型の複数の情報を処理対象とする、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、ソースコンポーネントと、前記ソースコンポーネントと通信する受信コンポーネントと、を含むシステムで実行される方法であって、前記ソースコンポーネントが、前記受信コンポーネントのデータ転送容量及び固有のデータタイプを確定するための発見プロセスを実行し、前記発見プロセスに応じて、前記受信コンポーネントが、前記受信コンポーネントにおいて理解可能なデータタイプのリストと前記受信コンポーネントにおいて理解可能なインタフェースのリストとを提供する代理オブジェクトを、前記ソースコンポーネントに返し、前記ソースコンポーネントが、前記受信コンポーネントから取得した前記代理オブジェクトを検査することで、前記受信コンポーネントにおいて理解可能なデータタイプと前記受信コンポーネントにおいて理解可能なインタフェースとを特定し、特定した結果に基づいて、前記ソースコンポーネントから送信されるデータを前記受信コンポーネントに受信させて処理させるための１以上の命令を含むデータ転送セッションオブジェクトを生成し、生成した当該データ転送セッションオブジェクトを前記受信コンポーネントに対して送信し、前記受信コンポーネントが、前記ソースコンポーネントから受信した前記データ転送セッションオブジェクトに含まれる前記１以上の命令の一部を実行することで、前記受信コンポーネントの固有のデータタイプでないデータタイプのデータを前記受信コンポーネントにおいて処理可能とするインタフェースを実現するモバイルコードを含むデータタイプハンドラオブジェクトを前記ソースコンポーネントから取得し、前記受信コンポーネントが、前記ソースコンポーネントから受信した前記データ転送セッションオブジェクトに含まれる前記１以上の命令の一部を実行することで、前記ソースコンポーネントから送信されるデータを受信し、前記受信コンポーネントが、前記ソースコンポーネントから受信したデータのデータタイプが前記受信コンポーネントの固有のデータタイプでない場合に、前記ソースコンポーネントから取得した前記データタイプハンドラオブジェクトに含まれる前記モバイルコードを実行し、この実行により実現される前記インタフェースに前記ソースコンポーネントから受信したデータを処理させることが開示されている。
【０００３】
特許文献２には、複数の環境、複数のサーバ、複数のアプリケーションなど、様々なバリエーションが存在する状況下においては、インストーラのメンテナンスが複雑になることを課題とし、デプロイ開始の入力手段と、実行対象のホスト名を取得する手段と、ホスト名から環境種別およびサーバ種別を特定する手段と、サーバ種別からデプロイ対象アプリケーションを特定する手段と、デプロイ対象アプリケーションのデプロイ・フラグからデプロイ実施アプリケーションを特定する手段と、デプロイ実施アプリケーションを宛先フォルダーに配置する手段と、特定された環境種別に応じたアプリケーション設定ファイルを宛先フォルダーに配置する手段を備えたことが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４３９８１９２号公報
【特許文献２】特開２０１４−１６４５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
受け付けた情報に応じて、その情報を処理する処理手段を動的に取得して、その情報を処理させることが行われている。しかし、異なる型の複数の情報を処理する処理手段に対しては考慮されていない。
本発明は、異なる型の複数の情報を処理対象とする処理手段を対象として、受け付けた情報の処理を行わせることができる情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、情報を受け付ける受付手段と、前記受付手段によって受け付けられたことのある情報の型を記憶している記憶手段と、前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されておらず、該情報の型と前記記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が本情報処理装置内にある場合は、該処理手段に該情報を渡す制御を行う制御手段を有しており、前記処理手段は、異なる型の複数の情報を処理対象とする、情報処理装置である。
【０００７】
請求項２の発明は、前記制御手段は、前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されている場合は、前記処理手段に該情報を渡す制御を行う、請求項１に記載の情報処理装置である。
【０００８】
請求項３の発明は、前記制御手段は、前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されておらず、該情報の型と前記記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が本情報処理装置内にない場合は、処理手段管理装置から該処理手段を取得する、請求項１に記載の情報処理装置である。
【０００９】
請求項４の発明は、前記情報の型が前記記憶手段に記憶されていない場合は、該情報の型を該記憶手段に記憶させる制御を行う記憶制御手段をさらに有する請求項１に記載の情報処理装置である。
【００１０】
請求項５の発明は、前記受付手段によって受け付けられる情報は、異なる型の情報が同期して送信されたものではない、請求項１に記載の情報処理装置である。
【００１１】
請求項６の発明は、前記受付手段によって受け付けられる情報は、異なる独立したセンサーから送信されてくる情報である、請求項５に記載の情報処理装置である。
【００１２】
請求項７の発明は、前記受付手段は、前記処理手段による処理結果を情報として受け付ける、請求項１に記載の情報処理装置である。
【００１３】
請求項８の発明は、前記処理手段は、前記制御手段から情報を受け付けた場合に、処理対象となる異なる型の情報が不足しているときは、前記処理手段による処理は開始しない、請求項１に記載の情報処理装置である。
【００１４】
請求項９の発明は、前記処理手段は、前記制御手段から情報を受け付けた場合に、処理対象となる異なる型の情報が揃ったときは、前記処理手段による処理を開始する、請求項８に記載の情報処理装置である。
【００１５】
請求項１０の発明は、情報処理装置であるコンピュータを、情報を受け付ける受付手段と、前記受付手段によって受け付けられたことのある情報の型を記憶している記憶手段と、前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されておらず、該情報の型と前記記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が前記情報処理装置内にある場合は、該処理手段に該情報を渡す制御を行う制御手段として機能させ、前記処理手段は、異なる型の複数の情報を処理対象とする、情報処理プログラムである。
【発明の効果】
【００１６】
請求項１の情報処理装置によれば、異なる型の複数の情報を処理対象とする処理手段を対象として、受け付けた情報の処理を行わせることができる。
【００１７】
請求項２の情報処理装置によれば、受け付けた情報の型が既に記憶されている場合は、処理手段にその情報の処理を行わせることができる。
【００１８】
請求項３の情報処理装置によれば、受け付けた情報の型が記憶されておらず、その情報の型と記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が本情報処理装置内にない場合は、処理手段管理装置からその処理手段を取得することができる。
【００１９】
請求項４の情報処理装置によれば、対象としている情報の型が記憶されていない場合は、その情報の型を記憶させることができる。
【００２０】
請求項５の情報処理装置によれば、異なる型の情報が同期して送信されたものではない情報を処理対象とすることができる。
【００２１】
請求項６の情報処理装置によれば、異なる独立したセンサーから送信されてくる情報を処理対象とすることができる。
【００２２】
請求項７の情報処理装置によれば、処理手段による処理結果をも処理対象とすることができる。
【００２３】
請求項８の情報処理装置によれば、処理対象となる異なる型の情報が不足しているときは、その処理手段による処理は開始させないようにすることができる。
【００２４】
請求項９の情報処理装置によれば、処理対象となる異なる型の情報が揃ったときに、処理手段による処理を開始することができる。
【００２５】
請求項１０の情報処理プログラムによれば、異なる型の複数の情報を処理対象とする処理手段を対象として、受け付けた情報の処理を行わせることができる。
【図面の簡単な説明】
【００２６】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例を示す説明図である。
【図３】本実施の形態の構成例についての具体的なモジュール構成図である。
【図４】本実施の形態による処理例を示すフローチャートである。
【図５】データタイプ付与後データのデータ構造例を示す説明図である。
【図６】モジュール管理テーブルのデータ構造例を示す説明図である。
【図７】モジュール管理テーブルのデータ構造例を示す説明図である。
【図８】本実施の形態による処理例を示すフローチャートである。
【図９】本実施の形態による処理例を示すフローチャートである。
【図１０】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２７】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係、ログイン等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。また、「Ａ、Ｂ、Ｃ」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その１つのみを選んでいる場合（例えば、Ａのみ）を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスクドライブ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２８】
本実施の形態である情報処理装置１００は、受信した複数のデータの型（タイプ、データタイプ）に応じたモジュールに処理を行わせる機能を有しており、図１の例に示すように、受付モジュール１０５、記憶モジュール１１０、制御モジュール１１５、処理モジュール群１２５を有している。
特許文献１に記載の技術では、受信したデータの内容に応じて、それを処理するのに適したモジュールを動的に取得し、受信したデータの処理を実行させることができる。
しかし、この技術は、複数の型（種類）の受信データを組み合わせた処理については考慮されていない。
複数の型のデータを組み合わせて処理を実行したい場合がある。例えば、体温と脈拍数から簡易診察を行うモジュール等がある。
情報処理装置１００では、複数の受信したデータの型（又は、その組み合わせ）に応じて、そのデータの組み合わせを処理することができるモジュールを動的に取得する。
【００２９】
受付モジュール１０５は、制御モジュール１１５、処理モジュール群１２５と接続されており、また、通信回線を介してセンサーＡ：１８０Ａ、センサーＢ：１８０Ｂ等と接続されている。受付モジュール１０５は、センサーＡ：１８０Ａ、センサーＢ：１８０Ｂ等のそれぞれから情報を受け付ける。一方、各センサー１８０は、通信回線を介して情報処理装置１００の受付モジュール１０５と接続されており、情報処理装置１００（受付モジュール１０５）に対して、情報を渡す。その際に、情報に型を付与する。センサー１８０は、例えば、後述するようにセンサーであって、センサー結果を情報処理装置１００に送信する。
また、受付モジュール１０５によって受け付けられる情報は、異なる型の情報が同期して送信されたものではなくてもよい。例えば、受付モジュール１０５によって受け付けられる情報は、異なる独立したセンサーから送信されてくる情報であってもよい。いわゆるＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）において、さまざまなセンサーから送信されてくるデータを対象とすることができるようになる。その場合、それぞれのセンサーは独立しているので（そのセンサーの都合に合わせて情報は送信されてくるので）、処理モジュールは処理対象とするデータ群（異なる型の複数の情報）を同期して取得することはできない。
また、受付モジュール１０５は、センサー１８０からの情報だけでなく、処理モジュール１３０による処理結果を情報として受け付けるようにしてもよい。
【００３０】
記憶モジュール１１０は、制御モジュール１１５の記憶制御モジュール１２０と接続されている。記憶モジュール１１０は、受付モジュール１０５によって受け付けられたことのある情報の型を記憶している。
制御モジュール１１５は、記憶制御モジュール１２０を有しており、受付モジュール１０５、処理モジュール群１２５と接続されており、また、通信回線を介して処理モジュール管理装置１９０と接続されている。制御モジュール１１５は、受付モジュール１０５によって受け付けられた情報の型が記憶モジュール１１０に記憶されておらず、その情報の型と記憶モジュール１１０に記憶されている型との組み合わせを処理対象とする処理モジュール１３０が処理モジュール群１２５（つまり、本情報処理装置１００内）にある場合は、その処理モジュール１３０にその情報を渡す制御を行う。
また、制御モジュール１１５は、受付モジュール１０５によって受け付けられた情報の型が記憶モジュール１１０に記憶されている場合は、対応する処理モジュール１３０にその情報を渡す制御を行うようにしてもよい。
また、制御モジュール１１５は、受付モジュール１０５によって受け付けられた情報の型が記憶モジュール１１０に記憶されておらず、その情報の型と記憶モジュール１１０に記憶されている型との組み合わせを処理対象とする処理モジュール１３０が処理モジュール群１２５にない場合は、処理モジュール管理装置１９０からその処理モジュール１３０を取得するようにしてもよい。
【００３１】
記憶制御モジュール１２０は、記憶モジュール１１０と接続されている。記憶制御モジュール１２０は、受付モジュール１０５によって受け付けられた情報の型が記憶モジュール１１０に記憶されていない場合は、その情報の型を記憶モジュール１１０に記憶させる制御を行う。
【００３２】
処理モジュール群１２５は、処理（Ａ）モジュール１３０Ａ、処理（Ｂ）モジュール１３０Ｂ等を有しており、受付モジュール１０５、制御モジュール１１５と接続されている。処理モジュール群１２５は、処理モジュール１３０群を管理する。
各処理モジュール１３０は、異なる型の複数の情報を処理対象とする。処理モジュール１３０として、例えば前述したように、体温と脈拍数（異なる型である２つの情報）から簡易診察を行うモジュール等がある。
また、各処理モジュール１３０は、制御モジュール１１５から情報を受け付けた場合に、処理対象となる異なる型の情報が不足しているときは、その処理モジュール１３０による処理は開始しないようにしてもよい。
また、各処理モジュール１３０は、制御モジュール１１５から情報を受け付けた場合に、処理対象となる異なる型の情報が揃ったときは、その処理モジュール１３０による処理を開始するようにしてもよい。
【００３３】
処理モジュール管理装置１９０は、通信回線を介して情報処理装置１００の制御モジュール１１５と接続されている。処理モジュール管理装置１９０は、複数の処理モジュール１３０を管理しており、情報処理装置１００（制御モジュール１１５）からの要求にしたがって、処理モジュール１３０を情報処理装置１００に送信する。
【００３４】
図２は、本実施の形態を利用したシステム構成例を示す説明図である。
情報処理装置１００は、通信回線を介してセンサーＡ：１８０Ａ、センサーＣ：１８０Ｃと接続されている。
情報処理装置１００、センサーＢ：１８０Ｂ、センサーＤ：１８０Ｄ、センサーＥ：１８０Ｅ、処理モジュール管理装置１９０、ユーザー端末２５０は、それぞれ通信回線２９０を介して接続されている。センサー１８０は、前述したように例えば、ＩｏＴセンサーである。
ユーザー端末２５０は、情報処理装置１００に対してセンサー１８０の働き（例えば、ユーザー端末２５０のユーザーの情報を送信すること）を有していてもよいし、情報処理装置１００（処理モジュール１３０）による処理結果を提示するようにしてもよい。
例えば、情報処理装置１００は、センサーＡ：１８０Ａ、センサーＣ：１８０Ｃ、センサーＢ：１８０Ｂ、センサーＤ：１８０Ｄ、センサーＥ：１８０Ｅ、ユーザー端末２５０から情報を受信し、それらの複数の異なる型である情報を処理し、その処理結果をユーザー端末２５０に送信する。もしも、それらの情報を処理できるモジュールを情報処理装置１００内に有していない場合は、処理モジュール管理装置１９０に要求して取得する。
【００３５】
情報処理装置１００は、いわゆるＰｕｂ／Ｓｕｂ（Ｐｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅ）メッセージングモデルの形態で所望のデータ処理を行うシステムである。情報処理装置１００において、受信したデータの処理に必要なモジュールの取得を自動的に行う。
受信したデータとして、センサー１８０から受信した生データであってもよいし、受信したデータを処理モジュール１３０で加工したデータであってもよい。
そして、情報処理装置１００内では、受信したデータの型（その組み合わせ）に応じて処理に必要なモジュールが決定される。決定したモジュールが情報処理装置１００内にある場合は、そのモジュールにデータを渡し、処理を行わせる。決定したモジュールが情報処理装置１００内にない場合は、そのモジュールを処理モジュール管理装置１９０から取得して、そのモジュールに処理を行わせる。
【００３６】
図３は、本実施の形態の構成例についての具体的なモジュール構成図である。体温測定デバイス３８０Ａ、脈拍測定デバイス３８０Ｂはセンサー１８０の具体例であり、Ｐｕｂ／Ｓｕｂサーバ３００は情報処理装置１００の具体例であり、受信モジュール３０５は受付モジュール１０５の具体例であり（ただし、体温測定デバイス３８０Ａ、脈拍測定デバイス３８０Ｂに対応している数だけ用意されている）、制御モジュール３１５は制御モジュール１１５の具体例であり、簡易診察モジュール３３０Ａは処理モジュール１３０の具体例であり、モジュール管理サーバ３９０は処理モジュール管理装置１９０の具体例である。
【００３７】
体温測定デバイス３８０Ａは、受信モジュール３０５Ａと接続されている。体温測定デバイス３８０Ａは、体温を測定するＩｏＴデバイスの一種であり、その測定結果である体温情報をＰｕｂ／Ｓｕｂサーバ３００に送信する。
脈拍測定デバイス３８０Ｂは、受信モジュール３０５Ｂと接続されている。脈拍測定デバイス３８０Ｂは、脈拍を測定するＩｏＴデバイスの一種であり、その測定結果である脈拍情報をＰｕｂ／Ｓｕｂサーバ３００に送信する。
体温測定デバイス３８０Ａ、脈拍測定デバイス３８０Ｂは、一人の人を測定するが、互いに独立して（つまり、同期制御なしに）、異なるタイプの情報をＰｕｂ／Ｓｕｂサーバ３００に送信する。もちろんのことながら、測定対象の人数に応じて、体温測定デバイス３８０Ａ、脈拍測定デバイス３８０Ｂは、複数あってもよい。
【００３８】
Ｐｕｂ／Ｓｕｂサーバ３００は、Ｐｕｂ／Ｓｕｂメッセージングモデルの形態で所望のデータ処理を行うシステムである。
Ｐｕｂ／Ｓｕｂサーバ３００上に設置された処理モジュール（簡易診察モジュール３３０Ａ等）では、自分が処理可能な条件が定義されており、処理要求の到着を待ち受け、処理要求が到着したら処理要求の内容を解釈（フィルター）し、自分で処理可能であると判断した場合は前記処理要求を受け取って処理を実行し、実行結果を通知する。
例えば、処理モジュールの実態としてｄｌｌファイルであってもよく、Ｐｕｂ／Ｓｕｂサーバ３００で規定されたインタフェースをもつプラグインとして動作するようにしてもよい。
【００３９】
受信モジュール３０５Ａは、体温測定デバイス３８０Ａ、制御モジュール３１５と接続されている。受信モジュール３０５Ａは、体温測定デバイス３８０Ａから体温情報を受信し、制御モジュール３１５に渡す。その際に、体温情報に体温であることを示すデータタイプを付与する。
受信モジュール３０５Ｂは、脈拍測定デバイス３８０Ｂ、制御モジュール３１５と接続されている。受信モジュール３０５Ｂは、脈拍測定デバイス３８０Ｂから脈拍情報を受信し、制御モジュール３１５に渡す。その際に、脈拍情報に脈拍であることを示すデータタイプを付与する。
前述したように、受信モジュール３０５は、ＩｏＴデバイス毎に用意された専用のモジュールである。例えば、体温測定デバイス３８０Ａには体温データ受信用の受信モジュール３０５Ａが必要であり、脈拍測定デバイス３８０Ｂには脈拍データ受信用の受信モジュール３０５Ｂが必要である。
【００４０】
制御モジュール３１５は、受信モジュール３０５Ａ、受信モジュール３０５Ｂ、簡易診察モジュール３３０Ａ、モジュール管理サーバ３９０と接続されている。制御モジュール３１５は、受信モジュール３０５Ａ、受信モジュール３０５Ｂから渡された情報を処理するモジュール（ここでは、簡易診察モジュール３３０Ａ）がＰｕｂ／Ｓｕｂサーバ３００内にあるか否かを判断し、Ｐｕｂ／Ｓｕｂサーバ３００内にない場合は、モジュール管理サーバ３９０から簡易診察モジュール３３０Ａを取得する。そして、その簡易診察モジュール３３０Ａに、受信モジュール３０５Ａから渡された体温情報、受信モジュール３０５Ｂから渡された脈拍情報を渡す。
【００４１】
制御モジュール３１５は、受信モジュール３０５によって受信されたデータを処理するために、モジュール管理を行う。
受信モジュール３０５によって受信されたデータに付属しているデータタイプを確認し、そのデータタイプのデータを処理可能な処理モジュールを取得済みかどうかを確認する。
データタイプが新規である場合、このデータを処理可能なモジュールのリストをモジュール管理サーバ３９０から取得する。そして、今回取得したデータのデータタイプを記録する。
今回取得したデータタイプと過去に取得したデータタイプとの組み合わせ（複数種類のデータタイプ）を処理可能な処理モジュールが存在するかを前述のモジュールリストから探し、存在する場合は該当する処理モジュールをモジュール管理サーバ３９０から取得する（いわゆるプラグインとして追加する。なお、プラグインとなるのはモジュール自体である。）。存在しない場合は処理を終了する。例えば、過去に「データタイプ：脈拍」の「脈拍データ」を取得しており、今回「データタイプ：体温」の「体温データ」を取得したなら、その２つのデータを使った処理を行う、「簡易診察モジュール３３０Ａ」を取得する。
対応モジュールが取得済みになった場合、受信したデータを対応する処理モジュールへ送信する。以降、対応する処理モジュールによる受信データの処理が実行される。
【００４２】
モジュール管理サーバ３９０は、制御モジュール３１５、簡易診察モジュール３３０Ａと接続されている。モジュール管理サーバ３９０は、モジュールを管理しており、制御モジュール３１５からの要求にしたがって、簡易診察モジュール３３０Ａ等のモジュールを送信する。モジュール管理サーバ３９０は、処理モジュールと、その処理モジュールの処理に必要なデータの組合せを管理する。例えば、図７で後述するモジュール管理テーブル７００として管理する。制御モジュール３１５から要求があった場合、モジュール管理テーブル７００を返信する。そして、処理モジュールの実体（例えば、ｄｌｌファイル）を管理する。制御モジュール３１５から要求があった場合、処理モジュールの実体を返信する。
【００４３】
簡易診察モジュール３３０Ａは、制御モジュール３１５、モジュール管理サーバ３９０と接続されている。簡易診察モジュール３３０Ａは、制御モジュール３１５から渡された体温情報、脈拍情報で、その人の簡易診察処理を行う。なお、体温情報、脈拍情報の両方の情報が揃わないと、簡易診察処理を行わない。一方だけの情報を受け取った場合は、その情報を記憶しておき、他方の情報を受け取ったとき（つまり、体温情報、脈拍情報の両方の情報が揃ったとき）に簡易診察処理を行う。
【００４４】
図４は、本実施の形態（情報処理装置１００、Ｐｕｂ／Ｓｕｂサーバ３００）による処理例を示すフローチャートである。
ステップＳ４００では、データを入力する。具体例として、体温測定デバイス３８０Ａから体温情報を受信し、脈拍測定デバイス３８０Ｂから脈拍情報を受信すること等が該当する。そして、受信モジュール３０５は、例えばデータタイプ付与後データ５００を生成する。図５は、データタイプ付与後データ５００のデータ構造例を示す説明図である。図５（ａ）は、データタイプ付与後データ５００のデータ構造例を示す説明図である。データタイプ付与後データ５００は、データタイプ欄５１０、データ欄５２０を有している。データタイプ欄５１０は、データタイプを記憶している。データ欄５２０は、データを記憶している。例えば、受信モジュール３０５Ａから受け取ったデータは「データタイプ：体温」であり、そのデータは「３６．５」であることを示している。もちろんのことながら、受信モジュール３０５Ｂから受け取ったデータは「データタイプ：脈拍」であり、そのデータは脈拍値となる。
なお、図５（ｂ）の例に示すように、データタイプ付与後データ５５０のようなデータ構造（タグ付きデータ構造）であってもよい。データタイプ付与後データ５５０も、データタイプ付与後データ５００と同様に、「データタイプ：体温」であり、そのデータは「３６．５」であることを示している。
【００４５】
ステップＳ４０２では、データタイプを確認する。
ステップＳ４０４では、新規データタイプであるか否かを判断し、新規データタイプの場合はステップＳ４０６へ進み、それ以外の場合はステップＳ４１４へ進む。この判断は、過去に受け取ったデータタイプを記憶しておき、対象となっているデータのデータタイプが過去に受け取ったことがあるデータタイプである場合は新規ではないと判断し、対象となっているデータのデータタイプが過去に受け取ったことがないデータタイプである場合は新規であると判断する。例えば、モジュール管理テーブル６００を用いる。図６は、モジュール管理テーブル６００のデータ構造例を示す説明図である。モジュール管理テーブル６００は、データタイプ欄６１０、処理モジュール欄６２０を有している。データタイプ欄６１０は、データタイプを記憶している。処理モジュール欄６２０は、そのデータタイプのデータを処理対象とする処理モジュールを記憶している。例えば、「データタイプ：脈拍」のデータを過去に受け取っており、そのデータの処理モジュールが「簡易診察モジュール」であることを示している。図５の例での「データタイプ：体温」のデータは、未だ受け取っていないので、ステップＳ４０４では「Ｙｅｓ」となる。
【００４６】
ステップＳ４０６では、モジュール管理テーブルをモジュール管理サーバ３９０から取得する。例えば、モジュール管理サーバ３９０からモジュール管理テーブル７００を取得する。図７は、モジュール管理テーブル７００のデータ構造例を示す説明図である。
モジュール管理テーブル７００は、処理モジュール欄７１０、処理対象データタイプ欄７２０を有している。処理モジュール欄７１０は、処理モジュールを記憶している。処理対象データタイプ欄７２０は、処理対象データタイプを記憶している。
例えば、「簡易診察モジュール」の処理対象のデータタイプは「体温，脈拍」であることを示しており、「位置測位モジュール」の処理対象データタイプは「ＲＳＳＩ，加速度」であることを示しており、「緊急通報サービス」の処理対象データタイプは「簡易診察結果，位置測位結果」であることを示している。なお、「簡易診察結果」は簡易診察モジュールによる処理結果であり、「位置測位結果」は位置測位モジュールによる処理結果である。
【００４７】
ステップＳ４０８では、データタイプを記録する。具体的には、モジュール管理テーブル６００に、今回の新規データタイプと処理モジュールを記録する。前述の例では、モジュール管理テーブル６００に、「データタイプ：体温」、「処理モジュール：簡易診察モジュール」を記録することになる。
ステップＳ４１０では、そのデータタイプを処理対象とする処理モジュールがモジュール管理テーブル７００に存在するか否かを判断し、存在する場合はステップＳ４１２へ進み、それ以外の場合は処理を終了する（ステップＳ４９９）。
【００４８】
ステップＳ４１２では、その処理モジュールをモジュール管理サーバ３９０から取得する。このステップＳ４１２では、前述の例のように、処理モジュール（簡易診察モジュール）の処理が可能になったとき（複数のデータが揃ったとき）に、処理モジュール（簡易診察モジュール）を取得する。
なお、複数のデータのうち１つでも受け付けた場合は、その処理モジュールを取得してもよい。ただし、その時点では、その処理モジュールは処理を開始することはできない。そして、その処理モジュールを既に取得している場合は、取得する必要はない。つまり、処理モジュール（簡易診察モジュール）は、複数のデータを処理対象としているので、それらのデータのうちの１つ（前述の例では、データタイプ：脈拍）でも受信モジュール（受信モジュール３０５）で既に受信している場合は、既に処理モジュールも取得しているので、処理モジュールをモジュール管理サーバ３９０から取得する必要がない。
【００４９】
ステップＳ４１４では、過去にそのデータタイプのデータを渡した処理モジュール１３０を特定し、ステップＳ４１６へ進む。
ステップＳ４１６では、その処理モジュールへデータを送信する。前述の例では、データタイプ：体温のデータを、簡易診察モジュールに渡すことになる。
ステップＳ４１８では、処理モジュールによる処理を行う。前述の例では、簡易診察モジュールが既に取得しているデータ（データタイプ：脈拍）と今回のデータ（データタイプ：体温）を用いて、簡易診察処理を行うことになる。ステップＳ４１８の詳細な処理については、図９の例に示すフローチャートを用いて後述する。
ステップＳ４２０では、受付モジュールへ処理モジュールの処理結果を入力する。前述の例では、簡易診察結果が受付モジュールへ渡されることになる。
【００５０】
図８は、本実施の形態（情報処理装置１００（Ｐｕｂ／Ｓｕｂサーバ３００）と処理モジュール管理装置１９０（モジュール管理サーバ３９０））による処理例を示すフローチャートである。
ステップＳ８０２では、情報処理装置１００は、処理モジュール管理装置１９０に対して、モジュール管理テーブル７００を要求する。
ステップＳ８０４では、処理モジュール管理装置１９０は、要求を受信する。
【００５１】
ステップＳ８０６では、処理モジュール管理装置１９０は、情報処理装置１００に対して、モジュール管理テーブル７００を送信する。
ステップＳ８０８では、情報処理装置１００は、モジュール管理テーブル７００を受信する。
【００５２】
ステップＳ８１０では、情報処理装置１００は、処理モジュール管理装置１９０に対して、対象とする処理モジュール１３０を要求する。
ステップＳ８１２では、処理モジュール管理装置１９０は、要求を受信する。
【００５３】
ステップＳ８１４では、処理モジュール管理装置１９０は、情報処理装置１００に対して、要求された処理モジュール１３０を送信する。
ステップＳ８１６では、情報処理装置１００は、処理モジュール１３０を受信する。
【００５４】
図９は、本実施の形態（処理モジュール１３０（簡易診察モジュール３３０Ａ））による処理例を示すフローチャートである。
ステップＳ９０２では、処理モジュール１３０は、データを受け付ける。
ステップＳ９０４では、処理モジュール１３０は、処理対象となるデータの組み合わせが揃ったか否かを判断し、揃った場合はステップＳ９０６へ進み、それ以外の場合はステップＳ９０８へ進む。例えば、前述の例では、「データタイプ：脈拍」のデータを受け取った段階では、処理対象のデータの組み合わせは揃っていないので、ステップＳ９０４では「Ｎｏ」となる。その後、「データタイプ：体温」のデータを受け取った場合、処理対象のデータの組み合わせは揃ったので、ステップＳ９０４では「Ｙｅｓ」となる。
ステップＳ９０６では、処理モジュール１３０は、処理を行う。
ステップＳ９０８では、処理モジュール１３０は、データを記憶する。
【００５５】
なお、本実施の形態（情報処理装置１００、処理モジュール管理装置１９０、Ｐｕｂ／Ｓｕｂサーバ３００、モジュール管理サーバ３９０）としてのプログラムが実行されるコンピュータのハードウェア構成は、図１０に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバとなり得るコンピュータ等である。つまり、具体例として、処理部（演算部）としてＣＰＵ１００１を用い、記憶装置としてＲＡＭ１００２、ＲＯＭ１００３、ＨＤＤ１００４を用いている。ＨＤＤ１００４として、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュ・メモリであるＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等を用いてもよい。受付モジュール１０５、制御モジュール１１５、記憶制御モジュール１２０、処理モジュール群１２５、処理モジュール１３０、受信モジュール３０５、制御モジュール３１５、簡易診察モジュール３３０Ａ等のプログラムを実行するＣＰＵ１００１と、そのプログラムやデータを記憶するＲＡＭ１００２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ１００３と、記憶モジュール１１０等としての機能を有する補助記憶装置であるＨＤＤ１００４と、キーボード、マウス、タッチスクリーン、マイク、カメラ（視線検知カメラ等を含む）等に対する利用者の操作（動作、音声、視線等を含む）に基づいてデータを受け付ける受付装置１００６と、ＣＲＴ、液晶ディスプレイ、スピーカー等の出力装置１００５と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース１００７、そして、それらをつないでデータのやりとりをするためのバス１００８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００５６】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図１０に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１０に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）や再構成可能な集積回路（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ：ＦＰＧＡ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図１０に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００５７】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００５８】
１００…情報処理装置
１０５…受付モジュール
１１０…記憶モジュール
１１５…制御モジュール
１２０…記憶制御モジュール
１２５…処理モジュール群
１３０…処理モジュール
１８０…センサー
１９０…処理モジュール管理装置
２５０…ユーザー端末
２９０…通信回線
３００…Ｐｕｂ／Ｓｕｂサーバ
３０５…受信モジュール
３１５…制御モジュール
３３０Ａ…簡易診察モジュール
３８０Ａ…体温測定デバイス
３８０Ｂ…脈拍測定デバイス
３９０…モジュール管理サーバ
【図１】
2020086851.tif 000003
【図２】
2020086851.tif 000004
【図３】
2020086851.tif 000005
【図４】
2020086851.tif 000006
【図５】
2020086851.tif 000007
【図６】
2020086851.tif 000008
【図７】
2020086851.tif 000009
【図８】
2020086851.tif 000010
【図９】
2020086851.tif 000011
【図１０】
2020086851.tif 000012