(57)【要約】【課題】個人情報等の扱いを考慮したビックデータ分析に適したデータ管理システムを構築すること。【解決手段】データ管理システム150が、データ管理システム150にデータを送る端末300を登録する場合に、端末300から送信されるデータのデータスキーマを端末300から取得して登録しておき、さらに、登録されたデータスキーマに個人データが含まれるか否かの管理情報を、個人データルールに基づいて設定しておく。そして、データ管理システム150は、端末300からデータを受信した場合、該データのデータスキーマに設定された管理情報に基づいて、該データを適切な蓄積場所に蓄積する。【選択図】図１
2019040416.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数の機器から送信されるデータを蓄積するデータ管理システムであって、
前記機器の登録を行う場合に、該機器から送信されるデータのデータスキーマを前記機器から取得して登録する登録手段と、
前記登録されたデータスキーマに所定の種類のデータが含まれるか否かを示す管理情報を所定のルールに基づいて設定する設定手段と、
前記登録された機器から送信されたデータを受信した場合、該データを、該データのデータスキーマに設定された前記管理情報に基づいて管理する管理手段と、
を有することを特徴とするデータ管理システム。
【請求項２】
前記所定の種類のデータは、特定の個人を識別する可能性のあるデータを示すことを特徴とする請求項１に記載のデータ管理システム。
【請求項３】
前記設定手段は、前記ルールの変更があった場合、該変更されたルールに基づき、前記データスキーマに設定されている管理情報を更新することを特徴とする請求項１又は２に記載のデータ管理システム。
【請求項４】
前記管理手段は、前記機器から受信したデータに前記所定の種類のデータが含まれるか否かを、該データのデータスキーマに設定された前記管理情報に基づいて判定し、前記所定の種類のデータを含むデータについては第１蓄積場所に蓄積し、前記所定の種類のデータを含まないデータについては前記第２蓄積場所に蓄積することを特徴とする請求項１〜３のいずれか１項に記載のデータ管理システム。
【請求項５】
前記管理手段は、前記第１蓄積場所に蓄積されたデータについては、所定の同意を得ていないサービスからのアクセスを拒否し、前記第２蓄積場所に蓄積されたデータについては、前記サービスからのアクセスを許可することを特徴とする請求項４に記載のデータ管理システム。
【請求項６】
前記管理手段は、前記機器から受信したデータのデータスキーマに前記管理情報が設定されているか否かを判定し、前記データスキーマに前記管理情報が設定されていないと判定したデータについては第３蓄積場所に蓄積することを特徴とする請求項４又は５に記載のデータ管理システム。
【請求項７】
前記登録されているデータスキーマに対する前記管理情報の設定を受け付ける受け付け手段を有し、
前記設定手段は、前記受け付け手段で受け付けた設定に基づいて、前記データスキーマに対して前記管理情報を設定し、
前記管理手段は、前記第３蓄積場所に蓄積されたデータのデータスキーマに前記管理情報が設定された場合、前記第３蓄積場所に蓄積されたデータに前記所定の種類のデータが含まれるか否かを、該データのデータスキーマに設定された前記管理情報に基づいて判定し、前記所定の種類のデータを含むデータを前記第１蓄積場所に蓄積し、前記所定の種類のデータを含まないデータを前記第２蓄積場所に蓄積することを特徴とする請求項６に記載のデータ管理システム。
【請求項８】
前記機器から受信したデータのデータスキーマが登録されているか否かを判定する判定手段と、
前記判定手段により前記機器から受信したデータのデータスキーマが登録されていないと判定された場合、該機器の再登録を該機器に要求する要求手段と、
を有することを特徴とする請求項１〜７のいずれか１項に記載のデータ管理システム。
【請求項９】
前記機器から受信したデータのデータスキーマが登録されているか否かを判定する判定手段と、
前記判定手段により前記機器から受信したデータのデータスキーマが登録されていないと判定された場合、該機器から送信されるデータのデータスキーマの再登録を該機器に要求する要求手段と、
を有することを特徴とする請求項１〜７のいずれか１項に記載のデータ管理システム。
【請求項１０】
前記機器から送信されるデータをネイティブのまま蓄積可能なことを特徴とする請求項１〜９のいずれか１項に記載のデータ管理システム。
【請求項１１】
１又は複数の機器から送信されるデータを蓄積するデータ管理システムの制御方法であって、
前記機器の登録を行う場合に、該機器から送信されるデータのデータスキーマを前記機器から取得して登録する登録ステップと、
前記登録されたデータスキーマに所定の種類のデータが含まれるか否かを示す管理情報を所定のルールに基づいて設定する設定ステップと、
前記登録された機器から送信されたデータを受信した場合、該データを、該データのデータスキーマに設定された前記管理情報に基づいて管理する管理ステップと、
を有することを特徴とするデータ管理システムの制御方法。
【請求項１２】
コンピュータを、請求項１〜１０のいずれか１項に記載の手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器から送信されるデータを蓄積するデータ管理システムの制御に関する。
【背景技術】
【０００２】
従来、ビッグデータ用のリポジトリとして、データウェアハウス（Data Warehouse）と呼ばれるものがあった。データウェアハウスでは、データのスキーマを意識し、データを分類・整理して管理するものである。そのため、データウェアハウスでは、その目的に合わせて事前にスキーマ設計を行っておく必要がある。データウェアハウスによってスキーマを意識して蓄積されたデータは、ビッグデータ分析等に用いられていた。
【０００３】
その後クラウドが一般化するに伴い、様々な種類のデータに対する分析の機運が高まってきた。扱うデータの種類が増えると、データのスキーマも増えることになる。従来のスキーマを意識したデータウェアハウスでは、扱う全てのデータのスキーマを管理しなくてはいけないため（即ち事前にスキーマ設計が必要なため）、多様なデータを管理することが難しくなってきた。
【０００４】
そこで新たに、データレイク（Data Lake）という考え方が出てきた。データレイクでは、事前にデータのスキーマ設計を必要とせず、データを蓄積する。データレイクではデータのスキーマを限定せず、ネイティブのままデータ登録する。また登録されたデータは分類・整理せず管理し、分析等のために取り出す際に、必要な形で取り出すようにする。このため、データレイクでは予めスキーマ設計を行っておく必要がない。これにより、多様なデータの柔軟なデータ蓄積・データ分析が可能になった。
【０００５】
なお、分析対象のデータには、ユーザ個人に直接紐付く個人データが含まれる場合がある。オプトインの原則に則ると、分析対象のデータを扱うサービスは、ユーザの個人データのうち、事前に同意の取れたデータにしかアクセスしてはいけない。
【０００６】
特許文献１には、データへのアクセス制御を行う方法として、実データのデータスキーマに対し、アクセスできるかをアクセススキーマとして別データとして管理する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２６８２６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
データレイクは、スキーマ管理を行わないことで、様々なスキーマのデータを収集し分析するIoT時代に適した考え方である。一方で、データレイクが管理しているデータに個人データが含まれていた場合には、データレイクはデータ利用者がそのデータにアクセス可能か否かを判断する必要がある。
【０００９】
データレイクが管理しているデータに個人データが含まれているかを管理する方法として、データレイクにデータを送信するクライアントが、データと合わせて個人データの有無を送るという方法がある。しかし、この方法では、個人データの考え方が変わったり、運用ルールが変わったりした時に、全てのクライアントで改修が必要となり、対応が大変という課題がある。また、クライアントが個人データを含まないと判断していても、データレイクを提供しているサービスの規約などで個人データだと判断される場合なども考えられる。
【００１０】
そのため、データレイクを提供するサービスにおいて、クライアントから送信されたデータに個人データが含まれるかを確認する手段が必要となる。しかし、データレイクはスキーマレスなサービスであるため、各データが個人データを含むかを管理することが困難であるという課題がある。
【００１１】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、個人情報等の扱いを考慮したビックデータ分析に適したデータ管理システムを構築することができる仕組みを提供することである。
【課題を解決するための手段】
【００１２】
本発明は、１又は複数の機器から送信されるデータを蓄積するデータ管理システムであって、前記機器の登録を行う場合に、該機器から送信されるデータのデータスキーマを前記機器から取得して登録する登録手段と、前記登録されたデータスキーマに所定の種類のデータが含まれるか否かを示す管理情報を所定のルールに基づいて設定する設定手段と、前記登録された機器から送信されたデータを受信した場合、該データを、該データのデータスキーマに設定された前記管理情報に基づいて管理する管理手段と、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、個人情報等の扱いを考慮したビックデータ分析に適したデータ管理システムを構築することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施例に係るデータ管理システムを含むシステム構成図
【図２】本実施例のシステムを構成する機器のハードウェア構成図
【図３】実施例１のシステムのソフトウェア構成図
【図４】実施例１のクライアント登録処理を例示するフローチャート
【図５】実施例１のデータ登録処理を例示するフローチャート
【図６】本実施例のデータ登録とデータアクセスの流れを示す模式図
【図７】本実施例の個人データデータ分類変更処理を例示するフローチャート
【図８】実施例２のデータ登録処理を例示するフローチャート
【図９】実施例２のクライアント登録処理を例示するフローチャート
【図１０】実施例３のシステムのソフトウェア構成図
【図１１】実施例３のデータ登録処理を例示するフローチャート
【図１２】実施例３のデータ再登録処理を例示するフローチャート
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１６】
本実施例においては、データ送信元の端末からデータレイクサービスにデータを送る際に、送信したデータと送信元の端末を紐付ける必要がある。そのため、端末をデータレイクサービスに登録し、当該端末であることを証明するための情報を取得しておく必要がある。この情報は、OAuth2.0で言うところのクライアントIDおよび、クライアントシークレットである。本実施例では、この端末登録の方法として、SSL／TLSのX.509証明書を用いたクライアント認証を用いて、端末自身が能動的に登録処理を実施し、クライアントID、クライアントシークレットを取得する例をする。しかし、端末登録の方法は、これに限定されるものではない。例えば、ID、パスワードや、何かしらのトークンを用いてクライアント認証をうけ、動的に登録処理するよう構成してもよい。ここで、端末をクライアントとして登録するために利用するクライアント認証情報を「デフォルトクレデンシャル」と呼ぶ。本実施例では、端末に登録されているX.509証明書がデフォルトクレデンシャルとなる。そして、登録されたクライアントを特定するための情報を「クライアントクレデンシャル」と呼ぶ。
【００１７】
また、以下で個人データ（個人情報）とは、特定の個人を識別するに足る情報を指す。単独のデータでは特定の個人を識別できなくとも、他のデータと組み合わせて分析することで特定の個人を識別できる可能性がある場合は、これも個人データであるとする。例えば、モバイル端末の識別子は、モバイル端末の利用者個人との結びつきが強いため、個人データと考えられる。また、位置情報の履歴も、他のデータと組み合わせることで、特定の個人を識別できる可能性があるため、個人データと考えられる。
【００１８】
図１は、本発明の一実施例に係るデータ管理システムを含むシステムのネットワーク構成を例示する図である。
図１において、Wide Area Network（WAN）100は、本実施例ではWorld Wide Web（WWW）システムとして構築されたものである。Local Area Network（LAN）101、102は、本実施例のシステムの各構成要素が接続するネットワークである。
【００１９】
データ管理システム150は、分析対象データ分類サーバ151、分析対象データ蓄積サーバ152を含む。データ管理システム150は、データレイクを提供するサービスを実現するシステムであり、機器から送信されるデータをネイティブのまま蓄積可能である。
【００２０】
分析対象データ分類サーバ151は、データ送信元の端末からデータを受信し分類する。分析対象データ蓄積サーバ152は、分析対象のデータを蓄積する。データ分析サーバ153は、分析対象データ蓄積サーバ152に蓄積されたデータを分析する。
【００２１】
端末300は、LAN102に接続され、データ管理システム150にデータを送る機器であり、１又は複数設けられる。これら端末300は、それぞれ画像形成装置や、PC（パーソナルコンピュータ）や、スマートフォンやタブレットと呼ばれる携帯端末などである。分析対象データ分類サーバ151は、これら端末300で発生したデータを受信し、分析対象データ蓄積サーバ152に分析のために蓄積する。その上で、データ分析サーバ153が、分析対象データ蓄積サーバ152に蓄積されたデータを分析する。
【００２２】
分析対象データ分類サーバ151、分析対象データ蓄積サーバ152はそれぞれLAN101を介して接続されている。また、データ分析サーバ153も、LAN101を解して接続されている。なお、分析対象データ分類サーバ151、分析対象データ蓄積サーバ152、データ分析サーバ153は、それぞれ個別のLAN上に構成されていてもよいし、同一のLAN上に構成されていてもよい。また、分析対象データ分類サーバ151、分析対象データ蓄積サーバ152、データ分析サーバ153は、同一のPCまたはサーバコンピュータ上に構成されていてもよい。例えば、データ管理システム150を構成する分析対象データ分類サーバ151、分析対象データ蓄積サーバ152は、同一のサーバ上で構成されてもよい。また、分析対象データ分類サーバ151など、データ管理システム150を構成する複数サーバの一部が端末300と同一のLAN102上に配置されてもよい。また、分析対象データ分類サーバ151、分析対象データ蓄積サーバ152、データ分析サーバ153は、クラウドサービスを用いて構築されていてもよい。
【００２３】
図２は、図１に示した各種サーバや端末を構成可能な情報処理装置（コンピュータ）のハードウェア構成の一例を示す図である。
図２において、CPU201は、ROM203、RAM202、外部メモリ211などから読み込んだプログラムを実行し、各種サービスを実現する。ROM203は、組込済みプログラムおよびデータが記録されている記憶装置である。RAM202は、一時メモリ領域である。外部メモリ211は、ハードディスクドライブ（HDD）やソリッドステートドライブ（SSD）に代表されるような外部記憶装置である。
【００２４】
KBC205は、キーボード（KB）209、マウス等の入力機器からの入力を制御する。ディスプレイコントローラ（DLC）206は、ディスプレイ210等の出力機器への出力を制御する。なお、本実施例のサーバや端末を構成するコンピュータは、ディスプレイ、キーボード、マウスなどの情報の入出力を行うハードウェアを備えない構成でもよい。この場合、該コンピュータを、リモートデスクトップなどにより、他のコンピュータから接続・操作することが可能である。
【００２５】
ネットワークコントローラ（NC）208は、LANなどのネットワークに接続して、他のコンピュータやネットワーク機器との通信を行うハードウェアである。
各部（201〜203、205〜208）は、システムバス204を介して接続されている。
また、例えば、端末300が画像形成装置の場合には、上述した構成に加え、不図示のスキャナ部やプリント部などが設けられる。
【００２６】
図３は、分析対象データ分類サーバ151、分析対象データ蓄積サーバ152、端末300のモジュール構成を例示する図である。なお、分析対象データ分類サーバ151内の各モジュールは、該サーバを構成するコンピュータにおいて、外部メモリ211からRAM202にロードされ、CPU201により実行されることで夫々の機能を実現する。また、分析対象データ蓄積サーバ152内の各モジュールは、該サーバを構成するコンピュータにおいて、外部メモリ211からRAM202にロードされ、CPU201により実行されることで夫々の機能を実現する。端末300内のモジュールは、端末300を構成するコンピュータにおいて、外部メモリ211からRAM202にロードされ、CPU201により実行されることで夫々の機能を実現する。
【００２７】
分析対象データ分類サーバ151は、クライアント管理モジュール501、データ分類モジュール502、個人データ分類モジュール503、アクセス制御モジュール504を有する。
クライアント管理モジュール501は、分析対象データ分類サーバ151にインターネット及びイントラネットを経由してデータ登録を行う端末300をクライアントとして管理する。また、クライアント管理モジュール501は、SSL／TLSによる通信が可能に構成されており、不図示の証明書ストアを有する。本実施例では、クライアント管理モジュール501は、後述するクライアント登録要求を受け付けるエンドポイントにて、要求元に対してX.509形式の証明書による認証を要求するように構成されている。
【００２８】
データ分類モジュール502は、クライアントからデータを受信し、個人データ分類モジュール503での分類結果に応じて、受信したデータを分析対象データ蓄積サーバ152に蓄積する。
【００２９】
個人データ分類モジュール503は、データ分類モジュール502が受信したデータについて、個人データを含むかの分類を行う。
アクセス制御モジュール504は、分析対象データにアクセスするサービスが、各データにアクセスできるか否かのアクセス可否を判断する。
【００３０】
分析対象データ蓄積サーバ152は、個人データ蓄積モジュール511、非個人データ蓄積モジュール512を有する。個人データ蓄積モジュール511は、個人データを含むデータを蓄積する蓄積場所である。非個人データ蓄積モジュール512は、個人データを含まないデータを蓄積する蓄積場所である。
【００３１】
端末300は、アプリケーションモジュール521を有する。アプリケーションモジュール521は、分析対象データ分類サーバ151に対して、ログデータの送信を行う。また、アプリケーションモジュール521は、分析対象データ分類サーバ151にクライアント登録要求を行い、発行されたクライアントID、クライアントシークレット情報を管理する。本実施例では、アプリケーションモジュール521は、自身を証明するためのX.509形式の証明書および、その秘密鍵を所有している。
【００３２】
図４は、実施例１において、端末300を分析対象データ分類サーバ151に登録するクライアント登録処理の一例を示すフローチャートである。図４及び後述する図５、図７、図８に示す処理において、分析対象データ分類サーバ151の処理は、該サーバを構成するコンピュータにおいて、外部メモリ211からRAM202にロードされ、CPU201により実行されることで実現される。また、分析対象データ蓄積サーバ152の処理は、該サーバを構成するコンピュータにおいて、外部メモリ211からRAM202にロードされ、CPU201により実行されることで実現される。また、端末300の処理は、端末300を構成するコンピュータにおいて、外部メモリ211からRAM202にロードされ、CPU201により実行されることで実現される。
【００３３】
S1001において、端末300上のアプリケーションモジュール521は、分析対象データ分類サーバ151に、機器識別子と端末が扱うデータのスキーマ情報のリストを送り、クライアント登録要求を行う。以下、データのスキーマ情報のことを「データスキーマ」と呼ぶ。この登録要求は、アプリケーションモジュール521の初回起動時や、不図示のアプリケーションモジュール521のクライアント登録画面から要求を行った場合に実行される。例えば、アプリケーションモジュール521が分析対象データ分類サーバ151に対し、機器識別子「MFP-300」と、「ログインログ」、「アクセスログ」のデータスキーマを送り、クライアント登録要求を行う。
【００３４】
表１に、データスキーマの例を示す。なお、データスキーマについては、データスキーマIDとその項目からなるリストを例として示しているが、XMLなどの形式で定義してもよい。
【００３５】
【表１】
2019040416.tif 000003
【００３６】
分析対象データ分類サーバ151は、端末300から送信された機器識別子とデータスキーマを受信すると、S1002に処理を進める。S1002において、分析対象データ分類サーバ151は、クライアント管理モジュール501を用いて、端末300をクライアントとして登録できるか確認するために認証処理を行う。
【００３７】
本実施例では、登録要求を受けたクライアント管理モジュール501は、SSL／TLS通信のネゴシエーションを開始し、アプリケーションモジュール521に対して、クライアント認証を要求する。この要求に応じ、アプリケーションモジュール521は、クライアント認証情報をクライアント管理モジュール501に送信する。そして、クライアント管理モジュール501は、不図示の証明書ストアにて設定されている証明書を用いて、取得したクライアント認証情報を検証し、アプリケーションモジュール521をクライアント登録要求元として認証する。
【００３８】
表２に、クライアント管理モジュール501が管理しているデフォルトクレデンシャル情報の例を示す。表２の例では、クライアント認証情報として「1001AA.p12」が利用されたものとする。なお、X.509形式の証明書については、ファイルの参照先として格納する例を示しているが、バイナリデータとして直接データを格納してもよい。
【００３９】
【表２】
2019040416.tif 000004
【００４０】
次にS1003において、分析対象データ分類サーバ151は、個人データ分類モジュール503を用いて、上記S1001で受け取ったデータスキーマを、後述する表４に示すようなデータスキーマテーブルに登録する。その上で、S1004において、分析対象データ分類サーバ151は、個人データ分類モジュール503を用いて、登録した各データスキーマに対して、個人データが含まれているかの設定を行う。本実施例では、個人データ分類モジュール503は、予め設定されている個人データルールテーブルに従い、データスキーマの項目に個人データを含む項目があるかを判定する。
【００４１】
表３に個人データルールテーブルの一例を示す。
表３に示すように、個人データルールテーブルは、「項目」と「個人データ」からなり、各項目に個人データ個人データが含まれるかの判定情報を管理している。ここで、データスキーマID「ログインログ」には、個人データを含む項目「ユーザID」が存在するため、個人データありと判断する。一方で、データスキーマID「アクセスログ」には、個人データを含む項目が存在しないため、個人データなしと判断する。
【００４２】
【表３】
2019040416.tif 000005
【００４３】
なお、本実施例では、データスキーマに個人データが含まれるか否かの判断を、データスキーマの項目から判断したが、判断方法はこれに限定されるものではない。例えば、データスキーマIDに含まれる文字列から判断するように構成してもよい。この場合、データスキーマID「ログインログ」には文字列「ログイン」が含まれるので個人情報あり、のように判断できる。また、不図示の端末から設定情報を受け取るように構成することもできる。
【００４４】
表４に、分析対象データ分類サーバ151が管理しているデータスキーマ管理テーブルの一例を示す。
表４に示すように、データスキーマ管理テーブルは、データスキーマを認識するための「データスキーマID」と、そのデータスキーマが持つ項目を示す「項目」から構成される。
【００４５】
【表４】
2019040416.tif 000006
【００４６】
表５に、分析対象データ分類サーバ151が管理している個人データ分類テーブルの一例を示す。
また、表５に示すように、個人データ分類テーブルは、データスキーマを認識するための「データスキーマID」と、対象のデータスキーマに個人データを含むか否かを管理する管理情報としての「個人データ」から構成される。
【００４７】
【表５】
2019040416.tif 000007
【００４８】
S1005において、分析対象データ分類サーバ151は、クライアント管理モジュール501を用いて、クライアントクレデンシャルの作成を行う。クライアント管理モジュール501は、クライアントクレデンシャルのクライアントIDおよびクライアントを認証するための秘匿情報であるクライアントシークレットを発行し、クライアント登録要求で取得した情報と合わせてデータを格納する。その後、分析対象データ分類サーバ151は、クライアント登録要求元に、作成したクライアントIDおよびクライアントシークレットを返す。
【００４９】
表６に、データ管理システム150が管理している、クライアントクレデンシャルテーブルの一例を示す。
表６に示すように、クライアントクレデンシャルテーブルは、作成したクライアントの「クライアントID」、「クライアントシークレット」、クライアント登録要求時に受け取った「機器識別子」から構成される。例えば、クライアントID「ID0001」のクライアントクレデンシャルを発行したものとする。
【００５０】
【表６】
2019040416.tif 000008
【００５１】
S1006において、端末300は、分析対象データ分類サーバ151から受け取ったクライアントIDおよびシークレットを、アプリケーションモジュール521にクライアントクレデンシャルとして保存する。表６に示す例では、端末300は、クライアントID「ID0001」、クライアントシークレット「＊＊＊＊＊」をクライアントクレデンシャルとして保存する。なお、クライアントシークレットは秘匿情報のため「＊＊＊＊＊」と記載する。
【００５２】
図５は、実施例１において、端末300のデータをデータ管理システム150に登録するデータ登録処理の一例を示すフローチャートである。本実施例では、OAuth2.0で言うところのClient Credentials Grantを用いて、認可トークンを発行するフローとして説明する。なお、この登録処理は、端末300でデータが作成されたタイミングで実行されても、定期
的に実行されてもよい。また、既に端末300上のアプリケーションモジュール521に有効な認可トークンが存在している場合は、S1101およびS1102を省略してもよい。
【００５３】
S1101において、端末300上のアプリケーションモジュール521を用いて、データ管理システム150にクライアント認証情報を送り、認可トークンの発行要求を行う。例えば、クライアントID「ID0001」、クライアントシークレット「＊＊＊＊＊」を送り、認可トークンの発行要求を行う。
【００５４】
S1102において、データ管理システム150は、分析対象データ分類サーバ151のクライアント管理モジュール501を用いて、端末300から受け取ったクライアントIDとクライアントシークレットによってクライアントを認証する。その上で、クライアント管理モジュール501は、認可トークンを発行し、クライアントクレデンシャルテーブルの情報と合わせて認可トークンテーブルに格納する。その後、認可トークン発行要求元に、発行した認可トークンを応答する。
【００５５】
表７に、クライアント管理モジュール501が管理している認可トークンテーブルの一例を示す。
表７に示すように、認可トークンテーブルは、認可トークンを識別する「トークンID」、認可トークンを発行したクライアント情報を示す「クライアントID」および「機器識別子」、認可トークンの有効期限を示す「有効期限」からなる。例えば、トークンID「AT0001」を発行したものとし、クライアントクレデンシャルテーブルから取得したクライアントID「ID0001」、機器識別子「MFP-300」を合わせて保存する。
【００５６】
【表７】
2019040416.tif 000009
【００５７】
S1103において、端末300上のアプリケーションモジュール521は、クライアント管理モジュール501で発行された認可トークンを用いてクライアント管理モジュール501にデータ送信を行い、データ管理システム150にデータ登録要求を行う。データ送信には、「認可トークン」と、登録するデータの「データスキーマID」およびデータ本体が含まれる。例えば、認可トークンとして「AT0001」、登録するデータとしてデータスキーマID「ログインログ」、データ本体として「ユーザAが2016／4／1  9：00にログインした」というデータを送信して、データ登録要求を行う。
【００５８】
S1104において、データ管理システム150は、分析対象データ分類サーバ151のクライアント管理モジュール501を用いて、端末300から受け取った認可トークンのトークンIDを検証し、検証結果としてトークンに紐付く情報を取得する。より具体的には、データ管理システム150は、トークンIDが認可トークンテーブルに登録されているか、かつ有効期限内かを検証し、特定された認可トークンに紐付く情報を認可トークン情報として利用する。例えば、トークンID「AT0001」に紐付くクライアントID「ID0001」、機器識別子「MFP-300」が認可トークン情報として利用される。
【００５９】
S1105において、データ管理システム150は、分析対象データ分類サーバ151のデータ分類モジュール502を用いて、端末300から受け取ったデータが個人情報を含むかを判定する。データ分類モジュール502は、受け取ったデータのデータスキーマIDと、個人データ分類テーブルの情報から、そのデータに個人データが含まれているか判定する。例えば、表５に示した個人データ分類テーブルの情報の例では、データスキーマID「アクセスログ」のデータには個人データが含まれていると判定される。
【００６０】
上記S1105において、受け取ったデータに個人データが含まれていると判定した場合、データ分類モジュール502は、S1006に処理を進め、個人データありとしてデータ保存を行う。S1106において、個人データ蓄積モジュール511は、受け取ったデータと、上記S1104で取得したクライアントデータを紐付けて蓄積する。
【００６１】
表８に、個人データ蓄積モジュール511に蓄積されたデータの一例を示す。
表８に示すように、個人データ蓄積モジュールの蓄積データは、機器を識別する「機器識別子」と、分析対象データから取得した「日時」と、データ本体である「分析対象データ」からなる。
【００６２】
【表８】
2019040416.tif 000010
【００６３】
一方、上記S1105において、受け取ったデータに個人データが含まれていないと判定した場合、データ分類モジュール502は、S1007に処理を進め、個人データなしとしてデータ保存を行う。S1107において、非個人データ蓄積モジュール512は、受け取ったデータと、S1104で取得したクライアントデータを紐付けて蓄積する。
【００６４】
表９に、非個人データ蓄積モジュール512に蓄積されたデータの一例を示す。
表９に示すように、非個人データ蓄積モジュールの蓄積データは、機器を識別する「機器識別子」と、分析対象データから取得した「日時」と、データ本体である「分析対象データ」からなる。
【００６５】
【表９】
2019040416.tif 000011
【００６６】
なお、上記S1103で複数のデータの登録要求が行われていた場合、データ分類モジュール502は、登録要求ごとに、上記S1105〜S1107を実行するように制御する。そして、全ての登録要求の処理が完了すると、データ分類モジュール502は、本フローチャートの処理を終了する。
【００６７】
図６は、本実施例に係るデータ登録とデータアクセスの流れを示す模式図である。
図６（Ａ）に示すように、データ分類モジュール502は、端末300からデータ登録要求を受け付ける。データ登録要求を受け付けたデータ分類モジュール502は、個人データ分類モジュール503に問い合わせ、個人データを含むかの判定を行う。その上でデータ分類モジュール502は、受信したデータを分類および加工し、個人データ蓄積モジュール511又は非個人データ蓄積モジュール512にそれぞれ蓄積する。
【００６８】
図６（Ｂ）に示すように、アクセス制御モジュール504は、データ分析サーバ153上のデータ分析サービスからデータアクセス要求を受け付ける。データアクセス要求を受け付けたアクセス制御モジュール504は、データ分析サービスがアクセス可能なデータを判断する。例えば、データ分析サービスが予めユーザの同意を得ていないサービスの場合、データ分析サービスからのデータアクセス要求の内、非個人データ蓄積モジュール512で管理される端末300のデータへのアクセスは許可される。一方で、個人データ蓄積モジュール511で管理される端末300のデータへのアクセスは拒否される、などの判断がなされる。
【００６９】
図７は、分析対象データ分類サーバ151が管理するデータスキーマに個人データが含まれているか否かの設定を変更する個人データデータ分類変更処理の一例を示すフローチャートである。
【００７０】
S1201において、分析対象データ分類サーバ151のデータ分類モジュール502は、個人データルールの更新を行う。この更新は、不図示の端末からの指示に応じて、実行される。例えば、項目「機能」が個人データ「なし」であったのを、個人データ「あり」に変更する。
【００７１】
次にS1202において、分析対象データ分類サーバ151のデータ分類モジュール502は、データスキーマ管理テーブルのデータを確認し、上記S1201で個人データルールを変更した項目を持つデータスキーマがあるか確認する。例えば、上記S1201で項目「機能」が個人データ「なし」から「あり」に変更された場合、該項目「機能」を持つデータスキーマ（表４の例ではデータスキーマID「アクセスログ」）が存在することを確認する。
【００７２】
S1203において、分析対象データ分類サーバ151のデータ分類モジュール502は、上記S1202の確認に基づいて、個人データ分類が変更されたデータスキーマの判定を行う。個人データ分類が変更されたデータスキーマがないと判断した場合（S1203でNoの場合）、データ分類モジュール502は、本フローチャートの処理を終了する。
【００７３】
一方、上記S1203において、個人データ分類が変更されたデータスキーマがあると判断した場合（S1203でYesの場合）、データ分類モジュール502は、S1204に処理を進める。例えば、上記S1201で項目「機能」が個人データ「なし」から「あり」に変更された場合、表４の例では、データスキーマID「アクセスログ」が、個人データ「あり」の項目を含むようになったため、個人データ分類が変更されたと判定する。
【００７４】
S1204において、分析対象データ分類サーバ151のデータ分類モジュール502は、個人データ分類テーブルを更新する。上述の例では、個人データ分類テーブルのデータスキーマID「アクセスログ」について、個人データ「あり」に更新する。なお、本実施例では、個人データルールを更新してデータスキーマが個人データを含むかの設定変更を行う方法を示したが、他の方法を用いてもよい。例えば、不図示の端末から直接個人データ分類テーブルの設定値を更新する構成でもよく、個人データルールを更新した上で個人データ分類テーブルの設定値を更新する構成でもよい。
【００７５】
以上示したように、実施例１によれば、データ管理システム150が、各クライアントから送られてくるデータのデータスキーマを管理し、さらに各データスキーマが個人データを含むかを管理できる。また、データスキーマが個人データを持つか否かの定義が変わった場合でも、データ管理システム150で各データスキーマが個人データを持つか否かの設定を変えるだけで、適切にデータ分類が行えるようになる。
【実施例２】
【００７６】
実施例２では、端末300が扱うデータのデータスキーマに追加や更新があった場合の実施例について説明する。
端末300上で動作するアプリケーションが更新されたり、ファームウェアが更新されたりすることで、これまで利用していなかった種類のデータが追加される場合がある。この場合、端末300からデータ管理システム150に送信されるデータにも、新たに追加されたデータが含まれるようになる。新たに追加されたデータのデータスキーマをデータ管理システム150が管理していなければ、データ管理システム150において、端末300から送られてくるデータに個人データが含まれるか否かを判定できなくなってしまう。本実施例では、登録済みのクライアントから、新しいデータスキーマのデータが送られてきた場合に対応可能な構成について説明する。
【００７７】
図８は、実施例２において、端末300のデータをデータ管理システム150に登録する際のデータ管理システム150の処理の一例を示すフローチャートであり、特にデータ管理システム150がクライアントから新しいデータスキーマのデータを受け取った際の処理について説明する。なお、図５と同一のステップには同一のステップ番号を付してある。
また、図８及び後述する図９に示す処理において、分析対象データ分類サーバ151の処理は、該サーバを構成するコンピュータにおいて、外部メモリ211からRAM202にロードされ、CPU201により実行されることで実現される。また、分析対象データ蓄積サーバ152の処理は、該サーバを構成するコンピュータにおいて、外部メモリ211からRAM202にロードされ、CPU201により実行されることで実現される。また、端末300の処理は、端末300を構成するコンピュータにおいて、外部メモリ211からRAM202にロードされ、CPU201により実行されることで実現される。
【００７８】
S1104は、図５で説明したステップと同一のステップであるため説明を省略する。なお、実施例２では、データ管理システム150は、S1104の処理の後、S2001に処理を進める。
S2001において、データ管理システム150は、上記S1104の認可トークン検証のために端末300から送られてきたデータのデータスキーマが、データスキーマ管理テーブルに登録済みか否かを判定する。上記端末300から送られてきたデータのデータスキーマがデータスキーマ管理テーブルに登録済みと判定した場合、データ管理システム150は、S1105〜S1107の処理を実行する。なお、S1105〜S1107のステップは図５と同一であるため、説明を省略する。
【００７９】
一方、上記S2001において、上記端末300から送られてきたデータのデータスキーマがデータスキーマ管理テーブルに未登録と判定した場合、データ管理システム150は、S2002に処理を進める。例えば、端末300において新たなデータスキーマ「操作ログ」というログが増えたものとする。そして、データ管理システム150は、端末300から登録するデータとして、データスキーマID「操作ログ」、データ本体として「ユーザAが2016／4／1  9：10に印刷した」というデータを受け取ったものとする。データ管理システム150は、データスキーマID「操作ログ」はデータスキーマ管理テーブルに登録されていない場合、データスキーマが未登録と判定する。
【００８０】
S2002において、データ管理システム150は、上記データ送信元である端末300に対応するクライアントの状態を無効化し、上記データ送信元である端末300に対し、クライアント無効化を応答する。例えば、トークンID「AT0001」に紐付くクライアントID「ID0001」の状態を無効にする。なお、ここでクライアントの無効化と合わせて、発行済みのアクセストークンも無効にしてもよい。このように、クライアント状態の無効化を行い、その旨を応答することにより、データ管理システム150は、端末300にクライアント再登録を要求する。
【００８１】
表１０に、クライアントを無効にした場合の、クライアントクレデンシャルテーブルのデータ例を示す。なお、表１０のクライアントクレデンシャルテーブルは、表６で示した項目に、クライアントの状態を示す「状態」が追加されたものとなる。
【００８２】
【表１０】
2019040416.tif 000012
【００８３】
図９は、実施例２において、クライアントが無効になった端末300のクライアントを有効にするクライアント再登録処理の一例を示すフローチャートである。なお、図４と同一のステップには同一のステップ番号を付してある。
【００８４】
S2101において、端末300はクライアントの無効化を受け、データ管理システム150に対してクライアント有効化要求を行う。アプリケーションモジュール521が、例えば、機器識別子「MFP-300」と「ログインログ」「アクセスログ」「操作ログ」のスキーマ情報をデータ管理システム150に送り、クライアントクレデンシャル再登録要求を行う。
【００８５】
S1002は、図４で説明したステップと同一のステップであるため説明を省略する。なお、実施例２では、データ管理システム150は、S1102の処理の後、S2102に処理を進める。
S2102において、データ管理システム150は、分析対象データ分類サーバ151のクライアント管理モジュール501を用いて、クライアントクレデンシャルの有効化を行う。クライアント管理モジュール501は、S1002で認証した結果と、クライアントクレデンシャルテーブルから、有効化するクライアントIDを決定し、クライアントの状態を有効化する。例えば、認証した機器識別子「MFP-300」と、表１０に示したクライアントクレデンシャルテーブルの情報から、有効化するクライアントID「ID0001」を決定し、状態を有効化する。
【００８６】
データ管理システム150は、S2102の処理の後、S1004に処理を進める。S1004〜S1006のステップは図４と同一であるため、説明を省略する。なお、例えば、クライアント有効化要求においてデータスキーマとして「ログインログ」「アクセスログ」「操作ログ」を受け取り、「ログインログ」「アクセスログ」が登録済みの場合、「操作ログ」のみを新たにデータスキーマ管理テーブルに追加する（S1004）。そして、「操作ログ」に個人データが存在するかを判定し、例えば個人データ「あり」として個人データ分類テーブルに設定する（S1005）。
表１１、表１２に、実施例２でデータスキーマID「操作ログ」の情報を登録した場合のデータスキーマ管理テーブル、個人データ分類テーブルの一例を示す。
【００８７】
【表１１】
2019040416.tif 000013
【００８８】
【表１２】
2019040416.tif 000014
【００８９】
なお、図９のフローチャートの処理が終了すると、データ管理システム150は、端末300から新たに追加されたデータスキーマID「操作ログ」のデータを受け取った場合でも、個人データが含まれるか判定できるようになり、データの登録が可能になる。
【００９０】
以上のように、実施例２によれば、クライアントが扱うデータスキーマが増えたり、データスキーマに変更が発生したりした場合、自動で最新のスキーマ情報を登録することができる。これにより、クライアント側が扱うデータスキーマの変更に対して、動的に対応することが可能となる。
【００９１】
なお、上述した説明では、クライアントクレデンシャルを一時無効にして再登録を行う構成を示したが、クライアントクレデンシャルの無効化は行わず、クライアントに対してデータスキーマの再登録を要求するように構成してもよい。
【実施例３】
【００９２】
実施例３では、データ管理システム150が、クライアントが扱っているデータに個人データが含まれるか否かを判断できない場合の処理について説明する。
データ分類モジュール502では、クライアントから登録されたデータスキーマに個人情報が含まれているか否かを判断できない場合、データをどの蓄積モジュールに配備してよいのか判断ができない。しかし、ビッグデータ分析等に利用するためにデータを蓄積するシステムにおいて、このようなデータを、不明なデータとしてデータを削除してしまうと、様々なデータを分析するというシステムにそぐわなくなってしまう。実施例３では、このような不明なデータを管理する構成について説明する。
【００９３】
図１０は、実施例３における分析対象データ蓄積サーバ152のモジュール構成を例示する図である。なお、図３と同一のものには同一の符号を付してある。
図１０に示すように、実施例３の分析対象データ蓄積サーバ152は、実施例１（図３）で説明した分析対象データ蓄積サーバに、保留データ蓄積モジュール513を追加したものとなる。
【００９４】
図１１は、実施例３において、端末300のデータをデータ管理システム150に登録するデータ登録処理の一例を示すフローチャートであり、特に端末300が個人情報を含むか不明なデータスキーマのデータをデータ管理システム150に登録する際の処理を説明する。なお、図５と同一のステップには同一のステップ番号を付してある。
また、図１１及び後述する図１２に示す処理において、分析対象データ分類サーバ151の処理は、該サーバを構成するコンピュータにおいて、外部メモリ211からRAM202にロードされ、CPU201により実行されることで実現される。また、分析対象データ蓄積サーバ152の処理は、該サーバを構成するコンピュータにおいて、外部メモリ211からRAM202にロードされ、CPU201により実行されることで実現される。また、端末300の処理は、端末300を構成するコンピュータにおいて、外部メモリ211からRAM202にロードされ、CPU201により実行されることで実現される。
【００９５】
S1103〜S1104は、図５で説明したステップと同一のステップであるため説明を省略する。なお、ここでは、端末300から「2016／4／1  9：10にトナー残量が低下した」という「システムログ」が送られたものとする。そしてデータ管理システム150には「システムログ」は登録済みだが、個人データを含むかは不明な状態とする。具体的には、データスキーマID「システムログ」は、データ管理システム150のデータスキーマ管理テーブルに登録されており、個人データ分類テーブルに個人データ不明として登録されているものとする。
【００９６】
表１３、表１４に、本実施例でのデータ管理システム150が管理するデータの一例を示す。なお、本実施例では、個人データ分類テーブルにおいてシステムログが個人データ「不明」として管理されているが、未設定や空など、他の定義としてもよい。
【００９７】
【表１３】
2019040416.tif 000015
【００９８】
【表１４】
2019040416.tif 000016
【００９９】
なお、実施例３では、データ管理システム150は、S1104の処理の後、S3001に処理を進める。
S3001において、データ管理システム150は、端末300から受け取ったデータのデータスキーマについて、個人データを含むか否かの設定がされているか否かを判定する。個人データを含むか否かの設定がされていると判定した場合（S3001で「設定済み」の場合）、データ管理システム150は、S1105に処理を進める。なお、S1105〜S1107のステップは図５と同一であるため、説明を省略する。
【０１００】
一方、上記S3001において、個人データを含むか否かの設定がされていないと判定した場合（S3001で「未設定」の場合）、データ管理システム150は、S3002に処理を進める。上述の例では、データスキーマID「システムログ」の個人データが不明となっているため、個人データを含むか設定されていないと判定する。
【０１０１】
S3002において、個人データ蓄積モジュール511は、端末300から受け取ったデータを保留データ蓄積モジュール513に蓄積する。
表１５に、保留データ蓄積モジュール513に蓄積されたデータの例を示す。
表１５に示すように、保留データ蓄積モジュール513に蓄積されるデータには、データスキーマIDと、クライアントID、そしてデータ本体が含まれる。なお、保留データ蓄積モジュール513に蓄積されているデータは、データ分析サーバ153などからアクセスすることができず、分析に用いることができない情報となる。
【０１０２】
【表１５】
2019040416.tif 000017
【０１０３】
図１２は、実施例３において、個人データを含むか不明であったデータスキーマに対し、個人データを含むか否かが設定された場合の処理（データ再登録処理）の一例を示すフローチャートである。本フローチャートの処理は、個人データルールテーブルの更新された場合や、不図示の端末から個人データ分類テーブルの更新が指示された場合に実行される。
【０１０４】
S3010において、データ管理システム150は、個人データルールテーブルの更新や個人データ分類テーブルの更新指示に基づき、個人データ分類テーブルに対し、個人データを含むか否かの設定変更を行う。例えば、スキーマID「システムログ」は個人データを含まない、と指定された設定変更（更新）が行われたものとする。
表１６に、更新された個人データ分類テーブルのデータの例を示す。
【０１０５】
【表１６】
2019040416.tif 000018
【０１０６】
次にS3011において、データ管理システム150は、個人データを含むか不明だったデータに対して個人データを含むか否かの設定がされた（保留データに関連する個人データ分類の変更があった）か否かを判定する。保留データに対して個人データを含むか否かの設定がされていない（保留データに関連する個人データ分類の変更がなかった）と判定した場合（S3011で「変更なし」の場合）、データ管理システム150は、本フローチャートの処理を終了する。
【０１０７】
一方、上記S3011において、保留データに対して個人データを含むか否かの設定がされた（保留データに関連する個人データ分類の変更があった）と判定した場合（S3011で「変更あり」の場合）、データ管理システム150は、S3013に処理を進める。例えば、表１５のように保留データとして蓄積されているデータスキーマID「システムログ」について、表１６のように、個人データ「不明」から「なし」に設定変更された場合、変更ありと判定する。
【０１０８】
S3013において、データ管理システム150は、保留データとして保存されているデータの変換を行う。保留データが個人データ「あり」となった場合には、それらのデータを個人データ蓄積モジュール511に蓄積する。また、保留データが個人データ「なし」となった場合には、それらのデータを非個人データ蓄積モジュール512に蓄積する。その後、該当する保留データを保留データ蓄積モジュール513から削除する。上述の例では、データスキーマID「システムログ」のデータが個人データ「なし」となったため、保留データ蓄積モジュール513上のデータスキーマID「システムログ」のデータを、非個人データ蓄積モジュール512に保存する。そして、保留データ蓄積モジュール513から、データスキーマID「システムログ」のデータを削除する。
【０１０９】
なお、本実施例では、データスキーマIDから個人データを含むか否かの判定を行う構成について示したが、これに限定されるものではない。例えば、個人データ判定項目の追加によって判定したり、不図示の端末から判定情報を受け取るように構成することも可能である。
【０１１０】
以上のように、実施例３によれば、端末から個人データを含むか不明なデータが送られてきた場合でも、そのデータを失うことなく管理することができる。また、個人データを含むかが設定された時点で、そのデータの管理を変更し、適切な権限でデータアクセスできるようにすることができる。
【０１１１】
上述したように、ビッグデータを活用する際に、データに個人データが含まれている場合、分析対象のデータを扱うサービスは、事前に同意の取れたデータにしかアクセスしてはいけない。そのため、ビッグデータ用のリポジトリであり、データスキーマを管理しないデータレイクを提供するサービスにおいて、データレイクに蓄積されるデータが個人データを含むかを管理する必要がある。そのため、上述の各実施例では、データレイクを提供するサービス（データ管理システム150が提供するサービス）にデータを送信する機器をクライアント登録する際に、その機器が扱っているデータスキーマを合わせて送り、サービス側に登録する。そして、該サービスにおいて、各データスキーマが個人データを含むかを管理し、クライアントから送られるデータが個人データを含むかを判断して蓄積する。このような構成により、データレイクを提供するサービスにおいて、クライアントが扱っているデータのデータスキーマを管理し、合わせて各データスキーマが個人データを含んでいるかを管理することができるようになる。その結果、データレイクを提供するサービス上で個人データの有無を設定することで、各データが個人データを含むかを即時反映できるようになる。これにより、データに個人データが含まれるかが変更になった場合でも、データ利用者に適切な範囲のデータを容易に提供できるようになる。
すなわち、データレイクのように事前にデータスキーマ設計を必要とせずデータを蓄積可能な仕組みを提供するサービスにおいて、データに含まれる個人情報を適切に保護することができる。また、個人データに対するルール変更などへにも柔軟に対応することができる。これにより、個人データの扱いを考慮したビックデータ分析に適したデータ管理システムを構築することができる。
【０１１２】
なお、上記各実施例では、個人データ（個人情報）を含むか否かで機器から送信されるデータを分類して管理する構成について説明した。しかし、個人データに限定されるものではなく、個人データ以外の所定の種類のデータ（例えば機密情報）を含むか否かで機器から送信されるデータを分類して管理するように構成してもよい。
【０１１３】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１１４】
（その他の実施例）
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路（例えば、ASIC）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１１５】
150    データ管理システム
151    分析対象データ分類サーバ
152    分析対象データ蓄積サーバ
153    データ分析サーバ
300    端末
【図１】
2019040416.tif 000019
【図２】
2019040416.tif 000020
【図３】
2019040416.tif 000021
【図４】
2019040416.tif 000022
【図５】
2019040416.tif 000023
【図６】
2019040416.tif 000024
【図７】
2019040416.tif 000025
【図８】
2019040416.tif 000026
【図９】
2019040416.tif 000027
【図１０】
2019040416.tif 000028
【図１１】
2019040416.tif 000029
【図１２】
2019040416.tif 000030