(57)【要約】【課題】コンタクトグループ管理のオーバーヘッドを抑制する。【解決手段】デファクトグループの各々及び対応する使用値をメモリに記憶し、保存済グループのセットを識別し、前記保存済グループの各々は人々のユニークな識別子のセットを含み、前記使用値の各々は、前記保存済グループの各々が前記デファクトグループのいずれとも等しくない場合０であり、前記保存済グループの各々が対応する前記デファクトグループと等しい場合、前記保存済グループの前記使用値は対応する前記デファクトグループの前記使用値と等しく、前記デファクトグループ及び前記デファクトグループに関連する前記使用値と、前記保存済グループ及び前記保存済グループに関連する前記使用値と、を比較し、前記比較に基づいて、前記保存済グループのセットを変更する推奨を提供する。【選択図】図１７
2014157599.tif 000002
【特許請求の範囲】
【請求項１】
指定された期間の間に、送信された複数の電子メッセージの電子メールヘッダ情報を受信し、前記電子メッセージの前記電子メールヘッダ情報は前記電子メッセージの送信者のユニークな識別子及び受信者の各々のユニークな識別子を含み、
受信した前記電子メールヘッダ情報を用いてデファクトグループのセットを構築し、前記デファクトグループの各々は、前記電子メールヘッダ情報が受信された前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子を含むセットを含み、
前記デファクトグループの各々について、前記デファクトグループの各々に対応する別個の電子メッセージの数に基づいて使用値の各々を計算し、前記電子メッセージは、前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子のセットが前記デファクトグループと等しい場合、前記デファクトグループに対応し、
前記デファクトグループの各々及び対応する使用値をメモリに記憶し、
保存済グループのセットを識別し、前記保存済グループの各々は人々のユニークな識別子のセットを含み、前記使用値の各々は、前記保存済グループの各々が前記デファクトグループのいずれとも等しくない場合０であり、前記保存済グループの各々が対応する前記デファクトグループと等しい場合、前記保存済グループの前記使用値は対応する前記デファクトグループの前記使用値と等しく、
前記デファクトグループ及び前記デファクトグループに関連する前記使用値と、前記保存済グループ及び前記保存済グループに関連する前記使用値と、を比較し、
前記比較に基づいて、前記保存済グループのセットを変更する推奨を提供する、
ことをコンピュータに実行させるためのプログラム。
【請求項２】
前記推奨は、前記保存済グループの前記使用値が更新閾値を下回る場合、前記保存済グループを除去することである、請求項１に記載のプログラム。
【請求項３】
前記推奨は、保存済グループＧがデファクトグループＧ’の適切なサブセットであり、Ｇ’の前記使用値からＧの前記使用値を差し引いた値がスーパーセット置換閾値を越える場合、前記保存済グループＧを前記デファクトグループＧ’と置換することである、請求項１に記載のプログラム。
【請求項４】
前記推奨は、デファクトグループＧ’’が保存済グループＧの適切なサブセットであり、Ｇ’’の前記使用値からＧの前記使用値を差し引いた値がサブセット置換閾値を越える場合、前記保存済グループＧを前記デファクトグループＧ’’と置換することである、請求項１に記載のプログラム。
【請求項５】
前記推奨は、デファクトグループＧＮの前記使用値が挿入閾値を越え、ＧＮが前記保存済グループのいずれとも等しくなく、ＧＮが前記保存済グループのいずれかとの置換を推奨されていない場合、前記デファクトグループＧＮを新しい保存済グループとして保存することである、請求項１に記載のプログラム。 
【請求項６】
さらに、
前記指定された期間の間に、共有ディレクトリのファイルへのユーザアクセスイベントに関する情報を受信し、前記ユーザアクセスイベントの各々についての情報は、ユーザのユニークな識別子及びディレクトリのユニークな識別子を含み、
デファクトファイルグループのセットを構築し、前記デファクトファイルグループの各々は、ディレクトリの各々に対応し、前記指定された期間の間に、前記ディレクトリの各々の１つもしくは複数のファイルにアクセスしたユーザの各々の前記ユーザのユニークな識別子を含み、
前記デファクトファイルグループの各々について、前記ディレクトリの各々のファイルへの前記ユーザアクセスイベントに基づいて使用値の各々を計算し、
前記デファクトファイルグループを前記デファクトグループにマージし、前記デファクトファイルグループの各々が前記デファクトグループと等しい場合、前記デファクトファイルグループの各々の前記使用値に基づいて前記デファクトグループの各々の前記使用値を変更する、
ことをコンピュータ実行させるための請求項１〜５のいずれか１項に記載のプログラム。
【請求項７】
さらに、
クライアントデバイスのユーザインターフェイスの表示のために、前記保存済グループに対応する情報を提供する、ことをコンピュータに実行させるための請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記ユーザインターフェイスは、
前記クライアントデバイスのユーザの操作に応じて、
前記保存済グループのセットを変更する前記推奨を受容し、
保存済グループを選択し、
選択された前記保存済グループの前記人々についての現在状態情報をサーバから受信し、表示する、
請求項７に記載のプログラム。
【請求項９】
前記ユーザインターフェイスは電子メールアプリケーションに対応し、
前記ユーザインターフェイスは、
前記電子メールアプリケーションのユーザの操作に応じて、
新しい電子メッセージの受信者リストとして保存済グループを選択する、
請求項７に記載のプログラム。
【請求項１０】
前記ユーザインターフェイスはネットワーク管理ツールに対応し、
前記推奨は、保存済グループＧのネットワークアクセス特権を変更することであり、
前記ネットワーク管理ツールは、
前記ネットワーク管理ツールのユーザの操作に応じて、
前記保存済グループＧの前記ネットワークアクセス特権を変更する、
請求項７に記載のプログラム。
【請求項１１】
前記推奨を提供することは、前記ユーザによって前記推奨が受容される可能性を計算することを含み、前記計算は前記デファクトグループ、前記保存済グループ、及び関連する前記使用値と共に１つもしくは複数のパラメータを使用し、
前記推奨を提供した後、
さらに、
前記推奨が受容されたか否かを示すフィードバックを受信し、
受信した前記フィードバックに基づいて１つもしくは複数の前記パラメータの少なくとも１つの値を変更し、
変更された前記パラメータの値を用いた計算に基づいて、前記保存済グループのセットを変更するための第２の推奨を提供する、
ことをコンピュータに実行させるための請求項１〜１０のいずれか１項に記載のプログラム。
【請求項１２】
１つもしくは複数のプロセッサ、
メモリ及び
前記メモリに記憶されている１つもしくは複数のプログラム、
を備えるコンタクトグループを管理するシステムであって、
前記１つもしくは複数のプログラムは、
指定された期間の間に、送信された複数の電子メッセージの電子メールヘッダ情報を受信し、前記電子メッセージの前記電子メールヘッダ情報は前記電子メッセージの送信者のユニークな識別子及び受信者の各々のユニークな識別子を含み、
受信した前記電子メールヘッダ情報を用いてデファクトグループのセットを構築し、前記デファクトグループの各々は、前記電子メールヘッダ情報が受信された前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子を含むセットを含み、
前記デファクトグループの各々について、前記デファクトグループの各々に対応する別個の電子メッセージの数に基づいて使用値の各々を計算し、前記電子メッセージは、前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子のセットが前記デファクトグループと等しい場合、前記デファクトグループに対応し、
前記デファクトグループの各々及び対応する使用値を前記メモリに記憶し、
保存済グループのセットを識別し、前記保存済グループの各々は人々のユニークな識別子のセットを含み、前記使用値の各々は、前記保存済グループの各々が前記デファクトグループのいずれとも等しくない場合０であり、前記保存済グループの各々が対応する前記デファクトグループと等しい場合、前記保存済グループの前記使用値は対応する前記デファクトグループの前記使用値と等しく、
前記デファクトグループ及び前記デファクトグループに関連する前記使用値と、前記保存済グループ及び前記保存済グループに関連する前記使用値と、を比較し、
前記比較に基づいて、前記保存済グループのセットを変更する推奨を提供する、
ための命令を含む、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実装は、一般的に、コンタクトリスト、電子メール配送リスト及びネットワークアクセス特権及びこれらのリストの管理を容易にする方法に関する。
【背景技術】
【０００２】
現代の仕事場において、ソーシャルネットワーキングアプリケーション、ビデオ会議、インスタントチャット及びその他の進歩したコンピュータ利用コミュニケーション（ＣＭＣ）技術は至る所にある。コラボレーションの必要性にもっともよく適合する媒体を用いて、作業者が伝達可能な瞬間を利用することを可能とするために、この出現した技術は設計されている。このモデルは、一般的に、コンタクトリスト、配送リスト、アクセスリストなどを維持することを作業者に要求する。これらのリストを管理することは退屈であるが、小さなワーキンググループについては管理可能である。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ハーン（HAHN）、「オープンソースソフトウェアデベロッパネットワークからの新プロジェクトチームの出現：従来のコラボレーションにおける結び付きへのインパクト（"Emergence of New Project Teams from Open Source Software Developer Networks: Impact of Prior Collaboration Ties"）」、情報システムリサーチ（Information Systems Research）、２００８年９月、Vol. 19、No. 3、頁３６９〜３９１
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記技術がより大きな企業に広がると、コンタクトグループ管理のオーバーヘッドは過度となる。
【課題を解決するための手段】
【０００５】
本発明の開示の実装は、作業者グループリストの管理に関する上記問題に対応する。開示のシステムは、デファクトグループ及びデファクトグループの使用のレベルを識別するために既存の通信チャネルを監視する。データは、電子メール、ファイルサーバアクセス、共有カレンダデータ、電話のログもしくは存在及び近接データから取得する。デファクトグループについての情報は、次に、既存のグループと比較され、ユーザへの推奨をシステムが生成する。例えば、実装のいくつかにおいて、システムは、実際に使用されているグループ化へさらに近く適合するように、新しいグループを追加すること、既存のグループを除去すること、もしくは、既存のグループを変更することを推奨する。ユーザが同僚の存在データへアクセスする実装のいくつかにおいて、ユーザはグループを選択し、これにより、存在情報もしくはその他の状態情報を取得するために、さらに迅速にグループ内の個人を識別する。さらに、異なるグループは、ユーザの存在データもしくはアウェアネスデータへの異なるアクセスレベルを有してもよい。実装のいくつかにおいて、システムは、グループのアクティビティに基づいて、異なるファイルアクセス許可を推奨する。例えば、非常にアクティブなグループにおいては、時間の制約なく、所定のネットワークファイルへの制約のないアクセスを、当該グループのユーザの全てに許可することがより有効であるかもしれない。最後に、実装のいくつかは、グラフィカルユーザインターフェイスに提示される場合、グループを順序付けるためにグループの使用を利用する。例えば、ユーザは、より多い子メール配送リストを有するかもしれない。したがって、実装のいくつかは、使用を低減することによってグループをソートする。ユーザは、これにより、多くの場合、適切な配送リストを迅速に識別することが可能となる。作業者のグループ化は動的である。したがって、グループの任意の固定セットが、グループが生成されるとすぐに用いられないものになり始める。本発明の実装は、より多いデータを定期的に収集し、新しいデータを古いデータよりも重く重み付けすることによって（例えば、指数減衰関数）、問題に対処する。実装のいくつかにおいて、新しいデータは週毎に収集され、収集のすぐ後に、データに基づく新しい推奨がユーザに提示される。この方法で、ユーザは、容易に、過剰な負荷なしに、コンタクトリスト、配送リストなどを管理することができる。
【０００６】
クラスタリングもしくはペアリングに基づいてグループを構築するアルゴリズムと異なり、開示の実装はグループを直接的に生成し、同時に、ユーザが多くの別個のグループのメンバであってよいことを適切に認識する。例えば、ユーザＡは、同僚Ｂ及びＣとあるプロジェクトで作業し、同僚Ｄ、Ｅ、Ｆと他のプロジェクトで作業し、同僚Ｅ、Ｇ、Ｈと同じ委員会に属していてもよい。この例において、グループ｛Ａ，Ｂ，Ｃ｝、｛Ａ，Ｄ，Ｅ，Ｆ｝、｛Ａ，Ｅ，Ｇ，Ｈ｝は全て独立的に意味を有する。ユーザＡは、これらの全ての同僚と作業しているが、｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈ｝は有用なグループではない。
【０００７】
実装のいくつかによれば、コンタクトグループを管理する方法は、１つもしくは複数のプロセッサ及びメモリを有するサーバで実行される。サーバは、指定された期間の間に送信された複数の電子メッセージの電子メールヘッダ情報を受信する。電子メッセージの電子メールヘッダ情報は、電子メッセージの送信者のユニークな識別子、受信者の各々のユニークな識別子を含む。サーバは、受信した電子メールヘッダ情報を用いてデファクトグループのセットを構築する。デファクトグループの各々は、電子メールヘッダ情報が受信された電子メッセージの送信者及び受信者に対応するユニークな識別子を含むセットを含む。デファクトグループの各々について、サーバは、デファクトグループの各々に対応する別個の電子メッセージの数に基づいて各々の使用値を計算する。
【０００８】
電子メッセージは、電子メッセージの送信者及び受信者に対応するユニークな識別子のセットがデファクトグループと等しい場合、デファクトグループに対応する。サーバは、デファクトグループの各々及び対応する使用値をメモリに保存し、保存済グループのセットを識別する。保存済グループの各々は人々のユニークな識別子を有し、保存済グループの各々は使用値を有する。保存済グループがいずれのデファクトグループとも等しくない場合、使用値の各々は０であり、保存済グループの各々が対応するデファクトグループと等しい場合、保存済グループの使用値は対応するデファクトグループの使用値と等しい。サーバは、デファクトグループ及び関連する使用値を保存済グループ及びそれらの関連する使用値と比較し、比較に基づいて保存済グループのセットを変更するための推奨を提供する。実装のいくつかにおいて、推奨は、クライアントデバイスのユーザインターフェイスに表示される。実装のいくつかにおいて、ユーザは、保存済グループのセットを変更するための推奨を受容し、保存済グループの１つを選択し、サーバからの、選択した保存済グループの人々についての現在状態情報を受信し、見る。
【０００９】
実装のいくつかにおいて、デファクトグループ及びそれらの使用値を計算するための情報は、ファイルアクセスイベントからのデータを含む。これらの実装において、サーバは、指定された期間の間、共有ディレクトリのファイルへのユーザアクセスイベントに関する情報を受信する。ユーザアクセスイベントの各々についての情報は、ユーザのユニークな識別子及びディレクトリのユニークな識別子を含む。サーバは、デファクトグループの各々がディレクトリの各々に対応するデファクトグループのセットを構築する。デファクトファイルグループは、指定された期間の間、ディレクトリの各々の１つもしくは複数のファイルにアクセスしたユーザの各々のユニークなユーザ識別子を含む。デファクトファイルグループの各々について、サーバは、ディレクトリの各々のファイルへのユーザアクセスイベントに基づいて使用値の各々を計算する。サーバは、次に、デファクトファイルグループをデファクトグループにマージする。デファクトファイルグループの各々がデファクトグループと等しい場合、サーバは、デファクトファイルグループの各々の使用値に基づいてデファクトグループの各々の使用値を変更する。
【００１０】
実装は、異なるタイプの推奨をサポートする。いくつかの例において、保存済グループの使用値が更新閾値を下回る場合、保存済グループを除去することを推奨する。いくつかの例において、保存済グループＧがデファクトグループＧ’の適切なサブセットであり、Ｇ’の使用値からＧの使用値を差し引いた値がスーパーセット置換閾値を越えている場合、保存済グループＧをデファクトグループＧ’と置換することを推奨する。いくつかの例において、デファクトグループＧ’’が保存済グループＧの適切なサブセットであり、Ｇ’’の使用値からＧの使用値を差し引いた値がサブセット置換閾値を越えている場合、保存済グループＧをデファクトグループＧ’’と置換することを推奨する。いくつかの例において、デファクトグループＧＮの使用値が挿入閾値を越え、ＧＮが保存済グループのいずれとも等しくなく、ＧＮが保存済グループのいずれとの置換も推奨されない場合、デファクトグループＧＮを新しい保存済グループとして保存することを推奨する。
【００１１】
本発明の第１の態様は、プログラムであって、指定された期間の間に、送信された複数の電子メッセージの電子メールヘッダ情報を受信し、前記電子メッセージの前記電子メールヘッダ情報は前記電子メッセージの送信者のユニークな識別子及び受信者の各々のユニークな識別子を含み、受信した前記電子メールヘッダ情報を用いてデファクトグループのセットを構築し、前記デファクトグループの各々は、前記電子メールヘッダ情報が受信された前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子を含むセットを含み、前記デファクトグループの各々について、前記デファクトグループの各々に対応する別個の電子メッセージの数に基づいて使用値の各々を計算し、前記電子メッセージは、前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子のセットが前記デファクトグループと等しい場合、前記デファクトグループに対応し、前記デファクトグループの各々及び対応する使用値をメモリに記憶し、保存済グループのセットを識別し、前記保存済グループの各々は人々のユニークな識別子のセットを含み、前記使用値の各々は、前記保存済グループの各々が前記デファクトグループのいずれとも等しくない場合０であり、前記保存済グループの各々が対応する前記デファクトグループと等しい場合、前記保存済グループの前記使用値は対応する前記デファクトグループの前記使用値と等しく、前記デファクトグループ及び前記デファクトグループに関連する前記使用値と、前記保存済グループ及び前記保存済グループに関連する前記使用値と、を比較し、前記比較に基づいて、前記保存済グループのセットを変更する推奨を提供する、ことをコンピュータに実行させる。
【００１２】
本発明の第２の態様は、第１の態様のプログラムであって、前記推奨は、前記保存済グループの前記使用値が更新閾値を下回る場合、前記保存済グループを除去することである。
【００１３】
本発明の第３の態様は、第１の態様のプログラムであって、前記推奨は、保存済グループＧがデファクトグループＧ’の適切なサブセットであり、Ｇ’の前記使用値からＧの前記使用値を差し引いた値がスーパーセット置換閾値を越える場合、前記保存済グループＧを前記デファクトグループＧ’と置換することである。
【００１４】
本発明の第４の態様は、第１の態様のプログラムであって、前記推奨は、デファクトグループＧ’’が保存済グループＧの適切なサブセットであり、Ｇ’’の前記使用値からＧの前記使用値を差し引いた値がサブセット置換閾値を越える場合、前記保存済グループＧを前記デファクトグループＧ’’と置換することである。
【００１５】
本発明の第５の態様は、第１の態様のプログラムであって、前記推奨は、デファクトグループＧＮの前記使用値が挿入閾値を越え、ＧＮが前記保存済グループのいずれとも等しくなく、ＧＮが前記保存済グループのいずれかとの置換を推奨されていない場合、前記デファクトグループＧＮを新しい保存済グループとして保存することである。 
【００１６】
本発明の第６の態様は、第１〜第５のいずれかの態様のプログラムであって、さらに、前記指定された期間の間に、共有ディレクトリのファイルへのユーザアクセスイベントに関する情報を受信し、前記ユーザアクセスイベントの各々についての情報は、ユーザのユニークな識別子及びディレクトリのユニークな識別子を含み、デファクトファイルグループのセットを構築し、前記デファクトファイルグループの各々は、ディレクトリの各々に対応し、前記指定された期間の間に、前記ディレクトリの各々の１つもしくは複数のファイルにアクセスしたユーザの各々の前記ユーザのユニークな識別子を含み、前記デファクトファイルグループの各々について、前記ディレクトリの各々のファイルへの前記ユーザアクセスイベントに基づいて使用値の各々を計算し、前記デファクトファイルグループを前記デファクトグループにマージし、前記デファクトファイルグループの各々が前記デファクトグループと等しい場合、前記デファクトファイルグループの各々の前記使用値に基づいて前記デファクトグループの各々の前記使用値を変更する、ことをコンピュータに実行させる。
【００１７】
本発明の第７の態様は、第１〜第６のいずれかの態様のプログラムであって、さらに、クライアントデバイスのユーザインターフェイスの表示のために、前記保存済グループに対応する情報を提供する、ことをコンピュータに実行させる。
【００１８】
本発明の第８の態様は、第７の態様のプログラムであって、前記ユーザインターフェイスは、前記クライアントデバイスのユーザの操作に応じて、前記保存済グループのセットを変更する前記推奨を受容し、保存済グループを選択し、選択された前記保存済グループの前記人々についての現在状態情報をサーバから受信し、表示する。
【００１９】
本発明の第９の態様は、第７の態様のプログラムであって、前記ユーザインターフェイスは電子メールアプリケーションに対応し、前記ユーザインターフェイスは、前記電子メールアプリケーションのユーザの操作に応じて、新しい電子メッセージの受信者リストとして保存済グループを選択する。
【００２０】
本発明の第１０の態様は、第７の態様のプログラムであって、前記ユーザインターフェイスはネットワーク管理ツールに対応し、前記推奨は、保存済グループＧのネットワークアクセス特権を変更することであり、前記ネットワーク管理ツールは、前記ネットワーク管理ツールのユーザの操作に応じて、前記保存済グループＧの前記ネットワークアクセス特権を変更する。
【００２１】
本発明の第１１の態様は、第１〜第１０のいずれかの態様のプログラムであって、前記推奨を提供することは、前記ユーザによって前記推奨が受容される可能性を計算することを含み、前記計算は前記デファクトグループ、前記保存済グループ、及び関連する前記使用値と共に１つもしくは複数のパラメータを使用し、前記推奨を提供した後、さらに、前記推奨が受容されたか否かを示すフィードバックを受信し、受信した前記フィードバックに基づいて１つもしくは複数の前記パラメータの少なくとも１つの値を変更し、変更された前記パラメータの値を用いた計算に基づいて、前記保存済グループのセットを変更するための第２の推奨を提供する、ことをコンピュータに実行させる。
【００２２】
本発明の第１２の態様は、１つもしくは複数のプロセッサ、メモリ及び前記メモリに記憶されている１つもしくは複数のプログラム、を備えるコンタクトグループを管理するシステムであって、前記１つもしくは複数のプログラムは、指定された期間の間に、送信された複数の電子メッセージの電子メールヘッダ情報を受信し、前記電子メッセージの前記電子メールヘッダ情報は前記電子メッセージの送信者のユニークな識別子及び受信者の各々のユニークな識別子を含み、受信した前記電子メールヘッダ情報を用いてデファクトグループのセットを構築し、前記デファクトグループの各々は、前記電子メールヘッダ情報が受信された前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子を含むセットを含み、前記デファクトグループの各々について、前記デファクトグループの各々に対応する別個の電子メッセージの数に基づいて使用値の各々を計算し、前記電子メッセージは、前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子のセットが前記デファクトグループと等しい場合、前記デファクトグループに対応し、前記デファクトグループの各々及び対応する使用値を前記メモリに記憶し、保存済グループのセットを識別し、前記保存済グループの各々は人々のユニークな識別子のセットを含み、前記使用値の各々は、前記保存済グループの各々が前記デファクトグループのいずれとも等しくない場合０であり、前記保存済グループの各々が対応する前記デファクトグループと等しい場合、前記保存済グループの前記使用値は対応する前記デファクトグループの前記使用値と等しく、前記デファクトグループ及び前記デファクトグループに関連する前記使用値と、前記保存済グループ及び前記保存済グループに関連する前記使用値と、を比較し、前記比較に基づいて、前記保存済グループのセットを変更する推奨を提供する、ための命令を含む。
【発明の効果】
【００２３】
コンタクトグループ管理のオーバーヘッドを抑制することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実装のいくつかが動作する状況を例示する。
【図２】実装のいくつかによるファイルサーバを例示するブロック図である。
【図３】実装のいくつかによる電子メールサーバを例示するブロック図である。
【図４】実装のいくつかによる分析サーバを例示するブロック図である。
【図５】実装のいくつかによるユーザデバイスを例示するブロック図である。
【図６】実装のいくつかによる電子メールメッセージの構成要素を例示する。
【図７】実装のいくつかによる電子メールメッセージからデファクトグループを抽出する処理を例示する。
【図８】実装のいくつかによる、グループに使用値を割り当てる処理を例示する。
【図９】実装のいくつかによるネットワークファイルサーバのルートディレクトリの部分を例示する。
【図１０】実装のいくつかによるファイルアクセスログの部分を例示する。
【図１１】実装のいくつかによる、ファイルアクセスログからのデファクトグループ及びそれらの使用値の構築を例示する。
【図１２】実装のいくつかによる、グループ推奨を提供する処理を例示するフローチャートである。
【図１３】実装のいくつかによる、グループ推奨を提供する処理を例示するフローチャートである。
【図１４】実装のいくつかによる、グループ内の関連するアクティビティに基づいてグループのファイルアクセス特権を推奨する方法を例示する。
【図１５】実装のいくつかによる、相対的な使用値に基づくグループの順序付けを例示する。
【図１６】実装のいくつかにおいて、どのように存在／アウェアネスシステムが推奨されたグループを利用するかを例示する。
【図１７】将来、より適切なグループ推奨を提供するために、どのように実装のいくつかがユーザからのフィードバックを利用するかを例示する。
【図１８Ａ】実装のいくつかによる、ユーザのグループを構築し、グループに基づいて推奨を生成し、グループを利用する処理を例示する。
【図１８Ｂ】実装のいくつかによる、ユーザのグループを構築し、グループに基づいて推奨を生成し、グループを利用する処理を例示する。
【図１８Ｃ】実装のいくつかによる、ユーザのグループを構築し、グループに基づいて推奨を生成し、グループを利用する処理を例示する。
【図１８Ｄ】実装のいくつかによる、ユーザのグループを構築し、グループに基づいて推奨を生成し、グループを利用する処理を例示する。
【図１８Ｅ】実装のいくつかによる、ユーザのグループを構築し、グループに基づいて推奨を生成し、グループを利用する処理を例示する。
【発明を実施するための形態】
【００２５】
同様の参照符号は、図に亘って対応する部分を参照する。
【００２６】
図１は、本発明の実装が動作する環境を例示する。ユーザ１０２は、通信ネットワーク１０６を介して、電子メールサーバ３００と通信するためにユーザデバイス５００を使用する。電子メールクライアントはユーザデバイス５００に常駐していてもよいし、ユーザは、電子メールサーバもしくはウェブサーバによって提供されるウェブアプリケーションを用いて、電子メールにアクセスしてもよい。図１は、電子メールメッセージ１１２及び配送グループ１１６を含む電子メールサーバ３００の限定された部分を例示する。ここに例示されているように、電子メールメッセージ１１２の各々は、図６と共に以下により詳細に記述されるヘッダ１１４を含む。配送グループ１１６の各々は、グループメンバ１１８のセットを含む。グループ及びグループメンバの間は多対多の関係を有する。実装のいくつかにおいて、グループの各々のメンバは全て「等しい」。しかしながら、実装のいくつかは、メンバが異なる役割を有することができるグループをサポートする。例えば、電子メール配送リストにおいて、実装のいくつかは、「Ｔｏ」リストに現れるユーザと「ｃｃ」リスト、「ｂｃｃ」リストに現れるユーザとの間を区別することが可能である。
【００２７】
彼ら自身のユーザデバイス５００を用いた、その他のユーザ１０４−１〜１０４−ｎなどのその他のユーザ１０４も通信ネットワーク上で通信する。ユーザ１０２のように、その他のユーザ１０４は、通信ネットワークを介して電子メールを送信し、受信することができ、ファイルサーバ２００のファイル１３４及びディレクトリ１３２にアクセスすることができる。ファイルサーバディレクトリ構造の部分は、以下で図９により例示する。実装のいくつかにおいて、アクセスオペレーションはアクセスログ１３６にログをとる。例えば、実装のいくつかにおいて、ログ動作はファイルを生成し、編集し、もしくは削除し、ファイルの名称を変更し、ファイルを異なる位置に移動することを含む。ログアクセスファイルの部分は以下で図１０と共に例示する。
【００２８】
実装のいくつかにおいて、ファイルサーバはアクセスグループ１３８を維持する。アクセスグループ１３８は、グループメンバ１４０のセットとグループメンバのアクセス特権１４２のセットを有する。アクセス特権１４２は、アクセスが許可される場合（例えば、標準作業時間対いつでも）に、どの動作が許可されるか、などを特定する。
【００２９】
分析サーバ４００は、グループ識別モジュール１２２の部分としてデファクトグループを識別するために、電子メールメッセージ１１２及び／もしくはファイルアクセスに関する情報を抽出する。実装のいくつかにおいて、モジュール１２２は電子メールサーバ３００から電子メールメッセージ１１２を抽出し、同時に、全てのユーザからメッセージを抽出する。代替的な実装において、分析サーバのグループ識別モジュール１２２は、個別のユーザデバイス５００から電子メールメッセージを抽出する。一般的に、効率は低いが、実装のいくつかは、メッセージが中央の電子メールサーバ３０に保存されていない場合、個別のユーザデバイス５００から電子メールを抽出することを可能とする。グループ識別モジュール１２２は、１つもしくは複数のファイルサーバ２００の１つもしくは複数のファイルアクセスログ１３６からの情報を用いてデファクトグループを構築する。デファクトグループを形成するためにデータを抽出し、グループの各々の利用レベルを識別する処理は、以下で図６〜１１により詳細に記述する。
【００３０】
分析サーバ４００は、デファクトグループ及びそれらの利用レベルに基づくあるグループアクションを推奨する推奨モジュール１２６も含む。例えば、推奨モジュール１２６は、保存グループ１２８のセットの追加、削除もしくは変更を推奨することができる。推奨モジュール１２６は図１２〜図１５により以下で詳細に説明する。
【００３１】
図２は、実装のいくつかによるファイルサーバ２００を例示するブロックダイアグラムである。ファイルサーバ２００は、一般的に、１つもしくは複数の処理ユニット（ＣＰＵ）２０２、１つもしくは複数のネットワークもしくはその他の通信インターフェイス２０４、メモリ２１０及びこれらの構成要素を相互に接続する１つもしくは複数の通信バス２０９を含む。通信バス２０９は、システム構成要素間を相互に接続し、通信を制御する回路（チップセットとも呼ぶ）を含むことができる。ファイルサーバ２００は、任意ではあるが、ディスプレイデバイス２０６及び入力デバイス２０８（例えば、キーボード、マウス、タッチスクリーン、キーパッドなど）を含むユーザインターフェイス２０５を含むことができる。メモリ２１０は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭもしくはその他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、１つもしくは複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、もしくはその他の不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含んでもよい。メモリ２１０は、任意ではあるが、ＣＰＵ２０２と離れて配置される１つもしくは複数のストレージデバイスを含んでもよい。メモリ２１０もしくは代替的にメモリ２１０に含まれる不揮発性メモリデバイスはコンピュータ可読記憶媒体を含む。
【００３２】
実装のいくつかにおいて、メモリ２１０は以下のプログラム、モジュール、データ構造もしくはそれらのサブセットを記憶する。
●オペレーティングシステム２１２。オペレーティングシステム２１２は、様々な基本システムサービスを扱うため、及び、ハードウェア依存タスクを実行するためのプロシージャを含む。
●通信モジュール２１４。通信モジュール２１４は、１つもしくは複数の通信インターフェイス２０４（有線もしくは無線）及びインターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つもしくは複数の通信ネットワーク１０６を介してその他のコンピュータにファイルサーバ２００を接続するために使用される。
●ユーザインターフェイスモジュール２１６（任意）。ユーザインターフェイスモジュール２１６は、入力デバイス２０８を介してユーザからコマンドを受信し、ディスプレイデバイス２０６のユーザインターフェイスオブジェクトを生成する。
●ディレクトリ１３２。ディレクトリ１３２は、ファイルを保存するために階層的構造を形成する。
●ファイル１３４。ファイル１３４は、任意のフォーマットで保存し得る。
●アクセスログ１３６。アクセスログ１３６は、あるファイルアクセス動作に関する情報を保存する。実装のいくつかにおいて、動作はファイルの生成、削除、もしくは変更、及び、ファイルの名称の変更もしくはファイルの移動を含む。アクセスログは、図１０に例示する、誰が動作を実行したかを示す識別子、ディレクトリの識別子（例えば、フルパスネーム）、ファイルの識別子（例えば、ファイルの名称）、動作が行われたときを示すタイムスタンプを含む。
●アクセスグループ１３８。アクセスグループ１３８の各々は、グループメンバ１４０（すなわち、ユーザ）のセット及びアクセス特権１４２のセットを識別する。
【００３３】
上記で識別された要素の各々は、上記したメモリデバイスの１つもしくは複数に保存されていてもよく、上記機能を実行するための命令セットに対応する。命令セットは１つもしくは複数のプロセッサ（例えば、ＣＰＵ２０２）によって実行され得る。上記識別されたモジュールもしくはプログラム（すなわち、命令セット）は、別個のソフトウェアプログラム、プロシージャ、もしくはモジュールとして実装される必要はなく、これらのモジュールの様々なサブセットは組み合わされ、もしくは、様々な実装で再構成されてもよい。実装のいくつかにおいて、メモリ２１０は上記識別されたモジュール及びデータ構造のサブセットを保存してもよい。さらに、メモリ２１０は、上記していないその他のモジュール及びデータ構造を保存してもよい。
【００３４】
図２はファイルサーバ２００を示すが、図２はここで記載される実装の構造的な概略ではなく、サーバのセットにある様々な特徴の機能的な記述を行うことを意図している。実際には、当業者によって認識されるように、別個に示されている要素は組み合わせることができ、要素のいくつかは分離されてもよい。例えば、図２に別個に示されている要素のいくつかは、単一のサーバに実装され得るが、単一の要素が１つもしくは複数のサーバによって実装されてもよい。ファイルサーバ２００を実装するために使用されるサーバの実際の数、及び、どの特徴がそれらに割り当てられるか、は、実装によって異なり、負荷がピークとなる使用時間及び負荷が平均的である使用時間にシステムが扱わなければならないデータトラフィックの量に部分的に依存する。
【００３５】
図３は、実装のいくつかによる電子メールサーバ３００を例示するブロック図である。電子メールサーバ３００は、一般的に、１つもしくは複数の処理ユニット（ＣＰＵ）３０２、１つもしくは複数のネットワークもしくはその他の通信インターフェイス３０４、メモリ３１０、及びこれらの構成要素を相互に接続する１つもしくは複数の通信バス３０９を含む。通信バス３０９は、システム構成要素間を相互に接続し通信を制御する回路（チップセットとも呼ぶ）を含むことができる。電子メールサーバ３００は、任意で、ディスプレイデバイス３０６及び入力デバイス３０８（例えば、キーボード、マウス、タッチスクリーン、キーパッドなど）を含むユーザインターフェイス３０５を含んでいてもよい。メモリ３１０は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭもしくはその他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、１つもしくは複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、もしくはそのほかの不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含んでもよい。メモリ３１０は、任意ではあるが、ＣＰＵ３０２と離れて配置される１つもしくは複数のストレージデバイスを含んでもよい。メモリ３１０もしくは代替的にメモリ３１０に含まれる不揮発性メモリデバイスはコンピュータ可読記憶媒体を含む。
【００３６】
実装のいくつかにおいて、メモリ３１０は以下のプログラム、モジュール、データ構造もしくはそれらのサブセットを記憶する。
●オペレーティングシステム３１２。オペレーティングシステム３１２は、様々な基本システムサービスを扱うため、及び、ハードウェア依存タスクを実行するためのプロシージャを含む。
●通信モジュール３１４。通信モジュール３１４は、１つもしくは複数の通信インターフェイス３０４（有線もしくは無線）及びインターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つもしくは複数の通信ネットワーク１０６を介してその他のコンピュータに電子メールサーバ３００を接続するために使用される。
●ユーザインターフェイスモジュール３１６（任意）。ユーザインターフェイスモジュール３１６は、入力デバイス３０８を介してユーザからコマンドを受信し、ディスプレイデバイス３０６のユーザインターフェイスオブジェクトを生成する。
●電子メールメッセージ１１２。電子メールメッセージ１１２は、図６と共に以下でより詳細に説明する。電子メールメッセージ１１２の各々は、メッセージの送信者及び受信者を識別するメッセージヘッダ１１４を有する。
●１つもしくは複数の配送グループもしくはコンタクトリスト１１６。グループもしくはリストの各々は、グループメンバ１１８のセットを含み、実装のいくつかにおいて、グループメンバの１つもしくは複数の役割を識別する。
【００３７】
上記で識別された要素の各々は、上記したメモリデバイスの１つもしくは複数に保存されていてもよく、上記機能を実行するための命令セットに対応する。命令セットは１つもしくは複数のプロセッサ（例えば、ＣＰＵ３０２）によって実行され得る。上記識別されたモジュールもしくはプログラム（すなわち、命令セット）は、別個のソフトウェアプログラム、プロシージャ、もしくはモジュールとして実装される必要はなく、これらのモジュールの様々なサブセットは組み合わされ、もしくは、様々な実装で再構成されてもよい。実装のいくつかにおいて、メモリ３１０は上記識別されたモジュール及びデータ構造のサブセットを保存してもよい。さらに、メモリ３１０は、上記していないそのほかのモジュール及びデータ構造を保存してもよい。
【００３８】
図３は電子メールサーバ３００を示している。図３は、ここで記述される実装の構造的な概略ではなく、サーバセットにあってもよい様々な特徴の機能に関する記述を意図している。実用的には、そして、当業者によって認識されるように、別個に示されている構成要素は組み合わせられてもよいし、構成要素のいくつかは分離されてもよい。例えば、図３で別個に示されている構成要素のいくつかは、単一のサーバに実装されてもよいし、単一の構成要素は１つもしくは複数のサーバによって実装されてもよい。電子メールサーバ３００を実装するために使用されるサーバの実際の数及びどの特徴がどのサーバに割り当てられるかは、実装によって異なり、負荷がピークとなる使用時間及び負荷が平均的である使用時間にシステムが扱わなければならないデータトラフィックの量に部分的に依存する。
【００３９】
図４は、実装のいくつかによる分析サーバ４００を例示するブロック図である。分析サーバ４００は、一般的に、１つもしくは複数の処理ユニット（ＣＰＵ）４０２、１つもしくは複数のネットワークもしくはその他の通信インターフェイス４０４、メモリ４１０及びこれらの構成要素を相互に接続する１つもしくは複数の通信バス４０９を含む。通信バス４０９は、システム構成要素間を相互に接続し通信を制御する回路（チップセットとも呼ぶ）を含むことができる。分析サーバ４００は、任意で、ディスプレイデバイス４０６及び入力デバイス４０８（例えば、キーボード、マウス、タッチスクリーン、キーパッドなど）を含むユーザインターフェイス４０５を含んでいてもよい。メモリ４１０は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭもしくはその他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、１つもしくは複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、もしくはその他の不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含んでもよい。メモリ４１０は、任意ではあるが、ＣＰＵ４０２と離れて配置される１つもしくは複数のストレージデバイスを含んでもよい。メモリ４１０もしくは代替的にメモリ４１０に含まれる不揮発性メモリデバイスはコンピュータ可読記憶媒体を含む。
【００４０】
実装のいくつかにおいて、メモリ４１０は以下のプログラム、モジュール、データ構造もしくはそれらのサブセットを記憶する。
●オペレーティングシステム４１２。オペレーティングシステム４１２は、様々な基本システムサービスを扱うため、及び、ハードウェア依存タスクを実行するためのプロシージャを含む。
●通信モジュール４１４。通信モジュール４１４は、１つもしくは複数の通信インターフェイス４０４（有線もしくは無線）及びインターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つもしくは複数の通信ネットワーク１０６を介してその他のコンピュータに分析サーバ４００を接続するために使用される。
●ユーザインターフェイスモジュール４１６（任意）。ユーザインターフェイスモジュール４１６は、入力デバイス４０８を介してユーザからコマンドを受信し、ディスプレイデバイス４０６のユーザインターフェイスオブジェクトを生成する。
●グループ識別モジュール１２２。グループ識別モジュール１２２は、ユーザのデファクトグループ１２４を識別するために、電子メールメッセージ１１２及びアクセスログ１３６から情報を抽出する。これについては、図６〜図１１によって、以下でより詳細に記述する。
●推奨モジュール１２６。推奨モジュール１２６は、グループ（例えば、配送グループ１１６及び／もしくはアクセスグループ１３８）の構成に関する推奨、もしくは、アクセス特権１４２に関する推奨を発行する。実装のいくつかにおいて、推奨モジュール１２６は、グループがユーザインターフェイスに表示される場合のグループのソート順を識別する。推奨プロセスは、図１２〜図１５及び図１８Ａ〜図１８Ｅの部分を用いて、以下でより詳細に記述される。推奨モジュール１２６は、デファクトグループ１２４及びそれらの使用レベルと、既存の保存済グループ１２８及びそれらの使用レベルと、を比較する。例えば、よく使用されるデファクトグループ１２４がまだ保存済グループ１２８でないならば、推奨モジュール１２６は、保存済グループ１２８としてデファクトグループ１２４を追加すること、及び、デファクトグループ１２４と類似する既存の保存済グループ１２８と置換すること、を推奨することができる。
【００４１】
上記で識別された要素の各々は、上記したメモリデバイスの１つもしくは複数に保存されていてもよく、上記機能を実行するための命令セットに対応する。命令セットは１つもしくは複数のプロセッサ（例えば、ＣＰＵ４０２）によって実行され得る。上記識別されたモジュールもしくはプログラム（すなわち、命令セット）は、別個のソフトウェアプログラム、プロシージャ、もしくはモジュールとして実装される必要はなく、これらのモジュールの様々なサブセットは組み合わされ、もしくは、様々な実装で再構成されてもよい。実装のいくつかにおいて、メモリ４１０は上記識別されたモジュール及びデータ構造のサブセットを保存してもよい。さらに、メモリ４１０は、上記していないその他のモジュール及びデータ構造を保存してもよい。
【００４２】
図４は分析サーバ４００を示している。図４は、ここで記述される実装の構造的な概略ではなく、サーバセットにあってもよい様々な特徴の機能に関する記述を意図している。実用的には、そして、当業者によって認識されるように、別個に示されている構成要素は組み合わせられてもよいし、構成要素のいくつかは分離されてもよい。例えば、図４で別個に示されている構成要素のいくつかは、単一のサーバに実装されてもよいし、単一の構成要素は１つもしくは複数のサーバによって実装されてもよい。分析サーバ４００を実装するために使用されるサーバの実際の数及びどの特徴がどのサーバに割り当てられるかは、実装によって異なり、負荷がピークとなる使用時間及び負荷が平均的である使用時間にシステムが扱わなければならないデータトラフィックの量に部分的に依存する。
【００４３】
図５は、実装のいくつかによるユーザデバイス５００を例示するブロック図である。ユーザデバイス５００は、通信ネットワーク１０６を介して、その他の計算処理デバイスに接続することができるデスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、もしくはその他のモバイルデバイスであってよい。ユーザデバイス５００は、一般的に、１つもしくは複数の処理ユニット（ＣＰＵ）５０２、１つもしくは複数のネットワークもしくはその他の通信インターフェイス５０４、メモリ５１０及びこれらの構成要素を相互に接続する１つもしくは複数の通信バス５０９を含む。通信バス５０９は、システム構成要素間を相互に接続し通信を制御する回路（チップセットとも呼ぶ）を含むことができる。ユーザデバイス５００は、ディスプレイデバイス５０６及び入力デバイス５０８（例えば、キーボード、マウス、タッチスクリーン、キーパッドなど）を含むユーザインターフェイス５０５も含む。メモリ５１０は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭもしくはその他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、１つもしくは複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、もしくはその他の不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含んでもよい。メモリ５１０は、任意ではあるが、ＣＰＵ５０２と離れて配置される１つもしくは複数のストレージデバイスを含んでもよい。メモリ５１０もしくは代替的にメモリ５１０に含まれる不揮発性メモリデバイスはコンピュータ可読記憶媒体を含む。
【００４４】
実装のいくつかにおいて、メモリ５１０は以下のプログラム、モジュール、データ構造もしくはそれらのサブセットを記憶する。
●オペレーティングシステム５１２。オペレーティングシステム５１２は、様々な基本システムサービスを扱うため、及び、ハードウェア依存タスクを実行するためのプロシージャを含む。
●通信モジュール５１４。通信モジュール５１４は、１つもしくは複数の通信インターフェイス５０４（有線もしくは無線）及びインターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つもしくは複数の通信ネットワーク１０６を介してその他のコンピュータにユーザデバイス５００を接続するために使用される。
●ユーザインターフェイスモジュール５１６。ユーザインターフェイスモジュール５１６は、入力デバイス５０８を介してユーザからコマンドを受信し、ディスプレイデバイス５０６のユーザインターフェイスオブジェクトを生成する。
●ウェブブラウザ５１８。ウェブブラウザ５１８は、通信ネットワークを介してアクセスリソース、ウェブページ、およびウェブアプリケーションにユーザをアクセスさせる。
●電子メールアプリケーション５２０。電子メールアプリケーション５２０は、ユーザに、電子メールメッセージを生成し、送信し、受信させる。実装のいくつかにおいて、電子メールアプリケーション５２０は、ウェブブラウザ５１８内で実行される。
●グループ管理アプリケーション５２２。グループ管理アプリケーション５２２は、ユーザに、配送グループもしくはコンタクトリストを生成し、変更し、もしくは削除させ、分析サーバ４００から受信したユーザに推奨を提供する。ユーザは、分析サーバ４００からの推奨を受領し、拒絶し、もしくは変更することを選択し得る。実装のいくつかにおいて、グループ管理アプリケーション５２２は、ユーザがとったアクションに基づいて、分析サーバ４００にフィードバックを提供する。例えば、ユーザ１０２が推奨を拒絶すると、分析サーバ４００は、分析サーバ４００が同じ推奨を次の週に生成しないように、当該拒絶を追跡することができる。
●アウェアネスアプリケーション５２４。アウェアネスアプリケーション５２４は、同僚についての現在の状態情報をユーザ１０２に見させる。例えば、富士ゼロックスによって提供されるmyUnityアプリケーションは、ユーザに、その他の通信チャネル（例えば、インスタントメッセージ）などを介して連絡可能である同僚の誰がオフィスにいるか迅速に発見させる。実装のいくつかは、同僚をグループにまとめることを含む。したがって、本開示のグループ化推奨を利用することができる。もちろん、本開示は、その他の存在／アウェアネスアプリケーションを利用してもよいし、仕事場に加えて、その他のソーシャルネットワークにおいて利用されてもよい。
【００４５】
上記で識別された要素の各々は、上記したメモリデバイスの１つもしくは複数に保存されていてもよく、上記機能を実行するための命令セットに対応する。命令セットは１つもしくは複数のプロセッサ（例えば、ＣＰＵ５０２）によって実行され得る。上記識別されたモジュールもしくはプログラム（すなわち、命令セット）は、別個のソフトウェアプログラム、プロシージャ、もしくはモジュールとして実装される必要はなく、これらのモジュールの様々なサブセットは組み合わされ、もしくは、様々な実装で再構成されてもよい。実装のいくつかにおいて、メモリ５１０は上記識別されたモジュール及びデータ構造のサブセットを保存してもよい。さらに、メモリ５１０は、上記していないその他のモジュール及びデータ構造を保存してもよい。
【００４６】
図５はユーザデバイス５００を示すが、図５はここで記載される実装の構造的な概略ではなく、ユーザデバイスにある様々な特徴の機能的な記述を行うことを意図している。実際には、当業者によって認識されるように、別個に示されている要素は組み合わせることができ、要素のいくつかは分離されてもよい。
【００４７】
ここで記述された方法の各々は、コンピュータ可読媒体に保存され、１つもしくは複数のサーバ２００、３００もしくは４００、もしくは、ユーザデバイス５００の１つもしくは複数のプロセッサによって実行される命令によって管理されてもよい。図１〜５、７、８、１１〜１３、１７及び図１８Ａ〜１８Ｅに示される動作の各々は、コンピュータメモリもしくはコンピュータ可読記憶媒体に保存されている命令に対応する。
【００４８】
図６は、実装のいくつかによる電子メールメッセージ１１２−１の基本的な要素を例示する。メッセージ１１２−１は、メッセージの送信者６０２及び受信者を識別するメッセージヘッダ１１４を含む。メッセージ１１２−１は単一のユニークな送信者６０２を有するが、当該技術分野で知られているように、受信者には異なるクラスが最大３つあり得る。「Ｔｏ」リスト６０４は、０以上の電子メールアドレスもしくはユーザ識別子を特定することができ、メッセージ１１２−１の主受信者を識別する。「ＣＣ」（カーボンコピー）」リスト６０６は、０以上の電子メールアドレスもしくはユーザ識別子を含む、２次的な受信者のリストを識別する。実装のいくつかは、メッセージを受信する０以上の受信者を識別する「ＢＣＣ」（ブラインドカーボンコピー）リスト６０８も含むが、当該受信者の識別がその他の受信者の誰かによって見られることはない。
【００４９】
電子メールメッセージ１１２−１は、１つもしくは複数のタイムスタンプ６１０も含む。タイムスタンプ６１０は、メッセージが送信されたとき、もしくは受信されたときを特定する。一般に、実装は、電子メールシステムが情報を追跡する場合、メッセージが送信されたときを示すタイムスタンプを使用する。実装のいくつかにおいて、タイムスタンプ６１０はヘッダ１１４に含まれる。
【００５０】
電子メールメッセージ１１２−１は、サブジェクトライン６１２及び実際のコンテンツ６１４を含む。一般的に、送信者はサブジェクトライン６１２にメッセージ１１２−１に関する短い記述を含める。しかし、電子メールサーバ３００の多くはサブジェクトラインを要求しない。メッセージ１１２−１のコンテンツ６１４は、テキスト、グラフィックス、添付ファイルなどを含むことができる。
【００５１】
分析サーバ４００は、一般的に、サブジェクトライン６１２もしくはメッセージコンテンツ６１４を含まない電子メールメッセージ１１２の限定的な部分を取り出す。図７は、２つの電子メールメッセージヘッダ１１４Ａ及び１１４Ｂの抽出を例示する。これらの例において、ＢＣＣフィールド６０８Ａ及び６０８Ｂは空であり、したがって、それらは識別されたグループ化に貢献しない。２つのメッセージヘッダ１１４Ａ及び１１４Ｂは異なるが（リスト６０２Ａ、６０４Ａ、もしくは６０６Ａのいずれも対応するリスト６０２Ｂ、６０４Ｂ、もしくは６０６Ｂに適合しない）、それらは双方とも同一のデファクトグループ｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ｝を生成する。なぜならば、グループのメンバの各々がリストの１つに含まれるからである。タイムスタンプ２０１３−０７−１５  １４：１２：０７．５１２（６１０Ａ）に関連付けられているグループインスタンス７０２Ａはヘッダ１１４Ａに対応する。当業者の１人であれば、多くの異なるフォーマットでタイムスタンプを保存することができることを認識する。第２のグループインスタンス７０２Ｂは同一のグループを識別するが、異なるタイムスタンプ６１０Ｂを有する。図８は、使用値／レベルをデファクトグループの各々に割り当てる処理（８１２）を例示する。実装のいくつかにおいて、使用値は、グループが出現するインスタンスの数の合計である。インスタンス７０２Ａ及び７０２Ｂだけが、グループ｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ｝のインスタンスであるから、使用値は２である。
【００５２】
その他の実装において、使用値８１０は、どれくらい近い時期にメッセージが送信されたかに基づく重みファクタによって計算される。これらの実装において、分析期間（例えば、ある開始ポイント８０２から終了ポイント８０４まで）が選択され、インスタンス各々の重みは、分析期間の終了ポイントとインスタンス各々のタイムスタンプとの間の差異に基づく。実装のいくつかにおいて、開始ポイント８０２は任意である。特定された場合、開始時間の、もしくは、開始時間の後のメッセージだけが計算に含められる。特定されなければ、全てのメッセージが計算に含められる。
【００５３】
図８の例において、使用値８１０は３５．６２であり、これは、多くのインスタンスの合計を示している。実装のいくつかにおいて、終了時間丁度のタイムスタンプが重み１となり、１５日の経過を示すタイムスタンプが重み０．５となるように（１５日が寿命の半分である。）、重みファクタもしくは減衰ファクタが選択される。同一の計算が、デファクトグループ１２４の各々について実行される。すなわち、デファクトグループの各々は当該グループが現在どの程度有用かを示す関連付けられた使用値を有する。計算が週毎に行われるならば、たった１週間後にいずれかのグループの使用にスパイクが検出される。期間はより短くてもよい（例えば、１日）が、短い期間は、ユーザへの長期間ユーティリティを有さない短期間グループを生成することになる。
【００５４】
使用値がデファクトグループ１２４の各々に割り当てられると、既存の保存済グループ１２８にも使用値が提供される。既存のグループ１２８がデファクトグループ１２４としてまったく現れないならば、それは全く使用されない（使用値＝０．００）。さもなくば、既存のグループ１２８はいくつかのデファクトグループ１２４に適合し、デファクトグループ１２４の使用値が既存のグループ１２８の使用値である。情報は、図１２〜１５によって以下で記述されるように、ユーザを支援するために使用される。
【００５５】
図９〜１１は、ネットワークファイルサーバアクセスに基づいて、グループ及び使用レベルを生成する処理を例示する。関連するファイルが共にグループ化されるように、ファイルサーバのファイルは、一般的に、論理階層的に構成される。それゆえ、同一のディレクトリのファイルにアクセスする作業者は、一般的に、プロジェクトなどの同一の方法で、グループ化される。経験的な分析に基づいて、実装は、一般的に、データをより有用にするために、わずかにグループ化を変更する。まず、浅いディレクトリのファイルを共有することは、グループ化を示さないかもしれない。詳細には、トップレベルディレクトリは多くの人々によって共有され、関連するグループを示さないかもしれない。したがって、実装のいくつかは、これらのディレクトリを無視する。実装のいくつかは、ユーザがどのディレクトリを含め、及び／またはどのディレクトリを除外するかを選択することができるように、設定可能なディレクトリ選択を含む。例示的な例において、システムは、ルートディレクトリ及び第１レベルディレクトリを除外するように構成される。第２に、あまりにも深いディレクトリについて、ディレクトリの入れ子は実際のグループ化を不明瞭にし得る。実装のいくつかにおいて、入れ子の閾値が選択され、閾値より深いディレクトリへの全てのアクセスは閾値レベルであるとみなされる。例えば、実装のいくつかにおいて、第５レベル及び第５レベルより深いディレクトリのファイルアクセスは第４レベルでのファイルアクセスであるとみなされる。すなわち、第１〜第４レベルのディレクトリだけが、分析のために使用される。これが、例示的な例において選択される構成である。
【００５６】
実装のいくつかは、グループがどのようにファイルサーバアクセスに基づいて計算されるかを制御するために、さらなるフレキシビリティを提供する。実装のいくつかは、指定されたファイルへのアクセスだけが人々のグループを形成するために考慮されるように、ユーザに、特定のファイルを選択し、及び／または除外させることができる。実装のいくつかは、ある指定されたディレクトリだけがグループを形成する際に含まれるように、ユーザに、特定のディレクトリを選択し、及び／または除外させることができる。上記されたように、実装のいくつかは、ディレクトリの深さに基づいて、あるファイルアクセスを「まとめ」得る。実装のいくつかは、よりフレキシブルであり、ユーザに、異なるディレクトリもしくはディレクトリセットについて異なるまとめルールをもたせ得る。
【００５７】
図９は、ディレクトリ構造の小さい部分を例示する。ファイル９０２〜９４６は階層の様々なレベルに保存される。図１０は、ユーザＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇについて、図９に示されているファイルのアクセスログ１３６の部分を例示する。アクセスログ１３６のレコードの各々は、ユーザの識別子１０４０、アクセスされるディレクトリ１０４２、ファイル名１０４４、及びユーザがファイルにアクセスしたときを示すタイムスタンプ１０４６を含む。レコード１０１４及び１０１６に例示されるように、単一のユーザは、同一のファイルに複数回アクセスすることが可能であり、各々の場合に、アクセスはアクセスログ１３６に異なるタイムスタンプ（例えば、ｔ７及びｔ８）と共に出現する。サンプルアクセスログ１３６に示されるように、ユーザの各々は、\root\subdir2のファイルにアクセスした（レコード１００２、１００８、１０１２、１０２０、１０２６、１０３０、及び、１０３４）。例示的な実装において、これらのレコードは除外されている。なぜならば、システムは第１レベルのディレクトリのファイルを無視するように構成されているからである。
【００５８】
分析サーバ４００は、３つのデファクトグループ１２４を構築する（１１２０）ために、図１０のデータを使用する。電子メールヘッダ１１４を用いるのと同様に、分析サーバ４００は、構築処理において分析期間（例えば、開始日１１０２から終了日１１０４まで）を用いる。デファクトグループ｛Ａ，Ｂ，Ｄ，Ｆ｝はアクセスログのレコード１００４、１０１０，１０２２及び１０３２に基づいている。なぜならば、これらの場合の各々において、ユーザは\root\subdir1\subsubdir3のファイルにアクセスしたからである。この例において示されるように、ユーザは同一のファイルにアクセスする必要はない。ファイルが同一のディレクトリにある限り、ファイルへのアクセスはグループを形成する。デファクトグループ｛Ａ，Ｃ，Ｅ｝は、アクセスログレコード１００６、１０１４、１０１６、１０２８に基づいて形成される。このグループ化は、グループメンバを３個だけ有する。ユーザＣは、デファクトグループの単一のメンバであるが、複数のアクセスイベント１０１４及び１０１６がこのグループの使用値１１１２に加わる。例示する実装は、第４レベルを越える全てのディレクトリをまとめるように構成されている。したがって、デファクトグループ｛Ｃ，Ｄ｝は異なるディレクトリへのアクセスに基づいている。ユーザＣは、レコード１０１８に示されるように、第４レベルのディレクトリのファイル１３１１１にアクセスした。しかし、ユーザＤは第５レベルのディレクトリのファイル１３１１２０にアクセスした。しかし、上から４つ目までのレベルだけで見ると、Ｄ及びＣは同一の場所のファイルにアクセスしたことになり、したがって、｛Ｃ、Ｄ｝は、使用値１１１４を有する１つのグループを形成する。グループの各々の実際の使用値は、図１０に示されるような少ないサブセットだけでなく、ファイルアクセスのインスタンスの全てを含む。電子メールヘッダから構築されるグループのように、実装のいくつかは、インスタンスを単に合計することにより使用値を計算する。この方法を使用すると、デファクトグループ｛Ａ，Ｂ，Ｄ，Ｆ｝の使用値１１１０は４であり、グループ｛Ａ，Ｃ，Ｅ｝の使用値１１１２は４であり、グループ｛Ｃ，Ｄ｝の使用値１１１４は２である。
【００５９】
実装は、一般的に、電子メールヘッダに基づくグループについて上記されるように、減衰重みファクタによって使用値を計算する。図１１は、寿命の半分である１５日の重みを選択した場合の、４つの対応する重みの合計として、グループ｛Ａ，Ｂ，Ｄ，Ｆ｝の使用値を例示する。
【００６０】
ファイルサーバアクセス（例えば、アクセスグループ１３８）のために生成されたグループは、電子メールリスト（例えば、配送グループ１１６）と結合されることができ、もしくは、独立に使用されてもよい。実装のいくつかにおいて、個々のユーザはグループを生成すること、もしくは、ネットワークストレージデバイスのアクセス特権を変更することを許可されていないため、ファイルサーバアクセスグループ１３８はネットワーク管理者によって管理されている。ネットワークファイルサーバアクセスに関する分析は、ドキュメント管理システム及びバージョン制御システムにも適用され得る。これらのシステムにおいて、ファイルはプロジェクトもしくはその他のグループ化に割り当てられ、したがって、同一の仕組みが適用される。
【００６１】
電子メールのグループ及びネットワークアクセスが組み合わされると、対処されるべき問題がいくつか生じる。第１に、ユーザのユニークな識別子は、２つの環境において異なる（例えば、電子メールアドレスとネットワークＩＤ）。環境のいくつかにおいて、ユーザのネットワークはユーザの電子メールアドレスの最初の部分であり、したがって、データを容易に関連付ける。実装のいくつかは、ネットワークもしくは分析サーバ４００の相関テーブル（単数もしくは複数）を維持する。したがって、データは容易に組み合わされる。第２に、電子メール及びファイルアクセスは、非常に異なるアクセスパターンを有することができる。したがって、電子メール使用値及びファイルアクセス使用値の適切な重みが決定される。これらの数値は、観察もしくはトレーニングプロセス（例えば、ユーザによる推奨の受容もしくは拒絶に基づいて、分析サーバにフィードバックを送信すること）を用いて割り当てられることができる。図１７はトレーニングプロセスを例示する。
【００６２】
分析サーバ４００がデファクトグループ１２４を構築し、対応する使用値を計算すると、分析サーバ４００はデファクトグループに関するユーザ１０２への推奨を生成することができる。推奨の最初のカテゴリは、グループ自身の構成である。例えば、分析サーバ４００は、既存の保存済グループ１２８とデファクトグループとを比較し、変更を推奨する。この処理は、図１２（フローチャートＡ）及び図１３（フローチャートＢ）に例示される。一般的に、十分高い使用値を有するデファクトグループ１２４だけが推奨処理のために考慮される。実装のいくつかにおいて、ユーザ１０２の上位５番目までの使用値を有する５個のデファクトグループが評価される（１２０２）。上位のデファクトグループ１２４の１つが既に既存の保存済グループ１２８であるならば、当該デファクトグループ１２４についての推奨に変化はない。
【００６３】
最上位のデファクトグループＧが与えられると、評価処理が開始され（１２０２）、グループＧが既存のグループのいずれかのサブセットであるか否かを判定する（１２０４）（例えば、Ｇのメンバ全てに加えて他のメンバを有する既存のグループがあるか？）。判定が否定された場合、分析は図１３のフローチャートＢに進む（１２０６）。Ｇの適切なスーパーセットである１つもしくは複数の既存のグループがあると仮定すると、処理は、メンバの数がもっとも少ない既存のグループの全てを識別する（１２０８）。例えば、Ｇが３個のメンバを有し、Ｇを含む４個もしくは５個のメンバを有する既存のグループがあるならば、処理は４個のメンバを有する該当グループの全てを識別する。１つを越える該当グループがあるかもしれない。例えば、Ｇ＝｛Ａ，Ｂ，Ｃ｝ならば、各々が４個のメンバを有する既存のグループ｛Ａ，Ｂ，Ｃ，Ｄ｝及び｛Ａ，Ｂ，Ｃ，Ｅ｝があり得る。メンバの数が最少である識別された既存のグループの中から、処理は、使用値が最小であるグループＧ‘を選択する（１２１０）。（使用が最小であるグループが複数ある場合、その内の１つが任意に選択され得る。）
【００６４】
次に、処理は、ＧがＧ‘にどの程度近いか、を決定する（１２１２）。Ｇ及びＧ‘が近い場合、処理はＧ’をＧで置換することを推奨することができる。近さを測定するために、処理は、Ｇ‘のその他のメンバの数が閾値Δ１より大きいか否かを判定する（１２１２）。実装のいくつかにおいて、閾値Δ１は１である。例えば、Ｇが｛Ａ，Ｂ，Ｃ｝であり、Ｇ‘が｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ｝であり、Δ１が１であれば、その他のメンバの数は２であり、閾値を越えている。判定が肯定されると、処理はグループＧのランク（すなわち、使用値）Ｔ1が生成閾値より大きいか否かを判定する（１２２０）。判定が肯定された場合、分析サーバは新しいグループとしてＧを生成することを推奨する（１２２２）。判定が否定された場合、分析サーバはグループＧに基づく推奨は生成しない。
【００６５】
Ｇ‘のその他のメンバの数が閾値Δ１以下であれば、分析サーバ４００は、Ｇ’の使用値とＧの使用値とを比較する（１２１４）。Ｇ及びＧ‘が互いに近いので、Ｇがより高い使用値を有するならば、分析サーバはＧをＧ’で置換することを推奨する（１２１６）。一方、Ｇ’がＧより高い使用値を有するならば、分析サーバはグループＧについて何も推奨しない（１２１８）。
【００６６】
図１３のフローチャートＢは、Ｇと（スーパーセットではなく）サブセットとを比較する。図１３は、フローチャートＡの評価処理の続きである（１３０２）。最初、分析サーバは、Ｇが既存のグループのいずれかの適切なスーパーセットであるか否かを判定する（１３０４）。判定が肯定された場合、分析サーバは、Ｇのサブセットであり、要素の数が最大である既存のグループの全てを識別する（１３０６）。例えば、Ｇ＝｛Ａ，Ｂ，Ｃ｝であり、既存のグループ｛Ａ，Ｂ｝及び｛Ａ，Ｃ｝があれば、これらのセットは双方とも、要素の数が最大であるＧのサブセットである。識別された要素の数が最大であるセットから、次に、処理は、使用値が最小であるグループＧ‘’を選択する（１３０８）。（使用値が最小であるグループが複数ある場合、その内の１つが任意に選択される。）
【００６７】
次に、分析サーバは、Ｇのその他のメンバの数が閾値Δ２より大きいか否かを判定する（１３１０）。実装のいくつかにおいて、閾値Δ２は１である。Ｇのその他のメンバの数が最大Δ２であるならば、処理は、Ｇのランク（すなわち、使用値）とＧ‘’の使用値とを比較する（１３１８）。Ｇ‘’のランクがＧのランクより低いならば、分析サーバはグループＧ‘’をグループＧと置換することを推奨する。実装のいくつかにおいて、分析サーバは、Ｇの使用値がＧ‘’の使用値よりも大きい場合のみ推奨を生成する。Ｇ‘’がＧの使用値以上の使用値を有するならば、分析サーバは、Ｇについて推奨を生成しない。
【００６８】
図１３のフローチャートに示されるように、判定１３１２に到達する経路は２つある。判定１３１２に到達する経路の１つは、グループＧの適切なサブセットである既存のグループがない場合である。判定１３１２に到達するもう１つの経路は、Ｇのその他のメンバの数が閾値Δ２よりも大きい場合である。判定１３１２において、分析サーバは、グループＧのランク（すなわち、使用値）が挿入閾値Ｔ２を越えるか否かを判定する。判定が肯定された場合、分析サーバ４００は、新しいグループとしてデファクトグループＧの生成を推奨する（１３１４）。判定が否定された場合、分析サーバ４００はグループＧに関する推奨を生成しない。
【００６９】
図１４は、グループの使用レベルがアクセスレベルを推奨するためにどのように使用されるかを示している。この例示において、３つの閾値１４０２、１４０４、１４０６がある。これらの閾値は、グループを４つの使用レベル（低使用レベル１４０８、中使用レベル１４１０、高使用レベル１４１２、超高使用レベル１４１４）に分ける。使用レベルの各々は、異なるアクセス推奨に対応する。実装のいくつかにおいて、アクセスレベルは、ネットワークディレクトリに保存されているファイルへのアクセスに関する。その他の実装において、アクセスレベルは存在／アウェアネスデータに関する。例えば、ユーザは、プロジェクトＡ（超高使用レベル）の同僚に、ユーザのモバイル機器追跡データを見せ、プロジェクトＢ（より低い使用レベル）の同僚には当該データを見せないようにすることが可能である。
【００７０】
実装のいくつかにおいて、図１５は、使用レベルに基づいて、グループがユーザに提示され得ることを例示する。例えば、電子メールアプリケーション５２０が配送リストとしてグループ１２８を提示する実装において、リスト１５０２は、もっとも確率が高い配送リスト１５０４が最上となるように、提示される。この例示において、配送リスト１５０６は配送リスト１５０４より低い使用レベルを有し、配送リスト１５０８は配送リスト１５０６より低い使用レベルを有する。以下、配送リスト１５１０、１５１２、１５１４、１５１６、１５１８について同様である。実装のいくつかにおいて、スクロール、インクリメンタルサーチ、「次(more)」ボタンのクリックなどによってアクセスし得るより多くの配送リスト１５２０を含む。実装のいくつかにおいて、ユーザ１０２は、グループのより迅速な認識を可能とする配送リストの各々に名称（例えば、このプログラムの個々のグループについて「Ｐｒｏ  Ａ」）を割り当てることができる。
【００７１】
図１６は、アウェアネスアプリケーション５２４の実装のいくつかにおいて、どのようにグループ推奨がアウェアネスダッシュボード１６００によってユーザを支援することができるかを例示する。例えば、ｍｙＵｎｉｔｙシステムは、同僚についての状態情報を提供するために、ダッシュボード１６００を含む。この例において、ダッシュボードタブ１６０２が現在表示されており、アドレスブックタブ１６０４は隠れている。ダッシュボードは、データが最後に更新されたときのタイムスタンプを特定するタイムインジケータ１６２０及びグループセレクタ１６０６を含む。現在選択されているグループは、「Ｐｒｏｊ  Ａ」であり、その他のグループはドロップダウン矢印１６０８を用いて選択され得る。実装のいくつかにおいて、会社内の個人の全てを含むデフォルトグループ「全て」がある。この例示において、グループは、一般的に、個別のユーザによって定義される名称によって選択される。例えば、プロジェクトＡに２人以上の個人がいる場合、個人の１人はグループの名称を「Ｐｒｏｊ  Ａ」１６１０とし、一方で、もう１人は当該グループの名称を「Ａ」とすることができる。
【００７２】
この例示において、グループ「Ｐｒｏｊ  Ａ」は４個のメンバを有する。メンバは大きなウィンドウ１６２２に例示されている。アウェアネスアプリケーション５２４の実装のいくつかにおいて、個人の各々は、フレーム１６１２の内部に小さい写真１６１４及び説明文によって描写されている。説明文は「Ｂｏｂ」１６１６など個人の名称を含む。実装のいくつかにおいて、ユーザ１０２は個人の各々の名称を選択することができる。名称は、名前、名前及び苗字、もしくは「Ｚ」１６１８などの意味を有するその他の任意の記述子であってよい。多くの実装において、名称及びその他の情報がアドレスブック１６０４において利用可能である。したがって、ユーザ１０２は個人の名称を何度も入力する必要はない（例えば、当該個人が複数のグループに含まれる場合）。一般的に、アウェアネスアプリケーション５２４は表示されている個人の各々についての状態情報も提供する。状態情報は、一般的に、フレーム１６１２の内部に表示される。実装のいくつかにおいて、状態情報は、フレーム１６１２の内部でカーソルをホバリングすること、もしくは、フレーム１６１２の内部をクリックすること、に応じて、表示される。その他の実装において、表示を促すユーザのアクションなしに、状態情報は自動的に表示される。実装のいくつかにおいて、状態情報は自動的にかつ定期的に更新され、タイムインジケータ１６２０は最後に更新されたときを示す。
【００７３】
図１６に示されるように、グループが最初に識別されたときに、個人を検出することを非常に容易にし得る。この例において、「Ｐｒｏ  Ａ」グループは４個のメンバしか有さないが、会社の人々の総数は数百もしくは数千であり得る。実装のいくつかにおいて、ユーザは、一般的に、ユーザ自身についての状態情報には関心を有さないため、アウェアネスアプリケーション５２４のユーザ１０２はグループから除外される。その他の実装において、ユーザは、グループのメンバとして、含まれる。グループは、その他の個人と同様に、調べることからユーザ１０２を除外しない。ユーザはアドレスブックタブ１６０４を使用すること、（図示されていない）サーチボックスを使用すること、調べるためにグループ「全部」をアルファベット順に表示すること、などができる。
【００７４】
図１７は実装のいくつかにおいて採用される処理を例示する。推奨のユーザによる受容もしくは拒絶が、将来の推奨を改善するためにフィードバックとして使用される。図７〜図１３を用いて上記した技術を使用することによって、分析サーバ４００は推奨を計算する（１７０２）。推奨は、新しいグループを追加し、既存のグループを変更し、グループを削除するためのものであってよい。新しいグループを追加すること、及び、既存のグループを変更することは、図１２及び図１３に例示されている。グループを削除することは、既存のグループの使用レベルが使用レベルの閾値を下回ったときに、推奨される。加えて、図１４に例示されているように、使用レベルに基づいて、グループに異なるアクセス特権を設定し得る。  
【００７５】
分析サーバ４００は、ユーザ１０２によって使用されるユーザデバイス５００に推奨を送信する（１７０４）。ユーザ１０２は、次に、推奨の受容（１７０６）もしくは拒絶（１７０６）を選択することができる。ユーザデバイス５００は、次に、分析サーバ４００に、推奨が受容されたか、拒絶されたかを示すフィードバックを送信する（１７０８）。分析サーバ４００は、次に、受信したフィードバックを組み込むことによって計算パラメータを変更する（１７１０）。例えば、分析サーバは、ファイルサーバデータに対する電子メールデータの重みを変更し、もしくは、推奨のトリガーとなる閾値を変更する。
【００７６】
実装のいくつかにおいて、分析サーバ４００は、新しい推奨を計算する前に、その他のデータ（例えば、電子メール及び／もしくはファイルサーバアクセス）を受信する（１７１２）。その他の実装において、推奨モジュール１２６は、その他の使用データを受信する前に、実行される。推奨モジュール１２６が再度実行されるときに拘りなく、既存の保存済グループ１２８のいずれかを変更するための推奨を生成する必要はない。すなわち、グループ１２８は丁度よいかもしれない。したがって、変更は適切でない。
【００７７】
図１７に示されるように、分析サーバ４００は、その後、新しい推奨を計算し（１７１４）、ユーザデバイス５００に新しい推奨を送信する（１７１６）。ユーザ１０２は、次に、新しい推奨を受容するかもしくは拒絶し、分析サーバにフィードバックを送信する。したがって、推奨の質は改善され続ける。
【００７８】
図１８Ａ〜図１８Ｅは、どのように実装のいくつかがグループを構築するか、グループの使用レベルに基づいて推奨を生成するか、及び、様々なソフトウェアアプリケーションにおいてグループを利用するかを示すフローチャートである。
【００７９】
推奨処理１８００は、１つもしくは複数のプロセッサ及びメモリを有するサーバ（一つのサーバもしくはサーバグループ）で実行される（１８０２）。実装のいくつかにおいて、図４に例示されるように、推奨プロセスは推奨モジュール１２６によって実行される。サーバは、指定された期間の間に送信された複数の電子メールメッセージの電子メールヘッダ情報を受信する（１８０４）。期間は、１日、１週間、１月、もしくは、任意のその他の期間であってよく、一般的に、定期的に繰り返される（例えば、日曜日毎に、前週の電子メールヘッダを受信する。）。例えば、実装のいくつかにおいて、サーバは、毎日午前２時開始で、前日の午前２時〜当日の午前２時までの間に送信された全てのメッセージのデータを受信するために、電子メールヘッダ情報を受信する（１８０４）。
【００８０】
電子メッセージの電子メールヘッダ情報は、送信者のユニークな識別子及び電子メッセージの受信者各々のユニークな識別子を含む（１８０６）。実装のいくつかにおいて、ユニークな識別子は受信者の電子メールアドレスであるが、その他の実装は、ＧＵＩＤもしくはシステムが生成したユニークなキーなどのユニークな代替的識別子であってよい。実装のいくつかにおいて、受信者のセットは、宛先（ＴＯ）ライン、ＣＣライン及びＢＣＣラインにおいて識別される個人を含むが、実装のいくつかは、ＢＣＣラインの個人を除外する。
【００８１】
実装は、一般的に、指定された会社（例えば、仕事場）の外部から発された電子メッセージを除外する。例えば、会社の従業員の全てがsomebody@fxpal.comという形態の電子メールアドレスを有する場合、fxpal.com以外のドメインから受信された電子メッセージはいずれも処理に含まれない。このような外部のメッセージは、一般的に、会社内のグループを識別するために有用ではない。１人もしくは複数の会社外の受信者を有する、会社内から発される電子メッセージは、実装によって異なる方法で扱われる。実装のいくつかにおいて、これらの電子メッセージも同様に除外される。実装のいくつかにおいて、外部の受信者が除外され、少なくとも一人の受信者が会社内である限り、処理は変更された受信者のセットを用いて進む。実装のいくつかは、会社の「内部」であるとして、複数のドメインネーム及び／もしくはある範囲のＩＰアドレスをサポートする。実装のいくつかは、会社の外部であるとしても、グループ化処理に含めるために特定の電子メールアドレス（もしくは、電子メールアドレスのカテゴリ）を選択することもサポートする。例えば、コンサルト会社の数人の個人は、当該会社の人々と共にプロジェクトで作業しているかもしれない。コンサルトしている個人をグループに含めることは有用であり得る。
【００８２】
分析サーバ４００は、図６〜図８に例示されるように、受信した電子メールヘッダ情報を用いてデファクトグループ１２４のセットを構築する（１８０８）。デファクトグループの各々は、電子メールヘッダ情報が受信された電子メッセージの送信者及び受信者に対応するユニークな識別子を含むセットを含む（１８１０）。実装のいくつかにおいて、ＢＣＣ受信者が含まれる。その他の実装において、ＢＣＣ受信者は除外される。実装のいくつかにおいて、ユニークな識別子は、送信者及び受信者の電子メールアドレスであるが、その他の実装は、システムが生成したキーなどのユニークな代替識別子を使用する。
【００８３】
デファクトグループ１２４の各々について（１８１２）、分析サーバ４００は、デファクトグループに対応する異なる電子メッセージの数に基づいて使用レベルを計算する（１８１４）。電子メッセージは、電子メッセージの送信者及び受信者に対応するユニークな識別子のセットがデファクトグループ１２４に等しい場合、デファクトグループ１２４に対応する（１８１６）。
【００８４】
実装のいくつかにおいて、分析サーバ４００は、指定された同じ期間の間、共有されるディレクトリのファイルへのユーザアクセスイベントに関する情報も受信する（１８１８）。これは、図９〜図１１に例示されている。実装のいくつかは、ファイルサーバ２００の共有ファイルアクセスの代わりに、もしくは、加えて、ドキュメント制御システムもしくはバージョン制御システムからファイルアクセス情報を受信する。ユーザアクセスイベントの各々についての情報はユニークなユーザ識別子（例えば、ネットワークユーザＩＤ）及びユニークなディレクトリ識別子（例えば、完全なネットワークパス）を含む（１８２０）。
【００８５】
分析サーバ４００は、デファクトファイルグループのセットを構築する（１８２２）。デファクトグループは、ディレクトリの各々に対応し（１８２４）、指定された期間の間、ディレクトリの各々の１つもしくは複数のファイルにアクセスしたユーザの各々のユニークなユーザ識別子を含む（１８２４）。一般的に、あまりにも浅いディレクトリ（ルートディレクトリもしくは第１レベルのディレクトリ）は、ユーザのグループ化について意味のある情報を提供しないので、除外される。加えて、実装のいくつかは、ディレクトリが非常に深い場合、ディレクトリを「まとめる」。例えば、実装のいくつかは、ファイルアクセスの各々について上位４つのディレクトリだけを使用する。これは、図１０及び図１０に関連する記載のファイルアクセス１０２４に例示されている。
【００８６】
デファクトファイルグループの各々について、分析サーバ４００は、ディレクトリの各々のファイルへのユーザアクセスイベントの数に基づいて使用レベルを計算する（１８２６）。次に、分析サーバ４００は、デファクトファイルグループをデファクトグループ１２４にマージする（１８２８）。デファクトファイルグループがデファクトグループと等しい場合、分析サーバは、デファクトファイルグループの各々の使用値に基づいて、デファクトグループの各々の使用値を変更する（１８３０）。２つの異なるソースから構築されるグループを組み合わせることは、一般的に、使用値に重みファクタを乗じ、足し合わせることを含む。例えば、電子メール使用値ＥＧ及びファイル使用値ＦＧを有するグループＧについて、重み値がＷＥ及びＷＦである場合、組み合わされた使用値ＣＧはＷＥＥＧ＋ＷＦＦＧである。実装のいくつかにおいて、図１７を用いて例示され、記述されるように、ユーザフィードバックに基づいて、経時的に重みは変化される。
【００８７】
分析サーバ４００は、デファクトグループ１２４の各々及び対応する使用値を、メモリ、一般的には、不揮発性メモリに保存する（１８３２）。分析サーバは、次に、保存済グループ１２８のセットを識別する（１８３４）。デファクトグループ１２４のように、保存済グループ１２８の各々は、人々のユニークな識別子のセットを含む（１８３６）。分析サーバは、デファクトグループ１２４の使用値を用いて保存済グループ１２８の各々に使用値を割り当てる（１８３８）。保存済グループ１２８がデファクトグループ１２４のいずれかと等しい場合、保存済グループ１２８の使用値はゼロである（１８４０）。保存済グループ１２８がデファクトグループ１２４と等しくない場合、保存済グループの使用値は、デファクトグループに対応する使用値に等しい値に設定される（１８４０）。
【００８８】
次に、分析サーバ４００はデファクトグループ１２４及びその関連する使用値と保存済グループ１２８及びその使用値と比較する（１８４２）。比較の結果として、分析サーバ４００は保存済グループ１２８のセットを変更する推奨を提供する（１８４４）。保存済グループの使用値が更新閾値を下回る場合、保存済グループを除去するように推奨する場合がある（１８４６）。経時的に、グループのいくつかはもはや使用されないか、もしくは、非常に稀にしか使用されない。その場合、そのようなグループを除去することが有用である。保存済グループＧがデファクトグループＧ‘の適切なサブセットであり、Ｇ’の使用値からＧの使用値を差し引いた値がスーパーセット置換閾値を越える場合、保存済グループＧをデファクトグループＧ‘と置換するよう推奨する場合がある。この場合、１つもしくは複数のメンバがより大きいグループＧ‘を生成するために以前のグループＧに加入したように見える。
【００８９】
デファクトグループＧ‘’は保存済グループＧの適切なサブセットであり、Ｇ‘’の使用値からＧの使用値を差し引いた値がサブセット置換閾値を越える場合、保存済グループＧをデファクトグループＧ‘’と置換するよう推奨する場合がある（１８５０）。１つもしくは複数のメンバはもはやグループの部分ではないように見える。したがって、グループはより小さいメンバシップを反映するように更新されるべきである。デファクトグループＧＮの使用値が挿入閾値を越える場合、ＧＮが保存済グループのいずれとも等しくない場合、及び、ＧＮが保存済グループのいずれかとの置換を推奨されていない場合、デファクトグループＧＮを新しい保存済グループとして保存するよう推奨する場合がある（１８５２）。この場合、ＧＮは、新しいグループであり、既存のグループの変更ではないように見える。
【００９０】
実装のいくつかにおいて、推奨を提供することは、ユーザによって推奨が受容される確率を計算することを含む（１８５４）。当該計算は、デファクトグループ、保存済グループ及び関連する使用値と共に１つもしくは複数のパラメータを使用する。図１７に例示されるように、計算のパラメータはユーザ１０２からのフィードバックに基づいて、引き続き更新される。実装のいくつかにおいて、分析サーバ４００は、クライアントデバイス５００のユーザインターフェイスにおける表示のために、保存済グループ１２８に対応する情報を提供する（１８５６）。クライアントデバイス５００のユーザ１０２は、保存済グループ１２８のセットを変更する推奨を受容（もしくは拒絶）する（１８６０）ために、ユーザインターフェイスを利用する（１８５８）。次に、ユーザ１０２は、ユーザインターフェイスの保存済グループの１つを選択し（１８６２）、選択された保存済グループのユニークな識別子に対応する個人を選択する（１８６４）。次に、クライアントデバイス５００は、選択された個人のために分析サーバから現在の状態情報を受信し（１８６６）、ユーザインターフェイスに状態情報を表示する。代替的な実装において、グループが選択されるとすぐに、選択されたグループの人々全ての状態情報が受信され（１８６６）、ユーザによる特定の個人の選択なしに、ユーザインターフェイスに状態情報が表示される。状態情報の表示は図１６に例示される。そのような実装の１つは、富士ゼロックスによって提供されるｍｙＵｎｉｔｙシステムである。
【００９１】
実装のいくつかにおいて、ユーザインターフェイスは電子メールアプリケーション５２０に対応し（１８６８）、電子メールアプリケーション５２０のユーザ１０２は新しい電子メッセージの受信者リストとして保存済グループ１２８を選択する。実装のいくつかにおいて、ユーザインターフェイスはネットワーク管理者ツールに対応し（１８７０）、保存済グループＧのネットワークアクセス特権を変更することを推奨する。これらの実装において、ネットワーク管理者ツールのユーザは、推奨によって、保存済グループＧのネットワークアクセス特権を変更する。
【００９２】
図１７に例示されるように、推奨の提供後（１８７２）、実装のいくつかは、推奨が受容されたか否かを示すフィードバックを受信する（１８７４）。次に、分析サーバは、受信したフィードバックに基づいて、１つもしくは複数のパラメータ（１８５４）の少なくとも１つの値を変更する（１８７６）。続いて、分析サーバは、変更されたパラメータ値を用いた計算に基づいて保存済グループのセットを変更するように第２の推奨を提供する（１８７８）。推奨を生成し、推奨のフィードバックを組み込む反復処理は、分析サーバに推奨を改善させる。
【００９３】
以上の記述は、説明のために、特定の実装を参照して記述された。しかしながら、上記例示的記述は、開示された詳細な形態に本発明を限定すること、もしくは、開示された詳細な形態で本発明を網羅することを意図していない。多くの変更及び変形が上記教示の観点において可能である。本発明の原理及び実用的に応用をもっともよく説明するために、実装を選択し、記述した。これにより、特定の考えられる実用的使用に適するように、当業者は、本発明及び様々な変更を加えられた様々な実装を最適に利用することが可能である。
【符号の説明】
【００９４】
１０６  通信ネットワーク
２００  ファイルサーバ
３００  電子メールサーバ
４００  分析サーバ
５００  ユーザデバイス
【図１】
2014157599.tif 000003
【図２】
2014157599.tif 000004
【図３】
2014157599.tif 000005
【図４】
2014157599.tif 000006
【図５】
2014157599.tif 000007
【図６】
2014157599.tif 000008
【図７】
2014157599.tif 000009
【図８】
2014157599.tif 000010
【図９】
2014157599.tif 000011
【図１０】
2014157599.tif 000012
【図１１】
2014157599.tif 000013
【図１２】
2014157599.tif 000014
【図１３】
2014157599.tif 000015
【図１５】
2014157599.tif 000016
【図１７】
2014157599.tif 000017
【図１８Ａ】
2014157599.tif 000018
【図１８Ｂ】
2014157599.tif 000019
【図１８Ｃ】
2014157599.tif 000020
【図１８Ｄ】
2014157599.tif 000021
【図１８Ｅ】
2014157599.tif 000022
【図１４】
2014157599.tif 000023
【図１６】
2014157599.tif 000024