(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024054308
(43)【公開日】2024-04-16
(54)【発明の名称】情報処理システム、情報処理方法、データ処理装置、およびプログラム
(51)【国際特許分類】
G06F 21/62 20130101AFI20240409BHJP
【FI】
G06F21/62 318
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2024019385
(22)【出願日】2024-02-13
(62)【分割の表示】P 2022513835の分割
【原出願日】2020-04-10
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.PYTHON
2.DOCKER
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100129230
【弁理士】
【氏名又は名称】工藤 理恵
(72)【発明者】
【氏名】藤野 知之
(72)【発明者】
【氏名】齋藤 由唯
(72)【発明者】
【氏名】井上 知洋
(72)【発明者】
【氏名】柏木 啓一郎
(72)【発明者】
【氏名】馬越 健治
(57)【要約】 (修正有)
【課題】組織間でのデータの共有と利用を促進する情報処理システム、情報処理方法、データ処理装置およびプログラムを提供する。
【解決手段】データ処理装置と各組織においてそれそれデータを管理するデータ入出力装置を有する情報処理システムにおいて、データ処理装置は、各組織の保持するデータのデータ構造を規定するスキーマを各組織間で共有し、各組織間で共有する共有データの範囲とデータ処理提案を各組織から受信する。各組織からデータ処理提案を受信したデータ処理装置は、受信したデータ処理提案に対する認可を各組織から得て、受信したデータ処理提案に対する合意を形成する。そして、データ処理装置は合意が形成されたデータ処理提案の示す共有データを各組織から取得し、合意が形成されたデータ処理提案の示す処理を実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
組織間でデータを共有して処理する情報処理システムであって、
データ処理装置と各組織においてデータを管理するデータ入出力装置を有し、
前記データ処理装置は、
組織間で共有する共有データの範囲と当該共有データを入力とする処理を示すデータ処理提案を受信し、当該データ処理提案に対する認可を各組織のデータ入出力装置から得て、当該データ処理提案に対する合意を形成する合意形成部と、
合意が形成された前記データ処理提案の示す処理を実行する処理実行部を有し、
前記データ入出力装置は、
前記データ処理提案を前記データ処理装置へ送信する提案部を有する
情報処理システム。
【請求項2】
請求項1に記載の情報処理システムであって、
前記処理実行部は、仮想化技術を用いて、前記データ処理提案の処理を実行する実行環境を構築し、前記データ処理提案の示す前記共有データを各組織のデータ入出力装置から当該実行環境に複製したうえで前記データ処理提案の示す処理を実行し、処理の実行後、前記実行環境を破棄する
情報処理システム。
【請求項3】
組織間でデータを共有して処理する情報処理方法であって、
データ処理装置による、
組織間で共有する共有データの範囲と当該共有データを入力とする処理を示すデータ処理提案を受信し、当該データ処理提案に対する認可を各組織の装置から得て、当該データ処理提案に対する合意を形成するステップと、
合意が形成された前記データ処理提案の示す処理を実行するステップを有する
情報処理方法。
【請求項4】
請求項3に記載の情報処理方法であって、
前記データ処理提案の示す処理を実行するステップでは、仮想化技術を用いて、前記データ処理提案の処理を実行する実行環境を構築し、前記データ処理提案の示す前記共有データを各組織の装置から当該実行環境に複製したうえで前記データ処理提案の示す処理を実行し、処理の実行後、前記実行環境を破棄する
情報処理方法。
【請求項5】
各組織において管理されるデータを共有して処理するデータ処理装置であって、
組織間で共有する共有データの範囲と当該共有データを入力とする処理を示すデータ処理提案を受信し、当該データ処理提案に対する認可を各組織の装置から得て、当該データ処理提案に対する合意を形成する合意形成部と、
合意が形成された前記データ処理提案の示す処理を実行する処理実行部を有する
データ処理装置。
【請求項6】
請求項5に記載のデータ処理装置であって、
前記処理実行部は、仮想化技術を用いて、前記データ処理提案の処理を実行する実行環境を構築し、前記データ処理提案の示す前記共有データを各組織の装置から当該実行環境に複製したうえで前記データ処理提案の示す処理を実行し、処理の実行後、前記実行環境を破棄する
データ処理装置。
【請求項7】
請求項5または6に記載のデータ処理装置の各部としてコンピュータを動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法、データ処理装置、およびプログラムに関する。
【背景技術】
【0002】
企業・自治体などにおける顧客・住民データの有効活用が進み、現在では、顧客の購買傾向の分析、業務の効率化、生産流通管理などの様々な場面で、データの解析・利用が行われている。また、様々なセンサやデバイスをネットワークに接続し、データを収集して活用するIoTが注目されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
データの有効活用という点では、複数組織間でデータを共有し、共有されたデータを解析することが考えられる。
【0005】
データの共有に際して、自組織の実データは、できれば部分的にも、他組織には見られたくないという要望がある。また、組織間でデータの共有・利用における合意がとれる仕組みが望まれている。
【0006】
特許文献1には、複数の計算主体に計算対象のデータを秘密分散して保存しておき、元のデータを復元することなく他の計算主体と協力してデータ処理を行う技術が開示されているが、処理負荷が高く、処理の記述に制約が生じるという問題があった。
【0007】
データの一部にマスキングを施す、統計化、ハッシュ化、あるいは雑音を付加するなどのデータを匿名化する方法では、匿名化されていないデータについては組織間で実データを見られる可能性がある。
【0008】
いずれの方法も、データの共有・利用における合意がとれる仕組みを提供するものではない。
【0009】
本発明は、上記に鑑みてなされたものであり、組織間でのデータの共有と利用を促進することを目的とする。
【課題を解決するための手段】
【0010】
本発明の一態様の情報処理システムは、組織間でデータを共有して処理する情報処理システムであって、データ処理装置と各組織においてデータを管理するデータ入出力装置を有し、組織間で共有する共有データの範囲と当該共有データを入力とする処理を示すデータ処理提案を受信し、当該データ処理提案に対する認可を各組織のデータ入出力装置から得て、当該データ処理提案に対する合意を形成する合意形成部と、合意が形成された前記データ処理提案の示す処理を実行する処理実行部を有し、前記データ入出力装置は、前記データ処理提案を前記データ処理装置へ送信する提案部を有する。
【0011】
上記情報処理システムにおいて、前記処理実行部は、仮想化技術を用いて、前記データ処理提案の処理を実行する実行環境を構築し、前記データ処理提案の示す前記共有データを各組織のデータ入出力装置から当該実行環境に複製したうえで前記データ処理提案の示す処理を実行し、処理の実行後、前記実行環境を破棄する。
【発明の効果】
【0012】
本発明によれば、組織間でのデータの共有と利用を促進できる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、情報処理システムの全体構成の一例を示す図である。
【
図2】
図2は、データ処理装置の構成の一例を示す機能ブロック図である。
【
図3】
図3は、データ入出力装置の構成の一例を示す機能ブロック図である。
【
図4】
図4は、情報処理システムの処理の流れの一例を示すシーケンス図である。
【
図5】
図5は、情報処理システムの処理の流れの一例を示すシーケンス図である。
【
図6】
図6は、情報処理システムの処理の流れの一例を示すシーケンス図である。
【
図7】
図7は、データ処理装置およびデータ入出力装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について図面を用いて説明する。
【0015】
図1を参照し、本実施形態の情報処理システムについて説明する。本実施形態の情報処理システムは、組織A,B間でデータを共有して処理する機能を提供する。より具体的には、情報処理システムは、組織A,B間でデータ構造を規定するスキーマを共有し、組織A,B間で共有する共有データの範囲と共有データを入力とする処理を示すデータ処理提案に対して各組織A,Bから認可が得られると、データ処理提案に基づいて各組織A,Bから共有データを取得し、データ処理提案の示す処理を実行する。
【0016】
情報処理システムは、データ処理装置1、データ入出力装置3A,3B、およびデータベース5A,5Bを備える。データ入出力装置3Aとデータベース5Aは組織Aに属し、データ入出力装置3Bとデータベース5Bは組織Bに属する。
【0017】
データ処理装置1は、各組織A,Bの所有データのスキーマを受信し、各組織A,Bの所有データのスキーマを閲覧可能とする。スキーマとは、データが格納されるデータベース5A,5Bのテーブル構造を示すものであり、テーブルの有する項目、テーブル間の関係などの情報を含む。例えば、スキーマの含む情報として、ユーザID、時刻、商店ID、購買商品ID、および購買時刻といったものが想定される。各組織A,Bのデータ管理者は、他組織の所有データのスキーマを参照することで、他組織がどのようなデータを所有しているのかを知ることができ、自組織の所有データと他組織の所有データとを用いてどのような処理をすればどのような情報が得られるのかを把握できる。
【0018】
データ処理装置1は、組織A,B間で共有する共有データの範囲と共有データを入力する処理を示すデータ処理提案を受け付け、提案に対する認可を各組織A,Bに求める。
【0019】
データ処理装置1は、提案に対して認可が得られると、各組織A,Bから共有データを取得し、提案された処理を実行して、処理結果を各組織A,Bに送信する。
【0020】
データ入出力装置3A,3Bは、組織A,Bの所有データのスキーマをデータ処理装置1へ送信し、組織A,B間でスキーマを共有する。
【0021】
データ入出力装置3A,3Bは、データ処理提案をデータ処理装置1へ送信し、提案が認可されたら、データベース5A,5Bから共有するデータを取得してデータ処理装置1へ送信し、データ処理装置1から処理結果を受信する。
【0022】
なお、データ入出力装置3A,3B間でデータを直接送受信することはない。
【0023】
データベース5A,5Bは、組織A,Bそれぞれが管理するデータを格納する。データベース5A,5Bのスキーマおよび共有データは、データ入出力装置3A,3Bを介してデータ処理装置1へ送信される。データベース5A,5Bはリレーショナルデータベースを利用できる。
【0024】
なお、組織A,Bは、同一企業内の別々の組織であってもよいし、別々の企業であってもよい。データを共有する組織の数は2つに限らず、3つ以上の組織間でデータを共有してもよい。
【0025】
次に、
図2を参照し、データ処理装置について説明する。同図に示すデータ処理装置1は、認証部11、スキーマ情報共有部12、データ処理関数共有部13、合意形成部14、および処理実行部15を備える。
【0026】
認証部11は、データ処理装置1と各データ入出力装置3A,3Bとの間に安全なセッションを確立する。例えば、認証部11は、Transport Layer Security(TLS)のサーバ・クライアント認証によりデータ入出力装置3A,3Bとの間に安全なセッションを確立する。データ処理装置1と各データ入出力装置3A,3Bとの間の通信は、安全なセッションを通じて行われる。
【0027】
スキーマ情報共有部12は、各組織A,Bの所有データのスキーマを保持し、データ入出力装置3A,3Bからの求めに応じて、スキーマをデータ入出力装置3A,3Bへ送信する。
【0028】
データ処理関数共有部13は、データ入出力装置3A,3Bから受信した共有データに対する処理を管理する。この処理は、例えば、複数のデータベース5A,5BをまたがったSQLのJOIN文を含む統計処理であり、特定のカラムでJOINした後のカラム間の相関係数を求める処理である。データ処理装置1で行う処理を上記に限定するものではない。
【0029】
合意形成部14は、データ入出力装置3A,3Bからデータ共有の提案を受信し、共有する共有データの範囲と共有データを入力する処理を示すデータ処理提案に対する認可を各組織A,Bから得て、データ処理提案に対する合意を形成する。データ共有の提案は、自組織から共有するデータの範囲を表す条件式と他組織から共有してほしいデータの範囲を表す条件式を含む。条件式は、例えば、SQLのWHERE句を含むSELECT文である。データ処理提案が含む共有データを入力する処理は、例えば、データ共有を提案するデータ管理者が記述した処理関数である。
【0030】
合意形成部14は、データ処理提案をデータ入出力装置3A,3Bへ送信して提案に対する認可を得る。各組織A,Bから認可が得られると、合意形成部14は、組織A,B間で合意が形成されたものとして、提案の処理を処理実行部15に実行させる。
【0031】
処理実行部15は、データ処理提案に従って処理を実行し、処理結果をデータ入出力装置3A,3Bへ送信する。処理実行部15は、仮想化技術を用いて、データ入出力装置3A,3B以外とは接続しないように隔離されており、データ処理提案の示す処理のみを実行するアプリケーション実行環境を作る。アプリケーション実行環境では、データ入出力装置3A,3Bのそれぞれから条件式に従った共有データを取得し、データ処理提案の示す処理を実行する。アプリケーション実行環境は、データ入出力装置3A,3Bからの共有データの入力以外に外部からのアクセスができないように設計され、データ処理提案の示す処理のみを実行する。アプリケーション実行環境には、例えば、Dockerコンテナを用いることができる。処理実行部15は、後処理として、Dockerコンテナの削除とshredコマンドによる特定領域の完全データ消去を行う。
【0032】
次に、
図3を参照し、データ入出力装置について説明する。同図に示すデータ入出力装置3は、認証部31、スキーマ情報共有部32、提案部33、認可部34、データ送信部35、および結果受信部36を備える。組織A,Bのデータ入出力装置3A,3Bは、
図3に示すデータ入出力装置3と同じ構成である。データ入出力装置3に接続されたデータベース5は、各組織A,Bのデータベース5A,5Bである。
【0033】
認証部31は、データ処理装置1との間に安全なセッションを確立する。
【0034】
スキーマ情報共有部32は、自組織のデータベース5のスキーマをデータ処理装置1へ送信する。また、スキーマ情報共有部32は、他組織のデータベース5のスキーマをデータ処理装置1から取得する。
【0035】
データ管理者は、スキーマ情報共有部32の取得した自組織のスキーマおよび他組織のスキーマを参照して、所望の処理を記述する。処理の記述方法には制約がなく、処理実行部15が実行できる処理であればよい。例えば、SQL、Python、およびRなどの汎用かつ広く用いられる言語で処理を記述することができる。
【0036】
提案部33は、共有データを入力する処理をデータ処理装置1へ送信するとともに、自組織から共有するデータの範囲を表す条件式と他組織から共有してほしいデータの範囲を表す条件式を含むデータ共有の提案をデータ処理装置1へ送信する。
【0037】
認可部34は、データ処理提案を受信して自組織のデータ管理者へ提示し、認可をデータ処理装置1へ送信する。
【0038】
データ送信部35は、合意されたデータ処理提案が実行されるときに、共有するデータをデータベース5から取得し、データ処理装置1へ送信する。
【0039】
結果受信部36は、データ処理装置1から処理結果を受信する。
【0040】
次に、
図4ないし6のシーケンス図を用いて本実施形態の情報処理システムの動作について説明する。
【0041】
まず、
図4のシーケンス図を参照し、スキーマを共有する処理について説明する。
【0042】
ステップS11にて、データ入出力装置3Aは、データ処理装置1と間で互いに認証を行い、暗号化した安全な通信路を確立する。
【0043】
ステップS12にて、データ入出力装置3Bは、データ入出力装置3Aと同様に、データ処理装置1との間で安全な通信路を確立する。
【0044】
ステップS13にて、データ入出力装置3Aは、データベース5Aにスキーマの取得を要求する。
【0045】
ステップS14にて、データ入出力装置3Aは、データベース5Aから取得したスキーマをデータ処理装置1へ送信する。データ処理装置1は、組織Aのデータベース5Aのスキーマを保持し、閲覧可能とする。
【0046】
組織Bも同様に、ステップS15にて、データ入出力装置3Bはデータベース5Bにスキーマの取得を要求し、ステップS16にて、データ入出力装置3Bはデータベース5Bから取得したスキーマをデータ処理装置1へ送信する。データ処理装置1は、組織Bのデータベース5Bのスキーマを保持し、閲覧可能とする。
【0047】
続いて、
図5のシーケンス図を参照し、組織間でデータ共有の合意を形成する処理について説明する。ここでは、組織Aから提案する例を示しているが、組織Bから提案する場合も同様に適用できる。
【0048】
ステップS31にて、データ入出力装置3Aは、スキーマ情報取得要求をデータ処理装置1へ送信し、ステップS32にて、データ入出力装置3Aは、スキーマ情報をデータ処理装置1から受信する。スキーマ情報は、データ処理装置1が保持している組織Aのデータベース5Aのスキーマと組織Bのデータベース5Bのスキーマを含む。
【0049】
組織Aのデータ管理者は、スキーマ情報を参照し、所望の処理を実行する処理関数を記述する。
【0050】
ステップS33にて、データ入出力装置3Aは、データ処理関数設定要求をデータ処理装置1へ送信し、データ処理装置1に処理関数を登録する。
【0051】
ステップS34にて、データ入出力装置3Aは、データ処理関数設定応答をデータ処理装置1から受信する。
【0052】
ステップS35にて、データ入出力装置3Aは、データ処理提案をデータ処理装置1へ送信する。データ処理提案は、組織Aから共有するデータの範囲を表す条件式、組織Bから共有してほしいデータの範囲を表す条件式、および処理内容を含む。処理内容は、データ処理装置1に登録した処理関数を特定するための情報であってもよいし、処理関数そのものであってもよい。
【0053】
ステップS36にて、データ処理装置1は、データ処理提案の認可要求を組織Bへ送信するとともに、ステップS37にて、データ処理提案の認可要求を組織Aへ送信する。なお、本実施例のデータ処理提案は組織Aからのものであるので、ステップS37の処理は行わなくてもよい。
【0054】
組織Bのデータ管理者は、認可要求に含まれるデータ処理提案を確認する。データ処理提案は、組織Aの共有データの範囲、組織Bの共有データの範囲、および処理内容を含む。
【0055】
組織Bのデータ管理者がデータ処理提案に納得すると、ステップS38にて、データ入出力装置3Bは、データ処理提案を認可したことをデータ処理装置1へ通知する。
【0056】
なお、組織Bのデータ管理者がデータ処理提案に納得しなかった場合、組織Bは、組織Aの共有データの範囲や組織Bの共有データの範囲を修正したデータ処理提案をデータ処理装置1へ送信してもよい。データ処理装置1は、修正されたデータ処理提案の認可要求を組織Aへ送信する。あるいは、データ処理提案に対する不認可をデータ処理装置1へ通知してもよい。
【0057】
ステップS39にて、データ入出力装置3Aは、組織Aのデータ管理者がデータ処理提案を認可したことをデータ処理装置1へ通知する。なお、組織Aが送信したデータ処理提案が修正されていない場合は、ステップS39の処理を省略してもよい。
【0058】
組織A,Bの両者から認可が得られると、ステップS40にて、データ処理装置1は、組織Aの提案についての合意が成立したとして、提案の処理を実行するためのアプリケーション実行環境を作成し、
図6に示すデータ処理の実施を開始する。データ処理装置1は、合意されたデータ処理提案を記憶装置に格納して管理してもよい。
【0059】
続いて、
図6のシーケンス図を参照し、合意された提案を実行する処理について説明する。
図6で示すデータ処理装置1の処理は、アプリケーション実行環境で実行される処理である。
【0060】
ステップS51にて、データ処理装置1は、組織Aから共有するデータの範囲を表す条件式に当てはまる共有データをデータ入出力装置3Aに要求する。
【0061】
ステップS52にて、データ入出力装置3Aは、データベース5Aから条件式に当てはまる共有データを取得し、データ処理装置1へ送信する。
【0062】
ステップS53にて、データ処理装置1は、組織Bから共有するデータの範囲を表す条件式に当てはまる共有データをデータ入出力装置3Bに要求する。
【0063】
ステップS54にて、データ入出力装置3Bは、データベース5Bから条件式に当てはまる共有データを取得し、データ処理装置1へ送信する。
【0064】
組織A,Bのそれぞれから受信した共有データは、アプリケーション実行環境内に構築されたデータベースに格納される。
【0065】
ステップS55にて、データ処理装置1は、合意された提案の処理を実行する。
【0066】
ステップS56,S57にて、データ処理装置1は、処理結果をデータ入出力装置3A,3Bのそれぞれに送信する。
【0067】
処理結果を送信し終えると、データ処理装置1は、組織A,Bから受信した共有データとともにアプリケーション実行環境を削除する。
【0068】
以上説明したように、本実施形態の情報処理システムは、組織A,B間でデータを共有して処理する情報処理システムであって、データ処理装置1と各組織においてデータを管理するデータ入出力装置3A,3Bを有する。データ処理装置1は、各組織A,Bの保持するデータのデータ構造を規定するスキーマを各組織A,B間で共有するスキーマ情報共有部12と、各組織A,B間で共有する共有データの範囲と当該共有データを入力とする処理を示すデータ処理提案を受信し、当該データ処理提案に対する認可を各組織から得て、当該データ処理提案に対する合意を形成する合意形成部14と、合意が形成されたデータ処理提案の示す共有データを各組織A,Bから取得し、データ処理提案の示す処理を実行する処理実行部15を有する。データ入出力装置3A,3Bは、データ処理提案をデータ処理装置1へ送信する提案部33と、データ処理提案に対する認可をデータ処理装置1へ送信する認可部34と、データ処理提案の示す共有データをデータ処理装置1へ送信するデータ送信部35を有する。各組織A,Bの所有データのスキーマを共有することで、自組織のデータと他組織のデータを組み合わせて処理することで得られる情報を把握することができる。また、組織A,B間で、共有する共有データの範囲および共有データに対する処理の合意を形成できるので、データ所有者は、安心して他組織にデータを提供できる。
【0069】
本実施形態の情報処理システムは、処理実行部15が、仮想化技術を用いて、データ処理提案の処理を実行する実行環境を構築し、データ処理提案の示す共有データを各組織A,Bから当該実行環境に複製したうえでデータ処理提案の示す処理を実行し、処理の実行後、実行環境を破棄する。これにより、共有データのみが実行環境にコピーされ、処理の実行後に破棄されるので、各組織A,Bの保持するデータを秘匿しつつ、処理を実行できる。
【0070】
上記説明したデータ処理装置1およびデータ入出力装置3A,3Bには、例えば、
図7に示すような、中央演算処理装置(CPU)901と、メモリ902と、ストレージ903と、通信装置904と、入力装置905と、出力装置906とを備える汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、データ処理装置1およびデータ入出力装置3A,3Bが実現される。このプログラムは磁気ディスク、光ディスク、半導体メモリ等のコンピュータ読み取り可能な記録媒体に記録することも、ネットワークを介して配信することもできる。
【符号の説明】
【0071】
1…データ処理装置
11…認証部
12…スキーマ情報共有部
13…データ処理関数共有部
14…合意形成部
15…処理実行部
3,3A,3B…データ入出力装置
31…認証部
32…スキーマ情報共有部
33…提案部
34…認可部
35…データ送信部
36…結果受信部
5,5A,5B…データベース