JP6244919B2 - コンタクトグループを管理する方法、システム、プログラム - Google Patents

コンタクトグループを管理する方法、システム、プログラム Download PDF

Info

Publication number
JP6244919B2
JP6244919B2 JP2014002505A JP2014002505A JP6244919B2 JP 6244919 B2 JP6244919 B2 JP 6244919B2 JP 2014002505 A JP2014002505 A JP 2014002505A JP 2014002505 A JP2014002505 A JP 2014002505A JP 6244919 B2 JP6244919 B2 JP 6244919B2
Authority
JP
Japan
Prior art keywords
group
facto
groups
saved
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014002505A
Other languages
English (en)
Other versions
JP2014157599A (ja
Inventor
クーパー マシュー
クーパー マシュー
リーフェル エレノア
リーフェル エレノア
ビール ジェイコブ
ビール ジェイコブ
カーマン ステファン
カーマン ステファン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Publication of JP2014157599A publication Critical patent/JP2014157599A/ja
Application granted granted Critical
Publication of JP6244919B2 publication Critical patent/JP6244919B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services

Description

本開示の実装は、一般的に、コンタクトリスト、電子メール配送リスト及びネットワークアクセス特権及びこれらのリストの管理を容易にする方法に関する。
現代の仕事場において、ソーシャルネットワーキングアプリケーション、ビデオ会議、インスタントチャット及びその他の進歩したコンピュータ利用コミュニケーション(CMC)技術は至る所にある。コラボレーションの必要性にもっともよく適合する媒体を用いて、作業者が伝達可能な瞬間を利用することを可能とするために、この出現した技術は設計されている。このモデルは、一般的に、コンタクトリスト、配送リスト、アクセスリストなどを維持することを作業者に要求する。これらのリストを管理することは退屈であるが、小さなワーキンググループについては管理可能である。
ハーン(HAHN)、「オープンソースソフトウェアデベロッパネットワークからの新プロジェクトチームの出現:従来のコラボレーションにおける結び付きへのインパクト("Emergence of New Project Teams from Open Source Software Developer Networks: Impact of Prior Collaboration Ties")」、情報システムリサーチ(Information Systems Research)、2008年9月、Vol. 19、No. 3、頁369〜391
上記技術がより大きな企業に広がると、コンタクトグループ管理のオーバーヘッドは過度となる。
本発明の開示の実装は、作業者グループリストの管理に関する上記問題に対応する。開示のシステムは、デファクトグループ及びデファクトグループの使用のレベルを識別するために既存の通信チャネルを監視する。データは、電子メール、ファイルサーバアクセス、共有カレンダデータ、電話のログもしくは存在及び近接データから取得する。デファクトグループについての情報は、次に、既存のグループと比較され、ユーザへの推奨をシステムが生成する。例えば、実装のいくつかにおいて、システムは、実際に使用されているグループ化へさらに近く適合するように、新しいグループを追加すること、既存のグループを除去すること、もしくは、既存のグループを変更することを推奨する。ユーザが同僚の存在データへアクセスする実装のいくつかにおいて、ユーザはグループを選択し、これにより、存在情報もしくはその他の状態情報を取得するために、さらに迅速にグループ内の個人を識別する。さらに、異なるグループは、ユーザの存在データもしくはアウェアネスデータへの異なるアクセスレベルを有してもよい。実装のいくつかにおいて、システムは、グループのアクティビティに基づいて、異なるファイルアクセス許可を推奨する。例えば、非常にアクティブなグループにおいては、時間の制約なく、所定のネットワークファイルへの制約のないアクセスを、当該グループのユーザの全てに許可することがより有効であるかもしれない。最後に、実装のいくつかは、グラフィカルユーザインターフェイスに提示される場合、グループを順序付けるためにグループの使用を利用する。例えば、ユーザは、より多い子メール配送リストを有するかもしれない。したがって、実装のいくつかは、使用を低減することによってグループをソートする。ユーザは、これにより、多くの場合、適切な配送リストを迅速に識別することが可能となる。作業者のグループ化は動的である。したがって、グループの任意の固定セットが、グループが生成されるとすぐに用いられないものになり始める。本発明の実装は、より多いデータを定期的に収集し、新しいデータを古いデータよりも重く重み付けすることによって(例えば、指数減衰関数)、問題に対処する。実装のいくつかにおいて、新しいデータは週毎に収集され、収集のすぐ後に、データに基づく新しい推奨がユーザに提示される。この方法で、ユーザは、容易に、過剰な負荷なしに、コンタクトリスト、配送リストなどを管理することができる。
クラスタリングもしくはペアリングに基づいてグループを構築するアルゴリズムと異なり、開示の実装はグループを直接的に生成し、同時に、ユーザが多くの別個のグループのメンバであってよいことを適切に認識する。例えば、ユーザAは、同僚B及びCとあるプロジェクトで作業し、同僚D、E、Fと他のプロジェクトで作業し、同僚E、G、Hと同じ委員会に属していてもよい。この例において、グループ{A,B,C}、{A,D,E,F}、{A,E,G,H}は全て独立的に意味を有する。ユーザAは、これらの全ての同僚と作業しているが、{A,B,C,D,E,F,G,H}は有用なグループではない。
実装のいくつかによれば、コンタクトグループを管理する方法は、1つもしくは複数のプロセッサ及びメモリを有するサーバで実行される。サーバは、指定された期間の間に送信された複数の電子メッセージの電子メールヘッダ情報を受信する。電子メッセージの電子メールヘッダ情報は、電子メッセージの送信者のユニークな識別子、受信者の各々のユニークな識別子を含む。サーバは、受信した電子メールヘッダ情報を用いてデファクトグループのセットを構築する。デファクトグループの各々は、電子メールヘッダ情報が受信された電子メッセージの送信者及び受信者に対応するユニークな識別子を含むセットを含む。デファクトグループの各々について、サーバは、デファクトグループの各々に対応する別個の電子メッセージの数に基づいて各々の使用値を計算する。
電子メッセージは、電子メッセージの送信者及び受信者に対応するユニークな識別子のセットがデファクトグループと等しい場合、デファクトグループに対応する。サーバは、デファクトグループの各々及び対応する使用値をメモリに保存し、保存済グループのセットを識別する。保存済グループの各々は人々のユニークな識別子を有し、保存済グループの各々は使用値を有する。保存済グループがいずれのデファクトグループとも等しくない場合、使用値の各々は0であり、保存済グループの各々が対応するデファクトグループと等しい場合、保存済グループの使用値は対応するデファクトグループの使用値と等しい。サーバは、デファクトグループ及び関連する使用値を保存済グループ及びそれらの関連する使用値と比較し、比較に基づいて保存済グループのセットを変更するための推奨を提供する。実装のいくつかにおいて、推奨は、クライアントデバイスのユーザインターフェイスに表示される。実装のいくつかにおいて、ユーザは、保存済グループのセットを変更するための推奨を受容し、保存済グループの1つを選択し、サーバからの、選択した保存済グループの人々についての現在状態情報を受信し、見る。
実装のいくつかにおいて、デファクトグループ及びそれらの使用値を計算するための情報は、ファイルアクセスイベントからのデータを含む。これらの実装において、サーバは、指定された期間の間、共有ディレクトリのファイルへのユーザアクセスイベントに関する情報を受信する。ユーザアクセスイベントの各々についての情報は、ユーザのユニークな識別子及びディレクトリのユニークな識別子を含む。サーバは、デファクトグループの各々がディレクトリの各々に対応するデファクトグループのセットを構築する。デファクトファイルグループは、指定された期間の間、ディレクトリの各々の1つもしくは複数のファイルにアクセスしたユーザの各々のユニークなユーザ識別子を含む。デファクトファイルグループの各々について、サーバは、ディレクトリの各々のファイルへのユーザアクセスイベントに基づいて使用値の各々を計算する。サーバは、次に、デファクトファイルグループをデファクトグループにマージする。デファクトファイルグループの各々がデファクトグループと等しい場合、サーバは、デファクトファイルグループの各々の使用値に基づいてデファクトグループの各々の使用値を変更する。
実装は、異なるタイプの推奨をサポートする。いくつかの例において、保存済グループの使用値が更新閾値を下回る場合、保存済グループを除去することを推奨する。いくつかの例において、保存済グループGがデファクトグループG’の適切なサブセットであり、G’の使用値からGの使用値を差し引いた値がスーパーセット置換閾値を越えている場合、保存済グループGをデファクトグループG’と置換することを推奨する。いくつかの例において、デファクトグループG’’が保存済グループGの適切なサブセットであり、G’’の使用値からGの使用値を差し引いた値がサブセット置換閾値を越えている場合、保存済グループGをデファクトグループG’’と置換することを推奨する。いくつかの例において、デファクトグループGの使用値が挿入閾値を越え、Gが保存済グループのいずれとも等しくなく、Gが保存済グループのいずれとの置換も推奨されない場合、デファクトグループGを新しい保存済グループとして保存することを推奨する。
本発明の第1の態様は、プログラムであって、指定された期間の間に、送信された複数の電子メッセージの電子メールヘッダ情報を受信し、前記電子メッセージの前記電子メールヘッダ情報は前記電子メッセージの送信者のユニークな識別子及び受信者の各々のユニークな識別子を含み、受信した前記電子メールヘッダ情報を用いてデファクトグループのセットを構築し、前記デファクトグループの各々は、前記電子メールヘッダ情報が受信された前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子を含むセットを含み、前記デファクトグループの各々について、前記デファクトグループの各々に対応する別個の電子メッセージの数に基づいて使用値の各々を計算し、前記電子メッセージは、前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子のセットが前記デファクトグループと等しい場合、前記デファクトグループに対応し、前記デファクトグループの各々及び対応する使用値をメモリに記憶し、保存済グループのセットを識別し、前記保存済グループの各々は人々のユニークな識別子のセットを含み、前記使用値の各々は、前記保存済グループの各々が前記デファクトグループのいずれとも等しくない場合0であり、前記保存済グループの各々が対応する前記デファクトグループと等しい場合、前記保存済グループの前記使用値は対応する前記デファクトグループの前記使用値と等しく、前記デファクトグループ及び前記デファクトグループに関連する前記使用値と、前記保存済グループ及び前記保存済グループに関連する前記使用値と、を比較し、前記比較に基づいて、前記保存済グループのセットを変更する推奨を提供する、ことをコンピュータに実行させる。
本発明の第2の態様は、第1の態様のプログラムであって、前記推奨は、前記保存済グループの前記使用値が更新閾値を下回る場合、前記保存済グループを除去することである。
本発明の第3の態様は、第1の態様のプログラムであって、前記推奨は、保存済グループGがデファクトグループG’の適切なサブセットであり、G’の前記使用値からGの前記使用値を差し引いた値がスーパーセット置換閾値を越える場合、前記保存済グループGを前記デファクトグループG’と置換することである。
本発明の第4の態様は、第1の態様のプログラムであって、前記推奨は、デファクトグループG’’が保存済グループGの適切なサブセットであり、G’’の前記使用値からGの前記使用値を差し引いた値がサブセット置換閾値を越える場合、前記保存済グループGを前記デファクトグループG’’と置換することである。
本発明の第5の態様は、第1の態様のプログラムであって、前記推奨は、デファクトグループGの前記使用値が挿入閾値を越え、Gが前記保存済グループのいずれとも等しくなく、Gが前記保存済グループのいずれかとの置換を推奨されていない場合、前記デファクトグループGを新しい保存済グループとして保存することである。
本発明の第6の態様は、第1〜第5のいずれかの態様のプログラムであって、さらに、前記指定された期間の間に、共有ディレクトリのファイルへのユーザアクセスイベントに関する情報を受信し、前記ユーザアクセスイベントの各々についての情報は、ユーザのユニークな識別子及びディレクトリのユニークな識別子を含み、デファクトファイルグループのセットを構築し、前記デファクトファイルグループの各々は、ディレクトリの各々に対応し、前記指定された期間の間に、前記ディレクトリの各々の1つもしくは複数のファイルにアクセスしたユーザの各々の前記ユーザのユニークな識別子を含み、前記デファクトファイルグループの各々について、前記ディレクトリの各々のファイルへの前記ユーザアクセスイベントに基づいて使用値の各々を計算し、前記デファクトファイルグループを前記デファクトグループにマージし、前記デファクトファイルグループの各々が前記デファクトグループと等しい場合、前記デファクトファイルグループの各々の前記使用値に基づいて前記デファクトグループの各々の前記使用値を変更する、ことをコンピュータに実行させる。
本発明の第7の態様は、第1〜第6のいずれかの態様のプログラムであって、さらに、クライアントデバイスのユーザインターフェイスの表示のために、前記保存済グループに対応する情報を提供する、ことをコンピュータに実行させる。
本発明の第8の態様は、第7の態様のプログラムであって、前記ユーザインターフェイスは、前記クライアントデバイスのユーザの操作に応じて、前記保存済グループのセットを変更する前記推奨を受容し、保存済グループを選択し、選択された前記保存済グループの前記人々についての現在状態情報をサーバから受信し、表示する。
本発明の第9の態様は、第7の態様のプログラムであって、前記ユーザインターフェイスは電子メールアプリケーションに対応し、前記ユーザインターフェイスは、前記電子メールアプリケーションのユーザの操作に応じて、新しい電子メッセージの受信者リストとして保存済グループを選択する。
本発明の第10の態様は、第7の態様のプログラムであって、前記ユーザインターフェイスはネットワーク管理ツールに対応し、前記推奨は、保存済グループGのネットワークアクセス特権を変更することであり、前記ネットワーク管理ツールは、前記ネットワーク管理ツールのユーザの操作に応じて、前記保存済グループGの前記ネットワークアクセス特権を変更する。
本発明の第11の態様は、第1〜第10のいずれかの態様のプログラムであって、前記推奨を提供することは、前記ユーザによって前記推奨が受容される可能性を計算することを含み、前記計算は前記デファクトグループ、前記保存済グループ、及び関連する前記使用値と共に1つもしくは複数のパラメータを使用し、前記推奨を提供した後、さらに、前記推奨が受容されたか否かを示すフィードバックを受信し、受信した前記フィードバックに基づいて1つもしくは複数の前記パラメータの少なくとも1つの値を変更し、変更された前記パラメータの値を用いた計算に基づいて、前記保存済グループのセットを変更するための第2の推奨を提供する、ことをコンピュータに実行させる。
本発明の第12の態様は、1つもしくは複数のプロセッサ、メモリ及び前記メモリに記憶されている1つもしくは複数のプログラム、を備えるコンタクトグループを管理するシステムであって、前記1つもしくは複数のプログラムは、指定された期間の間に、送信された複数の電子メッセージの電子メールヘッダ情報を受信し、前記電子メッセージの前記電子メールヘッダ情報は前記電子メッセージの送信者のユニークな識別子及び受信者の各々のユニークな識別子を含み、受信した前記電子メールヘッダ情報を用いてデファクトグループのセットを構築し、前記デファクトグループの各々は、前記電子メールヘッダ情報が受信された前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子を含むセットを含み、前記デファクトグループの各々について、前記デファクトグループの各々に対応する別個の電子メッセージの数に基づいて使用値の各々を計算し、前記電子メッセージは、前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子のセットが前記デファクトグループと等しい場合、前記デファクトグループに対応し、前記デファクトグループの各々及び対応する使用値を前記メモリに記憶し、保存済グループのセットを識別し、前記保存済グループの各々は人々のユニークな識別子のセットを含み、前記使用値の各々は、前記保存済グループの各々が前記デファクトグループのいずれとも等しくない場合0であり、前記保存済グループの各々が対応する前記デファクトグループと等しい場合、前記保存済グループの前記使用値は対応する前記デファクトグループの前記使用値と等しく、前記デファクトグループ及び前記デファクトグループに関連する前記使用値と、前記保存済グループ及び前記保存済グループに関連する前記使用値と、を比較し、前記比較に基づいて、前記保存済グループのセットを変更する推奨を提供する、ための命令を含む。
コンタクトグループ管理のオーバーヘッドを抑制することができる。
本発明の実装のいくつかが動作する状況を例示する。 実装のいくつかによるファイルサーバを例示するブロック図である。 実装のいくつかによる電子メールサーバを例示するブロック図である。 実装のいくつかによる分析サーバを例示するブロック図である。 実装のいくつかによるユーザデバイスを例示するブロック図である。 実装のいくつかによる電子メールメッセージの構成要素を例示する。 実装のいくつかによる電子メールメッセージからデファクトグループを抽出する処理を例示する。 実装のいくつかによる、グループに使用値を割り当てる処理を例示する。 実装のいくつかによるネットワークファイルサーバのルートディレクトリの部分を例示する。 実装のいくつかによるファイルアクセスログの部分を例示する。 実装のいくつかによる、ファイルアクセスログからのデファクトグループ及びそれらの使用値の構築を例示する。 実装のいくつかによる、グループ推奨を提供する処理を例示するフローチャートである。 実装のいくつかによる、グループ推奨を提供する処理を例示するフローチャートである。 実装のいくつかによる、グループ内の関連するアクティビティに基づいてグループのファイルアクセス特権を推奨する方法を例示する。 実装のいくつかによる、相対的な使用値に基づくグループの順序付けを例示する。 実装のいくつかにおいて、どのように存在/アウェアネスシステムが推奨されたグループを利用するかを例示する。 将来、より適切なグループ推奨を提供するために、どのように実装のいくつかがユーザからのフィードバックを利用するかを例示する。 実装のいくつかによる、ユーザのグループを構築し、グループに基づいて推奨を生成し、グループを利用する処理を例示する。 実装のいくつかによる、ユーザのグループを構築し、グループに基づいて推奨を生成し、グループを利用する処理を例示する。 実装のいくつかによる、ユーザのグループを構築し、グループに基づいて推奨を生成し、グループを利用する処理を例示する。 実装のいくつかによる、ユーザのグループを構築し、グループに基づいて推奨を生成し、グループを利用する処理を例示する。 実装のいくつかによる、ユーザのグループを構築し、グループに基づいて推奨を生成し、グループを利用する処理を例示する。
同様の参照符号は、図に亘って対応する部分を参照する。
図1は、本発明の実装が動作する環境を例示する。ユーザ102は、通信ネットワーク106を介して、電子メールサーバ300と通信するためにユーザデバイス500を使用する。電子メールクライアントはユーザデバイス500に常駐していてもよいし、ユーザは、電子メールサーバもしくはウェブサーバによって提供されるウェブアプリケーションを用いて、電子メールにアクセスしてもよい。図1は、電子メールメッセージ112及び配送グループ116を含む電子メールサーバ300の限定された部分を例示する。ここに例示されているように、電子メールメッセージ112の各々は、図6と共に以下により詳細に記述されるヘッダ114を含む。配送グループ116の各々は、グループメンバ118のセットを含む。グループ及びグループメンバの間は多対多の関係を有する。実装のいくつかにおいて、グループの各々のメンバは全て「等しい」。しかしながら、実装のいくつかは、メンバが異なる役割を有することができるグループをサポートする。例えば、電子メール配送リストにおいて、実装のいくつかは、「To」リストに現れるユーザと「cc」リスト、「bcc」リストに現れるユーザとの間を区別することが可能である。
彼ら自身のユーザデバイス500を用いた、その他のユーザ104−1〜104−nなどのその他のユーザ104も通信ネットワーク上で通信する。ユーザ102のように、その他のユーザ104は、通信ネットワークを介して電子メールを送信し、受信することができ、ファイルサーバ200のファイル134及びディレクトリ132にアクセスすることができる。ファイルサーバディレクトリ構造の部分は、以下で図9により例示する。実装のいくつかにおいて、アクセスオペレーションはアクセスログ136にログをとる。例えば、実装のいくつかにおいて、ログ動作はファイルを生成し、編集し、もしくは削除し、ファイルの名称を変更し、ファイルを異なる位置に移動することを含む。ログアクセスファイルの部分は以下で図10と共に例示する。
実装のいくつかにおいて、ファイルサーバはアクセスグループ138を維持する。アクセスグループ138は、グループメンバ140のセットとグループメンバのアクセス特権142のセットを有する。アクセス特権142は、アクセスが許可される場合(例えば、標準作業時間対いつでも)に、どの動作が許可されるか、などを特定する。
分析サーバ400は、グループ識別モジュール122の部分としてデファクトグループを識別するために、電子メールメッセージ112及び/もしくはファイルアクセスに関する情報を抽出する。実装のいくつかにおいて、モジュール122は電子メールサーバ300から電子メールメッセージ112を抽出し、同時に、全てのユーザからメッセージを抽出する。代替的な実装において、分析サーバのグループ識別モジュール122は、個別のユーザデバイス500から電子メールメッセージを抽出する。一般的に、効率は低いが、実装のいくつかは、メッセージが中央の電子メールサーバ30に保存されていない場合、個別のユーザデバイス500から電子メールを抽出することを可能とする。グループ識別モジュール122は、1つもしくは複数のファイルサーバ200の1つもしくは複数のファイルアクセスログ136からの情報を用いてデファクトグループを構築する。デファクトグループを形成するためにデータを抽出し、グループの各々の利用レベルを識別する処理は、以下で図6〜11により詳細に記述する。
分析サーバ400は、デファクトグループ及びそれらの利用レベルに基づくあるグループアクションを推奨する推奨モジュール126も含む。例えば、推奨モジュール126は、保存グループ128のセットの追加、削除もしくは変更を推奨することができる。推奨モジュール126は図12〜図15により以下で詳細に説明する。
図2は、実装のいくつかによるファイルサーバ200を例示するブロックダイアグラムである。ファイルサーバ200は、一般的に、1つもしくは複数の処理ユニット(CPU)202、1つもしくは複数のネットワークもしくはその他の通信インターフェイス204、メモリ210及びこれらの構成要素を相互に接続する1つもしくは複数の通信バス209を含む。通信バス209は、システム構成要素間を相互に接続し、通信を制御する回路(チップセットとも呼ぶ)を含むことができる。ファイルサーバ200は、任意ではあるが、ディスプレイデバイス206及び入力デバイス208(例えば、キーボード、マウス、タッチスクリーン、キーパッドなど)を含むユーザインターフェイス205を含むことができる。メモリ210は、DRAM、SRAM、DDR RAMもしくはその他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、1つもしくは複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、もしくはその他の不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含んでもよい。メモリ210は、任意ではあるが、CPU202と離れて配置される1つもしくは複数のストレージデバイスを含んでもよい。メモリ210もしくは代替的にメモリ210に含まれる不揮発性メモリデバイスはコンピュータ可読記憶媒体を含む。
実装のいくつかにおいて、メモリ210は以下のプログラム、モジュール、データ構造もしくはそれらのサブセットを記憶する。
●オペレーティングシステム212。オペレーティングシステム212は、様々な基本システムサービスを扱うため、及び、ハードウェア依存タスクを実行するためのプロシージャを含む。
●通信モジュール214。通信モジュール214は、1つもしくは複数の通信インターフェイス204(有線もしくは無線)及びインターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つもしくは複数の通信ネットワーク106を介してその他のコンピュータにファイルサーバ200を接続するために使用される。
●ユーザインターフェイスモジュール216(任意)。ユーザインターフェイスモジュール216は、入力デバイス208を介してユーザからコマンドを受信し、ディスプレイデバイス206のユーザインターフェイスオブジェクトを生成する。
●ディレクトリ132。ディレクトリ132は、ファイルを保存するために階層的構造を形成する。
●ファイル134。ファイル134は、任意のフォーマットで保存し得る。
●アクセスログ136。アクセスログ136は、あるファイルアクセス動作に関する情報を保存する。実装のいくつかにおいて、動作はファイルの生成、削除、もしくは変更、及び、ファイルの名称の変更もしくはファイルの移動を含む。アクセスログは、図10に例示する、誰が動作を実行したかを示す識別子、ディレクトリの識別子(例えば、フルパスネーム)、ファイルの識別子(例えば、ファイルの名称)、動作が行われたときを示すタイムスタンプを含む。
●アクセスグループ138。アクセスグループ138の各々は、グループメンバ140(すなわち、ユーザ)のセット及びアクセス特権142のセットを識別する。
上記で識別された要素の各々は、上記したメモリデバイスの1つもしくは複数に保存されていてもよく、上記機能を実行するための命令セットに対応する。命令セットは1つもしくは複数のプロセッサ(例えば、CPU202)によって実行され得る。上記識別されたモジュールもしくはプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、プロシージャ、もしくはモジュールとして実装される必要はなく、これらのモジュールの様々なサブセットは組み合わされ、もしくは、様々な実装で再構成されてもよい。実装のいくつかにおいて、メモリ210は上記識別されたモジュール及びデータ構造のサブセットを保存してもよい。さらに、メモリ210は、上記していないその他のモジュール及びデータ構造を保存してもよい。
図2はファイルサーバ200を示すが、図2はここで記載される実装の構造的な概略ではなく、サーバのセットにある様々な特徴の機能的な記述を行うことを意図している。実際には、当業者によって認識されるように、別個に示されている要素は組み合わせることができ、要素のいくつかは分離されてもよい。例えば、図2に別個に示されている要素のいくつかは、単一のサーバに実装され得るが、単一の要素が1つもしくは複数のサーバによって実装されてもよい。ファイルサーバ200を実装するために使用されるサーバの実際の数、及び、どの特徴がそれらに割り当てられるか、は、実装によって異なり、負荷がピークとなる使用時間及び負荷が平均的である使用時間にシステムが扱わなければならないデータトラフィックの量に部分的に依存する。
図3は、実装のいくつかによる電子メールサーバ300を例示するブロック図である。電子メールサーバ300は、一般的に、1つもしくは複数の処理ユニット(CPU)302、1つもしくは複数のネットワークもしくはその他の通信インターフェイス304、メモリ310、及びこれらの構成要素を相互に接続する1つもしくは複数の通信バス309を含む。通信バス309は、システム構成要素間を相互に接続し通信を制御する回路(チップセットとも呼ぶ)を含むことができる。電子メールサーバ300は、任意で、ディスプレイデバイス306及び入力デバイス308(例えば、キーボード、マウス、タッチスクリーン、キーパッドなど)を含むユーザインターフェイス305を含んでいてもよい。メモリ310は、DRAM、SRAM、DDR RAMもしくはその他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、1つもしくは複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、もしくはそのほかの不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含んでもよい。メモリ310は、任意ではあるが、CPU302と離れて配置される1つもしくは複数のストレージデバイスを含んでもよい。メモリ310もしくは代替的にメモリ310に含まれる不揮発性メモリデバイスはコンピュータ可読記憶媒体を含む。
実装のいくつかにおいて、メモリ310は以下のプログラム、モジュール、データ構造もしくはそれらのサブセットを記憶する。
●オペレーティングシステム312。オペレーティングシステム312は、様々な基本システムサービスを扱うため、及び、ハードウェア依存タスクを実行するためのプロシージャを含む。
●通信モジュール314。通信モジュール314は、1つもしくは複数の通信インターフェイス304(有線もしくは無線)及びインターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つもしくは複数の通信ネットワーク106を介してその他のコンピュータに電子メールサーバ300を接続するために使用される。
●ユーザインターフェイスモジュール316(任意)。ユーザインターフェイスモジュール316は、入力デバイス308を介してユーザからコマンドを受信し、ディスプレイデバイス306のユーザインターフェイスオブジェクトを生成する。
●電子メールメッセージ112。電子メールメッセージ112は、図6と共に以下でより詳細に説明する。電子メールメッセージ112の各々は、メッセージの送信者及び受信者を識別するメッセージヘッダ114を有する。
●1つもしくは複数の配送グループもしくはコンタクトリスト116。グループもしくはリストの各々は、グループメンバ118のセットを含み、実装のいくつかにおいて、グループメンバの1つもしくは複数の役割を識別する。
上記で識別された要素の各々は、上記したメモリデバイスの1つもしくは複数に保存されていてもよく、上記機能を実行するための命令セットに対応する。命令セットは1つもしくは複数のプロセッサ(例えば、CPU302)によって実行され得る。上記識別されたモジュールもしくはプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、プロシージャ、もしくはモジュールとして実装される必要はなく、これらのモジュールの様々なサブセットは組み合わされ、もしくは、様々な実装で再構成されてもよい。実装のいくつかにおいて、メモリ310は上記識別されたモジュール及びデータ構造のサブセットを保存してもよい。さらに、メモリ310は、上記していないそのほかのモジュール及びデータ構造を保存してもよい。
図3は電子メールサーバ300を示している。図3は、ここで記述される実装の構造的な概略ではなく、サーバセットにあってもよい様々な特徴の機能に関する記述を意図している。実用的には、そして、当業者によって認識されるように、別個に示されている構成要素は組み合わせられてもよいし、構成要素のいくつかは分離されてもよい。例えば、図3で別個に示されている構成要素のいくつかは、単一のサーバに実装されてもよいし、単一の構成要素は1つもしくは複数のサーバによって実装されてもよい。電子メールサーバ300を実装するために使用されるサーバの実際の数及びどの特徴がどのサーバに割り当てられるかは、実装によって異なり、負荷がピークとなる使用時間及び負荷が平均的である使用時間にシステムが扱わなければならないデータトラフィックの量に部分的に依存する。
図4は、実装のいくつかによる分析サーバ400を例示するブロック図である。分析サーバ400は、一般的に、1つもしくは複数の処理ユニット(CPU)402、1つもしくは複数のネットワークもしくはその他の通信インターフェイス404、メモリ410及びこれらの構成要素を相互に接続する1つもしくは複数の通信バス409を含む。通信バス409は、システム構成要素間を相互に接続し通信を制御する回路(チップセットとも呼ぶ)を含むことができる。分析サーバ400は、任意で、ディスプレイデバイス406及び入力デバイス408(例えば、キーボード、マウス、タッチスクリーン、キーパッドなど)を含むユーザインターフェイス405を含んでいてもよい。メモリ410は、DRAM、SRAM、DDR RAMもしくはその他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、1つもしくは複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、もしくはその他の不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含んでもよい。メモリ410は、任意ではあるが、CPU402と離れて配置される1つもしくは複数のストレージデバイスを含んでもよい。メモリ410もしくは代替的にメモリ410に含まれる不揮発性メモリデバイスはコンピュータ可読記憶媒体を含む。
実装のいくつかにおいて、メモリ410は以下のプログラム、モジュール、データ構造もしくはそれらのサブセットを記憶する。
●オペレーティングシステム412。オペレーティングシステム412は、様々な基本システムサービスを扱うため、及び、ハードウェア依存タスクを実行するためのプロシージャを含む。
●通信モジュール414。通信モジュール414は、1つもしくは複数の通信インターフェイス404(有線もしくは無線)及びインターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つもしくは複数の通信ネットワーク106を介してその他のコンピュータに分析サーバ400を接続するために使用される。
●ユーザインターフェイスモジュール416(任意)。ユーザインターフェイスモジュール416は、入力デバイス408を介してユーザからコマンドを受信し、ディスプレイデバイス406のユーザインターフェイスオブジェクトを生成する。
●グループ識別モジュール122。グループ識別モジュール122は、ユーザのデファクトグループ124を識別するために、電子メールメッセージ112及びアクセスログ136から情報を抽出する。これについては、図6〜図11によって、以下でより詳細に記述する。
●推奨モジュール126。推奨モジュール126は、グループ(例えば、配送グループ116及び/もしくはアクセスグループ138)の構成に関する推奨、もしくは、アクセス特権142に関する推奨を発行する。実装のいくつかにおいて、推奨モジュール126は、グループがユーザインターフェイスに表示される場合のグループのソート順を識別する。推奨プロセスは、図12〜図15及び図18A〜図18Eの部分を用いて、以下でより詳細に記述される。推奨モジュール126は、デファクトグループ124及びそれらの使用レベルと、既存の保存済グループ128及びそれらの使用レベルと、を比較する。例えば、よく使用されるデファクトグループ124がまだ保存済グループ128でないならば、推奨モジュール126は、保存済グループ128としてデファクトグループ124を追加すること、及び、デファクトグループ124と類似する既存の保存済グループ128と置換すること、を推奨することができる。
上記で識別された要素の各々は、上記したメモリデバイスの1つもしくは複数に保存されていてもよく、上記機能を実行するための命令セットに対応する。命令セットは1つもしくは複数のプロセッサ(例えば、CPU402)によって実行され得る。上記識別されたモジュールもしくはプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、プロシージャ、もしくはモジュールとして実装される必要はなく、これらのモジュールの様々なサブセットは組み合わされ、もしくは、様々な実装で再構成されてもよい。実装のいくつかにおいて、メモリ410は上記識別されたモジュール及びデータ構造のサブセットを保存してもよい。さらに、メモリ410は、上記していないその他のモジュール及びデータ構造を保存してもよい。
図4は分析サーバ400を示している。図4は、ここで記述される実装の構造的な概略ではなく、サーバセットにあってもよい様々な特徴の機能に関する記述を意図している。実用的には、そして、当業者によって認識されるように、別個に示されている構成要素は組み合わせられてもよいし、構成要素のいくつかは分離されてもよい。例えば、図4で別個に示されている構成要素のいくつかは、単一のサーバに実装されてもよいし、単一の構成要素は1つもしくは複数のサーバによって実装されてもよい。分析サーバ400を実装するために使用されるサーバの実際の数及びどの特徴がどのサーバに割り当てられるかは、実装によって異なり、負荷がピークとなる使用時間及び負荷が平均的である使用時間にシステムが扱わなければならないデータトラフィックの量に部分的に依存する。
図5は、実装のいくつかによるユーザデバイス500を例示するブロック図である。ユーザデバイス500は、通信ネットワーク106を介して、その他の計算処理デバイスに接続することができるデスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、もしくはその他のモバイルデバイスであってよい。ユーザデバイス500は、一般的に、1つもしくは複数の処理ユニット(CPU)502、1つもしくは複数のネットワークもしくはその他の通信インターフェイス504、メモリ510及びこれらの構成要素を相互に接続する1つもしくは複数の通信バス509を含む。通信バス509は、システム構成要素間を相互に接続し通信を制御する回路(チップセットとも呼ぶ)を含むことができる。ユーザデバイス500は、ディスプレイデバイス506及び入力デバイス508(例えば、キーボード、マウス、タッチスクリーン、キーパッドなど)を含むユーザインターフェイス505も含む。メモリ510は、DRAM、SRAM、DDR RAMもしくはその他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、1つもしくは複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、もしくはその他の不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含んでもよい。メモリ510は、任意ではあるが、CPU502と離れて配置される1つもしくは複数のストレージデバイスを含んでもよい。メモリ510もしくは代替的にメモリ510に含まれる不揮発性メモリデバイスはコンピュータ可読記憶媒体を含む。
実装のいくつかにおいて、メモリ510は以下のプログラム、モジュール、データ構造もしくはそれらのサブセットを記憶する。
●オペレーティングシステム512。オペレーティングシステム512は、様々な基本システムサービスを扱うため、及び、ハードウェア依存タスクを実行するためのプロシージャを含む。
●通信モジュール514。通信モジュール514は、1つもしくは複数の通信インターフェイス504(有線もしくは無線)及びインターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つもしくは複数の通信ネットワーク106を介してその他のコンピュータにユーザデバイス500を接続するために使用される。
●ユーザインターフェイスモジュール516。ユーザインターフェイスモジュール516は、入力デバイス508を介してユーザからコマンドを受信し、ディスプレイデバイス506のユーザインターフェイスオブジェクトを生成する。
●ウェブブラウザ518。ウェブブラウザ518は、通信ネットワークを介してアクセスリソース、ウェブページ、およびウェブアプリケーションにユーザをアクセスさせる。
●電子メールアプリケーション520。電子メールアプリケーション520は、ユーザに、電子メールメッセージを生成し、送信し、受信させる。実装のいくつかにおいて、電子メールアプリケーション520は、ウェブブラウザ518内で実行される。
●グループ管理アプリケーション522。グループ管理アプリケーション522は、ユーザに、配送グループもしくはコンタクトリストを生成し、変更し、もしくは削除させ、分析サーバ400から受信したユーザに推奨を提供する。ユーザは、分析サーバ400からの推奨を受領し、拒絶し、もしくは変更することを選択し得る。実装のいくつかにおいて、グループ管理アプリケーション522は、ユーザがとったアクションに基づいて、分析サーバ400にフィードバックを提供する。例えば、ユーザ102が推奨を拒絶すると、分析サーバ400は、分析サーバ400が同じ推奨を次の週に生成しないように、当該拒絶を追跡することができる。
●アウェアネスアプリケーション524。アウェアネスアプリケーション524は、同僚についての現在の状態情報をユーザ102に見させる。例えば、富士ゼロックスによって提供されるmyUnityアプリケーションは、ユーザに、その他の通信チャネル(例えば、インスタントメッセージ)などを介して連絡可能である同僚の誰がオフィスにいるか迅速に発見させる。実装のいくつかは、同僚をグループにまとめることを含む。したがって、本開示のグループ化推奨を利用することができる。もちろん、本開示は、その他の存在/アウェアネスアプリケーションを利用してもよいし、仕事場に加えて、その他のソーシャルネットワークにおいて利用されてもよい。
上記で識別された要素の各々は、上記したメモリデバイスの1つもしくは複数に保存されていてもよく、上記機能を実行するための命令セットに対応する。命令セットは1つもしくは複数のプロセッサ(例えば、CPU502)によって実行され得る。上記識別されたモジュールもしくはプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、プロシージャ、もしくはモジュールとして実装される必要はなく、これらのモジュールの様々なサブセットは組み合わされ、もしくは、様々な実装で再構成されてもよい。実装のいくつかにおいて、メモリ510は上記識別されたモジュール及びデータ構造のサブセットを保存してもよい。さらに、メモリ510は、上記していないその他のモジュール及びデータ構造を保存してもよい。
図5はユーザデバイス500を示すが、図5はここで記載される実装の構造的な概略ではなく、ユーザデバイスにある様々な特徴の機能的な記述を行うことを意図している。実際には、当業者によって認識されるように、別個に示されている要素は組み合わせることができ、要素のいくつかは分離されてもよい。
ここで記述された方法の各々は、コンピュータ可読媒体に保存され、1つもしくは複数のサーバ200、300もしくは400、もしくは、ユーザデバイス500の1つもしくは複数のプロセッサによって実行される命令によって管理されてもよい。図1〜5、7、8、11〜13、17及び図18A〜18Eに示される動作の各々は、コンピュータメモリもしくはコンピュータ可読記憶媒体に保存されている命令に対応する。
図6は、実装のいくつかによる電子メールメッセージ112−1の基本的な要素を例示する。メッセージ112−1は、メッセージの送信者602及び受信者を識別するメッセージヘッダ114を含む。メッセージ112−1は単一のユニークな送信者602を有するが、当該技術分野で知られているように、受信者には異なるクラスが最大3つあり得る。「To」リスト604は、0以上の電子メールアドレスもしくはユーザ識別子を特定することができ、メッセージ112−1の主受信者を識別する。「CC」(カーボンコピー)」リスト606は、0以上の電子メールアドレスもしくはユーザ識別子を含む、2次的な受信者のリストを識別する。実装のいくつかは、メッセージを受信する0以上の受信者を識別する「BCC」(ブラインドカーボンコピー)リスト608も含むが、当該受信者の識別がその他の受信者の誰かによって見られることはない。
電子メールメッセージ112−1は、1つもしくは複数のタイムスタンプ610も含む。タイムスタンプ610は、メッセージが送信されたとき、もしくは受信されたときを特定する。一般に、実装は、電子メールシステムが情報を追跡する場合、メッセージが送信されたときを示すタイムスタンプを使用する。実装のいくつかにおいて、タイムスタンプ610はヘッダ114に含まれる。
電子メールメッセージ112−1は、サブジェクトライン612及び実際のコンテンツ614を含む。一般的に、送信者はサブジェクトライン612にメッセージ112−1に関する短い記述を含める。しかし、電子メールサーバ300の多くはサブジェクトラインを要求しない。メッセージ112−1のコンテンツ614は、テキスト、グラフィックス、添付ファイルなどを含むことができる。
分析サーバ400は、一般的に、サブジェクトライン612もしくはメッセージコンテンツ614を含まない電子メールメッセージ112の限定的な部分を取り出す。図7は、2つの電子メールメッセージヘッダ114A及び114Bの抽出を例示する。これらの例において、BCCフィールド608A及び608Bは空であり、したがって、それらは識別されたグループ化に貢献しない。2つのメッセージヘッダ114A及び114Bは異なるが(リスト602A、604A、もしくは606Aのいずれも対応するリスト602B、604B、もしくは606Bに適合しない)、それらは双方とも同一のデファクトグループ{A,B,C,D,E,F,G}を生成する。なぜならば、グループのメンバの各々がリストの1つに含まれるからである。タイムスタンプ2013−07−15 14:12:07.512(610A)に関連付けられているグループインスタンス702Aはヘッダ114Aに対応する。当業者の1人であれば、多くの異なるフォーマットでタイムスタンプを保存することができることを認識する。第2のグループインスタンス702Bは同一のグループを識別するが、異なるタイムスタンプ610Bを有する。図8は、使用値/レベルをデファクトグループの各々に割り当てる処理(812)を例示する。実装のいくつかにおいて、使用値は、グループが出現するインスタンスの数の合計である。インスタンス702A及び702Bだけが、グループ{A,B,C,D,E,F,G}のインスタンスであるから、使用値は2である。
その他の実装において、使用値810は、どれくらい近い時期にメッセージが送信されたかに基づく重みファクタによって計算される。これらの実装において、分析期間(例えば、ある開始ポイント802から終了ポイント804まで)が選択され、インスタンス各々の重みは、分析期間の終了ポイントとインスタンス各々のタイムスタンプとの間の差異に基づく。実装のいくつかにおいて、開始ポイント802は任意である。特定された場合、開始時間の、もしくは、開始時間の後のメッセージだけが計算に含められる。特定されなければ、全てのメッセージが計算に含められる。
図8の例において、使用値810は35.62であり、これは、多くのインスタンスの合計を示している。実装のいくつかにおいて、終了時間丁度のタイムスタンプが重み1となり、15日の経過を示すタイムスタンプが重み0.5となるように(15日が寿命の半分である。)、重みファクタもしくは減衰ファクタが選択される。同一の計算が、デファクトグループ124の各々について実行される。すなわち、デファクトグループの各々は当該グループが現在どの程度有用かを示す関連付けられた使用値を有する。計算が週毎に行われるならば、たった1週間後にいずれかのグループの使用にスパイクが検出される。期間はより短くてもよい(例えば、1日)が、短い期間は、ユーザへの長期間ユーティリティを有さない短期間グループを生成することになる。
使用値がデファクトグループ124の各々に割り当てられると、既存の保存済グループ128にも使用値が提供される。既存のグループ128がデファクトグループ124としてまったく現れないならば、それは全く使用されない(使用値=0.00)。さもなくば、既存のグループ128はいくつかのデファクトグループ124に適合し、デファクトグループ124の使用値が既存のグループ128の使用値である。情報は、図12〜15によって以下で記述されるように、ユーザを支援するために使用される。
図9〜11は、ネットワークファイルサーバアクセスに基づいて、グループ及び使用レベルを生成する処理を例示する。関連するファイルが共にグループ化されるように、ファイルサーバのファイルは、一般的に、論理階層的に構成される。それゆえ、同一のディレクトリのファイルにアクセスする作業者は、一般的に、プロジェクトなどの同一の方法で、グループ化される。経験的な分析に基づいて、実装は、一般的に、データをより有用にするために、わずかにグループ化を変更する。まず、浅いディレクトリのファイルを共有することは、グループ化を示さないかもしれない。詳細には、トップレベルディレクトリは多くの人々によって共有され、関連するグループを示さないかもしれない。したがって、実装のいくつかは、これらのディレクトリを無視する。実装のいくつかは、ユーザがどのディレクトリを含め、及び/またはどのディレクトリを除外するかを選択することができるように、設定可能なディレクトリ選択を含む。例示的な例において、システムは、ルートディレクトリ及び第1レベルディレクトリを除外するように構成される。第2に、あまりにも深いディレクトリについて、ディレクトリの入れ子は実際のグループ化を不明瞭にし得る。実装のいくつかにおいて、入れ子の閾値が選択され、閾値より深いディレクトリへの全てのアクセスは閾値レベルであるとみなされる。例えば、実装のいくつかにおいて、第5レベル及び第5レベルより深いディレクトリのファイルアクセスは第4レベルでのファイルアクセスであるとみなされる。すなわち、第1〜第4レベルのディレクトリだけが、分析のために使用される。これが、例示的な例において選択される構成である。
実装のいくつかは、グループがどのようにファイルサーバアクセスに基づいて計算されるかを制御するために、さらなるフレキシビリティを提供する。実装のいくつかは、指定されたファイルへのアクセスだけが人々のグループを形成するために考慮されるように、ユーザに、特定のファイルを選択し、及び/または除外させることができる。実装のいくつかは、ある指定されたディレクトリだけがグループを形成する際に含まれるように、ユーザに、特定のディレクトリを選択し、及び/または除外させることができる。上記されたように、実装のいくつかは、ディレクトリの深さに基づいて、あるファイルアクセスを「まとめ」得る。実装のいくつかは、よりフレキシブルであり、ユーザに、異なるディレクトリもしくはディレクトリセットについて異なるまとめルールをもたせ得る。
図9は、ディレクトリ構造の小さい部分を例示する。ファイル902〜946は階層の様々なレベルに保存される。図10は、ユーザA,B,C,D,E,F,Gについて、図9に示されているファイルのアクセスログ136の部分を例示する。アクセスログ136のレコードの各々は、ユーザの識別子1040、アクセスされるディレクトリ1042、ファイル名1044、及びユーザがファイルにアクセスしたときを示すタイムスタンプ1046を含む。レコード1014及び1016に例示されるように、単一のユーザは、同一のファイルに複数回アクセスすることが可能であり、各々の場合に、アクセスはアクセスログ136に異なるタイムスタンプ(例えば、t7及びt8)と共に出現する。サンプルアクセスログ136に示されるように、ユーザの各々は、\root\subdir2のファイルにアクセスした(レコード1002、1008、1012、1020、1026、1030、及び、1034)。例示的な実装において、これらのレコードは除外されている。なぜならば、システムは第1レベルのディレクトリのファイルを無視するように構成されているからである。
分析サーバ400は、3つのデファクトグループ124を構築する(1120)ために、図10のデータを使用する。電子メールヘッダ114を用いるのと同様に、分析サーバ400は、構築処理において分析期間(例えば、開始日1102から終了日1104まで)を用いる。デファクトグループ{A,B,D,F}はアクセスログのレコード1004、1010,1022及び1032に基づいている。なぜならば、これらの場合の各々において、ユーザは\root\subdir1\subsubdir3のファイルにアクセスしたからである。この例において示されるように、ユーザは同一のファイルにアクセスする必要はない。ファイルが同一のディレクトリにある限り、ファイルへのアクセスはグループを形成する。デファクトグループ{A,C,E}は、アクセスログレコード1006、1014、1016、1028に基づいて形成される。このグループ化は、グループメンバを3個だけ有する。ユーザCは、デファクトグループの単一のメンバであるが、複数のアクセスイベント1014及び1016がこのグループの使用値1112に加わる。例示する実装は、第4レベルを越える全てのディレクトリをまとめるように構成されている。したがって、デファクトグループ{C,D}は異なるディレクトリへのアクセスに基づいている。ユーザCは、レコード1018に示されるように、第4レベルのディレクトリのファイル13111にアクセスした。しかし、ユーザDは第5レベルのディレクトリのファイル131120にアクセスした。しかし、上から4つ目までのレベルだけで見ると、D及びCは同一の場所のファイルにアクセスしたことになり、したがって、{C、D}は、使用値1114を有する1つのグループを形成する。グループの各々の実際の使用値は、図10に示されるような少ないサブセットだけでなく、ファイルアクセスのインスタンスの全てを含む。電子メールヘッダから構築されるグループのように、実装のいくつかは、インスタンスを単に合計することにより使用値を計算する。この方法を使用すると、デファクトグループ{A,B,D,F}の使用値1110は4であり、グループ{A,C,E}の使用値1112は4であり、グループ{C,D}の使用値1114は2である。
実装は、一般的に、電子メールヘッダに基づくグループについて上記されるように、減衰重みファクタによって使用値を計算する。図11は、寿命の半分である15日の重みを選択した場合の、4つの対応する重みの合計として、グループ{A,B,D,F}の使用値を例示する。
ファイルサーバアクセス(例えば、アクセスグループ138)のために生成されたグループは、電子メールリスト(例えば、配送グループ116)と結合されることができ、もしくは、独立に使用されてもよい。実装のいくつかにおいて、個々のユーザはグループを生成すること、もしくは、ネットワークストレージデバイスのアクセス特権を変更することを許可されていないため、ファイルサーバアクセスグループ138はネットワーク管理者によって管理されている。ネットワークファイルサーバアクセスに関する分析は、ドキュメント管理システム及びバージョン制御システムにも適用され得る。これらのシステムにおいて、ファイルはプロジェクトもしくはその他のグループ化に割り当てられ、したがって、同一の仕組みが適用される。
電子メールのグループ及びネットワークアクセスが組み合わされると、対処されるべき問題がいくつか生じる。第1に、ユーザのユニークな識別子は、2つの環境において異なる(例えば、電子メールアドレスとネットワークID)。環境のいくつかにおいて、ユーザのネットワークはユーザの電子メールアドレスの最初の部分であり、したがって、データを容易に関連付ける。実装のいくつかは、ネットワークもしくは分析サーバ400の相関テーブル(単数もしくは複数)を維持する。したがって、データは容易に組み合わされる。第2に、電子メール及びファイルアクセスは、非常に異なるアクセスパターンを有することができる。したがって、電子メール使用値及びファイルアクセス使用値の適切な重みが決定される。これらの数値は、観察もしくはトレーニングプロセス(例えば、ユーザによる推奨の受容もしくは拒絶に基づいて、分析サーバにフィードバックを送信すること)を用いて割り当てられることができる。図17はトレーニングプロセスを例示する。
分析サーバ400がデファクトグループ124を構築し、対応する使用値を計算すると、分析サーバ400はデファクトグループに関するユーザ102への推奨を生成することができる。推奨の最初のカテゴリは、グループ自身の構成である。例えば、分析サーバ400は、既存の保存済グループ128とデファクトグループとを比較し、変更を推奨する。この処理は、図12(フローチャートA)及び図13(フローチャートB)に例示される。一般的に、十分高い使用値を有するデファクトグループ124だけが推奨処理のために考慮される。実装のいくつかにおいて、ユーザ102の上位5番目までの使用値を有する5個のデファクトグループが評価される(1202)。上位のデファクトグループ124の1つが既に既存の保存済グループ128であるならば、当該デファクトグループ124についての推奨に変化はない。
最上位のデファクトグループGが与えられると、評価処理が開始され(1202)、グループGが既存のグループのいずれかのサブセットであるか否かを判定する(1204)(例えば、Gのメンバ全てに加えて他のメンバを有する既存のグループがあるか?)。判定が否定された場合、分析は図13のフローチャートBに進む(1206)。Gの適切なスーパーセットである1つもしくは複数の既存のグループがあると仮定すると、処理は、メンバの数がもっとも少ない既存のグループの全てを識別する(1208)。例えば、Gが3個のメンバを有し、Gを含む4個もしくは5個のメンバを有する既存のグループがあるならば、処理は4個のメンバを有する該当グループの全てを識別する。1つを越える該当グループがあるかもしれない。例えば、G={A,B,C}ならば、各々が4個のメンバを有する既存のグループ{A,B,C,D}及び{A,B,C,E}があり得る。メンバの数が最少である識別された既存のグループの中から、処理は、使用値が最小であるグループG‘を選択する(1210)。(使用が最小であるグループが複数ある場合、その内の1つが任意に選択され得る。)
次に、処理は、GがG‘にどの程度近いか、を決定する(1212)。G及びG‘が近い場合、処理はG’をGで置換することを推奨することができる。近さを測定するために、処理は、G‘のその他のメンバの数が閾値Δより大きいか否かを判定する(1212)。実装のいくつかにおいて、閾値Δは1である。例えば、Gが{A,B,C}であり、G‘が{A,B,C,D,E}であり、Δが1であれば、その他のメンバの数は2であり、閾値を越えている。判定が肯定されると、処理はグループGのランク(すなわち、使用値)T1が生成閾値より大きいか否かを判定する(1220)。判定が肯定された場合、分析サーバは新しいグループとしてGを生成することを推奨する(1222)。判定が否定された場合、分析サーバはグループGに基づく推奨は生成しない。
G‘のその他のメンバの数が閾値Δ以下であれば、分析サーバ400は、G’の使用値とGの使用値とを比較する(1214)。G及びG‘が互いに近いので、Gがより高い使用値を有するならば、分析サーバはGをG’で置換することを推奨する(1216)。一方、G’がGより高い使用値を有するならば、分析サーバはグループGについて何も推奨しない(1218)。
図13のフローチャートBは、Gと(スーパーセットではなく)サブセットとを比較する。図13は、フローチャートAの評価処理の続きである(1302)。最初、分析サーバは、Gが既存のグループのいずれかの適切なスーパーセットであるか否かを判定する(1304)。判定が肯定された場合、分析サーバは、Gのサブセットであり、要素の数が最大である既存のグループの全てを識別する(1306)。例えば、G={A,B,C}であり、既存のグループ{A,B}及び{A,C}があれば、これらのセットは双方とも、要素の数が最大であるGのサブセットである。識別された要素の数が最大であるセットから、次に、処理は、使用値が最小であるグループG‘’を選択する(1308)。(使用値が最小であるグループが複数ある場合、その内の1つが任意に選択される。)
次に、分析サーバは、Gのその他のメンバの数が閾値Δより大きいか否かを判定する(1310)。実装のいくつかにおいて、閾値Δは1である。Gのその他のメンバの数が最大Δであるならば、処理は、Gのランク(すなわち、使用値)とG‘’の使用値とを比較する(1318)。G‘’のランクがGのランクより低いならば、分析サーバはグループG‘’をグループGと置換することを推奨する。実装のいくつかにおいて、分析サーバは、Gの使用値がG‘’の使用値よりも大きい場合のみ推奨を生成する。G‘’がGの使用値以上の使用値を有するならば、分析サーバは、Gについて推奨を生成しない。
図13のフローチャートに示されるように、判定1312に到達する経路は2つある。判定1312に到達する経路の1つは、グループGの適切なサブセットである既存のグループがない場合である。判定1312に到達するもう1つの経路は、Gのその他のメンバの数が閾値Δよりも大きい場合である。判定1312において、分析サーバは、グループGのランク(すなわち、使用値)が挿入閾値Tを越えるか否かを判定する。判定が肯定された場合、分析サーバ400は、新しいグループとしてデファクトグループGの生成を推奨する(1314)。判定が否定された場合、分析サーバ400はグループGに関する推奨を生成しない。
図14は、グループの使用レベルがアクセスレベルを推奨するためにどのように使用されるかを示している。この例示において、3つの閾値1402、1404、1406がある。これらの閾値は、グループを4つの使用レベル(低使用レベル1408、中使用レベル1410、高使用レベル1412、超高使用レベル1414)に分ける。使用レベルの各々は、異なるアクセス推奨に対応する。実装のいくつかにおいて、アクセスレベルは、ネットワークディレクトリに保存されているファイルへのアクセスに関する。その他の実装において、アクセスレベルは存在/アウェアネスデータに関する。例えば、ユーザは、プロジェクトA(超高使用レベル)の同僚に、ユーザのモバイル機器追跡データを見せ、プロジェクトB(より低い使用レベル)の同僚には当該データを見せないようにすることが可能である。
実装のいくつかにおいて、図15は、使用レベルに基づいて、グループがユーザに提示され得ることを例示する。例えば、電子メールアプリケーション520が配送リストとしてグループ128を提示する実装において、リスト1502は、もっとも確率が高い配送リスト1504が最上となるように、提示される。この例示において、配送リスト1506は配送リスト1504より低い使用レベルを有し、配送リスト1508は配送リスト1506より低い使用レベルを有する。以下、配送リスト1510、1512、1514、1516、1518について同様である。実装のいくつかにおいて、スクロール、インクリメンタルサーチ、「次(more)」ボタンのクリックなどによってアクセスし得るより多くの配送リスト1520を含む。実装のいくつかにおいて、ユーザ102は、グループのより迅速な認識を可能とする配送リストの各々に名称(例えば、このプログラムの個々のグループについて「Pro A」)を割り当てることができる。
図16は、アウェアネスアプリケーション524の実装のいくつかにおいて、どのようにグループ推奨がアウェアネスダッシュボード1600によってユーザを支援することができるかを例示する。例えば、myUnityシステムは、同僚についての状態情報を提供するために、ダッシュボード1600を含む。この例において、ダッシュボードタブ1602が現在表示されており、アドレスブックタブ1604は隠れている。ダッシュボードは、データが最後に更新されたときのタイムスタンプを特定するタイムインジケータ1620及びグループセレクタ1606を含む。現在選択されているグループは、「Proj A」であり、その他のグループはドロップダウン矢印1608を用いて選択され得る。実装のいくつかにおいて、会社内の個人の全てを含むデフォルトグループ「全て」がある。この例示において、グループは、一般的に、個別のユーザによって定義される名称によって選択される。例えば、プロジェクトAに2人以上の個人がいる場合、個人の1人はグループの名称を「Proj A」1610とし、一方で、もう1人は当該グループの名称を「A」とすることができる。
この例示において、グループ「Proj A」は4個のメンバを有する。メンバは大きなウィンドウ1622に例示されている。アウェアネスアプリケーション524の実装のいくつかにおいて、個人の各々は、フレーム1612の内部に小さい写真1614及び説明文によって描写されている。説明文は「Bob」1616など個人の名称を含む。実装のいくつかにおいて、ユーザ102は個人の各々の名称を選択することができる。名称は、名前、名前及び苗字、もしくは「Z」1618などの意味を有するその他の任意の記述子であってよい。多くの実装において、名称及びその他の情報がアドレスブック1604において利用可能である。したがって、ユーザ102は個人の名称を何度も入力する必要はない(例えば、当該個人が複数のグループに含まれる場合)。一般的に、アウェアネスアプリケーション524は表示されている個人の各々についての状態情報も提供する。状態情報は、一般的に、フレーム1612の内部に表示される。実装のいくつかにおいて、状態情報は、フレーム1612の内部でカーソルをホバリングすること、もしくは、フレーム1612の内部をクリックすること、に応じて、表示される。その他の実装において、表示を促すユーザのアクションなしに、状態情報は自動的に表示される。実装のいくつかにおいて、状態情報は自動的にかつ定期的に更新され、タイムインジケータ1620は最後に更新されたときを示す。
図16に示されるように、グループが最初に識別されたときに、個人を検出することを非常に容易にし得る。この例において、「Pro A」グループは4個のメンバしか有さないが、会社の人々の総数は数百もしくは数千であり得る。実装のいくつかにおいて、ユーザは、一般的に、ユーザ自身についての状態情報には関心を有さないため、アウェアネスアプリケーション524のユーザ102はグループから除外される。その他の実装において、ユーザは、グループのメンバとして、含まれる。グループは、その他の個人と同様に、調べることからユーザ102を除外しない。ユーザはアドレスブックタブ1604を使用すること、(図示されていない)サーチボックスを使用すること、調べるためにグループ「全部」をアルファベット順に表示すること、などができる。
図17は実装のいくつかにおいて採用される処理を例示する。推奨のユーザによる受容もしくは拒絶が、将来の推奨を改善するためにフィードバックとして使用される。図7〜図13を用いて上記した技術を使用することによって、分析サーバ400は推奨を計算する(1702)。推奨は、新しいグループを追加し、既存のグループを変更し、グループを削除するためのものであってよい。新しいグループを追加すること、及び、既存のグループを変更することは、図12及び図13に例示されている。グループを削除することは、既存のグループの使用レベルが使用レベルの閾値を下回ったときに、推奨される。加えて、図14に例示されているように、使用レベルに基づいて、グループに異なるアクセス特権を設定し得る。
分析サーバ400は、ユーザ102によって使用されるユーザデバイス500に推奨を送信する(1704)。ユーザ102は、次に、推奨の受容(1706)もしくは拒絶(1706)を選択することができる。ユーザデバイス500は、次に、分析サーバ400に、推奨が受容されたか、拒絶されたかを示すフィードバックを送信する(1708)。分析サーバ400は、次に、受信したフィードバックを組み込むことによって計算パラメータを変更する(1710)。例えば、分析サーバは、ファイルサーバデータに対する電子メールデータの重みを変更し、もしくは、推奨のトリガーとなる閾値を変更する。
実装のいくつかにおいて、分析サーバ400は、新しい推奨を計算する前に、その他のデータ(例えば、電子メール及び/もしくはファイルサーバアクセス)を受信する(1712)。その他の実装において、推奨モジュール126は、その他の使用データを受信する前に、実行される。推奨モジュール126が再度実行されるときに拘りなく、既存の保存済グループ128のいずれかを変更するための推奨を生成する必要はない。すなわち、グループ128は丁度よいかもしれない。したがって、変更は適切でない。
図17に示されるように、分析サーバ400は、その後、新しい推奨を計算し(1714)、ユーザデバイス500に新しい推奨を送信する(1716)。ユーザ102は、次に、新しい推奨を受容するかもしくは拒絶し、分析サーバにフィードバックを送信する。したがって、推奨の質は改善され続ける。
図18A〜図18Eは、どのように実装のいくつかがグループを構築するか、グループの使用レベルに基づいて推奨を生成するか、及び、様々なソフトウェアアプリケーションにおいてグループを利用するかを示すフローチャートである。
推奨処理1800は、1つもしくは複数のプロセッサ及びメモリを有するサーバ(一つのサーバもしくはサーバグループ)で実行される(1802)。実装のいくつかにおいて、図4に例示されるように、推奨プロセスは推奨モジュール126によって実行される。サーバは、指定された期間の間に送信された複数の電子メールメッセージの電子メールヘッダ情報を受信する(1804)。期間は、1日、1週間、1月、もしくは、任意のその他の期間であってよく、一般的に、定期的に繰り返される(例えば、日曜日毎に、前週の電子メールヘッダを受信する。)。例えば、実装のいくつかにおいて、サーバは、毎日午前2時開始で、前日の午前2時〜当日の午前2時までの間に送信された全てのメッセージのデータを受信するために、電子メールヘッダ情報を受信する(1804)。
電子メッセージの電子メールヘッダ情報は、送信者のユニークな識別子及び電子メッセージの受信者各々のユニークな識別子を含む(1806)。実装のいくつかにおいて、ユニークな識別子は受信者の電子メールアドレスであるが、その他の実装は、GUIDもしくはシステムが生成したユニークなキーなどのユニークな代替的識別子であってよい。実装のいくつかにおいて、受信者のセットは、宛先(TO)ライン、CCライン及びBCCラインにおいて識別される個人を含むが、実装のいくつかは、BCCラインの個人を除外する。
実装は、一般的に、指定された会社(例えば、仕事場)の外部から発された電子メッセージを除外する。例えば、会社の従業員の全てがsomebody@fxpal.comという形態の電子メールアドレスを有する場合、fxpal.com以外のドメインから受信された電子メッセージはいずれも処理に含まれない。このような外部のメッセージは、一般的に、会社内のグループを識別するために有用ではない。1人もしくは複数の会社外の受信者を有する、会社内から発される電子メッセージは、実装によって異なる方法で扱われる。実装のいくつかにおいて、これらの電子メッセージも同様に除外される。実装のいくつかにおいて、外部の受信者が除外され、少なくとも一人の受信者が会社内である限り、処理は変更された受信者のセットを用いて進む。実装のいくつかは、会社の「内部」であるとして、複数のドメインネーム及び/もしくはある範囲のIPアドレスをサポートする。実装のいくつかは、会社の外部であるとしても、グループ化処理に含めるために特定の電子メールアドレス(もしくは、電子メールアドレスのカテゴリ)を選択することもサポートする。例えば、コンサルト会社の数人の個人は、当該会社の人々と共にプロジェクトで作業しているかもしれない。コンサルトしている個人をグループに含めることは有用であり得る。
分析サーバ400は、図6〜図8に例示されるように、受信した電子メールヘッダ情報を用いてデファクトグループ124のセットを構築する(1808)。デファクトグループの各々は、電子メールヘッダ情報が受信された電子メッセージの送信者及び受信者に対応するユニークな識別子を含むセットを含む(1810)。実装のいくつかにおいて、BCC受信者が含まれる。その他の実装において、BCC受信者は除外される。実装のいくつかにおいて、ユニークな識別子は、送信者及び受信者の電子メールアドレスであるが、その他の実装は、システムが生成したキーなどのユニークな代替識別子を使用する。
デファクトグループ124の各々について(1812)、分析サーバ400は、デファクトグループに対応する異なる電子メッセージの数に基づいて使用レベルを計算する(1814)。電子メッセージは、電子メッセージの送信者及び受信者に対応するユニークな識別子のセットがデファクトグループ124に等しい場合、デファクトグループ124に対応する(1816)。
実装のいくつかにおいて、分析サーバ400は、指定された同じ期間の間、共有されるディレクトリのファイルへのユーザアクセスイベントに関する情報も受信する(1818)。これは、図9〜図11に例示されている。実装のいくつかは、ファイルサーバ200の共有ファイルアクセスの代わりに、もしくは、加えて、ドキュメント制御システムもしくはバージョン制御システムからファイルアクセス情報を受信する。ユーザアクセスイベントの各々についての情報はユニークなユーザ識別子(例えば、ネットワークユーザID)及びユニークなディレクトリ識別子(例えば、完全なネットワークパス)を含む(1820)。
分析サーバ400は、デファクトファイルグループのセットを構築する(1822)。デファクトグループは、ディレクトリの各々に対応し(1824)、指定された期間の間、ディレクトリの各々の1つもしくは複数のファイルにアクセスしたユーザの各々のユニークなユーザ識別子を含む(1824)。一般的に、あまりにも浅いディレクトリ(ルートディレクトリもしくは第1レベルのディレクトリ)は、ユーザのグループ化について意味のある情報を提供しないので、除外される。加えて、実装のいくつかは、ディレクトリが非常に深い場合、ディレクトリを「まとめる」。例えば、実装のいくつかは、ファイルアクセスの各々について上位4つのディレクトリだけを使用する。これは、図10及び図10に関連する記載のファイルアクセス1024に例示されている。
デファクトファイルグループの各々について、分析サーバ400は、ディレクトリの各々のファイルへのユーザアクセスイベントの数に基づいて使用レベルを計算する(1826)。次に、分析サーバ400は、デファクトファイルグループをデファクトグループ124にマージする(1828)。デファクトファイルグループがデファクトグループと等しい場合、分析サーバは、デファクトファイルグループの各々の使用値に基づいて、デファクトグループの各々の使用値を変更する(1830)。2つの異なるソースから構築されるグループを組み合わせることは、一般的に、使用値に重みファクタを乗じ、足し合わせることを含む。例えば、電子メール使用値E及びファイル使用値Fを有するグループGについて、重み値がW及びWである場合、組み合わされた使用値CはW+Wである。実装のいくつかにおいて、図17を用いて例示され、記述されるように、ユーザフィードバックに基づいて、経時的に重みは変化される。
分析サーバ400は、デファクトグループ124の各々及び対応する使用値を、メモリ、一般的には、不揮発性メモリに保存する(1832)。分析サーバは、次に、保存済グループ128のセットを識別する(1834)。デファクトグループ124のように、保存済グループ128の各々は、人々のユニークな識別子のセットを含む(1836)。分析サーバは、デファクトグループ124の使用値を用いて保存済グループ128の各々に使用値を割り当てる(1838)。保存済グループ128がデファクトグループ124のいずれかと等しい場合、保存済グループ128の使用値はゼロである(1840)。保存済グループ128がデファクトグループ124と等しくない場合、保存済グループの使用値は、デファクトグループに対応する使用値に等しい値に設定される(1840)。
次に、分析サーバ400はデファクトグループ124及びその関連する使用値と保存済グループ128及びその使用値と比較する(1842)。比較の結果として、分析サーバ400は保存済グループ128のセットを変更する推奨を提供する(1844)。保存済グループの使用値が更新閾値を下回る場合、保存済グループを除去するように推奨する場合がある(1846)。経時的に、グループのいくつかはもはや使用されないか、もしくは、非常に稀にしか使用されない。その場合、そのようなグループを除去することが有用である。保存済グループGがデファクトグループG‘の適切なサブセットであり、G’の使用値からGの使用値を差し引いた値がスーパーセット置換閾値を越える場合、保存済グループGをデファクトグループG‘と置換するよう推奨する場合がある。この場合、1つもしくは複数のメンバがより大きいグループG‘を生成するために以前のグループGに加入したように見える。
デファクトグループG‘’は保存済グループGの適切なサブセットであり、G‘’の使用値からGの使用値を差し引いた値がサブセット置換閾値を越える場合、保存済グループGをデファクトグループG‘’と置換するよう推奨する場合がある(1850)。1つもしくは複数のメンバはもはやグループの部分ではないように見える。したがって、グループはより小さいメンバシップを反映するように更新されるべきである。デファクトグループGの使用値が挿入閾値を越える場合、Gが保存済グループのいずれとも等しくない場合、及び、Gが保存済グループのいずれかとの置換を推奨されていない場合、デファクトグループGを新しい保存済グループとして保存するよう推奨する場合がある(1852)。この場合、Gは、新しいグループであり、既存のグループの変更ではないように見える。
実装のいくつかにおいて、推奨を提供することは、ユーザによって推奨が受容される確率を計算することを含む(1854)。当該計算は、デファクトグループ、保存済グループ及び関連する使用値と共に1つもしくは複数のパラメータを使用する。図17に例示されるように、計算のパラメータはユーザ102からのフィードバックに基づいて、引き続き更新される。実装のいくつかにおいて、分析サーバ400は、クライアントデバイス500のユーザインターフェイスにおける表示のために、保存済グループ128に対応する情報を提供する(1856)。クライアントデバイス500のユーザ102は、保存済グループ128のセットを変更する推奨を受容(もしくは拒絶)する(1860)ために、ユーザインターフェイスを利用する(1858)。次に、ユーザ102は、ユーザインターフェイスの保存済グループの1つを選択し(1862)、選択された保存済グループのユニークな識別子に対応する個人を選択する(1864)。次に、クライアントデバイス500は、選択された個人のために分析サーバから現在の状態情報を受信し(1866)、ユーザインターフェイスに状態情報を表示する。代替的な実装において、グループが選択されるとすぐに、選択されたグループの人々全ての状態情報が受信され(1866)、ユーザによる特定の個人の選択なしに、ユーザインターフェイスに状態情報が表示される。状態情報の表示は図16に例示される。そのような実装の1つは、富士ゼロックスによって提供されるmyUnityシステムである。
実装のいくつかにおいて、ユーザインターフェイスは電子メールアプリケーション520に対応し(1868)、電子メールアプリケーション520のユーザ102は新しい電子メッセージの受信者リストとして保存済グループ128を選択する。実装のいくつかにおいて、ユーザインターフェイスはネットワーク管理者ツールに対応し(1870)、保存済グループGのネットワークアクセス特権を変更することを推奨する。これらの実装において、ネットワーク管理者ツールのユーザは、推奨によって、保存済グループGのネットワークアクセス特権を変更する。
図17に例示されるように、推奨の提供後(1872)、実装のいくつかは、推奨が受容されたか否かを示すフィードバックを受信する(1874)。次に、分析サーバは、受信したフィードバックに基づいて、1つもしくは複数のパラメータ(1854)の少なくとも1つの値を変更する(1876)。続いて、分析サーバは、変更されたパラメータ値を用いた計算に基づいて保存済グループのセットを変更するように第2の推奨を提供する(1878)。推奨を生成し、推奨のフィードバックを組み込む反復処理は、分析サーバに推奨を改善させる。
以上の記述は、説明のために、特定の実装を参照して記述された。しかしながら、上記例示的記述は、開示された詳細な形態に本発明を限定すること、もしくは、開示された詳細な形態で本発明を網羅することを意図していない。多くの変更及び変形が上記教示の観点において可能である。本発明の原理及び実用的に応用をもっともよく説明するために、実装を選択し、記述した。これにより、特定の考えられる実用的使用に適するように、当業者は、本発明及び様々な変更を加えられた様々な実装を最適に利用することが可能である。
106 通信ネットワーク
200 ファイルサーバ
300 電子メールサーバ
400 分析サーバ
500 ユーザデバイス

Claims (12)

  1. 指定された期間の間に、送信された複数の電子メッセージの電子メールヘッダ情報を受信し、前記電子メッセージの前記電子メールヘッダ情報は前記電子メッセージの送信者のユニークな識別子及び受信者の各々のユニークな識別子を含み、
    受信した前記電子メールヘッダ情報を用いてデファクトグループのセットを構築し、前記デファクトグループの各々は、前記電子メールヘッダ情報が受信された前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子を含むセットを含み、
    前記デファクトグループの各々について、前記デファクトグループの各々に対応する別個の電子メッセージの数に基づいて使用値の各々を計算し、前記電子メッセージは、前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子のセットが前記デファクトグループと等しい場合、前記デファクトグループに対応し、
    前記デファクトグループの各々及び対応する使用値をメモリに記憶し、
    保存済グループのセットを識別し、前記保存済グループの各々は人々のユニークな識別子のセットを含み、前記使用値の各々は、前記保存済グループの各々の人々のユニークな識別子のセットが前記デファクトグループのいずれとも等しくない場合0であり、前記保存済グループの各々の人々のユニークな識別子のセットが対応する前記デファクトグループと等しい場合、前記保存済グループの前記使用値は対応する前記デファクトグループの前記使用値と等しく、
    前記デファクトグループの人々のユニークな識別子セット及び前記デファクトグループに関連する前記使用値と、前記保存済グループの人々のユニークな識別子セット及び前記保存済グループに関連する前記使用値と、を比較し、
    前記比較に基づいて、前記保存済グループのセットを変更する推奨を提供する、
    ことをコンピュータに実行させるためのプログラム。
  2. 前記推奨は、前記保存済グループの前記使用値が更新閾値を下回る場合、前記保存済グループを除去することである、請求項1に記載のプログラム。
  3. 前記推奨は、保存済グループGがデファクトグループG’の適切なサブセットであり、G’の前記使用値からGの前記使用値を差し引いた値がスーパーセット置換閾値を越える場合、前記保存済グループGを前記デファクトグループG’と置換することである、請求項1に記載のプログラム。
  4. 前記推奨は、デファクトグループG’’が保存済グループGの適切なサブセットであり、G’’の前記使用値からGの前記使用値を差し引いた値がサブセット置換閾値を越える場合、前記保存済グループGを前記デファクトグループG’’と置換することである、請求項1に記載のプログラム。
  5. 前記推奨は、デファクトグループGNの前記使用値が挿入閾値を越え、GNが前記保存済グループのいずれとも等しくなく、GNが前記保存済グループのいずれかとの置換を推奨されていない場合、前記デファクトグループGNを新しい保存済グループとして保存することである、請求項1に記載のプログラム。
  6. さらに、
    前記指定された期間の間に、共有ディレクトリのファイルへのユーザアクセスイベントに関する情報を受信し、前記ユーザアクセスイベントの各々についての情報は、ユーザのユニークな識別子及びディレクトリのユニークな識別子を含み、
    デファクトファイルグループのセットを構築し、前記デファクトファイルグループの各々は、ディレクトリの各々に対応し、前記指定された期間の間に、前記ディレクトリの各々の1つもしくは複数のファイルにアクセスしたユーザの各々の前記ユーザのユニークな識別子を含み、
    前記デファクトファイルグループの各々について、前記ディレクトリの各々のファイルへの前記ユーザアクセスイベントに基づいて使用値の各々を計算し、
    前記デファクトファイルグループを前記デファクトグループにマージし、前記デファクトファイルグループの各々が前記デファクトグループと等しい場合、前記デファクトファイルグループの各々の前記使用値に基づいて前記デファクトグループの各々の前記使用値を変更する、
    ことをコンピュータ実行させるための請求項1〜5のいずれか1項に記載のプログラム。
  7. さらに、
    クライアントデバイスのユーザインターフェイスの表示のために、前記保存済グループに対応する情報を提供する、ことをコンピュータに実行させるための請求項1〜6のいずれか1項に記載のプログラム。
  8. 前記ユーザインターフェイスは、
    前記クライアントデバイスのユーザの操作に応じて、
    前記保存済グループのセットを変更する前記推奨を受容し、
    保存済グループを選択し、
    選択された前記保存済グループの前記人々についての現在状態情報をサーバから受信し、表示する、
    請求項7に記載のプログラム。
  9. 前記ユーザインターフェイスは電子メールアプリケーションに対応し、
    前記ユーザインターフェイスは、
    前記電子メールアプリケーションのユーザの操作に応じて、
    新しい電子メッセージの受信者リストとして保存済グループを選択する、
    請求項7に記載のプログラム。
  10. 前記ユーザインターフェイスはネットワーク管理ツールに対応し、
    前記推奨は、保存済グループGのネットワークアクセス特権を変更することであり、
    前記ネットワーク管理ツールは、
    前記ネットワーク管理ツールのユーザの操作に応じて、
    前記保存済グループGの前記ネットワークアクセス特権を変更する、
    請求項7に記載のプログラム。
  11. 前記推奨を提供することは、ユーザによって前記推奨が受容される可能性を計算することを含み、前記計算は前記デファクトグループ、前記保存済グループ、及び関連する前記使用値と共に1つもしくは複数のパラメータを使用し、
    前記推奨を提供した後、
    さらに、
    前記推奨が受容されたか否かを示すフィードバックを受信し、
    受信した前記フィードバックに基づいて1つもしくは複数の前記パラメータの少なくとも1つの値を変更し、
    変更された前記パラメータの値を用いた計算に基づいて、前記保存済グループのセットを変更するための第2の推奨を提供する、
    ことをコンピュータに実行させるための請求項1〜10のいずれか1項に記載のプログラム。
  12. 1つもしくは複数のプロセッサ、
    メモリ及び
    前記メモリに記憶されている1つもしくは複数のプログラム、 を備えるコンタクトグループを管理するシステムであって、
    前記1つもしくは複数のプログラムは、
    指定された期間の間に、送信された複数の電子メッセージの電子メールヘッダ情報を受信し、前記電子メッセージの前記電子メールヘッダ情報は前記電子メッセージの送信者のユニークな識別子及び受信者の各々のユニークな識別子を含み、
    受信した前記電子メールヘッダ情報を用いてデファクトグループのセットを構築し、前記デファクトグループの各々は、前記電子メールヘッダ情報が受信された前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子を含むセットを含み、
    前記デファクトグループの各々について、前記デファクトグループの各々に対応する別個の電子メッセージの数に基づいて使用値の各々を計算し、前記電子メッセージは、前記電子メッセージの前記送信者及び前記受信者に対応するユニークな識別子のセットが前記デファクトグループと等しい場合、前記デファクトグループに対応し、
    前記デファクトグループの各々及び対応する使用値を前記メモリに記憶し、
    保存済グループのセットを識別し、前記保存済グループの各々は人々のユニークな識別子のセットを含み、前記使用値の各々は、前記保存済グループの各々の人々のユニークな識別子のセットが前記デファクトグループのいずれとも等しくない場合0であり、前記保存済グループの各々の人々のユニークな識別子のセットが対応する前記デファクトグループと等しい場合、前記保存済グループの前記使用値は対応する前記デファクトグループの前記使用値と等しく、
    前記デファクトグループの人々のユニークな識別子セット及び前記デファクトグループに関連する前記使用値と、前記保存済グループの人々のユニークな識別子セット及び前記保存済グループに関連する前記使用値と、を比較し、
    前記比較に基づいて、前記保存済グループのセットを変更する推奨を提供する、
    ための命令を含む、
    システム。
JP2014002505A 2013-02-14 2014-01-09 コンタクトグループを管理する方法、システム、プログラム Active JP6244919B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/767,743 US9385985B2 (en) 2013-02-14 2013-02-14 Systems and methods for assisting users with contact, access, and distribution lists
US13/767,743 2013-02-14

Publications (2)

Publication Number Publication Date
JP2014157599A JP2014157599A (ja) 2014-08-28
JP6244919B2 true JP6244919B2 (ja) 2017-12-13

Family

ID=51298257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014002505A Active JP6244919B2 (ja) 2013-02-14 2014-01-09 コンタクトグループを管理する方法、システム、プログラム

Country Status (2)

Country Link
US (1) US9385985B2 (ja)
JP (1) JP6244919B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10540404B1 (en) 2014-02-07 2020-01-21 Amazon Technologies, Inc. Forming a document collection in a document management and collaboration system
US9542391B1 (en) 2013-11-11 2017-01-10 Amazon Technologies, Inc. Processing service requests for non-transactional databases
US10599753B1 (en) 2013-11-11 2020-03-24 Amazon Technologies, Inc. Document version control in collaborative environment
US11336648B2 (en) 2013-11-11 2022-05-17 Amazon Technologies, Inc. Document management and collaboration system
US20150156200A1 (en) * 2013-11-29 2015-06-04 Samsung Electronics Co., Ltd. Apparatus and method for secure and silent confirmation-less presence for public identities
US10691877B1 (en) 2014-02-07 2020-06-23 Amazon Technologies, Inc. Homogenous insertion of interactions into documents
US9852208B2 (en) * 2014-02-25 2017-12-26 International Business Machines Corporation Discovering communities and expertise of users using semantic analysis of resource access logs
US9807073B1 (en) 2014-09-29 2017-10-31 Amazon Technologies, Inc. Access to documents in a document management and collaboration system
GB2555580A (en) * 2016-10-28 2018-05-09 Egress Software Tech Ltd Controlling data transmission
JP7220297B2 (ja) * 2018-10-31 2023-02-09 スラック テクノロジーズ, エルエルシー 電子メールチャンネリングを持つグループベースコミュニケーションインターフェイスのための方法、装置、及びコンピュータプログラム製品

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3551244B2 (ja) * 2000-05-09 2004-08-04 日本電気株式会社 メーリングリストサービスシステム
US7644144B1 (en) * 2001-12-21 2010-01-05 Microsoft Corporation Methods, tools, and interfaces for the dynamic assignment of people to groups to enable enhanced communication and collaboration
JP4470817B2 (ja) * 2005-06-10 2010-06-02 株式会社日立製作所 メール管理方法、メール管理装置及び記憶媒体
JP4544232B2 (ja) * 2006-10-06 2010-09-15 Sky株式会社 電子メール管理システム
US8037143B1 (en) * 2006-10-30 2011-10-11 Avaya Inc. Automatic display of email distribution lists
US20110197166A1 (en) * 2010-02-05 2011-08-11 Fuji Xerox Co., Ltd. Method for recommending enterprise documents and directories based on access logs

Also Published As

Publication number Publication date
JP2014157599A (ja) 2014-08-28
US20140229556A1 (en) 2014-08-14
US9385985B2 (en) 2016-07-05

Similar Documents

Publication Publication Date Title
JP6244919B2 (ja) コンタクトグループを管理する方法、システム、プログラム
US8145678B2 (en) Information feeds of a social network
US9866514B2 (en) Electronic message organization via social groups
US11416676B2 (en) Using text messages to interact with spreadsheets
KR101150068B1 (ko) 지식 교환 프로파일을 생성하기 위한 방법, 시스템 및 컴퓨터-판독가능 저장 매체
US7593924B2 (en) Method, system, and apparatus for receiving and responding to knowledge interchange queries
US9275126B2 (en) Self populating address book
KR101150095B1 (ko) 지식 교환 시스템에서 사용자 프라이버시를 유지하기 위한 방법, 시스템, 장치 및 컴퓨터-판독가능 저장 매체
US8234374B2 (en) Privacy model that grants access rights and provides security to shared content
US8788942B2 (en) Enterprise social networking software architecture
US7483969B2 (en) Managing presence based on relationship
KR101475682B1 (ko) 네트워크에서 프렌드 피드를 관리하는 방법, 시스템 및 서버
US20060294191A1 (en) Providing context in an electronic messaging system
US20060282303A1 (en) Distributed organizational analyzer
US20080040126A1 (en) Social Categorization in Electronic Mail
US20110161445A1 (en) Method, Data Processing Program, and Computer Program Product for Handling Instant Messaging Sessions and Corresponding Instant Messaging Environment
US20120198355A1 (en) Integrating messaging with collaboration tools
EP2803034A1 (en) Cross-property identity management
US11258744B2 (en) Digital conversation management
WO2018160224A1 (en) Query and ranking prediction using network action
JP2002014903A (ja) 電子メール情報の検索方法および装置
US10200324B2 (en) Dynamically partitioning a mailing list based on a-priori categories and contextual analysis
Dhara et al. Enhancing Unified Communication Services with Communication Context.
US20160266779A1 (en) Insight extraction, discovery and distribution
Kosmides et al. Community awareness in academic social networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170728

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171030

R150 Certificate of patent or registration of utility model

Ref document number: 6244919

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350