【文献】
Sabrina Kirrane,DC Proposal: Knowledge Based Access Control Policy Specification and Enforcement,The Semantic Web-ISWC 2011 Proceedings,Part II,2011年,p.293-p.300
(58)【調査した分野】(Int.Cl.,DB名)
エンタープライズのリソースを受信するステップであって、各リソースは、前記エンタープライズの1つまたは複数のメンバに対する前記リソースに対するアクセス権を規定するそれぞれのアクセス制御リストを有し、前記リソースは前記エンタープライズに関連するエンティティを記述するデータおよび前記エンティティ間の関係を含む、ステップと、
前記エンティティのエンティティ・ファクトを前記エンタープライズの前記リソースから識別するステップであって、各エンティティ・ファクトは前記エンティティの少なくとも1つの特徴を記述し、前記特徴は前記エンティティ間の対応する関係を含む、ステップと、
エンティティ・ファクトごとに、各リソースの前記アクセス制御リストから、エンティティ・ファクト・アクセス制御リストを決定するステップと、
前記エンティティ、エンティティ・ファクトおよび前記それぞれのエンティティ・ファクト・アクセス制御リストを記述するデータを検索可能インデックスに格納するステップであって、各エンティティ・ファクトはその対応するエンティティ・ファクト・アクセス制御リストに関連付けられる、ステップと、
前記エンタープライズの前記メンバの各々に、前記検索可能インデックス内の前記エンティティおよび前記エンティティ・ファクトを記述する前記データへのアクセス権を、前記それぞれのエンティティ・ファクト・アクセス制御リストに従って提供するステップと、
を含む、データ処理装置で実装される方法。
前記エンティティ・ファクトを記述するデータへのアクセス権を前記メンバに提供するステップは、前記エンティティ・ファクトを表示する知識パネルを提供するステップを含む、請求項4に記載の方法。
少なくとも1つリソースは複数のアクセス制御リストを含み、前記複数のアクセス制御リストの各々は前記リソースのエンティティ・ファクトのサブセットに対応し、前記1つまたは複数のメンバの各々が、前記1つまたは複数のメンバがエンティティ・ファクトの前記それぞれのサブセットに対応する前記アクセス制御リスト上で含まれるエンティティ・ファクトの前記サブセットの各々へのアクセス権を与えられる、請求項1乃至6の何れか1項に記載の方法。
前記エンティティ・ファクトを記述するデータへのアクセス権を前記メンバに提供するステップは、前記エンティティ・ファクトを表示する知識パネルを提供するステップを含む、請求項11に記載のシステム。
少なくとも1つリソースは複数のアクセス制御リストを含み、前記複数のアクセス制御リストの各々は前記リソースのエンティティ・ファクトのサブセットに対応し、前記1つまたは複数のメンバの各々が、前記1つまたは複数のメンバがエンティティ・ファクトの前記それぞれのサブセットに対応する前記アクセス制御リスト上で含まれるエンティティ・ファクトの前記サブセットの各々へのアクセス権を与えられる、請求項8乃至13の何れか1項に記載のシステム。
各エンティティ・ファクト・アクセス制御リストは前記エンタープライズの前記リソースに提供される前記アクセス制御リストとは異なる、請求項15に記載のコンピュータ可読媒体。
【発明を実施するための形態】
【0014】
概要
図1は、エンタープライズデータが統合される例示的な環境100のブロック図である。当該例示的な環境100は、ネットワーク102、例えば、ローカル・エリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、またはそれらの組合せを含み、エンタープライズ情報システム110、アプリケーション・プログラミング・インタフェース120、およびデータ・システム130を接続する。ネットワーク102に有線および/または無線通信リンク上でアクセスすることができる。例えば、スマートフォンのようなモバイルコンピューティングデバイスは、セルラネットワークを利用してアクセス当該ネットワークにアクセスすることができる。
【0015】
エンタープライズ情報システム110が、1つまたは複数の情報ソース112を含んでもよい。
図1でわかるように、情報ソース112は112a、112b,...,112Nとして識別される。これらは、とりわけ1つまたは複数のサブシステム、アプリケーション、プログラム、またはデータベースを含む。例えば、情報ソース112がエンタープライズに対する内部ドキュメントデータベース、エンタープライズイントラネット、エンタープライズ電子メールアプリケーション、またはエンタープライズ情報システム110が(例えば、インターネット、ソフトウェアアプリケーション)に接続される任意のサードパーティ情報ソースであってもよい。情報ソース112の各々はリソース115を含む。リソース115は、
図1において、115a1、115a2・・・115an・・・115n1・・・115NNとして識別されてもよい。リソース115が情報ソース112ごとに異なってもよい。例えば、リソース115が、エンタープライズ情報システム110内に格納されたドキュメント、イントラネットURL、電子メールメッセージ、インターネットURL、または任意の同様なタイプの情報の内容(例えば、エンタープライズ情報システム110がアクセスを有するサードパーティアプリケーションに格納される情報)であってもよい。
【0016】
本明細書で使用する際、「エンタープライズ」は、メンバが属し当該メンバがプロジェクト、タスク、および他のアクションをエンタープライズの代わりに実施するパブリックまたはプライベートな法的エンティティである。例示的なエンタープライズが私的企業、上場企業等であってもよい。「エンタープライズ情報」は少なくとも、部分的にまたは排他的に当該エンタープライズにより作成、所有、監督、または制御される情報である。
【0017】
各リソース115は、当該エンタープライズのどのメンバがその特定のリソースにアクセスしかつ/または当該リソースを修正できるかを示す関連するアクセス制御リスト(ACL)を有する。リソースごとの当該アクセス制御リストが、とりわけ、当該リソースの所有者(または作成者)、読取りアクセス、書込みアクセス、および削除アクセスのようなアクセス権を示してもよい。リソースごとの当該アクセス制御リストが、個別メンバおよび/またはメンバ(例えば、エンタープライズの営業部門)の1つまたは複数のグループへのアクセスを定義し、かつ/または、これらへの特権を修正してもよい。各リソース115が、当該特定のリソースのバージョン(例えば、リソース115a1のバージョン1およびリソース115a1のバージョン2)を決定することもでき、当該特定のリソースのバージョンごとに当該アクセス制御リストが互いと異なってもよい。また、特定のリソースを別のリソースの「親」または「子」として生成または定義してもよい。任意の子リソースに対する当該アクセス制御リストがその定義された親リソースの対する当該アクセス制御リストを継承する。しかし、幾つかの実装では、これはデフォルトのアクセス制御リストにすぎず、当該子リソースおよび/または親リソースに対する当該アクセス制御リストをその他に影響を及ぼさずに修正してもよい。当該実装の変形において、子リソースが、当該親リソースから継承したもの以外の追加のアクセス制御リスト要件を有してもよい。
【0018】
リソース115を、ネットワーク102上で、アプリケーション・プログラミング・インタフェース(API)120を介してデータ・システム130に提供してもよい。API120が、エンタープライズ、データ・システム130のオペレータ、またはサードパーティにより設計されてもよい(例えば、特定のアプリケーションまたはより一般的に適用可能なAPIに対するサードパーティにより開発される)。API120が、使用されるかまたはより多いまたはより少ない異なる定義またはフィールド(例えば、所有者、読取りまたは書込みアクセス、親、子、バージョン等)を含む情報ソース112に提示された異なるアクセス制御リストタイプを受け入れてもよい。さらに、API120は、エンタープライズメンバごとに複数の識別を可能とする。例えば、メンバが情報ソース112aに対する「Jane Doe」の識別を有し情報ソース112bに対する識別「JaneDoe@enterprise.com」を有し、エンタープライズ情報システム110がこれらの識別の両方が同一のメンバに関連する記述を提供する場合、API120は、当該特定のメンバを有するこれらの識別の両方をリンクすることができる。さらに、API120はメンバを1つまたは複数のグループに分類でき、当該グループがエンタープライズ情報システム110で更新され、追加され、または除去された場合、API120が、エンタープライズ情報システム110と同期してAPI120での変化を反映してもよい。
【0019】
リソース115は、データ・システム130によりAPI120を通じて受信される。データ・システム130により実装されたデータベース・スキーマは、データ・システム130に、当該情報を統合し構成するためにAPI120を介してエンタープライズ情報システム110により提供された情報を理解させる。さらに、API120が、データ・システム130が当該情報を統合するために、リソース115に関連付けられた情報を事前定義されたスキーマに従ってタグ付けしてもよい。現在の実装では、データ・システム130は統合システム132、データ記憶134、およびインデクサ136を含む。統合システム132が、とりわけ、データベース、サーバ、モジュール、アプリケーション、またはそれらの組合せであってもよい。統合システム132からの情報はデータ記憶134に格納され、当該情報が当該エンタープライズのメンバにより検索されるように、インデクサ136はデータ記憶134に格納された当該情報をインデックス付けする。これを以下で説明する。
【0020】
エンティティ・ファクト・アクセス制御
図2はデータ・システム130のブロック図である。幾つかの実装では、統合システム132は、当該エンタープライズの1つまたは複数のメンバに対するリソース115へのアクセス権を指定するアクセス制御リストをそれぞれが有する複数のリソース115を受信する。各リソースはエンティティ210を記述するデータおよび/または情報を含む。エンティティ210を
図2のエンティティ210a、210b・・・210Nとして識別してもよい。エンティティ210は当該エンタープライズおよび当該エンティティの間の関係に関連する。当該エンタープライズのエンティティ210が、例えば、人々(またはメンバ)、位置、プロジェクト、部門、販売情報、性能評価、または当該エンタープライズのリソース115内にある任意の他の情報であってもよい。より一般的に、幾つかの実装では、エンティティは、それぞれがテキストフラグメント、例えば、タームまたはフレーズにより参照できる相違なるおよび独立な存在を有し、例えば、コンテキストに基づいて互いに区別可能である開示、概念または物事のトピックである。エンティティが、事実定義および属性を有する物理または概念的現実化であってもよい。
【0021】
さらに、統合システム132はエンティティ・ファクト220を導出する。エンティティ・ファクト220が、リソース115のエンティティ210から
図2のエンティティ・ファクト220a、220b、・・・220Nとしてとして識別されてもよい。各エンティティ・ファクト220はエンティティ210の少なくとも1つの特徴を説明する。当該特徴はエンティティ210間の対応する関係を説明する。例えば、当該エンタープライズのリソース115(例えば、ドキュメント)が、当該エンタープライズの管理におけるものの名前および位置を識別してもよい。「Jane Doe」が、「Vice-President of Sales」の地位で当該エンタープライズを管理してもよい。現在の例では、「Jane Doe」および「Vice-President of Sales」はエンティティであり、エンティティ・ファクト220が、当該エンティティの間の関係を生成する統合システム132で定義されてもよい。当該エンティティ関係を事実関係「Jane Doe」−「Vice-President of Sales」として表現してもよい。様々な技術を使用して、エンティティ・ファクトを識別してもよい。これらは、例えば、名詞および関連する属性を決定するために発行できる言語解析器、日付フィールドの間のキー付き関係等を決定するために使用できるデータベース解析器を含む。
【0022】
さらに、統合システム132はエンティティ・ファクト・アクセス制御リスト230を決定する。エンティティ・ファクト・アクセス制御リスト230が
図2の230a、230b、・・・230Nとして識別されてもよい。エンティティ・ファクト・アクセス制御リスト230がエンティティ・ファクト220ごとに決定される。エンティティ・ファクト220は、各リソースのアクセス制御リスト115から決定される。幾つかの実装では、リソースの当該アクセス制御リストは当該リソースから導出された各エンティティ・ファクトにより継承される。例えば、リソース115a1が当該エンタープライズのメンバの給与情報を有するドキュメントであってもよい。リソース115a1が「Jane Doe」をエンティティ210aとして含んでもよく、「$50,000」を(Jane Doeの給与を示す)別々のカラム内のエンティティ210bとして含んでもよい。給与情報は個人的なおよびセンシティブな情報であるので、リソース115a1に対するアクセス制御リストが、ヒューマン・リソースのディレクタ、例えば、「Mary」のみを含んでもよい。リソース115b1が、メンバの給与量をパーセンテージで分解するイントラネットページであってもよく、「Jane Doe」をエンティティ211aとして含んでもよく、「Top5%」を(Jane Doeの収入割合を示す)エンティティ211bとして含んでもよい。当該情報に対する当該アクセス制御リストが、当該エンタープライズの全てメンバ(またはリソース115a1より大きなメンバのグループ)にアクセスを提供してもよい。エンティティ・ファクトを次いで識別してもよく、本例では、「Jane Doe」および「$50,000」の給与をエンティティ・ファクト220aとして識別してもよく、「Jane Doe」および「Top5%」をエンティティ・ファクト220bとして識別してもよい。これらは、リソース115a1および115b1のエンティティ210a、210b、211a、および211bから導出される。
【0023】
エンティティ・ファクト・アクセス制御リスト230が、それぞれのエンティティ・ファクトが導出されたリソースに基づいて決定されてもよい。例えば、エンティティ・ファクト220aに対するエンティティ・ファクト・アクセス制御リスト230aはMaryのみを含む。なぜならば、エンティティ・ファクト220aが導出されたリソース115a1が当該アクセス制御リスト内のMaryに含まれるからである。エンティティ・ファクト220bに対するエンティティ・ファクト・アクセス制御リスト230bは当該エンタープライズの全てのメンバを含む。なぜならば、リソース115b1は当該アクセス制御リスト内のエンタープライズの全てのメンバに含まれるからである。現在の例に基づいて、Maryはエンティティ・ファクト220aおよびエンティティ・ファクト220bへアクセスできる。なぜならば、彼女はリソース115a1および115b1の両方に対するアクセス制御リストに含まれるからである。しかし、他のメンバ、例えば、「Alvin」、営業員は、基盤となるリソース115a1に対する当該アクセス制御リストの一部でないので220aにアクセスできないが、ファクト220bが導出されたドキュメントに関連付けられた当該アクセス制御リストに基づいてリソース115b1へのアクセス権を有するので、エンティティ・ファクト220bにアクセスすることができる。
【0024】
統合システム132に送信され統合システム132により取得された情報はデータ記憶134に格納される。データ記憶134は、例えば、エンティティを記述するデータ210、エンティティ・ファクト220およびそれぞれのエンティティ・ファクト・アクセス制御リスト230を格納する。各エンティティ・ファクト220はその対応するエンティティ・ファクト・アクセス制御リスト230に関連付けられる。インデクサ136は次いで当該情報をデータ記憶134内でインデックス化する。当該エンタープライズのメンバが、ついで検索エンジン138を使用して、例えば、データ記憶134を検索し、当該エンタープライズのリソース115のエンティティ・ファクト220にアクセスしてもよい。当該エンタープライズの各メンバに、当該それぞれのエンティティ・ファクト・アクセス制御リスト230に従ってエンティティおよびエンティティ・ファクト220を記述するデータ210へのアクセス権が提供される。
【0025】
任意の適切な検索プロセスを、検索エンジン138を実現するために使用することができる。検索エンジン138は、例えば、情報抽出(IR)スコアアルゴリズム、権限スコアアルゴリズム、または関連性および権限アルゴリズムの組合せのうち1つまたは複数を使用することができる。
【0026】
図3は、エンタープライズの基盤となるリソース115から取得されたそれぞれのエンティティ・ファクト・アクセス制御リスト230に基づいてアクセス権をエンティティ・ファクト220に提供するための例示的なプロセス300の流れ図である。プロセス300を、例えば、データ・システム130により実装することができる。幾つかの実装では、当該例示的なプロセス300の動作を非一時的コンピュータ可読媒体に格納された命令を実装することができる。当該命令は、データ処理装置に当該例示的なプロセス300の動作を実施させる。
【0027】
エンタープライズのリソース115の各リソースは、当該エンタープライズの1つまたは複数のメンバに対する当該リソースに対するアクセス権を規定するそれぞれのアクセス制御リストを有し、当該エンタープライズおよび当該エンティティ間の関係210に関連するエンティティを記述するデータ210を含む当該リソースが受信される(302)。エンタープライズ情報システム110の各情報ソース112はリソース115を含み、リソース115を、ネットワーク102上でデータ・システム130にAPI120に介して提供してもよい。各リソース115は、当該エンタープライズのどのメンバが特定のリソースにアクセスしかつ/または当該特定のリソースを修正できるかを示すアクセス制御リストを含み、当該アクセス制御リスト情報が、各それぞれのリソースとともに受信されたリソース115ごとに受信される。各リソース115は、当該エンタープライズに関連する情報であるエンティティ210を含む。例えば、「Jane Doe」が「Vice-President of Sales」の位置でエンタープライズを管理しうる、当該エンタープライズを管理する者の名前と位置を識別する当該エンタープライズのリソース115a1が、「Jane Doe」をエンティティ210aとして、「Vice-President of Sales」をエンティティ210bとして含んでもよい。
【0028】
エンティティ210のエンティティ・ファクト220が当該エンタープライズのリソース115から識別される。各エンティティ・ファクト220はエンティティ210の少なくとも1つの特徴を説明し、当該特徴はエンティティ210間の対応する関係を含む(304)。例えば、上述の例から、エンティティ・ファクト220が「Jane Doe」および「Vice-President of Sales」の間の関係であってもよい。エンティティ・ファクト220は「Jane Doe」であり「Vice-President of Sales」である。したがって、「Jane Doe」の特徴は「Vice-President of Sales」であり、「Vice-President of Sales」の特徴は「Jane Doe」である。
【0029】
エンティティ・ファクト220ごとに、エンティティ・ファクト・アクセス制御リスト230が、エンティティ・ファクト220のエンティティ210が導出されたリソースのアクセス制御リストから決定される(306)。現在の実装では、リソース115a1のアクセス制御リストは、エンティティ210aおよび210bを含み、エンティティ・ファクト220のエンティティ・ファクト・アクセス制御リスト230として使用される。例えば、リソース115a1に対するアクセス制御リストが「営業部門」である場合、エンタープライズ情報システム110で定義されるように、「営業部門」グループに含まれる当該エンタープライズのメンバは、「Jane Doe」が「Vice-President of Sales」であるというエンティティ・ファクト220へのアクセス権を有する。
【0030】
エンティティ210、エンティティ・ファクト220、およびそれぞれのエンティティ・ファクト・アクセス制御リスト230を記述するデータがデータ記憶134に格納される(308)。インデクサ136は次いでデータ記憶134内の情報をインデックス化する。当該エンタープライズのメンバが、インデクサ136を使用して、例えば、当該エンタープライズのリソース115のエンティティ・ファクト220にアクセスするためのデータ記憶134を検索してもよい。
【0031】
当該エンタープライズの各メンバには、インデクサ136内の当該それぞれのエンティティ・ファクト・アクセス制御リスト230に従って当該エンティティおよびエンティティ・ファクト220を記述するデータ210へのアクセス権が提供される。例えば、上の例において、「Alvin」が「営業部門」のメンバであった場合、Alvinは当該エンティティ・ファクト・アクセス制御リスト230に含まれるので、Alvinは「Jane Doe」が「Vice-President of Sales」であるというエンティティ・ファクト220へのアクセス権を有する。
【0032】
当該エンタープライズのメンバは、1つまたは複数の情報および/またはリソース115を求めて検索エンジン138に問い合わせることができる。当該エンタープライズのメンバにより提供されたクエリは、データ記憶134に格納されるリソース115、エンティティ210、およびエンティティ・ファクト220を含むデータを求めてインデクサ136を検索する。これらが、当該メンバのクエリに関連してもよい。当該エンティティ・ファクト・アクセス制御リスト230は、幾つかの実装では、当該メンバにより提供されたクエリに適用され、当該メンバが、当該情報に関連付けられた当該アクセス制御リストに従って当該メンバがアクセス権を有するリソース115、エンティティ210、およびエンティティ・ファクト220を含む情報のみを受信してもよい。さらに、幾つかの実装では、メンバ情報がまた、エンタープライズ情報システム110からデータ・システム130に提供されてもよい。メンバ情報が、後述するように、例えば、当該エンタープライズ内のメンバのうち1つまたは複数の役割または位置、当該エンタープライズの組織構造、当該エンタープライズ内の1つまたは複数のメンバの当該連絡先(例えば、電子メールまたは電話)、当該提供されたクエリとの当該メンバの関係を含んでもよい。
【0033】
どれくらいリソース、エンティティ、および/またはエンティティ・ファクトがメンバのクエリと関連すると判定されるかに基づいて、情報が当該メンバのクエリに関連すると判定してもよい。追加の分析および基準を当該メンバのクエリに適用して、何が当該メンバのクエリに応答して提供されるべきかを判定してもよい。例えば、当該エンタープライズ内の当該メンバのタイトル、位置、またはグループを、何が当該メンバと関連するか、ならびに、何が、当該メンバが対話し使用する、ソース情報112およびリソース115を含むコンテンツと関連するかに関して考慮に入れることができる。さらに、当該メンバのアクティビティおよび当該クエリが提供された日時を当該関連性の考慮に入れることができる。例えば、当該クエリメンバに関連する関心および当該クエリメンバの電子メールおよびカレンダリソース内の情報を当該関連性の考慮に入れることができる。検索エンジン138が、知識グラフを利用してメンバのクエリへの関連性を決定し分析してもよい。しかし、リソース115、エンティティ210、およびエンティティ・ファクト220の間の関連性および関係を決定する他の方法を使用してもよい。
【0034】
エンティティ210またはエンティティ・ファクト220がメンバにより提供されたクエリに関連すると判定するプロセスにおいて、検索エンジン138はまた、1つまたは複数のエンティティ210およびエンティティ・ファクト220との当該クエリメンバの関係を決定する。幾つかの実装では、検索エンジン138がまず、当該提供されたクエリがエンティティ210およびエンティティ・ファクト220のうち少なくとも1つに対応するかまたはそれらに関連すると判定されるかどうかを判定してもよい。検索エンジン138はついで、当該提供されたクエリに関連すると判定された当該提供されたクエリおよびエンティティ210およびエンティティ・ファクト220の間の関係を形成する。検索エンジン138はまた、当該提供されたクエリに関連すると判定されたエンティティ210およびエンティティ・ファクト220との当該クエリメンバの関係を決定する。
【0035】
図4は、統合システム132により導出されたエンタープライズ関係情報の表現400の例示的なエンタープライズ知識グラフの一部のブロック図である。当該知識グラフはノードおよびエッジを有する。当該知識グラフ内の各ノードはリソース115およびエンティティ210を表し、当該知識グラフ内のノードの対は1つまたは複数のエッジにより接続される。2つのリソース115、2つのエンティティ210の間のエンティティ・ファクト220を定義する関係次元を表す各エッジ、またはノードの対により表されたリソース115およびエンティティ210の各々のうち1つ、または幾つかのエッジは、1つまたは複数の中間ノードにより2つのノードを接続する一連の関係を表す。前述のように、エンティティ210間のエンティティ・ファクト220を形成するための情報がリソース115で提供された内容から決定される。
図4に示すように、当該エッジは無向であるが、他の変形では当該エッジが双方向であってもよい。
【0036】
例えば、エンタープライズ知識グラフ400は、エッジ412により接続されたノード410および414を含む。本例では、ノード410、当該エンタープライズのメンバ、「Jane Doe」は、エッジ412により、ノード414、「営業部門」と接続されるように定義される。さらに、ノード410は、エッジ416により、ノード418、「Project A」と接続されると決定される。ノード422、「Karen」、別の「営業部門」従業員も、ノード422およびノード414の間のエッジ424により示されるように、エッジ420によりノード418に接続される。本例では、ノード410は、2つの別々の関係(ノード414およびノード418)を介して間接的にノード422に接続される。ノード410はまた別のプロジェクト、「Project B」、ノード428でエッジ426により接続され、ノード410は「技術部門」に、ノード432で、エッジ430によりに接続される。例えば、「Jane Doe」は、ノード410で、プロジェクトが実現可能であったかを判定するために、または、イベントまたはプロジェクトのステータスをチェックするために、過去に「技術部門」と対応していたかもしれない。したがって、情報ソース112(例えば、エンタープライズ電子メール)は、「Jane Doe」および「技術部門」のエンティティを含むリソース115(例えば、電子メールメッセージ)を含む。エンティティ・ファクト220は当該エンティティの間の関係を記述することができる。さらに、別のエンタープライズメンバ、「Karen」は、技術部門で勤務し、ノード436でエッジ434によりノード432に接続される。
【0037】
当該例示的なエンタープライズ知識グラフ400に基づいて、エンタープライズメンバ「Jane Doe」、ノード410にある当該エンティティが、検索クエリ「Karen」を提供するとしたら、データ・システム130は、エンタープライズ知識グラフ400を分析して、何が当該クエリに関連するかを判定する。例えば、ノード410にある「Jane Doe」と、ノード418「Project A」、およびノード420「営業部門」を介したノード422の「Karen」との間の関係に基づいて、ノード422の「Karen」の、連絡先情報または会議オプション、および「Jane Doe」と「Karen」に関連付けられたIDの間のリソース115(例えば、共有されたドキュメントまたは電子メールメッセージ)が、提供された当該クエリに関連すると判定してもよい。しかし、ノード436にある「Karen」に関連する情報連絡先情報またはその他が、ノード410にある「Jane Doe」とノード436にある「Karen」との間で示された接続に基づいてあまり関連しないか全く関連しないと判定してもよい。
【0038】
さらに、例示的な検索クエリ「Karen」に基づいて、データ・システム130がまた、ノード418に示された「Project A」に関連する情報およびリソース115が、ノード410およびノード422の両方の「Project A」への接続に基づいて当該クエリに関連すると判定してもよい。しかし、ノード428に示す「Project B」に関連する情報およびリソース115が、ノード428およびノード422の間の接続の欠如に基づいて、関連しないと判定してもよい。
【0039】
さらに、エンタープライズ知識グラフ400は、ノード410の「Jane Doe」とエッジ438により接続される、ノード440にある「Susan」を含む。「Susan」が、例えば、「Jane Doe」が以前に会いかつ/または連絡したセールス・リードであってもよい。「Susan」は、現在の例では、ノード440にあり、彼女が、例えば、「企業A」の会計マネージャでありうるので、ノード444にある「企業A」にエッジ442により接続する。さらに、ノード444は、当該エンタープライズのノード448にある「クライアント」にエッジ446により接続され、ノード448はノード414にある「営業部門」にエッジ450により接続される。例えば、ノード458にいる「Mark」が「企業A」の別の会計マネージャであり、Jane Doeの以前のSusanとの電子メール交換において、彼女がJane Doeに、彼女の販売申し出については承認のために「Mark」と議論する必要があると伝えた場合、エッジ451が、リソース115で提供された当該エンティティ(例えば、エンタープライズ電子メール)に基づいてノード440および458の間で生成されてもよい。
【0040】
例示的なエンタープライズ知識グラフ400に基づいて、エンタープライズメンバ「Jane Doe」が、ノード410にあるエンティティであり、検索クエリ「企業A」を提供する場合、データ・システム130は、エンタープライズ知識グラフ400を分析して、どれが当該クエリに関連すると判定する。例えば、ノード410および440の間の接続に基づいて、「Susan」に関連するドキュメント、電子メール、および経歴および連絡先情報が関連すると判定してもよい。さらに、SusanがJane DoeにMarkと会話するようにアドバイスした例示的なセールス・リード電子メールに基づいて、Markの経歴および連絡先情報も関連すると判定する。
【0041】
さらに、エッジ452によりノード410に接続されたノード454でわかるように、例えば、Jane Doeには「Atlanta」にスケジュールされた来たる旅行がある。例えば、ノード458にあるMarkに関連する情報が、Markのオフィスが「Atlanta」にあることを示す場合、エッジ456によりAtlantaノード454およびMarkノード458の間で接続を生成することができる。したがって、エンタープライズメンバJane Doeの「企業A」のクエリに提供された結果において、データ・システム130が、当該結果が、Markへの電子メールを編集し、Markに電話し、またはMarkと会うためのカレンダ招待をスケジュールするオプションをエンタープライズメンバJane Doeに提供することに関連すると判定してもよい。したがって、エンティティ210およびリソース115に基づいて生成されたエンティティ・ファクト220は、幾つかの実装では、現在のまたは将来のアクションに対する機会であることができる。上述のように当該クエリ結果は例示的なものにすぎず、クエリ結果を提供する他のタイプおよび方法が含まれてもよい。幾つかの実装では、エンタープライズ知識グラフ400が、当該エンタープライズの組織構造に関連する情報を含んでもよく、当該組織構造を、1つまたは複数のリソース115から取得することができる。地位およびこれらの地位を保持するメンバはエンタープライズ知識グラフ400で関係的に構造化される。
【0042】
図5は、エンタープライズのメンバにより提供されたクエリに基づいて検索結果をエンタープライズメンバに提供するための例示的なプロセス500の流れ図である。プロセス500を、例えば、データ・システム130により実装することができる。幾つかの実装では、例示的なプロセス500の動作を非一時的コンピュータ可読媒体に格納された命令として実装することができる。当該命令はデータ処理装置に当該例示的なプロセス500の動作を実施させる。
【0043】
当該エンタープライズのメンバにより提供される検索クエリがデータ・システム130により受信される(502)。幾つかの実装では、エンタープライズ情報システム110が、インタフェースを当該エンタープライズのメンバに提供して、当該メンバにより入力されたクエリを受信してもよい。当該インタフェースが、例えば、データ・システム130と通信するアプリケーションまたはプログラムを介して提供してもよいか、または幾つかの実装では、インタフェースデータ・システム130と直接通信してもよい。
【0044】
当該クエリが受信されると、検索エンジン138が、データ記憶134を検索してもよい。データ記憶134は、エンタープライズ情報システム110から受信されたデータを格納しインデックス化されている(504)。前述のように、データ・システム130はメンバ情報を含むリソース115を受信し、リソース115はエンティティおよびエンティティ・ファクト220を記述するデータ210を含む。エンティティ・ファクト220はリソース115のエンティティ210から識別される。各エンティティ・ファクト220はエンティティ210の少なくとも1つの特徴を説明する。当該特徴はエンティティ210間の対応する関係を説明する。さらに、インデクサ136は、エンティティ・ファクト220ごとにデータ・エンティティ・ファクト・アクセス制御リスト230へのアクセス権を定義するデータを含む。エンティティ・ファクト220は、前述のように各リソースのアクセス制御リスト115から決定される。
【0045】
前述のように、当該メンバにアクセス可能であるエンティティ・ファクト220が当該エンティティ・ファクト・アクセス制御リスト230に基づいて決定される(506)。例えば、当該メンバがファクトまたはリソースにアクセスできると指定するアクセス制御リストを有するための、ファクトおよびリソースのみが提供される。当該メンバが読取りアクセスを有しない他のファクトおよびリソースは当該メンバに対して識別されない。
【0046】
さらに、エンティティ210を記述するデータおよび当該クエリに関連するエンティティ・ファクト220を含む検索結果データが、当該メンバにアクセス可能である当該メンバおよびエンティティ・ファクト220のメンバ情報に基づいて決定される(508)。例えば、前述のように、エンティティ210およびエンティティ・ファクト220が、当該メンバのクエリに関連すると判定され、識別される。さらに、当該エンタープライズ内の当該メンバの位置または関係を、どれが当該メンバのクエリならびにソース情報112および当該メンバが対話し使用するリソース115に関連するかの考慮することができる。当該メンバのアクティビティおよび当該クエリが提供された日時は当該関連性を決定できるか、または、それらを当該関連性の考慮に入れることができる。さらに、エンタープライズ知識グラフ400のようなエンタープライズ知識グラフ表現を使用して、エンタープライズ関係情報のリソース115、エンティティ210、およびエンティティ・ファクト220の当該関連性を決定してもよい。
【0047】
当該エンタープライズメンバにより提供されたクエリの検索結果が当該検索結果データに基づいて提供される(510)。当該検索結果データが、エンティティ210、エンティティ・ファクト220、エンティティ210および/またはエンティティ・ファクト220が導出される基盤となるリソース115、またはそれらの組合せを含んでもよい。エンティティ210および/またはエンティティ・ファクト220が導出される基盤となるリソース115を、提供されたエンティティ210および/またはエンティティ・ファクト220に組み込んでもよい。例えば、基盤となるリソース115を、とりわけ、リンク(例えば、ハイパーリンク)、ドロップ・ダウン選択ボックス、ホバー選択として提供してもよい。幾つかの実装では、エンティティ・ファクト、例えば220aが複数のリソース、例えばリソース115a1およびリソース115b1の両方から導出される場合、エンティティ・ファクト220aに対する組み込まれた基盤となるリソースが、エンティティ・ファクト220aが導出された当該リソースのうち1つまたは両方(または複数)を含んでもよい。基盤となるリソース115のうち1つのみが提供される実装では、基盤となるリソースの選択が、当該メンバに最も関連する、基盤となるリソースの各々のリソースに基づいてもよい。例えば、当該クエリのメンバが営業部門の一部であり、基盤となるリソース115a1がデータベースの営業部門の位置に格納され、基盤となるリソース115b1が当該データベースの技術部門の位置に格納される場合、リソース115a1が当該メンバに最も関連すると判定してもよい。さらに、幾つかの実装では、クエリ示唆を、提供されたかまたは提供されている過程にある(例えば、当該メンバが現在入力されている)クエリおよび/または検索結果に基づいて当該メンバに提供してもよい。データ・システム130が、自然言語入力を解釈し理解するように構成されてもよい。
【0048】
当該検索結果の提示を検索結果データのリストとして提供してもよく、幾つかの実装では1つまたは複数の知識パネルを当該検索結果で提供してもよい。知識パネルが、受信されたクエリに対する他の検索結果の中にまたはそれに隣接してまたは他の検索結果の代わりに、提示されてもよい。当該知識パネルが、検索クエリにより参照されるエンティティ210および/またはエンティティ・ファクト220に関連する情報を提供してもよい。幾つかの実装では、知識パネルが、エンティティ210および/またはエンティティ・ファクト220に関する情報の要約を提供してもよい。例えば、「Jane Doe」に対する知識パネルが、ノード410の上に提供されるように、(Jane Doeのエンタープライズウェブページへのリンクを含む)他のコンテンツのうち、Jane Doeのエンタープライズプロフィール画像、彼女が勤務する部門、彼女の連絡先情報、経歴を含んでもよい。特定のエンティティ210および/またはエンティティ・ファクト220に対する知識パネルが、特定のエンティティ210および/またはエンティティ・ファクト220に関連するとして識別された他のエンティティ210および/またはエンティティ・ファクト220に関する情報であってもよく、あるいは、それを含んでもよい。例えば、上で参照されるエンタープライズメンバJane Doeが「企業A」の財務マネージャである場合、当該エンタープライズメンバJane Doeに対する知識パネルが、連絡先および位置情報のような、企業Aに関する情報を含んでもよい。例えば、企業Aに関する情報がまた、企業Aでのセールス・リード連絡先に関する情報、例えば(ノード440での)「Susan」を含んでもよい。Susanに関する情報がまた、(Susanの企業Aエンタープライズウェブページへのリンクを含む)他の内容のうち、Susanの企業Aのプロフィール画像、彼女が勤務する部門、彼女の連絡先情報、経歴を含んでもよい。
【0049】
エンティティ・ファクト検索処理
図6は、エンタープライズメンバにより提供されたクエリに基づいて検索結果を順位付け、エンタープライズメンバに提供するための例示的なプロセス600の流れ図である。プロセス600を、例えば、データ・システム130により実装することができる。幾つかの実装では、例示的なプロセス600の動作を非一時的コンピュータ可読媒体に格納された命令として実装することができる。当該命令はデータ処理装置に当該例示的なプロセス500の動作を実施させる。
【0050】
幾つかの実装では、当該検索結果データを、当該クエリおよび当該クエリメンバのメンバ情報に関するエンティティ210およびエンティティ・ファクト220の関連性に基づいて順位付けてもよい(602)。上述のように、関連するエンティティ210およびエンティティ・ファクト220を決定してもよく、当該クエリメンバおよび提供されたクエリに基づく関連性のレベルに基づいて結果を順位付けるかまたは編成してもよい。当該検索結果データをランキングの順序で当該エンタープライズのメンバに提供してもよい(604)。
【0051】
幾つかの実装では、品質スコアがエンティティ210およびエンティティ・ファクト220ごとに、当該エンタープライズのメンバにより提供されたクエリに基づいて決定されてもよい。当該品質スコアが、エンティティ210およびエンティティ・ファクト220ごとの当該クエリへの関連性のレベルを示してもよい。当該品質スコアはメンバ固有であってもよく、部分的集計または総計、またはそれらの組合せであってもよい。
図4で説明したように、エンタープライズ知識グラフを使用し、当該エンタープライズ知識グラフを、当該クエリおよび当該クエリを提供する当該エンタープライズのメンバに関するエンティティ210とエンティティ・ファクト220との関連性を関連付けるための品質スコアの考慮に入れてもよい。さらに、エンティティ210およびエンティティ・ファクト220に対する品質スコアは、当該エンタープライズのメンバまたは当該エンタープライズのメンバの集合による明示的な指示および/または暗黙的な指示に基づくことができる。例えば、当該エンタープライズのメンバは、彼らが特定のリソース115または情報ソース112(例えば、インターネット、電子メール、または営業部門データベース)からの情報(例えば、エンティティ210およびエンティティ・ファクト220)を好むことを明示的に示してもよい。他の明示的な指示が、とりわけ、当該メンバが作成者であるリソース115の嗜好、当該エンタープライズのメンバの部門またはグループ内のメンバが作成したリソース115、または当該ユーザが表明した関心(例えば、当該エンタープライズの株式市場価格)を含んでもよい。
【0052】
暗黙的な指示が、当該メンバの明示的な入力なしに提供される任意のタイプの指示であってもよい。既に上述したように、エンティティ210およびエンティティ・ファクト220の関連性を決定するために、エンタープライズシステム110およびデータ・システム130との当該メンバの対話に関連する異なる情報は暗黙的な指示を提供することができる。例えば、暗黙的な指示が、当該メンバの位置、グループ、または当該エンタープライズ内の部門、当該メンバが最近または定期的に対話した情報ソース112およびリソース115、および当該メンバのアクティビティを含んでもよい。
【0053】
さらに、暗黙的な指示を、どのように当該メンバまたはメンバの集合が当該クエリに提供された検索結果と対話するかに基づいて、当該メンバまたは当該エンタープライズのメンバの集合により提供することができる。例えば、幾つかの実装では、パラメータを品質スコアに適用してもよい。例示的なパラメータがとりわけ、平均相互ランク、平均精度、平均クリック位置、クリック率、および破棄率のうち1つまたは複数であってもよい。当該平均相互ランクは、正確性の確率により順序付けられた、クエリのサンプルに対する可能なクエリ結果のリストを生成する任意のプロセスを評価するための統計的測定値であることができる。クエリ応答の相互ランクは当該第1の正確な回答の順位の乗法逆元であり、当該平均相互ランクはクエリのサンプルに対する結果の当該相互ランクの平均である。平均クリック位置が、当該メンバの選択された提供されたクエリ検索結果の順序内の平均順位であってもよい。クリック率が特定のクエリ検索結果が選択された率であってもよく、破棄率が、幾つかの破棄されたクエリを、同一のまたは同様なクエリのうち1つまたは複数に関連するクエリの数、または、メンバの集合内のメンバにより提供された同一のまたは同様なクエリの数で除したものであってもよい。破棄されたクエリは、後続のクエリ検索結果の選択を有さずかつ当該クエリに対する後続の改良のない、クエリである。これらは例示的なパラメータにすぎず、他のパラメータまたは上述の当該パラメータへの修正を提供してもよい。
【0054】
さらに、幾つかの実装では、クリック結果情報を当該品質スコアに含めることができる。例えば、メンバの集合の中のメンバまたは平均的なメンバが長いクリック(例えば、閾値時間より長く続くクリック)で検索結果を選択した場合、検索クエリに関する検索結果が、検索結果が短いクリックで選択された場合よりも関連すると判定してもよい。当該検索結果が短いクリックで選択された時間の特定の割合が不意に選択されたと判定することができる。さらに、選択されるようにクリックされた検索結果が提供されたクエリにあまり関連しないと判定してもよい。
【0055】
各検索結果の、品質スコアを含む、提供されたクエリとの関連性を、当該検索結果とのメンバまたは当該メンバの集合の対話に基づいてデータ・システム130により自動的に調整、即ち、修正および/または調整してもよい。例えば、当該メンバが「企業A」に関するクエリを提供し、企業Aの「Susan」に関するエンティティ・ファクト220に関連する第2の検索結果を選択した場合、エンティティ・ファクト220に対する品質スコアが増大してもよく、関連すると判定された、当該検索結果で提供される他のエンティティ210およびエンティティ・ファクト220に対する品質スコアが減少されるかまたは調節されてもよい。さらに、エンティティ210およびエンティティ・ファクト220に関連付けられたエンタープライズの頭字語およびシノニムを当該自動調整プロセスに基づいてデータ・システム130により決定してもよい。
【0056】
幾つかの実装では、当該自動調整プロセスを、当該自動調整プロセスが確立された後に、人間の入力または介入なしにデータ・システム130により自動的に実施してもよい。多数のエンタープライズデータ・システム110は当該エンタープライズ内で機密のままでなければならないセンシティブで秘密な情報を含み、したがって、データ・システム130での介入または入力が、当該エンタープライズ内部の情報の機密性および秘匿性を保存するために提供されなくてもよい。幾つかの実装では、品質スコアを含む関連性判定が静的および/または動的アルゴリズム、式、ヒューリスティックス、またはそれらの組合せに基づいてもよい。
【0057】
エンタープライズ・アシスタント
エンティティ・ファクトおよび関連する情報をまた、エンタープライズのメンバに対する他の情報サポート動作に対して使用してもよい。コンピュータ実行型のアシスタントの役割を拡張する1例では、当該アクセス制御リストの支配のもとでエンタープライズ情報を使用する。
【0058】
図7は、コンピュータ実行型のアシスタントを例示的な環境100の例示的な環境構造に組み込む例示的な環境700である。さらに、幾つかの実装では、当該エンタープライズの1つまたは複数のメンバは、例示的な環境700でわかるように、当該コンピュータ実行型のアシスタント710を使用することができる。
図7でわかるように、当該1つまたは複数のコンピュータ実行型のアシスタント710a、710b,・・・,710N、は(
図7で720a、720b,・・・,720Nとしてわかるように)エンタープライズ情報システム110、データ・システム130、メンバ情報システム720と、各他のコンピュータ実装型のアシスタント710、またはそれらの組合せに通信可能に接続される。しかし、かかる通信は要求されず、幾つかの実施形態では、より多くのまたはより少ないデバイスおよびシステムとの通信を含めてもよい。メンバ情報システム720は説明されないかまたはリソース115に含まれない情報を含むことができるが、特定のコンピュータ実行型のアシスタントに関連付けられた当該特定のメンバにアクセス可能である。例えば、メンバの個人電子メール、個人カレンダ、または個人旅行情報がメンバ情報システム720に含まれてもよい。メンバ情報システム720を1つまたは複数のデバイス(例えば、コンピュータ、モバイルデバイス、スマートフォン、タブレット)で実装してもよく、当該メンバ個人情報の記憶がとりわけ、当該デバイスのうち1つまたは複数、異なるデバイス上であってもよく、またはクラウド記憶環境内であってもよい。コンピュータ実装型のアシスタント710は任意の互換ソフトウェアアプリケーションで実装されるように構成され、コンピュータ実装型のアシスタント710は1つのアプリケーションおよび/または1つのユーザデバイスでのみ使用されることを要求されない。さらに、
図7でわかるように、幾つかの実装では、コンピュータ実装型のアシスタント710が、API120を使用せずにデータ・システム130と通信してもよい。
【0059】
前述のように、データ・システム130は、エンティティおよびエンティティ・ファクト220を記述するデータ210を含むエンタープライズリソース115にアクセスし、それらを統合する。各エンティティ・ファクト220は、エンティティ・ファクト220が取得された基盤となるリソース115から提供されるエンティティ・ファクト・アクセス制御リスト230を含み、それぞれのエンティティ・ファクト・アクセス制御リスト230に従って、各メンバがリソース115、エンティティ210、およびエンティティ・ファクト220へのアクセス権を有する。さらに、幾つかの実装では、メンバ個人情報が、メンバ情報システム720からエンタープライズ情報システム110および/またはデータ・システム130へ提供されてもよい。
【0060】
当該エンタープライズのメンバごとにコンピュータ実装型のアシスタント710は、エンティティ210およびエンティティ・ファクト220を含む、メンバに固有なエンタープライズ情報を決定し、当該メンバ個人情報を当該メンバに固有なエンタープライズ情報と統合してもよい。例えば、コンピュータ実装型のアシスタント710は、当該メンバに固有な当該メンバ個人情報および当該エンタープライズ情報に基づいて当該特定のメンバに対するカレンダを決定することができる。コンピュータ実装型のアシスタント710が当該情報を結合することに基づいて、コンピュータ実装型のアシスタント710は、当該メンバに対して実施するためのエンタープライズ・アクションを決定でき、当該エンタープライズ・アクションは、当該メンバのエンタープライズ関連の責任に固有なアクションである。例えば、当該エンタープライズ関連の責任はとりわけ仕事の会議、準備、および旅行を含むが、個人休暇のスケジューリングを含まなくてもよい。
【0061】
エンタープライズ・アクションを当該メンバに提供するために、コンピュータ実装型のアシスタント710が、とりわけ、ユーザデバイスが訪問したことがあるかまたは訪問するようにスケジュールされた1つまたは複数の位置に関連するデータ、当該ユーザデバイスが対話した1つまたは複数のエンタープライズメンバユーザデバイス、当該メンバの関心、当該メンバに関連する業界情報、および当該メンバのカレンダ情報を分析し決定してもよい。この例示的なデータを当該メンバの1つまたは複数のユーザデバイス、エンタープライズ情報システム110、データ・システム130、メンバ情報システム720、またはそれらの組合せにより提供してもよい。さらに、幾つかの実装では、外部エンティティにより当該エンタープライズに公開された(
図7で730a、730b,・・・,730Nとして見られる)パブリック・リソース730が、当該メンバに対するエンタープライズ・アクションを実施するためにコンピュータ実装型のアシスタント710が使用する情報に含まれてもよい。コンピュータ実装型のアシスタント710が、前述のように、データ・システム130と通信してもよく、データ・システム130で提供されるスキーマをまた、当該パブリック・リソースにより提供された情報をソートし理解するためにコンピュータ実装型のアシスタント710により使用してもよい。幾つかの実装では、API120は、コンピュータ実装型のアシスタント710により受信された内容および情報をタグ付けしインデックス付けするために使用される。パブリック・リソースがとりわけ、例えば、インターネットで取得された情報、旅行データベースシステム、職業ネットワーキングアプリケーションであってもよい。現在の実装では、コンピュータ実装型のアシスタント710が、当該特定のメンバに関連するパブリック・リソースからパブリック情報のサブセットを決定してもよい。例えば、当該パブリック・リソースが旅行データベースシステムであり、当該メンバが「Atlanta」でのスケジュールされた会議を有するとき、コンピュータ実行型のシステム710が、当該特定のメンバに関連するパブリック情報のサブセットが、当該メンバがいる現在の都市からジョージア州アトランタへの飛行または他の輸送モードであると判定してもよい。コンピュータ実装型のアシスタント710が、当該特定のメンバに関連するパブリック情報のサブセットを、他の情報のうち当該メンバの個人情報、当該メンバに固有なエンタープライズ情報、およびエンティティ・ファクト220に基づいて決定してもよい。当該特定のメンバに関連するパブリック情報の当該サブセットを決定した後、コンピュータ実装型のアシスタント710が、当該メンバに対して実施するためのエンタープライズ・アクションを決定してもよい。
【0062】
当該メンバに対して実施するためのエンタープライズ・アクションが、コンテキスト固有であることができ、洞察または情報を当該メンバに提供すること、機会(例えば、ビジネス・リード)を当該メンバに提供すること、または当該メンバに対する1つまたは複数のタスクの完了を含んでもよい。例えば、エンタープライズ・アクションが、会議の招待を断ることを含んでもよい。断ることが、当該メンバがスケジュールされた休暇を(これが当該メンバの個人カレンダにのみ掲載されていたとしても)有することまたはスケジュールの衝突を含む、多数の理由に基づくことができる。さらに、エンタープライズ・アクションが、とりわけ、衝突する会議、飛行の予約、ホテルの部屋の予約のリスケ、ローカルな輸送オプションの提供、当該メンバに適したレストランの発見、当該メンバに適したレストランの予約の作成、日々のアジェンダの提供(幾つかの項目を自動的に生成できる)を含んでもよい。
【0063】
さらに、エンタープライズ・アクションが、スケジュールされた会議またはイベントの時点で関連する情報(例えば、ドキュメントまたはスライド提示)を当該メンバに提供することを含んでもよい。スケジュールされた会議またはイベントに対する情報の関連性が、メンバ個人情報、当該メンバに固有なエンタープライズ情報、当該エンティティ・ファクト、およびパブリック情報の当該サブセットを含む、コンピュータ実装型のアシスタント710に利用可能な情報に基づいてもよい。コンピュータ実装型のアシスタント710が、エンタープライズリソースを含む当該関連する情報の当該ユーザデバイスのうち1つまたは複数を、スケジュールされた当該イベントまたは会議の前またはその時点で、当該メンバに提供してもよい。例えば、当該メンバが当該エンタープライズの別のメンバ「Tom」とのスケジュールされた会議を有し、Tomが特定のドキュメントを議論するために当該会議をスケジュールしたとき、コンピュータ実装型のアシスタント710は、当該会議に関連する当該特定のドキュメントを例えば、当該会議のタイトルに基づいて、とりわけTomおよび当該メンバとの電子メール交換から決定し、当該会議の時点でまたはスケジュールされた会議の前の時点で当該ドキュメントを当該メンバに提供することができる。さらに、幾つかの実装では、コンピュータ実装型のアシスタント710が、パブリック・リソースを含む情報の材料を、当該材料がスケジュールされた会議またはイベントに関連すると判定された場合に、当該メンバの当該1つまたは複数のユーザデバイスに提供してもよい。例えば、当該メンバが複雑な技術的トピックを議論するためにスケジュールされた会議を有してもよく、コンピュータ実装型のアシスタント710が、当該会議の前に当該メンバに技術的バックグラウンド情報または他のタイプの情報を提供してもよい。
【0064】
幾つかの実装では、エンタープライズのアクションは、機会(例えば、ビジネス・リード)をメンバに提供することを含む。例えば、当該メンバが当該エンタープライズの営業部門に在籍しセールス・リードも訪問している(例えば、当該メンバおよびセールス・リードの間の以前の電子メール交換に基づいて既知である)「Atlanta」へのスケジュールされた旅行を有する場合、コンピュータ実装型のアシスタント710が、当該メンバの1つまたは複数のユーザデバイスに、セールス・リードもその時点でアトランタにいるという通知を提供してもよく、コンピュータ実装型のアシスタント710はまた、アトランタにいる間に会議をスケジュールするかまたはセールス・リードと接触したいかどうかを当該メンバに尋ねるかまたは促すことができる。各エンタープライズ・アクションが実施されると判定された後、コンピュータ実装型のアシスタント710は、当該メンバの当該1つまたは複数のユーザデバイスに、当該エンタープライズ・アクションを記述する通知を当該メンバに提供させる。
【0065】
コンピュータ実装型のアシスタント710は、幾つかの実施形態では、当該エンタープライズの1人または複数の他のメンバのコンピュータ実装型のアシスタント710の間で協調することができる。当該メンバのコンピュータ実装型のアシスタント710は、エンタープライズ・アクションが少なくとも1つの他の当該エンタープライズのメンバを含むと判定することができる。例えば、別の当該エンタープライズのメンバとの会議を計画した後に当該メンバのコンピュータ実装型のアシスタント710が出張をスケジュールした場合、当該メンバのコンピュータ実装型のアシスタント710は、スケジュールされた出張が現在のスケジュールされた会議に影響すると判定することができる。コンピュータ実装型のアシスタント710が、他のメンバのコンピュータ実装型のアシスタント710と通信してもよく、当該少なくとも1つの他のメンバに関する当該エンタープライズ・アクションに関する情報を含む。例えば、新たにスケジュールされた出張がスケジュールされた会議と衝突するとき、当該メンバのコンピュータ実装型のアシスタント710が、当該メンバが会議を作成できず他の会議時間を提案できることを他のメンバのコンピュータ実装型のアシスタント710に通知する情報を、当該他のメンバのコンピュータ実装型のアシスタント710に提供してもよい。しかし、当該エンタープライズ・アクションに関連する他の情報のうち、当該メンバが旅行している場所、当該メンバが会議をともに有する人、当該メンバが旅行に出発しているときに関する当該エンタープライズ・アクションからの情報は、当該情報が当該少なくとも1つ他のメンバに関連しないので、他のメンバのコンピュータ実装型のアシスタント710には提供されない。さらに、幾つかの実装では、少なくとも1つまたは複数の他のメンバの各々のコンピュータ実装型のアシスタント710が、当該メンバの当該エンタープライズ・アクションの関連情報を受信したことに基づいてエンタープライズ・アクションを実施してもよい。
【0066】
さらに、幾つかの実装では、コンピュータ実装型のアシスタント710は、当該メンバデバイス上のサードパーティアプリケーションで実装されるように構成される。例えば、当該サードパーティアプリケーションが、当該メンバの搭乗券および他の旅行情報を含む旅行システムアプリケーションであってもよい。したがって、当該サードパーティアプリケーションは、関連するサードパーティアプリケーションメンバ個人情報をコンピュータ実装型のアシスタント710に提供することができる。追加のサードパーティアプリケーション、とりわけ例えば、バンキング用のアプリケーション、通信(例えば、電子メール)、職業ネットワーキングを使用してもよい。
【0067】
図8は、エンタープライズのメンバに対するコンピュータ実装型のアシスタント710によりエンタープライズ・アクションを提供するための例示的なプロセス800の流れ図である。プロセス800を、例えば、コンピュータ実装型のアシスタント710により実装することができる。幾つかの実装では、例示的なプロセス800の動作を非一時的コンピュータ可読媒体に格納された命令として実装することができる。当該命令は、データ処理装置に例示的なプロセス800の動作を実施させる。
【0068】
エンティティ・ファクト・アクセス制御リスト230に基づいてエンタープライズのメンバにアクセス可能であるエンタープライズリソース115、および当該メンバに固有なエンタープライズ情報がアクセスされる(802)。リソース115はエンティティ210を記述するデータ、および当該エンティティ(エンティティ・ファクト220を含む)間の関係を含む。さらに、前述のように、リソース115からのエンティティ210のエンティティ・ファクト220が識別される(804)。各エンティティ・ファクト220はエンティティ210の少なくとも1つの特徴を記述する。さらに、前述のように、当該メンバに固有なメンバ個人情報、当該メンバにアクセス可能である当該エンタープライズリソースにより記述されない情報を含むメンバ個人情報がアクセスされる(806)。コンピュータ実装型のアシスタント710はついで、上述のように、当該メンバ個人情報、当該メンバに固有なエンタープライズ情報および当該エンティティ・ファクトに基づいて、当該メンバに対して実施するためのエンタープライズ・アクションを決定する(808)。実施されると決定されたエンタープライズ・アクションごとに、コンピュータ実装型のアシスタント710は実施されるエンタープライズ・アクションを記述するメンバに通知を提供する(810)。
【0069】
本明細書で説明された主題および動作の実施形態を、本明細書で開示した構造およびそれらの構造的均等物、またはそれらのうち1つまたは複数の組合せを含めて、デジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、またはハードウェアで実装することができる。本明細書で説明する主題の実施形態を、データ処理装置による実行のため、または当該データ処理装置の動作を制御するためにコンピュータ記憶媒体上で符号化された、1つまたは複数のコンピュータプログラム、即ち、コンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。あるいはまたはさらに、当該プログラム命令を、人工的に生成された伝播信号、例えば、データ処理装置による実行のために適切な受信機装置に送信するための情報を符号化するように生成されたマシン生成された電気、光、または電磁気信号で符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶装置、コンピュータ可読記憶基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、またはそれらのうち1つまたは複数の組合せであることができるか、または、それらに含まれることができる。さらに、コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝播信号で符号化されたコンピュータプログラム命令のソースまたは宛先であることができる。当該コンピュータ記憶媒体はまた、1つまたは複数の別々の物理コンポーネントまたは媒体(例えば、複数のCD、ディスク、または他の記憶装置)であることができるか、または、それらに含まれることができる。
【0070】
本明細書で説明された当該動作を、1つまたは複数のコンピュータ可読記憶装置に記憶されたデータに対してデータ処理装置により実施される動作または他のソースから受信された動作として実装することができる。
【0071】
「データ処理装置」という用語は、例えばプログラム可能プロセッサ、コンピュータ、システム・オン・チップを含むデータを処理するための全ての種類の装置、デバイス、およびマシンを包含し、上述の当該装置の複数、または組合せは特殊目的論理回路、例えば、FPGA(フィールドプログラム可能ゲート・アレイ)またはASIC(特定用途向け集積回路)を含むことができる。当該装置はまた、ハードウェアに加えて、着目する当該コンピュータプログラムのための実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティング・システム、クロスプラットフォーム実行環境、仮想マシン、またはそれらのうち1つまたは複数の組合せを構成するコードを含むことができる。当該装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラのような様々な異なるコンピューティングモデルインフラ構造を実現することができる。
【0072】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)を、コンパイル式言語またはインタプリタ型言語、宣言型または手続き型言語を含む任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムまたはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境で使用するのに適した他の単位を含む任意の形態で展開することができる。コンピュータプログラムはファイルシステム内のファイルに対応してもよいが、その必要はない。プログラムを、他のプログラムまたはデータ(例えば、マークアップ言語ドキュメントに格納された1つまたは複数のスクリプト)を保持するファイルの一部に、着目するプログラム専用の単一のファイルに、または複数の協調ファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を格納するファイル)に格納することができる。コンピュータプログラムを、1つのコンピュータ上で、または、1つのサイトに配置されるかまたは複数のサイトにわたって分散され通信ネットワークにより相互接続される複数のコンピュータ上で実行されるように展開することができる。
【0073】
本明細書で説明されたプロセスおよび論理フローを、入力データ上で動作し出力を生成することでアクションを実施するための1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能プロセッサにより実施することができる。当該プロセスおよび論理フローはまた、特殊目的論理回路、例えば、FPGA(フィールドプログラム可能ゲート・アレイ)またはASIC(特殊用途向け集積回路)により実施でき、装置をまた、特殊目的論理回路、例えば、FPGA(フィールドプログラム可能ゲート・アレイ)またはASIC(特殊用途向け集積回路)として実装することができる。
【0074】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用目的のマイクロプロセッサおよび特殊目的のマイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般的に、プロセッサは、読取専用メモリまたはランダム・アクセス・メモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令に従ってアクションを実施するためのプロセッサと、命令およびデータを格納するための1つまたは複数のメモリデバイスである。一般的に、コンピュータはまた、データを格納するための1つまたは複数の大容量記憶装置、例えば、磁気、光磁気ディスク、または光ディスクを含み、または、これらとデータを送受信するように動作可能に接続される。コンピュータプログラム命令およびデータを格納するのに適したデバイスは、例えば半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハード・ディスクまたは取外し可能ディスク、磁気-光ディスク、およびCD-ROMおよびDVD−ROMディスクを含む、あらゆる形態の不-揮発性メモリ、媒体およびメモリデバイスを含む。当該プロセッサおよび当該メモリを特殊目的論理回路により補完するかまたは特殊目的論理回路に組み込むことができる。
【0075】
ユーザとの対話を提供するために、本明細書で説明する主題の実施形態を、ディスプレイ・デバイス、例えば、CRT(カソード・レイ・チューブ)またはLCD(液晶ディスプレイ)モニタ、情報を当該ユーザに表示するためのおよびキーボードおよびポインティング・デバイス、例えば、当該ユーザがそれにより当該コンピュータに入力を提供できるマウスまたはトラックボールを有するコンピュータ上で実装することができる。
【0076】
本明細書で説明する主題の実施形態を、バックエンドコンポーネントを、例えば、データサーバとして含むコンピューティングシステム、またはミドルウェアコンポーネントを、例えば、アプリケーションサーバとして含むコンピューティングシステム、またはフロントエンドコンポーネントを、例えば、ユーザがそれを通じて本明細書で説明する主題の実装と対話できるグラフィカルユーザインタフェースまたはウェブ・ブラウザを有するユーザコンピュータとして含むコンピューティングシステム、または1つまたは複数のかかるバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せで実装することができる。当該システムの当該コンポーネントを、デジタルデータ通信の任意の形態または媒体、例えば、通信ネットワークにより相互接続することができる。通信ネットワークの例は、ローカル・エリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インター・ネットワーク(例えば、インターネット)、およびピア・ツー・ピアネットワーク(例えば、アドホック・ピア・ツー・ピアネットワーク)を含む。
【0077】
本明細書は多くの特定の実装の詳細を含むが、これらを特許請求の範囲に記載したものの任意の発明の範囲に対する限定として解釈すべきではなく、特定の発明特の定の実施形態に固有な特徴の説明であると解釈すべきである。別々の実施形態のコンテキストにおいて本明細書で説明された特定の特徴をまた、単一の実施形態における組合せで実装することができる。反対に、単一の実施形態の文脈で説明された様々な特徴はまた、複数の実施形態において別々にまたは任意の適切な部分的組合せで実装することができる。さらに、特徴が特定の組合せで動作するとして上で説明され初期にそのようにクレームされているかもしれないが、クレームした組合せからの1つまたは複数の特徴は幾つかのケースで当該組合せから実行でき、当該クレームした組合せが部分的組合せまたは部分的組合せの変形に関してもよい。
【0078】
同様に、動作が添付図面において特定の順序で示されているが、これを、所望の結果を実現するために、かかる動作が示した特定の順序または逐次的な順序で実施される、または全ての図示された動作が実施されることを要求すると理解するべきではない。特定の状況では、マルチタスクおよび並列処理が有利であるかもしれない。さらに、上述した実施形態における様々なシステムコンポーネントの分離を全ての実施形態におけるかかる分離が必要とされるとして理解するべきではなく、説明したプログラムコンポーネントおよびシステムは一般に、単一のソフトウェア製品に一緒に組み込まれるかまたは複数のソフトウェア製品にパッケージ化されうることは理解されるべきである。
【0079】
したがって、当該主題の特定の実施形態が説明されている。他の実施形態は添付の特許請求の範囲内にある。幾つかのケースでは、特許請求の範囲に記載した動作を異なる順序で実施し、尚所望の結果を達成することができる。さらに、添付図面で示したプロセスは、所望の結果を実現するために、示した特定の順序または逐次的な順序を必要としない。特定の実装では、マルチタスクおよび並列処理が有利であるかもしれない。