(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-26
(54)【発明の名称】データ処理システムにおいて特権を管理するためのシステム及び方法
(51)【国際特許分類】
G06F 21/62 20130101AFI20240216BHJP
G06F 16/28 20190101ALI20240216BHJP
【FI】
G06F21/62
G06F16/28
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023550635
(86)(22)【出願日】2022-02-23
(85)【翻訳文提出日】2023-09-27
(86)【国際出願番号】 US2022017581
(87)【国際公開番号】W WO2022182800
(87)【国際公開日】2022-09-01
(32)【優先日】2021-02-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】509123208
【氏名又は名称】アビニシオ テクノロジー エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ポルストラ,ドリュー
(72)【発明者】
【氏名】パークス,ロバート
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175AA01
5B175CA09
(57)【要約】
データ処理システムにおいてアクセス特権を管理するための技術は、第1のアクターに対して、データエンティティの第1のデータエンティティの第1のインスタンスに少なくとも1つのアクションを実施する特権を許可及び/又は拒否するための複数のルールを取得することと、第1のデータエンティティの属性の中から、第1の属性であって、その値が複数のルールの1つ以上によって使用される、第1の属性を識別することと、ユーザ又は少なくとも1つのデータストアから第1の属性の第1の値を取得することと、第1の値を使用して、且つ複数のルールの中から、第1の値に依存する第1のルールを識別することと、複数のルールの少なくとも幾つかの視覚的レンダリングを含むグラフィカルユーザインタフェース(GUI)を生成することであって、視覚的レンダリングは、第1の属性の第1の値を使用して識別された第1のルールを強調する、生成することと、生成されたGUIをユーザに表示することとを含む。
【特許請求の範囲】
【請求項1】
データ処理システムによって実施される、データエンティティのインスタンス内に前記データ処理システムによって記憶されたデータへのアクセス特権を管理する方法であって、前記データ処理システムの少なくとも1つのコンピュータハードウェアプロセッサを使用して、
第1のアクターに対して、前記データエンティティの第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する特権を許可及び/又は拒否するための複数のルールを取得することであって、前記第1のデータエンティティは、属性を含む、取得することと、
前記第1のデータエンティティの前記属性の中から、第1の属性であって、その値が前記複数のルールの1つ以上によって使用される、第1の属性を識別することと、
ユーザ又は少なくとも1つのデータストアから前記第1の属性の第1の値を取得することと、
前記第1の属性の前記第1の値を使用して、且つ特権を許可及び/又は拒否するための前記複数のルールの中から、前記第1の属性の前記第1の値に依存する第1のルールを識別することと、
前記複数のルールの少なくとも幾つかの視覚的レンダリングを含むグラフィカルユーザインタフェース(GUI)を生成することであって、前記視覚的レンダリングは、前記第1の属性の前記第1の値を使用して識別される、特権を許可及び/又は拒否するための前記第1のルールを強調する、生成することと、
前記生成されたGUIを前記ユーザに表示することと
を実施することを含む方法。
【請求項2】
前記第1の属性の前記第1の値を取得することは、前記少なくとも1つのデータストアから前記第1の値を取得することを含む、請求項1に記載の方法。
【請求項3】
前記GUIを生成することは、
前記第1のデータエンティティの前記属性の少なくとも1つの値を指定するための少なくとも1つのGUI要素を含む第1の部分と、
前記複数のルールの前記視覚的レンダリングを含む第2の部分と
を含むように前記GUIを生成することを含む、請求項1又は2に記載の方法。
【請求項4】
前記少なくとも1つのGUI要素は、ドロップダウンメニュー、ラジオボタン及び/又はチェックボックスを含む、請求項1~3の何れか一項に記載の方法。
【請求項5】
前記第1の属性の前記第1の値を取得することは、前記GUIの前記第1の部分における前記少なくとも1つのGUI要素を通して前記ユーザによって提供される入力に基づいて、前記第1の値を取得することを含む、請求項3又は4に記載の方法。
【請求項6】
前記第1の属性の第2の値を取得することと、
前記第1の属性の前記第2の値を使用して、且つ特権を許可及び/又は拒否するための前記複数のルールの中から、前記第1の属性の前記第2の値に依存する第2のルールを識別することと、
前記第1の属性の前記第2の値を使用して識別される、特権を許可及び/又は拒否するための前記第2のルールを強調するために前記視覚的レンダリングを更新することと
をさらに含む、請求項1~5の何れか一項に記載の方法。
【請求項7】
前記GUIの前記第1の部分を通して提供されるユーザ入力を介して、前記第1の属性の第2の値を取得することと、
前記第2の値に基づいて、前記第2のGUI部分内における前記複数のルールの前記視覚的レンダリングを更新することと
をさらに含む、請求項3~6の何れか一項に記載の方法。
【請求項8】
前記GUIの前記第1の部分を通して提供されるユーザ入力を介して、前記第1のデータエンティティの第2の属性の第1の値を取得することと、
前記第2の属性の前記第1の値に基づいて、前記第2のGUI部分内における前記複数のルールの前記視覚的レンダリングを更新することと
をさらに含む、請求項3~7の何れか一項に記載の方法。
【請求項9】
前記属性は、第2の値のセット内の値を取ることができる第2の属性を含み、前記方法は、前記第1の属性の前記第1の値を取得することに応答して、
前記第1の値に基づいて、前記第2の属性の前記第2の値のセットのサブセットを識別することと、
前記ユーザが、前記第2の値のセットの前記サブセットの中からのみ、前記第2の属性の値を選択することを可能にするために、前記GUIの前記第1の部分を更新することと
をさらに含む、請求項3~8の何れか一項に記載の方法。
【請求項10】
前記視覚的レンダリングを生成することは、前記複数のルールの少なくとも幾つかを表すテキストを生成することを含み、前記テキストは、前記第1の属性の前記第1の値を使用して識別される、特権を許可及び/又は拒否するための前記第1のルールを表すテキストを含む、請求項1~9の何れか一項に記載の方法。
【請求項11】
前記視覚的レンダリングを生成することは、前記視覚的レンダリングにおいて、前記第1のルールを表す前記テキストの少なくとも幾つかを強調表示し、それに下線を付け、且つ/又はそのフォント特性を変更することにより、前記第1のルールを表す前記テキストを強調することを含む、請求項1~10の何れか一項に記載の方法。
【請求項12】
前記視覚的レンダリングを生成することは、前記視覚的レンダリングから、前記第1のルールと異なる1つ以上のルールに対応する少なくとも幾つかのテキストを取り除くことを含む、請求項10又は11に記載の方法。
【請求項13】
前記第1の属性であって、その値が前記複数のルールの1つ以上によって使用される、前記第1の属性を識別することは、
前記複数のルールの少なくとも幾つかからルールチェーンを生成することと、
前記ルールチェーンからルールツリーを生成することと、
前記ルールツリー内の1つ以上の条件ノードに関連付けられた1つ以上の属性を識別することであって、前記1つ以上の属性は、前記第1の属性を含む、識別することと
を含む、請求項1~12の何れか一項に記載の方法。
【請求項14】
前記ルールチェーンから前記ルールツリーを生成することは、前記ルールチェーンにわたる同一のノードを融合することを含む、請求項13に記載の方法。
【請求項15】
前記第1の属性の前記第1の値に依存する前記第1のルールを識別することは、前記第1の属性の前記第1の値に基づいて前記ルールツリーをフィルタリングすることを含む、請求項13に記載の方法。
【請求項16】
前記第1の属性の前記第1の値に基づいて前記ルールツリーをフィルタリングすることは、前記第1の属性の前記第1の値に基づいて前記ルールツリーの1つ以上の適用可能な分枝を識別することを含む、請求項15に記載の方法。
【請求項17】
前記ルールツリーの前記1つ以上の適用可能な分枝を識別することは、前記第1の属性及び/又は前記第1の属性の前記第1の値への依存性を示す1つ以上のノードを含む、前記ルールツリーの1つ以上の分枝を識別することを含む、請求項16に記載の方法。
【請求項18】
前記1つ以上の条件ノードに関連付けられた前記識別された1つ以上の属性の各々について、前記ユーザが、前記第1の属性の値を示す入力を提供することを可能にするように前記GUI内のそれぞれのGUI要素を生成することを含む、請求項13~17の何れか一項に記載の方法。
【請求項19】
前記特権は、作成、読み取り、更新又は削除特権を含む、請求項1~18の何れか一項に記載の方法。
【請求項20】
前記少なくとも1つのデータストアは、前記データエンティティ間の関係を指定するメタデータを記憶し、前記データエンティティは、1つ以上の階層に組織化され、前記メタデータは、前記1つ以上の階層を指定し、前記第1の属性の前記第1の値は、前記1つ以上の階層のうち、前記第1のデータエンティティが属する第1の階層を示す、請求項1~19の何れか一項に記載の方法。
【請求項21】
前記第1の属性の前記第1の値は、前記第1のデータエンティティのための少なくとも1つの分類を示す、請求項1~20の何れか一項に記載の方法。
【請求項22】
データ処理システムによって実施される、データエンティティのインスタンス内に前記データ処理システムによって記憶されたデータへのアクセス特権を制御するためのルールを編集する方法であって、前記データ処理システムの少なくとも1つのコンピュータハードウェアプロセッサを使用して、
グラフィカルユーザインタフェース(GUI)を介して、第1の特権の選択及び前記データエンティティの第1のデータエンティティの選択を取得することであって、前記第1のデータエンティティは、第1の属性を含む属性を含む、取得すること、
第1のアクターに対して、前記第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する前記第1の特権を許可及び/又は拒否するための第1のルールを取得すること、
第2のルールを取得するために、前記GUIを通して取得されたユーザ入力に基づいて前記第1のルールを更新すること
を実施することを含み、前記更新することは、前記第1のルールが適用される条件を特定することを含み、前記特定することは、
前記GUIを介して前記第1の属性の選択を取得することと、
前記GUIを介して、前記第1の属性のそれぞれの複数の値に対応する複数の選択可能なオプションを提示することと、
前記GUIを介して、前記第1の属性の複数の値の中の第1の値の選択を取得することであって、前記選択は、前記第1の属性が前記第1の値を取るとき、前記第1のルールが前記第1のデータエンティティに適用されることを示す、取得することと
を含む、方法。
【請求項23】
前記第1のアクターに対して、前記第1のデータエンティティの1つ以上のインスタンスに前記少なくとも1つのアクションを実施する前記第1の特権を許可及び/又は拒否するための前記第1のルールは、請求項1に記載の方法に従い、前記第1の属性の前記第1の値に依存するルールを識別することによって取得される、請求項22に記載の方法。
【請求項24】
前記第1の特権は、作成、読み取り、更新又は削除特権である、請求項22又は23に記載の方法。
【請求項25】
前記データ処理システムは、前記データエンティティ間の関係を指定するメタデータを記憶する少なくとも1つのデータストアを含み、前記データエンティティは、1つ以上の階層に組織化され、前記メタデータは、前記1つ以上の階層を指定し、前記第1の属性の前記第1の値は、前記1つ以上の階層のうち、前記第1のデータエンティティが属する第1の階層を示す、請求項22~24の何れか一項に記載の方法。
【請求項26】
前記GUIを介して前記複数の選択可能なオプションを提示することは、前記複数のデータエンティティ間の関係を指定する前記メタデータを使用して、前記第1の属性の前記それぞれの複数の値に対応する前記複数の選択可能なオプションを識別することを含む、請求項22~25の何れか一項に記載の方法。
【請求項27】
前記GUIを介して前記複数の選択可能なオプションを提示することは、前記GUI内の少なくとも1つのGUI要素を介して、前記第1の属性の前記それぞれの複数の値に対応する前記複数の選択可能なオプションを提示することを含む、請求項22~26の何れか一項に記載の方法。
【請求項28】
前記少なくとも1つのGUI要素は、ドロップダウンメニュー、ラジオボタン及び/又はチェックボックスを含む、請求項22~27の何れか一項に記載の方法。
【請求項29】
前記GUIを介して前記第1の属性の前記選択を取得することは、前記第1のデータエンティティのための機密性分類属性の選択を取得することを含む、請求項22~28の何れか一項に記載の方法。
【請求項30】
前記GUIを介して前記第1の属性の選択を取得することは、前記第1のデータエンティティのためのワークフロー属性の選択を取得することを含む、請求項22~29の何れか一項に記載の方法。
【請求項31】
前記第1のルールは、前記第1のルールが適用される1つ以上の条件を指定し、前記1つ以上の条件は、前記特定された条件を含む、請求項22~30の何れか一項に記載の方法。
【請求項32】
データ処理システムによって実施される、データエンティティのインスタンス内にデータ処理システムによって記憶されたデータへのアクセス特権を制御するためのルールを編集する方法であって、前記データ処理システムの少なくとも1つのコンピュータハードウェアプロセッサを使用して、
グラフィカルユーザインタフェース(GUI)を介して、第1の特権の選択及び前記データエンティティの第1のデータエンティティの選択を取得することであって、前記第1のデータエンティティは、属性を含む、取得すること、
第1のアクターに対して、前記第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する前記第1の特権を許可及び/又は拒否するための第1のルールを取得すること、
第2のルールを取得するために、前記GUIを通して取得されたユーザ入力に基づいて前記第1のルールを更新すること
を実施することを含み、前記更新することは、前記第1のルールで指定された前記第1のアクターを編集するためのユーザ入力を取得することに応答して、
前記第1の特権が許可され得る複数のアクターを、前記属性の第1の属性の少なくとも1つの値に基づいて識別することと、
前記GUIを介して、前記複数のアクターに対応する複数の選択可能なオプションを提示することと
を含む、方法。
【請求項33】
前記第1のアクターに対して、前記第1のデータエンティティの1つ以上のインスタンスに前記少なくとも1つのアクションを実施する前記第1の特権を許可及び/又は拒否するための前記第1のルールは、請求項1に記載の方法に従い、前記第1の属性の前記少なくとも1つの値に依存するルールを識別することによって取得される、請求項32に記載の方法。
【請求項34】
前記第1の特権は、作成、読み取り、更新又は削除特権である、請求項32又は33に記載の方法。
【請求項35】
前記データ処理システムは、前記データエンティティ間の関係を指定するメタデータを記憶する少なくとも1つのデータストアを含み、前記データエンティティは、1つ以上の階層に組織化され、前記メタデータは、前記1つ以上の階層を指定し、及び前記第1の属性の前記少なくとも1つの値は、前記第1の属性の第1の値を含み、前記第1の属性の前記第1の値は、前記1つ以上の階層のうち、前記第1のデータエンティティが属する第1の階層を示す、請求項32~34の何れか一項に記載の方法。
【請求項36】
前記第1の特権が許可され得る複数のアクターを識別することは、前記第1の特権が許可され得る前記複数のアクターを、前記データエンティティ間の関係を指定する前記メタデータを使用して識別することを含む、請求項32~35の何れか一項に記載の方法。
【請求項37】
前記GUIを介して複数の選択可能なオプションを提示することは、前記GUI内の少なくとも1つのGUI要素を介して、前記複数のアクターに対応する前記複数の選択可能なオプションを提示することを含む、請求項32~36の何れか一項に記載の方法。
【請求項38】
前記少なくとも1つのGUI要素は、ドロップダウンメニュー、ラジオボタン及び/又はチェックボックスを含む、請求項32~37の何れか一項に記載の方法。
【請求項39】
前記第1のルールは、前記第1のルールが適用される1つ以上の条件と、前記第1の特権が許可され得る1人以上のアクターとを指定する、請求項32~38の何れか一項に記載の方法。
【請求項40】
前記第1のアクターに対して、前記第1のデータエンティティの1つ以上のインスタンスに前記少なくとも1つのアクションを実施する前記第1の特権を許可及び/又は拒否するための複数のルールを取得することであって、前記複数のルールは、前記第1のルールを含む、取得することと、
前記GUIを介して、第1の順序で配置された前記複数のルールを提示することと、
前記第1の順序に従って前記複数のルールを評価することと
をさらに含む、請求項32~39の何れか一項に記載の方法。
【請求項41】
前記GUI内の少なくとも1つのGUI要素を介して、前記複数のルールの前記第1の順序を更新するためのユーザ入力を取得することに応答して、
前記GUIを介して、更新された順序で配置された前記複数のルールを提示することと、
前記更新された順序に従って前記複数のルールを評価することと
をさらに含む、請求項32~40の何れか一項に記載の方法。
【請求項42】
データ処理システムであって、
少なくとも1つのコンピュータハードウェアプロセッサ、
前記少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、前記少なくとも1つのコンピュータハードウェアプロセッサに、請求項1~41の何れか一項に記載の方法を実施させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的コンピュータ可読記憶媒体
を含むデータ処理システム。
【請求項43】
少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、前記少なくとも1つのコンピュータハードウェアプロセッサに、請求項1~41の何れか一項に記載の方法を実施させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、米国特許法第119条(e)の下、2021年2月24日に出願された「Systems and Methods for Managing Privileges in a Data Processing System」という名称の米国仮特許出願第63/153,182号明細書の優先権の利益を主張し、これは、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
現代のデータ処理システムは、膨大な量のデータ(例えば、数百万、数十億又は数兆ものデータエンティティ)を管理しており、これらのデータが安全に管理されるように、これらのデータに対してアクションを実施する特権が許可される人物を管理している。例えば、データ処理システムは、データ処理システムによって管理されるデータの幾つかに対してアクション(例えば、作成、読み取り、更新及び/又は削除であり、本明細書では「CRUD」とも呼ばれる)を実施する特権を一部の個人ユーザ及び/又は一部のユーザグループに対して許可及び/又は拒否し得る。
【発明の概要】
【課題を解決するための手段】
【0003】
幾つかの実施形態は、データ処理システムによって実施される、データエンティティのインスタンス内にデータ処理システムによって記憶されたデータへのアクセス特権を管理する方法に関し、この方法は、データ処理システムの少なくとも1つのコンピュータハードウェアプロセッサを使用して、第1のアクターに対して、データエンティティの第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する特権を許可及び/又は拒否するための複数のルールを取得することであって、第1のデータエンティティは、属性を含み、1つ以上のインスタンスは、第1のインスタンスを含み、第1のインスタンスは、第1のデータエンティティの属性のうちのゼロ又は1つ以上の値を含む、取得することと、第1のデータエンティティの属性の中から、第1の属性であって、その値が複数のルールの1つ以上によって使用される、第1の属性を識別することと、ユーザ又は少なくとも1つのデータストアから第1の属性の第1の値を取得することと、第1の属性の第1の値を使用して、且つ特権を許可及び/又は拒否するための複数のルールの中から、第1の属性の第1の値に依存する第1のルールを識別することと、複数のルールの少なくとも幾つかの視覚的レンダリングを含むグラフィカルユーザインタフェース(GUI)を生成することであって、視覚的レンダリングは、第1の属性の第1の値を使用して識別される、特権を許可及び/又は拒否するための第1のルールを強調する、生成することと、生成されたGUIをユーザに表示することとを実施することを含む。これらの実施形態により、有利には、データ処理システムは、複数のルールから、あるデータエンティティ及びその属性に関するルールを自動的に識別し、ユーザに表示することができる。
【0004】
任意選択により、第1の属性の第1の値を取得することは、少なくとも1つのデータストアから第1の値を取得することを含み得る。これにより、有利には、この方法は、データ処理システムの動作の過程で変化し得るデータ処理システムの内部状態に関する最新データを自動的に検出し、取得することが可能となり、それにより、ユーザは、システムと対話してあらゆる技術的異常を回避し得る。
【0005】
任意選択により、GUIを生成することは、第1のデータエンティティの属性の少なくとも1つの値を指定するための少なくとも1つのGUI要素を含む第1の部分と、複数のルールの視覚的レンダリングを含む第2の部分とを含むようにGUIを生成することを含み得る。有利には、これにより、ユーザは、データエンティティの属性の値を指定及び変更し、これらの属性値の変更が、何れの特権ルールをデータエンティティに適用するかにどのように影響を与えるかを特定することができる(特権ルールを適用するか否かは、属性値に依存し得るため)。任意選択により、第1の属性の第1の値を取得することは、GUIの第1の部分における少なくとも1つのGUI要素を通してユーザによって提供される入力に基づいて、第1の値を取得することを含む。任意選択により、少なくとも1つのGUI要素は、ドロップダウンメニュー、ラジオボタン及び/又はチェックボックスを含み得る。
【0006】
任意選択により、方法は、第1の属性の第2の値を取得することと、第1の属性の第2の値を使用して、且つ特権を許可及び/又は拒否するための複数のルールの中から、第1の属性の第2の値に依存する第2のルールを識別することと、第1の属性の第2の値を使用して識別される、特権を許可及び/又は拒否するための第2のルールを識別及び/又は強調するために視覚的レンダリングを更新することとをさらに含み得る。これにより、有利には、システムは、自動的に特定のルール又はルールの一部の関連性が、第1の属性の値が変化する時点をどのように変化させるかを識別し、これらをユーザに提示してさらに対話できるようにすることができる。
【0007】
任意選択により、方法は、GUIの第1の部分を通して提供されるユーザ入力を介して、第1の属性の第2の値を取得することと、第2の値に基づいて、第2のGUI部分内における複数のルールの視覚的レンダリングを更新することとをさらに含み得る。
【0008】
任意選択により、方法は、GUIの第1の部分を通して提供されるユーザ入力を介して、第1のデータエンティティの第2の属性の第1の値を取得することと、第2の属性の第1の値に基づいて、第2のGUI部分内における複数のルールの視覚的レンダリングを更新することとをさらに含み得る。
【0009】
任意選択により、複数の属性は、第2の値のセット内の値を取ることができる第2の属性を含み得、方法は、第1の属性の第1の値を取得することに応答して、第1の値に基づいて、第2の属性の第2の値のセットのサブセットを識別することと、ユーザが、第2の値のセットのサブセットの中からのみ、第2の属性の値を選択することを可能にするために、GUIの第1の部分を更新することとをさらに含み得る。これにより、有利には、第1の属性に関してユーザから受け取った入力が処理され、ユーザとシステムとのさらなる対話を、データ処理システムにランタイム実行エラーが生じないような方法で導くために使用されるシステムが提供される。
【0010】
任意選択により、視覚的レンダリングを生成することは、複数のルールの少なくとも幾つかを表すテキストを生成することを含み得、テキストは、第1の属性の第1の値を使用して識別される、特権を許可及び/又は拒否するための第1のルールを表すテキストを含む。
【0011】
任意選択により、視覚的レンダリングを生成することは、視覚的レンダリングにおいて、第1のルールを表すテキストの少なくとも幾つかを強調表示し、それに下線を付け、且つ/又はそのフォント特性を変更することにより、第1のルールを表すテキストを強調することを含み得る。
【0012】
任意選択により、視覚的レンダリングを生成することは、視覚的レンダリングから、第1のルールと異なる1つ以上のルールに対応する少なくとも幾つかのテキストを取り除くことを含み得る。
【0013】
任意選択により、第1の属性であって、その値が複数のルールの1つ以上によって使用される、第1の属性を識別することは、複数のルールの少なくとも幾つかからルールチェーンを生成することと、ルールチェーンからルールツリーを生成することと、ルールツリー内の1つ以上の条件ノードに関連付けられた1つ以上の属性を識別することであって、1つ以上の属性は、第1の属性を含む、識別することとを含み得る。この処理により、有利には、データ処理システムは、ある属性に依存する全てのルールを迅速且つ効率的に識別することができる。任意選択により、第1の属性の第1の値に依存する第1のルールを識別することは、第1の属性の第1の値に基づいてルールツリーをフィルタリングすることを含み得る。これにより、有利には、関連するルールを、各ルールを1つずつ検査することによる場合よりも迅速に識別することができ、これは、ルールツリーを使用することで多数のルールの中から検査しなければならないルールの数を減らすことができ、それにより関連するルールを識別できる速度及び効率が向上するためである。
【0014】
任意選択により、ルールチェーンからルールツリーを生成することは、ルールチェーンにわたる同一のノードを融合することを含み得る。任意選択により、第1の属性の第1の値に基づいてルールツリーをフィルタリングすることは、第1の属性の第1の値に基づいてルールツリーの1つ以上の適用可能な分枝を識別することを含み得る。任意選択により、ルールツリーの1つ以上の適用可能な分枝を識別することは、第1の属性及び/又は第1の属性の第1の値への依存性を示す1つ以上のノードを含む、ルールツリーの1つ以上の分枝を識別することを含み得る。任意選択により、方法は、1つ以上の条件ノードに関連付けられた識別された1つ以上の属性の各々について、ユーザが、第1の属性の値を示す入力を提供することを可能にするようにGUI内のそれぞれのGUI要素を生成することを含み得る。
【0015】
任意選択により、少なくとも1つのデータストアは、データエンティティ間の関係を指定するメタデータを記憶し得、データエンティティは、1つ以上の階層に組織化され得、メタデータは、1つ以上の階層を指定し得、第1の属性の第1の値は、1つ以上の階層のうち、第1のデータエンティティが属する第1の階層を示す。これにより、有利には、データ処理システムは、対象のデータエンティティとの指定された関係を有する他のデータエンティティに関連付けられた属性値を処理することにより、属性の値を自動的に識別することができる。
【0016】
任意選択により、第1の属性の第1の値は、第1のデータエンティティのための少なくとも1つの分類を示し得る。任意選択により、特権ルールは、作成、読み取り、更新又は削除特権を含み得る。
【0017】
幾つかの実施形態は、システムに関し、これは、少なくとも1つのコンピュータハードウェアプロセッサ、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、少なくとも1つのコンピュータハードウェアプロセッサに、データエンティティのインスタンス内にシステムによって記憶されたデータへのアクセス特権を管理する方法を実施させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的コンピュータ可読記憶媒体を含み、方法は、第1のアクターに対して、データエンティティの第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する特権を許可及び/又は拒否するための複数のルールを取得することであって、第1のデータエンティティは、属性を含み、1つ以上のインスタンスは、第1のインスタンスを含み、第1のインスタンスは、第1のデータエンティティの属性のうちのゼロ又は1つ以上の属性の値を含む、取得することと、第1のデータエンティティの属性の中から、第1の属性であって、その値が複数のルールの1つ以上によって使用される、第1の属性を識別することと、ユーザ又は少なくとも1つのデータストアから第1の属性の第1の値を取得することと、第1の属性の第1の値を使用して、且つ特権を許可及び/又は拒否するための複数のルールの中から、第1の属性の第1の値に依存する第1のルールを識別することと、複数のルールの少なくとも幾つかの視覚的レンダリングを含むグラフィカルユーザインタフェース(GUI)を生成することであって、視覚的レンダリングは、第1の属性の第1の値を使用して識別される、特権を許可及び/又は拒否するための第1のルールを強調する、生成することと、生成されたGUIをユーザに表示することとを含む。
【0018】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、少なくとも1つのコンピュータハードウェアプロセッサに、データエンティティのインスタンス内にデータ処理システムによって記憶されたデータへのアクセス特権を管理する方法を実施させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的コンピュータ可読記憶媒体に関し、方法は、第1のアクターに対して、データエンティティの第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する特権を許可及び/又は拒否するための複数のルールを取得することであって、第1のデータエンティティは、属性を含み、1つ以上のインスタンスは、第1のインスタンスを含み、第1のインスタンスは、第1のデータエンティティの属性のうちのゼロ又は1つ以上の属性の値を含む、取得することと、第1のデータエンティティの属性の中から、第1の属性であって、その値が複数のルールの1つ以上によって使用される、第1の属性を識別することと、ユーザ又は少なくとも1つのデータストアから第1の属性の第1の値を取得することと、第1の属性の第1の値を使用して、且つ特権を許可及び/又は拒否するための複数のルールの中から、第1の属性の第1の値に依存する第1のルールを識別することと、複数のルールの少なくとも幾つかの視覚的レンダリングを含むグラフィカルユーザインタフェース(GUI)を生成することであって、視覚的レンダリングは、第1の属性の第1の値を使用して識別される、特権を許可及び/又は拒否するための第1のルールを強調する、生成することと、生成されたGUIをユーザに表示することとを含む。
【0019】
幾つかの実施形態は、データエンティティのインスタンス内にデータ処理システムによって記憶されたデータへのアクセス特権を制御するためのルールを編集する方法に関し、方法は、データ処理システムの少なくとも1つのコンピュータハードウェアプロセッサを使用して、グラフィカルユーザインタフェース(GUI)を介して、第1の特権の選択及びデータエンティティの第1のデータエンティティの選択を取得することであって、第1のデータエンティティは、第1の属性を含む属性を含む、取得すること、第1のアクターに対して、第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する第1の特権を許可及び/又は拒否するための第1のルールを取得すること、第2のルールを取得するために、GUIを通して取得されたユーザ入力に基づいて第1のルールを更新することを実施することを含み、更新することは、第1のルールが適用される条件を特定することを含み、特定することは、GUIを介して第1の属性の選択を取得することと、GUIを介して、第1の属性のそれぞれの複数の値に対応する複数の選択可能なオプションを提示することと、GUIを介して、第1の属性の複数の値の中の第1の値の選択を取得することであって、選択は、第1の属性が第1の値を取るとき、第1のルールが第1のデータエンティティに適用されることを示す、取得することとを含む。これらの実施形態により、有利には、データ処理システムで実施される方法は、データエンティティ及びユーザによる特権入力に関係する第1のルールを識別して取得し、データ処理システムのプロトコルに従ってそのルールを更新することを通してユーザを導くことができる。これは、したがって、データ処理システム内のランタイム実行エラーの発生を防止する。
【0020】
任意選択により、少なくとも1人のアクターに対して、第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する第1の特権を許可及び/又は拒否するための第1のルールは、前述のデータ処理システムによって記憶されたデータへのアクセス特権を管理する方法に従い、第1の属性の第1の値に依存するルールを識別することによって取得され得る。これにより、有利には、システムは、ユーザが編集することを望み得るルールを予想し、データ処理システム内のランタイム実行エラーの発生を防止するような方法で編集プロセスを通してユーザを導くことができる。
【0021】
任意選択により、少なくとも1つのデータストアは、データエンティティ間の関係を指定するメタデータを記憶し得、データエンティティは、1つ以上の階層に組織化され、メタデータは、1つ以上の階層を指定し、第1の属性の第1の値は、1つ以上の階層のうち、第1のデータエンティティが属する第1の階層を示す。任意選択により、GUIを介して複数の選択可能なオプションを提示することは、複数のデータエンティティ間の関係を指定するメタデータを使用して、第1の属性のそれぞれの複数の値に対応する複数の選択可能なオプションを識別することを含み得る。これにより、有利には、データ処理システムは、選択されたデータエンティティとの指定された関係を有する他のデータエンティティに関連付けられた属性値を処理することにより、属性の予想値を自動的に識別することができる。
【0022】
任意選択により、第1の特権は、作成、読み取り、更新又は削除特権であり得る。任意選択により、GUIを介して複数の選択可能なオプションを提示することは、GUI内の少なくとも1つのGUI要素を介して、第1の属性のそれぞれの複数の値に対応する複数の選択可能なオプションを提示することを含む。任意選択により、少なくとも1つのGUI要素は、ドロップダウンメニュー、ラジオボタン及び/又はチェックボックスを含む。任意選択により、GUIを介して第1の属性の選択を取得することは、第1のデータエンティティのための機密性分類属性の選択を取得することを含む。任意選択により、GUIを介して第1の属性の選択を取得することは、第1のデータエンティティのためのワークフロー属性の選択を取得することを含む。任意選択により、第1のルールは、第1のルールが適用される1つ以上の条件を指定し、1つ以上の条件は、特定された条件を含む。
【0023】
幾つかの実施形態は、システムに関し、これは、少なくとも1つのコンピュータハードウェアプロセッサ、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、少なくとも1つのコンピュータハードウェアプロセッサに、データエンティティのインスタンス内にシステムによって記憶されたデータへのアクセス特権を制御するためのルールを編集する方法を実施させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的コンピュータ可読記憶媒体を含み、この方法は、グラフィカルユーザインタフェース(GUI)を介して、第1の特権の選択及びデータエンティティの第1のデータエンティティの選択を取得することであって、第1のデータエンティティは、属性を含む、取得すること、第1のアクターに対して、第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する第1の特権を許可及び/又は拒否するための第1のルールを取得すること、第2のルールを取得するために、GUIを通して取得されたユーザ入力に基づいて第1のルールを更新することを含み、更新することは、GUIを介して第1の属性の選択を取得することと、GUIを介して、第1の属性のそれぞれの複数の値に対応する複数の選択可能なオプションを提示することと、GUIを介して、第1の属性の複数の値の中の第1の値の選択を取得することであって、選択は、第1の属性が第1の値を取るとき、第1のルールが第1のデータエンティティに適用されることを示す、取得することとを含む。
【0024】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、少なくとも1つのコンピュータハードウェアプロセッサに、データエンティティのインスタンス内にデータ処理システムによって記憶されたデータへのアクセス特権を制御するためのルールを編集する方法を実施させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的コンピュータ可読記憶媒体に関し、この方法は、グラフィカルユーザインタフェース(GUI)を介して、第1の特権の選択及びデータエンティティの第1のデータエンティティの選択を取得することであって、第1のデータエンティティは、属性を含む、取得すること、第1のアクターに対して、第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する第1の特権を許可及び/又は拒否するための第1のルールを取得すること、第2のルールを取得するために、GUIを通して取得されたユーザ入力に基づいて第1のルールを更新することを含み、更新することは、第1のルールが適用される条件を特定することを含み、特定することは、GUIを介して第1の属性を選択することと、GUIを介して、第1の属性のそれぞれの複数の値に対応する複数の選択可能なオプションを提示することと、GUIを介して、第1の属性の複数の値の中の第1の値の選択を取得することであって、選択は、第1の属性が第1の値を取るとき、第1のルールが第1のデータエンティティに適用されることを示す、取得することとを含む。
【0025】
幾つかの実施形態は、データエンティティのインスタンス内にデータ処理システムによって記憶されたデータへのアクセス特権を制御するためのルールを編集する方法に関し、この方法は、データ処理システムの少なくとも1つのコンピュータハードウェアプロセッサを使用して、グラフィカルユーザインタフェース(GUI)を介して、第1の特権の選択及びデータエンティティの第1のデータエンティティの選択を取得することであって、第1のデータエンティティは、属性を含む、取得すること、第1のアクターに対して、第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する第1の特権を許可及び/又は拒否するための第1のルールを取得すること、第2のルールを取得するために、GUIを通して取得されたユーザ入力に基づいて第1のルールを更新することを実施することを含み、更新することは、第1のルールで指定された第1のアクターを編集するためのユーザ入力を取得することに応答して、第1の特権が許可され得る複数のアクターを、属性の第1の属性の少なくとも1つの値に基づいて識別することと、GUIを介して、複数のアクターに対応する複数の選択可能なオプションを提示することとを含む。これらの実施形態により、有利には、データ処理システムで実施される方法は、データエンティティに関係する第1のルールを識別して取得し、そのルールを更新することを通して、データ処理システムのプロトコルに従って特権が許可されることになるアクターの候補を自動的に提案することによってユーザを導くことができる。これは、したがって、データ処理システムにおけるランタイム実行エラーの発生を防止する。
【0026】
任意選択により、第1のアクターに対して、第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する第1の特権を許可及び/又は拒否するための第1のルールは、前述のようにデータエンティティのインスタンス内にデータ処理システムによって記憶されたデータへのアクセス特権を管理する方法に従い、第1の属性の第1の値に依存するルールを識別することによって取得される。これにより、有利には、ユーザが編集することを望み得るルールを予測し、その後、データ処理システムにおけるランタイム実行エラーの発生を防止するような方法で編集プロセスを通してユーザを導くことができる。
【0027】
任意選択により、データ処理システムは、データエンティティ間の関係を指定するメタデータを記憶し得る少なくとも1つのデータストアを含み得、データエンティティは、1つ以上の階層に組織化され、メタデータは、1つ以上の階層を指定し、及び第1の属性の少なくとも1つの値は、第1の属性の第1の値を含み、第1の属性の第1の値は、1つ以上の階層のうち、第1のデータエンティティが属する第1の階層を示す。任意選択により、第1の特権が許可され得る複数のアクターを識別することは、第1の特権が許可され得る複数のアクターを、データエンティティ間の関係を指定するメタデータを使用して識別することを含み得る。これにより、有利には、データ処理システムは、選択されたデータエンティティとの指定された関係を有する他のデータエンティティに関連付けられた属性値を処理することによって属性の値を自動的に識別することができる。
【0028】
任意選択により、第1の特権は、作成、読み取り、更新又は削除特権であり得る。任意選択により、GUIを介して複数の選択可能なオプションを提示することは、GUI内の少なくとも1つのGUI要素を介して、複数のアクターに対応する複数の選択可能なオプションを提示することを含む。任意選択により、少なくとも1つのGUI要素は、ドロップダウンメニュー、ラジオボタン及び/又はチェックボックスを含む。任意選択により、第1のルールは、第1のルールが適用される1つ以上の条件と、第1の特権が許可され得る1人以上のアクターとを指定する。
【0029】
任意選択により、方法は、第1のアクターに対して、第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する第1の特権を許可及び/又は拒否するための複数のルールを取得することであって、複数のルールは、第1のルールを含む、取得することと、GUIを介して、第1の順序で配置された複数のルールを提示することと、第1の順序に従って複数のルールを評価することとを含み得る。任意選択により、方法は、GUI内の少なくとも1つのGUI要素を介して、複数のルールの第1の順序を更新するためのユーザ入力を取得することに応答して、GUIを介して、更新された順序で配置された複数のルールを提示することと、更新された順序に従って複数のルールを評価することとを含み得る。
【0030】
幾つかの実施形態は、システムに関し、これは、少なくとも1つのコンピュータハードウェアプロセッサ、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、少なくとも1つのコンピュータハードウェアプロセッサに、データエンティティのインスタンス内にシステムによって記憶されたデータへのアクセス特権を制御するためのルールを編集する方法を実施させるプロセッサ実行可能命令を保記憶する少なくとも1つの非一時的コンピュータ可読記憶媒体を含み、この方法は、グラフィカルユーザインタフェース(GUI)を介して、第1の特権の選択及びデータエンティティの第1のデータエンティティの選択を取得することであって、第1のデータエンティティは、属性を含む、取得すること、第1のアクターに対して、第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する第1の特権を許可及び/又は拒否するための第1のルールを取得すること、第2のルールを取得するために、GUIを通して取得されたユーザ入力に基づいて第1のルールを更新することを含み、更新することは、第1のルールで指定された第1のアクターを編集するためのユーザ入力を取得することに応答して、第1の特権が許可され得る複数のアクターを、属性の第1の属性の少なくとも1つの値に基づいて識別することと、GUIを介して、複数のアクターに対応する複数の選択可能なオプションを提示することとを含む。
【0031】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、少なくとも1つのコンピュータハードウェアプロセッサに、データエンティティのインスタンス内にデータ処理システムによって記憶されたデータへのアクセス特権を制御するためのルールを編集する方法を実施させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的コンピュータ可読記憶媒体に関し、この方法は、グラフィカルユーザインタフェース(GUI)を介して、第1の特権の選択及びデータエンティティの第1のデータエンティティの選択を取得することであって、第1のデータエンティティは、属性を含む、取得すること、第1のアクターに対して、第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する第1の特権を許可及び/又は拒否するための第1のルールを取得すること、第2のルールを取得するために、GUIを通して取得されたユーザ入力に基づいて第1のルールを更新することを含み、更新することは、第1のルールで指定された第1のアクターを編集するためのユーザ入力を取得することに応答して、第1の特権が許可され得る複数のアクターを、属性の第1の属性の少なくとも1つの値に基づいて識別することと、GUIを介して、複数のアクターに対応する複数の選択可能なオプションを提示することとを含む。
【0032】
上述した各種の態様は、代替的又は追加的に、本明細書に記載するシステム、方法及び/又はプロセスの何れかにおける態様と共に使用され得る。例えば、データ処理システム等のシステムは、上述した態様の1つ以上を有する方法に従って動作するように構成され得る。このようなデータ処理システムは、少なくとも1つのコンピュータハードウェアプロセッサと、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、少なくとも1つのコンピュータハードウェアプロセッサにそのような方法を実施させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的コンピュータ可読媒体とを含み得る。さらに、非一時的コンピュータ可読媒体は、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、少なくとも1つのコンピュータハードウェアプロセッサに、上述した態様の1つ以上を有する方法を実施させるプロセッサ実行可能命令を含み得る。そのため、上記は、添付の特許請求の範囲によって定義される本発明の非限定的な概要である。
【0033】
以下の図を参照して、様々な態様について説明する。図は、必ずしも原寸に比例するとは限らないことが理解されるべきである。複数の図に現れる項目は、それらが現れる全ての図において同じ又は同様の参照番号によって示される。
【図面の簡単な説明】
【0034】
【
図1A】本明細書で説明される技術の幾つかの態様による、データ処理システム105を使用することができる例示的な企業システム環境を示す図である。
【
図1B】本明細書で説明される技術の幾つかの態様による例示的なデータ処理システム105及びデータ処理システム105の特権管理システム130のブロック図である。
【
図1C】本明細書で説明される技術の幾つかの態様によるデータ処理システム105の実装例を示す図である。
【
図1D】本明細書で説明される技術の幾つかの態様による、データエンティティインスタンス及びデータエンティティインスタンスの属性値を要求するアクターの属性が評価されて、そのアクターがそのデータエンティティインスタンスへのアクセスを許可されることが決定されるシナリオを示す図である。
【
図1E】本明細書で説明される技術の幾つかの態様による、データエンティティインスタンス及びデータエンティティインスタンスの属性値を要求するアクターの属性が評価されて、そのアクターがそのデータエンティティインスタンスへのアクセスを拒否されることが決定されるシナリオを示す図である。
【
図1F】本明細書で説明される技術の幾つかの態様によるデータ処理システム105のデータ永続層150内に記憶された例示的なデータ及びルールを示す図である。
【
図1G】本明細書で説明される技術の幾つかの態様による、アクターがデータ処理システム105内のデーにアクセスできないようにされるシナリオの図解図である。
【
図1H-1I】本明細書で説明される技術の幾つかの態様による、アクターがデータ処理システム105内のデータにアクセスできないようにされるが、管理者が、関連する特権ルールを識別するために、データ処理システムの内部状態の直感的な視覚化及びアクセスを要求するアクターのためのCRUD動作モードを提供するグラフィカルユーザインタフェースを使用し得る、
図1Gのシナリオの図解図である。
【
図2】本明細書で説明される技術の幾つかの態様によるデータ処理システム105の態様を示すブロック図である。
【
図3A】本明細書で説明される技術の幾つかの態様による、ユーザが、少なくとも2つの属性を有するデータエンティティ「DataElement」の1つ以上のリインスタンスに1つ以上のアクションを実施する特権を1人以上のアクターに対して許可及び/又は拒否するための1つ以上のルールを視覚化し得る、例示的なグラフィカルユーザインタフェース(GUI)300の図解図である。
【
図3B】本明細書で説明される技術の幾つかの態様による、GUI 300の第1の部分302を通して、データエンティティ「DataElement」の属性「セキュリティグループ」の値を示すユーザからの入力を取得することに応答して、
図3Aのルールの少なくとも幾つかの視覚的レンダリングがどのように更新され得るかを示す例示的なGUI 300の図解図である。
【
図3C】本明細書で説明される技術の幾つかの態様による、GUI 300の第1の部分302を通して、データエンティティ「DataElement」の属性「データセット」の値を示すユーザからの入力を取得することに応答して、
図3Aのルールの少なくとも幾つかの視覚的レンダリングがどのように更新され得るかを示す例示的なGUI 300の図解図である。
【
図4A】本明細書で説明される技術の幾つかの態様による、データエンティティのためのシミュレーションモードで実行する例示的なGUI 400の図解図である。
【
図4B】本明細書で説明される技術の幾つかの態様による、ユーザが関心対象の特権を選択したことに応答して、GUI 400内のルールの視覚的レンダリングがどのように更新され得るかを示す例示的なGUI 400の図解図である。
【
図4C】本明細書で説明される技術の幾つかの態様による、GUI 400の第1の部分402を通して、データエンティティ「DataElement」の「セキュリティグループ」属性が設定されたことを示すユーザからの入力を取得することに応答して、GUI 400内のルールの視覚的レンダリングがどのように更新され得るかを示す例示的なGUI 400の図解図である。
【
図4D】本明細書で説明される技術の幾つかの態様による、GUI 400の第1の部分402を通して、データエンティティ「DataElement」の「セキュリティグループ」属性が設定されないことを示すユーザからの入力を取得することに応答して、GUI 400内のルールの視覚的レンダリングがどのように更新され得るかを示す例示的なGUI 400の図解図である。
【
図5】本明細書で説明される技術の幾つかの態様による、データエンティティのための評価モードで実行する例示的なGUI 500の図解図である。
【
図6A】本明細書で説明される技術の幾つかの態様による、データエンティティのための特権ルールを視覚化する例示的なプロセス600のフローチャートである。
【
図6B】データエンティティのための特権ルールを視覚化する例示的プロセス600の実装例のフローチャートである。
【
図7A】本明細書で説明される技術の幾つかの態様による、「DataElement」データエンティティの1つ以上のインスタンスにアクションを実施する特権をアクターに対して許可及び/又は拒否するための例示的なルールの表700を示す。
【
図7B】本明細書で説明される技術の幾つかの態様による、
図7Aの例示的ルールを使用して生成されるルールチェーンを示す。
【
図7C】本明細書で説明される技術の幾つかの態様による、
図7Bの例示的なルールチェーンを使用して生成される例示的なルールツリーを示す。
【
図8A】本明細書で説明される技術の幾つかの態様による、「ユーザレポート」データエンティティの1つ以上のインスタンスにアクションを実施する特権をアクターに対して許可及び/又は拒否するための例示的なルールの表800を示す。
【
図8B】本明細書で説明される技術の幾つかの態様による、
図8Aの例示的なルールを使用して生成されるルールチェーンを示す。
【
図8C】本明細書で説明される技術の幾つかの態様による、
図8Bの例示的なルールチェーンを使用して生成される例示的なルールツリーを示す。
【
図8D】本明細書で説明される技術の幾つかの態様による、「ユーザレポート」データエンティティの1つ以上のインスタンスにアクションを実施する特権をアクターに対して許可及び/又は拒否するための例示的なルールの少なくとも幾つかの、
図8Cのルールツリーを使用して生成された視覚的レンダリングを示す。
【
図9A】本明細書で説明される技術の幾つかの態様による、論理「アンド」条件を有するルールを具現化する例示的なルールツリーを示す。
【
図9B】本明細書で説明される技術の幾つかの態様による、「課題」データエンティティの1つ以上のインスタンスにアクションを実施する特権をアクターに対して許可及び/拒否するための例示的なルールの少なくとも幾つかの、
図9Aのルールツリーを使用して生成された視覚的レンダリングを示す。
【
図10A】本明細書で説明される技術の幾つかの態様による、論理「オア」条件を有するルールを具現化する例示的なルールツリーを示す。
【
図10B】本明細書で説明される技術の幾つかの態様による、「プリンシパル」データエンティティの1つ以上のインスタンスにアクションを実施する特権をアクターに対して許可及び/拒否するための例示的なルールの少なくとも幾つかの、
図10Aのルールツリーを使用して生成された視覚的レンダリングを示す。
【
図11A】本明細書で説明される技術の幾つかの態様による、特権を許可及び/又は拒否するための1つ以上のルールのための関心対象の特権を選択し、特権を許可及び/又は拒否するための1つ以上のルールが適用されるデータエンティティを選択するためのオプションがユーザに提供され得る例示的なGUI 1115の図解図である。
【
図11B-11D】本明細書で説明される技術の幾つかの態様による、ユーザが、
図11Aにおいて選択されたデータエンティティ及び
図11Aにおいて選択された関心対象の特権に関連付けられる新たなルールを作成し、且つ/又は既存のルールを編集し得る、例示的なGUI 1116、1117、1118の図解図である。
【
図11E】本明細書で説明される技術の幾つかの態様による、ユーザが特定のデータエンティティ及び関心対象の特権に関連付けられる1つ以上のルールを閲覧し得る、例示的なGUI 1119の図解図である。
【
図12A-12E】本明細書で説明される技術の幾つかの態様による、ユーザが、「BizAsset」に関するアクションを実施する特権をアクターに対して許可及び/又は拒否するための新たなルールを作成し、且つ/又は既存のルールを編集し得る、例示的なGUI 1200、1202、1204、1206及び1208の図解図である。
【
図13】本明細書で説明される技術の幾つかの態様による、データエンティティに関連付けられるルールを作成及び/又は編集する例示的プロセス1300のフローチャートである。
【
図14】本明細書で説明される技術の幾つかの態様による、データエンティティに関連付けられるルールを作成及び/又は編集する例示的プロセス1400のフローチャートである。
【
図15】本明細書で説明される技術の幾つかの態様の実装において使用され得る例示的なコンピューティングシステム環境のブロック図である。
【発明を実施するための形態】
【0035】
本明細書で説明される技術の態様は、データ処理システムによって管理されるデータエンティティに関するデータアクセス特権を管理するための従来の技術を改良することにより、データ処理システムの速度、スループット及び正確さを向上させることに関する。データ処理システムは、数千、数百万、数十億又は数兆のデータエンティティ及びそのインスタンスを管理し得る。本明細書で説明する技術により、このようなデータエンティティ及びそのインスタンスに関する特権を管理するための技術を、従来の特権管理技術を使用して特権を管理するデータ処理システムに発生するエラー及びそれにより使用される計算リソースを減少させるような方法で効率的に実装することが可能となる。本発明者により開発された技術は、データ処理システムのユーザが、データエンティティのインスタンス及び/又はそのデータエンティティに関連付けられる特定の属性に対する作成、読み取り、更新及び削除アクションを誰が実行できるかを正確且つ簡潔に制御できるようにする。
【0036】
本明細書で説明されるように、データ処理システムは、データエンティティを使用してデータを管理することができ、データエンティティは、オブジェクト指向パラダイムを使用してデータを組織化するために使用することができる。データエンティティは、属性を指定することができ、属性は、インスタンス化の際、数、文字列又は他のデータエンティティへの参照などの異なる値を取り入れることができる。1つ又は複数のデータエンティティインスタンスは、データエンティティからインスタンス化することができ、データを記憶するために使用することができる。例えば、銀行用のデータ処理システムは、顧客クレジットスコアについての情報を記憶するためのクレジットスコアデータエンティティを含み得る。この例では、クレジットスコアデータエンティティは、クレジットスコア値、クレジットスコア機関、クレジットスコア定義及び/又は他の属性などの属性を指定することができる。データ処理システムは、クレジットスコアデータエンティティによって指定される属性の値としてそれらの顧客のクレジットスコア情報を記憶するために、クレジットスコアデータエンティティの複数の(例えば、数百、数千又は数百万の)インスタンスをインスタンス化することができる。それに従い、オブジェクト指向プログラミングとクラス及びそのインスタンスとの関わり方と同様に、データ処理システムは、データエンティティの定義を用いて構成され、且つデータエンティティのインスタンスを使用してデータを管理し得る。
【0037】
データエンティティインスタンスは、あるデータエンティティの属性のうちのゼロ又は1つ以上に関する値を含み得る。データエンティティインスタンスは、その全ての属性値をまとめて記憶する必要はない場合がある。幾つかの実施形態では、データエンティティインスタンスの属性値は、1つ又は複数のデータ構造を使用して記憶することができる。例えば、本明細書で説明される技術の態様は、メモリ内の根本的な同じデータ構造を使用して特定のデータエンティティインスタンスの値を記憶することを必要としないため、属性値は、1つ又は複数の表、記録、リスト又は他の任意の適切なデータ構造を使用して記憶することができる。
【0038】
本明細書で説明されるように、データ処理システムは、多くの異なるタイプのデータを管理するために使用することができる。例えば、幾つかの用途では、データ処理システムは、メタデータ管理のために使用することができる。そのような用途では、それぞれのデータエンティティからインスタンス化されたデータエンティティインスタンスは、他のデータについての情報(「メタデータ」)を記憶することができる。例えば、データエンティティインスタンスは、企業システム(例えば、クレジットカード会社、電話会社、銀行などの大規模な多国籍企業のため)のデータについてのメタデータを記憶することができる。そのような用途では、企業システムのデータは、複数のデータベース、データウェアハウス、データレイクなどにわたって展開された数百万又は数十億ものデータセット(例えば、表、ドキュメント、記録など)を含み得る。従って、データ処理システムは、データセットについてのメタデータを含む大量の(例えば、数百万又は数十億の)データエンティティインスタンスを管理することができる。本明細書で説明される例はメタデータ管理について言及し得るが、本発明者らによって開発された及び本明細書で説明される技法は、特定のタイプのデータへの適用に限定されず、管理データがメタデータであるか又は他の任意のタイプのデータ(例えば、トランザクション、ファイル、データ記録、表など)であるかにかかわらずデータを管理するためにデータエンティティ及びデータエンティティからインスタンス化されたデータエンティティインスタンスを使用する任意のデータ処理システム内で使用できることが理解されるべきである。
【0039】
データエンティティ又はそのデータエンティティの特性に関する1つ以上の特権は、1人以上のアクターに対して許可及び/又は拒否され得る。アクターは、特定の特権又はデータエンティティ、そのデータエンティティのインスタンス及び/又はそのデータエンティティの属性へのアクセス又はその使用に関する特権がそのために許可及び/又は拒否され得る、データ処理システムのユーザと定義され得る。アクターには、データエンティティのインスタンスに1つ以上のアクションを実施する特権が許可又は拒否され得る。例えば、1人のアクターには、データエンティティのインスタンスに対して、そのアクターがそのデータエンティティのそのインスタンスを作成できるようにする作成アクションを実施する特権が許可され得、他の1人以上のアクターには、そのデータエンティティインスタンスに対して、他の1人以上のアクターがそのデータエンティティによって指定される属性の値を読み取るか又は他に閲覧できるようにする読み取りアクションを実施する特権が許可され得る。アクターは、1つ以上のデータエンティティ及び/又はそのデータエンティティの1つ以上のデータエンティティインスタンスに関する1つ以上のアクションを実施する権限が付与されたデータ処理システムのユーザであり得る。
【0040】
本発明者らにより開発され、本明細書で説明される技術は、根本的なデータ処理システムがデータアクセス特権を管理する方法を改善する。従来のデータ処理システムにおいて、データアクセス特権は典型的にルールとして定義され、表又はスプレッドシート内に保持され、データ処理システムのユーザにとってその操作、対話、構成、管理は難しい。さらに、このような表又はスプレッドシートは企業データ処理システム用のかなり大型のものであり得、多数の(例えば、数百万又は数十億の)データエンティティ及びそのインスタンスを管理し、数百、数千又は数万のルールを含んでいる。このような表に記憶される情報と対話するか又はそれらを操作すること(例えば、読み取り、書き込み、修正、デバッギング等)は、時間がかかり、非効率的であり、データ処理システムのユーザにとって極めて困難である。このような解決策の結果、様々なタイプのエラーが生じる。エラーの一例は、ルールパラメータの無効な値を含むか、又は他にデータ処理システムが理解するフォーマットに従って指定されない特権管理ルールを作成若しくは編集することであり、その何れもデータ処理システムのランタイム実行エラーの原因となり得る。ランタイム実行エラーとしては、特権を管理するためのデータ処理システムのソフトウェアプログラムの実行中の、例外のスロー、利用できない機能、ハンギング及び/又はそのようなソフトウェアプログラムからの予期しないエグジットを生じさせるエラーが含まれ得る。エラーの他の例は、権限のないユーザにデータアクセスを提供すること又は権限を有するユーザがデータ処理システム内のデータにアクセスできないようにすることである。この種のエラーは、データ処理のパフォーマンスに影響を与え、ユーザがそれを識別して解決することは難しい。
【0041】
データアクセス特権を管理するための従来の技術の他の問題は、データアクセス特権を制御する多数のルール(例えば、数百、数千又は数万のルール)があり得、特定のデータに関するアクセス特権を許可、テスト、デバッギング又は編集することに関心のあるユーザがデータ処理システムの多くのルールの中から関係するルールを識別することは、(不可能ではないとしても)非常に困難である。このようなルールを識別することは、時間とコストを要し、エラーを発生しやすい。
【0042】
また別の問題は、関連するルールが識別されたとしても、これらのルールが特定のデータエンティティ及びそのインスタンスにどのように適用されるかを特定することが難しい点である。その理由は、データエンティティのインスタンス内にデータ処理システムによって記憶されたデータへのアクセスを制御するためのルール自体が、多くの場合、他の情報に依存するからである。例えば、特定のユーザがデータエンティティのインスタンスを作成し、読み取り、更新し、且つ/又は削除する特権を有するか否かは、特定のユーザに関連付けられる情報(例えば、そのユーザがそのような特権を有するユーザのグループに属するか、企業内で特定の役割を有するか否かを示す情報)、データエンティティ又はデータエンティティインスタンスに関連付けられる情報(例えば、そのデータエンティティ又はデータエンティティインスタンスが秘密データを含むか否かを示す情報、データエンティティ又はデータエンティティインスタンスが、それに関して特定のユーザが作成、読み取り、更新及び/又は削除(CRUD)特権を有する他のデータエンティティ又はデータエンティティインスタンスに、例えばそれと同じグループ又は階層に含まれることにより、関連付けられるか否かを示す情報及び/又は他の何れかの情報)に依存し得る。簡単に言えば、ルールは、1つ又は複数の変数の値に依存し得、変数の値にアクセスせずにルールのみを検査するのみでは、ルールが実際にどのように適用されるか、又はこれらのルールをどのように作り、デバッギングし、且つ/又は編集するかに関する決定を下すことができない。これらの全てにより、データアクセス特権と対話し、それを操作するための従来の技術は、非実用的で、エラーを生じやすく、データ処理システムのユーザにとって困難なものとなる。
【0043】
本発明者らは、データ処理システムでデータアクセス特権ルールの管理を容易にする新たな技術を開発した。本発明者らが開発した技術は、(1)適用可能であり得る多くのルールの中から関係する特権ルールを自動的に識別する技術と、(2)何れかの関連する変数に基づいて識別されたデータアクセス特権により制御される、あるユーザ及びデータエンティティ/データエンティティインスタンスに関する、データ処理システムの内部状態とCRUD動作モードの直感的視覚化を提供するグラフィカルユーザインタフェースを含む。これにより、特定の1つ以上のデータエンティティ及び/又はそのインスタンスに関するアクセス特権を制御することにおいて、関係する特権ルールがユーザに対して明確に特定されるだけでなく、これらのルールが、これらのルールが依存する変数の値(例えば、データ処理システム内に記憶された値)に基づいて実際にどのように適用されるかが可能となる。加えて、本発明者により開発されたグラフィカルユーザインタフェースは、ユーザにデータエンティティ/データエンティティインスタンスに関連付けられる1つ又は複数の変数の値に関する様々な提案を提供することにより、ルールを作成及び/又は編集するプロセスを通してユーザを導く。したがって、これらの視覚化により、データ処理システムのユーザは、効率的に、データ処理システムの動作中にランタイム及び/又は特権のエラーを生じさせることなく、ルールを作り、テストし、且つデバッギングすることができる。
【0044】
例えば、幾つかの実施形態では、データ処理システムのユーザは特定のデータエンティティに関するデータアクセス特権を制御するルール(例えば、データエンティティのインスタンスにアクションを実施する特権をアクターに対して許可及び/又は拒否するためのルール)にアクセスすることを望み得、データ処理システムは、(1)それによりデータ処理システムが構成される複数のルールの中から、特定のエンティティのためのデータアクセス特権を制御するルールを識別し、(2)グラフィカルユーザインタフェースを介してユーザにこれらのルールの視覚化を提示し、(3)識別されたルールをユーザが編集できるようにし得る。この例を、
図1H~1I、
図3A~3C、
図4A~4D、
図11A~11E及び
図12A~12Eを含む本明細書で説明する。
【0045】
幾つかの態様によれば、ルールが1つ以上の変数の値に依存する場合、ユーザはルールに対するこれらの値の影響を理解するために変数のための異なる値を(例えば、グラフィカルユーザインタフェースを介して)入力し得る。このようにして、ユーザはルールが依存する変数の値を変更し、変数の値の変更がルールにより制御される何れかのデータアクセス特権を変化させるか否かを特定できる。この動作モードは動作の「シミュレータ」モードと呼ばれ得るが、それは、このモードでは、ユーザはルールが依存する異なる可変値の影響をシミュレートして、これらの値がアクセス特権に与える影響を理解できるからである。幾つかの実施形態では、異なる条件をシミュレートし、「するとどうなるか」のシナリオを探ることによってルールを規定及び/又はテストして、特定のデータエンティティ及び/又はそのデータエンティティのインスタンスについて許可又は拒否される、結果として得られる特権を理解することができる。
【0046】
追加的又は代替的に、幾つかの態様によれば、特定のデータエンティティに関するアクセス特権を制御するためのルールが1つ以上の変数の値に依存する場合、データ処理システムは、データ処理システムの中でデータエンティティの1つ以上のインスタンスの可変値にアクセスし、アクセスした値を使用してルールを評価し得る。この動作モードは、動作の「エバリュエータ」モードと呼ばれ得るが、それは、このモードでは、データ処理システムの中でデータエンティティのインスタンスに関する実際の可変値を使用して評価されたときに、ルールにより許可されることになる特定のデータエンティティのためのアクセス特権を特定し、表示することができるからである(これは、ユーザによりグラフィカルユーザインタフェースを通して入力されるシミュレートされた値と異なる)。幾つかの実施形態では、ユーザは特定のデータエンティティのためのルールを評価して、データエンティティ及び/又はデータエンティティのインスタンスについて、特定の特権が許可されるか又は許可されない理由を視覚的な方法で理解することができ、大量のマニュアルリソースを特権のパース及び評価に費やす必要がない。
【0047】
本明細書で説明される、ルールの視覚化を提供するグラフィカルユーザインタフェースにより、ユーザはデータ処理システムの内部状態及び何れの特権ルールが(例えば、特定のアクター、データエンティティ及び/又はデータエンティティのインスタンスに)適用されるかを理解できるだけでなく、ユーザは、効率的に、データ処理システムの動作中にランタイム及び/又は特権エラーを生じさせることなく、ルールを作り、テストし、デバッギングすることができる。例えば、ユーザにそのデータエンティティに関連付けられる1つ又は複数の変数の値の様々な提案を提供することにより、ルールの作成及び/又は編集プロセスを通してデータ処理システムの管理者及び/又は他のユーザを導き得、それにより誤った変数でルールが作成されることが防止される。
【0048】
さらに、データ処理システムのユーザは、グラフィカルユーザインタフェースは、特定のデータエンティティのためのデータアクセス特権を制御するルールを編集し得る。データ処理システムにより、ユーザは、グラフィカルユーザインタフェースを介してこれらのルールを編集することが可能となり得る。この動作モードは、動作の「エディタ」モードと呼ばれ得るが、それは、このモードでは、ユーザはグラフィカルユーザインタフェースを介してあるデータエンティティに関連付けられるルールを作り、変更し、且つ/又は削除することができるからである。このことの例は、
図11A~11E及び
図12A~12Eを含む本明細書で説明される。
【0049】
幾つかの実施形態では、エディタは、ユーザに入力を促し、ユーザがデータ処理システムと対話するときに1つ以上のルールパラメータが指定され得る方法を制約することにより、特権ルールの作成及び/又は編集を容易にするか又は導き得る。例えば、幾つかの実施形態では、ユーザは、ルールが依存する属性の値を指定又は編集することを望み得、エディタは、ユーザに、その属性について考え得る値に対応する選択可能なにオプションのリストを提供し得る。このようにして、ユーザが属性値及び他のパラメータに対応するフリーフォームの入力を提供できないようにされ得、それにより発生し得る技術的異常が回避される。これは、
図13を参照することを含め、本明細書でより詳しく説明される。別の例として、ユーザは特定のデータエンティティのインスタンスにアクションを実施するためのルールによって特権が許可/拒否される1人以上のアクターを指定することを望み得、エディタは、ユーザに、ユーザによって選択され得るアクターの候補のリストを提供し得る。アクターの候補は、問題の特定のデータエンティティに関係する1つ以上のデータエンティティに関連付けられるアクター(例えば、ある階層内の特定のデータエンティティに関するデータエンティティのインスタンスにアクションを実施する特権を有する1人以上のアクター)を含むか又はそれからなり得る。これは、
図14を参照することを含め、本明細書でより詳しく説明される。ルールについて、ユーザが指定及び/又は編集するパラメータ(例えば、属性、属性値、アクター等)を制約することにより、データ処理システムによって理解されず、且つ/又はルールパラメータに関する無効な値を含むフォーマットのルールが作成されることが防止され、その何れも、データ処理システムのランタイム実行エラー等の技術的異常の原因となり得る。
【0050】
上述したように、本発明者らにより開発された技術により、データ処理システムのユーザは、データ処理システムによって管理される1つ以上のデータエンティティ及び/又はデータエンティティのインスタンスに関連付けられる特権ルールを作り、テストし、且つ/又はデバッギングすることができる。これに関して、重要な技術的課題は、データ処理システム構成の多くの(例えば、数百、数千か、数万の)ルール部分の中から、関連する特権ルールを識別することである。この課題を複雑にしているのは、多くの特権ルールについて、特権ルールを特定のデータエンティティ又はそのインスタンスに適用するか否かの問題に対する回答でデータ処理システムの内部状態に依存することであり、それは、回答がそのデータエンティティの属性の値に依存するからである。データエンティティの属性値は(例えば、データ処理システムの動作の過程で)変化し得るため、一般に、特定の特権ルールが特定のデータエンティティ又はそのインスタンスに適用されるか否かは、データ処理システム内でその特定のデータエンティティの属性値にアクセスしなければ(これには、データエンティティの複数のデータエンティティインスタンスに記憶される属性値にアクセスすることを含み得る)特定できない。そのため、幾つかの態様によれば、何れの特権ルールが何れのデータエンティティに適用されるかの特定は、データ処理システム内に記憶されるデータエンティティ属性のリアルタイムの特定に基づいてダイナミックに行われる。
【0051】
例えば、幾つかの実施形態では、データエンティティに関するアクセス特権を制御するため(例えば、データエンティティのインスタンスにアクションを実施する特権をアクターに対して許可及び/又は拒否するための)1つ以上の特権ルールを識別するために、データ処理システムは、(1)データエンティティの属性の中から、それによりデータ処理システムが構成される1つ以上の特権ルールによって使用される値を有する1つ以上の属性を識別し、(2)何れかのこのような属性の値を(例えば「エバリュエータ」モードのデータ処理システムの中でそれを検索することか、「シミュレータ」モードでユーザから考えられる値を対話的に取得すること又はその両方により)特定し、(3)特定された属性値に依存する特権ルールを識別し得る。関係する特権ルールを識別するためのこのプロセスの態様は、
図6A~8Dを参照することを含め、本明細書の中で説明される。
【0052】
幾つかの態様によれば、データ処理システムは、関係する特権ルールを識別するための上述したプロセスを実行するために使用され得る特権ルールの内部表現を生成し得る。例えば、特権ルールの内部表現は、(1)1つ以上の特権ルールによって使用される値を有するデータエンティティの属性を識別するため、及び(2)特定された属性値に基づく特権ルールを識別するための両方に使用され得る。
【0053】
幾つかの態様によれば、内部表現は、特権ルールツリーを表す何れかの適当なデータ構造を使用して実装され得る。幾つかの実施形態では、特権ルールツリーは、
図6Bを参照することを含め、本明細書で説明されるように、特権ルールを表すルールチェーンが生成され得る。幾つかの実施形態では、特権ルールツリーは条件ノードを含み得、これらは、1つ以上の特権ルールによって使用される値を有するデータエンティティの属性を識別するために使用され得る。幾つかの実施形態では、特権ルールツリーは、属性値(例えば、データ処理システム内で検索され、且つ/又はユーザによって指定された値)に基づいてフィルタリングされ、データエンティティに適用可能な1つ以上の特権ルールが識別され得る。
【0054】
本明細書で説明される幾つかの実施形態は、データ処理システムによって管理されるデータエンティティに関する特権を管理するための従来の技術について本発明者らが認識した前述の問題の全てに対処する。しかしながら、本明細書で説明される全ての実施形態がこれらの問題の全てに対処するわけではなく、幾つかの実施形態は、それらの何れにも対処しない場合がある。そのため、本明細書で説明される技術の実施形態は、データ処理システムによって管理されるデータエンティティに関する特権を管理するための従来の技術に関する前述の問題の全部又は何れかに対処することに限定されないことを理解すべきである。
【0055】
したがって、幾つかの実施形態は、データエンティティのインスタンス内にデータ処理システムによって記憶されたデータへのアクセス特権(例えば、作成、読み取り、更新、削除特権)を管理する方法を提供し、この方法は、(1)第1のアクターに対して、データエンティティの第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する特権を許可及び/又は拒否するための複数のルールを取得することであって、第1のデータエンティティは、属性を含む、取得することと、(2)第1のデータエンティティの属性の中から、第1の属性であって、その値が複数のルールの1つ以上によって使用される、第1の属性を識別することと、(3)ユーザ又は少なくとも1つのデータストアから第1の属性の第1の値を取得することと、(4)第1の属性の第1の値を使用して、且つ特権を許可及び/又は拒否するための複数のルールの中から、第1の属性の第1の値に依存する第1のルールを識別することと、(5)複数のルールの少なくとも幾つかの視覚的レンダリングを含むグラフィカルユーザインタフェース(GUI)を生成することであって、視覚的レンダリングは、第1の属性の第1の値を使用して特定された特権を許可及び/又は拒否するための第1のルールを強調する、生成することと、(6)生成されたGUIをユーザに表示することとを含む。
【0056】
幾つかの実施形態では、データエンティティの第1の属性の第1の値はデータストアから取得され得る(例えば、「エバリュエータ」モードの技術を使用する場合)。
【0057】
幾つかの実施形態では、データエンティティの第1の属性の第1の値はユーザによって指定され得る(例えば、「シミュレータ」モードの技術を使用する場合)。ユーザは、GUIを通して値を指定し得る。したがって、幾つかのこのような実施形態では、GUIは、(1)第1のデータエンティティの属性の少なくとも1つの値を指定するための少なくとも1つのGUI要素(例えば、ドロップダウンメニュー、ラジオボタン、チェックボックス等)を含む第1の部分と、(2)複数のルールの視覚的レンダリングを含む第2の部分とを含み得る。視覚的レンダリングは、ユーザが第1の属性のための異なる値を指定したことに応答して更新され得る。この例は本明細書において提供される。
【0058】
幾つかの実施形態では、方法は、第1の属性の第2の値を取得することと、第1の属性の第2の値を使用して、且つ特権を許可及び/又は拒否するための複数のルールの中から、第1の属性の第2の値に依存する第2のルールを識別することと、第1の属性の第2の値を使用して識別された特権を許可及び/又は拒否するための第2のルールを強調するための視覚的レンダリングを更新することをさらに含む。
【0059】
幾つかの実施形態では、複数の属性は、第2の値のセット内の値を取ることができる第2の属性を含み、方法は、第1の属性の第1の値を取得することに応答して、第1の値に基づいて、第2の属性のための第2の値のセットのサブセットを識別することと、ユーザが、第2の値のセットのサブセットの中からのみ第2の属性のための値を選択できるようにGUIの第1の部分を更新することをさらに含む。
【0060】
幾つかの実施形態では、視覚的レンダリングを生成することは、複数のルールの少なくとも幾つかを表すテキストを生成することを含み、テキストは第1の属性の第1の値を使用して識別された特権を許可及び/又は拒否するための第1のルールを表す。幾つかの実施形態では、視覚的レンダリングを生成することは、視覚的レンダリングにおいて、第1のルールを表すテキストの少なくとも幾つかの強調表示、下線及び/又はフォント特徴の変更により、第1のルールを表すテキストを強調することを含む。幾つかの実施形態では、視覚的レンダリングを生成することは、視覚的レンダリングから、第1のルールと異なる1つ以上のルールに対応する少なくとも幾つかのテキストを取り除くことを含む。
【0061】
幾つかの実施形態では、ユーザがデータエンティティ属性の値を入力できるようにするために生成されたGUIは、データエンティティの1つ以上のインスタンスへのアクセス特権を制御するための1つ以上のルールによって使用される値を有するデータエンティティ属性のみを含む。したがって、幾つかの実施形態において、複数のルールの1つ以上のルールによって使用される値を有する第1の属性を識別することは、複数のルールの少なくとも幾つかからルールチェーンを生成することと、ルールチェーンからルールツリーを生成することと、ルールツリー内の1つ以上の条件ノードに関連付けられる1つ以上の属性を識別することであって、1つ以上の属性は、第1の属性を含む、識別することと、1つ以上の条件ノードに関連付けられた識別された1つ以上の属性の各々について、ユーザが、第1の属性の値を示す入力を提供することを可能にするようにGUI内のそれぞれのGUI要素を生成することを含む。
【0062】
幾つかの実施形態において、少なくとも1つのデータストアは、データエンティティ間の関係を指定するメタデータをさらに記憶し、データエンティティは、1つ以上の階層に組織化され、メタデータは、1つ以上の階層を指定し、第1の属性の第1の値は、1つ以上の階層のうち、第1のデータエンティティが属する第1の階層を示す。幾つかの実施形態では、第1の属性の第1の値は、第1のデータエンティティの少なくとも1つの分類を示す。
【0063】
幾つかの実施形態において、データ処理システムによって管理されるデータエンティティは、データ及び1つ以上の属性を含み得、その各々は1価又は多価であり得る。一般に、データエンティティはデータを表すと考えられ得、データエンティティはフィールド及び/又は属性を含み、データエンティティ内のデータはデータエンティティのフィールド又は属性の中に記憶され得る。データエンティティ内のデータは、例えばテキスト、データレコード、1つ以上の英数値及び/又は他のデータエンティティの1つ以上の参照等の内容を含み得る。例えば、データエンティティの属性の値は、別のデータエンティティの参照(例えば又はポインタ若しくは別のあらゆる適当な参照)であり得る。例として、データエンティティはトランザクションを表し得る。別の例として、データエンティティはファイルを表し得る。別の例として、データエンティティは文書を表し得る。この例では、データエンティティ内のデータは文書内のテキストを含み得る。別の例として、データエンティティは解決すべき問題(例えば、データエラー、パスワードリセットのリクエスト、購入注文書、インボイス又は他の文書の問題)を表し得る。この例では、データエンティティ内のデータは問題を説明するテキストを含み得る。しかしながら、本明細書で説明される技術は、特定の種類のデータエンティティ又はデータエンティティによって表される情報の認知コンテンツに限定されないことが理解されるであろう。代わりに、この技術は、新規及び既存のルールを、適切なユーザ入力を促し、データ処理システムと対話すするような方法で処理し、そうでなければ発生し得るあらゆる考え得る技術的異常を減少させることができる技術的特徴に関する。
【0064】
幾つかの実施形態では、データエンティティは、1つ又は複数の属性を有し得る。属性値は、データエンティティに関する情報を提供し得る。この理由から、属性値はデータエンティティに関するメタデータ及び/又はデータタグと考えられ得る。一例として、データエンティティはその名称及び/又は他の識別子を示す属性を有し得る。別の例として、データエンティティはデータエンティティの意味を指定する定義属性を有し得る。別の例として、データエンティティはデータエンティティの1つ以上の階層の一部であり得、そのデータエンティティが属する1つ以上の階層を示す属性を有し得る。別の例として、データエンティティは、1つ以上の分類を有し得、これには例えば、限定ではなく、そのデータエンティティが属する1つ以上のカバナンスグループのリストを指定し得るガバナンスグループ分類属性、データエンティティ内のデータの機密レベルを示し得る機密分類属性(例えば、「社内用」、「公開用」、「機密」、「極秘」)並びにデータエンティティのインスタンス内のデータの不正な使用、アクセス及び/又は変更に起因する危害レベル(例えば、「レベル1」、「レベル2」等)を示す個人情報(「PII」)分類属性が踏まれる。別の例として、データエンティティは、データエンティティのインスタンスに1つ以上のアクション(例えば、作成、読み取り、アクセス、更新、削除)を実行する権限を得た1人以上のアクターを指定する属性を有し得る。別の例として、データエンティティは、データエンティティに関連付けられる別の値のための有効な値を(範囲、リストにより)示す属性を有し得る。別の例として、データエンティティはそのデータエンティティに関するワークフロータスクのセットを指定する属性(例えば、ワークフロー属性)を有し得、タスクセット内の各タスクは、データ処理システムにより、自動的に又は1つ以上のアクターによって提供される入力に応答して実行される。幾つかの実施形態では、ワークフロー属性はデータエンティティの属性の値を変更するためのワークフローを指定し得る。このようなワークフロー内のタスクとしては、属性値に提案された変更を行うこと、提案され変更を検討のために提出すること、提案された変更を検討すること及び提案された変更を承認又は拒否することが含まれ得る。1人以上のアクターがワークフロータスクを実行し得、その結果、ワークフロー状態、開始状態、ドラフト状態、承認保留状態、公開済み状態及び破棄状態が異なることになる。属性及び階層のこれらの例は例示のためであって、非限定的であり、何れの例も別の例の1つ以上と組み合わせられ得る。属性及び階層の他の例は、本明細書において提供され、またその全体が参照により本明細書に組み込まれる「Finite State Machines for Implementing Workflows for Data Objects Managed by a Data Processing System」という名称の米国特許出願公開第2020/0234242号明細書において記載されている。
【0065】
幾つかの実施形態では、ルールはデータエンティティに関するデータアクセス特権を規定し得(例えば、特権を許可及び/又は拒否する)、データエンティティのインスタンス内に記憶されたデータ及び/又はデータエンティティの特定の属性を誰が作成し、読み取り、更新し、削除する(CRUD)ことができるかを制御する特権ルールを含み得る。データエンティティは、何れかのレベルで指定された様々な責任者ごとに階層的に組織化され得る。ある責任者は特別なデータアクセス特権を有し得、また別の責任者はデータへの限定されたアクセスを有し得る。
【0066】
本明細書に記載される技法が多くの方法の何れかで実施され得、本技法がいかなる特定の実施様式にも限定されないことが理解されるべきである。実施の詳細の例は、例示的なのみを目的として本明細書に提供される。さらに、本明細書に開示される技法は、個々に又は任意の適した組合せで使用され得、本明細書に記載される技術の態様は、いかなる特定の技法又は技法の組合せの仕様にも限定されない。
【0067】
上述したように、本発明者らは、データ処理システムが、数百万又は数十億ものデータエンティティ及びそのインスタンスを管理するように構成可能なことを認識した。例えば、本明細書に記載の技法は、企業設定でのメタデータ管理に使用することができ、それにより、データエンティティインスタンスは、多くのデータベース、データウェアハウス、データレイク等を含む大域的に分散した企業システムにわたって記憶された個々のデータセット(例えばテーブル、トランザクション、ドキュメント、データレコード等)についての情報を記憶する。上述したように、これに関して、データエンティティインスタンスは、例えば、データセットがいつ作成されたか、それがどこに記憶されているか、そのサイズ、データセットの編集が許可されているユーザの識別情報、何れのアプリケーションプログラムがデータセットを使用するかを識別する情報、データの機密レベルを識別情報等の対応するデータセットについての情報を記憶し得る。大きい組織(例えば、銀行又はクレジットカード会社等の金融機関、電話会社又は電気会社等の公益事業体等)は典型的には、数百万又は数十億ものそのようなデータセットを管理するため、データ処理システムによって管理されるそのようなデータセットについての情報を記憶する数百万又は数十億ものデータエンティティインスタンスが存在し得る。
【0068】
図1Aは、本明細書で説明される技術の幾つかの態様による、データ処理システム105を使用することができる例示的な環境を示す図である。
図1Aの例は、メタデータ管理のためにデータ処理システム105が使用される実装形態である。本明細書で説明される技法は、特定のタイプのデータへの適用に限定されず、管理データがメタデータであるか又は他の任意のタイプのデータ(例えば、トランザクション、ファイル、データ記録、表など)であるかにかかわらずデータを管理するためにデータエンティティ及びデータエンティティインスタンスを使用する任意のデータ処理システム内で使用できることが理解されるべきである。
【0069】
図1Aは、複数の地理的場所(例えば異なる都市、国、大陸等)にわたり分散したシステム160、162、164を含む企業システムを示す。システム160、162、164の各々は、膨大な量のデータを(例えば1つ又は複数のデータベースシステム、データウェアハウス、データレイク等に)記憶し得る。例えば、システム160、162、164はグローバル銀行の企業システムの構成要素であり得、システム160は米国にあり、システム162はブラジルにあり、システム164は欧州にある。
【0070】
図1Aの実施形態例に示されるように、システム160、162、164の各々は各組の計算デバイスを含む。システム160はサーバ160A及びデータベース160Bを含む。システム162はサーバ162A及びデータベース162Bを含む。システム164はサーバ164A及びデータベース164Bを含む。企業システムの動作中、システム160、162、164の各々は、大量のデータ(例えば数テラバイトのデータ)を生成及び/又は記憶し得る。例えば、企業システムはクレジットカード会社のシステムであり得、システム160、162、164の各々はトランザクションデータ、クレジットスコア及び/又は任意の他の適したデータを生成及び/又は記憶する。別の例では、企業システムは銀行のシステムであり得、システム160、162、164の各々は銀行記録、ローン、口座保有者及び/又は任意の他の適したデータを生成及び/又は記憶する。別の例では、企業システムは電話会社のシステムであり得、システム160、162、164の各々は電話呼、テキストメッセージ、データ使用及び/又は任意の他の適したデータを生成及び/又は記憶する。
【0071】
幾つかの実施形態では、データベースシステム160B、162B、164Bはデータ(例えば企業システムの)を記憶するように構成し得る。データベースシステム160B、162B、164Bの各々は、データベース、データウェアハウス、データレイク及び/又は任意の他のデータベースシステムを含み得る。データベースシステム160B、162B、164Bは、同じタイプ又は異なるタイプの何れかの任意の適したタイプであり得る。例えば、これらのシステムの各々は1つ又は複数の関係データベースシステム(例えばORACLE、SQL SERVER等)を含み得る。別の例として、幾つかの実施形態では、これらのシステムの各々は1つ又は複数の他のタイプのデータベースシステム(例えば、非関係(例えば、NoSQL)データベースシステム、マルチファイルシステム又は任意の他の適したタイプのデータベースシステム)を含み得る。
【0072】
図1Aの実施形態例では、データ処理システム105は、システム160、162、164に記憶されたデータを記述する情報144を記憶する。この意味で、情報144は、メタデータと見なすことができる。メタデータは、企業システム160、162、164に記憶されたデータについての多くのタイプの情報の何れかを含み得る。例えば、メタデータは、データを処理するシステム(例えばサーバ160A、162A、164A)、データ処理に使用される、企業システムで実行されているソフトウェアアプリケーション及び/又はデータの記憶におけるアプリケーションのルールについての情報を含み得る。別の例では、メタデータは、データがどのように生成されたか、データのサイズ、データの記述、何れのユーザが読み取り、更新、作成、削除又はデータに対する任意の他の動作を実行する許可を有するか、及び/又はデータについての任意の他の適した情報等の企業ソフトウェアシステム全体を通してのデータについての情報を含み得る。
【0073】
幾つかの実施形態では、データ処理システムは、データエンティティインスタンス及びデータエンティティ定義を使用してメタデータを管理するように構成され得る。例えば、データ処理システム105によって記憶された情報144は、企業システムによって記憶された複数のデータセット(例えばテーブル)の各々のデータエンティティインスタンスを含み得る。そのような各データエンティティインスタンスは、データセットについての情報(例えば、データセットがいつ作成又は更新されたか、データセットが記憶された場所、データセットのサイズ、データセットに対して読み取り、編集、削除又は任意の他の適した動作の実行が許可されているユーザの識別情報、何れのソフトウェアアプリケーションがデータセットを使用するかを識別する情報、データセット中のデータの機密レベルを識別する情報及び/又は任意の他の適したメタデータ)を記憶し得る。別の例として、データ処理システム105によって記憶された情報144は、企業システム内のテーブルの各列のデータエンティティインスタンスを含み得る。そのような各データエンティティは、列についての情報(例えば、列の値の意味、列中の値の読み出し、書き込み、更新及び/又は削除を行う権限を誰が有するか、列中のエントリの許容されている値の範囲及び/又は任意の他の適したメタデータ)を記憶し得る。さらに別の例として、データ処理システム105によって記憶された情報144は、企業システムの何らかのシステム部分又はデバイス部分によって実行されるように構成される複数のソフトウェアアプリケーションの各々のデータエンティティインスタンスを含み得る。そのようなデータエンティティインスタンスはソフトウェアアプリケーションについての情報(例えば、ソフトウェアアプリケーションが何れのデータセットを処理するか、アプリケーションがその出力をどこに置くか、アプリケーション機能の説明、アプリケーションのバージョン、データ及び/又は他のアプリケーションへのそのアプリケーションの従属性、アプリケーションの実行可能ファイルがどこで見つけられるか、及び/又は任意の他の適したメタデータ)を記憶し得る。さらに別の例として、データ処理システム105によって記憶された情報144は、企業システムの複数のシステム部分の各々のデータエンティティインスタンスを含み得る。
【0074】
上記から容易に理解することができるように、そのようなメタデータ管理シナリオでは、データ処理システム105は数百万又は数十億ものそのようなデータエンティティインスタンスを管理し得、これは、データエンティティインスタンスに対する問い合わせ、作成、更新、削除又は任意の他の適した動作の実行が可能な限り効率的に実行されることが重要なことの理由である。
【0075】
幾つかの実施形態では、データ処理システム105は、様々なシステム160、162、164からのデータについての情報144を得るように構成することができる。例えば、データ処理システム105は、様々なシステム160、162、164のメタデータに関して、データベース160B、162B、164Bに対してクエリを行うことができる。幾つかの実施形態では、データ処理システム105は、システム160、162、164から得られた情報を使用して(例えば、メタデータに関してデータベースシステム160B、162B、164Bに対してクエリを行うことによって)、メタデータを生成するように構成することができる。幾つかの実施形態では、データ処理システム105は、システム160、162、164に記憶されたデータについてのメタデータを記憶するように構成することができる。例えば、システム160、162、164の各々は、データレイク、データウェアハウス、データベースシステム又は他のタイプのシステムであり得る。メタデータは、本明細書で説明されるように、データエンティティのインスタンスに記憶することができる。
【0076】
図1Aに示されるように、1人又は複数のユーザ102、104、106は、データ処理システム105と対話することにより、企業システムのデータについての情報107にアクセスすることができる。ユーザ102、104、106は、データ処理システム105によって提供される1つ又は複数のインタフェース(例えば、ユーザインタフェース)を通して、1つ又は複数のコンピューティングデバイスを使用して、データ処理システム105と対話することができる。管理者104などのユーザ102がデータ処理システム105と対話できるようにするための例示的なインタフェースについては、本明細書では、
図1G~1H、
図3A~3C、
図4A~4D、
図11A~11E及び
図12A~12Eを参照して説明する。
【0077】
図1Bは、本明細書で説明される技術の幾つかの態様による、
図1Aのデータ処理システム105の例示的な実装形態を示す図である。
図1Bに示されるように、データ処理システム105はインタフェース110、特権管理システム130及びデータ永続層150を含む。
【0078】
インタフェース110は、ユーザインタフェースを含むように構成され得、それを通して、ユーザ102、104、106は、データ処理システム105からの情報にアクセスし得る(例えば、コンピューティングデバイスを使用する)。インタフェース110はグラフィカルユーザインタフェース(GUI)を生成するように構成され得、それを通して、ユーザは、システム160、162、164に記憶されたデータに関する情報144からのデータにアクセスし得る。GUIにより、ユーザは、(1)データ処理システムによって記憶されたデータエンティティインスタンスに関する情報を要求し、(2)データ処理システムによって記憶されたデータエンティティインスタンスに関する情報を閲覧し、(3)データ処理システムの内部状態と、特定のアクター、データエンティティ及び/又はデータエンティティインスタンスに何れの特権ルールが適用されるかを理解するために特権ルールを視覚化し、(4)特権ルールを作り、テストし、且つ/又はデバッギングすることができる。
【0079】
幾つかの実施形態によると、GUIにより、ユーザは、システム160、162、164によって記憶されたデータについての記憶された情報144(例えば、メタデータ)にアクセスすることができる。例えば、GUIにより、ユーザ102、104、106は、企業システムにおいて生成されているデータ(例えば、データの品質測定基準及び他の特性)を追跡することができる。別の例では、GUIにより、ユーザ102、104、106は、入力データ、入力データにおいて実行されるプロセスの記述及び出力データを含む、プロセスフローのコンポーネントについて記載する情報を視覚化することができる。別の例では、インタフェース110は、データ処理システム105による実行のためにスクリプトを受信できるようにするためのスクリプティングインタフェースを含み得る。別の例では、インタフェース110は、グラフベースのコンピュータプログラム116、第三者アプリケーション及び/又は他のインタフェースを含み得る。
【0080】
メタデータ管理に関して、幾つかの実施形態では、インタフェース110は、ユーザがシステム160、162、164に記憶されたデータについての情報144からのデータにアクセスできるようにするグラフィカルユーザインタフェース(GUI)を生成するように構成し得る。GUIは、ユーザが、(1)データ処理システムによって記憶されているデータエンティティインスタンスについての情報の要求及び(2)データ処理システムによって記憶されているデータエンティティインスタンスについての情報の表示を行えるようにする。幾つかの実施形態では、GUIは、ユーザが、システム160、162、164によって記憶されているデータについての記憶された情報144(例えばメタデータ)にアクセスできるようにし得る。例えば、GUIは、ユーザ102、104が、企業ソフトウェアシステムで生成中のデータを追跡できるようにし得る(例えば品質尺度及びデータの他の特性)。別の例では、GUIは、ユーザ102、104が系統情報を可視化できるようにし得る。系統情報は、異なるデータエンティティインスタンス間の関係についての情報を含み得る。系統情報の態様は、「SYSTEM AND METHODS FOR DETERMINING RELATIONSHIPS AMONG DATA ELEMENTS」という名称の米国特許第10,489,384号明細書に記載されており、これは、全体的に参照により本明細書に援用される。
【0081】
特権管理システム(PMS)130は、データ処理システム105により(例えば、データエンティティのインスタンス144の中に)記憶されたデータへのアクセス特権(例えば、作成、読み取り、書き込み及び/又は更新特権)を管理することに関する様々な機能を実行するように構成され得る。データ処理システム105は、数千、数百万、数十億、さらに数兆ものデータエンティティインスタンスを管理するように構成され得る。すると、PMS 130は、必要に応じて何れの適当な数のデータエンティティインスタンスに関するアクセス特権も管理するように構成され得る。PMS 130は、ユーザ102、104、106の1人以上のためのデータエンティティのインスタンスへのアクセス特権を管理するように構成され得る。PMS 130は、ユーザ102、104、106の中の特定のユーザについて、そのユーザがデータ処理システム105によって管理されるデータエンティティのインスタンスに作成、読み取り、書き込み及び/又は更新アクションを実施する特権を有するか否かを制御するように構成された特権制御モジュール115を含み得る。
【0082】
データ永続層150は、データエンティティ及びそのインスタンスについての情報を記憶するように構成することができる。情報は、データエンティティ、データエンティティのインスタンス並びにデータエンティティの間及びそのインスタンス間の関係を定義する情報を含み得る。データ永続層150は、システム(例えば、企業システム)の全てのメタデータに対する中央リポジトリを提供することができる。例えば、データ永続層150は、データエンティティインスタンス144の形態でデータベース160B、162B、164Bに記憶されたデータについての情報を記憶することができる。例えば、データベース160B、162B、164Bの各々は、データレイク、データウェアハウス、データベースシステム又は他のタイプのデータストアであり得る。データ永続層150は、データエンティティインスタンス144の少なくとも幾つかへのアクセス特権を制御するためのルール146を記憶するように構成され得る。
【0083】
図1Cに示される表166は、データベース164Bなどのデータベースに記憶された例示的なデータを示す。表166は、顧客(例えば、銀行の)についての情報のセットを記憶する。表166の列は、「識別子」、「名前」、「クレジットスコア」及び「スコア取得日」を含む。データ永続層150は、表166のデータについてのメタデータを記憶する「データセット」データエンティティインスタンス156を記憶する。データエンティティインスタンス156は、データエンティティインスタンス156の「タイプ」、「ビジネスマネージャ」、「エントリ数」、「プライベート」、「ストレージサイズ」及び「データID」を含む属性の値を記憶する。幾つかの実施形態では、「データセット」データエンティティインスタンス156は、
図1Cに示されるものに加えて又はその代わりに、他の属性の値を記憶することができる。
【0084】
データエンティティインスタンスがデータについてのメタデータ(例えばテーブルについての情報)を含む用途では、データエンティティインスタンスは、データの識別及び/又はアクセスに使用することができる情報を含み得る。
図1Cの例に示されるように、「データID」属性は、「データセット」データエンティティインスタンス156内の情報が記述するデータ(例えばテーブル)を識別する。例えば、「データID」の値は、テーブル166の識別子であり得る。幾つかの実施形態では、「データID」の値は、ユーザをテーブル166にナビゲートできるようにし得る。例えば、「データID」の値は、データベース164B内のテーブル166にナビゲートするハイパーリンクであり得る。幾つかの実施形態では、データエンティティインスタンスは、データについての情報をそれ自体には記憶しないが、データ処理システムは、データエンティティインスタンスを、データ自体の識別及び/又はアクセスに使用することができる情報と関連付ける情報を記憶し得る。例えば、データ処理システムは、そのような情報を1つ若しくは複数のテーブル(例えばデータ永続層150内)に又は任意の適した方法で記憶し得る。
【0085】
図1Cの例に示されるように、データ永続層150は「クレジットスコア」データエンティティインスタンス158をさらに記憶する。「クレジットスコア」データエンティティインスタンス158は、「BizTerm」データエンティティのインスタンスであり得る。「クレジットスコア」データエンティティインスタンス158は、属性「タイプ」、「説明」、「ビジネスオーナー」、「有効下限」、「有効上限」、「プライベート」及び「データID」の値を含む。「データID」属性とテーブル166の「クレジットスコア」列との間の矢印で示されるように、「クレジットスコア」データエンティティインスタンス158は、テーブル166の「クレジットスコア」列中のデータを説明する。
図1Cの例に示されるように、「データID」属性は、「クレジットスコア」データエンティティインスタンス158中の情報が説明するデータを示す。例えば、「データID」の値は、テーブル166内の「クレジットスコア」列の識別子であり得る。幾つかの実施形態では、「データID」の値は、ユーザがテーブル166の「クレジットスコア」列にナビゲートできるようにし得る。例えば、「データID」の値は、「クレジットスコア」列からの情報をユーザに提供するハイパーリンクであり得る。
【0086】
データエンティティインスタンス158は、データエンティティ「BizTerm」のそれぞれの属性のための値を有する。例えば、データエンティティインスタンス158は、「タイプ」属性に対する「ビジネス用語」という値、「ビジネスオーナー」属性に対する「Bob Owen」という値、「有効上限」属性に対する「800」という値及び「有効下限」属性に対する「300」という値並びに「プライベート」属性に対する「イエス」という値を有する。点線で示されているように、データエンティティインスタンス158は
図1Cに示されていない他の属性に対する値を有し得る。
【0087】
図1Cの例に示されているように、データ永続層150は特権ルール162を記憶する。特権ルール162は、「クレジットスコア」データエンティティインスタンス158へのアクセス権を制御する。「クレジットスコア」のデータエンティティインスタンス158は、「BizTerm」データのインスタンスであり得、特権ルール162は「BizTerm」データエンティティによって指定される1つ以上の属性の値に依存し得る。例えば、特権ルール162はデータエンティティインスタンス158内の「プライベート」属性に対する値に依存する。特権ルール162は、データエンティティインスタンス158へのアクセス特権(例えば、作成し、読み取り、更新し、且つ/又は削除する)を要求するアクターの属性にも依存し得る。アクターの属性には、企業内のアクターの役割、アクターが属するグループ及び/又は他の属性が含まれ得る。
【0088】
特権ルール162は、データエンティティインスタンス158に少なくとも1つのアクション(例えば、「更新」アクション)を実行するためのアクセス特権が少なくとも1人のアクター(例えば、アクターA)に対して許可及び/又は拒否される条件を示す。例えば、特権ルール162は、「プライベート」属性の値が「イエス」で、アクターAが「エグゼクティブ」の役割を有する場合、アクターAにはデータエンティティインスタンス158に「更新」アクションを実施するアクセス特権が許可されることを示す。
【0089】
特権制御モジュール115は、アクセス特権ルール146を使用して1つ以上のアクターに対するアクセスを許可又は拒否するように構成され得る。本明細書で説明されるように、データエンティティインスタンスへのアクセス特権を制御するための1つ以上のアクセス特権ルール146は、データエンティティ(及び/又はデータエンティティに関する他のデータエンティティ)によって指定される属性の値に依存し得る。特権制御モジュール115は、(例えばデータ永続層150内のデータエンティティインスタンス144から)任意のこのような属性値にアクセスし、アクセスした値を使用してルールを評価するように構成され得る。
【0090】
図1D及び1Eは、特権制御モジュール115が、特権ルール162を使用して、データエンティティインスタンス158へのアクセスを要求するアクターにそのデータエンティティインスタンスへのアクセスを許可するか、拒否するかを特定するシナリオを示している。特権ルール162は、データエンティティインスタンス内の「プライベート」属性の値と、アクセスを要求するアクターの役割に依存し得る。特権ルール162は、アクセスを要求するアクターにアクセスを許可又は拒否するための1つ以上の条件を指定する。特に、特権ルール162は、(例えば、データエンティティインスタンスに特定のアクションを実施するために)データエンティティインスタンスへのアクセスを要求するアクターに、データエンティティインスタンス内の「プライベート」属性の値が「イエス」であり、アクセスを要求するアクターが「エグゼクティブ」の役割を有する場合、そのようなアクセスが許可されることを示す。
【0091】
図1Dに示されているように、「エグゼクティブ」の役割を有するアクター102がデータエンティティインスタンス158へのアクセスを要求すると、特権制御モジュール115は、特権ルール162によって指定された条件が満たされるため、アクター102にアクセスを許可する。他方で、
図1Eにより示されるように、「インポータ」の役割を有するアクター106がデータエンティティインスタンス158へのアクセスを要求すると、特権制御モジュール115は、特権ルール162によって指定される条件が満たされないため、アクター106に対してアクセスを拒否する。
【0092】
図1Fは、データ処理システム105のデータ永続層150に記憶された例示的なデータを示す図である。
図1Fの例に示されるように、データ永続層150は、
図1Aの企業システムの各構成要素についての情報(例えば、データセット、ソフトウェアアプリケーション、企業システムのシステム構成要素又は任意の他の構成要素)を記憶する多数(例えば数千、数百万、数十億)のデータエンティティインスタンス144を記憶し得る。構成要素は、データセット、アプリケーション(例えば1つ又は複数のコンピュータプログラム)、システム(例えばデータベースシステム)及び/又は企業システムの他の構成要素であり得る。例えば、データエンティティインスタンスは、企業システムのデータ(例えばテーブル)についての情報を記憶し得る。別の例では、データエンティティインスタンスは、企業システムのアプリケーションについての情報を記憶し得る。さらに別の例では、データエンティティインスタンスは企業システムのユーザについての情報を記憶し得る。
図1Fに示されるように、データ永続層150は、
図1Cを参照して本明細書で説明されるデータエンティティインスタンス156、158を記憶する。
【0093】
データ永続層150は、数十、数百、数千又は数万ものデータエンティティをサポートするように構成することができる。また、企業システム環境では、データ永続層150は、数千、数百万又は数十億ものデータエンティティインスタンス144を記憶するように構成することができる。例えば、データ永続層150は、少なくとも10,000のデータエンティティインスタンス、少なくとも50,000のデータエンティティインスタンス、少なくとも100,000のデータエンティティインスタンス、少なくとも500,000のデータエンティティインスタンス、少なくとも1,000,000のデータエンティティインスタンス、少なくとも500万のデータエンティティインスタンス、少なくとも1000万のデータエンティティインスタンス、少なくとも5000万のデータエンティティインスタンス、少なくとも1億のデータエンティティインスタンス、少なくとも5億のデータエンティティインスタンス、少なくとも10億のデータエンティティインスタンス、少なくとも50億のデータエンティティインスタンス、100,000~500万のデータエンティティインスタンス、100万~5億のデータエンティティインスタンス、100万~50億又はこれらの範囲内の他の任意の範囲のデータエンティティインスタンスを記憶することができる。
【0094】
データ永続層150は、1つ以上のデータエンティティインスタンス144へのアクセスを制御するための多数の(例えば、数百、数千の)特権ルール146を記憶し得る。特権ルールは、データ処理システムの内部状態、例えばデータエンティティインスタンス144内に記憶された情報等(例えば、データエンティティインスタンス内の属性値)と、データエンティティインスタンスへのアクセスを要求し得る企業内のアクターに関する情報(例えば、役割、それらが属するグループ等)に依存し得る。このような依存性により、特権ルール146が実際にどのように適用されるか、又はこれらのルールをどのように作成、デバッギング及び/又は編集するかに関する決定を下す際の難しさが増大する。
【0095】
特権管理システム130は、適用可能であり得る多くのルールの中から関係する特権ルールを自動的に識別するだけでなく、グラフィカルユーザインタフェースを生成して、何れかの関係する変数に基づいて、識別された特権ルールにより制御されるあるアクター及びデータエンティティインスタンス144について、データ処理システムの内部状態及びCRUD動作モードの直感的な視覚化を提供するように構成され得る。このグラフィカルユーザインタフェースにより、これらのルールが依存する変数の値(例えば、データ処理システムに記憶される値)に基づいて、これらのルールが実際にどのように適用されるかを効率的に評価できる。追加的に、グラフィカルユーザインタフェースは、データエンティティ/データエンティティインスタンスに関連付けられる1つ又は複数の変数の値に関する様々な提案をユーザに提供することにより、ルールを作成及び/又は編集するプロセスを通してユーザを導く。したがって、これらの視覚化により、データ処理システムのユーザは、効率的に、データ処理システムの動作中にランタイム及び/又は特権エラーを生じることなく、ルールを作成、テスト及びデバッギングすることができる。
【0096】
図1Fの例に示されるように、データ永続層150によって記憶されたデータは、デバイス上でユーザ102、104、106に提供されるグラフィカルユーザインタフェース(GUI)において視覚化を提供するために使用することができる。データ処理システム105のインタフェース110は、データ処理システム105によって記憶されるデータエンティティインスタンス及びルールについての情報を提供するように構成することができる。例えば、ユーザは、データエンティティ及び/又はデータエンティティのインスタンスの1つ又は複数の属性の値にアクセスすることを望み得る。別の例では、ユーザはデータエンティティの複数のデータエンティティ及び/又はインスタンスの複数の属性にアクセスすることを望み得る。また別の例では、ユーザは、特定のデータエンティティに関するルールを評価して、そのデータエンティティのデータエンティティ及び/又はインスタンスについて、特定の特権が許可されるか又は許可されない理由を理解することを望み得る。別の例では、ユーザは、系統情報を閲覧することを望み得る。系統情報は、異なるデータエンティティインスタンス間の関係についての情報を含み得る。系統情報の態様については、その全体が参照により本明細書に組み込まれる「SYSTEMS AND METHODS FOR DETERMINING RELATIONSHIPS AMONG DATA ELEMENTS」という名称の米国特許第10489384号明細書において説明されている。
【0097】
図1Gは、特定の役割(例えば、エグゼクティブの役割)を有するアクター102がデータ処理システム105内の(例えば、データエンティティの1つ以上のインスタンス内の)データにアクセスできないようにされるシナリオを示す図を描いている。例えば、アクター102は、「クレジットスコア」というデータエンティティインスタンス158に「更新」アクションを実施できないようにされる。このシナリオでは、アクター102は、管理者104に連絡し、アクセスが拒否された理由について質問し得る。データ処理システム105は、データエンティティに関するデータアクセス特権を制御する(例えば、アクターに対して特権を許可及び/又は拒否する)ように構成され得る特権管理システム130を含み得る。前述したように、データアクセス特権を制御するための多数のルール146がデータ処理システム105内に存在し得、これらの特権ルールの各々の適用可能性は、アクターに関連付けられる情報(例えば企業の中でのアクターの役割)及びデータエンティティインスタンス(例えば、データエンティティのインスタンスの属性値)に依存し得る。システム内の特権ルールの量、これらが記憶されるフォーマット(例えば、スプレッドシートのフォーマット)及び他の情報へのそれらの依存性により、管理者104はアクセスを要求するアクター102に適用される特権ルールとそれへのアクセスが要求されたデータの部分を識別することが非常に困難である。例えば、適用可能な特権ルールを識別するために、管理者104はシステム内のあらゆる特権ルールを(例えば、数百数千、数万のルールの中から)手作業で検査しなければならないであろう。この問題を複雑にしているのは、多くのルールについて、特権ルールが特定のデータ値エンティティに適用されるか否かの課題に対する回答がデータ処理システムの内部状態に依存していることであり、なぜなら、この回答は、そのデータエンティティの属性値に依存するからである。したがって、管理者104は、特定のルールがトリガされるか否かを判断するために、様々なデータエンティティインスタンスを通してデータエンティティの属性値を個別に参照しなければならない。
【0098】
図1H~1Iは、アクター102が「クレジットスコア」のデータエンティティインスタンス158に「更新」アクションを実施できないようにされる
図1Gのシナリオを示す図である。しかしながら、
図1H~1Iでは、データ処理システム105により、管理者104は、本明細書で説明される技術を使用して、適用可能であり得る多くのルールの中から関係する特権ルールを識別するために、アクセスを要求するアクター102に関するデータ処理システムの内部状態とCRUD動作モードの直感的な可視化を提供するグラフィカルユーザインタフェース(例えば、グラフィカルユーザインタフェース180)を利用することができる。
図1Hに示されるように、「クレジットスコア」のデータエンティティインスタンス158へのアクセスを制御するための関係する特権ルール188がデータ処理システム105により識別され、この識別されたルールの視覚化がグラフィカルユーザインタフェース180を介して管理者104に提示される。
【0099】
図1Hに示されるように、GUI 180は第1の部分182と第2の部分184を含む。第1の部分182は、「プライベート」属性の値を選択するためのGUI要素186を含む。ユーザは、「プライベート」属性のGUI要素186を介して表示された2つの値(イエス、ノー)からある値を選択し得る。GUI 180の第2の部分184は、「クレジットスコア」のデータエンティティインスタンスに少なくとも1つのアクション(例えば、「更新」アクション)を実行する特権を、アクセスを要求するアクターに対して許可及び/又は拒否するための特権ルール188の視覚的レンダリングを含む。特権ルール188は、「プライベート」属性の値に依存する。特権ルール188は、エグゼクティブの役割を有するアクターには、「プライベート」属性の値が「イエス」の場合、「クレジットスコア」のデータエンティティインスタンスに「更新」アクションを実施する特権が許可され得ることを示している。
【0100】
GUI要素186を介した「プライベート」属性の特定の値を選択することにより、
図1Iに示されるように、第2の部分184のルールの視覚的レンダリングが更新され得る。視覚的レンダリングは、「プライベート」属性の選択された値に依存する特権ルール188の視覚的レンダリングを強調することによって更新され得る。特権ルール188を表すテキストの少なくとも一部は、強調表示することによって協調され得る。特権ルール188に関係付けられる強調表示部分は、エグゼクティブの役割を有するアクターAに、「プライベート」属性の値が「イエス」である場合に(例えば、第1の部分182の中の「プライベート」属性に対して「イエス」を選択することにより示される)「クレジットスコア」のデータエンティティインスタンスに「更新」アクションを実施する特権が許可され得ることを示す。
【0101】
グラフィカルユーザインタフェース180と対話することにより、管理者104は、他に権限を受けたユーザ(例えば、エグゼクティブ)がデータ処理システム105によって管理されるデータエンティティのインスタンス内に記憶されたデータにアクセスできないような状況に対処するために、識別された何れのルールでも容易に評価できる。例えば、本明細書で説明される技術を使用して、管理者104は、
図1Gの「アクセス拒否」の状況を、このエグゼクティブに「クレジットスコア」のデータエンティティインスタンスに対して「更新」アクションを実施するためのアクセスが許可されるように是正することができる。
【0102】
図2は、本明細書で説明される技術の幾つかの態様による、例示的なデータ処理システム105及びデータ処理システム120の特権管理システム130の部分のブロック図である。
図2に示されるように、データ処理システム105は、特権管理システム(PMS)130とデータ永続層150を含む。すると、特権管理システム130は、他の構成要素のほかに、(1)ルール探索モジュール232、(2)GUI生成モジュール233、(3)特権制御モジュール115、(4)データエンティティモジュール235、及び(5)検索モジュール236を含む。データ永続層150は、データエンティティ242、そのデータエンティティ242に関係する(例えば、それに関連付けられる)メタデータ244、データエンティティ242のインスタンス144及びデータエンティティインスタンス144の少なくとも幾つかへのアクセス特権を制御するためのルール146へのアクセスを提供する。
【0103】
特権管理システム130は、データエンティティ242及び/又はデータエンティティのインスタンス144へのアクセス(例えば、作成、読み取り、書き込み及び/又は更新特権)を制御することに関する様々な機能を実行するように構成される。データ処理システム105は、幾つかの実施形態では、数千、数十万、数十億、さらに数兆ものデータエンティティを管理するように構成され得る。すると、PMS 130は、必要に応じてこれらのデータエンティティの何れの適当な数のインスタンスについてのアクセス特権でも管理するように構成され得る。PMS 130は、アクター102、104、106の1人以上に関するデータエンティティのインスタンスへのアクセス特権を制御するように構成され得る。例えば、PMS 130は、アクター102、104、106の中の特定のアクターについて、そのアクターがデータ処理システム105によって管理されるデータエンティティのインスタンスに作成、読み取り、書き込み及び/又は更新アクションを実施する特権を有するか否かを制御するように構成され得る。
【0104】
幾つかの態様によれば、ルール探索モジュール232により、管理者104等のユーザは、データ処理システム105によって管理されるデータエンティティへのアクセス特権を制御するためのルールを探索、作成及び/又は変更できる。このようなルールは、アクターがデータエンティティのインスタンスに特定のアクションを実施する特権を有するか否かを制御し得る。幾つかの実施形態において、ルール探索モジュール232は、特定のデータエンティティ(又は複数のエンティティ)について、その特定のデータエンティティ(又は複数のエンティティ)に関するアクセス特権の制御に関係のある1つ以上のルールを、データ処理システム120によって管理されるデータエンティティへのアクセス特権を制御するための多くのルール(例えば、ルール146)の中から識別するように構成され得る。識別されたルールはその後、GUI生成モジュール233に提供され得、これは、ユーザがルールを探査、作成及び/又は変更できる1つ以上のグラフィカルユーザインタフェースを生成し得る。このようなグラフィカルユーザインタフェースの例は、
図3A~3C、4A~4D及び5を含む本明細書で提供される。ユーザは、他の何れのユーザでもあり得、これは、例えば、データ処理システムの非技術的ユーザであることが理解されるであろう。
【0105】
幾つかの態様によれば、ルール探索モジュール232は、ユーザが1つ以上のルールを作成及び/又は編集するのを、グラフィカルユーザインタフェースを介して、データエンティティに関連付けられる各種の属性及び/又は属性値のための選択可能なオプションを自動的に特定し、提示することによって支援するように構成され得る。このようなグラフィカルユーザインタフェースの例は、
図11A~11E及び
図12A~12Eを含む本明細書中で提供される。
【0106】
幾つかの態様によれば、特権制御モジュール115は、アクセス特権ルール146を使用して1人以上のアクターのアクセスを許可又は拒否するように構成され得る。本明細書で説明されているように、アクセス特権を制御するための1つ以上のアクセス特権ルール146は、データエンティティ(及び/又はそのデータエンティティに関する他のデータエンティティ)の属性の値に依存し得る。幾つかのこのような実施形態では、特権制御モジュール115は、何れかのこれらの属性値(例えば、データ永続層150内のデータエンティティインスタンス144の中)にアクセスし、アクセスした値を使用してルールを評価するように構成され得る。
【0107】
幾つかの態様によれば、データエンティティモジュール235は、データエンティティ242を管理するように構成され得る。例えば、データエンティティモジュール235は、データエンティティ242及び何れかの関連情報にアクセスし、それを変更し、且つ/又は記憶するように構成され得る。例えば、データエンティティモジュール235は、データ永続層150内のデータエンティティインスタンス144内に記憶されたデータエンティティの属性の値にアクセスするために使用され得る。別の例として、データエンティティモジュール235は、データエンティティ間の関係を指定するメタデータ244(例えば、データエンティティの階層の構造を指定する情報)にアクセスするために使用され得る。
【0108】
幾つかの態様によれば、検索モジュール236は、データ永続層150の中のデータエンティティ242の中からデータエンティティを検索するためにプログラマティックインタフェース(例えば、API)及び/又はユーザインタフェース(例えば、GUI)を提供し得る。幾つかの実施形態において、検索モジュール236は、検索インデックスを利用して検索を実行し得る。幾つかの実施形態では、検索モジュール236は、(例えば、データ永続層150内の新たなデータエンティティの追加、データエンティティの削除及び/又はデータエンティティの変更に応答して)検索インデックスを更新及び/又は再計算して将来の検索を最適化し得る。
【0109】
幾つかの態様によれば、従来のデータ処理システムで発生する同期の課題を回避するために、PMS 130は、それを通してデータエンティティ242又はデータエンティティ242のインスタンス144に関するアクセス特権への変更を行い得る唯一のシステムであり得る。したがって、幾つかの実施形態において、データエンティティ242又はデータエンティティ242のインスタンス144の少なくとも幾つかへのアクセス特権を制御するためのルールの変更は、PMS 130を通してのみ行われ得る。
【0110】
図2に示される例では、PMS 130はデータ永続層150内に記憶された何れのデータにもアクセスできる。例えば、PMS 130は、データ永続層150内のデータが記憶される1つ以上のメモリにアクセス(例えば、直接アクセス)し得る。
【0111】
例えば、PMS 130は、データ永続層150内で永続するデータエンティティ242にアクセスできる。例えば、特権管理システム130は、データエンティティ242の何れに記憶された何れのデータにもアクセスでき、これには例えば、データエンティティ242の1つ以上のインスタンス144にまたがるデータエンティティ242の何れの1つの何れの属性の現在値も含まれる。データエンティティ属性の例は本明細書中で提供され、これには例えば、特定のデータエンティティに関するその値が、特定のデータエンティティが属する1つ以上のグループ(例えば、データエンティティの階層、同じ分類を有するエンティティのグループ又はデータエンティティの他の何れかの適当なグルプ)を識別する属性が含まれるが、これに限定されない。
【0112】
別の例として、PMS 130は、データエンティティ242に関するメタデータ244にアクセスできる。幾つかの実施形態では、PMS 130は、データエンティティ242の少なくとも幾つか間の関係を指定するメタデータにアクセスできる。例えば、幾つかの実施形態では、データエンティティ242の少なくとも幾つかは、1つ以上の階層に組織化され、PMS 130は1つ以上の階層を指定するメタデータにアクセスし得る。このようにして、PMS 130は、特定のデータエンティティについて、階層に従って特定のデータエンティティに関する1つ以上の別のデータエンティティを識別し得る。例えば、PMS 130は、特定のデータエンティティについて、階層の中の、その先祖(例えば、ペアレントデータエンティティ、グランドペアレントデータエンティティ等)の1つ以上、その子孫(例えば、1つ以上の子供又は孫データエンティティ)の1つ以上及び/又はその兄弟データエンティティ(例えば、特定のデータエンティティと少なくとも1つの共通する祖先を共有するデータエンティティ)の1つ以上を識別し得る。
【0113】
図2に示されるように、データ永続層150はデータエンティティ242を記憶する。データ永続層150は、データエンティティ242の何れのデータも記憶し得、これにはデータエンティティ242のインスタンス144内のデータエンティティ242の属性の値が含まれるがこれに限定されない。データ永続層150は、データエンティティ242、データエンティティインスタンス144、ルール146及びデータエンティティ関係244を記憶するように構成された1つ又は複数のデータストアを含み得る。各データストアは、任意の適したタイプの1つ又は複数のフォーマットでデータを記憶する1つ又は複数の記憶装置を含み得る。例えば、データストアの記憶装置部分は、1つ又は複数のデータベーステーブル、スプレッドシートファイル、平文ファイル及び/又は任意の他の適したフォーマット(例えば、メインフレームのネイティブフォーマット)のファイルを使用してデータを記憶し得る。記憶装置は、任意の適したタイプであり得、1つ又は複数のサーバ、1つ又は複数のデータベースシステム、1つ又は複数のポータブル記憶装置、1つ又は複数の不揮発性記憶装置、1つ又は複数の揮発性記憶装置及び/又はデータを電子的に記憶するように構成された任意の他のデバイスを含み得る。データストアが複数の記憶装置を含む実施形態では、記憶装置は、1つの物理的場所(例えば、1つの建物内)に配置され得るか、又は複数の物理的場所(例えば、複数の建物、異なる都市、州又は国)にわたって分散され得る。記憶装置は、任意の適したタイプの1つ又は複数のネットワークを使用して互いと通信するように構成され得、本明細書に記載される技術の態様は、これに関して限定されない。
【0114】
幾つかの態様によれば、データ永続層140は追加のタイプのデータを記憶し得、これにはデータエンティティ242間の関係を指定するメタデータ及びデータエンティティ242内の検索を容易にするための情報(例えば、データエンティティ242のために保持される検索インデックス)が含まれるが、これらに限定されない。例えば、
図2に示されるように、データ永続層150はデータエンティティ242間の関係を指定するメタデータ244をさらに含む。
【0115】
幾つかの態様によれば、メタデータ244は(データエンティティ242内の)データエンティティの1つ以上の階層を指定し得る。階層は、何れの適当な方法において、例えば1つ以上のツリーデータ構造、ポインタを使用する何れの適当なデータ構造を使用して又は他に何れかの適当な方法で指定され得、これは、本明細書で説明される技術の態様はこの点で限定されないからである。幾つかの実施形態では、メタデータ244は、エンティティの1つ以上のグループを明示的又は黙示的に指定し得る。
【0116】
図2の例では、データ処理システム120の一部として示されているが、幾つかの実施形態では、データ永続層150は、データ処理システム105の外部にあり得る。
【0117】
図2に示されるように、データ処理システム105は、データ永続層150内のデータに動作するように構成された1つ又は複数のコンピュータプログラム224を含む。コンピュータプログラム224は、何れの適当な種類でもあり得、且つ何れの適当なプログラミング言語でも記述され得る。例えば、コンピュータプログラム224は、少なくとも一部が構造化照会言語(SQL)で書かれ、データ永続層150の1つ以上のデータストア部にアクセスするように構成された1つ以上のコンピュータプログラムを含み得る。別の例として、データ処理システム105は、グラフの形態でプログラムを実行するように構成され得、コンピュータプログラム224はデータフローグラフとして開発された1つ以上のコンピュータプログラムを含み得る。データフローグラフは、入力データに対して実行されることになるデータ処理動作及びデータのフローを表すコンポーネント間のリンクを表す「ノード」又は「頂点」と呼ばれるコンポーネントを含み得る。データフローグラフによりコード化される計算を実行する技術は、その全体が参照によって本明細書に組み込まれる「Executing Computations Expressed as Graphs」という名称の米国特許第5,966,072号明細書に記載されている。
【0118】
図2に示される例では、データ処理システム105は、ある人物(例えば、ソフトウェア開発者)がデータ永続層150内のデータに対して動作するためのコンピュータプログラム224の1つ以上を開発するために使用し得る開発環境222をさらに含む。データフローグラフとしてコンピュータプログラムを開発するための環境は、その全体が参照によって本明細書に組み込まれる「Managing Parameters for Graph-Based Applications」という名称の米国特許出願公開第2007/0011668号明細書に記載されている。
【0119】
幾つかの態様によれば、コンピュータプログラム224の1つ以上は、データ永続層150内のデータに対して何れの適当な動作を実行するようにも構成され得る。例えば、コンピュータプログラム224の1つ以上は、1つ以上のデータ源からのデータにアクセスし、アクセスしたデータを(例えば、データ値を変更する、データレコードをフィルタリングする、データフォーマットを変更する、データをソートする、複数のデータ源からのデータを組み合わせる、データを複数の部分に分割することにより及び/又は他の何れかの適当な方法で)変換し、アクセスしたデータから1つ以上の新たな値を計算し、且つ/又はデータを1つ又は複数の宛先に書き込むように構成され得る。
【0120】
図3Aは、例示的なGUI 300の図解図であり、それを通して、ユーザは、少なくとも2つの属性、「セキュリティグループ」と「データセット」を有するデータエンティティ「DataElement」の1つ以上のインスタンスに1つ以上のアクションを実施する特権を1人以上のアクターに対して許可及び/又は拒否するための1つ以上のルールを視覚化し得る。GUI 300は、第1の部分302と第2の部分304を含む。第1の部分302は、データエンティティ「DataElement」の属性「セキュリティグループ」の値を選択するためのGUI要素307と、データエンティティ「DataElement」の属性「データセット」の値を選択するためのGUI要素308を含む。幾つかの態様によれば、ユーザは、属性「セキュリティグループ」のためのGUI要素307を介して表示された2つの値(グループ1、グループ2)からのある値及び属性「データセット」のためのGUI要素308を介して表示された3つの値(データセット1、データセット2、データセット3)からのある値を選択し得る。
図3Aからわかるように、属性「セキュリティグループ」及び「データセット」に関する値の何れも選択されない。幾つかの態様によれば、GUI要素307、308はトップダウンメニューを含むが、他のGUI要素、例えばラジオボタン、チェックボックス等が使用され得、この場合も本開示の範囲から逸脱しない。
【0121】
GUI 300の第2の部分304は、データエンティティ「DataElement」の1つ以上のインスタンスに少なくとも1つのアクションを実施する特権を少なくとも1人のアクターに対して許可及び/又は拒否するための1つ以上のルールの視覚的レンダリングを含む。第2の部分304の視覚的レンダリングは、第1のルール310の視覚的レンダリングを含み、これは、データエンティティ「DataElement」の1つ以上のインスタンスに「読み取り」アクションを実施する特権をアクター(例えば、アクターX)に対して許可及び/又は拒否するための第1のルールを表すテキストを含む。第1のルール310は、データエンティティ「DataElement」の属性「セキュリティグループ」の値に依存する。第1のルール310は、属性「セキュリティグループ」の値が設定された場合、アクターXにデータエンティティ「DataElement」の1つ以上のインスタンスに「読み取り」アクションを実施する特権が許可され得ることを示す。属性「セキュリティグループ」の値が設定されなければ、データエンティティ「DataElement」の1つ以上のインスタンスに「読み取り」アクションを実施する特権は、データエンティティ「DataElement」のペアレントデータエンティティから継承される。第2の部分304の視覚的レンダリングは、データエンティティ「DataElement」の1つ以上のインスタンスに「更新」アクションを実施する特権をアクター(例えば、アクターX)に対して許可及び/又は拒否するための第2のルールを表すテキストを含む第2のルール320の視覚的レンダリングも含む。第2のルール320は、データエンティティ「DataElement」の属性「データセット」の値に依存する。第2のルール320は、属性「データセット」の値が「データセット2」に設定された場合、アクターXにデータエンティティ「DataElement」の1つ以上のインスタンスに「更新」アクションを実施する特権が許可され得ることを示す。属性「データセット」の値が「データセット2」に設定されない場合、データエンティティ「DataElement」の1つ以上のインスタンスに「更新」アクションを実施する特権は、データエンティティ「DataElement」のペアレントデータエントリから継承される。
【0122】
図3Aは、属性「セキュリティグループ」に関連付けられる一方と属性「データセット」に関連付けられる他方の2つのルールの視覚的レンダリングを含むGUIの第2の部分304を示しているが、第2の部分304は、データエンティティ「DataElement」の様々な属性に関連付けられる複数のルールの視覚的レンダリングを含み得、その場合も本開示の範囲から逸脱しないことが理解されるであろう。
【0123】
幾つかの実施形態では、属性「データセット」について提示された選択可能な値は、属性「セキュリティグループ」について選択又は他に取得された値に依存し得る。属性「セキュリティグループ」の特定の値を取得することに応答して、属性「データセット」が取り得る値のセットのサブセットが識別され得、GUI 300の第1の部分302は、ユーザが値のそのセットのそのサブセットの中からのみ属性「データセット」の値を選択できるように更新され得る。
【0124】
幾つかの実施形態では、GUI 300の第1の部分302における属性「セキュリティグループ」及び/又は「データセット」に関連付けられる、
図3Aに示される特定の値の選択により、第2の部分304におけるルールの視覚的レンダリングを更新でき、これは
図3B及び3Cに示されている。
【0125】
図3Bは、GUI 200の第1の部分302を通して、データエンティティ「DataElement」の属性「セキュリティグループ」の値を示すユーザからの入力を取得することに応答して、
図3Aのルールの少なくとも幾つかの視覚的レンダリングがどのように更新され得るかを示す例示的なGUI 300の図解図である。
図3Bに示されるように、GUI 300の第1の部分302におけるGUI要素307を介した属性「セキュリティグループ」の値306(例えば、グループ1)の選択により、GUI 300の第2の部分304におけるルールの視覚的レンダリングが更新される。視覚的レンダリングは、属性「セキュリティグループ」の選択された値に依存する第1のルール310の視覚的レンダリングを強調することによって更新され得る。
図3Bは、強調表示によって強調された第1のルール310を表すテキストの少なくとも一部を示している。第1のルール310に関連付けられる強調表示部分は、アクターXに、属性「セキュリティグループ」の値が設定された場合(例えば、第1の部分302における属性「セキュリティグループ」に対するグループ1の選択により示される)、データエンティティ「DataElement」の1つ以上のインスタンスに「読み取り」アクションを実施する特権が許可され得ることを示す。
【0126】
図3Cは、GUI 300の第1の部分302を通して、データエンティティ「DataElement」の属性「データセット」の値を示すユーザからの入力を取得することに応答して、
図3Aのルールの少なくとも幾つかの視覚的レンダリングがどのように更新され得るかを示す例示的なGUI 300の図解図である。
図3Cに示されるように、GUI 300の第1の部分302におけるGUI要素308を介した属性「データセット」の値(例えば、データセット2)の選択により、GUI 300の第2の部分304におけるルールの視覚的レンダリングが更新される。視覚的レンダリングは、属性「データセット」の選択された値に依存する第2のルール320の視覚的レンダリングを強調することによって更新され得る。
図3Cは、強調表示によって強調された第2のルール320を表すテキストの少なくとも一部を示している。第2のルール320に関連付けられる強調表示部分は、アクターXに、属性「データセット」の値が「データセット2」に設定された場合(例えば、第1の部分302における属性「データセット」に対するデータセット2の選択により示される)、データエンティティ「DataElement」の1つ以上のインスタンスに「更新」アクションを実施する特権が許可され得ることを示す。
【0127】
図3B及び3Cは、強調表示によるルールの視覚的レンダリングの強調を示しているが、他の強調方法も使用でき、その場合も本開示の範囲から逸脱しない。例えば、GUI 300の第2の部分304におけるルールの視覚的レンダリングは、ルールを表すテキストの少なくとも一部の下線及び/又はフォントの特徴(例えば、フォントタイプ、フォントサイズ、フォント太さ、フォント幅及び/又は他のフォントの特徴)の変更によって強調され得る。幾つかの実施形態では、GUI 300の第2の部分304におけるルールの視覚的レンダリングは、視覚的レンダリングから、GUI 300の第1の部分302の中の属性の選択された値に依存するルールと異なる1以上のルール(すなわち属性の選択された値に依存しないルール)に対応する少なくとも幾つかのテキストを取り除くことによって強調され得る。さらに、この実施形態の寄与は何れの数の属性及びそれに対応する考え得る値を有するデータエンティティにも適用可能であることと、この寄与はデータエンティティが2つの属性を有し、各属性が3つの考え得る値を有する、本明細書で説明されている具体例に限定されないことが理解されるであろう。
【0128】
図4Aは、データエンティティのためのシミュレーションモードで実行される例示的なGUI 400の図解図である。シミュレーションモードでは、データエンティティ「DataElement」404等のデータエンティティの属性の値はユーザ、例えば管理者104から取得され得る。このデータエンティティは、定義され得るが、データストア、例えばデータエンティティインスタンスデータストア144内にデータエンティティの何れのインスタンスもない場合がある。したがって、データエンティティ404の属性の値は、ユーザによって選択される。
【0129】
図4Aに示されるように、GUI 400は、第1の部分402及び第2の部分412を含む。第1の部分402は、それに関してルールの視覚的レンダリングがGUI 400の第2の部分412の中で生成されるデータエンティティを選択するためのGUI要素404を含む。第1の部分402は、関心対象の特権(例えば、作成、読み取り、更新又は削除)を選択するためのGUI要素406を含む。第1の部分402は、データエンティティ404の属性の値を選択するためのGUI要素408を含む。第1の部分402は、データエンティティ404の別の属性(「セキュリティグループ」)の値を選択するためのGUI要素410を含む。第1の部分402は、第1の部分402内のデータエンティティ、特権、属性及び/又は他の要素に関連付けられる値をデフォルト値にリセットするためのGUI要素403を含む。
【0130】
GUI 400の第2の部分412は、データエンティティ404の1つ以上のインスタンスに1つ以上のアクションを実施する特権を少なくとも1人のアクターに対して許可及び/又は拒否するための1つ以上のルールの視覚的レンダリングを含む。第2の部分412の視覚的レンダリングは、データエンティティ404の1つ以上のインスタンスに「作成」アクションを実施する特権を1人以上のアクター(例えば、エディタ及び/又は他のアクター)に対して許可及び/又は拒否するための第1にルールを表すテキストを含む第1のルール414の視覚的レンダリングを含む。第1のルール414は、データエンティティ404の属性「セキュリティグループ」の値に依存する。第1のルール414は、エディタの役割を有するユーザに、属性「セキュリティグループ」の値が設定されれば、データエンティティ404の1つ以上のインスタンスに「作成」アクションを実施する特権が付与され得ることを示す。属性「セキュリティグループ」の値が設定されなければ、データエンティティ404の1つ以上のインスタンスに「作成」アクションを実施する特権は、データエンティティ404のペアレントデータエンティティ又は他のデータエンティティ「データセット」のペアレントから継承される。
【0131】
GUI 400の第2の部分412内の視覚的レンダリングは、データエンティティ404の1つ以上のインスタンスに「読み取り」アクションを実施する特権を1人以上のアクター(例えば、エディタ、リーダー及び/又は他のアクター)に対して許可及び/又は拒否するための第2のルールを表すテキストを含む第2のルール416の視覚的レンダリングを含む。第2のルール416は、データエンティティ404の属性「セキュリティグループ」の値に依存する。第2のルール416は、エディタ及びリーダーの役割を有するユーザに、属性「セキュリティグループ」の値が設定されれば、データエンティティ404の1つ以上のインスタンスに「読み取り」アクションを実施する特権が許可され得ることを示す。属性「セキュリティグループ」の値が設定されなければ、データエンティティ404の1つ以上のインスタンスに「読み取り」アクションを実施する特権は、データエンティティ404のペアレントデータエンティティ又は「別のデータエンティティ「データセット」のペアレントから継承される。
【0132】
GUI 400の第2の部分412の視覚的レンダリングは、データエンティティ404の1つ以上のインスタンスに「更新」アクションを実施する特権を1人以上のアクター(例えば、エディタ及び/又は他のアクター)に対して許可及び/又は拒否するための第3のルールを表すテキストを含む第3のルール418の視覚的レンダリングを含む。第3のルール418は、データエンティティ404の属性「セキュリティグループ」の値に依存する。第3のルール418は、エディタの役割を有するユーザに、属性「セキュリティグループ」の値が設定されれば、データエンティティ404の1つ以上のインスタンスに「更新」アクションを実施する特権が許可され得ることを示す。属性「セキュリティグループ」の値が設定されなければ、データエンティティ404の1つ以上のインスタンスに「更新」アクションを実施する特権は、データエンティティ404のペアレントデータエンティティ又は「別のデータエンティティ「データセット」のペアレントから継承される。
【0133】
GUI 400の第2の部分412内の視覚的レンダリングは、データエンティティ404の1つ以上のインスタンスに「削除」アクションを実施する特権を1人以上のアクター(例えば、エディタ及び/又は他のアクター)に対して許可及び/又は拒否するための第4のルールの一部分を表すテキストを含む第4のルール420の視覚的レンダリングを含む。第4のルール420は、他のルール414、416及び418と同様に、データエンティティ404の属性「セキュリティグループ」の値に依存する。
【0134】
図4Bは、本明細書で説明される技術の幾つかの実施形態による、ユーザが関心対象の特権を選択したことに応答してGUI 400内のルールの視覚的レンダリングがどのように更新され得るかを示す例示的GUI 400の図解図である。
図4Bに示されるように、GUI要素406を介した関心対象の特権としての「読み取り」特権の選択により、GUI 400の第2の部分412のルールの視覚的レンダリングが更新される。幾つかの実施形態では、ルールの視覚的レンダリングは、選択された関心対象の特権に関連付けられるルールの視覚的レンダリングを強調することによって更新され得る。
図4Bは、選択された関心対象の特権に関連付けられるルール416の視覚的レンダリングが、視覚的レンダリングから、選択された関心対象の特権に関連付けられない1つ以上のルールに対応する少なくとも幾つかのテキストを取り除くことによって強調されていることを示している。例えば、「読み取り」特権に関連付けられるルール416に対応するテキストのみがGUI 400の第2の部分412の中でレンダリングされ、他方で残りのルール414、418、420の全てに対応するテキストは視覚的レンダリングから除去される。本明細書で説明される他の強調形態も使用され得ることが理解されるであろう。
【0135】
図4Cは、GUI 400の第1の部分402を通して、データエンティティ「DataElement」の「セキュリティグループ」の属性が設定されたことを示すユーザからの入力を取得することに応答して、GUI 400内のルールの視覚的レンダリングがどのようにして更新され得るかを示す例示的なGUI 400の図解図である。
図4Cに示されるように、GUI 400の第1の部分402内のGUI要素410を介して属性「セキュリティグループ」の値(例えば、設定される)の選択により、GUI 400の第2の部分412内のルールの視覚的レンダリングが更新される。視覚的レンダリングは、選択された関心対象の特権に関連付けられ、属性「セキュリティグループ」の選択された値(例えば、設定される)に依存する第2のルール416の視覚的レンダリングを強調することによって更新され得る。
図4Cは、第2のルール416を表すテキストの少なくとも一部が強調表示によって強調されていることを示している。第2のルール416に関連付けられる強調表示部分は、エディタ及びリーダーの役割を有するユーザには、属性「セキュリティグループ」の値が設定されていれば、データエンティティ404の1つ以上のインスタンスに「読み取り」アクションを実施する特権が許可され得ることを示す。
【0136】
図4Dは、GUI 400の第1の部分402を通して、データエンティティ「DataElement」の「セキュリティグループ」の属性が設定されないことを示すユーザからの入力を取得することに応答して、GUI 400内のルールの視覚的レンダリングがどのようにして更新され得るかを示す例示的なGUI 400の図解図である。
図4Dに示されるように、GUI 400の第1の部分402内のGUI要素410を介して属性「セキュリティグループ」の値(例えば、設定されない)の選択により、GUI 400の第2の部分412内のルールの視覚的レンダリングが更新される。視覚的レンダリングは、選択された関心対象の特権(例えば、読み取り)に関連付けられ、属性「セキュリティグループ」の選択された値(例えば、設定されない)に依存する第2のルール416の視覚的レンダリングを強調することによって更新され得る。
図4Dは、第2のルール416を表すテキストの少なくとも一部が強調表示によって強調されていることを示している。第2のルール416に関連付けられる強調表示部分は、データエンティティ404の1つ以上のインスタンスに「読み取り」アクションを実施する特権が、データエンティティ404のペアレントデータエンティティ又は別のデータエンティティ「データセット」のペアレントから継承されることを示す。
【0137】
図5は、本明細書で説明される技術の幾つかの実施形態による、データエンティティに関する評価モードで実行する例示的なGUI 500の図解図である。評価モードでは、データエンティティ、例えばデータエンティティ「DataElement」504の1つ又は複数のインスタンスは、データエンティティインスタンスデータストア144の中で入手可能であり得る。データエンティティ504の属性の値は、データストア144から取得され得る。取得された値は、特権を評価するために使用され得る。評価モードでは、データエンティティ504の属性の値はユーザからは取得されない。
【0138】
図5に示されるように、GUI 500は第1の部分502と第2の部分512を含む。第1の部分502は、それについてルールの視覚的レンダリングがGUI 500の第2の部分512の中で生成されるデータエンティティ504を識別するGUI要素504を含む。第1の部分502は、関心対象の特権(例えば、読み取り)を識別するGUI要素506を含む。第1の部分502は、データエンティティ504の属性の値を識別するGUI要素508を含む。
【0139】
GUI 500の第2の部分512は、データエンティティ504の1つ以上のインスタンスに少なくとも1つのアクションを実施する特権を少なくとも1人のアクターに対して許可及び/又は拒否するための1つ以上のルールの視覚的レンダリングを含む。第2の部分512の視覚的レンダリングは、データエンティティ504の1つ以上のインスタンスに「読み取り」アクションを実施する特権を1人以上のアクター(例えば、エディタ、リーダー及び/又は他のアクター)に対して許可及び/又は拒否するためのルールを表すテキストを含むルール514の視覚的レンダリングを含む。第2の部分512の視覚的レンダリングは、第1の部分502の中で識別された関心対象の特権(すなわち読み取り)に関連付けられ得る。
図5に示されるように、ルール514を表すテキストの少なくとも一部は強調表示によって強調され得る。ルール514に関連付けられる強調表示部分515は、データエンティティ504の属性「セキュリティグループ」の値が設定されず、データエンティティ504に関する読み取り特権は別のエンティティ「データセット」のペアレントから継承されることを示す。幾つかの実施形態では、ルール414を表すテキストの別の部分516は、データエンティティ504の属性「セキュリティグループ」の値が設定された場合に強調され得る。
【0140】
図6Aは、本明細書で説明される技術の幾つかの実施形態による、データエンティティのための特権ルールを視覚化するための例示的プロセス600のフローチャートである。プロセス600は、何れの適当なデータ処理システムによっても実行され得、例えば、
図2に関して説明されたデータ処理システム105によって実行され得る。
【0141】
プロセス600は動作602で始まり、そこではデータエンティティのインスタンスにアクションを実施する特権を許可及び/又は拒否するためのルールが得られる。ルールは、何れの適当なソースからでも、例えばデータ処理システム120に通信可能に連結されたデータストア146からでも取得され得るが、これは、本明細書で説明される技術の態様がこの点で限定されないからである。幾つかの実施形態では、ルールは、データエンティティに関するデータアクセス特権を規定し得(例えば、特権を許可及び/又は拒否する)、データエンティティの特性及び/又はデータエンティティの特定の属性を誰が作成し、読み取り、更新し、且つ削除できるかを制御するための特権ルールを含み得る。例えば、
図4Aに示されるようなデータエンティティ「DataElement」404に関連付けられるルール414、416、418及び420は、データストア146から取得され得る。別の例として、
図3B及び3Cに示されるようなデータエンティティ「DataElement」に関連するルール310及び320は、データストア146から取得され得る。
【0142】
次に、動作604で、動作602で得られたルールの少なくとも幾つかによって使用される値を有するデータエンティティの属性が識別される。例えば、
図4Aに関して、「DataElement」データエンティティの「セキュリティグループ」属性は、ルール414、416、418及び420の各々によって使用される値を有する属性として識別され得る。別の例として、
図3B及び3Cに関して、データエンティティ「DataElement」の属性「セキュリティグループ」は、ルール310によって使用される値を有する属性として識別され得、他方でデータエンティティ「DatalElement」の属性「データセット」はルール320によって使用される値を有する属性として識別され得る。
【0143】
次に、動作606で、データエンティティの識別された属性の値が取得される。幾つかの実施形態では、識別された属性の値はユーザ(例えば、管理者)から取得され得る。値は、前述のシミュレーションモードでユーザから取得される。例えば、
図4Aに関して、「セキュリティグループ」属性は、GUI要素410を介してユーザから取得され得る。別の実施形態では、識別された属性の値はデータエンティティインスタンスデータストア144から取得され得る。値は、前述の評価モードでデータストア146から取得され得る。
【0144】
次に、動作608で、動作606において取得された属性値に依存する1つ以上のルールが識別される。ルールは、属性値を使用して、動作602で取得されたルールの中から識別され得る。例えば、
図4Aに関して、「セキュリティグループ」属性の値が、セキュリティグループが設定されたことを示していれば、ルール414、416、418及び420のルールは、全て識別され得、それは、これらのルールの各々はセキュリティグループ属性が設定されるか否かに依存するからである。他の実施形態では、属性の第1の値によって第1のルールセットが識別され、属性の第2の値(例えば、第1の値と異なる)により第2のルールセットが識別され得る。また別の実施形態では、異なる属性の異なる値により、異なるルールセットが識別され得る。
【0145】
次に、動作610で、動作602において取得されたルールの少なくとも幾つかの視覚的レンダリングを含むGUIが生成される。幾つかの実施形態では、GUIは第1の部分と第2の部分を含む。第1の部分は、データエンティティの属性の取得された値を選択又は他に提示することができるGUI要素を含む。第2の部分は、動作608で識別されたルールの視覚的レンダリングを含む。視覚的レンダリングは、動作608で識別されたルールを強調する。例えば、
図3B及び3Cは、GUI 300の第2の部分304の中のルールの視覚的レンダリングの強調を示している。ルールは、識別されたルールを表すテキストを視覚的に強調することによって強調され得る。テキストは、ルールを表すテキストの少なくとも幾つかの強調表示、下線及び/又はフォント特徴の変化により視覚的に強調され得る。幾つかの実施形態では、視覚的レンダリングは識別されたルールを、視覚的レンダリングから識別されたルールと異なるルールに対応する少なくとも幾つかのテキストを取り除くことによって強調する。次に、動作612で、生成されたGUIがユーザに表示され得る。
【0146】
次に、プロセス600は動作614へと進み、そこで異なる属性値を示す情報が、例えばユーザ又はデータストア144から取得されたか否かが特定され得る。異なる属性値を示す情報が取得されたことが特定されたことに応答して、プロセスは動作608又は604の何れかに戻る。幾つかの実施形態では、情報が、それ以前に動作604で識別されたものと同じ属性に関する異なる属性値を示す場合、プロセスは動作608に進み、そこで異なる属性値に依存する1つ以上のルールが識別される。別の実施形態では、情報がそれ以前に動作604で識別された属性と異なる別の属性の異なる属性値を示す場合、プロセスは動作604に戻り、そこでルールの少なくとも幾つかによって使用される値を有するデータエンティティの別の属性が識別される。何れの場合も、プロセス600は残りの下流の動作を経て、最終的に動作614で、異なる属性値を示す情報が取得されたか否かが特定される。異なる属性値を示す情報が得られていないとの特定に応答して、プロセスは終了する。
【0147】
図6Bは、データエンティティのための特権ルールを視覚化するための例示的プロセス600の実装例のフローチャートである。プロセス600は、何れの適当なデータ処理システムによっても実行され得、例えば、
図2に関して説明したデータ処理システム105によって実行され得る。
【0148】
プロセス600は動作602から始まり、そこでデータエンティティの1つ以上のインスタンスへのアクションを実施する特権をアクターに対して許可及び/又は拒否するためのルールが得られる。ルールは、データストア146から取得され得る。幾つかの実施形態では、ルールはデータエンティティに関するデータアクセス特権を規定し得(例えば、特権を許可及び/又は拒否する)、データエンティティのインスタンス及び/又はデータエンティティの特定の属性に作成、読み取り、更新及び削除アクションを誰が実行できるかを制御する特権ルールを含み得る。例えば、
図7Aは、「DataElement」データエンティティの1つ以上のインスタンスにアクションを実施する特権をアクターに対して許可及び/又は拒否するための、データストア146から取得された例示的ルールの表700を示している。表700は、「DataElement」データエンティティの1つ以上のインスタンスに作成、更新、読み取り及び削除アクションを実施する特権をアクターに対して許可及び/又は拒否するための3つのルール702、704及び706を含む。例えば、ルール702は属性「セキュリティグループ」の値が設定されれば、「DataElement」が属する階層に関する許可責任者ID」のコラムで指定されるアクターに、「DataElement」データエンティティの1つ以上のインスタンスに作成、更新、読み取り及び削除アクション(例えば、「Y」で示される)を実行する特権が許可されることを示す。ルール704は、「DataElement」が属する階層の許可責任者ID」のコラムで指定されたアクターに、属性「セキュリティグループ」の値が設定されれば、「DataElement」データエンティティの1つ以上のインスタンスに読み取りアクション(例えば、読み取りについては「Y」、他のアクションについては「N」で示されている)を実行する特権が許可されることを示す。ルール706は、属性「セキュリティグループ」の値が設定されなければ、特権情報は「DataElement」エンティティのペアレント又は「データセット」ペアレントから継承されることを示す。例えば、属性「セキュリティグループ」の値が設定されなければ、ペアレントデータエンティティに割り当てられた何れの被許可者(例えば、アクター、責任者等)にも、「DataElement」データの1つ以上のインスタンスに作成、更新、読み取り及び削除アクション(例えば、「Y」で示される)を実行する特権が継承され、許可される。
【0149】
図7Aに示されるように、各ルール702、704及び706は、何れのアクターに、「DataElement」データエンティティの1つ以上のインスタンスに何れのアクションを実施する特権が許可されるかに関する情報を含む。表700の各コラムは、ルールの特定の特徴又はパラメータを示す。例えば、「名称」のコラムはルールの名称を識別し、「説明」のコラムはルールを説明し、「作成特権」のコラムは、あるアクターが「POClassID」のコラムで識別されたデータエンティティの1つ以上のインスタンスに作成アクションを実施する特権を有するか又は特権が許可されているか否かを示し、「更新特権」のコラムは、あるアクターが「POClassID」のコラムで識別されたデータエンティティの1つ以上のインスタンスに更新アクションを実施する特権を有するか又は特権を許可されているか否かを示し、「読み取り特権」のコラムは、「POClassID」のコラムで識別されたデータエンティティの1つ以上のインスタンスに読み取りアクションを実施する特権を有するか又は特権が許可されているか否かを示し、「削除特権」のコラムは、「POClassID」のコラムで識別されたデータエンティティの1つ以上のインスタンスに削除アクションを実施する特権を有するか又は特権が許可されているか否かを示し、「優先度」のコラムは、ルールの順序を示し、「POClassID」のコラムはデータエンティティを識別し、「DataElement」が属する階層に関する許可責任者ID」のコラムは、エンティティの1つ以上のインスタンスにアクションを実施する特権が許可される具体的なアクター、特定の役割を有するアクター及び/又は責任者若しくはアクターのグループを示し、「許可階層の種類」のコラムは、データエンティティの1つ以上のインスタンスにアクションを実施する特権が許可されたアクターを示す値を有する属性を識別し、「ペアレントから継承する」のコラムは、特定のルールが特権情報はペアレントデータエンティティから継承されることを指定するか否かを示す。
【0150】
幾つかの実施形態において、「DataElement」のデータエンティティはデータエンティティの階層の一部であり得、「DataEelement」のデータエンティティが属する階層を示す属性を有し得る。表700の「DataElement」が属する階層の許可責任者ID」は、「DataElement」のデータエンティティが属する階層に関連付けられる責任者を識別し得る。幾つかの実施形態において、許可責任者IDはデータエンティティの1つ以上のインスタンスにアクションを実施する特権が許可されたアクターのグループを識別し得る。例えば、ルール702の許可責任者IDは、エディタのグループに「DataElement」のデータエンティティの1つ以上のインスタンスにアクションを実施する特権が許可されることを示し得る。同様に、ルール704の許可責任者IDは、リーダーのグループに「DataElement」のデータエンティティの1つ以上のインスタンスにアクションを実施する特権が許可されることを示し得る。
【0151】
他の例として、
図8Aは、「ユーザレポート」のデータエンティティの1つ以上のインスタンスにアクションを実施する特権をアクターに対して許可及び/又は拒否するためのデータストア146から取得した例示的なルールの表800を示す。表800は、「ユーザレポート」のデータエンティティの1つ以上のインスタンスに作成、更新、読み取り及び削除アクションを実施する特権をアクターに対して許可及び/又は拒否するための3つのルール802、804及び806を含む。例えば、ルール802は、「PrinacipalID」の属性で指定されたアクターに「ユーザレポート」のデータエンティティの1つ以上のインスタンスに作成、更新、読み取り及び削除アクション(例えば、「Y」で示される)を実行する特権が許可されることを示す。ルール804は、「ユーザの役割」を有するアクターに、「ユーザレポート」のデータエンティティの1つ以上のインスタンスに読み取りアクション(例えば、読み取りは、「Y」で示され、他のアクションは、「N」で示される)を実行する特権が許可されることを示す。ルール806は、「エディタの役割」を有するアクターに、「ユーザレポート」のデータエンティティの1つ以上のインスタンスに作成、更新、読み取り及び削除アクションを実施する特権が許可されることを示す。
図8Aに示されるように、各ルール802、804及び806は、何れのアクターに「ユーザレポート」のデータエンティティの1つ以上のインスタンスに何れのアクションを実施する特権が許可されかに関する情報を含む。表800の各コラムは、ルールの特定の特徴又はパラメータを示す。例えば、「名称」のコラムは、ルールの名称を識別し、「説明」のコラムはルールを説明し、「作成特権」のコラムは、あるアクターが「POClassID」のコラムで識別されたデータエンティティの1つ以上のインスタンスに作成アクションを実施する特権を有するか又は特権が許可されているか否かを示し、「更新特権」のコラムは、あるアクターが「POClassID」のコラムで識別されたデータエンティティの1つ以上のインスタンスに更新アクションを実施する特権を有するか又は特権を許可されているか否かを示し、「読み取り特権」のコラムは、「POClassID」のコラムで識別されたデータエンティティの1つ以上のインスタンスに読み取りアクションを実施する特権を有するか又は特権が許可されているか否かを示し、「削除特権」のコラムは、「POClassID」のコラムで識別されたデータエンティティの1つ以上のインスタンスに削除アクションを実施する特権を有するか又は特権が許可されているか否かを示し、「優先度」のコラムは、ルールの順序を示し、「POClassID」のコラムはデータエンティティを識別し、「GrantPrincipalID」のコラムは、データエンティティの1つ以上のインスタンスにアクションを実施する特権が許可されるアクターの具体的な役割を示し、「GrantPrincipalAttribute」のコラムは、データエンティティの1つ以上のインスタンスにアクションを実施する特権が許可されるアクターを示す値を有する属性を識別する。
【0152】
次に、動作604で、動作602で得られたルールの少なくとも幾つかによって使用される値を有するデータエンティティの属性が識別される。この属性は、動作604aで、取得されたルールからルールチェーンを生成すること、動作604bで、ルールチェーンからルールツリーを生成することと、動作604cで、生成されたルールツリー内の条件ノードに関連付けられる属性を識別することによって識別され得る。
【0153】
幾つかの実施形態では、ルールチェーンは線の形態のルールの表現である。線の形態には相互に線で接続された複数のノードが含まれ得、ノードの各々がルールのそれぞれの要素(例えば、特権の種類、アクター、その特権がそのアクターに対していつ許可又は拒否されるかの条件、優先度等)を表す。ルールチェーンの一部であり得る様々な種類のノードがある。例えば、ルールチェーンは許可ノード等の第1の種類のノードを含み得る。この種のノードは特権の種類を示す。別の例として、ルールチェーンは条件ノード等の第2の種類のノードを含み得る。この種のノードは、データエンティティ又はそのデータエンティティの属性に適用される条件を示す。
【0154】
幾つかの実施形態では、ルールツリーはフローチャート様の構造の中に一緒に示される複数のルールの少なくとも幾つか間に共通するノードによる複数のルールの表現である。生成されたルールツリー内の条件ノードは、あるルールが特定のデータエンティティに、その特定のエンティティに関連付けられる1つ以上の属性に基づいてどのように適用されるかを示す。このようにして、条件ルールは1つ以上の特権ルールによって使用される値を有するデータエンティティの属性を識別するために使用され得る。
【0155】
図7Bは、本明細書で説明される技術の幾つかの態様に従って、動作604aで、
図7Aの例示的なルール702、704及び706を使用して生成されるルールチェーンを示す。
図7Bは、ルール702を使用して生成されたルールチェーン710a、710b、710d及び710e、ルール704を使用して生成されたルールチェーン701c及びルール706を使用して生成されたルールチェーン710f、710g、710h及び710iを示す。各ルールチェーンは複数のノードを含み、各ノードは1つの子供を有する。ルールチェーン内の各ノードはそれぞれのルールのある要素である。例えば、ルールが、それが特定のデータエンティティ又はそのデータエンティティに関連付けられる属性に適用されることを示す条件を有する場合、そのルールチェーンは条件ノード、例えばデータンエティティ「DataElement」に適用される条件を示す条件ノード712a、712b、712c、712d、712e、712f、712g、712h及び712i又はデータエンティティ「DataElement」の属性「セキュリティグループ」に適用される条件を示す条件ノード716a、716b、716c、716d、716e等を含む。
【0156】
図7Bに示されるように、各ルールチェーンは、i)ルートノード、例えばルートノード711a、711b、711c、711d、711e、711f、711g、711h及び711i、ii)条件が特定のデータエンティティ又はそのデータエンティティに関連付けられる属性に適用されることを示す1つ以上の条件ノード、例えば条件ノード712a、712b、712c、712d、712e、712f、712g、712h、712i及び/又は条件ノード716a、716b、716c、716d、716e、iii)特権の種類(例えば、作成、読み取り、更新又は削除)を示す許可ノード、例えば許可ノード713a、713b、713c、713d、713e、713f、713g、713h及び713i、iv)ルールの標的(例えば、データエンティティ及び/又はそのデータエンティティの属性)を示す標的ノード、例えば標的ノード714a、714b、714c、714d、714e、714f、714g、714h及び714i、v)ルールの順序を示す優先度ノード、例えば優先度ノード715a、715b、715c、715d、715e、715f、715g、715h及び715i、並びにvi)それぞれの許可ノードにより示される種類の特権が許可されるアクターを示す被許可者ノード、例えば被許可者ノード717a、717b、717c、717d、717e、717f、717g、717h及び717iを含む。
【0157】
別の例として、
図8Bは、本明細書で説明される技術の幾つかの態様に従って、動作604aで、
図8Aの例示的なルール802、804及び806を使用して生成されるルールチェーンを示す。
図8Bは、ルール802を使用して生成されたルールチェーン810a、810b、810c及び810d、ルール804を使用して生成されたルールチェーン810e及びルール806を使用して生成されたルールチェーン810f、810g、810h及び810iを示す。各ルールチェーンは複数のノードを含み、各ノードは1つの子供を有する。ルールチェーン内の各ノードはそれぞれのルールのある要素である。例えば、ルールが、それが特定のデータエンティティ又はそのデータエンティティに関連付けられる属性に適用されることを示す条件を有する場合、そのルールチェーンは条件ノード、例えばデータンエティティ「ユーザレポート」に適用される条件を示す条件ノード812a、812b、812c、812d、812e、812f、812g、812h及び812i又はデータエンティティ「ユーザレポート」の属性「PrincipalID」に適用される条件を示す条件ノード816a、816b、816c、816d等を含む。
【0158】
図8Bに示されるように、各ルールチェーンは、i)ルートノード、例えばルートノード811a、811b、811c、811d、811e、811f、811g、811h及び811i、ii)条件が特定のデータエンティティ又はそのデータエンティティに関連付けられる属性に適用されることを示す1つ以上の条件ノード、例えば条件ノード812a、812b、812c、812d、812e、812f、812g、812h、812i及び/又は条件ノード816a、816b、816c、816d、iii)特権の種類(例えば、作成、読み取り、更新又は削除)を示す許可ノード、例えば許可ノード813a、813b、813c、813d、813e、813f、813g、813h及び813i、iv)ルールの標的(例えば、データエンティティ及び/又はそのデータエンティティの属性)を示す標的ノード、例えば標的ノード814a、814b、814c、814d、814e、814f、814g、814h及び814i、v)ルールの順序を示す優先度ノード、例えば優先度ノード815a、815b、815c、815d、815e、815f、815g、815h及び815i、並びにvi)それぞれの許可ノードにより示される種類の特権が許可されるアクターを示す被許可者ノード、例えば被許可者ノード817a、817b、817c、817d、817e、817f、817g、817h及び817iを含む。
【0159】
図7Cは、本明細書で説明される技術の幾つかの実施形態により、動作604bで、
図7Bの例示的なルールチェーンを使用して生成された例示的なルールツリー720を示す。ルールツリー720は、
図7Bのルールチェーンを融合することにより生成される。幾つかの実施形態では、ルールチェーン710a~710iの全てを通して同じノードが融合されて、ルールツリー720の中の1つのノードが形成される。例えば、特定の種類の同じノードが識別され得、その種類の1つのノードに置き換えられ得る。これにより、以前に接続されていなかったルールチェーンがこの共通ノードにより接続されることになり得る。ルールツリー720は、全てのルートノード711a、711b、711c、711d、711e、711f、711g、711h及び711iを融合することにより得られたルートノード721含む。ルートノードが融合されると、プロセスはルールチェーン710a~710iの各々の中の下流のノードを解析し、ノードの融合を試みる。ルールチェーン710a~710iの各々の中の次のノードが同じであれば、そのノードを融合できる。例えば、条件ノード712a、712b、712c、712d、712e、712f、712g、712h、712iは同じであるため、これらのノードを融合して、ルールツリー720内の条件ノード722を形成できる。この融合プロセスがルールチェーン710a~710iの中の全下流ノードについて実行される。例えば、共通の特権種類を示す全ての許可ノードは融合されて、ルールツリー内の許可ノードが形成される。例えば、特権種類「作成」の許可ノードの全て(713a、713g)は融合されて、ルールツリー720内の許可ノード723aが形成され、特権種類「読み取り」を示す全ての許可ノード(例えば、許可ノード713b、713c、713f)は融合されて、ルールツリー720内の許可ノード723bが形成され、特権種類「更新」を示す全ての許可ノード(例えば、許可ノード713d、713h)は融合されて、ルールツリー720内の許可ノード723cが形成され、特権種類「削除」を示す全ての許可ノード(例えば、許可ノード713e、713i)は融合されて、ルールツリー720内の許可ノード723dが形成される。
【0160】
許可ノード723a~723dは、ルールツリー720内の分岐点群を形成する。各分枝の中で、関連するルールチェーン内のノードが解析され、同じノードが融合される。例えば、許可ノード723aに関連する分枝の中で、ルールチェーン710a及び710g内の許可ノードから下流のノードが、それらのノードを融合できるか否かを特定する目的で解析される。
図7Cに示されるように、標的ノード714a及び714gが融合されて、ルールツリー720内の標的ノード724aが形成される。優先度ノード715a及び715gは異なる優先度を有する(すなわち同じではない)ため、優先度ノードは融合されず、別々のノード、例えば優先度ノード725a及び725bのままである。条件ノード726a及び被許可者ノード727aは、ルールチェーン710aのそれぞれ条件ノード716a及び717aに対応する。被許可者ノード727bは、ルールチェーン710gの被許可者ノード716gに対応する。
【0161】
理解されるように、本明細書で説明する融合プロセスは、ルールチェーン710a、710b、710c、710d、710e、710f、710g、710h及び710iの各々及び分岐点の各々において実行されて、
図7Cのルールツリー720が生成され得る。例えば、許可ノード723bに関連する分枝内で、ルールチェーン710b、710c及び710f内の許可ノードから下流のノードは、これらのノードを融合できるか否かを特定する目的で解析される。したがって、許可ノード723bの分岐に関連するノードは、標的ノード724b、優先度ノード725c、725d、条件ノード726b及び被許可者ノード727c、727d、727eを含む。許可ノード723cに関連する分枝の中で、ルールチェーン710d及び710hの中の許可ノードから下流のノードは、これらのノードを融合できるか否かを特定する目的で解析される。したがって、許可ノード723cの分枝に関連するノードは、標的ノード724c、優先度ノード725e、725f、条件ノード726c及び被許可者ノード727f、727gを含む。許可ノード723dに関連する分枝の中で、ルールチェーン610e及び610i内の許可ノードから下流のノードは、これらのノードを融合できるか否かを特定する目的で解析される。したがって、許可ノード723dの分枝に関連するノードは、標的ノード724d、優先度ノード725g、725h、条件ノード726d及び被許可者ノード727h、727iを含む。
【0162】
別の例として、
図8Cは、本明細書で説明される技術の幾つかの実施形態により、動作604bで、
図8Bの例示的なルールチェーンを使用して生成された例示的なルールツリー820を示す。ルールツリー820は、
図8Bのルールチェーンを融合することにより生成される。幾つかの実施形態では、ルールチェーン810a~810iの全てを通して同じノードが融合されて、ルールツリー820の中の1つのノードが形成される。例えば、特定の種類の同じノードが識別され得、その種類の1つのノードに置き換えられ得る。これにより、以前に接続されていなかったルールチェーンがこの共通ノードにより接続されることになり得る。ルールツリー820は、全てのルートノード811a、811b、811c、811d、811e、811f、811g、811h及び811iを融合することにより得られたルートノード821を含む。ルートノードが融合されると、プロセスはルールチェーン810a~810iの各々の中の下流のノードを解析し、ノードの融合を試みる。ルールチェーン810a~810iの各々の中の次のノードが同じであれば、そのノードを融合できる。例えば、条件ノード812a、812b、812c、812d、812e、812f、812g、812h、812iは同じであるため、これらのノードを融合して、ルールツリー820内の条件ノード822を形成できる。この融合プロセスがルールチェーン810a~810iの中の全下流ノードについて実行される。例えば、共通の特権種類を示す全ての許可ノード(例えば、許可ノード813a、813f)は融合されて、ルールツリー内の許可ノードが形成される。例えば、特権種類「作成」の許可ノードの全ては融合されて、ルールツリー820内の許可ノード823aが形成され、特権種類「読み取り」を示す全ての許可ノード(例えば、許可ノード813b、813e、813g)は融合されて、ルールツリー820内の許可ノード823bが形成され、特権種類「更新」を示す全ての許可ノード(例えば、許可ノード813c、813h)は融合されて、ルールツリー820内の許可ノード823cが形成され、特権種類「削除」を示す全ての許可ノード(例えば、許可ノード813d、813i)は融合されて、ルールツリー820内の許可ノード823dが形成される。
【0163】
許可ノード823a~823dは、ルールツリー820内の分岐点群を形成する。各分枝の中で、関連するルールチェーン内のノードが解析され、同じノードが融合される。例えば、許可ノード823aに関連する分枝の中で、ルールチェーン810a及び810f内の許可ノードから下流のノードが、それらのノードを融合できるか否かを特定する目的で解析される。
図8Cに示されるように、標的ノード814a及び814fが融合されて、ルールツリー820内の標的ノード824aが形成される。優先度ノード815a及び815fは異なる優先度を有する(すなわち同じではない)ため、優先度ノードは融合されず、別々のノード、例えば優先度ノード825a及び825bのままである。条件ノード826a及び被許可者ノード827aは、ルールチェーン810aのそれぞれ条件ノード816a及び817aに対応する。被許可者ノード827bは、ルールチェーン810fの被許可者ノード817fに対応する。
【0164】
理解されるように、本明細書で説明する融合プロセスは、ルールチェーン810a、810b、810c、810d、810e、810f、810g、810h及び810iの各々及び分岐点の各々において実行されて、
図8Cのルールツリー820が生成され得る。例えば、許可ノード823bに関連する分枝内で、ルールチェーン810b、810e及び810g内の許可ノードから下流のノードは、これらのノードを融合できるか否かを特定する目的で解析される。したがって、許可ノード823bの分岐に関連するノードは、標的ノード824b、優先度ノード825c、825d、条件ノード826b及び被許可者ノード827c、827d、827eを含む。許可ノード823cに関連する分枝の中で、ルールチェーン810c及び810hの中の許可ノードから下流のノードは、これらのノードを融合できるか否かを特定する目的で解析される。したがって、許可ノード823cの分枝に関連するノードは、標的ノード824c、優先度ノード825e、825f、条件ノード826c及び被許可者ノード827f、827gを含む。許可ノード823dに関連する分枝の中で、ルールチェーン810d及び810i内の許可ノードから下流のノードは、これらのノードを融合できるか否かを特定する目的で解析される。したがって、許可ノード823dの分枝に関連するノードは、標的ノード824d、優先度ノード825g、825h、条件ノード826d及び被許可者ノード827h、827iを含む。
【0165】
次に、動作604cで、動作604bで生成されたルールツリー内の条件ノードに関連する属性が識別され得る。例えば、ルールツリー820内の条件ノード826a、826b、826c及び826dに関連する属性(例えば、PrincipalID)が識別され得る。別の例として、ルールツリー720内の条件ノード726a、726b、726c及び726dに関連する属性(例えば、セキュリティグループ)が識別され得る。
【0166】
次に、
図6Bの動作606で、「ユーザレポート」のデータエンティティの識別された属性の値が得られる。この値は、ユーザ又はデータエンティティインスタンスデータストア144から取得され得る。例えば、PrincipalID属性の値が取得され得る。この値は、「ユーザレポート」のデータエンティティのPrincipalID属性が設定されるか否かを示し得る。別の例として、「DataElement」のデータエンティティの識別された属性(例えば、セキュリティグループ)の値が取得され得る。この値は、ユーザ又はデータエンティティインスタンスデータストア144から取得され得る。値は、「DataElement」データエンティティの「セキュリティグループ」属性が設定されるか否かを示し得る。
【0167】
次に、
図6Bの動作608で、動作606で取得された属性値に依存する1つ以上のルールが識別される。これらのルールは、ルールツリー720又は820をフィルタリングすることにより識別され得る。幾つかの実施形態では、ルールツリー720又は820をフィルタリングすることは、ルールツリー720又は820の1つ以上の適用可能な分枝を属性値に基づいて識別することを含み得る。幾つかの実施形態では、シミュレーションモードで、分枝の適用可能性は、ユーザにより、例えば
図4Aに示されるGUI 400の第1の部分のGUI要素410を介して提供される値に基づいて特定され得る。別の実施形態では、評価モードで、適用可能性はデータストア144から取得された値に基づいて特定され得る。また別の実施形態では、適用可能性は、ユーザ及びデータストア144から得られた値の組合せに基づいて特定され得る。
【0168】
続いて例示的なルールツリー820に関して、幾つかの実施形態では、プロセス600は動作608で、ルールツリー820の、PrincipalID属性及び/又はその値への依存性を示すノードを含む分枝を識別し得る。幾つかの実施形態では、ルールツリー820の、PrinaipalID属性の値への依存性を示す条件ノード826a、826b、826c及び826dを含む分枝が識別され得る。例えば、再び
図8Cを参照すると、これらの分枝の1つ以上が識別され得、これらはi)ノード821、822、823a、824a、825a、826a、827aを含む第1の分枝、ii)ノード821、822、823b、824b、825c、826b、827cを含む第2の分枝、iii)ノード821、822、823c、824c、825e、826c、827fを含む第3の分枝、及びiv)ノード821、822、823d、824d、825g、826d、827hを含む第4の分枝である。幾つかの実施形態では、条件ノード以外のノードを有するか又は条件ノードを有しない分枝は、PrincipalID属性及び/又はその値への依存性を示すものとして識別され得る。例えば、ノード821、822、823a、824a、825b、827b等を含む分枝等の他の分枝が、PrinaipalID属性及び/又はその値への依存性を示すものとして識別され得、これは、この分枝は、PrincipalID属性の値が設定されていない時に適用可能であるからである。同様のプロセスを利用して、ルールツリー720の、「セキュリティグループ」の属性又はその値への依存性を示すノードを含む分枝を識別し得ることがわかるであろう。
【0169】
次に、
図6Bの動作610で、動作602で得られたルールの少なくとも幾つかの視覚的レンダリングを含むGUIが生成される。例えば、
図8Dは、本明細書で説明される技術の幾つかの態様による、「ユーザレポート」のデータエンティティの1つ以上のインスタンスにアクションを実施する特権をアクターに対して許可及び/又は拒否するための例示的ルールの少なくとも幾つかの視覚的レンダリングを示す。視覚的レンダリングは、
図8Aに示されるルール802、804及び806等のルールに関連するテキストを含み得る。別の実施形態では、視覚的レンダリングは、ルール802、804、806の全部ではなく一部のレンダリングを含み得る、動作608で識別されたルールに関連するテキストのレンダリングを含み得る。
図8Dの視覚的レンダリングは、本明細書で説明されるように、GUIの第2の部分に含まれ得る。ルールは、ルールを表すテキストを視覚的に強調することによって強調され得る。テキストは、ルールを表すテキストの少なくとも幾つかの強調表示、下線及び/又はフォント特徴の変更により視覚的に強調され得る。幾つかの実施形態では、GUIを生成することは、条件ノードに関連する、識別された属性の各々(例えば、動作604cで識別された属性)のためのGUI要素を生成することにより、GUIの第1の部分を生成することを含む。GUI要素により、ユーザは、得られた属性値を示す入力を提供するか、又は他に属性のための取得された値を提示することが可能となり得る。
【0170】
図8Dに示されるように、視覚的レンダリングは、ルールツリー820の条件ノード822に対応するデータエンティティ(例えば、エンティティクラスはユーザレポート)に関する条件文842を含む。視覚的レンダリングは、作成、読み取り、更新又は削除特権が評価されるか否かを示す、許可ノード823a、823b、823c及び823dにそれぞれ対応する評価文844a、844b、844c及び844dを含む。視覚的レンダリングは、条件ノード826a、826b、826c及び826dにそれぞれ対応する条件文846a、846b、846c及び846dを含む。視覚的レンダリングは、被許可者ノード827a、827c、827f及び827hにそれぞれ対応する許可文848a、848b、848c及び848dを含む。視覚的レンダリングは、被許可者ノード827b、827d、827e、827g及び827iにそれぞれ対応する許可文850a、850b、850c、850d及び850eを含む。
【0171】
幾つかの態様では、「DataElement」データエンティティの1つ以上のインスタンスにアクションを実施する特権をアクターに対して許可及び/又は拒否するための例示的なルールの少なくとも幾つかの視覚的レンダリングが
図4Aに示されている。幾つかの実施形態では、
図4Aの視覚的レンダリングは、
図7Aに示されるルール702、704及び706等のルールに関連するテキストを含み得る。別の実施形態では、視覚的レンダリングは、動作608で識別されたルールに関連するテキストのレンダリングを含み得、これは、ルール702、704、706の全部ではなく幾つかのレンダリングを含み得る。
図4Aの視覚的レンダリングは、本明細書で説明されるように、GUIの第2の部分に含まれ得る。ルールは、例えば
図4B~4Dに示されるように、ルールを表すテキストを視覚的に強調することによって強調され得る。テキストは、ルールを表すテキストの少なくとも幾つかの強調表示、下線及び/又はフォント特徴の変化によって視覚的に強調され得る。幾つかの実施形態では、GUIを生成することは、条件ノードに関連する、識別された属性の各々(例えば、動作604cで識別された属性)のためのGUI要素を生成することにより、GUI(例えば、GUI 400)の第1の部分を生成することを含む。GUI要素(例えば、GUI要素410)により、ユーザは、属性について得られた値を示す入力を提供するか、又は他に属性について得られた値を提示することが可能となる。
【0172】
次に、
図6Bの動作612で、生成されたGUIが表示される。次に、プロセス600は動作614に進み、そこで、異なる属性値を示す情報が、例えばユーザ又はデータストア144から取得されたか否かについての特定がなされ得る。異なる属性値を示す情報が取得されたと特定されたことに応答して、プロセスは動作608又は604cに戻る。幾つかの実施形態では、情報が、動作604cでそれ以前に識別されたものと同じ属性について異なる属性値を示す場合、プロセスは動作608に進み、そこで、異なる属性値に依存する1つ以上のルールが識別される。別の所実施形態では、情報が動作604cでそれ以前に識別された属性と異なる別の属性について異なる属性値を示す場合、プロセスは動作604cに戻り、そこで、ルールの少なくとも幾つかによって使用される値を有するデータエンティティの別の属性が識別される。何れの場合も、プロセス600は残りの下流の動作を経て、最終的に動作614で、異なる属性値を示す情報が取得されなかったことが特定される。異なる属性値を示す情報が取得されなかったとの特定に応答して、
図6Bのプロセス600は終了する。
【0173】
図9Aは、本明細書で説明される技術の幾つかの態様による、論理「アンド」条件を有するルールを具現化する例示的なルールツリー910を示す。ルールツリー910は、更新特権の種類を示す許可ノードに関連する分枝を示す。これらの分枝は、ルールツリー910を、ユーザ又はデータストア144から取得された特権の種類の値に基づいてフィルタリングすることにより識別され得る。取得された特権の種類の値が「更新」特権の種類を示すため、それぞれの許可ノードに関連する分枝のみが、後述の
図9Bの視覚的レンダリングを生成する目的のために適用可能と考えられる。作成、読み取り及び削除の特権種類に関連する他の分枝はフィルタリングにより除去される。
図9Aに示されるように、標的ノードと条件ノードの組合せは、「課題」のデータエンティティの1つ以上のインスタンスに更新アクションを実施する特権が何れのアクターに対して許可されるかを特定するための論理「アンド」条件を示す。例えば、第1の組合せは、標的=DQスコアレベル且つ種類=DQIの場合、「課題」のエンティティの1つ以上のインスタンスに更新動作を実行する特権が何れのアクターにも許可されないことを示し、第2の組合せは、標的=最後のDQ測定収集時間且つ種類=DQIである場合、「課題」のデータエンティティの1つ以上のインスタンスに更新データを実行する特権が何れのアクターにも許可されないことを示し、第3の組合せは、標的=最初のDQ測定収集時間且つ種類=DQIである場合、「課題」のデータエンティティの1つ以上のインスタンスに更新アクションを実施する特権が何れのアクターにも許可されないことを示す。
【0174】
図9Bは、本明細書で説明される技術の幾つかの態様による、「課題」のデータエンティティの1つ以上のインスタンスにアクションを実施する特権をアクターに対して許可及び/又は拒否するための例示的なルールの少なくとも幾つかの、
図9Aのルールツリーを使用して生成される視覚的レンダリングを含むGUI 920を示す。GUI 920は第1の部分922を含み、これは、「課題」としてのデータエンティティクラスの値及び「更新」としての関心対象の特権の種類を示すGUI要素を含む。GUI 920は第2の部分924を含み、これは
図9Aのルールツリー910を使用して生成される視覚的レンダリングを含む。
【0175】
図10Aは、本明細書で説明される技術の幾つかの態様による論理「オア」条件を有するルールを具現化する例示的なルールツリー1010を示す。ルールツリー1010は、更新の特権の種類を示す許可ノードに関連する分枝を示す。これらの分枝は、ルールツリー1010を、ユーザ又はデータストア144から取得された特権の種類の値に基づいてフィルタリングすることにより識別され得る。取得された特権の種類の値が「更新」の特権種類を示すため、それぞれの許可ノードに関連する分枝のみが、後述の
図10Bの視覚的レンダリングを生成する目的に適用可能と考えられる。作成、読み取り及び削除の特権種類に関連する他の分枝はフィルタリングにより除去される。
図10Aに示されるように、役割の種類を指定する条件ノードは、「プリンシパル」のエンティティの1つ以上のインスタンスに更新アクションを実施する特権が何れのアクターに対して許可されるかを特定するための論理「オア」条件を示す。
【0176】
図10Bは、本明細書で説明される技術の幾つかの態様による、「プリンシパル」のデータエンティティの1つ以上のインスタンスにアクションを実施する特権をアクターに対して許可及び/又は拒否するための例示的なルールの少なくとも幾つかの、
図10Aのルールツリーを使用して生成された視覚的レンダリングを示す。GUI 1020は、第1の部分1022を含み、これは、「プリンシパル」としてのデータエンティティクラスの値及び「更新」としての関心対象の特権の種類を示すGUI要素を含む。GUI 1020は第2の部分1024を含み、これは
図10Aのルールツリー1010を使用して生成される視覚的レンダリングを含む。
【0177】
図11Aは、本明細書で説明される技術の幾つかの態様による例示的なGUI 1115の図解図であり、それを通して、ユーザは、動作の「エディタ」モードを選択し得る。GUI 1115は、ユーザが1つ以上のデータエンティティに関連する1つ以上のルールを作成し、それに変更を加え、且つ/又はそれを削除することできる動作の「エディタ」モードを選択するためのGUI要素1020を含む。幾つかの実施形態では、GUI 1115は、ユーザが各種のコンフィギュレーションオプションの中から「特権」というGUI要素(図示せず)を選択したことに応答して表示され得る。幾つかの実施形態では、GUI 1115は、本明細書で説明される動作の「シミュレータ」モードを選択するためのGUI要素1102を含み得る。
【0178】
GUI 1115は、本明細書で説明される技術の幾つかの態様により、特権を許可及び/又は拒否するための1つ以上のルールに関する関心対象の特権を選択するためのオプションをユーザに提供する。GUI 1115は、関心対象の特権を選択するためのGUI要素1125を含む。幾つかの実施形態では、ユーザはGUI要素1125を介して表示される複数の特権種類(例えば、「作成」、「読み取り」、「更新」、「削除」等)の中から関心対象の具体的な特権を選択するように案内され得る。これは、データ処理システムに適合する値の候補を識別することにより、ユーザがシステムに値を入力するのを支援する。これにより、データ処理システムにランタイムエラーの原因となり得る不適合な値が導入されることが回避される。幾つかの実施形態では、GUI要素1125は、ドロップダウンメニューを含み得るが、他のGUI要素、例えばラジオボタン、チェックボックス等も追加的又は代替的に使用され得る。
【0179】
GUI 1115は、本明細書で説明される技術の幾つかの態様により、特権を許可及び/又は拒否するための1つ以上のルールが適用されるデータエンティティを選択するためのオプションもユーザに提供する。
図11Aは、GUI要素1125を介した「作成」の特権の選択を示す。GUI 1115は、ルール1135が適用され、且つ/又は何れかの新たに作成されたルールが適用されることになるデータエンティティ(例えば、「DataElement」データエンティティ)を選択するためのGUI要素1130を含む。幾つかの実施形態では、ルール1135は、システムが、GUI要素1130を介して選択された「DetaElement」データエンティティの1つ以上のインスタンスに「作成」アクションを実施する特権を1人以上のアクター(例えば、エディタの役割を有するアクター及び/又は他のアクター)に許可及び/又は拒否するためにシステムが生成するデフォルトルールを含み得る。幾つかの実施形態では、GUI 1115は、それにより1つ以上のルールが適用される「DataElement」データエンティティの属性を選択できる追加的なGUI要素も含み得る。これらの実施形態では、GUI 1115は、1つ以上のルールがそのために作成され得る「DataElement」データエンティティに関連する標的属性を選択するための追加的なGUI要素(図示せず)を含み得る。
【0180】
図11B~11Dは、本明細書で説明される技術の幾つかの態様による、ユーザが、具体的な関心対象の特権及びデータエンティティに関連する新たなルールを作成し、且つ/又は既存のルールを編集し得る例示的なGUI 1116、1117、1118の図解図である。
図11Bに示されるように、ユーザには、1つ以上のルールを編集、追加及び削除するためのオプション1140が提供され得る。GUI 1116は、1つ以上のルールを編集するためのGUI要素1142、1つ以上のルールを追加するためのGUI要素1144及び1つ以上のルールを削除するためのGUI要素1146を含む。
【0181】
幾つかの実施形態では、GUI 1116のGUI要素1142の選択により、
図11Cに示されるGUI 1117が生成され、提示され、そこでユーザは1つ以上のルールを編集し得る。幾つかの実施形態では、ルールを編集することは、既存のルールに関連する条件、関心対象の特権が許可されるアクターへの変更及び/又は他の変更を行うことを含み得る。
図11Cに示されるように、ユーザは「作成」アクションを実施する特権が許可されるアクターを変更し得る。GUI 1117は、「作成」の特権種類が許可される被許可者又はアクターを選択するためのGUI要素1150を含む。
図11Cに示されるように、GUI 1117は、そこからユーザが所望の被許可者を選択できる各種のオプションを提供する。
図11Cに示される幾つかの例示的なオプションは、「BizHierarchy責任者」の被許可者、「分類責任者」の被許可者、「エンプティ」の被許可者、「ペアレントから継承」の被許可者、「責任者」の被許可者、「プリンシパル」の被許可者及び「プリンシパルの属性」の被許可者を含む。
【0182】
幾つかの実施形態では、「BizHierarchy責任者」の被許可者オプションは、「作成」特権を、GUI要素1130を介して選択されたデータエンティティが属する階層(例えば、BizHierarchy)に関連する責任者に許可する。このオプションを選択することにより、ユーザは、ドロップダウンメニュー(GUI 1117では図示せず)等の追加のGUI要素を使用してBizHierarchyを選択するように促され得る。
【0183】
幾つかの実施形態では、「分類責任者」の被許可者オプションは、「作成」特権を、GUI要素1130を介して選択されたデータエンティティについて指定された分類に関連する責任者に許可する。このオプションを選択することにより、ユーザは、ドロップダウンメニュー(GUI 1117では図示せず)等の追加のGUI要素を使用して分類を選択するように促され得る。
【0184】
幾つかの実施形態では、「エンプティ」の被許可者オプションは、被許可者を指定しない。
【0185】
幾つかの実施形態では、「ペアレントから継承」の被許可者オプションは、「作成」特権を、GUI 要素1130を介して選択されたデータエンティティのペアレントデータエンティティに割り当てられたものと同じ被許可者(例えば、アクター、責任者等)に許可する。
図11Cに示されるように、「ペアレントから承認」の被許可者オプションはGUI要素1150を介して選択される。
【0186】
幾つかの実施形態では、「責任者」の被許可者オプションは、「作成」特権を、GUI要素1130を介して選択されたデータエンティティに直接関連する責任者に許可する。このオプションを選択することにより、ユーザは、ドロップダウンメニュー(GUI 1117では図示せず)等の追加のGUI要素を使用して責任者のための値を選択するように促され得る。
【0187】
幾つかの実施形態では、「プリンシパル」の被許可者オプションは、「作成」の特権を、GUI要素1130を介して選択されたデータエンティティに直接関連するユーザ、グループ又は役割に許可する。このオプションを選択することにより、ユーザは、3つのオプションであるユーザ、グループ及び役割を含むドロップダウンメニュー(GUI 1117では図示せず)等の第1の追加のGUI要素を使用してユーザ、グループ又は役割を選択し、その後、ドロップダウンメニュー(同じくGUI 1117では図示せず)等の第2の追加のGUI要素を使用して「作成」特権が許可されるプリンシパルを選択するように促され得る。
【0188】
幾つかの実施形態では、「プリンシパルの属性」の被許可者オプションは、「作成」特権を、GUI要素1130を介して選択されたデータエンティティの属性に関連するユーザ、グループ又は役割に許可する。このオプションを選択することにより、ユーザは、3つのオプションであるユーザ、グループ及び役割を含むドロップダウンメニュー(GUI 1117では図示せず)等の第1の追加のGUI要素を使用してユーザ、グループ又は役割を選択し、その後、ドロップダウンメニュー(同じくGUI 1117では図示せず)等の第2の追加のGUI要素を使用して属性を選択するように促され得る。
【0189】
幾つかの実施形態では、
図11BのGUI 1116のGUI要素1144を選択することにより、
図11Dに示されるGUI 1118が生成され、表示されて、そこでユーザは既存のルールに新しいルールを追加するか又は新たな条件を追加し得る。幾つかの実施形態では、GUI 1118により、ユーザはそれに基づいてルールが適用される条件を編集及び/又は追加することでき得る。ルールの許可部分1155は、
図11CのGUI要素1150を介した「プリンシパル」の被許可者オプションの選択に基づいて作成され得る。GUI 1118は、それに基づいてルールが適用される1つ以上の条件を選択、追加及び/又は編集するためのダイアログボックス1156を含む。例えば、ルールは、満たされるべき1つ以上の条件を説明するif文を含み得る。このような条件は、GUI 1118を介して指定され得る。ルールは、指定された条件が満たされたときにデータエンティティに適用される。
【0190】
図11Eは、本明細書で説明される技術の幾つかの態様による、ユーザが関心対象の具体的なデータエンティティ及び特権に関連する1つ以上のルールを閲覧し得る例示的なGUI 1119の図解図である。GUI 1119のGUI要素1160を選択することにより、「UserReport」のデータンエティティ及び「削除」特権に関連する1つ以上のルールが表示される。GUI 1119は、「UserReport」のデータエンティティと「削除」特権に関連する2つのルール1150、1152を含む。ルールは、それに基づいて「削除」特権が適用される条件及び「削除」特権が誰に許可されるかを規定する。ルール1150は、それに基づいて「削除」特権が適用される条件(「PrincipalID」が設定されれば)を指定する。ルール1150は、「PrincipalID」が設定される場合、「PrincipalID」の属性で指定されたアクター(例えば、プリンシパル)に「UserReport」のデータエンティティの1つ以上のインスタンスに「削除」アクションを実施する特権が許可されることを示す。ルール1152は、GUI要素1130を介して選択された「UserReport」のユーザエンティティの1つ以上のインスタンスに「削除」アクションを実施する特権をアクター(エディタの役割を有する)に許可する。ルール1152は黙示的なif文を含むと考えられ得、その場合、アクターにはそのアクターがエディタの役割に関連する場合に「削除」アクションを実施する特権が許可される。
【0191】
幾つかの実施形態では、一緒に評価されるルールは1つのケースにまとめられる。
図11Eに示されるように、GUI 1119は2つのケース1172、1174を含み、その各々は1つのルールを含む。例えば、第1のケース1172は、レポートを作成したアクター(すなわちPrincipalIDの属性で指定されたプリンシパルであるアクター)がそれを削除できるというルール1150を含む。第2のケース1174は、エディタの役割に関連するアクターがそのレポートを削除することができるようにするルール1152を含む。GUI 1119は1つのルールをゆする各ケースを示すが、ケースは複数の条件(例えば、if文)を有する複数のルールを含むことができる。
図11Dを参照すると、GUI 1118は、ユーザが新たなケースを追加し、そのケース内でルールを指定/作成できるようにするGUI要素1157を含む。
【0192】
幾つかの実施形態では、あるケースの全てのルールは同じ優先度の値を有し、データ処理システム120により一緒に評価される。幾つかの実施形態では、ルールの評価は動作の「エバリュエータ」モードで実行され得る。あるケースのルールの何れかにより規定される条件が満たされた場合、データ処理システム120はそのケースに関連付けられた1つ以上のルールにおいて規定された特権を許可し得、後続のケースの何れについても評価を継続しない。あるケースの中で規定される条件の何れも満たされない場合、データ処理システム120は次のケースを評価し、最終的にそのルールで設定された1つ以上の条件が満たされるケースが特定される。
【0193】
幾つかの実施形態では、1つ以上のルールがデータエンティティに適用されるか否か若しくはいつ適用されるかの特定の及び/又はルールの評価は、データエンティティの1つ以上のインスタンス(例えば、データエンティティインスタンスデータストア144から得られたインスタンス)に特定及び/又は評価を実行することを含み得る。
【0194】
図12A~12Eは、本明細書で説明される技術の幾つかの態様による、ユーザが、「BizAsset」のデータエンティティの1つ以上のインスタンスにアクションを実施する特権をアクターに対して許可及び/又は拒否するための新しいルールを作成し、且つ/又は既存のルールを編集し得る例示的なGUI 1200、1202、1204、1206及び1208の図解図である。
図12A~12Eは、ユーザが「BiaAsset」のデータエンティティの1つ以上のインスタンスに「読み取り」動作を実行する特権をアクターに対して許可するための条件を含めるようにルールを編集するために使用するGUIを示す。例えば、エグゼクティブの役割を有するアクターには、「極秘」の機密性レベルを示す分類属性を有する「BizAsset」のデータエンティティの1つ以上のインスタンスに「読み取り」アクションを実施する特権が許可され得る。
【0195】
図12Aは、ユーザが動作の「エディタ」モードを選択し、GUI要素1125を介して関心対象の特権(すなわち読み取り)を選択し、GUI要素1130を介してデータエンティティ(例えば「BizAsset」)を選択したことに応答して生成され、提示されるGUI 1200を示す。幾つかの実施形態では、GUI 1200は、ユーザが動作の「エディタ」モードを選択したことに応答して提示され得、ユーザには、GUI 1200を介して関心対象の特権、データエンティティ及びそのデータエンティティに関連する何れかの標的属性を選択するためのオプションが提示され得る。
【0196】
図12Aに示されるように、「BizAsset」のデータエンティティ及び選択された関心対象の特権に関連するあらゆる既存のルール1220、1222がGUI 1200に表示される。GUI 1200は2つのケース1211及び1212を含む。ケース1211は、ルール1220を含み、ケース1212はルール1222を含む。ルール1220は、それに基づいて「読み取り」特権が適用される条件(例えば、データエンティティの現在のワークフロー状態が「ドラフト」状態である場合)を指定する。ルール1220は、指定された条件が満たされた場合、アクター(エディタの役割を有する)に「BizAsset」データエンティティの1つ以上のインスタンスに「読み取り」アクションを実施する特権が許可されることを示す。ルール1222は、アクター(エディタの役割を有する)に、「BizAsset」データエンティティの1つ以上のインスタンスに「読み取り」アクションを実施する特権を許可する。GUI 1200は、それについて1つ以上のルールが規定/作成され得る「BizAsset」のデータエンティティに関連する標的属性を選択するためのGUI要素1216も含む。
【0197】
図12Bは、ユーザがダイアログボックス1225を介してルール1222に条件を追加できるようにするGUI 1202を示す。
図12Bは、ダイアログボックス1225を介してルール1222に追加される「BizAsset」データエンティティの機密性分類属性に関連付けられる条件を示している。ダイアログボックス1225により、ユーザは「極秘」の機密性レベルを示す条件を指定することができる。
【0198】
幾つかの実施形態では、データ処理システム105は、ケース1211のルール/条件とケース1212のルール/条件の何れも適用されない場合、インスタンスのための少なくとも1つのフォールバックルール1224を提供する第3のケース1213を自動的に生成する。
【0199】
図12Cは、ユーザがダイアログボックス1226を介してルール1222に関する被許可者を編集できるようにするGUI 1204を示す。
図12Cは、ダイアログボックス1226を介した「エグゼクティブ」の選択を示しており、これは、GUI 1204を介してルール1222に関して指定された条件が満たされた場合、エグゼクティブの役割に関連するアクターに対して「読み取り」特権が許可されることを示している。
【0200】
幾つかの実施形態では、データ処理システム120は、関心対象のデータエンティティ及び特権について規定されたケースをGUI内に表示される順序で評価し得る。例えば、
図12DのGUI 1206に示されるように、ケース1211が最初に評価され、その後、ケース1212、さらにケース1213が続き得る。GUI 1206は、ケースが評価される順序を変更するためのGUI要素1281、1282を含む。例えば、ユーザはGUI要素1281、1282を利用して、ケースを上下に移動させて、評価の順序を変更し得る。GUI要素1281、1282は、上又は下を指す矢印ボタンを含み得るが、他のGUI要素が追加的又は代替的に使用され得る。
【0201】
図12Eは、「BizAsset」のデータエンティティの1つ以上のインスタンスに「読み取り」アクションを実施する特権をアクターに対して許可及び/又は拒否するためのルールの最終版を示すGUI 1208を示している。GUI 1208に示されるように、ケース1212は上に移動され、それにより、これは、ケース1211の前に評価される。幾つかの実施形態では、データ処理システム105はケース1212を評価し得る。ケース1212の評価は、ルール1222内で指定される条件/基準の評価を含み得る。評価中に基準が満たされた場合、データ処理システム105は指定された特権を許可し、それ以降のケースの評価を停止する。例えば、「極秘」の機密性レベルを示す条件が満たされ(すなわちBizAssetデータエンティティに関連する機密性のレベルが「極秘」に設定され)、ユーザがエグゼクティブの役割に関連する場合、データ処理システム105はエグゼクティブの役割を有するユーザに対して、「BizAsset」データエンティティの1つ以上のインスタンスに「読み取り」アクションを実施する特権を許可し得る。それに対して、基準が満たされない場合、例えば機密性レベルは「極秘」に設定されたているが、ユーザがエグゼクティブの役割ではなくエディタの役割を有する場合、データ処理システム120はケース1211の評価を継続する。
【0202】
幾つかの実施形態では、ケース1211の評価は、BizAssetのデータエンティティに関連するワークフローの中の現在のワークフローの状態を評価することを含む。ルール1220で指定される基準は、BizAssetのデータエンティティに関する現在のワークフローの状態が「ドラフト」の状態であるか否かを特定することを含み得る。BizAssetのデータエンティティに関する現在のワークフローの状態が「ドラフト」状態であれば、データ処理システム105は、エディタのルールを有するユーザに「読み取り」特権を許可し得る。ケース1212と同様に、ケース1211の基準が満たされた場合、データ処理システム105は指定された特権を許可し、それ以降のケースの評価を停止する。それに対して、基準が満たされない場合、データ処理システム105はケース1213の評価を続ける。ケース1213は最後のフォールバックケースであるため、ケース1212又はケース1211で指定された基準の何れも満たされない場合、データ処理システム105は、ユーザの役割を有するユーザに「読み取り」特権を許可し得る。
【0203】
幾つかの実施形態では、ユーザはルールツリーのノードを編集することによってルールに編集を行い得る。これらの実施形態では、ルールツリー、例えばルールツリー720、820、910、1010の少なくとも一部はGUIを介してユーザに提示され得、ユーザはルールツリーの1つ以上のノードを編集し得る。例えば、ルールツリーの1つのノードの編集により、1つ以上の基本となるルールがそれに関連して更新され得る。
図8Cを参照に関して、ルールツリー820がGUIを介してユーザに提示され、ノード827bが編集されてプリンシパルの被許可者が「エディタの役割」から「ユーザの役割」に変更されると、
図8Dに示される許可文850aにもそれに対応する変更が行われ得る。
【0204】
図13は、本明細書で説明される技術の幾つかの態様による、データエンティティに関連するルールを作成及び/又は編集するための例示的プロセス1300のフローチャートである。プロセス1300は、何れの適当なデータ処理システムによっても実行され得、例えば
図2に関して説明したデータ処理システム105によって実行され得る。
【0205】
プロセス1300は、動作1302から始まり、その間に第1の特権の選択及び複数のデータエンティティの中の第1のデータエンティティの選択が得られる。例えば、第1の特権、例えば「作成」特権の選択と、第1のデータエンティティ、例えば「DataElement」のデータエンティティの選択とは、
図11Aに示されるGUI 1115を介して取得され得る。別の例として、幾つかの実施形態では、第1の特権、例えば「読み取り」特権の選択、第1のエンティティ、例えば「BizAsset」のデータエンティティの選択及び「BizAsset」のデータエンティティに関連する何れかの標的属性の選択は、
図11Aに示されるGUI 1100を介して取得され得る。幾つかの実施形態において、選択は、別々のGUIを介して取得され得る。
【0206】
次に、動作1304で、第1のデータエンティティの1つ以上のインスタンスに1つ以上のアクションを実施する第1の特権を1人以上のアクターに対して許可及び/又は拒否するための1つ以上のルールが取得される(例えば、ネットワークを通してコンピュータからの情報を受け取ること並びに/又はコンピュータ可読記憶媒体及び/若しくはデータストアから情報にアクセスすることによる)。例えば、
図12Aのルール1220等のルールが取得され得る。1つ以上の追加のルール、例えばルール1222も取得され得る。ルールは、例えばデータ処理システム105に通信可能に連結されたデータストア146から等、何れの適当なソースからも取得され得るが、これは本明細書で説明される技術の態様はこの点で限定されないからである。
【0207】
次に、動作1306で、1つ以上のルールが更新され得る。GUIを通して取得されたユーザ入力に基づいて、第1のルールが更新されて第2のルールが取得され得る。第1のルールを更新することは、ルールに新しい条件を追加すること及び/又はそのルールに関連する既存の条件を編集することにより、第1のルールを更新することを含み得る。幾つかの実施形態では、第1のルールは、それに基づいて第1のルールが適用される条件を特定することによって更新され得る。それに基づいて第1のルールが適用される条件は、動作1306aで第1のデータエンティティに関連する複数の属性の中の第1の属性の選択を取得し、動作1306bで第1の属性の複数の値のそれぞれに対応する複数の選択可能なオプションを、GUIを介して提示し、動作1306cで第1の属性の複数の値の第1の値の選択を、GUIを介して取得することによって特定され得る。
【0208】
図12Bを参照すると、ルール1222は、ダイアログボックス1225を介して取得されたユーザ入力に基づいて更新され得る。動作1306aで、「BizAsset」のデータエンティティに関連する機密性分類の属性の選択が取得され得る。選択に応答して、動作1306bで、複数の選択可能なオプションは、ダイアログボックス1225を介して提示され得る。選択可能なオプションは、ドロップダウンメニューを介して提示され、機密性の分類属性の値、例えば機密、極秘、社内用、公開等のそれぞれに対応し得る。幾つかの実施形態では、選択可能なオプションは、データストア144に記憶されたメタデータを使用して識別される。メタデータは、第1のデータエンティティのための値を指定し得、選択可能なオプションは、システム内で指定されたこれらの値に対応し得る。幾つかの実施形態では、選択可能なオプションは、データストア244に記憶されたデータエンティティ間の関係を指定するメタデータを使用して識別される。例えば、メタデータは、階層に従って第1のデータエンティティに関する1つ以上のデータエンティティを識別するために使用され得、関係するデータエンティティに関連する属性(及びその値)が第1のデータエンティティに適用されるか否かに関する特定が行われ得る。関係するデータエンティティに関連する属性(及びその値)が第1のデータエンティティに適用されるとの特定に応答して、関係するデータエンティティに関連する値に対応する選択可能なオプションがGUIを介して提示され得る。このようにしてメタデータを利用して選択可能なオプションを識別することにより、ユーザには関係深いオプションが提示されることになる。
【0209】
動作1306cで、各種の値の中からの第1の値の選択が取得され得る。
図12Bは、「極秘」の値の選択を示している。この選択は、機密性分類属性が「極秘」の値を取るとき、ルール1222が「BizAsset」データエンティティに適用されることを示す。幾つかの実施形態では、ルールが(例えば、エンティティの属性が特定の値を取るときに)データエンティティに適用されるとの指示は、ルールがデータエンティティのあるインスタンス(例えば、データエンティティインスタンスデータストア144等のデータストアから取得されるインスタンス)に適用されるとの指示を含み得る。
【0210】
幾つかの実施形態では、第1のルールは選択を反映するように更新され得る。それに基づいて第1のルールが適用される条件は、この選択に基づいて追加又は編集され得る。例えば、
図12Bのダイアログボックス1225を介して行われる選択に基づいて、ルール1222は、「BizAsset」データエンティティの機密性分類属性に関連する条件をルール1222に追加することによって更新され得る。
【0211】
幾つかの実施形態では、第1のルールを更新することは、取得された様々なユーザ入力/選択(例えば、GUIを介して入力を受け取ること、ネットワーク上でコンピュータから情報を受け取ること並びに/又はコンピュータ可読記憶媒体及び/若しくはデータストアからの情報にアクセスすることによって取得される)の結果として行われたあらゆる変更を保存することを含み得る。更新されたルールは、データストア146に保存され得る。
【0212】
図14は、本明細書で説明される技術の幾つかの態様による、データエンティティに関連するルールを作成及び/又は編集するための例示的なプロセス1400のフローチャートである。プロセス1400は、何れの適当なデータ処理システムによっても実行され得、例えば、
図2に関して説明したデータ処理システム105によって実行され得る。
【0213】
プロセス1400は、動作1402から始まり、その間に第1の特権の選択及び複数のデータエンティティからの第1のデータエンティティの選択が取得される。例えば、第1の特権、例えば「作成」特権の選択と、「DataElement」データエンティティ等の第1のデータエンティティの選択とは、
図11Aに示されるGUI 1115を介して取得され得る。他の例として、幾つかの実施形態では、第1の特権、例えば「読み取り」特権の選択、第1のデータエンティティ、例えば「BizAsset」データエンティティの選択及び「BizAsset」データエンティティに関連する何れかの標的属性の選択は、
図11Aに示されるGUI 1100を介して取得され得る。幾つかの実施形態では、これらの選択は、別々のGUIを介して取得され得る。
【0214】
次に、動作1404で、第1のデータエンティティの1つ以上のインスタンスに少なくとも1つのアクションを実施する第1の特権を少なくとも1人のアクターに対して許可及び/又は拒否するための1つ以上のルールが取得される(例えば、ネットワーク上でコンピュータから情報を受け取ること並びに/又はコンピュータ可読記憶媒体及び/若しくはデータストアからの情報にアクセスすることによる)。例えば、
図12Aに関して、ルール、例えば「BizAsset」データエンティティの1つ以上のインスタンスに「読み取り」アクションを実施する「読み取り」特権をアクター(例えば、エディタの役割を有する)に対して許可及び/又は拒否するためのルール1220が取得され得る。1つ以上の追加のルール、例えばルール1222も取得され得る。ルールは、何れの適当なソース、例えばデータ処理システム120に通信可能に連結されたデータストア146からも取得され得るが、これは、本明細書で説明される技術の態様はこの点で限定されないからである。
【0215】
次に、動作1406で、1つ以上のルールが更新され得る。第1のルールは、GUIを通して取得されたユーザ入力に基づいて更新されて第2のルールが取得され得る。第1のルールを更新することは、第1のルールで指定されたアクターを変更すること及び/又は第1のルールにアクターを追加することによって第1のルールを更新することを含み得る。幾つかの実施形態では、ルールで指定されたアクターを編集するためのユーザ入力を取得することに応答して、第1の特権が許可され得る複数のアクターが動作1406aで識別され、複数のアクターに対応する複数の選択可能なオプションが動作1406bで提示される。
【0216】
図12Cを参照すると、ルール1222は、GUI 1204のダイアログボックス1226を介して得られたユーザ入力に基づいて更新され得る。動作1406aで、それに対して「読み取り」特権を許可できる複数のアクターが、ルール1222で指定されたアクターを編集するためのユーザ入力を取得することに応答して識別され得る。幾つかの実施形態では、複数のアクターは、「BizAsset」データエンティティの1つ以上の属性の1つ以上の値に基づいて識別され得る。幾つかの実施形態では、アクターは、データストア244に記憶されたデータエンティティ間の関係を指定するメタデータを使用して識別される。メタデータは、第1のデータエンティティが属する階層に従って第1のデータエンティティに関係する1つ以上のデータエンティティを識別するために使用され得る。例えば、「BizAsset」データエンティティの属性値が、データエンティティが属する具体的な階層を示している場合、関係するデータエンティティ(すなわち階層に従って「BizAsset」データエンティティに関係する)に関連するルールで指定されたアクターが「BizAsset」データエンティティに適用されるか否かに関する特定が行われ得る。1つのデータエンティティは、様々な方法の何れかで階層内の他のデータエンティティに関係し得る。例えば、1つのデータエンティティは、階層の中の他のデータエンティティの祖先(ペアレント、グランドペアレント等)であり得る。関係の別の例として、1つのデータエンティティは階層の中の別のデータエンティティの子孫(例えば、子、孫等)であり得る。関係のまた別の例として、1つのデータエンティティは階層の中の他のデータエンティティと共通の祖先を共有し得る。関係するデータエンティティに関連するルールで指定されたアクターが「BizAsset」データエンティティに適用されるとの特定に応答して、動作1406aでアクターが識別され得る。
【0217】
動作1406bで、識別されたアクターに対応する複数の選択可能なオプションがダイアログボックス1226を介して提示され得る。選択可能なオプションは、ドロップダウンメニューの中で提示されて、動作1406aで識別されたアクターに対応し得る。
【0218】
幾つかの実施形態では、第1のルールは選択を反映するように更新され得る。第1のルールで指定されたアクターは、選択に基づいて更新され得る。例えば、
図12Cのダイアログボックス1226を介して行われた選択に基づいて、ルール1222は、それに対して「読み取り」特権が許可されるアクターを変更することによって更新され得る。
【0219】
幾つかの実施形態では、第1のルールを更新することは、取得されたユーザ入力/選択(例えば、GUIを介して入力を受け取ること、ネットワーク上でコンピュータから情報を受け取ること並びに/又はコンピュータ可読記憶媒体及び/若しくはデータストアからの情報にアクセスすることによって取得される)の結果として行われたあらゆる変更を保存することを含み得る。更新されたルールは、データストア146に保存され得る。
【0220】
幾つかの実施形態では、ルールを更新することは、i)新しい条件をルールに追加すること及び/又はルールに関連する既存の条件を編集することにより、且つii)ルールで指定されたアクターを変更すること及び/又はルールにアクターを追加することによってルールを更新することを含み得る。これらの実施形態では、
図13の動作(例えば、動作1306、1306a、1306b、1306c)及び
図14の動作(例えば、動作1406、1406a、1406b)は逐次的に実行されてルールを更新し得る。
【0221】
追加的な実装形態の詳細
図15は、本明細書で説明される技術を実装することができる適切なコンピューティングシステム環境1500の例を示す。計算システム環境1500は、適した計算環境の単なる一例であり、本明細書に記載される技術の使用又は機能の範囲へのいかなる限定も示唆することを意図しない。計算環境1500は、例示的な動作環境1500に示される構成要素の何れか1つ又は組合せに関連するいかなる依存性又は要件も有するものとして解釈されるべきではない。
【0222】
本明細書に記載される技術は、多くの他の汎用又は専用計算システム環境又は構成を用いて動作可能である。本明細書に記載される技術との併用に適し得る周知の計算システム、環境及び/又は構成の例には、限定ではなく、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル消費者電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記システム又はデバイスの何れかを含む分散計算環境等がある。
【0223】
計算環境は、プログラムモジュール等のコンピュータ実行可能命令を実行し得る。一般に、プログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。本明細書に記載される技術は、タスクが、通信ネットワークを通してリンクされたリモート処理デバイスによって実行される分散計算環境で実施することもできる。分散計算環境では、プログラムモジュールは、メモリ記憶装置を含むローカルコンピュータ記憶媒体及びリモートコンピュータ記憶媒体の両方に配置され得る。
【0224】
図15を参照すると、本明細書に記載される技術を実施する例示的なシステムは、コンピュータ1500の形態の汎用計算デバイスを含む。コンピュータ1510の構成要素は、限定ではなく、処理ユニット1520と、システムメモリ1530と、システムメモリを含む種々のシステム構成要素を処理ユニット1520に結合するシステムバス1521とを含み得る。システムバス1521は、多様なバスアーキテクチャの何れかを使用したメモリバス又はメモリコントローラ、周辺機器バス及びローカルバスを含め、幾つかのタイプのバスの何れかであり得る。限定ではなく、例として、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクス規格協会(VESA)ローカルバス及びメザニンバスとしても知られる周辺機器相互接続(PCI)バスを含む。
【0225】
コンピュータ1510は、通常、多様なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ1510によりアクセスすることができる任意の利用可能な媒体であり得、揮発性媒体及び不揮発性媒体の両方、リムーバブル媒体及び非リムーバブル媒体の両方を含む。限定ではなく、例として、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータ等の情報を記憶する任意の方法又は技術で実施される揮発性及び不揮発性のリムーバブル及び非リムーバブル媒体を含む。コンピュータ記憶媒体は、限定ではなく、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)若しくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置又は所望の情報を記憶するために使用することができ、コンピュータ1510によりアクセスすることができる任意の他の媒体を含む。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール又は搬送波若しくは他の輸送メカニズム等の変調データ信号における他のデータを具現し、任意の情報輸送媒体を含む。「変調データ信号」という用語は、1つ若しくは複数の特徴セットを有するか、又は信号に情報を符号化するように変更された信号を意味する。限定ではなく、例として、通信媒体は、有線ネットワーク又は直接配線接続等の有線媒体並びに音響、RF、赤外線及び他の無線媒体等の無線媒体を含む。上記の何れかの組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0226】
システムメモリ1530は、読み取り専用メモリ(ROM)1531及びランダムアクセスメモリ(RAM)1532等の揮発性及び/又は不揮発性メモリの形態のコンピュータ記憶媒体を含む。スタートアップ中等に情報をコンピュータ1510内の要素間で転送するのに役立つ基本ルーチンを含む基本入出力システム1533(BIOS)は、通常、ROM1531に記憶される。RAM1532は、通常、処理ユニット1520が即座にアクセス可能であり、且つ/又は処理ユニット1520により現在操作されているデータ及び/又はプログラムモジュールを含む。限定ではなく、例として、
図15は、オペレーティングシステム1534、アプリケーションプログラム1535、他のプログラムモジュール1536及びプログラムデータ1537を示す。
【0227】
コンピュータ1510は、他のリムーバブル/非リムーバブルの揮発性/不揮発性コンピュータ記憶媒体を含むこともできる。単なる例として、
図15は、非リムーバブル不揮発性磁気媒体に対して読み取り又は書き込みを行うハードディスクドライブ1541、フラッシュメモリ等のリムーバブル不揮発性メモリ1552に対して読み取り又は書き込みを行うフラッシュドライブ1551及びCD ROM又は他の光学媒体等のリムーバブル不揮発性光ディスク1556に対して読み取り又は書き込みを行う光ディスクドライブ1555を示す。例示的な動作環境で使用することができる他のリムーバブル/非リムーバブルの揮発性/不揮発性コンピュータ記憶媒体には、限定ではなく、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体状態RAM、固体状態ROM等がある。ハードディスクドライブ1541は、通常、インタフェース1540等の非リムーバブルメモリインタフェースを通してシステムバス1521に接続され、磁気ディスクドライブ1551及び光ディスクドライブ1555は、通常、インタフェース1550等のリムーバブルメモリインタフェースによりシステムバス1521に接続される。
【0228】
上述され、
図15に示されているドライブ及び関連付けられたコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール及びコンピュータ1510の他のデータの記憶を提供する。
図15では、例えば、ハードディスクドライブ1541は、オペレーティングシステム1544、アプリケーションプログラム1545、他のプログラムモジュール1546及びプログラムデータ1547を記憶するものとして示されている。なお、これらの構成要素は、オペレーティングシステム1534、アプリケーションプログラム1535、他のプログラムモジュール1536及びプログラムデータ1537と同じであるか又は異なり得る。オペレーティングシステム1544、アプリケーションプログラム1545、他のプログラムモジュール1546及びプログラムデータ1547には、ここでは、少なくともこれらが異なるコピーであることを示すために異なる番号が与えられている。アクターは、マウス、トラックボール又はタッチパッドと一般に呼ばれるキーボード1562及びポインティングデバイス1561等の入力デバイスを通してコンピュータ1510にコマンド及び情報を入力し得る。他の入力デバイス(図示せず)は、マイクロホン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ等を含み得る。これら及び他の入力デバイスは、多くの場合、システムバスに結合されるユーザ入力インタフェース1560を通して処理ユニット1520に接続されるが、パラレルポート、ゲームポート又はユニバーサルシリアルバス(USB)等の他のインタフェース及びバス構造により接続されることもある。モニタ1591又は他のタイプのディスプレイデバイスもビデオインタフェース1590等のインタフェースを介してシステムバス1521に接続される。モニタに加えて、コンピュータは、スピーカ1597及びプリンタ1596等の他の周辺出力デバイスを含むこともでき、周辺出力デバイスは、出力周辺機器インタフェース1595を通して接続され得る。
【0229】
コンピュータ1510は、リモートコンピュータ1580等の1つ又は複数のリモートコンピュータへの論理接続を使用して、ネットワーク接続された環境で動作し得る。リモートコンピュータ1580は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス又は他の一般的なネットワークノードであり得、通常、コンピュータ1510に関して上述した要素の多く又は全てを含むが、メモリ記憶装置1581のみが
図15に示された。
図15に示される論理接続は、ローカルエリアネットワーク(LAN)1571及び広域ネットワーク(WAN)1573を含むが、他のネットワークを含むこともできる。そのようなネットワーキング環境は、オフィス、企業規模コンピュータネットワーク、イントラネット及びインターネットで一般的である。
【0230】
LANネットワーキング環境で使用される場合、コンピュータ1510は、ネットワークインタフェース又はアダプタ1570を通してLAN1571に接続される。WANネットワーキング環境で使用される場合、コンピュータ1510は、通常、モデム1572又はインターネット等のWAN1573を介して通信を確立する他の手段を含む。モデム1572は、内部又は外部であり得、アクター入力インタフェース1560又は他の適切な機構を介してシステムバス1521に接続され得る。ネットワーク接続環境では、コンピュータ1510に関して示されたプログラムモジュール又はその部分は、リモートメモリ記憶装置に記憶され得る。限定ではなく、例として、
図15は、メモリデバイス1581に常駐するものとしてリモートアプリケーションプログラム1585を示す。示されるネットワーク接続が例示であり、コンピュータ間に通信リンクを確立する他の手段を使用し得ることが理解されるであろう。
【0231】
本明細書に記載される技術の少なくとも1つの実施形態の幾つかの態様を説明したが、当業者は、種々の改変形態、変更形態及び改良形態を容易に想到するであろうことを理解する。
【0232】
そのような改変形態、変更形態及び改良形態は、本開示の一部であることが意図され、本開示の趣旨及び範囲内にあることが意図される。さらに、本明細書に記載される技術の利点が示されたが、本明細書に記載された技術のあらゆる実施形態が、記載されたあらゆる利点を含むわけではないことが理解されるべきである。幾つかの実施形態は、本明細書で利点として記載された任意の特徴を実施しないこともあり、幾つかの場合、記載された特徴の1つ又は複数は、さらなる実施形態を達成するために実施され得る。したがって、上記説明及び図面は、単なる例を目的としている。
【0233】
本明細書に記載される技術の上記実施形態は、多くの方法の何れかで実施することができる。例えば、実施形態は、ハードウェア、ソフトウェア又はそれらの組合せを使用して実施され得る。ソフトウェアで実施される場合、ソフトウェアコードは、1つのコンピュータに提供されるか又は複数のコンピュータに分散するかに関係なく、任意の適したプロセッサ又はプロセッサの集合で実行することができる。そのようなプロセッサは、集積回路として実施され得、1つ又は複数のプロセッサは、CPUチップ、GPUチップ、マイクロプロセッサ、マイクロコントローラ又はコプロセッサ等の名称で等技術分野において既知の市販の集積回路構成要素を含め、集積回路構成要素内にある。代替的に、プロセッサは、ASIC等のカスタム回路又はプログラマブル論理デバイスを構成することから生じるセミカスタム回路で実施され得る。さらなる代替として、プロセッサは、市販であれ、セミカスタムであれ又はカスタムであれ関係なく、より大きい回路又は半導体デバイスの一部であり得る。特定の例として、幾つかの市販のマイクロプロセッサは、コアの1つ又はサブセットがプロセッサを構成され得るように、複数のコアを有する。しかしながら、プロセッサは、任意の適したフォーマットで回路を使用して実施され得る。
【0234】
さらに、コンピュータは、ラックマウントコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ又はタブレットコンピュータ等の多くの形態の何れかで実施され得ることが理解されるべきである。さらに、コンピュータは、個人情報端末(PDA)、スマートフォン又は任意の他の適したポータブル若しくは固定電子デバイスを含め、コンピュータとして一般に見なされないが、適した処理能力を有するデバイスで実施され得る。
【0235】
コンピュータは、1つ又は複数の入力デバイス及び出力デバイスも有し得る。これらのデバイスは、特に、ユーザインタフェースの提示に使用することができる。ユーザインタフェースを提供するために使用することができる出力デバイスの例には、出力を視覚的に提示するためのプリンタ又はディスプレイ画面及び出力を可聴提示するためのスピーカ又は他の音生成デバイスがある。ユーザインタフェースに使用することができる入力デバイスの例には、キーボード及びマウス、タッチパッド及びデジタイズタブレット等のポインティングデバイスがある。別の例として、コンピュータは、発話認識を通して又は他の可聴フォーマットで入力された情報を受信し得る。
【0236】
そのようなコンピュータは、ローカルエリアネットワークとして又は企業ネットワーク若しくはインターネット等の広域ネットワークとしてのものを含め、任意の適した形態で1つ又は複数のネットワークにより相互接続され得る。そのようなネットワークは、任意の適した技術に基づき得、任意の適したプロトコルに従って動作し得、無線ネットワーク、有線ネットワーク又は光ファイバネットワークを含み得る。
【0237】
本明細書で概説した種々の方法又はプロセスは、多様なオペレーティングシステム又はプラットフォームの何れか1つを利用する1つ又は複数のプロセッサで実行可能なソフトウェアとしてもコード化され得る。さらに、そのようなソフトウェアは、幾つかの適したプログラミング言語及び/又はプログラミング若しくはスクリプトツールの何れかを使用して記述することができ、フレームワーク又は仮想マシンで実行される実行可能機械言語コード又は中間コードとしてコンパイルすることもできる。
【0238】
これに関して、本明細書に記載される技術の態様は、1つ又は複数のコンピュータ又は他のプロセッサで実行されると、上述した種々の実施形態を実施する方法を実行する1つ又は複数のプログラムが符号化されたコンピュータ可読記憶媒体(又は複数のコンピュータ可読媒体)(例えば、コンピュータメモリ、1つ又は複数のフロッピーディスク、コンパクトディスク(CD)、光ディスク、デジタルビデオディスク(DVD)、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイ若しくは他の半導体デバイスでの回路構成又は他の有形コンピュータ記憶媒体)として実施され得る。上記例から明らかであるように、コンピュータ可読記憶媒体は、コンピュータ実行可能命令を非一時的な形態で提供するのに十分な時間にわたり情報を保持し得る。そのような1つ又は複数のコンピュータ可読記憶媒体は、記憶された1つ又は複数のプログラムを1つ又は複数の異なるコンピュータ又は他のプロセッサにロードして、上述したような技術の種々の態様を実施することができるように輸送可能であり得る。本明細書で使用される場合、「コンピュータ可読記憶媒体」という用語は、製造(すなわち製品)又は機械であると見なすことができる非一時的コンピュータ可読媒体のみを包含する。代替又は追加として、本明細書に記載される技術は、伝播信号等、コンピュータ可読記憶媒体以外のコンピュータ可読媒体として実施され得る。
【0239】
「プログラム」又は「ソフトウェア」という用語は、本明細書では、一般的な意味において、上述した技術の種々の態様を実施するようにコンピュータ又は他のプロセッサをプログラムするのに利用することができる任意のタイプのコンピュータコード又はコンピュータ実行可能命令の組を指すために使用される。さらに、この実施形態の一態様によれば、実行されると、本発明の方法を実行する1つ又は複数のコンピュータプログラムは、1つのコンピュータ又はプロセッサに常駐する必要はなく、幾つかの異なるコンピュータ又はプロセッサにモジュール式で分散して、本明細書に記載される技術の種々の態様を実施し得ることが理解されるべきである。
【0240】
コンピュータ実行可能命令は、1つ又は複数のコンピュータ又は他のデバイスによって実行されるプログラムモジュール等の多くの形態であり得る。一般に、プログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。通常、プログラムモジュールの機能は、種々の実施形態では、所望のように結合又は分散され得る。
【0241】
データ構造は、任意の適した形態でコンピュータ可読媒体にも記憶され得る。例示を簡潔にするために、データ構造は、データ構造におけるロケーションを通して関連するフィールドを有して示され得る。そのような関係は、同様に、フィールド間の関係を伝達するコンピュータ可読媒体におけるロケーションにフィールドの記憶を割り当てることにより達成され得る。しかしながら、ポインタ、タグ又はデータ要素間に関係を確立する他のメカニズムの使用を含め、データ構造のフィールドにおける情報間の関係を確立するために、任意の適したメカニズムが使用可能である。
【0242】
本明細書に記載される技術の種々の態様は、単独で、組み合わせて又は上述された実施形態で特に考察されていない多様な構成で使用され得、したがって、その適用は、上記説明で記載されるか又は図面に示される構成要素の詳細及び配置に限定されない。例えば、一実施形態において記載された態様は、他の実施形態において記載された態様と任意の様式で結合され得る。
【0243】
本明細書に記載される技術は、方法としても実施され得、方法の例は、
図5A及び5Bの参照を含めて本明細書に提供されている。方法の何れかの一部として実行される動作は、任意の適したような順序であり得る。したがって、例示的な実施形態では順次動作として示されているにもかかわらず、幾つかの動作を同時に実行することを含み得る、動作が示されるのと異なる順序で実行される実施形態を構築し得る。
【0244】
さらに、幾つかのアクションは、「アクター」又は「ユーザ」によって行われるものとして説明されている。「アクター」又は「ユーザ」が1人の個人である必要はなく、幾つかの実施形態では、「アクター」又は「ユーザ」に起因するアクションは、個人のチーム及び/又はコンピュータ支援ツール又は他のメカニズムを組み合わせて個人によって実行され得ることが理解されるべきである。
【0245】
特許請求の範囲におけるクレーム要素を修飾する「第1」、「第2」、「第3」等の序数詞の使用は、それ自体、あるクレーム要素に対する別のクレーム要素のいかなる優先、先行若しくは順序又は方法の動作が実行される時間的順序も含意せず、単に特定の名称を有するあるクレーム要素を、同じ名称を有する(序数詞の使用以外には)別の要素から区別して、クレーム要素を区別するためのラベルとして使用される。
【0246】
また、本明細書で使用される表現及び用語は、説明を目的としており、限定として見なされるべきではない。「包含する」、「含む」又は「有する」、「含有する」、「伴う」及びそれらの変形の本明細書での使用は、その後に列記される項目及びそれらの均等物並びに追加の項目の包含を意味する。
【国際調査報告】