JP2020086851A - 情報処理装置及び情報処理プログラム - Google Patents

情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JP2020086851A
JP2020086851A JP2018219481A JP2018219481A JP2020086851A JP 2020086851 A JP2020086851 A JP 2020086851A JP 2018219481 A JP2018219481 A JP 2018219481A JP 2018219481 A JP2018219481 A JP 2018219481A JP 2020086851 A JP2020086851 A JP 2020086851A
Authority
JP
Japan
Prior art keywords
information
processing
module
type
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018219481A
Other languages
English (en)
Inventor
俊司 酒井
Shunji Sakai
俊司 酒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2018219481A priority Critical patent/JP2020086851A/ja
Publication of JP2020086851A publication Critical patent/JP2020086851A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】異なる型の複数の情報を処理対象とする処理手段を対象として、受け付けた情報の処理を行わせることができる情報処理装置を提供する。【解決手段】情報処理装置100の受付モジュールは、情報を受け付ける。記憶モジュールは、受付モジュールによって受け付けられたことのある情報の型を記憶する。制御モジュールは、受付モジュールによって受け付けられた情報の型が記憶モジュールに記憶されておらず、該情報の型と記憶モジュールに記憶されている型との組み合わせを処理対象とする処理モジュールが情報処理装置100内にある場合は、該処理モジュールに該情報を渡す制御を行う。処理モジュールは、異なる型の複数の情報を処理対象とする。【選択図】図1

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
特許文献1には、ソースコンポーネントと、前記ソースコンポーネントと通信する受信コンポーネントと、を含むシステムで実行される方法であって、前記ソースコンポーネントが、前記受信コンポーネントのデータ転送容量及び固有のデータタイプを確定するための発見プロセスを実行し、前記発見プロセスに応じて、前記受信コンポーネントが、前記受信コンポーネントにおいて理解可能なデータタイプのリストと前記受信コンポーネントにおいて理解可能なインタフェースのリストとを提供する代理オブジェクトを、前記ソースコンポーネントに返し、前記ソースコンポーネントが、前記受信コンポーネントから取得した前記代理オブジェクトを検査することで、前記受信コンポーネントにおいて理解可能なデータタイプと前記受信コンポーネントにおいて理解可能なインタフェースとを特定し、特定した結果に基づいて、前記ソースコンポーネントから送信されるデータを前記受信コンポーネントに受信させて処理させるための1以上の命令を含むデータ転送セッションオブジェクトを生成し、生成した当該データ転送セッションオブジェクトを前記受信コンポーネントに対して送信し、前記受信コンポーネントが、前記ソースコンポーネントから受信した前記データ転送セッションオブジェクトに含まれる前記1以上の命令の一部を実行することで、前記受信コンポーネントの固有のデータタイプでないデータタイプのデータを前記受信コンポーネントにおいて処理可能とするインタフェースを実現するモバイルコードを含むデータタイプハンドラオブジェクトを前記ソースコンポーネントから取得し、前記受信コンポーネントが、前記ソースコンポーネントから受信した前記データ転送セッションオブジェクトに含まれる前記1以上の命令の一部を実行することで、前記ソースコンポーネントから送信されるデータを受信し、前記受信コンポーネントが、前記ソースコンポーネントから受信したデータのデータタイプが前記受信コンポーネントの固有のデータタイプでない場合に、前記ソースコンポーネントから取得した前記データタイプハンドラオブジェクトに含まれる前記モバイルコードを実行し、この実行により実現される前記インタフェースに前記ソースコンポーネントから受信したデータを処理させることが開示されている。
特許文献2には、複数の環境、複数のサーバ、複数のアプリケーションなど、様々なバリエーションが存在する状況下においては、インストーラのメンテナンスが複雑になることを課題とし、デプロイ開始の入力手段と、実行対象のホスト名を取得する手段と、ホスト名から環境種別およびサーバ種別を特定する手段と、サーバ種別からデプロイ対象アプリケーションを特定する手段と、デプロイ対象アプリケーションのデプロイ・フラグからデプロイ実施アプリケーションを特定する手段と、デプロイ実施アプリケーションを宛先フォルダーに配置する手段と、特定された環境種別に応じたアプリケーション設定ファイルを宛先フォルダーに配置する手段を備えたことが開示されている。
特許第4398192号公報 特開2014−164545号公報
受け付けた情報に応じて、その情報を処理する処理手段を動的に取得して、その情報を処理させることが行われている。しかし、異なる型の複数の情報を処理する処理手段に対しては考慮されていない。
本発明は、異なる型の複数の情報を処理対象とする処理手段を対象として、受け付けた情報の処理を行わせることができる情報処理装置及び情報処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、情報を受け付ける受付手段と、前記受付手段によって受け付けられたことのある情報の型を記憶している記憶手段と、前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されておらず、該情報の型と前記記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が本情報処理装置内にある場合は、該処理手段に該情報を渡す制御を行う制御手段を有しており、前記処理手段は、異なる型の複数の情報を処理対象とする、情報処理装置である。
請求項2の発明は、前記制御手段は、前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されている場合は、前記処理手段に該情報を渡す制御を行う、請求項1に記載の情報処理装置である。
請求項3の発明は、前記制御手段は、前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されておらず、該情報の型と前記記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が本情報処理装置内にない場合は、処理手段管理装置から該処理手段を取得する、請求項1に記載の情報処理装置である。
請求項4の発明は、前記情報の型が前記記憶手段に記憶されていない場合は、該情報の型を該記憶手段に記憶させる制御を行う記憶制御手段をさらに有する請求項1に記載の情報処理装置である。
請求項5の発明は、前記受付手段によって受け付けられる情報は、異なる型の情報が同期して送信されたものではない、請求項1に記載の情報処理装置である。
請求項6の発明は、前記受付手段によって受け付けられる情報は、異なる独立したセンサーから送信されてくる情報である、請求項5に記載の情報処理装置である。
請求項7の発明は、前記受付手段は、前記処理手段による処理結果を情報として受け付ける、請求項1に記載の情報処理装置である。
請求項8の発明は、前記処理手段は、前記制御手段から情報を受け付けた場合に、処理対象となる異なる型の情報が不足しているときは、前記処理手段による処理は開始しない、請求項1に記載の情報処理装置である。
請求項9の発明は、前記処理手段は、前記制御手段から情報を受け付けた場合に、処理対象となる異なる型の情報が揃ったときは、前記処理手段による処理を開始する、請求項8に記載の情報処理装置である。
請求項10の発明は、情報処理装置であるコンピュータを、情報を受け付ける受付手段と、前記受付手段によって受け付けられたことのある情報の型を記憶している記憶手段と、前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されておらず、該情報の型と前記記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が前記情報処理装置内にある場合は、該処理手段に該情報を渡す制御を行う制御手段として機能させ、前記処理手段は、異なる型の複数の情報を処理対象とする、情報処理プログラムである。
請求項1の情報処理装置によれば、異なる型の複数の情報を処理対象とする処理手段を対象として、受け付けた情報の処理を行わせることができる。
請求項2の情報処理装置によれば、受け付けた情報の型が既に記憶されている場合は、処理手段にその情報の処理を行わせることができる。
請求項3の情報処理装置によれば、受け付けた情報の型が記憶されておらず、その情報の型と記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が本情報処理装置内にない場合は、処理手段管理装置からその処理手段を取得することができる。
請求項4の情報処理装置によれば、対象としている情報の型が記憶されていない場合は、その情報の型を記憶させることができる。
請求項5の情報処理装置によれば、異なる型の情報が同期して送信されたものではない情報を処理対象とすることができる。
請求項6の情報処理装置によれば、異なる独立したセンサーから送信されてくる情報を処理対象とすることができる。
請求項7の情報処理装置によれば、処理手段による処理結果をも処理対象とすることができる。
請求項8の情報処理装置によれば、処理対象となる異なる型の情報が不足しているときは、その処理手段による処理は開始させないようにすることができる。
請求項9の情報処理装置によれば、処理対象となる異なる型の情報が揃ったときに、処理手段による処理を開始することができる。
請求項10の情報処理プログラムによれば、異なる型の複数の情報を処理対象とする処理手段を対象として、受け付けた情報の処理を行わせることができる。
本実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態を利用したシステム構成例を示す説明図である。 本実施の形態の構成例についての具体的なモジュール構成図である。 本実施の形態による処理例を示すフローチャートである。 データタイプ付与後データのデータ構造例を示す説明図である。 モジュール管理テーブルのデータ構造例を示す説明図である。 モジュール管理テーブルのデータ構造例を示す説明図である。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示すフローチャートである。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスクドライブ、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
本実施の形態である情報処理装置100は、受信した複数のデータの型(タイプ、データタイプ)に応じたモジュールに処理を行わせる機能を有しており、図1の例に示すように、受付モジュール105、記憶モジュール110、制御モジュール115、処理モジュール群125を有している。
特許文献1に記載の技術では、受信したデータの内容に応じて、それを処理するのに適したモジュールを動的に取得し、受信したデータの処理を実行させることができる。
しかし、この技術は、複数の型(種類)の受信データを組み合わせた処理については考慮されていない。
複数の型のデータを組み合わせて処理を実行したい場合がある。例えば、体温と脈拍数から簡易診察を行うモジュール等がある。
情報処理装置100では、複数の受信したデータの型(又は、その組み合わせ)に応じて、そのデータの組み合わせを処理することができるモジュールを動的に取得する。
受付モジュール105は、制御モジュール115、処理モジュール群125と接続されており、また、通信回線を介してセンサーA:180A、センサーB:180B等と接続されている。受付モジュール105は、センサーA:180A、センサーB:180B等のそれぞれから情報を受け付ける。一方、各センサー180は、通信回線を介して情報処理装置100の受付モジュール105と接続されており、情報処理装置100(受付モジュール105)に対して、情報を渡す。その際に、情報に型を付与する。センサー180は、例えば、後述するようにセンサーであって、センサー結果を情報処理装置100に送信する。
また、受付モジュール105によって受け付けられる情報は、異なる型の情報が同期して送信されたものではなくてもよい。例えば、受付モジュール105によって受け付けられる情報は、異なる独立したセンサーから送信されてくる情報であってもよい。いわゆるIoT(Internet of Things)において、さまざまなセンサーから送信されてくるデータを対象とすることができるようになる。その場合、それぞれのセンサーは独立しているので(そのセンサーの都合に合わせて情報は送信されてくるので)、処理モジュールは処理対象とするデータ群(異なる型の複数の情報)を同期して取得することはできない。
また、受付モジュール105は、センサー180からの情報だけでなく、処理モジュール130による処理結果を情報として受け付けるようにしてもよい。
記憶モジュール110は、制御モジュール115の記憶制御モジュール120と接続されている。記憶モジュール110は、受付モジュール105によって受け付けられたことのある情報の型を記憶している。
制御モジュール115は、記憶制御モジュール120を有しており、受付モジュール105、処理モジュール群125と接続されており、また、通信回線を介して処理モジュール管理装置190と接続されている。制御モジュール115は、受付モジュール105によって受け付けられた情報の型が記憶モジュール110に記憶されておらず、その情報の型と記憶モジュール110に記憶されている型との組み合わせを処理対象とする処理モジュール130が処理モジュール群125(つまり、本情報処理装置100内)にある場合は、その処理モジュール130にその情報を渡す制御を行う。
また、制御モジュール115は、受付モジュール105によって受け付けられた情報の型が記憶モジュール110に記憶されている場合は、対応する処理モジュール130にその情報を渡す制御を行うようにしてもよい。
また、制御モジュール115は、受付モジュール105によって受け付けられた情報の型が記憶モジュール110に記憶されておらず、その情報の型と記憶モジュール110に記憶されている型との組み合わせを処理対象とする処理モジュール130が処理モジュール群125にない場合は、処理モジュール管理装置190からその処理モジュール130を取得するようにしてもよい。
記憶制御モジュール120は、記憶モジュール110と接続されている。記憶制御モジュール120は、受付モジュール105によって受け付けられた情報の型が記憶モジュール110に記憶されていない場合は、その情報の型を記憶モジュール110に記憶させる制御を行う。
処理モジュール群125は、処理(A)モジュール130A、処理(B)モジュール130B等を有しており、受付モジュール105、制御モジュール115と接続されている。処理モジュール群125は、処理モジュール130群を管理する。
各処理モジュール130は、異なる型の複数の情報を処理対象とする。処理モジュール130として、例えば前述したように、体温と脈拍数(異なる型である2つの情報)から簡易診察を行うモジュール等がある。
また、各処理モジュール130は、制御モジュール115から情報を受け付けた場合に、処理対象となる異なる型の情報が不足しているときは、その処理モジュール130による処理は開始しないようにしてもよい。
また、各処理モジュール130は、制御モジュール115から情報を受け付けた場合に、処理対象となる異なる型の情報が揃ったときは、その処理モジュール130による処理を開始するようにしてもよい。
処理モジュール管理装置190は、通信回線を介して情報処理装置100の制御モジュール115と接続されている。処理モジュール管理装置190は、複数の処理モジュール130を管理しており、情報処理装置100(制御モジュール115)からの要求にしたがって、処理モジュール130を情報処理装置100に送信する。
図2は、本実施の形態を利用したシステム構成例を示す説明図である。
情報処理装置100は、通信回線を介してセンサーA:180A、センサーC:180Cと接続されている。
情報処理装置100、センサーB:180B、センサーD:180D、センサーE:180E、処理モジュール管理装置190、ユーザー端末250は、それぞれ通信回線290を介して接続されている。センサー180は、前述したように例えば、IoTセンサーである。
ユーザー端末250は、情報処理装置100に対してセンサー180の働き(例えば、ユーザー端末250のユーザーの情報を送信すること)を有していてもよいし、情報処理装置100(処理モジュール130)による処理結果を提示するようにしてもよい。
例えば、情報処理装置100は、センサーA:180A、センサーC:180C、センサーB:180B、センサーD:180D、センサーE:180E、ユーザー端末250から情報を受信し、それらの複数の異なる型である情報を処理し、その処理結果をユーザー端末250に送信する。もしも、それらの情報を処理できるモジュールを情報処理装置100内に有していない場合は、処理モジュール管理装置190に要求して取得する。
情報処理装置100は、いわゆるPub/Sub(Publish/Subscribe)メッセージングモデルの形態で所望のデータ処理を行うシステムである。情報処理装置100において、受信したデータの処理に必要なモジュールの取得を自動的に行う。
受信したデータとして、センサー180から受信した生データであってもよいし、受信したデータを処理モジュール130で加工したデータであってもよい。
そして、情報処理装置100内では、受信したデータの型(その組み合わせ)に応じて処理に必要なモジュールが決定される。決定したモジュールが情報処理装置100内にある場合は、そのモジュールにデータを渡し、処理を行わせる。決定したモジュールが情報処理装置100内にない場合は、そのモジュールを処理モジュール管理装置190から取得して、そのモジュールに処理を行わせる。
図3は、本実施の形態の構成例についての具体的なモジュール構成図である。体温測定デバイス380A、脈拍測定デバイス380Bはセンサー180の具体例であり、Pub/Subサーバ300は情報処理装置100の具体例であり、受信モジュール305は受付モジュール105の具体例であり(ただし、体温測定デバイス380A、脈拍測定デバイス380Bに対応している数だけ用意されている)、制御モジュール315は制御モジュール115の具体例であり、簡易診察モジュール330Aは処理モジュール130の具体例であり、モジュール管理サーバ390は処理モジュール管理装置190の具体例である。
体温測定デバイス380Aは、受信モジュール305Aと接続されている。体温測定デバイス380Aは、体温を測定するIoTデバイスの一種であり、その測定結果である体温情報をPub/Subサーバ300に送信する。
脈拍測定デバイス380Bは、受信モジュール305Bと接続されている。脈拍測定デバイス380Bは、脈拍を測定するIoTデバイスの一種であり、その測定結果である脈拍情報をPub/Subサーバ300に送信する。
体温測定デバイス380A、脈拍測定デバイス380Bは、一人の人を測定するが、互いに独立して(つまり、同期制御なしに)、異なるタイプの情報をPub/Subサーバ300に送信する。もちろんのことながら、測定対象の人数に応じて、体温測定デバイス380A、脈拍測定デバイス380Bは、複数あってもよい。
Pub/Subサーバ300は、Pub/Subメッセージングモデルの形態で所望のデータ処理を行うシステムである。
Pub/Subサーバ300上に設置された処理モジュール(簡易診察モジュール330A等)では、自分が処理可能な条件が定義されており、処理要求の到着を待ち受け、処理要求が到着したら処理要求の内容を解釈(フィルター)し、自分で処理可能であると判断した場合は前記処理要求を受け取って処理を実行し、実行結果を通知する。
例えば、処理モジュールの実態としてdllファイルであってもよく、Pub/Subサーバ300で規定されたインタフェースをもつプラグインとして動作するようにしてもよい。
受信モジュール305Aは、体温測定デバイス380A、制御モジュール315と接続されている。受信モジュール305Aは、体温測定デバイス380Aから体温情報を受信し、制御モジュール315に渡す。その際に、体温情報に体温であることを示すデータタイプを付与する。
受信モジュール305Bは、脈拍測定デバイス380B、制御モジュール315と接続されている。受信モジュール305Bは、脈拍測定デバイス380Bから脈拍情報を受信し、制御モジュール315に渡す。その際に、脈拍情報に脈拍であることを示すデータタイプを付与する。
前述したように、受信モジュール305は、IoTデバイス毎に用意された専用のモジュールである。例えば、体温測定デバイス380Aには体温データ受信用の受信モジュール305Aが必要であり、脈拍測定デバイス380Bには脈拍データ受信用の受信モジュール305Bが必要である。
制御モジュール315は、受信モジュール305A、受信モジュール305B、簡易診察モジュール330A、モジュール管理サーバ390と接続されている。制御モジュール315は、受信モジュール305A、受信モジュール305Bから渡された情報を処理するモジュール(ここでは、簡易診察モジュール330A)がPub/Subサーバ300内にあるか否かを判断し、Pub/Subサーバ300内にない場合は、モジュール管理サーバ390から簡易診察モジュール330Aを取得する。そして、その簡易診察モジュール330Aに、受信モジュール305Aから渡された体温情報、受信モジュール305Bから渡された脈拍情報を渡す。
制御モジュール315は、受信モジュール305によって受信されたデータを処理するために、モジュール管理を行う。
受信モジュール305によって受信されたデータに付属しているデータタイプを確認し、そのデータタイプのデータを処理可能な処理モジュールを取得済みかどうかを確認する。
データタイプが新規である場合、このデータを処理可能なモジュールのリストをモジュール管理サーバ390から取得する。そして、今回取得したデータのデータタイプを記録する。
今回取得したデータタイプと過去に取得したデータタイプとの組み合わせ(複数種類のデータタイプ)を処理可能な処理モジュールが存在するかを前述のモジュールリストから探し、存在する場合は該当する処理モジュールをモジュール管理サーバ390から取得する(いわゆるプラグインとして追加する。なお、プラグインとなるのはモジュール自体である。)。存在しない場合は処理を終了する。例えば、過去に「データタイプ:脈拍」の「脈拍データ」を取得しており、今回「データタイプ:体温」の「体温データ」を取得したなら、その2つのデータを使った処理を行う、「簡易診察モジュール330A」を取得する。
対応モジュールが取得済みになった場合、受信したデータを対応する処理モジュールへ送信する。以降、対応する処理モジュールによる受信データの処理が実行される。
モジュール管理サーバ390は、制御モジュール315、簡易診察モジュール330Aと接続されている。モジュール管理サーバ390は、モジュールを管理しており、制御モジュール315からの要求にしたがって、簡易診察モジュール330A等のモジュールを送信する。モジュール管理サーバ390は、処理モジュールと、その処理モジュールの処理に必要なデータの組合せを管理する。例えば、図7で後述するモジュール管理テーブル700として管理する。制御モジュール315から要求があった場合、モジュール管理テーブル700を返信する。そして、処理モジュールの実体(例えば、dllファイル)を管理する。制御モジュール315から要求があった場合、処理モジュールの実体を返信する。
簡易診察モジュール330Aは、制御モジュール315、モジュール管理サーバ390と接続されている。簡易診察モジュール330Aは、制御モジュール315から渡された体温情報、脈拍情報で、その人の簡易診察処理を行う。なお、体温情報、脈拍情報の両方の情報が揃わないと、簡易診察処理を行わない。一方だけの情報を受け取った場合は、その情報を記憶しておき、他方の情報を受け取ったとき(つまり、体温情報、脈拍情報の両方の情報が揃ったとき)に簡易診察処理を行う。
図4は、本実施の形態(情報処理装置100、Pub/Subサーバ300)による処理例を示すフローチャートである。
ステップS400では、データを入力する。具体例として、体温測定デバイス380Aから体温情報を受信し、脈拍測定デバイス380Bから脈拍情報を受信すること等が該当する。そして、受信モジュール305は、例えばデータタイプ付与後データ500を生成する。図5は、データタイプ付与後データ500のデータ構造例を示す説明図である。図5(a)は、データタイプ付与後データ500のデータ構造例を示す説明図である。データタイプ付与後データ500は、データタイプ欄510、データ欄520を有している。データタイプ欄510は、データタイプを記憶している。データ欄520は、データを記憶している。例えば、受信モジュール305Aから受け取ったデータは「データタイプ:体温」であり、そのデータは「36.5」であることを示している。もちろんのことながら、受信モジュール305Bから受け取ったデータは「データタイプ:脈拍」であり、そのデータは脈拍値となる。
なお、図5(b)の例に示すように、データタイプ付与後データ550のようなデータ構造(タグ付きデータ構造)であってもよい。データタイプ付与後データ550も、データタイプ付与後データ500と同様に、「データタイプ:体温」であり、そのデータは「36.5」であることを示している。
ステップS402では、データタイプを確認する。
ステップS404では、新規データタイプであるか否かを判断し、新規データタイプの場合はステップS406へ進み、それ以外の場合はステップS414へ進む。この判断は、過去に受け取ったデータタイプを記憶しておき、対象となっているデータのデータタイプが過去に受け取ったことがあるデータタイプである場合は新規ではないと判断し、対象となっているデータのデータタイプが過去に受け取ったことがないデータタイプである場合は新規であると判断する。例えば、モジュール管理テーブル600を用いる。図6は、モジュール管理テーブル600のデータ構造例を示す説明図である。モジュール管理テーブル600は、データタイプ欄610、処理モジュール欄620を有している。データタイプ欄610は、データタイプを記憶している。処理モジュール欄620は、そのデータタイプのデータを処理対象とする処理モジュールを記憶している。例えば、「データタイプ:脈拍」のデータを過去に受け取っており、そのデータの処理モジュールが「簡易診察モジュール」であることを示している。図5の例での「データタイプ:体温」のデータは、未だ受け取っていないので、ステップS404では「Yes」となる。
ステップS406では、モジュール管理テーブルをモジュール管理サーバ390から取得する。例えば、モジュール管理サーバ390からモジュール管理テーブル700を取得する。図7は、モジュール管理テーブル700のデータ構造例を示す説明図である。
モジュール管理テーブル700は、処理モジュール欄710、処理対象データタイプ欄720を有している。処理モジュール欄710は、処理モジュールを記憶している。処理対象データタイプ欄720は、処理対象データタイプを記憶している。
例えば、「簡易診察モジュール」の処理対象のデータタイプは「体温,脈拍」であることを示しており、「位置測位モジュール」の処理対象データタイプは「RSSI,加速度」であることを示しており、「緊急通報サービス」の処理対象データタイプは「簡易診察結果,位置測位結果」であることを示している。なお、「簡易診察結果」は簡易診察モジュールによる処理結果であり、「位置測位結果」は位置測位モジュールによる処理結果である。
ステップS408では、データタイプを記録する。具体的には、モジュール管理テーブル600に、今回の新規データタイプと処理モジュールを記録する。前述の例では、モジュール管理テーブル600に、「データタイプ:体温」、「処理モジュール:簡易診察モジュール」を記録することになる。
ステップS410では、そのデータタイプを処理対象とする処理モジュールがモジュール管理テーブル700に存在するか否かを判断し、存在する場合はステップS412へ進み、それ以外の場合は処理を終了する(ステップS499)。
ステップS412では、その処理モジュールをモジュール管理サーバ390から取得する。このステップS412では、前述の例のように、処理モジュール(簡易診察モジュール)の処理が可能になったとき(複数のデータが揃ったとき)に、処理モジュール(簡易診察モジュール)を取得する。
なお、複数のデータのうち1つでも受け付けた場合は、その処理モジュールを取得してもよい。ただし、その時点では、その処理モジュールは処理を開始することはできない。そして、その処理モジュールを既に取得している場合は、取得する必要はない。つまり、処理モジュール(簡易診察モジュール)は、複数のデータを処理対象としているので、それらのデータのうちの1つ(前述の例では、データタイプ:脈拍)でも受信モジュール(受信モジュール305)で既に受信している場合は、既に処理モジュールも取得しているので、処理モジュールをモジュール管理サーバ390から取得する必要がない。
ステップS414では、過去にそのデータタイプのデータを渡した処理モジュール130を特定し、ステップS416へ進む。
ステップS416では、その処理モジュールへデータを送信する。前述の例では、データタイプ:体温のデータを、簡易診察モジュールに渡すことになる。
ステップS418では、処理モジュールによる処理を行う。前述の例では、簡易診察モジュールが既に取得しているデータ(データタイプ:脈拍)と今回のデータ(データタイプ:体温)を用いて、簡易診察処理を行うことになる。ステップS418の詳細な処理については、図9の例に示すフローチャートを用いて後述する。
ステップS420では、受付モジュールへ処理モジュールの処理結果を入力する。前述の例では、簡易診察結果が受付モジュールへ渡されることになる。
図8は、本実施の形態(情報処理装置100(Pub/Subサーバ300)と処理モジュール管理装置190(モジュール管理サーバ390))による処理例を示すフローチャートである。
ステップS802では、情報処理装置100は、処理モジュール管理装置190に対して、モジュール管理テーブル700を要求する。
ステップS804では、処理モジュール管理装置190は、要求を受信する。
ステップS806では、処理モジュール管理装置190は、情報処理装置100に対して、モジュール管理テーブル700を送信する。
ステップS808では、情報処理装置100は、モジュール管理テーブル700を受信する。
ステップS810では、情報処理装置100は、処理モジュール管理装置190に対して、対象とする処理モジュール130を要求する。
ステップS812では、処理モジュール管理装置190は、要求を受信する。
ステップS814では、処理モジュール管理装置190は、情報処理装置100に対して、要求された処理モジュール130を送信する。
ステップS816では、情報処理装置100は、処理モジュール130を受信する。
図9は、本実施の形態(処理モジュール130(簡易診察モジュール330A))による処理例を示すフローチャートである。
ステップS902では、処理モジュール130は、データを受け付ける。
ステップS904では、処理モジュール130は、処理対象となるデータの組み合わせが揃ったか否かを判断し、揃った場合はステップS906へ進み、それ以外の場合はステップS908へ進む。例えば、前述の例では、「データタイプ:脈拍」のデータを受け取った段階では、処理対象のデータの組み合わせは揃っていないので、ステップS904では「No」となる。その後、「データタイプ:体温」のデータを受け取った場合、処理対象のデータの組み合わせは揃ったので、ステップS904では「Yes」となる。
ステップS906では、処理モジュール130は、処理を行う。
ステップS908では、処理モジュール130は、データを記憶する。
なお、本実施の形態(情報処理装置100、処理モジュール管理装置190、Pub/Subサーバ300、モジュール管理サーバ390)としてのプログラムが実行されるコンピュータのハードウェア構成は、図10に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU1001を用い、記憶装置としてRAM1002、ROM1003、HDD1004を用いている。HDD1004として、例えば、HDD(Hard Disk Drive)、フラッシュ・メモリであるSSD(Solid State Drive)等を用いてもよい。受付モジュール105、制御モジュール115、記憶制御モジュール120、処理モジュール群125、処理モジュール130、受信モジュール305、制御モジュール315、簡易診察モジュール330A等のプログラムを実行するCPU1001と、そのプログラムやデータを記憶するRAM1002と、本コンピュータを起動するためのプログラム等が格納されているROM1003と、記憶モジュール110等としての機能を有する補助記憶装置であるHDD1004と、キーボード、マウス、タッチスクリーン、マイク、カメラ(視線検知カメラ等を含む)等に対する利用者の操作(動作、音声、視線等を含む)に基づいてデータを受け付ける受付装置1006と、CRT、液晶ディスプレイ、スピーカー等の出力装置1005と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース1007、そして、それらをつないでデータのやりとりをするためのバス1008により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図10に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図10に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)や再構成可能な集積回路(field−programmable gate array:FPGA)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図10に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
100…情報処理装置
105…受付モジュール
110…記憶モジュール
115…制御モジュール
120…記憶制御モジュール
125…処理モジュール群
130…処理モジュール
180…センサー
190…処理モジュール管理装置
250…ユーザー端末
290…通信回線
300…Pub/Subサーバ
305…受信モジュール
315…制御モジュール
330A…簡易診察モジュール
380A…体温測定デバイス
380B…脈拍測定デバイス
390…モジュール管理サーバ

Claims (10)

  1. 情報を受け付ける受付手段と、
    前記受付手段によって受け付けられたことのある情報の型を記憶している記憶手段と、
    前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されておらず、該情報の型と前記記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が本情報処理装置内にある場合は、該処理手段に該情報を渡す制御を行う制御手段
    を有しており、
    前記処理手段は、異なる型の複数の情報を処理対象とする、
    情報処理装置。
  2. 前記制御手段は、前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されている場合は、前記処理手段に該情報を渡す制御を行う、
    請求項1に記載の情報処理装置。
  3. 前記制御手段は、前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されておらず、該情報の型と前記記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が本情報処理装置内にない場合は、処理手段管理装置から該処理手段を取得する、
    請求項1に記載の情報処理装置。
  4. 前記情報の型が前記記憶手段に記憶されていない場合は、該情報の型を該記憶手段に記憶させる制御を行う記憶制御手段
    をさらに有する請求項1に記載の情報処理装置。
  5. 前記受付手段によって受け付けられる情報は、異なる型の情報が同期して送信されたものではない、
    請求項1に記載の情報処理装置。
  6. 前記受付手段によって受け付けられる情報は、異なる独立したセンサーから送信されてくる情報である、
    請求項5に記載の情報処理装置。
  7. 前記受付手段は、前記処理手段による処理結果を情報として受け付ける、
    請求項1に記載の情報処理装置。
  8. 前記処理手段は、前記制御手段から情報を受け付けた場合に、処理対象となる異なる型の情報が不足しているときは、前記処理手段による処理は開始しない、
    請求項1に記載の情報処理装置。
  9. 前記処理手段は、前記制御手段から情報を受け付けた場合に、処理対象となる異なる型の情報が揃ったときは、前記処理手段による処理を開始する、
    請求項8に記載の情報処理装置。
  10. 情報処理装置であるコンピュータを、
    情報を受け付ける受付手段と、
    前記受付手段によって受け付けられたことのある情報の型を記憶している記憶手段と、
    前記受付手段によって受け付けられた情報の型が前記記憶手段に記憶されておらず、該情報の型と前記記憶手段に記憶されている型との組み合わせを処理対象とする処理手段が前記情報処理装置内にある場合は、該処理手段に該情報を渡す制御を行う制御手段
    として機能させ、
    前記処理手段は、異なる型の複数の情報を処理対象とする、
    情報処理プログラム。
JP2018219481A 2018-11-22 2018-11-22 情報処理装置及び情報処理プログラム Pending JP2020086851A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018219481A JP2020086851A (ja) 2018-11-22 2018-11-22 情報処理装置及び情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018219481A JP2020086851A (ja) 2018-11-22 2018-11-22 情報処理装置及び情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2020086851A true JP2020086851A (ja) 2020-06-04

Family

ID=70908222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018219481A Pending JP2020086851A (ja) 2018-11-22 2018-11-22 情報処理装置及び情報処理プログラム

Country Status (1)

Country Link
JP (1) JP2020086851A (ja)

Similar Documents

Publication Publication Date Title
EP3223143B1 (en) Information processing apparatus, control method, and storage medium
JP4668347B2 (ja) 情報サービス提供システム、情報サービス提供装置およびその方法
EP3702900A1 (en) Image formation apparatus, control method therefor, and computer readable storage medium
US9134887B2 (en) Multi-device visual correlation interaction
US20150249769A1 (en) Image forming apparatus, method for controlling image forming apparatus, and storage medium
KR20180051409A (ko) 관리 시스템 및 제어 방법
US20160065758A1 (en) Method and system for controlling operation of image forming apparatus by using wearable device
JP5891881B2 (ja) 情報処理装置及び情報処理プログラム
US9104354B2 (en) Information processing apparatus, control method, and storage medium setting filter information for permitting communication with another information processing apparatus
US20180132090A1 (en) Information processing apparatus and control method therefor, portable terminal and control method therefor, and service providing system
JP6531601B2 (ja) 診断プログラム、診断方法および診断装置
US20160094659A1 (en) Information processing system and information processing method
JP2020086851A (ja) 情報処理装置及び情報処理プログラム
JP5853978B2 (ja) 情報処理装置及び情報処理プログラム
US20170126919A1 (en) Information processing system and information processing method
JP2012155450A (ja) 中継装置、中継方法およびプログラム
JP2019160287A (ja) サーバ装置、クライアント端末、情報処理方法およびプログラム
CN111107129A (zh) 信息处理装置和其方法及存储介质
US9223532B1 (en) Devices, systems, and methods for communicating with an image-forming device
US11050841B2 (en) User profile sharing
JP7279439B2 (ja) ネットワーク機器、ログ記録方法、およびプログラム
JP7341690B2 (ja) 情報処理装置、方法、及びプログラム
JP6609155B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2008287725A (ja) リモート処理サービス・システムおよび方法
JP6883196B2 (ja) 処理装置、情報処理装置、処理システム、処理プログラム及び情報処理プログラム