(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-06
(45)【発行日】2022-12-14
(54)【発明の名称】データ流通管理システム、データ流通管理支援装置およびデータ流通管理方法
(51)【国際特許分類】
G06F 8/60 20180101AFI20221207BHJP
G06Q 50/10 20120101ALI20221207BHJP
G06F 21/10 20130101ALI20221207BHJP
【FI】
G06F8/60
G06Q50/10
G06F21/10
(21)【出願番号】P 2018232571
(22)【出願日】2018-12-12
【審査請求日】2021-04-15
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】小林 美都成
(72)【発明者】
【氏名】大崎 裕之
(72)【発明者】
【氏名】小牧 大輔
(72)【発明者】
【氏名】木下 順史
【審査官】関口 明紀
(56)【参考文献】
【文献】特開2010-039955(JP,A)
【文献】特開2004-046450(JP,A)
【文献】特開2017-228127(JP,A)
【文献】特開2001-101093(JP,A)
【文献】TRUONG, H.-L.,Towards a Resource Slice Interoperability Hub for IoT,2018 IEEE International Conference on Cloud Engineering (IC2E) [online],2018年04月17日,pp. 310-316,[retrieved on 2022-04-14], Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/abstract/document/8360347>,<DOI: 10.1109/IC2E.2018.00066>
【文献】MACHANICK, P.,Streaming vs.latency in information mass-transit,ACM SIGARCH Computer Architecture News [online],1998年12月01日,Vol. 26, No. 5,pp. 4-6,[retrieved on 2022-04-22], Retrieved from the Internet: <URL: https://dl.acm.org/doi/10.1145/306240.306242>,<DOI: 10.1145/306240.306242>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/60
G06Q 50/10
G06F 21/10
(57)【特許請求の範囲】
【請求項1】
端末デバイスから収集される端末データの送信先のデータ仕様を管理する管理部と、
前記管理部で管理される前記送信先のデータ仕様に基づいてデプロイされ、前記端末データの仕様変更に関する処理を実行する処理ノード
と、
前記処理ノードを管理するノード管理テナントを備え
、
前記端末データを提供する提供者および前記端末データを利用する利用者ごとに前記ノード管理テナントを設けるデータ流通管理システム。
【請求項2】
前記ノード管理テナントを前記送信先ごとに設ける請求項1に記載のデータ流通管理システム。
【請求項3】
前記提供者から前記利用者に提供されるコンテンツに含まれるデータ項目ごとに提供の有無および提供相手の範囲を定義する請求項
1に記載のデータ流通管理システム。
【請求項4】
前記端末データが送信される時に利用されるエンドポイントの識別子である1つの参照データパスに対して、前記ノード管理テナントごとに前記処理ノードのアドレスが設定される請求項
1に記載のデータ流通管理システム。
【請求項5】
前記端末データの仕様変更に関するデータ変換機能がテンプレート化されたパッケージを管理するレポジトリと、
前記データ仕様変更に関するパラメータを前記パッケージに設定するマッピング部と、
前記パラメータが設定されたパッケージを前記ノード管理テナントとしてデプロイするデプロイ実行部とを備える請求項
1に記載のデータ流通管理システム。
【請求項6】
前記デプロイ実行部は、
前記端末データに含まれるコンテンツについて、テキスト、画像および動画のデータ形式と、前記端末データの送信形態およびデータ提供のプロトコルを含むデータ提供方式と、前記データ提供のレイテンシ、スループットおよび同時接続端末数を含む性能要件に基づいて、前記テンプレート化されたパッケージを選択する請求項
5に記載のデータ流通管理システム。
【請求項7】
前記処理ノードは、
前記端末データのデータ構造を前記送信先のデータ仕様で定義されたデータ構造に変換し、
前記データ構造が変換されたデータのバッファリングによるストリーミングデータのバッチデータ化または前記データ構造が変換されたデータのサンプリングを実行する請求項1に記載のデータ流通管理システム。
【請求項8】
前記送信先のデータ仕様または外部入力に基づいて、前記バッチデータの作成に必要なバッチ間隔を含む情報を補完し、
前記送信先のデータ仕様または外部入力に基づいて、前記サンプリングの対象データの識別子およびサンプリングレートを含む情報を補完する請求項
7に記載のデータ流通管理システム。
【請求項9】
前記送信先のデータ仕様のコンテンツに構造化テキストデータが含まれる場合、
前記端末データのデータ仕様のコンテンツ定義と前記送信先のデータ仕様のコンテンツ定義を取得し、
前記端末データに含まれるデータ項目の削除または項目名の変更を施す請求項
7に記載
のデータ流通管理システム。
【請求項10】
前記処理ノードを管理するノード管理テナントを備え、
前記ノード管理テナントを前記端末データの内容に応じて分ける請求項1に記載のデータ流通管理システム。
【請求項11】
前記端末データを利用する利用者の業務に関する業務指標に基づいて、前記ノード管理テナントを分ける請求項1
0に記載のデータ流通管理システム。
【請求項12】
前記端末デバイスごとまたは前記端末データに含まれる識別子ごとに前記業務指標を管理し、
前記端末デバイスから取得した端末データに基づいて前記業務指標を算出し、
前記管理する業務指標と前記算出した業務指標との比較結果に基づいて、前記算出した業務指標に対応したノード管理テナントをデプロイする請求項1
1に記載のデータ流通管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ流通の柔軟性を向上させることが可能なデータ流通管理システム、データ流通管理支援装置およびデータ流通管理方法に関する。
【背景技術】
【0002】
近年、企業や自治体が他の組織に向けて所有データを公開するオープンデータや、REST API(Representational State Transfer Application Programming Interface)を通じて組織間の枠を超えたデータ流通を促すAPIエコノミーの機運が高まっている。
【0003】
このような異業種・企業間のデータ流通は、事業分野を超えたデータの利活用により、複数のステークホルダが関与した複雑な社会的課題の解決を目ざす新規システムの開発に重要な位置を占めている。また、IoT(Internet of Things)やセンシング技術の向上により、各企業が管理するデータ生成端末デバイスから得られるデータの質および量が大幅に増加している。上述した潮流を受けて、自社管理端末デバイスで生成されるデータの仕様を柔軟に変更させながら流通を図ることが求められる。
【0004】
このようなデータを利用するシステムでは、仕様変更前のデータに密に依存した固定的なシステム設計が施されている場合が多い。このため、データ仕様を変更すると、稼働中の既存・新規システムへの影響が波及されるため、データの仕様変更のハードルは高い。
【0005】
こうした課題に関連する技術として、特許文献1に開示されたデータ流通管理システムがある。特許文献1に開示されたデータ流通管理システムでは、データ提供者から提供されるデータの仕様と、利用者が希望するデータの仕様のマッチングを行うマッチング手段と、マッチングが成立したデータの流通契約を管理する手段と、契約によって提供されるデータを利用者側の端末デバイスに配信する手段を備えている。このデータ流通管理システムは、データ提供者と利用者がそれぞれ提示した固定的なデータの仕様をマッチングする手段を提供する。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1には、マッチングしたデータの配信開始後にデータ提供者が管理する端末デバイスで生成されるデータ(上記データ流通管理システムに提供するデータ)の仕様が変更された場合に、データ利用者が求めるデータを継続的に流通させる方法の開示はない。
【0008】
本発明は、上記事情に鑑みなされたものであり、その目的は、データ流通の柔軟性を向上させることが可能なデータ流通管理システム、データ流通管理支援装置およびデータ流通管理方法を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、第1の観点に係るデータ流通管理システムは、端末デバイスから収集される端末データの送信先のデータ仕様を管理する管理部と、前記管理部で管理される前記送信先のデータ仕様に基づいてデプロイされ、前記端末データの仕様変更に関する処理を実行する処理ノードを備える。
【発明の効果】
【0010】
本発明によれば、データ流通の柔軟性を向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、第1実施形態に係るデータ流通管理システムの構成を示すブロック図である。
【
図2】
図2は、
図1の利用時入力データの一例を示す図である。
【
図3】
図3は、
図1の利用者情報管理テーブルの一例を示す図である。
【
図4】
図4は、
図1のデータスキーマ管理テーブルの一例を示す図である。
【
図5】
図5は、
図1のノード設定管理テーブルの一例を示す図である。
【
図6】
図6は、
図1のリクエスト転送先情報管理テーブルの一例を示す図である。
【
図7】
図7は、
図1のデータ流通管理システムのテータ提供者向けの動作を示すフローチャートである。
【
図8】
図8は、
図1のデータ流通管理システムのテータ利用者向けの動作を示すフローチャートである。
【
図9】
図9は、
図1のシステム管理部の登録時の動作を示すフローチャートである。
【
図10】
図10は、
図1のシステム管理部による処理ノードのデプロイ時の動作を示すフローチャートである。
【
図12】
図12は、第2実施形態に係るデータ流通管理システムの構成を示すブロック図である。
【
図18】
図18は、
図12のデータ流通システム動的管理部の登録時の動作を示すフローチャートである。
【
図19】
図19は、
図12のデータ流通管理システムの性能指標変更時の動作を示すフローチャートである。
【
図20】
図20は、
図1のデータ流通管理システムのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0012】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている諸要素およびその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0013】
図1は、第1実施形態に係るデータ流通管理システムの構成を示すブロック図である。
図1において、データ流通管理システム100は、システム管理部102と、システム実行部103を備える。データ流通管理システム100は、利用者コンソール101と、端末データ受付部106と、データ提供者システム107と、データ利用者システム108に接続されている。
【0014】
データ流通管理システム100は、端末デバイス105から収集されるIoTデータなどを、企業171および組織172の枠を超えて流通させる場合、端末デバイス105が生成するデータ(端末データと言う)のデータ仕様(IoTデータのデータ構造や、ストリーミング配信などの配信方式など)をデータ提供者およびデータ利用者ごとに柔軟に変更して流通させる。
【0015】
データ仕様は、端末デバイス105から送信される端末データに関して、例えば、端末データに含まれる項目の追加や変更、ストリーミング方式などのデータ配信方式および送信時のレイテンシなどの性能要件などを指す。
【0016】
データ提供者は、端末データを生成する端末デバイス105を保有および管理する企業、組織および個人を指す。多くの場合、データ提供者は、企業であるが、自社の既存業務で利用するために端末デバイス105を保有し、端末データを収集している。
【0017】
データ利用者は、データ提供者が管理する端末デバイス105で生成された端末データの流通を受け、その端末データを利用する企業、組織または個人を指す。
【0018】
利用者コンソール101は、データ流通管理システム100が提供するデータ流通管理機能をシステム利用者が利用するためのインターフェースである。システム利用者は、上記のデータ提供者とデータ利用者の双方を指す。システム利用者は、利用者コンソール101を用いて、利用時入力データ109を入力することができる。利用時入力データ109は、システム利用者に提供されるデータのデータ仕様をシステム利用者ごとに指定することができる。
【0019】
端末デバイス105は、データ流通管理システム100を介して流通される端末データを生成する。端末デバイス105は、例えば、スマートフォンなどの携帯端末、工場機器に設置されたセンサ、救急車両の管制センタに位置情報や患者の容体をセンシングしたデータを送信する救急車などである。
【0020】
端末データ受付部106は、端末デバイス105が生成した端末データの入力を受け付け、システム実行部103へ転送する。
【0021】
データ提供者システム107は、自社が保有および管理する端末デバイス105の端末データが、データ流通管理システム100を経由して提供される。データ提供者である企業A171は、データ提供者システム107を利用する。企業A171は、複数の端末デバイス105を含む端末グループ174を管理する。
【0022】
データ利用者システム108は、他社が保有および管理する端末デバイス105から生成された端末データを、データ流通管理システム100を経由して受ける。データ利用者である組織B172は、データ利用者システム108を利用する。
【0023】
システム管理部102は、端末デバイス105から収集される端末データの送信先のデータ仕様を管理する。このとき、システム利用者が入力する各種情報や、システム利用者によって希望される提供データのモデル変換処理およびサンプリング処理などを実行するノードパッケージや、ノードパッケージをデプロイする際に必要になるパラメータを管理したり、ノードパッケージをデプロイしたりする。
【0024】
ノードパッケージは、端末データの仕様変更に関わる機能要件および非機能要件の達成を目的とした処理ノード131の構築(デプロイ)を自動化するスクリプト群である。ノードパッケージは、処理ノード131を構成するミドルウェアの導入・構築処理やミドルウェアを実行制御するプログラムのほか、ミドルウェアが導入された計算リソースのクラスタリングやネットワーク設定などを含んでいてもよい。また、ノードパッケージは、構築された処理ノード131内で実施されるデータ構造変換処理プログラムが一部に含まれていてもよい。このスクリプトの実行によって、入力されたリクエストデータ(端末データ)のモデル変換やストリーミングデータのサンプリングなどを実行する処理ノード131の構築や処理実行がなされる。処理ノード131の実態は、VirtualMachine(VM)、Container(コンテナ)またはクラウドサービス型のデータ処理機能であってもよい。
【0025】
ノードパッケージを実現する具体的な製品として、コンテナベースのITシステム構成管理ツールであるGoogle社が開発するKubernetesや、Redhat社が開発するAnsibleなどが挙げられる。
【0026】
システム実行部103は、端末データ(リクエストデータ)を受け付け、データ提供先システムごとにデプロイされる個々のノード管理テナント123へ入力データを複製して転送したり、転送されたデータを処理してデータ提供先システムに送信したりする。データ提供先システムは、データ提供者システム107とデータ利用者システム108である。
【0027】
ここで、ノード管理テナント123は、システム利用者ごとに別個のものとしてデプロイされる。そして、ノード管理テナント123は、システム利用者ごとに提供を受けたいデータの仕様に適合するように、1種類の端末データのデータ仕様を変換することができる。これにより、データ流通管理システム100は、端末データのデータ仕様が変更された場合においても、システム利用者ごとに提供を受けたいデータの仕様に適合させることができ、システム利用者が求めるデータを継続的に流通させることができる。
【0028】
以下、システム管理部102およびシステム実行部103の構成および動作について詳細に説明する。
【0029】
システム管理部102は、システム操作API(Application Programming Interface)提供部111と、利用者情報管理テーブル112と、データスキーマ管理テーブル113と、ノード設定管理テーブル115と、ノード設定マッピング部116と、デプロイ実行部117と、パッケージ管理レポジトリ118を備える。
【0030】
システム操作API提供部111は、利用者コンソール101を通じて、データ流通管理システム100を利用する企業A171や組織B172と、データ流通管理システム100の間で必要な情報のやり取りを行い、その情報を利用者情報管理テーブル112と、データスキーマ管理テーブル113と、ノード設定管理テーブル115へ分配して格納する。
【0031】
利用者情報管理テーブル112は、システム操作API提供部111に入力された利用者情報や、システム実行部103でデータ処理を実施する処理ノード131のノード設定情報などを登録する。
【0032】
データスキーマ管理テーブル113は、データ流通管理システム100で流通するデータのデータスキーマの定義をシステム利用者ごとに登録する。例えば、データスキーマ管理テーブル113は、端末データのコンテンツに含まれるデータ項目ごとに提供の有無や提供相手の範囲を管理することができる。データ提供者である企業A171の場合は、端末データに含まれるデータスキーマと、自社が受け取る出力データのデータスキーマの2つを持つ。データ利用者である組織B172の場合は、他者から受け取る出力データのデータスキーマのみを持つ。
【0033】
ノード設定管理テーブル115は、パッケージ管理レポジトリ118で蓄積される個々のノードパッケージについて、予め作成されたパラメータ設定のメタ情報などを登録する。例えば、ノード設定管理テーブル115は、データコンテンツにつき、テキスト、画像および動画データなどのデータ形式や、データ提供方式につき、データ配信形態(逐次配信、バッチデータ配信など)とデータ提供のプロトコル(HTTPかWebSocketなど)や、性能要件につき、レイテンシ、スループットおよび同時接続端末数などのデータ仕様に関する種々の条件を踏まえてテンプレート化されたノードパッケージを管理することができる。
【0034】
ノード設定マッピング部116は、システム利用者が求める機能要件および非機能要件をデプロイ可能なノードパッケージの設計にマッピングする。例えば、ノード設定マッピング部116は、データスキーマに沿って入出力データ間のデータモデル変換を実行したり、入力データをサンプリングしたりする機能を持つ処理ノード131のデプロイに関して、処理ノード131のデプロイスクリプトであるノードパッケージの選択やパッケージデプロイ時に入力するパラメータを補完したりする。
【0035】
例えば、ノード設定マッピング部116は、ストリーミングデータのバッチデータ化については、システム利用者に提供されるデータのデータ仕様またはデータ利用者などからの入力により、バッチデータ作成に必要なバッチ間隔などの情報を必要に応じて補完したり、サンプリング対象のデータを識別する識別子やサンプリングレートなどの情報を必要に応じて補完したりすることができる。また、ノード設定マッピング部116は、システム利用者に提供されるデータのデータ仕様のコンテンツに構造化テキストデータ(JSON(JavaScript(登録商標) Object Notation)やCSV(Comma-Separated Values))が含まれる場合に、システム利用者に提供されるデータのデータ仕様のコンテンツ定義と、端末デバイス105から得られる端末データのデータ仕様のコンテンツ定義の双方を入力として得ることにより、端末データに含まれるデータ項目の削除や項目名の変更を施すことができる。
【0036】
デプロイ実行部117は、ノード設定マッピング部116が算出したノードパッケージおよびパラメータを入力として受け付け、システム実行部103に処理ノード131をデプロイする。ここで、処理ノード131をデプロイすることにより、ストリーミングデータのバッチデータ化やサンプリングなどのデータ処理機能と、端末データのデータ構造を送信先のデータ構造に変換するデータ構造変換機能をゲートウェイ上で実現することができる。
【0037】
パッケージ管理レポジトリ118は、パッケージ管理者173が提供するノードパッケージを蓄積し、管理する。
【0038】
システム実行部103は、リクエスト転送先情報管理テーブル121と、リクエスト複製・転送実行部122と、ノード管理テナント123を備える。
【0039】
リクエスト転送先情報管理テーブル121は、端末データをリクエストデータとして受け付けるデータパス情報や送信先情報と、リクエストデータを処理ノード131へ転送する際に必要な処理ノード131のアドレス情報などを管理する。
【0040】
リクエスト複製・転送実行部122は、端末データ受付部106から入力された端末データを複製し、システム利用者ごとに用意されるノード管理テナント123で管理される各処理ノード131へ転送する。例えば、ノード管理テナント123は、システム利用者ごとに分離されているため、リクエスト複製・転送実行部122は、端末デバイス105から送信された1つのリクエストデータを複製し、企業A171と組織B172のそれぞれのノード管理テナント123に転送する。リクエストデータは、リクエスト転送先情報管理テーブル121が示す処理ノード131のアドレスへ転送される。
【0041】
ノード管理テナント123は、システム利用者ごとに用意される処理ノード131が稼働する。ノード管理テナント123は、システム実行部103が稼働するサーバシステム以外にも、パブリッククラウドやプライベートクラウド上に構築されてもよい。ノード管理テナント123は、システム利用者ごとに作成され、処理ノード131が格納される論理的に分割されたネットワーク環境である。
【0042】
システム実行部103内部では、ノード管理テナント123の作成時にノード管理テナント123のドメイン名が生成され、リクエスト転送先情報管理テーブル121に登録される。ドメイン名のほか、テナント名によりノード管理テナント123へのデータ通信が可能であってもよい。ノード管理テナント123の例として、Amazon Web ServiceのVPC(Virtual Private Cloud)などがある。ノード管理テナント123は、処理ノード131へのロードバランシング機能を提供し、ノード管理テナント123に対するデータ入力をノード管理テナント123内の処理ノード131へルーティングする。
【0043】
また、処理ノード131が端末データのサンプリング機能を提供する場合、任意の端末データは特定の処理ノード131に入力される必要があるが、ノード管理テナント123で実行されるロードバラインシング機能は、例えば、端末デバイス105のアドレス情報や、入力データに含まれるデータ項目をキーにして、任意の端末データを適切な処理ノード131へ振り分ける機能を提供してもよい。
【0044】
ノード管理テナント123は、処理ノード131を備える。各処理ノード131は、データ処理部132と、リクエストデータ送受信部133を備える。
【0045】
処理ノード131は、システム管理部102で管理される送信先のデータ仕様に基づいてデプロイされ、端末データの仕様変更に関する処理を実行する。このとき、処理ノード131は、リクエスト複製・転送実行部122を経由して入力されるリクエスト情報に対して、データモデル変換、サンプリングおよびマイクロバッチ化などの処理を施す。例えば、処理ノード131は、端末デバイス105から受信した端末データのコンテンツに含まれるデータのデータ構造を、システム利用者に提供されるデータのデータ仕様で定義されたデータ構造に変換したり、その変換データのバッファリングによるストリーミングデータのバッチデータ化やサンプリングなどの処理を実行したりする。処理ノード131は、VM(Virtual Machine)やコンテナのほか、クラウドサービスとして提供される関数実行型の計算リソースとして提供されてもよい。
【0046】
データ処理部132は、データモデル変換、サンプリングおよびマイクロバッチ化などの処理ロジックの実行機能を提供する。処理ロジックは、ノードパッケージに予め含まれていてもよい。この場合、データ処理部132は、処理ノード131のデプロイ時のパラメータに含まれる入出力データスキーマを動的に読み込み、データ構造を変換するプログラムや、パラメータに指定されたサンプリングレートで入力されたリクエストデータのサンプリングなどを実行する。
【0047】
リクエストデータ送受信部133は、処理ノード131で処理したリクエストデータを別の処理ノード131との間で送受信したり、データ提供先システムへ送信したりする。特に、データの送信に必要なアドレス情報は、処理ノード131の作成時のパラメータ、あるいはリクエスト転送先情報管理テーブル121の情報が更新されたタイミングで入力されてもよい。
【0048】
図2は、
図1の利用時入力データの一例を示す図である。
図2において、利用時入力データ109は、システム利用者がシステム利用開始時に入力する。利用時入力データ109により、データ流通管理システム100内で処理される端末データに対する処理種別や、処理したデータの送信先情報を設定する。
【0049】
利用時入力データ109は、データ提供者による入力データ201か、データ利用者による入力データ202かで異なる。データ提供者による入力データ201は、端末デバイス105から受信する入力データのデータスキーマを含む場合があるが、データ利用者による入力データ202ではこれを必要としない。これは、データ提供者と異なり、データ利用者は、端末デバイス105を管理しないことによる。
【0050】
いずれの入力データ201、202も、利用者情報211と、データスキーマ212と、流通情報213と、システム要件214を含む。
【0051】
利用者情報211は、システム利用者を識別する情報である。システム利用者を識別する識別子は、企業や企業内組織のような団体名を用いてもよいし、英数字からなる識別子を新たに付与してもよい。
【0052】
データスキーマ212は、端末データのデータスキーマ(入力データスキーマ)や、システム利用者がデータ流通管理システム100からデータを受ける際に期待する送信(出力)データのデータスキーマ(出力データスキーマ)で構成される。出力データのデータスキーマは、システム利用者に提供されるデータのデータ仕様の一部を構成する情報である。
【0053】
流通情報213は、端末デバイス105が端末データ受付部106にリクエストデータを入力する際のデータパス情報である。このデータパス情報は、データ流通管理システム100内で端末データを識別する際に利用してもよい。出力データ送信先は、処理ノード131で処理されたデータの送信先情報である。
【0054】
システム要件214は、端末デバイス105から収集されるリクエストデータのデータ仕様のうち、データモデル以外の仕様に関する情報である。機能要件として、サンプリング、マイクロバッチ化、あるいはストリームデータ化などの出力形態や、処理ノード131の実行箇所を定義するデプロイ先に関する要件が含まれていてもよい。また、非機能要件として、出力形態に関してサンプリングレートに関する情報や、ストリームデータを送信するまでのレイテンシ性能や、見込みスループットなどの性能に関する要件が含まれていてもよい。
【0055】
図3は、
図1の利用者情報管理テーブルの一例を示す図である。
図3において、利用者情報管理テーブル112は、データ流通管理システム100の利用者情報を記録する。
【0056】
利用者情報管理テーブル112は、利用組織ID311と、参照データパス312と、出力データ送信先313と、データ管理者フラグ314と、スキーマID315と、ノード設計パターン情報316と、テナント名317を含む。
【0057】
利用組織ID311は、データ流通管理システム100を利用する企業、組織あるいはそれらの部門や個人ごとに割り当てられる識別子情報である。利用組織ID311は、利用者情報管理テーブル112の各行321~323ごとに割り当てられる。利用組織ID311は、利用時入力データ109の利用者情報211から作成されてもよいし、データ流通管理システム100から割り当てられたものでもよい。
【0058】
参照データパス312は、端末デバイス105が送信データ受付部106にデータを送信する際に利用するエンドポイントの識別子であり、REST APIにおけるリソース名に相当する。参照データパス312は、データ提供者が入力した利用時入力データ109によって決定されているが、データ流通管理システム100が一意なものを決定してもよい。
【0059】
出力データ送信先313は、データ提供者とデータ利用者のそれぞれにおいて、データ流通管理システム100で処理されたデータの送信を受けるシステムのアドレス情報である。これは、利用時入力データ109に定義されることを想定するが、データの送信を受けるシステムの管理者によって、利用者コンソール101から変更可能であってもよい。
【0060】
データ管理者フラグ314は、データ提供者であるかデータ利用者であるかを識別する情報である。
【0061】
スキーマID315は、システム利用者ごとにデータスキーマ管理テーブル113に定義される情報である。スキーマID315は、データ提供者については、管理する端末デバイス105から入力されるデータのスキーマと、データ流通管理システム100から送信されるデータ(出力データ)のデータスキーマが定義される。データ利用者については、データ流通管理システム100から送信されるデータ(出力データ)のデータスキーマのみが定義される。
【0062】
ノード設計パターン情報316は、システム利用者ごとに用意されるノード管理テナント123にデプロイされる処理ノード131の設計情報を管理する。ノード設計パターン情報316は、システム利用者によって直接入力されるのではなく、利用時入力データ109などに基づきノード設定マッピング部116によって追記される。
【0063】
テナント名317は、処理ノード131がデプロイされるノード管理テナント123を識別するための情報である。テナント名317は、システム利用者によって直接入力されるのではなく、デプロイ実行部117などにより、システム実行部103にノード管理テナント123が作成された際に自動的に入力される。
【0064】
図4は、
図1のデータスキーマ管理テーブルの一例を示す図である。
図4において、データスキーマ管理テーブル113は、システム利用者ごとに生成される入出力データスキーマ情報を管理する。データスキーマ管理テーブル113は、スキーマID411と、入力データスキーマ412と、出力データスキーマ413を含む。データスキーマ管理テーブル113は、スキーマ名を含んでいてもよい。
【0065】
入力データスキーマ412は、データ提供者から入力される利用時入力データ109に含まれてもいいし、データ提供者が端末データのサンプルをデータ流通管理システム100に提供することによって、手動または自動で作られてもよい。出力データスキーマ413は、利用時入力データ109とともにデータ提供者から提供されてもよいし、利用者コンソール101を通じて、システム利用者が変更できてもよい。
【0066】
スキーマID411は、データスキーマ管理テーブル113の各行421、422の識別子であり、データ流通管理システム100が付与する。スキーマID411は、利用者情報管理テーブル112で管理されるスキーマID315と同一である。
【0067】
入力データスキーマ412は、データ提供者が備える端末デバイス105から生成され、データ流通管理システム100に入力されるデータのスキーマである。入力データスキーマ412には、データ提供者からデータ利用者に提供されるコンテンツに含まれるデータ項目ごとに提供の有無および提供相手の範囲を設定することができる。入力データスキーマ412は、入力される端末データに含まれる項目を網羅していることが想定されるため、利用時入力データ109で定義される以外に、入力データサンプルの提供をデータ提供者から受けて補完されてもいい。ただし、入力データスキーマ412は、各データ項目がデータ提供者自身以外に流通されるのを防ぐ機能も備えており、データ項目ごとに”Shared:False”や”Shared:True“のような情報が付加されていてもよい。これらの情報は、データ提供者向けにGUI(Graphical User Interface)ベースやCUI(Character User Interface)ベースのインターフェースが設けられていてもよい。また、データ流通範囲の制御については、例えば、業種単位や企業グループ単位のロールを設けて細かく制御されてもよい。
【0068】
出力データスキーマ413は、システム利用者へ提供されるデータについて、データ構造を定義する情報である。出力データスキーマ413は、システム利用者が自身の受け取るデータの構造を定義する目的で、入力データスキーマ412と同様に、GUIベースやCUIベースのインターフェースが設けられていてもよい。
【0069】
図5は、
図1のノード設定管理テーブルの一例を示す図である。
図5において、ノード管理テーブル115は、パターンID511と、処理対象512と、ノード設計パターン513を含む。処理対象512は、処理種別514と、データ種515と、データ更新間隔516を含む。ノード設計パターン513は、ノードパッケージ513と、パラメータ518と、デプロイ先519を含む。
【0070】
パターンID511は、ノード管理テーブル115で管理される各処理ノードパターンの識別子である。パターンID511は、ノード管理テーブル115の各行521~526に割り当てられる。パターンID511は、データ流通管理システム100が割り当ててもよい。
【0071】
処理対象512は、個々のパターンで対象とする、データ流通管理システム100へ入力されたデータに対する処理種別514、データ種515およびデータ更新間隔516の組合せ情報である。処理対象512は、処理ノード131が処理するデータの形式や処理内容による違いを区別し、この区別と処理ノード131の設計パターンを紐づけるための情報である。
【0072】
ノード設計パターン513は、処理ノード131に含まれるミドルウェアやサービスの組合せを示すノードパッケージ517や、ノードパッケージの実行制御に必要なパラメータ情報518、ノードパッケージのデプロイ先519を組合せた情報である。ノード設計パターン513は、具体的にどのノードパッケージを用い、どんなパラメータを与えて処理ノード131の振る舞いを制御するかを決定することができる。
【0073】
処理種別514は、処理ノード131が実現する処理内容を示す情報である。ノード管理テナント123は、例えば、データモデル変換とデータのサンプリングをシステム利用者から希望された場合、2つの処理ノード131をノード管理テナント123内にデプロイし、リクエストデータを順に処理することで希望された処理を実現する。処理ノード131の順序性については後述する。
【0074】
データ種515は、処理ノード131により実行される処理が対象とするデータ形式を示す情報である。データ種515は、データ形式の違いにより(例:テキストデータと画像データなど)、処理ノード131内で利用されるミドルウェアが異なる場合に、異なるミドルウェアを内包するパッケージを適宜選択して対応するために用いることができる。
【0075】
データ更新間隔516は、処理ノード131がリクエストデータに対する処理を実行する際、どの程度の頻度でデータ処理を実行するかの参考情報である。データ更新間隔516は、データ流通管理システム100に入力されたデータが、システム利用者のシステムに送信されるまでの時間に影響を与える。例えば、データ更新間隔516は、データ処理のレイテンシなどの非機能要件の指標とみなすこともできる情報である。
【0076】
処理対象512は、データ配信形態(逐次配信、バッチデータ配信など)やデータ提供のプロトコル(HTTPかWebSocketなど)などのデータ提供方式や、レイテンシ、スループットおよび同時接続端末数などの性能要件の情報を含んでいてもよい。
【0077】
ノードパッケージ517は、処理ノード131をデプロイする際に用いるパッケージを指定する情報であり、パッケージ管理レポジトリ118に蓄積されたノードパッケージを参照するための値である。
【0078】
パラメータ518は、ノードパッケージをデプロイする際に入力するパラメータのメタ情報である。パラメータ518は、デプロイされたノードパッケージ(処理ノード131)によって実行される処理内容を制御する。例えば、ノード管理テーブル115の行521は、JSON形式で入力された端末データのモデル変換を行う処理ノードであるが、どのようなスキーマのデータをどのようなスキーマに変換して出力するのかを外部的に設定する必要がある。行521の例では、これを示すパラメータのメタ情報として参照データパスと出力データスキーマIDが示されている。
【0079】
デプロイ先519は、ノードパッケージをデプロイする環境を示す情報である。デプロイ先519は、データ流通管理システム100が稼働する環境のほか、システム利用者のオンプレミス環境やパブリッククラウドであってもよい。また、
図5では、デプロイ先519が固定的に示されているが、システム利用者の要望によって、処理ノード131のデプロイ先519が動的に変更されてもよい。
【0080】
図6は、
図1のリクエスト転送先情報管理テーブルの一例を示す図である。
図6において、リクエスト転送先情報管理テーブル121は、参照データパス611と、テナント名612と、出力データ送信先613と、処理ノードアドレス614を含む。
【0081】
参照データパス611は、端末デバイス105からリクエストデータ受付部106を経由して、リクエスト複製・転送実行部122に到着した端末データを識別する情報である。
【0082】
テナント名612は、システム実行部103内部に作成されるノード管理テナント123の識別情報またはリクエストデータの転送先アドレス情報である。
【0083】
出力データ送信先613は、ノード管理テナント123内部の処理ノード131で処理された端末データが最終的に送信されるアドレス情報である。出力データ送信先613は、利用時入力データ109などによってシステム利用者によって入力され、デプロイ実行部117や利用者情報管理テーブル112を経由して設定される。
【0084】
処理ノードアドレス614は、ノード管理テナント123内にデプロイされたノードパッケージのアドレス情報である。処理ノードアドレス614は、ノードデプロイ実行部117などによって、パッケージデプロイ後に自動的に保管される。処理ノードアドレス614は、リクエスト転送先情報管理テーブル121の各行621~625に割り当てられる。
【0085】
ここで、1つの参照データパス611に対して、データ提供者システム107の出力データ送信先613=sys-a.comと、データ利用者システム108の出力データ送信先613=sys-b.comをリクエスト転送先情報管理テーブル121に設定することにより、端末デバイス105から収集された端末データを、企業A171と組織B172とで別々に設けられたノード管理テナント131に入力することができ、端末データのデータ仕様が変更された場合においても、システム利用者ごとに提供を受けたいデータの仕様に適合させることができる。
【0086】
図7は、
図1のデータ流通管理システムのテータ提供者向けの動作を示すフローチャートである。
図7において、S710では、
図1の企業A171は、利用者コンソール101から、
図2の利用時入力データ201を入力する。
【0087】
S720は、S710の入力を受けて、システム操作API提供部111が実行する。S720では、システム操作API提供部111は、S721からS723を実行する。
【0088】
S721では、システム操作API提供部111は、利用時入力データ109のうち、利用者情報211と流通情報213を利用者情報管理テーブル112に登録する。
【0089】
S722では、システム操作API提供部111は、利用時入力データ109のうち、データスキーマ212をデータスキーマ管理テーブル113に登録する。
【0090】
S723では、システム操作API提供部111は、利用時入力データ109のうち、データスキーマ212とシステム要件214をノード設定管理テーブル115に入力する。
【0091】
S730では、ノード設定マッピング部116は、システム操作API提供部111から入力されたシステム要件214を基に、処理ノード131のデプロイを実行する。S730では、ノード設定マッピング部116は、S731からS734を実行する。
【0092】
S731では、ノード設定マッピング部116は、システム利用者が希望するデータ仕様の変換に必要なノードパッケージをノード設定管理テーブル115から選択する。このとき、ノード設定マッピング部116は、
図2の入出力データスキーマ212の変換(データモデル変換)に着目し、
図5の処理対象512のデータ種515からデータモデル変換処理を実行するノードパッケージを選択する。
【0093】
S732では、ノード設定マッピング部116は、
図5のパッケージ517のパラメータ518(参照データパスと入出力データスキーマ)を補完し、
図3の利用者情報管理テーブル112のノード設計パターン情報316のフローおよびパラメータに登録する。
【0094】
S733では、ノード設定マッピング部116は、
図2のシステム要件214の機能要件(サンプリングやマイクロバッチ化など)を満たす
図5の処理種別514などの条件に合致するパッケージ517を、ノード設定管理テーブル115から1つ以上選択する。
【0095】
パッケージ517の選択には、処理種別514のほか、処理対象512のデータ種515およびデータ更新間隔516(
図2のシステム要件214の非機能要件のレイテンシなど)などの条件を利用することができる。
【0096】
パッケージ517の選択に関して、“データモデル変換”、“サンプリング”および“マイクロバッチ化”のうち2つ以上が必要な場合には、S730で示されるように“データモデル変換”のパッケージ選択が先に実施され“サンプリング”および“マイクロバッチ”の順で実行されることを想定している。処理ノード131の実行順序は、別途ルールとして定義されてもよい。処理種別512は、“データモデル変換”、“サンプリング”および“マイクロバッチ化”の3つ以外の種類があってもよい。
【0097】
S734では、ノード設定マッピング部116は、S733で選択したノードパッケージが要求するパラメータを、
図2のシステム要件214で補完し、
図3の利用者情報管理テーブル112のノード設計パターン情報316に追記するデプロイ実行部117に入力する。ノード設定管理テーブル115のパラメータ518は、ノードパッケージのデプロイ時に設定すべきパタメータのメタ情報であるため、補完の必要がある。S733で選択した全てのノードパッケージに対してS734を繰り返す。
【0098】
S950では、デプロイ実行部117は、ノード設定マッピング部116の一連の処理S730によって登録または更新された利用者情報管理テーブル112のノード設計パターン情報316に従って、ノード管理テナント123や処理ノード131をシステム実行部103にデプロイする。その後、デプロイ実行部117は、ノード管理テナント123や処理ノード131への端末データの転送に必要な情報をリクエスト転送先情報管理テーブル121に登録する。
【0099】
端末データの転送に必要な情報の例は、リクエスト転送先情報管理テーブル121で管理される
図6のテナント名612や処理ノードアドレス614が挙げられる。これらの情報は、システム実行部103においてITシステムの名前解決方法であるDNS(Domain Name System)により転送先が一意に特定可能であってもよい。また、
図1のノード管理テナント123内で処理した転送データを、システム利用者が備えるシステムに再転送するための情報として、
図6の出力データ送信先613が、
図3の利用者情報管理テーブル112の出力データ送信先313を用いて補完されてもよい。
【0100】
S741では、
図1の企業A171は、企業A171が管理する端末グループ174に含まれる端末デバイス105のデータ送信先として、データ受付部106へのアクセス情報(参照データパス)を設定する。
【0101】
S751では、端末データ受付部106は、端末デバイス105からの端末データをリクエスト複製・転送実行部122に入力する。
【0102】
S752では、リクエスト複製・転送実行部122は、リクエスト転送先情報管理テーブル121の情報に従って、端末データ(リクエストデータ)をノード管理テナント123に転送する。
【0103】
S753では、ノード管理テナント123は、端末データ(リクエストデータ)を処理ノード131へ転送し、その端末データがデータ提供先のデータ仕様に適合するように処理した後、その処理データをデータ提供先に送信し、S751に戻る。
【0104】
図8は、
図1のデータ流通管理システムのテータ利用者向けの動作を示すフローチャートである。
図8において、データ利用者による利用の場合、
図7のS720、S730、S950、S752およびS753が共通している。
【0105】
S810では、
図1の組織B172は、利用者コンソール101から、
図2の利用時入力データ202を入力する。
【0106】
次に、システム操作API提供部111はS720を実行し、ノード設定マッピング部116はS730を実行し、デプロイ実行部117はS950を実行する。
【0107】
S841では、企業A171が管理する端末デバイス105は、逐次的または定期的に端末データを端末データ受付部106に送信する。
【0108】
S842では、リクエスト複製・転送実行部122は、リクエスト転送先情報管理テーブル121の情報に従って、端末データ(リクエストデータ)をノード管理テナント123に転送する。
【0109】
S843では、ノード管理テナント123は、端末データ(リクエストデータ)を処理ノード131へ転送し、その端末データがデータ提供先のデータ仕様に適合するように処理した後、その処理データをデータ提供先に送信し、S841に戻る。
【0110】
図9は、
図1のシステム管理部の登録時の動作を示すフローチャートである。
図9において、S911では、
図1のパッケージ管理レポジトリ118は、パッケージ管理者173によるノードパッケージの追加、削除および更新を受ける。
【0111】
S912では、パッケージ管理者174は、パッケージの機能要件および非機能要件や、パッケージをデプロイして作成される処理ノード131によるリクエストデータ処理に必要なパラメータをノード設定管理テーブル115に登録する。
【0112】
図10は、
図1のシステム管理部による処理ノードのデプロイ時の動作を示すフローチャートである。
図10において、S921では、システム操作API提供部111は、システム利用者が入力したデータスキーマ212と、システム要件214(機能・非機能要件情報)をノード設定マッピング部116に入力する。
【0113】
次に、ノード設定マッピング部116は、
図7のS730を実行する。
【0114】
次に、S941では、ノード設定マッピング部116は、更新した利用者情報管理テーブル112の対象行データをデプロイ実行部117に入力する。
【0115】
次に、デプロイ実行部117は、S950を実行する。S950では、デプロイ実行部117は、S951からS953を実行する。
【0116】
S951では、デプロイ実行部117は、リクエスト複製・転送実行部122からのデータ入力を受け付けるノード管理テナント123をシステム実行部103に設置する。ノード管理テナント123は、VMやコンテナ、パブリッククラウドサービスなどの処理ノード131が設置・実行可能な論理的なネットワーク環境である。
【0117】
S952では、デプロイ実行部117は、
図3のノード設計パターン情報316に記載された情報に基づいて、処理ノード131をノード管理テナント123に設置する。
【0118】
S953では、デプロイ実行部117は、処理ノード131やノード管理テナント123の受信先情報(アドレスなど)をリクエスト転送先情報管理テーブル121に登録する。
【0119】
S961では、リクエスト複製・転送実行部122は、リクエストデータ転送先情報管理テーブル121の情報を読み込み、ノード管理テナント123や処理ノード131へ端末データを転送するための情報をキャッシュする。
【0120】
図11は、
図1の利用者向けコンソールの表示画面の一例を示す図である。
図11において、
図1の利用者コンソール101は、データ提供者が端末データを管理する表示画面1011と、データ利用者が提供を受けるデータの仕様を管理する表示画面1021を表示する。
【0121】
表示画面1011は、ユーザ情報表示1012と、収集データ一覧1013と、利用データ一覧1014と、収集データのデータパスを含む端末データ受付部106のアドレス情報1015と、入力データスキームの管理画面1016を備える。
【0122】
ユーザ情報表示1012は、現在管理システムを利用している利用者の情報を示し、例えば、
図3の利用組織ID311などが表示されてもよい。
【0123】
収集データ一覧1013は、自身が管理する端末デバイス105からの収集データの一覧を示し、登録している参照データパス312が示されていてもよい。参照データパス312をクリックするなどして選択することにより、端末データ受付部106のアドレス情報1015と、入力データスキームの管理画面1016が適宜該当するデータに関するものに切り替わってもよい。
【0124】
利用データ一覧1014は、自社あるいは他者から提供されているデータの一覧を示し、各データの参照データパス312が示されていてもよい。収集データ一覧1013と同様、参照データパス312を選択することにより、表示画面1021に関して後述するように、利用するデータのデータ仕様を管理する画面に遷移してもよい。
【0125】
端末データ受付部106のアドレス情報1015は、選択されているデータ(自社管理の端末デバイス105が生成するデータ)を受け付ける端末データ受付部106のアドレスやURL情報などを示す。
【0126】
入力データスキームの管理画面1016は、端末データのデータ構造を示す。データの列名や型名は、端末データのサンプルを入力することで自動的に補完されてもよい。管理画面1016は、個々のデータ項目について、他のデータ利用者へデータを提供する際に、公開の是非を変更することが可能であってもよい。
【0127】
表示画面1021は、ユーザ情報表示1012と、収集データ一覧1013と、利用データ一覧1022と、データ利用方式設定画面1023と、データ構造設定画面1024とを備える。
【0128】
利用データ一覧1022は、利用データ一覧1014と同様の情報を提供する。ただし、出力データスキーマは、システム利用者が柔軟に変更可能であり、各データに対して複数の出力データスキーマを作成し、適宜選択して利用することが可能であってもよい。利用データ一覧1022は、利用可能な(出力)データスキーマを一覧表示したり、どの(出力)データスキーマが適用されているかを示すレ点などのマークを示したりしてもよい。
【0129】
データ利用方式設定画面1023では、利用データのデータ仕様のうち、サンプリングレートなどを設定することができる。データ利用方式設定画面1023は、他者から提供される端末データのオリジナルのデータ収集方式(データ生成頻度など)を示していてもよい。この情報を参考に、データ利用者は自身が希望するデータ利用方式(サンプリングレートやマイクロバッチデータの収拾間隔)を設定可能である。
【0130】
データ構造設定画面1024は、データ提供者が自社以外であれば、データ提供者が公開可能としたデータ項目、データ提供者が自身であれば、収集する全てのデータ項目を表示してもよい。データ構造設定画面1024では、管理システム100がデータ提供先にデータを提供する際に、出力データに含むべきデータ項目の要否を設定することができる。
【0131】
なお、
図1では、システム管理部102とシステム実行部103をデータ流通管理システム100内に設けた例を示したが、システム管理部102とシステム実行部103を分散して配置し、システム管理部102とシステム実行部103とをネットワークを介して接続するようにしてもよい。例えば、システム管理部102は、複数のシステム利用者に対して共通に設け、システム実行部103は、システム利用者ごとに別個に設けるようにしてもよい。
【0132】
図12は、第2実施形態に係るデータ流通管理システムの構成を示すブロック図である。
図12において、データ流通管理システム100Bは、システム管理部102Bと、システム実行部103Bを備える。データ流通管理システム100Bは、利用者コンソール101と、端末データ受付部106と、データ提供者システム107と、データ利用者システム108に接続されている。
【0133】
データ流通管理システム100Bは、端末デバイス105から収集されるIoTデータなどを、企業171や組織172の枠を超えて流通させる場合、端末デバイス105が生成する端末データのデータ仕様をデータ提供者およびデータ利用者ごとに柔軟に変更して流通させる。このとき、データ流通管理システム100Bは、データ利用者が受け取る任意の参照データパスを経由する端末データについて、その端末データの内容に応じてデータ仕様を変更することができる。
【0134】
ここで、システム利用者は、利用者コンソール101を用いて、利用時入力データ109および業務指標-性能指標マッピングデータ1101を入力することができる。業務指標-性能指標マッピングデータ1101は、端末デバイス105から受信した端末データとシステム利用者に固有な業務指標への対応付けと、業務指標と
図2のシステム要件214への対応付けとを行うための参考情報である。
【0135】
システム管理部102Bは、システム利用者が入力する各種情報や、システム利用者によって希望される提供データのモデル変換処理およびサンプリング処理などを実行するノードパッケージや、ノードパッケージをデプロイする際に必要になるパラメータを管理したり、ノードパッケージをデプロイしたりする。このとき、システム管理部102Bは、端末デバイス105ごとの状態を逐次監視し、端末デバイス105から受信した端末データの変化を特定の業務指標に対応付け、業務指標の変化に応じて特定の端末デバイス105からの端末データに対してデータ仕様の変更を動的に与えることができる。
【0136】
システム実行部103Bは、端末データを受け付け、データ提供先システムごとに端末データの内容に応じてデプロイされる個々のノード管理テナント123Bへ入力データを複製して転送したり、転送されたデータを処理してデータ提供先システムに送信したりする。
【0137】
ここで、ノード管理テナント123Bは、システム利用者ごとに端末データの内容に応じて別個のものとしてデプロイされる。そして、ノード管理テナント123Bは、システム利用者ごとに提供を受けたいデータの仕様に適合するように、端末データのデータ仕様を、その端末データを出力する端末デバイス105の状態に応じて変更することができる。これにより、データ流通管理システム100Bは、端末データのデータ仕様が変更された場合においても、システム利用者ごとに提供を受けたいデータの仕様に適合させることができ、データ利用者が求めるデータを継続的に流通させることができる。
【0138】
システム管理部102Bは、
図1のシステム管理部102の構成に加え、データ流通システム動的管理部1120を備える。システム管理部102Bは、
図1の利用者情報管理テーブル112の代わりに、利用者情報管理テーブル112Bを備える。データ流通システム動的管理部1120は、業務指標算出ロジック管理テーブル1121と、業務指標別ノード最適設定管理テーブル1122と、業務指標抽出部1123と、目標性能指標算出部1124を備える。
【0139】
利用者情報管理テーブル112Bは、利用時入力データ109および業務指標-性能指標マッピングデータ1101を利用者ごとに管理する。
【0140】
データ流通システム動的管理部1120は、端末デバイス105から受信する端末データについて、業務指標-性能指標マッピングデータ1101に定義された受信データと業務指標の対応付けを算出し、業務指標の変化を検出した場合に必要な処理ノード131Bのデプロイ指示や端末データの転送ルールの変更を行う。
【0141】
データ流通システム動的管理部1120は、業務指標算出ロジック管理テーブル1121と、業務指標別ノード最適設定管理テーブル1122と、業務指標抽出部1123と、目標性能指標算出部1124を備える。
【0142】
業務指標算出ロジック管理テーブル1121は、端末デバイス105から受信した端末データを、データ利用者に固有の業務指標に変換するロジックを管理する。業務指標算出ロジック管理テーブル1121で管理される情報は、業務指標-性能指標マッピングデータ1101に定義された情報の一部がシステム操作API提供部111によって格納されてもよい。
【0143】
業務指標別ノード最適設定管理テーブル1122は、データ利用者に固有の業務指標ごとに、ノード管理テナント123Bにデプロイされる処理ノード131Bのパッケージおよびパラメータなどを管理する。業務指標別ノード最適設定管理テーブル1122で管理される情報のうち、ノード管理テナント123B内の処理ノード131Bのデプロイに関する情報は、ノード設定マッピング部116により算出された情報が格納されてもよい。
【0144】
業務指標抽出部1123は、端末デバイス105から受信する端末データについて、リクエスト複製・転送実行部122から転送されるデータと、業務指標算出ロジック管理テーブル1121で管理されるロジック情報を基に、データ利用者に固有の業務指標を算出する。
【0145】
目標性能指標算出部1124は、業務指標抽出部1123によって算出されたデータ利用者に固有の業務指標と、業務指標別ノード最適設定管理テーブル1122の情報を基に、データ利用者の業務指標の変化に対して、端末データが転送されるべきノード管理テナント123Bの判定及び端末デバイス105からの受信データの転送情報の変更などを実施する。
【0146】
システム実行部103Bは、リクエスト転送先情報管理テーブル121Bと、リクエスト複製・転送実行部122と、ノード管理テナント123Bを備える。
【0147】
ノード管理テナント123Bは、端末データの内容に応じてシステム利用者ごとに用意される処理ノード131Bが稼働する。ノード管理テナント123Bは、システム利用者ごとかつ端末データの内容ごとに作成され、処理ノード131Bが格納される論理的に分割されたネットワーク環境である。
【0148】
ノード管理テナント123Bは、処理ノード131Bを備える。各処理ノード131Bは、データ処理部132Bと、リクエストデータ送受信部133Bを備える。
【0149】
処理ノード131Bは、リクエスト複製・転送実行部122を経由して入力されるリクエスト情報に対して、データモデル変換、サンプリングおよびマイクロバッチ化などの処理を施す。
【0150】
データ処理部132Bは、データモデル変換、サンプリングおよびマイクロバッチ化などの処理ロジックの実行機能を提供する。
【0151】
リクエストデータ送受信部133Bは、処理ノード131Bで処理したリクエストデータを別の処理ノード131Bと送受信したり、データ提供先システムへ送信したりする。
【0152】
以下、
図12のデータ流通管理システム100Bの動作について、救急車で収集される急患の状態に関する心拍数や心電図情報を、その急患の搬送予定の病院の急患管理システムに通知するユースケースを想定して説明する。このユースケースでは、急患の状態情報を送信する救急車を1つの端末デバイス105、急患管理システムをデータ提供先システムとみなすことができる。
【0153】
図1のデータ流通管理システム100では、急患管理システムが受け取るデータ仕様を、急患管理システムの管理者が利用者コンソール101から設定することができる。しかし、
図1のデータ流通管理システム100では、参照データパスごとに1つのデータ仕様が適用されるため、急患管理システムは、急患の状態変化(例えば、心拍数の低下による急患の急変など)に応じて、端末データが変化した端末デバイス105のみを対象にデータの仕様を動的に変更することができない。
【0154】
これに対して、
図12のデータ流通管理システム100Bは、端末デバイス105ごとの状態を逐次監視し、端末デバイス105から受信した端末データの変化を「急患の状態変化」のような特定の業務指標に対応付け、業務指標の変化に応じて特定の端末デバイス105からの端末データに対してデータ仕様を動的に変更することができる。
【0155】
図13は、
図12の業務指標-性能指標マッピングデータの一例を示す図である。
図13において、データ利用者の業務指標-性能指標マッピングデータ1101は、利用者情報211と、業務指標1211と、算出式1212と、業務指標別システム要件1213を備える。利用者情報211は、
図2の内容と同一である。
【0156】
業務指標1211は、データ利用者に固有の情報である。業務指標1211は、例えば、救急搬送中の急患状態通知システムであれば、「急患状態の緊急度」のような指標パラメータである。
図12のデータ流通管理システム100Bは、この業務指標1211の変化に応じて、データ利用者が提供を受けるデータの仕様を変化させる。業務指標1211は、業務指標1211を管理するデータの識別情報(後述の端末データ識別子1411)を含んでいてもよい。
【0157】
業務指標1211の変化は、急患情報通知システムのように、救急車両ごと(端末デバイス105ごと)に異なる場合がある。つまり、大多数の救急車両の「急患の緊急度」は低く、救急車両の特定の急患だけ緊急度が高くなる場合がある。このような場合は、データ流通管理システム100Bは、特定の急患の情報を含む救急車両(端末デバイス105)を識別し、大多数の端末デバイス105の端末データが転送されるノード管理テナント123Bとは別のノード管理テナント123に特定の急患の情報を転送する。
図13の例では、端末データ識別子1411は、patientInfo.nameであり、上記の急患情報通知システムでは、急患の名前ごとに、業務指標1211の変化が管理される。
【0158】
算出式1212は、業務指標1211を算出のための式に関する情報である。例えば、データ利用者が利用する端末デバイス105のデータから業務指標1211を算出する。算出式1212は、業務指標1211の算出式の他にも、算出に用いるデータを特定する情報として、端末データの識別を行う参照データパスおよび算出利用データ項目を備える。業務指標-性能指標マッピングデータ1101の算出式1212の情報は、
図15の業務指標算出ロジック管理テーブル1121の算出式1413、参照データパス312および算出利用データ項目1412に設定される。
【0159】
業務指標別システム要件1213は、業務指標1211の指標パラメータごとに、データ利用者が求めるシステム要件が定義された情報である。業務指標別システム要件1213は、利用時入力データ109のシステム要件214と同様の情報が、指標パラメータごとに個別に定義されていてもよい。
【0160】
また、業務指標-性能指標マッピングデータ1101は、データ利用者が自身で作成してもよいし、データ流通管理システム100Bを提供するサービスがデータ利用者172に対するSI(System Integration)を通じて作成してもよい。
【0161】
図14は、
図12の利用者情報管理テーブルの一例を示す図である。
図14において、利用者情報管理テーブル112Bは、利用組織ID311と、参照データパス312と、出力データ送信先313と、データ管理者フラグ314と、業務指標ID1311と、テナント名1312を備える。利用組織ID311と、参照データパス312と、出力データ送信先313と、データ管理者フラグ314は、
図3の内容と同一である。利用者情報管理テーブル112Bの利用組織ID311は、各行1321~1323ごとに割り当てられる。
【0162】
業務指標ID1311は、
図13の業務指標-性能指標マッピングデータ1101を参照するための識別子情報である。業務指標ID1311は、業務指標-性能指標マッピングデータ1101ごとに
図12の業務指標算出ロジック管理テーブル1121で与えられる。
【0163】
テナント名1312は、データ利用者が提供を受ける参照データパス312のデータを処理するノード管理テナント123Bの識別情報である。データ利用者に固有の業務指標1211に対して、データ仕様の異なる提供データを生成するために複数のノード管理テナント123がデプロイされる場合があるため、1つ以上のテナント名1312が管理される。
【0164】
図15は、
図12の業務指標算出ロジック管理テーブルの一例を示す図である。
図15において、業務指標算出ロジック管理テーブル1121は、業務指標ID1311と、参照データパス312と、利用組織ID311と、端末データ識別子1411と、算出利用データ項目1412と、算出式1413を備える。業務指標ID1311は、
図14の利用者情報管理テーブル112Bの業務指標ID1311と同一である。業務指標算出ロジック管理テーブル1121の業務指標ID1311は、業務指標算出ロジック管理テーブル1121の各行1412ごとに割り当てられる。利用組織ID311と、参照データパス312は、
図3の利用者情報管理テーブル112の利用組織ID311と、参照データパス312とそれぞれ同一である。
【0165】
端末データ識別子1411は、
図13の業務指標1211の変化を管理するデータの識別情報である。
【0166】
算出利用データ項目1412は、
図13の算出式1212に含まれる情報であり、業務指標の算出のために端末デバイス105のデータの中の任意のデータ項目を指定する情報である。
図15の例では、1つのデータ項目を指定しているが、複数個のデータ項目が指定されていてもよい。
【0167】
算出式1413は、
図13の算出式1212に含まれる情報であり、算出利用データ項目1412で指定されたデータ項目を用いて業務指標を算出するための式情報である。
図15の算出式1413は、例えば、グラフ1431Bで示すことができる。
【0168】
図16は、
図12の業務指標別ノード最適設定管理テーブルの一例を示す図である。
図16において、業務指標別ノード最適設定管理テーブル1122は、業務指標ID1311と、業務指標1511と、性能指標1512と、スキーマID411と、ノード設計パターン情報316を備える。ノード設計パターン情報316は、
図3の利用者情報管理テーブル112のノード設計パターン情報316と同一である。スキーマID411は、
図4のデータスキーマ管理テーブル113のスキーマID411と同一である。業務指標ID1311は、
図13の利用者情報管理テーブル112Bの業務指標ID1311と同一である。
【0169】
業務指標1511は、データ利用者に固有の業務指標に関して取り得る値を示したものである。
図16では、業務指標1511が“大”、“中”、“小”のような離散値であるが、“緊急度=a(0≦a)”のように連続値であってもよい。
【0170】
性能指標1512は、業務指標1511の値に対応する性能指標の値である。性能指標は、データ提供の性能要件を示すことができる。
図16に示すように、業務指標1511と性能指標1512の値は一見関連性の薄い離散値をとり得る他、“データ更新間隔δ=ax+b”のような連続値をとってもよい。
【0171】
図17は、
図12のリクエスト転送先情報管理テーブルの一例を示す図である。
図17において、リクエスト転送先情報管理テーブル121Bは、参照データパス611と、出力データ送信先613と、テナント名612と、ルール適用順序1611と、振分けルール1612と、業務指標1613と、処理ノードアドレス614を備える。参照データパス611と、出力データ送信先613と、テナント名612と、処理ノードアドレス614は、
図6のリクエスト転送先情報管理テーブル121の内容と同一である。
【0172】
ルール適用順序1611は、リクエストデータの転送先を示す各テナント名612について、リクエストデータの振り分けルール1612を適用する順序を示す。
図17では、データ利用者(出力データ送信先613の管理者)が予め指定した業務指標1613が“緊急度=大”に変化し、一部のリクエストデータ(振分けルール1612に示したPatientInfo.name=(a、b、c)のデータ)のテナント名612「SysB2」への転送が求められている例を示した。
【0173】
振分けルール1612は、テナント名612にリクエストデータを振分ける際に、リクエストデータを識別するルールを定義する。業務指標1613は、テナント名612で指定されるノード管理テナント123Bで実施される処理に対応する業務指標を示す値である。
【0174】
ここで、例えば、1つのデータ利用者システム108の出力データ送信先613=sys-b.comに対して、緊急度=小に対応した処理ノードアドレス=b1.localと、緊急度=大に対応した処理ノードアドレス=b2.localをリクエスト転送先情報管理テーブル121Bに設定することにより、端末デバイス105から収集された端末データを、業務指標1613に応じて別々に設けられたノード管理テナント131Bに入力することができ、業務指標1613に応じて性能指標1512を変化させることができる。
【0175】
図18は、
図12のデータ流通システム動的管理部の登録時の動作を示すフローチャートである。
図18において、S1711では、システム操作API提供部111は、データ利用者からの業務指標-性能指標マッピングデータ1101の入力を受け付ける。
【0176】
S1712では、システム操作API提供部111は、業務指標-性能指標マッピングデータ1101の業務指標1211などをデータ流通システム動的管理部1120に入力する。
【0177】
S1713では、データ流通システム動的管理部1120は、業務指標1211および算出式1212などを業務指標算出ロジック管理テーブル1121に登録する。
【0178】
図19は、
図12のデータ流通管理システムの性能指標変更時の動作を示すフローチャートである。
図19において、S751では、端末データ受付部106は、端末デバイス105からの端末データをリクエスト複製・転送実行部122に入力する。
【0179】
S1810は、S751の入力を受けて、リクエスト複製・転送実行部122が実行する。S1810では、リクエスト複製・転送実行部122は、S1811からS1814を実行する。
【0180】
S1811では、リクエスト複製・転送実行部122は、リクエスト転送先情報管理テーブル121Bを参照する。リクエスト転送先情報管理テーブル121Bの情報は、
図10のS961においてリクエスト複製・転送実行部122にキャッシュされていてもよい。
【0181】
S1812では、リクエスト複製・転送実行部122は、端末データの入力を受けて、
図15の参照データパス611と、端末データ識別子1411に対応する端末データ内のデータ項目が合致する
図17の振り分けルール1612をキーにリクエスト転送先情報管理テーブル121Bの行を検索する。この処理では、システム利用者の業務指標の変化を踏まえ、端末データの端末データ識別子1411ごとに個々のシステム利用者が利用するいくつかのノード管理ナント123Bに端末データを転送し分けるために必要な情報を取得する。
【0182】
S1813では、リクエスト複製・転送実行部122は、端末データを複製し、検索行が指定するテナント名612へ端末データを転送する。
【0183】
S1814では、リクエスト複製・転送実行部122は、検索行の業務指標1613と端末データを業務指標抽出部1123に転送する。
【0184】
S1820は、S1814の入力を受けて、業務指標抽出部1123が実行する。S1820では、業務指標抽出部1123は、S1821からS1822を実行する。
【0185】
S1821では、業務指標抽出部1123は、業務指標算出ロジック管理テーブル1121から業務指標1613をキーに行を検索する。
【0186】
S1822では、業務指標抽出部1123は、
図15の算出利用データ項目1412に該当する端末データの情報と、算出式1413を用いて業務指標を算出し、目標性能指標算出部1124に入力する。加えて、業務指標抽出部1123は、S1814にて探索した業務指標1613(S1822で算出した業務指標とは異なる)を目標性能指標算出部1124に入力する。
【0187】
S1830は、S1822の入力を受けて、目標性能指標算出部1124が実行する。S1830では、目標性能指標算出部1124は、S1831からS1834を実行する。
【0188】
S1831では、目標性能指標算出部1124は、S1822で算出した業務指標と、S1814で探索した業務指標1613を比較する。両者が一致した場合は、端末データ識別子1411で識別される端末データについて、業務指標の変化はなかったと判断し、処理を終了する。両者が一致しなかった場合、業務指標の変化が生じたと判断し、S1832に進む。
【0189】
S1832では、目標性能指標算出部1124は、リクエスト転送先情報管理テーブル121Bに対して、S1822で算出した業務指標をキーに行検索を行う。行検索がヒットした場合は、S1822で算出した業務指標を示す端末データを処理するノード管理テナント123Bが既に存在することを意味する。この場合はノード管理テナント123Bの新たなデプロイは必要ないため、目標性能指標算出部1124は、
図17のリクエスト転送先情報管理テーブル121Bの振り分けルール1612の該当行に、端末データの端末データ識別子1411を登録する。
【0190】
S1833では、目標性能指標算出部1124は、業務指標別ノード最適設定管理テーブル1122から、S1822で算出した業務指標を含む行を検索する。
【0191】
S1834では、検索行のノード設計パターン情報316をデプロイ実行部117に入力する。
【0192】
S1841では、デプロイ実行部117およびノード設定マッピング部116は、
図9のS730-S950に示す処理で新しいノード管理テナント123Bと処理ノード131Bをデプロイする。
【0193】
S1842では、
図17のテナント名612、処理ノードのアクセス情報およびS1822で算出した業務指標のセットを
図17のリクエスト転送先情報管理テーブル121Bに格納する。
【0194】
S1843では、リクエスト転送先情報管理テーブル121Bから、S1822で算出した業務指標を含む行を探し、振り分けルール1612に端末データ識別子を登録する。
【0195】
図20は、
図1のデータ流通管理システムのハードウェア構成を示すブロック図である。
図20において、データ流通管理システム100は、プロセッサ11、通信制御デバイス12、通信インターフェース13、主記憶デバイス14および外部記憶デバイス15を備える。プロセッサ11、通信制御デバイス12、通信インターフェース13、主記憶デバイス14および外部記憶デバイス15は、内部バス16を介して相互に接続されている。主記憶デバイス14および外部記憶デバイス15は、プロセッサ11からアクセス可能である。
【0196】
また、データ流通管理システム100の外部には、入力装置20および出力装置21が設けられている。入力装置20および出力装置21は、入出力インターフェース17を介して内部バス16に接続されている。入力装置20は、例えば、キーボード、マウス、タッチパネル、カードリーダ、音声入力装置等である。出力装置21は、例えば、画面表示装置(液晶モニタ、有機EL(Electro Luminescence)ディスプレイ、グラフィックカード等)、音声出力装置(スピーカ等)、印字装置等である。
【0197】
プロセッサ11は、データ流通管理システム100全体の動作制御を司るハードウェアである。主記憶デバイス14は、例えば、SRAMまたはDRAMなどの半導体メモリから構成することができる。主記憶デバイス14には、プロセッサ11が実行中のプログラムを格納したり、プロセッサ11がプログラムを実行するためのワークエリアを設けたりすることができる。
【0198】
外部記憶デバイス15は、大容量の記憶容量を備える記憶デバイスであり、例えば、ハードディスク装置やSSD(Solid State Drive)である。外部記憶デバイス15は、各種プログラムの実行ファイルやプログラムの実行に用いられるデータを保持することができる。外部記憶デバイス15には、データ流通管理プログラム15Aおよび管理情報15Bを格納することができる。データ流通管理プログラム15Aは、データ流通管理システム100にインストール可能なソフトウェアであってもよいし、データ流通管理システム100にファームウェアとして組み込まれていてもよい。
【0199】
通信制御デバイス12は、外部との通信を制御する機能を備えるハードウェアである。通信制御デバイス12は、通信インターフェース13を介してネットワーク19に接続される。ネットワーク19は、インターネットなどのWAN(Wide Area Network)であってもよいし、WiFiまたはイーサネット(登録商標)などのLAN(Local Area Network)であってもよいし、WANとLANが混在していてもよい。
【0200】
入出力インターフェース17は、入力装置20から入力されるデータをプロセッサ11が処理可能なデータ形式に変換したり、プロセッサ11から出力されるデータを出力装置21が処理可能なデータ形式に変換したりする。
【0201】
プロセッサ11がデータ流通管理プログラム15Aを主記憶デバイス14に読み出し、データ流通管理プログラム15Aを実行することにより、ネットワーク19を介して端末デバイス105からIoTデータを収集し、IoTデータのデータ仕様をシステム利用者ごとに柔軟に変更して流通させることができる。プロセッサ11は、データ流通管理プログラム15Aに実行に当たり、管理情報15Bを参照することができる。この時、データ流通管理プログラム15Aは、
図1のシステム操作API提供部111と、ノード設定マッピング部116と、デプロイ実行部117と、リクエスト複製・転送実行部122と、ノード管理テナント123の機能を実現することができる。管理情報15Bは、
図1の利用者情報管理テーブル112と、データスキーマ管理テーブル113と、ノード設定管理テーブル115と、パッケージ管理レポジトリ118と、リクエスト転送先情報管理テーブル121の情報を含むことができる。
【0202】
なお、データ流通管理プログラム15Aの実行は、複数のプロセッサやコンピュータに分担させてもよい。あるいは、プロセッサ11は、ネットワーク19を介してクラウドコンピュータなどにデータ流通管理プログラム15Aの全部または一部の実行を指示し、その実行結果を受け取るようにしてもよい。
【0203】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。
【符号の説明】
【0204】
100…データ流通管理システム、101…利用者コンソール、102…システム管理部、103…システム実行部、105…端末デバイス、106…端末データ受付部、107…データ提供者システム、108…データ利用者システム、109…利用時入力データ、111…システム操作API提供部、112…利用者情報管理テーブル、113…データスキーマ管理テーブル115…ノード設定管理テーブル、116…ノード設定マッピング部、117…デプロイ実行部、118…パッケージ管理レポジトリ、121…リクエスト転送先情報管理テーブル、121…リクエスト複製・転送実行部、123…ノード管理テナント、131…処理ノード、132…データ処理部、133…リクエストデータ送受信部、171…企業A、172…組織B、173…パッケージ管理者、174…企業Aが管理する端末グループ、1101…業務指標-性能指標マッピングデータ、1120…データ流通システム動的管理部、1121…業務指標算出ロジック管理テーブル、1122…業務指標別ノード最適設定管理テーブル、1123…業務指標抽出部、1124…目標性能指標算出部、1131…リクエスト転送先情報管理テーブル