(57)【要約】【課題】データマーケットにおいてデータが取引される際に、当該データが不正に流出することを防ぐ技術を提供する。【解決手段】情報処理システムは、定義された処理を入力データに対して実行することにより、前記入力データに対する前記処理の実行結果を生成する処理ブロックを特定する情報と、前記処理ブロックに関連付けされた情報であって、前記処理ブロックにより定義された処理が、前記処理結果に基づいて前記入力データの一部または全てを復元可能な処理（復元可能処理）であるか、あるいは、復元不可能な処理（復元不能処理）であるかを示す情報である復元可否情報と、に基づいて、前記処理ブロックにより定義される処理が前記復元可能処理である場合には、前記入力データに対して前記復元可能処理が実行されることを抑制する。【選択図】図１３
2015108963.tif 000002
【特許請求の範囲】
【請求項１】
定義された処理を入力データに対して実行することにより、前記入力データに対する前記処理の実行結果を生成する処理ブロックを特定する情報と、
前記処理ブロックに関連付けされた情報であって、前記処理ブロックにより定義された処理が、前記処理結果に基づいて前記入力データの一部または全てを復元可能な処理（復元可能処理）であるか、あるいは、復元不可能な処理（復元不能処理）であるかを示す情報である復元可否情報と、に基づいて、
前記処理ブロックにより定義される処理が前記復元可能処理である場合には、前記入力データに対して前記復元可能処理が実行されることを抑制する処理抑制手段
を備える情報処理システム。
【請求項２】
前記処理ブロックを特定する情報と、前記特定された処理ブロックに関連付けられた前記復元可否情報と、前記復元可否情報と、に基づいて、前記処理ブロックにより定義される処理が復元可能処理であるのか復元不能処理であるのかを判定する判定手段を更に備え、
前記処理抑制手段は、前記復元可能処理であると判定された処理が実行されることを抑制する請求項１に記載の情報処理システム。
【請求項３】
前記判定手段は、
複数の前記処理ブロックが直列に接続されることにより構成される処理フローと、
複数の前記処理ブロックのそれぞれに関連づけされた複数の前記復元可否情報と、を取得し、
前記処理フローを構成する複数の前記処理ブロックに、前記復元不能処理であることを示す前記復元可否情報が関連付けられた処理ブロックが少なくとも１つ含まれる場合には、前記処理フローにより定義される処理は復元不能処理であると判定し、
前記処理フローを構成する複数の前記処理ブロックに、前記復元不能処理であることを示す前記復元可否情報が関連付けられた処理ブロックが１つも含まれない場合には、前記処理フローにより定義される処理は復元可能処理であると判定し、
前記処理抑制手段は、前記復元可能処理であると判定された処理が実行されることを抑制する請求項２に記載の情報処理システム。
【請求項４】
前記データを定義する一つまたは複数のデータブロックと、１つまたは複数の前記処理ブロックと、処理結果の出力を定義する出力ブロックと、の接続関係により定義されるデータ処理式の入力を受け付る受付手段を更に備え、
前記データ処理式における接続関係を分析し、前記データ処理式から複数の前記処理フローを抽出する分析手段を更に備え、
前記判定手段は、前記分析手段から複数の前記処理フローを取得し、前記処理フロー毎に前記処理フローにより定義される処理が復元可能処理であるか復元不能処理であるかを判定し、前記複数の処理フローのうち全ての処理フローにより定義される処理が復元不能処理である場合には、前記データ処理式により定義される処理は復元不能処理であると判定し、前記複数の処理フローのうち少なくとも１つの処理フローにより定義される処理が復元可能処理である場合には、前記データ処理式により定義される処理は復元可能処理であると判定する、
請求項３に記載の情報処理システム。
【請求項５】
前記復元可否情報は、前記処理ブロックまたは複数の前記処理ブロックの組み合わせに関連づけされた情報であり、且つ、前記処理ブロックにより定義される処理または複数の前記処理ブロックの組み合わせにより定義される処理が、前記復元可能処理であるか、前記復元不可能処理であるかを示す情報であり、
前記判定手段は、前記処理フローを構成する複数の前記処理ブロックまたは前記処理ブロックの組み合わせに、復元不能処理であることを示す前記復元可否情報が関連付けられた処理ブロックまたは処理ブロックの組み合わせが一つも含まれない場合に、前記処理フローにより定義される処理は復元可能処理であると判定する、
請求項３に記載の情報処理システム。
【請求項６】
前記処理抑制手段は、前記復元可能処理であると判定された処理の処理結果が所定の範囲外に出力されないように、前記処理が実行されることを抑制する、
請求項２から５のいずれかに記載の情報処理システム。
【請求項７】
前記受付手段は、前記データブロックと前記処理ブロックとを複数のユーザ間で取引可能なプラットフォームにおいて、前記データ処理式の入力を前記複数のユーザのうちいずれかのユーザから受け付け、
前記処理抑制手段は、前記復元可能処理であると判定された処理の処理結果が、前記プラットフォームの外部に出力されないように、前記処理が実行されることを抑制する、
請求項４に記載の情報処理システム。
【請求項８】
前記処理抑制手段は、復元可能処理であると判定された処理が実行される場合、前記データブロックを提供したユーザに対して、前記プラットフォームを介してメッセージを通知する、請求項７に記載の情報処理システム。
【請求項９】
コンピュータが、
定義された処理を入力データに対して実行することにより、前記入力データに対する前記処理の実行結果を生成する処理ブロックを特定する情報と、
前記処理ブロックに関連付けされた情報であって、前記処理ブロックにより定義された処理が、前記処理結果に基づいて前記入力データの一部または全てを復元可能な処理（復元可能処理）であるか、あるいは、復元不可能な処理（復元不能処理）であるかを示す情報である復元可否情報と、に基づいて、
前記処理ブロックにより定義される処理が前記復元可能処理である場合には、前記入力データに対して前記復元可能処理が実行されることを抑制する、制御方法。
【請求項１０】
コンピュータに、
定義された処理を入力データに対して実行することにより、前記入力データに対する前記処理の実行結果を生成する処理ブロックを特定する情報と、
前記処理ブロックに関連付けされた情報であって、前記処理ブロックにより定義された処理が、前記処理結果に基づいて前記入力データの一部または全てを復元可能な処理（復元可能処理）であるか、あるいは、復元不可能な処理（復元不能処理）であるかを示す情報である復元可否情報と、に基づいて、
前記処理ブロックにより定義される処理が前記復元可能処理である場合には、前記入力データに対して前記復元可能処理が実行されることを抑制する処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データが不正に流出することを防ぐ技術に関する。
【背景技術】
【０００２】
近年、ビッグデータビジネスへの期待が高まっている。ビッグデータビジネスとは、大量のデータを分析処理することにより、そのデータの中から有用な知見を見出すこと、そして、当該知見を活かして事業の付加価値をより高めることを意味する。しかし、ビッグデータビジネスを行いたい組織が、必ずしも自身にとって必要な全てのデータを所有しているとは限らない。また、高い信頼性を有する有用なデータを所有している組織が、必ずしも自身でビッグデータビジネスを行うとは限らない。このため、組織間またはユーザ間で、データを取引し合う構想が提唱されている。このような構想の一例がデータマーケットである。データマーケットとは、いわばデータベースに蓄積されたデータを売り買いする市場のようなものである。
【０００３】
非特許文献１は、データマーケットを提供するサービスの一例を開示する。データ購買者およびデータ販売者は、非特許文献１が開示するサービスを介してデータの売買を行う。データ購買者は、非特許文献１が開示するサービスにログインし、次に所望するデータを選択し、そしてデータ販売者からそのデータを購入する。このように、ビッグデータビジネスを行いたい組織は、非特許文献１が開示するサービスを利用して、自身にとって必要なデータを他者から入手する。また、有用なデータを所有している組織は、非特許文献１が開示するサービスにデータ販売者として登録して、データを他者に提供する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“windows azure marketplace”、［online］、Microsoft、［平成25年11月29日検索］、インターネット〈URL：http://datamarket.azure.com/〉
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、例えば、データを購買したユーザが、当該購買したデータを第三者に転売等してしまうことが想定される。このようなことが行われると、オリジナルデータの所有者（データ販売者）は不利益を被る。このような事態が仮に多発すると、オリジナルデータの所有者は、データマーケットにデータを提供することをためらうおそれがある。そうなれば、データマーケット自体が成立しない事態も予想される。
【０００６】
本発明は、データマーケットにおいてデータが取引される際に、当該データが不正に流出することを防ぐ技術を提供することを１つの目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の側面は、定義された処理を入力データに対して実行することにより、前記入力データに対する前記処理の実行結果を生成する処理ブロックを特定する情報と、前記処理ブロックに関連付けされた情報であって、前記処理ブロックにより定義された処理が、前記処理結果に基づいて前記入力データの一部または全てを復元可能な処理（復元可能処理）であるか、あるいは、復元不可能な処理（復元不能処理）であるかを示す情報である復元可否情報と、に基づいて、前記処理ブロックにより定義される処理が前記復元可能処理である場合には、前記入力データに対して前記復元可能処理が実行されることを抑制する処理抑制手段を備える情報処理システムである。
【０００８】
本発明の第２の側面は、コンピュータが、定義された処理を入力データに対して実行することにより、前記入力データに対する前記処理の実行結果を生成する処理ブロックを特定する情報と、前記処理ブロックに関連付けされた情報であって、前記処理ブロックにより定義された処理が、前記処理結果に基づいて前記入力データの一部または全てを復元可能な処理（復元可能処理）であるか、あるいは、復元不可能な処理（復元不能処理）であるかを示す情報である復元可否情報と、に基づいて、前記処理ブロックにより定義される処理が前記復元可能処理である場合には、前記入力データに対して前記復元可能処理が実行されることを抑制する、制御方法。制御方法である。
【０００９】
本発明の第３の側面は、コンピュータに、定義された処理を入力データに対して実行することにより、前記入力データに対する前記処理の実行結果を生成する処理ブロックを特定する情報と、前記処理ブロックに関連付けされた情報であって、前記処理ブロックにより定義された処理が、前記処理結果に基づいて前記入力データの一部または全てを復元可能な処理（復元可能処理）であるか、あるいは、復元不可能な処理（復元不能処理）であるかを示す情報である復元可否情報と、に基づいて、前記処理ブロックにより定義される処理が前記復元可能処理である場合には、前記入力データに対して前記復元可能処理が実行されることを抑制する処理を実行させる、プログラム。を実行させるプログラムである。
【００１０】
また、本発明の目的は、上記のプログラムが格納されたコンピュータ読み取り可能な記録媒体によっても達成される。
【発明の効果】
【００１１】
本発明によれば、データマーケットにおいてデータが取引される際に、当該データが不正に流出することを防ぐ技術を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態にかかる情報処理システム１０００の構成を示す図である。
【図２】本発明の第１の実施形態にかかるデータ処理式の一例を示す図である。
【図３】本発明の第１の実施形態にかかる受付部１１０が表示する画面の一例を示す図である。
【図４】本発明の第１の実施形態にかかるデータ処理式の一例を示す図である。
【図５】本発明の第１の実施形態にかかる接続分析情報の一例を説明する図である。
【図６】本発明の第１の実施形態にかかる記憶部２１０が記憶する情報の一例を示す図である。
【図７】本発明の第１の実施形態にかかる分析部１２０の動作を説明するフローチャートである。
【図８】本発明の第１の実施形態にかかる判定部１３０の動作を説明するフローチャートである。
【図９】本発明の第１の実施形態にかかる情報処理システム１０００のハードウェア構成の一例を示す図である。
【図１０】本発明の第２の実施形態にかかる情報処理システム１０００Ａの構成を示す図である。
【図１１】本発明の第２の実施形態にかかる記憶部２１０Ａが記憶する情報の一例を示す図である。
【図１２】本発明の第２の実施形態にかかる判定部１３０Ａの動作を説明するフローチャートである。
【図１３】本発明の第３の実施形態にかかる情報処理システム１０００Ｂの概要を示す図である。
【図１４】本発明の第４の実施形態にかかる情報処理システム１０００Ｃの概要を示す図である。
【発明を実施するための形態】
【００１３】
＜関連技術の説明＞
はじめに、発明の理解を容易にするため、非特許文献２が開示する関連技術について簡単に説明する。
【００１４】
[非特許文献２] 情報処理学会第75回全国大会論文集, 平成25年3月6日, pp.“
3-93“‐“3-94“
非特許文献２は、デバイスが生成するデータと、データを処理するアプリケーションとを、共通のプラットフォーム上で取引する技術を開示する。非特許文献２が開示するプラットフォームは、いわば市場のようなものである。非特許文献２が開示するプラットフォームにおけるユーザは、自身が所有するデータをデータブロックとしてプラットフォームに登録し、所有する。また、ユーザは、自身が所有する分析アプリケーション（分析処理手順）を、処理ブロックとしてプラットフォームに登録し、所有する。
【００１５】
データブロックは例えば、データを生成するデバイスにアクセスするアドレス、または、データを取得するためのアドレスであってもよい。処理ブロックは例えば、実行ファイルであってもよい。
【００１６】
また、ユーザは、当該プラットフォーム上で他のユーザと取引をすることにより、当該取引相手のユーザが所有するブロックを入手したり、自身が所有するブロックを取引相手のユーザに提供したりする。さらに、ユーザは、自身が所有するブロックまたは他のユーザから入手したブロックを組み合わせることにより、データ分析処理を定義する。ユーザは、他のユーザから入手したブロックをデータ分析処理に組み込むことにより、自身が所有するブロックだけでは実現できないような複雑なデータ分析処理を定義し、実行することができる。
【００１７】
このように、非特許文献２が開示するプラットフォームは、データを持たないユーザまたは分析処理のノウハウを持たないユーザが、複雑なデータ分析処理を実行することを支援する。
【００１８】
本発明者は、非特許文献２に例示されるようなプラットフォームにおいて、下記に示す新規な課題を見出した。すなわち、このようなプラットフォームにおいては、データそのものがプラットフォーム外部に出力されるような処理が実行されることは、制限されることが好ましい、ということを本発明者は見出した。その理由は、仮にデータそのものをプラットフォーム外部に出力することが許容されてしまうと、あるユーザが登録したデータを取得した別のユーザは、プラットフォームの外部で当該データを第三者に転売できてしまうからである。このようなことが行われると、プラットフォームに当該データを登録したユーザは不利益を被ってしまう。
【００１９】
本発明者は更に、プラットフォームに登録されたデータそのものだけではなく、プラットフォームに登録されたデータに何らかの処理を施されたデータであっても、プラットフォーム外部に出力されることが制限されるべき対象に該当し得ることを見出した。
【００２０】
加工されたデータの出力が制限されるべき理由は、加工されたデータであっても、元のデータを復元可能なデータがプラットフォーム外部に出力されてしまうと、結局、プラットフォーム外部で元のデータが不正に転売等されることを防ぐことができないからある。
【００２１】
以下、かかる課題を解決することができる本発明を、実施形態を例にして詳細に説明する。
【００２２】
＜第１の実施形態＞
[構成の説明]
[構成の概略の説明]
図１は、第１の実施形態にかかる情報処理システム１０００の構成を示すブロック図である。図１に示すように、情報処理システム１０００は、受付部１１０と、分析部１２０と、判定部１３０と、処理抑制部１４０と、記憶部２１０と、を備える。これらの構成要素は、概略、下記のように動作する。
【００２３】
受付部１１０は、「データ処理式」の入力をユーザから受け付け、受け付けたデータ処理式を分析部１２０に通知する。データ処理式の詳細については後述する。
【００２４】
分析部１２０は、データ処理式を構成する「処理ブロック」等同士の接続関係を分析する。分析部１２０は、分析した結果を判定部１３０に通知する。処理ブロックの詳細については後述する。
【００２５】
判定部１３０は、記憶部２１０から、データ処理式を構成する処理ブロックに関連付けされた「復元可否情報」を読み出す。判定部１３０は、読み出した復元可否情報と、分析部１２０から通知された情報とに基づいて、データ処理式により定義される処理が、「復元可能処理」であるか、「復元不能処理」であるかを判定する。「復元可否情報」、「復元可能処理」および「復元不能処理」の詳細については後述する。
【００２６】
処理抑制部１４０は、データ処理式により定義される処理が復元可能処理であると判定部１３０が判定した場合に、データ処理式により定義される処理が実行されることを抑制する。
【００２７】
記憶部２１０は、処理ブロックと、復元可否情報とを、関連付けて記憶している。
【００２８】
[処理ブロック、データ処理式および受付部１１０についての詳細な説明]
次に、処理ブロック、データ処理式および受付部１１０について詳細に説明する。
【００２９】
処理ブロックは、入力されたデータに対してあらかじめ定義された処理を実行し、当該データに対して当該処理が実行された結果である処理結果を生成するブロックである。
【００３０】
データ処理式は、データを定義するデータブロックと、前述した処理ブロックと、処理結果をユーザに提示することを規定する出力ブロックと、が接続されて構成される情報である。データ処理式全体で１つのデータ分析処理を定義する。
【００３１】
図２は、本実施形態におけるデータ処理式の一例を説明する図である。図２に示すデータ処理式において、「Ｓｒｃ１」および「Ｓｒｃ２」はデータブロックを示す。また、「Ｂ１」ないし「Ｂ６」は処理ブロックを示す。「Ｓｉｎｋ」は出力ブロックを示す。
【００３２】
図２に示すデータ処理式において、各ブロックを接続する矢印は、矢印の元（すなわち始点側）が示すブロックの出力を、矢印の先（すなわち終点側）が示すブロックの入力とすることを表す。例えば、図２に示すデータ処理式において、「Ｂ１」が示す処理ブロックは、データブロック「Ｓｒｃ１」を入力として処理を実行し、当該処理の結果を処理ブロック「Ｂ２」および処理ブロック「Ｂ４」に出力する。例えば、図２に示すデータ処理式において、「Ｂ６」が示す処理ブロックは、処理ブロック「Ｂ３」が出力した処理結果と、処理ブロック「Ｂ４」が出力した処理結果と、処理ブロック「Ｂ５」が出力した処理結果とを入力として処理を実行し、当該処理の結果を、出力ブロック「Ｓｉｎｋ」に出力する。
【００３３】
次に、データ処理式の制約条件について説明する。１つのデータ処理式は、必ず１つの出力ブロックを持つものとする。言い換えると、出力ブロックを持たないデータ処理式や、複数の出力ブロックを持つデータ処理式は考えないものとする。以上、データ処理式の制約条件について説明した。
【００３４】
図３は、図１に示した受付部１１０が表示するＧＵＩ（Graphical User Interface）の一例を示す図である。図３において、領域１１１には、ユーザが所有するブロックの一覧が表示されている。ユーザは例えば、ポインタ１１３を操作することにより、領域１１１に表示されているブロックを、領域１１２にドラッグ・アンド・ドロップする。ユーザは領域１１２において、ブロック同士をコネクタ（矢印）で接続することにより、所望のデータ処理式を定義することができる。
【００３５】
図４は、図２に示したデータ処理式と同一のデータ処理式を他の表現方法によって示した図である。図４においては、データ処理式が数式で表現されている。図４においては、各データブロックおよび出力ブロックは数式における変数として記述され、ブロック名と変数名とが対応する。また、各処理ブロックは、数式における関数として記述され、関数名と処理ブロック名とが対応する。データ処理式においては、係る各処理ブロックは、当該関数名が付与された関数の引数として変数あるいは関数をとることができる。各関数の引数は当該関数の処理ブロックの入力が、引数である変数のデータブロックあるいは関数の処理ブロックの出力であることを意味する。
【００３６】
また、データ処理式において、等式の左辺には出力ブロック変数が、等式の右辺にはデータブロック変数および処理ブロック関数からなる数式が記述される。また、データ処理式において、等号は、右辺のデータ処理の結果が左辺の出力ブロックの入力であることを示す。
【００３７】
データ処理式は、データブロック、処理ブロックおよび出力ブロックの接続関係を表す情報であればよい。図２又は図４に例示したデータ処理式の表現方法は、データ処理式の表現方法の一例に過ぎない。受付部１１０が受け付けるデータ処理式の表現方法は、図２または図４に例示した態様には限定されない。なお、受付部１１０は、データ処理式を図示しない記憶装置から読み出してもよいし、データ処理式を図示しない外部装置から受信してもよい。受付部１１０は、データ処理式をプルしてもよいし、プッシュされてもよい。
【００３８】
[分析部１２０、接続分析情報、および、「処理フロー」についての詳細な説明]
次に、分析部１２０、接続分析情報および「処理フロー」の詳細を説明する。分析部１２０は、データ処理式を構成する各種ブロック同士の接続関係を分析し、分析した結果に基づいて接続分析情報を生成する。図５は、図２または図４に示すデータ処理式に基づいて分析部１２０が生成した接続分析情報の一例を示す図である。
【００３９】
図５に示すように、接続分析情報とは、データ処理式をツリー構造で表現した情報である。接続分析情報における根ノードはデータ処理式における出力ブロックに相当する。接続分析情報における葉ノードはデータ処理式におけるデータブロックに相当する。接続分析情報における中間ノードはデータ処理式における処理ブロックに相当する。接続分析情報における根ノードから各葉ノードまでのパスは、データ処理式における処理フローに相当する。
【００４０】
ここで、処理フローとは、データ処理式の構造の一部であって、処理フローが直列に接続された構造を意味する。処理フローは、各データブロックに対して、実行される一連の処理の流れに対応している。図５に示す接続分析情報からは、下記に示す３つの処理フローが抽出される。
【００４１】
処理フロー１：Ｂ１→Ｂ２→Ｂ３→Ｂ６、
処理フロー２：Ｂ１→Ｂ４→Ｂ６、
処理フロー３：Ｂ５→Ｂ６。
【００４２】
図２および図４に示すデータ処理式と、図５に示す接続分析情報とを比較するとわかるように、データ処理式と接続分析情報とは、本質的には互いに等しい情報である。分析部１２０は、受付部１１０が受け付けたデータ処理式を、判定部１３０が処理しやすい形式である接続分析情報の形式に変換し、接続分析情報を判定部１３０に通知する。分析部１２０の具体的な動作については後述する。
【００４３】
[記憶部２１０、復元可否情報、復元可能処理および復元不能処理についての詳細な説明]
図６は、記憶部２１０が記憶する情報の一例を示す図である。記憶部２１０は、処理ブロックと、復元可否情報とを、関連付けて記憶している。復元可否情報は、例えば処理ブロックに関連付けられたフラグである。図６に示す記憶部２１０が記憶する情報によれば、例えば処理ブロック「Ｂ１」には「復元可能」という復元可否情報が関連付けられている。これは、処理ブロック「Ｂ１」が定義する処理は、復元可能処理であることを示す。例えば処理ブロック「Ｂ２」には「復元不能」という復元可否情報が関連付けられている。これは、処理ブロック「Ｂ２」が定義する処理は、復元不能処理であることを示す。
【００４４】
ここで、復元可能処理および復元不能処理についてそれぞれ定義する。復元可能処理とは、出力されたデータから、入力されたデータの一部または全てを復元可能な処理である。復元不能処理とは、出力されたデータから、入力されたデータの一部または全てを復元不可能な処理である。
【００４５】
ある処理を、復元可能処理であると考えるか、それとも復元不能処理であると考えるか、の基準には、様々な具体例が考えられる。下記にその基準の具体例を列挙する。なお、下記に示す具体例は発明の理解を容易にするためのものであり、復元可能処理および復元不能処理を限定的に解釈するためのものではない。
【００４６】
復元可能処理と復元不能処理とを区別する基準の具体例：
（１）出力データ（処理結果）に入力データの一部または全てが包含されるか否か。例えば、出力データに入力データの一部または全てが包含されるような処理であれば、当該処理は復元可能処理であると考える、というような判断基準があってもよい。
【００４７】
（２）データ処理によってデータサイズまたは情報量が減少するか否か。例えば、出力データのサイズが入力データの１／１００以下のサイズ（「／」は除算を表す記号）であれば、当該処理は復元不能処理であると考える、というような判断基準があってもよい。
【００４８】
（３）処理対象のデータが数値データである場合、逆関数を定義できる処理であるか否か。逆関数が定義できるような処理は、復元可能処理であると考える、というような判断基準があってもよい。
【００４９】
（４）処理対象のデータが数値データである場合、出力された値および処理内容のみに基づいて入力された値を特定できるような処理は、復元可能処理であると考える、というような判断基準があってもよい。
【００５０】
（５）処理対象のデータが数値データである場合、出力データを受け取るユーザが知り得ないパラメータを用いた処理を行うか否か。例えば、処理ブロックに固有の（ブラックボックス化されてユーザが知り得ない）パラメータを入力データに加減乗除していれば、当該処理は復元不能処理であると考える、というような判断基準があってもよい。
【００５１】
（６）処理対象のデータが数値データである場合、入力データを標準化（正規化、無次元量化）あるいは統計量化（例えば平均値化、中央値化、最頻値化）する処理であるか否か。例えば、全ての数値データを数値データの最大値で除算する処理は復元不能処理であると考える、というような判断基準があってもよい。
【００５２】
（７）処理対象のデータが動画または音声を表すデータである場合、時系列の情報を消去するような処理であるか否か。例えば、ＲＧＢ（Red-Green-Blue color model）のヒストグラム情報を算出する処理または周波数特性情報を算出する処理は、復元不能処理であると考える、というような判断基準があってもよい。出力データが時系列の情報を残しており、再生可能な動画データまたは音声データを出力する処理は、復元可能処理であると考える、というような判断基準があってもよい。
【００５３】
（８）処理対象のデータが動画または画像のデータである場合、非可逆変換をする処理は、復元不能処理であると考える、というような判断基準があってもよい。
【００５４】
以上、復元可能処理と復元不能処理とを区別する基準の具体例を列挙した。記憶部２１０が記憶する情報は、例えばユーザによって入力された情報であってもよいし、図示しない復元可否情報生成部が生成した情報であってもよい。情報処理システム１０００は図示しない復元可否情報入力受付部を備えていてもよい。ある処理が復元可能処理であるか復元不能処理であるかの判断は、全てのユーザ間あるいは全ての処理データ間で統一された基準にて判断されることが好ましい。ユーザは、プラットフォーム上に新たに処理ブロックを登録する際、当該処理ブロックに復元可否情報を関連付けて、復元可否情報記憶部２１０に記憶することが好ましい。プラットフォームに登録されている処理ブロックには、必ず復元可否情報が関連付けられていることが好ましい。
【００５５】
[判定部１３０および処理抑制部１４０についての詳細な説明]
判定部１３０は、分析部１２０から接続分析情報を取得する。判定部１３０は、接続分析情報に代えて、処理フローに相当する情報を取得してもよい。以下、判定部１３０は、接続分析情報を取得したものとして説明を続ける。なお、判定部１３０は、接続分析情報または処理フローに相当する情報を、受付部１１０から直接取得してもよい。判定部１３０は、接続分析情報または処理フローに相当する情報を、図示しない記憶装置から読み出すことにより取得してもよいし、図示しない外部装置から受信することにより取得してもよい。判定部１３０は、接続分析情報または処理フローに相当する情報を、プルしてもよいし、プッシュされてもよい。
【００５６】
判定部１３０は、取得した接続分析情報を構成する個々の処理ブロックについて、処理ブロックに関連付けられた復元可否情報を、記憶部２１０から読み出す。
【００５７】
判定部１３０は、読み出した復元可否情報と、取得した接続分析情報とに基づいて、当該接続分析情報に対応するデータ処理式が定義する処理が、復元可能処理であるのか復元不能処理であるのかを判定する。判定部１３０の具体的な動作については後述する。
【００５８】
処理抑制部１４０は、データ処理式が定義する処理が復元可能処理である場合に、当該処理が実行されることを抑制する。処理抑制部１４０の具体的な動作には、様々な具体例が考えられる。下記にその具体例を列挙する。なお、データ処理式が定義する処理を実行する構成は、図示しない処理部１５０とする。
【００５９】
１）処理抑制部１４０は、データ処理式が定義する処理が実行されないように、処理部１５０を制御する。あるいは、当該処理の結果が出力されないように処理部１５０を制御する。
【００６０】
２）処理抑制部１４０は、当該処理の結果が、所定の範囲（例えば、ネットワーク、フォルダなど）の外部には出力されないように、処理部１５０を制御する。
【００６１】
３）処理抑制部１４０は、当該処理の結果が、プラットフォームの管理が及ぶ範囲外には出力されないように、処理部１５０を制御する。
【００６２】
４）処理抑制部１４０は、当該処理結果を受け取る第１のユーザと、当該処理の入力データを提供した第２のユーザとが、互いに異なるユーザである場合、第２のユーザの承認を得なければ、当該処理が実行されないように、処理部１５０を制御する。
【００６３】
５）処理抑制部１４０は、当該データ処理式が出力するデータを受け取る第１のユーザと、当該処理の入力データを提供した第２のユーザとが、互いに異なるユーザである場合、金銭等を第２のユーザに対して支払う義務を、第１のユーザに課す。
【００６４】
[動作の説明]
図７は、分析部１２０の動作の一例を示すフローチャートである。図７に示す分析部１２０の動作は、理解を容易にするための一例に過ぎず、分析部１２０の動作を限定的に解釈するためのものではない。
【００６５】
＜ステップＳ１０１＞
分析部１２０は、受付部１１０からデータ処理式を取得する。分析部１２０は、データ処理式を構成する出力ブロック「Ｓｉｎｋ」を参照し、参照した出力ブロック「Ｓｉｎｋ」を接続分析情報における根ノードとする。
【００６６】
以下、理解を容易にするため、「参照」という文言を下記のように定義する。データ処理式を構成する複数のブロックのうち特定のブロックを示す場合に、当該ブロックを「参照」するという文言を用いる。また、接続分析情報を構成する複数のノードのうち特定のノードを示す場合に、当該ノードを「参照」するという文言を用いる。ステップＳ１０１に示す動作が行われた時点において、データ処理式において参照しているブロックは出力ブロック「Ｓｉｎｋ」であり、接続分析情報において参照しているノードは根ノード「Ｓｉｎｋ」である。
【００６７】
＜ステップＳ１０２＞
分析部１２０は、接続分析情報において現在参照しているノードが根ノードであればステップＳ１０３に進み、そうでなければステップＳ１０４に進む。
【００６８】
＜ステップＳ１０３＞
分析部１２０は、接続分析情報において現在参照している根ノード「Ｓｉｎｋ」に対応する、データ処理式における出力ブロック「Ｓｉｎｋ」を参照する。分析部１２０は、データ処理式において出力ブロック「Ｓｉｎｋ」と接続されたブロックのブロック名を取得し、ステップＳ１０６に進む。
【００６９】
＜ステップＳ１０４＞
分析部１２０は、接続分析情報において現在参照しているノードに対応する、データ処理式におけるブロックを参照する。データ処理式において参照しているブロックが処理ブロックであれば、ステップＳ１０５に進み、そうでなければ何もせずに再帰処理を抜ける。
【００７０】
＜ステップＳ１０５＞
分析部１２０は、データ処理式において現在参照している処理ブロックの引数であるブロック（言い換えると、入力であるブロック）のブロック名を全て取得し、ステップＳ１０６に進む。
【００７１】
＜ステップＳ１０６＞
分析部１２０は、ステップＳ１０３あるいはステップＳ１０５にて取得した１つまたは複数のブロック名について、それぞれ、接続分析情報において現在参照しているノードの子ノードとして生成する。そしてステップＳ１０７に進む。
【００７２】
＜ステップＳ１０７＞
分析部１２０は、ステップＳ１０６に示す動作で生成した１つまたは複数の子ノードのうちから、１つの子ノードを選択する。分析部１２０は、選択した子ノードについて、ステップＳ１０８からステップＳ１０９に示す動作を繰り返す。
【００７３】
＜ステップＳ１０８＞
分析部１２０は、ステップＳ１０７に示す動作によって接続分析情報において選択した子ノードを参照する。
【００７４】
＜ステップＳ１０９＞
分析部１２０は、ステップＳ１０２からステップＳ１０９に示す動作を例えば再帰的に繰りかえす。
＜ステップＳ１１０＞
分析部１２０は、ステップＳ１０６に示す動作において生成した全ての子ノードが選択されるまで、上述の動作を繰り返す。
【００７５】
以下、理解を容易にするため、分析部１２０が、図４に示したデータ処理式に基づいて図５に示した接続分析情報を生成する過程を例に、ステップＳ１０１からステップＳ１１０に示した分析部１２０の動作を、補足して説明する。
【００７６】
分析部１２０は、ステップＳ１０１に示す動作において、出力ブロック「Ｓｉｎｋ」を接続分析情報における根ノードとする。
【００７７】
次に分析部１２０は、ステップＳ１０３に示す動作において、ブロック名「Ｂ６」を取得する。
【００７８】
次に分析部１２０は、ステップＳ１０６に示す動作において、接続分析情報における「Ｓｉｎｋ」ノードの子ノードとして「Ｂ６」というノードを生成する。
【００７９】
次に分析部１２０は、ステップＳ１０８に示す動作において、接続分析情報において「Ｂ６」というノードを参照する。
【００８０】
次に分析部１２０は、ステップＳ１０２に示す動作において、ステップＳ１０４に進み、更にステップＳ１０５に進み、ブロック名「Ｂ３」、「Ｂ４」および「Ｂ５」を取得する。
【００８１】
次に分析部１２０は、ステップＳ１０６に示す動作において、接続分析情報において現在参照いるノード「Ｂ６」の子ノードとして「Ｂ３」、「Ｂ４」および「Ｂ５」という子ノードをそれぞれ生成する。
【００８２】
次に分析部１２０は、ステップＳ１０８に示す動作において、接続分析情報においてノード「Ｂ３」を参照する。
【００８３】
次に分析部１２０は、ステップＳ１０２に示す動作において、ステップＳ１０４に進み、更にステップＳ１０５に進み、ブロック名「Ｂ２」を取得する。
【００８４】
次に分析部１２０は、ステップＳ１０６に示す動作において、接続分析情報において現在参照しているノード「Ｂ３」の子ノードとして「Ｂ２」という子ノードを生成する。
【００８５】
次に分析部１２０は、ステップＳ１０８に示す動作によって、接続分析情報においてノード「Ｂ２」を参照する。
【００８６】
分析部１２０は、以下同様の手順により、接続分析情報においてノード「Ｂ１」およびノード「Ｓｒｃ１」を生成する。そして分析部１２０は、ステップＳ１０８に示す動作によって、接続分析情報においてノード「Ｓｒｃ１」を参照し、ステップＳ１０４に示す動作において、再帰処理を抜ける。
【００８７】
分析部１２０は、「Ｂ４」および「Ｂ５」ノードについても、「Ｂ３」ノードと同様の手順により子ノードを生成する。分析部１２０は、データ処理式における全てのブロックに対応するノードを生成し終わると、動作を完了する。
【００８８】
以上、分析部１２０の動作の一例を説明した。次に、判定部１３０の動作の一例を説明する。
【００８９】
図８は、判定部１３０の動作の一例を示すフローチャートである。図８に示す判定部１３０の動作は、理解を容易にするための一例に過ぎず、判定部１３０の動作を限定的に解釈するためのものではない。
【００９０】
＜ステップＳ２０１＞
判定部１３０は、分析部１２０から接続分析情報の入力を受け付ける。更に判定部１３０は、接続分析情報を構成する各ブロック（ノード）に対応する復元可否情報を、記憶部２１０から読み出す。判定部１３０は、ステップＳ２０２に進む。
【００９１】
＜ステップＳ２０２＞
判定部１３０は、接続分析情報から全ての処理フロー（根ノードから葉ノードまでのパス）を抽出し、全ての処理フローのうちから１つの処理フローを選択する。判定部１３０は、全ての処理フローについて、ステップＳ２０３からステップＳ２０５に示す動作を繰り返す。
【００９２】
＜ステップＳ２０３＞
判定部１３０は、ステップＳ２０２において選択した処理フローを構成する処理ブロックに、復元不能処理を定義する処理ブロックが少なくとも１つ含まれる場合にはステップＳ２０４に進む。判定部１３０は、ステップＳ２０２において選択した処理フローを構成する処理ブロックに、復元不能処理を定義する処理ブロックが１つも含まれていない場合には、ステップＳ２０５に進む。
【００９３】
＜ステップＳ２０４＞
判定部１３０は、現在選択中の処理フローを復元不能フローと判定し、ステップＳ２０２に戻る。
【００９４】
＜ステップＳ２０５＞
判定部１３０は、現在選択中の処理フローを復元可能フローと判定し、ステップＳ２０２に戻る。
【００９５】
＜ステップＳ２０６＞
判定部１３０は、ステップＳ２０２において全ての処理フローについて判定し終えるとステップＳ２０７に進む。
【００９６】
＜ステップＳ２０７＞
判定部１３０は、全ての処理フローが復元不能フローと判定された場合にはステップＳ２０８に進む。判定部１３０は、少なくとも１つの処理フローが復元可フローである場合には、ステップＳ２０９に進む。
【００９７】
＜ステップＳ２０８＞
判定部１３０は、接続分析情報に対応するデータ処理式が定義する処理を、復元不能処理と判定する。判定部１３０は、判定結果を出力して処理を終了する。
【００９８】
＜ステップＳ２０９＞
判定部１３０は、接続分析情報に対応するデータ処理式が定義する処理を、復元可能処理と判定する。判定部１３０は、判定結果を出力して処理を終了する。
【００９９】
以下、理解を容易にするため、判定部１３０が、図５に示した接続分析情報に基づいて、図２または図４に示したデータ処理式が定義する処理が復元可能処理であるのか復元不能処理であるのかを判定する動作を例に、判定部１３０の動作を補足して説明する。
【０１００】
判定部１３０は、ステップＳ２０１に示す動作において、図５に示す接続分析情報の入力を受け付け、更に、処理ブロック「Ｂ１」ないし「Ｂ６」のそれぞれに関連する復元可否情報を、記憶部２１０から読み出す。
【０１０１】
次に判定部１３０は、ステップＳ２０２に示す動作において、接続分析情報から下記３つの処理フローを抽出する、
処理フロー１：Ｂ１→Ｂ２→Ｂ３→Ｂ６、
処理フロー２：Ｂ１→Ｂ４→Ｂ６、
処理フロー３：Ｂ５→Ｂ６。
【０１０２】
判定部１３０は、ステップＳ３０３に示す動作において、例えば処理フロー１を選択する。
【０１０３】
次に判定部１３０は、ステップＳ２０３に示す動作において、処理フロー１を構成する複数の処理ブロック「Ｂ１」、「Ｂ２」、「Ｂ３」および「Ｂ６」に、復元不能処理を定義する処理ブロックが少なくとも１つ含まれるか否かを判定する。図６を参照すると、処理ブロック「Ｂ２」が定義する処理は復元不能処理であるので、判定部１３０は、ステップＳ２０４に進む。
【０１０４】
次に判定部１３０は、ステップＳ３０４に示す動作において、処理フロー１を復元不能フローであると判定する。判定部１３０は同様に、処理フロー２を復元不能フローであると判定し、処理フロー３を復元可能フローであると判定する。
【０１０５】
次に判定部１３０は、ステップＳ３０６に示す動作において、処理フロー３が復元可能フローであることから、図２または図４に示されるデータ処理式により定義される処理は復元可能処理であると判定する。
【０１０６】
以上、判定部１３０の動作の一例を説明した。
【０１０７】
[ハードウェア構成の一例]
図９は、第１の実施形態にかかる情報処理システム１０００のハードウェア構成の一例を示すブロック図である。情報処理システム１０００を構成するハードウェアは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１、メモリ２、記憶装置３、通信インターフェース（Ｉ／Ｆ）４を備える。情報処理システム１０００は、入力装置５または出力装置６を備えていてもよい。情報処理システム１０００の機能は、例えばＣＰＵ１が、メモリ２に読み出されたコンピュータプログラム（ソフトウェアプログラム、以下単に「プログラム」と記載する）を実行することにより実現される。実行に際して、ＣＰＵ１は、通信インターフェース４、入力装置５および出力装置６を適宜制御する。
【０１０８】
尚、本実施形態および後述する各実施形態を例として説明される本発明は、係るプログラムが格納されたコンパクトディスク等の不揮発性の記憶媒体８によっても構成される。記憶媒体８が格納するプログラムは、例えばドライブ装置７により読み出される。
【０１０９】
情報処理システム１０００が実行する通信は、例えばＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が提供する機能を使ってアプリケーションプログラムが通信インターフェース４を制御することによって実現される。入力装置５は、例えばキーボード、マウスまたはタッチパネルである。出力装置６は、例えばディスプレイである。情報処理システム１０００は、２つ以上の物理的に分離した装置が有線または無線で接続されることによって構成されていてもよい。
【０１１０】
図９に示すハードウェア構成例は、後述する各実施形態にも適用可能である。なお、情報処理システム１０００は専用の装置であってもよい。なお、情報処理システム１０００およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【０１１１】
[第１の実施形態が奏する効果]
第１の実施形態にかかる情報処理システム１０００によれば、データマーケットにおいてデータが取引される際に、当該データが不正に流出することを防ぐ技術を提供することができる。その理由は、第１の実施形態にかかる情報処理システム１０００は、データ処理式により定義される処理が、処理結果に基づいて前記入力されたデータの一部または全てを復元可能な処理である場合に、前記データ処理式が定義する処理が実行されることを抑制するからである。
【０１１２】
また、第１の実施形態にかかる情報処理システム１０００は判定部１３０を備えることにより、データ処理式が定義する処理全体が、復元可能処理であるのか復元不能処理であるのかを判定することができる。
【０１１３】
[第２の実施形態]
次に、上述した第１の実施形態を基本とする第２の実施形態について説明する。図１０は、第２の実施形態にかかる情報処理システム１０００Ａの構成を示すブロック図である。第２の実施形態にかかる情報処理システム１０００Ａは、第１の実施形態にかかる情報処理システム１０００と比較して、記憶部２１０に代えて、記憶部２１０Ａを備え、判定部１３０に代えて判定部１３０Ａを備える。図１に示した構成と実質的に同一の構成については、同様の符号を付与し、説明を省略する。
【０１１４】
記憶部２１０Ａは、処理ブロックの組み合わせと、復元可否情報とを、関連付けて記憶する。第２の実施形態における復元可否情報は、処理ブロックの組み合わせにより定義される処理が、復元可能処理であるか、復元不能処理であるかを示す情報である。
【０１１５】
図１１は、記憶部２１０Ａが記憶する情報の一例を示す図である。図１１に示すように、記憶部２１０Ａは、記憶部２１０が記憶する情報に加えて更に、処理ブロックの組み合わせと、復元可否情報とを関連付けて記憶する。処理ブロックの組み合わせは、例えば処理ブロックを識別する識別子の組み合わせ等により表現される。
【０１１６】
なお、記憶部２１０Ａは、処理ブロックの組み合わせと、復元可否情報とのみを関連付けて記憶していてもよい（すなわち、第１の実施形態における記憶部２１０が記憶していた情報は、必ずしも記憶していなくてもよい）。
【０１１７】
図１１に示す例において、例えば処理ブロックＢ２と処理ブロックＢ３の組み合わせにより定義される処理には、「復元不能」という復元可否情報が関連付けられている。これは、例えば処理ブロックＢ２と処理ブロックＢ３の組み合わせにより定義される処理は、復元不能処理であることを示す。
【０１１８】
図１２は、判定部１３０Ｂの動作の一例を示すフローチャートである。図１２に示す判定部１３０Ｂの動作は、理解を容易にするための一例に過ぎず、判定部１３０Ｂの動作を限定的に解釈するためのものではない。
【０１１９】
図１２に示したステップＳ３０２の動作は、図８に示したステップＳ２０２の動作と同様であるので、説明を省略する。また、図１２に示したステップＳ３０４からＳ３０９までの動作は、図８に示したステップＳ２０４からＳ２０９までの動作と同様であるので、説明を省略する。
【０１２０】
＜ステップＳ３０１＞
判定部１３０Ｂは、分析部１２０から接続分析情報の入力を受け付ける。更に判定部１３０Ｂは、記憶部２１０Ａから復元可否情報を読み出す。判定部１３０Ａは、ステップＳ３０２に進む。
【０１２１】
＜ステップＳ３０３＞
判定部１３０Ｂは、ステップＳ３０２において選択した処理フローを構成する処理ブロックに、復元不能処理を定義する処理ブロックの組み合わせが含まれるか否かを判定する。含まれる場合には、ステップＳ３０４に進む。含まれない場合には、ステップＳ３０５に進む。
【０１２２】
以下、理解を容易にするため、判定部１３０Ｂが、図５に示した接続分析情報に基づいて、図２または図４に示したデータ処理式が定義する処理が復元可能処理であるのか復元不能処理であるのかを判定する動作を例に、判定部１３０の動作を補足して説明する。
【０１２３】
判定部１３０Ｂは、ステップＳ３０１に示す動作において、図５に示す接続分析情報の入力を受け付け、更に、記憶部２１０Ａから復元可否情報を読み出す。
【０１２４】
次に判定部１３０Ｂは、ステップＳ３０２に示す動作において、接続分析情報から下記３つの処理フローを抽出する、
処理フロー１：Ｂ１→Ｂ２→Ｂ３→Ｂ６、
処理フロー２：Ｂ１→Ｂ４→Ｂ６、
処理フロー３：Ｂ５→Ｂ６。
【０１２５】
判定部１３０Ｂは、ステップＳ３０２に示す動作において、例えば処理フロー１を選択する。
【０１２６】
次に判定部１３０は、ステップＳ２０３に示す動作において、処理フロー１を構成する複数の処理ブロック「Ｂ１」、「Ｂ２」、「Ｂ３」および「Ｂ６」に、復元不能処理を定義する処理ブロック、または復元不能処理を定義する処理ブロックの組み合わせが少なくとも１つ含まれるか否かを判定する。
【０１２７】
図６を参照すると、処理ブロック「Ｂ２」が定義する処理、および処理ブロック「Ｂ２」と「Ｂ３」との組み合わせにより定義される処理は復元不能処理であるので、判定部１３０は、ステップＳ２０４に進む。
【０１２８】
次に判定部１３０は、ステップＳ２０４に示す動作において、処理フロー１を復元不能フローであると判定する。判定部１３０は同様に、処理フロー２を復元不能フローであると判定し、処理フロー３を復元可能フローであると判定する。
【０１２９】
次に判定部１３０は、ステップＳ２０６に示す動作において、処理フロー３が復元可能フローであることから、図２または図４に示されるデータ処理式により定義される処理は復元可能処理であると判定する。
【０１３０】
以上、判定部１３０Ｂの動作の一例を説明した。
【０１３１】
[第２の実施形態が奏する効果]
第２の実施形態にかかる情報処理システム１０００Ａによれば、データマーケットにおいてデータが取引される際に、当該データが不正に流出することを防ぐ技術を提供することができる。その理由は、第２の実施形態にかかる情報処理システム１０００Ａは、データ処理式により定義される処理が、処理結果に基づいて前記入力されたデータの一部または全てを復元可能な処理である場合に、前記データ処理式が定義する処理が実行されることを抑制するからである。
【０１３２】
第２の実施形態にかかる情報処理システム１０００Ａは、第１の実施形態にかかる情報処理システム１０００と比較して例えば下記に示すような有利な効果を奏する。
【０１３３】
例えば、前述した、「復元可能処理と復元不能処理とを区別する基準の具体例」の（５）に示した基準によれば、入力されたデータに値Ｘを加算する処理を定義する処理ブロックＡは、値Ｘが秘密にされている限り、復元不能処理と考えてもよい。同様に、入力されたデータから値Ｘを減算する処理を定義する処理ブロックＢは、値Ｘが秘密にされている限り、復元不能処理と考えてもよい。
【０１３４】
しかし、処理ブロックＡと処理ブロックＢとの組み合わせにより定義される処理は、明らかに復元可能処理である。
【０１３５】
第２の実施形態にかかる情報処理システム１０００Ａは、処理ブロックの組み合わせが定義する処理に対しても復元可否情報が関連付けされているため、第１の実施形態にかかる情報処理システム１０００が奏する効果をより確実に奏することができる。
【０１３６】
[第３の実施形態]
図１３は、第３の実施形態にかかる情報処理システム１０００Ｂの構成を示すブロック図である。図１３に示すように、第３の実施形態にかかる情報処理システム１０００Ｂは、判定部１３０Ｂと、処理抑制部１４０Ｂとを備える。
【０１３７】
判定部１３０Ｂは、処理ブロックを指定する情報と、指定された処理ブロックに関連付けられた前記復元可否情報と、を取得する。判定部１３０Ｂは、復元可否情報に基づいて、処理ブロックにより定義される処理が復元可能処理であるのか復元不能処理であるのかを判定する。
【０１３８】
判定部１３０Ｂは、処理ブロックを指定する情報および前記復元可否情報を図示しない記憶手段から読み出してもよいし、図示しない外部装置から受信してもよい。判定部１３０Ｂは、処理ブロックを指定する情報および前記復元可否情報をプルしてもよいし、プッシュされてもよい。
【０１３９】
処理抑制部１４０Ｂは、復元可能処理であると判定された処理が実行されることを抑制する。
【０１４０】
[第４の実施形態]
図１４は、第４の実施形態にかかる情報処理システム１０００Ｃの構成を示すブロック図である。図１４に示すように、第４の実施形態にかかる情報処理システム１０００Ｃは、判定部１３０Ｃと、処理抑制部１４０Ｃとを備える。
【０１４１】
判定部１３０Ｃは、一つまたは複数の処理フローと、その処理フローを構成する処理ブロックに関連付けされた復元可否情報を取得する。判定部１３０Ｃは、処理フローおよび復元可否情報を図示しない記憶手段から読み出してもよいし、図示しない外部装置から受信してもよい。判定部１３０Ｃは、処理フローおよび復元可否情報をプルしてもよいし、プッシュされてもよい。
【０１４２】
判定部１３０Ｃは、処理フローを構成する複数の処理ブロックに、復元不能処理であることを示す復元可否情報が関連付けられた処理ブロックが少なくとも１つ含まれる場合には、処理フローにより定義される処理は復元不能処理であると判定する。判定部１３０Ｃは、処理フローを構成する複数の前記処理ブロックに、復元不能処理であることを示す復元可否情報が関連付けられた処理ブロックが１つも含まれない場合には、処理フローにより定義される処理は復元可能処理であると判定する。
【０１４３】
処理抑制部１４０Ｃは、復元可能処理であると判定された処理が実行されることを抑制する。
【０１４４】
＜各実施形態の変形例＞
復元可否情報は、データブロックと処理ブロックとの組み合わせに関連付けされていてもよい。例えば、同じ処理であっても、あるデータに対しては復元可能処理となり、他のデータに対しては復元不能処理となる場合もあり得るためである。
【０１４５】
複数のデータが入力される処理ブロック（例えば図２における「Ｂ６」）を想定する。ステップＳ２０６に示す動作の説明においては、判定部１３０は、複数の入力データのうち、一部の入力データが復元可能である場合に、当該処理ブロックにより定義される処理は復元可能処理であると判定していた。しかし、判定部１３０は、複数の入力データのうち、全ての入力データが復元可能である場合にのみ、当該処理ブロックにより定義される処理は復元可能処理であると判定してもよい。
【産業上の利用可能性】
【０１４６】
本発明は、例えば、データを取引するデータマーケットなどにおいて利用することができる。
【符号の説明】
【０１４７】
１  ＣＰＵ
２  メモリ
３  記憶装置
４  通信インターフェース
５  入力装置
６  出力装置
７  ドライブ装置
８  記憶媒体
１１０  受付部
１１１  領域
１１２  領域
１１３  ポインタ
１２０  分析部
１３０  判定部
１３０Ａ  判定部
１３０Ｂ  判定部
１３０Ｃ  判定部
１４０  処理抑制部
１４０Ｂ  処理抑制部
１４０Ｃ  処理抑制部
１５０  処理部
２１０  復元可否情報記憶手段
２１０Ａ  復元可否情報記憶手段
１０００  情報処理システム
１０００Ａ  情報処理システム
１０００Ｂ  情報処理システム
１０００Ｃ  情報処理システム
【図１】
2015108963.tif 000003
【図２】
2015108963.tif 000004
【図３】
2015108963.tif 000005
【図４】
2015108963.tif 000006
【図５】
2015108963.tif 000007
【図６】
2015108963.tif 000008
【図７】
2015108963.tif 000009
【図８】
2015108963.tif 000010
【図９】
2015108963.tif 000011
【図１０】
2015108963.tif 000012
【図１１】
2015108963.tif 000013
【図１２】
2015108963.tif 000014
【図１３】
2015108963.tif 000015
【図１４】
2015108963.tif 000016