(57)【要約】  連絡先と対応する連絡先情報（１４０）は、アプリケーションが唯一の連絡先ストレージ（１００）からアクセスでき（４３０）、利用できる（４４０）ような方法で作成され（４４０）、保存される（４２０）。連絡先ストレージ（１００）には各連絡先の詳細な定義（１４０）が保存されており、各アプリケーションは連絡先ストレージ（１００）からアプリケーションで必要とする適切な連絡先情報を適切なフォーマットで取得できる（４３０）。連絡先情報（１４０）のストレージを一元化することで、アプリケーションで行った変更を連絡先情報に伝搬でき、反映できる。また、連絡先情報（１４０）を使用して通信を開始（４８０）したりアプリケーションからどの連絡先情報（１４０）にアクセスできるようにするかを制御したりするためのインターフェースが提供される。
2007509432.tif 000002
【特許請求の範囲】
【請求項１】
連絡先情報を使用するように設定された１つまたは複数のアプリケーションと通信するコンピューティングシステムにおいて、前記１つまたは複数のアプリケーションで使用する連絡先とそれに対応する連絡先情報を管理するための連絡先管理システムを提供する方法であって、
前記１つまたは複数のアプリケーションで利用できる連絡先情報を有する１つまたは複数の連絡先を作成して前記連絡先情報を前記１つまたは複数のアプリケーションで利用できるようにするステップと、
前記コンピューティングシステムからアクセスできる連絡先ストレージに前記連絡先を格納するステップと、
前記アプリケーションの少なくとも１つから連絡先および対応する連絡先情報へのアクセス要求を受け取ったときに、前記アプリケーションの前記少なくとも１つが１つまたは複数のインターフェースを介して前記連絡先および対応する連絡先情報にアクセスできるようにするステップと、
前記アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップと
を備えることを特徴とする方法。
【請求項２】
前記１つまたは複数のインターフェースは、前記アプリケーションの前記少なくとも１つが前記連絡先ストレージ内の前記連絡先および対応する連絡先情報に直接アクセスするのを防止することを特徴とする請求項１に記載の方法。
【請求項３】
前記インターフェースは、前記アプリケーションの前記少なくとも１つが対応する前記コンピューティングシステムのユーザが認証していない連絡先および対応する連絡先情報にアクセスするのを防止するセキュリティメカニズムを提供することを特徴とする請求項２に記載の方法。
【請求項４】
前記対応するユーザが前記コンピューティングシステムのログオンユーザであることを特徴とする請求項３に記載の方法。
【請求項５】
前記アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップは、前記アプリケーションの前記少なくとも１つが前記連絡先ストレージ内の前記連絡先の連絡先情報を更新できるようにするステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記連絡先情報は、前記連絡先ストレージ内の前記連絡先情報を前記アプリケーションの前記少なくとも１つが提供する連絡先情報に同期することによって更新されることを特徴とする請求項５に記載の方法。
【請求項７】
前記アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップは、前記アプリケーションの前記少なくとも１つがアプリケーションストレージに格納した連絡先情報を、前記連絡先ストレージ内の前記対応する連絡先情報を使用して更新するステップを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップは、前記連絡先を別のコンピューティングシステムの別のストレージに送信できるようにするステップを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップは、前記異種アプリケーションの前記少なくとも１つが前記連絡先を変更できるようにするステップを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記連絡先を変更するステップは、前記連絡先に関連付けられた属性を変更するステップを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップは、前記アプリケーションの前記少なくとも１つが前記連絡先と少なくとも１つの他の連絡先との関連を作成できるようにするステップを含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップは、前記アプリケーションの前記少なくとも１つが前記連絡先に関連付けられた前記連絡先情報を使用することで通信を開始できるようにするステップを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記通信は、電子メール、テレフォニーセッション、ＲＴＣセッション、インスタントメッセージ、ファクシミリ、電話メッセージ、およびポケベル通知の少なくとも１つを含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記連絡先を作成するステップは、唯一の個人に対応し、複数のソースから取得される連絡先情報を唯一の連絡先にマージするステップを含むことを特徴とする請求項１に記載の方法。
【請求項１５】
前記連絡先は、様々な連絡先情報を含む複数のフィールドを有するデータ構造を備え、前記１つまたは複数のアプリケーションは前記連絡先データ構造の様々なフィールドの連絡先情報を利用することを特徴とする請求項１に記載の方法。
【請求項１６】
前記少なくとも１つのアプリケーションは、前記コンピューティングシステムでホスティングされることを特徴とする請求項１に記載の方法。
【請求項１７】
前記連絡先を作成するステップは、前記連絡先が少なくとも１つのアプリケーションからアクセスされ、利用される方法を制御する制約をユーザが設定できるようにするステップを含むことを特徴とする請求項１に記載の方法。
【請求項１８】
前記１つまたは複数のインターフェースは、前記アプリケーションの前記少なくとも１つからのアクセスを可能にする前記連絡先情報の部分をユーザが選択できるようにするためのインターフェースを含むことを特徴とする請求項１に記載の方法。
【請求項１９】
前記１つまたは複数のインターフェースは、使用可能な複数の連絡先から前記連絡先をユーザが選択できるようにするためのインターフェースを含むことを特徴とする請求項１に記載の方法。
【請求項２０】
様々な方法で連絡先情報を使用するように設定された１つまたは複数の異種アプリケーションと通信するコンピューティングシステムで使用するコンピュータプログラム製品であって、前記１つまたは複数のアプリケーションで利用できる連絡先とそれに対応する連絡先情報を管理するための連絡先管理システムを提供する方法を実装するコンピュータ実行可能命令を格納する１つまたは複数のコンピュータ可読媒体を備えており、前記方法が、
前記１つまたは複数のアプリケーションで利用する連絡先情報を有する１つまたは複数の連絡先を作成して前記連絡先情報を前記１つまたは複数のアプリケーションで利用できるようにするステップと、
前記コンピューティングシステムからアクセスできる連絡先ストレージに前記連絡先を格納するステップと、
前記アプリケーションの少なくとも１つから連絡先および対応する連絡先情報へのアクセス要求を受け取ったときに、前記アプリケーションの前記少なくとも１つが１つまたは複数のインターフェースを介して前記連絡先および対応する連絡先情報にアクセスできるようにするステップと、
前記異種アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップと
を備えることを特徴とするコンピュータプログラム製品。
【請求項２１】
前記１つまたは複数のインターフェースは、前記アプリケーションの前記少なくとも１つが前記連絡先ストレージ内の前記連絡先および対応する連絡先情報に直接アクセスするのを防止することを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項２２】
前記インターフェースは、前記アプリケーションの前記少なくとも１つが対応する前記コンピューティングシステムのユーザが認証していない連絡先および対応する連絡先情報にアクセスするのを防止するセキュリティメカニズムを提供することを特徴とする請求項２１に記載のコンピュータプログラム製品。
【請求項２３】
前記アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップは、前記アプリケーションの前記少なくとも１つが前記連絡先ストレージ内の前記連絡先の連絡先情報を更新できるようにするステップを含むことを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項２４】
前記アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップは、前記アプリケーションの前記少なくとも１つがアプリケーションストレージに格納した連絡先情報を、前記連絡先ストレージ内の前記対応する連絡先情報を使用して更新するステップを含むことを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項２５】
前記アプリケーションの前記少なくとも１つが利用できるようにするステップは、前記連絡先を別のコンピューティングシステムの別のストレージに送信できるようにするステップを含むことを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項２６】
前記アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップは、前記アプリケーションの前記少なくとも１つが前記連絡先を変更できるようにするステップを含むことを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項２７】
前記アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップは、前記アプリケーションの前記少なくとも１つが前記連絡先と少なくとも１つの他の連絡先との関連を作成できるようにするステップを含むことを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項２８】
前記アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップは、前記アプリケーションの前記少なくとも１つが前記連絡先に関連付けられた前記連絡先情報を使用することで通信を開始できるようにするステップを含むことを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項２９】
前記連絡先を作成するステップは、唯一の個人に対応し、複数のソースから取得される連絡先情報を唯一の連絡先にマージすることを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項３０】
前記連絡先は様々な連絡先情報を含む複数のフィールドを有するデータ構造を備え、前記１つまたは複数のアプリケーションは前記連絡先データ構造の様々なフィールドの連絡先情報を利用することを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項３１】
前記少なくとも１つのアプリケーションは前記コンピューティングシステムでホスティングされることを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項３２】
前記連絡先を作成するステップは、前記連絡先を少なくとも１つのアプリケーションからアクセスされ、利用される方法を制御する制約をユーザが設定できるようにするステップを含むことを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項３３】
前記１つまたは複数のインターフェースは、前記１つまたは複数のアプリケーションからのアクセスを可能にする前記連絡先情報の部分をユーザが選択できるようにするためのインターフェースを含むことを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項３４】
少なくとも１つの連絡先を格納する連絡先ストレージを含み、前記連絡先はコンピューティングシステムと通信する異種アプリケーションから様々な方法で利用できる連絡先情報を備えており、前記異種アプリケーションは前記連絡先ストレージとは別個に保守され、少なくとも１つの連絡先を定義するアプリケーション連絡先ディレクトリを所有するコンピューティングシステムにおいて、前記異種アプリケーションで使用する連絡先とそれに対応する連絡先情報を管理するための連絡先管理システムを提供する方法であって、
少なくとも２つの異種アプリケーションが別々の方法で利用できる連絡先情報を有する１つまたは複数の連絡先を作成するステップと、
前記コンピューティングシステムからアクセスできる連絡先ストレージに前記連絡先を格納するステップと、
前記連絡先ストレージ内の前記連絡先の少なくとも１つの連絡先情報を変更するステップと、
前記連絡先情報を変更したときに、前記連絡先ストレージ内の前記変更された連絡先情報に前記少なくとも１つの異種アプリケーションの少なくとも１つのアプリケーション連絡先ディレクトリ内の対応する連絡先情報を自動的に更新し、前記少なくとも１つのアプリケーションが前記連絡先ストレージから前記更新された連絡先情報を要求する必要なく前記更新された連絡先情報にアクセスできるようにするステップと
を備えることを特徴とする方法。
【請求項３５】
前記連絡先情報を変更するステップは、前記連絡先情報の内容を変更するステップを含むことを特徴とする請求項３４に記載の方法。
【請求項３６】
前記連絡先情報を変更するステップは、前記コンピューティングシステムでホスティングされるローカルアプリケーションによって実行されることを特徴とする請求項３５に記載の方法。
【請求項３７】
少なくとも１つの連絡先を格納する連絡先ストレージを含み、前記連絡先は前記コンピューティングシステムと通信する異種アプリケーションから様々な方法で利用できる連絡先情報を備えており、前記異種アプリケーションは前記連絡先ストレージとは別個に保守されて少なくとも１つの連絡先を定義するアプリケーション連絡先ディレクトリを有するコンピューティングシステムにおいて、前記異種アプリケーションで使用する連絡先とそれに対応する連絡先情報を管理するための連絡先管理システムを提供する方法を実装するコンピュータ実行可能命令を格納する１つまたは複数のコンピュータ可読媒体を備えるコンピュータプログラム製品であって、前記方法が、
少なくとも２つの異種アプリケーションが別々の方法で利用できる連絡先情報を有する１つまたは複数の連絡先を作成するステップと、
前記コンピューティングシステムからアクセスできる連絡先ストレージに前記連絡先を格納するステップと、
前記連絡先ストレージ内の前記連絡先の少なくとも１つの連絡先情報を変更するステップと、
前記連絡先情報を変更したときに、前記連絡先ストレージ内の前記変更された連絡先情報に前記少なくとも１つの異種アプリケーションの少なくとも１つのアプリケーション連絡先ディレクトリ内の対応する連絡先情報を自動的に更新し、前記少なくとも１つのアプリケーションが前記連絡先ストレージから前記更新された連絡先情報を要求する必要なく前記更新された連絡先情報にアクセスできるようにするステップと
を備えることを特徴とするコンピュータプログラム製品。
【請求項３８】
前記連絡先情報を変更するステップは、前記連絡先情報の内容を変更するステップを含むことを特徴とする請求項３７に記載のコンピュータプログラム製品。
【請求項３９】
前記連絡先情報を変更するステップは、前記コンピューティングシステムでホスティングされるローカルアプリケーションによって実行されることを特徴とする請求項３７に記載のコンピュータプログラム製品。
【請求項４０】
別々の方法で連絡先情報を利用するように設定された少なくとも２つの異種アプリケーションと通信するコンピューティングシステムにおいて、前記少なくとも２つの異種アプリケーションで使用する連絡先とそれに対応する連絡先情報を管理するための連絡先管理システムを提供する方法であって、
前記少なくとも２つの異種アプリケーションが別々の方法で利用できる連絡先情報を有する１つまたは複数の連絡先を作成して前記連絡先情報の異なる部分と前記連絡先情報の同じ部分の少なくとも一方を前記少なくとも２つの異種アプリケーションが別々の方法で利用できるようにするステップと、
前記コンピューティングシステムからアクセスできる連絡先ストレージに前記連絡先を格納するステップと、
前記異種アプリケーションの少なくとも１つから連絡先および対応する連絡先情報へのアクセス要求を受け取ったときに、前記異種アプリケーションの前記少なくとも１つが１つまたは複数のインターフェースを介して前記連絡先および対応する連絡先情報にアクセスできるようにするステップと、
前記異種アプリケーションの前記少なくとも１つが前記連絡先を利用できるようにするステップと
を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連絡先情報（ｃｏｎｔａｃｔ  ｉｎｆｏｒｍａｔｉｏｎ）を保存する方法および１つまたは複数のアプリケーションで連絡先情報を使用できるようにする方法を制御するための連絡先管理システムに関する。
【背景技術】
【０００２】
本出願において、連絡先管理システムとは、一般に、ここで連絡先と呼ぶ個人、グループ、組織、企業、家庭、その他の識別可能なエンティティが含まれるシステム、ディレクトリ、またはデータベースのことである。
【０００３】
コンピュータ業界で開発を続けてきた連絡先と通信するための新しい効率的な手段が現実になりつつある。例えば、パーソナルコンピュータを使用して電子メール、ファクシミリ、インスタントメッセージ（ＩＭ：ｉｎｓｔａｎｔ  ｍｅｓｓａｇｅ）、テレフォニー、テレビ会議（ＶＴＣ：ｖｉｄｅｏ  ｔｅｌｅｃｏｎｆｅｒｅｎｃｅ）などで通信するのは、現在では当たり前である。コンピュータ化されたデバイスを使用したこの有効な通信の開発により、アプリケーションにおいて連絡先間の通信と確認を可能にするために必要な連絡先情報の保存の必要性が高まっている。
【０００４】
ここで言う連絡先情報とは、一般的に、連絡先に対する連絡、アクセス、対応、通信に関連すると見なすことができる情報である。連絡先情報には、例えば連絡先の名前、エイリアス、電話番号、電子メールアドレス、ＩＭアドレス、自宅の住所、Ｗｅｂアドレスを含めることができる。連絡先情報は、連絡先のリアルタイムのステータス、場所、配置など、他のタイプの情報を表すこともできる。例えば、連絡先が現在はネットワークまたは電話回線に接続されていることを表す情報を、連絡先情報として広く解釈してもよい。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
種々雑多な連絡先情報があるので、通信対象となるこうした様々な連絡先に関連する連絡先情報をすべて覚えているのは困難である。連絡先情報を記憶することは、様々なアプリケーションが様々な連絡先情報を、場合によっては様々なフォーマットで要求するという事実によってさらに困難になる。
【０００６】
したがって、こうした情報をユーザがメモリにコミットする必要がないように、多くのアプリケーションがこの情報を保存するように設定されている。例えば、電子メールアプリケーションでは、通常はディレクトリを使用して電子メールの送信先となり得る連絡先の電子メールアドレスを保存するように設定されている。同様に、テレフォニーアプリケーションでは、通常はディレクトリを利用してテレフォニーの呼び出し先となり得る連絡先の電話番号を保存する。他にも、時間管理アプリケーション、インスタントメッセージングアプリケーション、ネットワークゲームアプリケーション、ビジネスディレクトリアプリケーション、ＶＴＣアプリケーションなど、連絡先情報を保存するアプリケーションの例は限りない。
【０００７】
特定のアプリケーションで、例えば、通信の開始やフォームの完成に使用する連絡先情報をユーザが取得するために、ユーザはそのアプリケーションに関連付けられた専用の連絡先情報ディレクトリに問い合わせることができる。ただし、アプリケーションに関連付けられたディレクトリにアクセスするこのステップは、ユーザの総所要時間が延長されるので望ましくない。連絡先情報が既知の場合でも、既知の連絡先情報を手動で入力するために時間がかかるのはやはり望ましくない。
【０００８】
さらに、専用のアプリケーションディレクトリには、通常の設計では保存される情報量が制限されるという別の問題もある。例えば、一部の連絡先情報ディレクトリは関連のアプリケーションで必要とする情報のみを保存するように設定されている（例えば、テレフォニーアプリケーションに関連付けられたディレクトリは電話番号のみを保存できるように設定されており、電子メールアドレスは保存できない）。このように、ユーザが特定のアプリケーションから入手できる連絡先情報量は多少限定される場合がある。
【０００９】
連絡先ディレクトリの使用は、従来のコンピュータとは見なされないデバイスにも拡張されている。例えば、多くの電話、ファクシミリ、コピー機も、電話の呼び出し、ファクシミリ送信、あるいはテレコピー送信を開始するというように、必要な機能を実行するために使用できる連絡先情報を保存する連絡先ディレクトリを備えている。
【００１０】
既存の連絡先管理システムが提供する利点にもかかわらず、様々なアプリケーションとデバイスに関連付けられた非常に様々な専用で個別の連絡先管理ディレクトリが存在するために、ユーザは特定の連絡先に対応する使用可能なすべての連絡先情報になかなか迅速にアクセスできない。一部の個別の連絡先管理ディレクトリに異なる連絡先情報が含まれることを考慮する場合は、特にこのことが言える。
【００１１】
このことが問題になる１つの理由は、ユーザが必要な連絡先情報を得るためには様々な連絡先管理システムの様々なディレクトリに個別にアクセスする必要があるので、連絡先との通信手段を特定するのが難しいことである。例えば、連絡先の自宅や携帯電話の番号を調べるには電話のディレクトリに、連絡先の基本の電子メールアドレスを調べるには電子メールのディレクトリに、エンティティの企業の電話番号や企業の電子メールアドレスを調べるには企業ディレクトリに、以下同様にそれぞれアクセスする必要がある。
【００１２】
個別の連絡先ディレクトリを配置すると、異なる連絡先に関する異なる連絡先情報を取得する場合にも問題がある。例えば、第１の連絡先の電子メールアドレス、第２の連絡先の電話番号、および第３の連絡先の携帯電話の番号を表示したいとする。異なる各エンティティの必要な連絡先データが異なるアプリケーションの異なる連絡先管理システムに配置されている場合、必要な情報を得るために各アプリケーションにアクセスしなければならず、そのため時間とリソースの好ましくない消費が必要になる。
【００１３】
特定の連絡先または連絡先情報の検索または問い合わせも、様々な連絡先ディレクトリのそれぞれについて個別に実行する必要がある。該当する連絡先情報がどの連絡先ディレクトリに保存されているかをユーザが忘れている場合は、このことが特に問題になることは言うまでもない。
【００１４】
こうした問題の一部を克服するために、一部の連絡先管理システムは対応するアプリケーションで使用する必要のない余分な連絡先情報を保存するように設定されている。例えば、ある電子メールディレクトリは、様々な連絡先の住所、電話番号、およびその他の情報を保存するように設定されているが、こうした情報がなくても電子メール通信を実行できる。
【００１５】
ただし、様々なディレクトリと対応する記憶容量はアプリケーションごとに変わる可能性があるので、様々なディレクトリごとにどの連絡先情報が重複するかをユーザが調べるのはますます困難になる。さらに、様々な連絡先ディレクトリに連絡先情報の一部を余分に保存できても、こうした余分のストレージはコンピューティングリソースの浪費であり、望ましくない。
【００１６】
既存の連絡先ディレクトリに連絡先情報を余分に保存することのもう１つの問題は、変更された連絡先情報を保存する様々な連絡先ディレクトリのすべてに連絡先情報の変更を反映するのが困難なことである。特に、ディレクトリごとに連絡先情報が個別に保存されている場合は、連絡先情報の変更をディレクトリごとに入力する必要がある。そうしないと、使用可能な連絡先情報は一貫性と正当性が損なわれる可能性がある。
【００１７】
既存の連絡先管理システムのもう１つの問題は、非常に特化されているために連絡先情報の広範囲にわたる高度な検索および閲覧が実行できないことである。特に、ほとんどの連絡先管理システムは保存されたデータを２次元の行列またはリストに表示するにすぎない。既存の連絡先管理システムのもう１つ問題は、ユーザが連絡先間の関係の表示、作成、編集を実行できないことである。より詳細には、既存のシステムではユーザが連絡先間に存在する関係の表示、作成、編集を実行できない。
【００１８】
したがって、現在は連絡先管理システムと連絡先情報にアクセスするためのインターフェースを改良する必要がある。
【課題を解決するための手段】
【００１９】
本発明は、連絡先と対応する連絡先情報を管理する改良された方法、システムおよび対応するコンピュータプログラム製品を対象とする。より詳細には、本発明は連絡先情報を保存する方法および１つまたは複数のアプリケーションで連絡先情報を使用できるようにする方法を制御するための改良された連絡先管理システムを対象とする。
【００２０】
本発明の１つの態様により、様々なアプリケーションで使用する連絡先の１つの概念が作成される。対応する連絡先のオブジェクトとコントロールは、任意のアプリケーションに組み込むことができ、ファイルの参照や表示とほとんど同様の方法で対応する連絡先を表示できる。
【００２１】
また、連絡先と対応する連絡先情報は、複数のアプリケーションから１つの連絡先ストレージに対してアクセスでき、利用できるような方法で作成され、保存される。１つの実施形態では、アプリケーションは連絡先情報の別々の部分を利用するか、あるいは同じ連絡先情報を異なる方法で利用する異種アプリケーション（ｈｅｔｅｒｏｇｅｎｅｏｕｓ  ａｐｐｌｉｃａｔｉｏｎｓ）であってもよい。ただし、別の実施形態ではアプリケーションが同じ連絡先情報を同じように利用してもよい。
【００２２】
連絡先ストレージには、各連絡先の詳細な定義が保存され、各アプリケーションは連絡先ストレージからアプリケーションで必要とする適切な連絡先情報を適切なフォーマットで取得できる。
【００２３】
また、連絡先情報のストレージを一元化することで、アプリケーションで行った変更を他の連絡先情報ディレクトリに伝搬でき、反映できる。したがって、一元化された連絡先ストレージから様々なアプリケーションのディレクトリの同期化を効率的に実行でき、しかも同期する連絡先情報はアプリケーションディレクトリごとにフォーマットや内容を変えることができる。
【００２４】
セキュリティ機能は、アーキテクチャと対応するインターフェースによって提供でき、連絡先ストレージに対する必要なレベルのセキュリティと保護が提供される。例えば、インターフェースはアプリケーションやユーザと対話して該当する認証された連絡先情報へのアクセスを制限できる。
【００２５】
様々なインターフェースを利用して、アプリケーションが保存された連絡先情報に、動的フィルタリング、問い合わせ、オートコンプリートテキストの各機能を使用してアクセスできるようにされる。また、連絡先情報を使用して通信を開始するためのインターフェースが提供され、アプリケーションで利用できる連絡先情報を制御できる。さらに他のインターフェースを使用して、様々なコンテキストで連絡先情報を表示することもできる。
【００２６】
本発明のその他の機能と利点については、一部をこの後の説明で示すが、一部は上の説明から明らかである。あるいは、本発明の実施形態によっても理解できる。本発明の機能と利点は、添付の特許請求の範囲に詳細に記載する手段と組合せによって実現され、達成される。本発明の前述の機能およびその他の機能は、以下の説明と添付の特許請求の範囲によってさらに明らかになる。あるいは、以下に示す本発明の実施形態によっても理解できる。
【発明を実施するための最良の形態】
【００２７】
本発明の前述の利点と機能、あるいはその他の利点と機能を実現する方法を説明するために、以上に簡単に説明した本発明のより詳細な説明を特定の実施形態に関連付けて記述し、添付の図面に示す。これらの図面が本発明の例示的な実施形態を示すにすぎないこと、したがって本発明の制限とは見なされないことを理解した上で、本発明について添付の図面を使用しながらより詳細に説明する。
【００２８】
本発明は、様々なアプリケーションで利用できる連絡先と連絡先情報を管理するための方法、システム、および対応するコンピュータプログラム製品およびインターフェースを対象とする。
【００２９】
以下で定義するように、「連絡先」という用語は一般に個人、グループ、組織、企業、その他の識別可能なエンティティを表す。連絡先という用語には、２つ以上のエンティティ間の対話、接続、あるいは関連の意味を含めてもよい。連絡先は一元化されたデータストレージに保存されるので、特定の連絡先に対応する連絡先情報を定義あるいは格納するフィールドを備える１つまたは複数のデータ構造を構築できる。
【００３０】
「連絡先情報」という用語は、ここで使用する限り、上で詳細に定義するように、一般に連絡先に対応する情報を含めることができる。この情報は、連絡先に対する特定、連絡、アクセス、対応、あるいは通信に関連すると見なすことができる。連絡先情報は、特定の個人に対応する任意の情報と定義することもできる。ここでは、連絡先情報という用語と連絡先という用語を同じ意味で使用する場合がある。連絡先という用語は、対応する連絡先情報を含むように広義に解釈できるためである。
【００３１】
「異種アプリケーション」という用語は、ここで使用する限り、同様の連絡先に対応する連絡先情報の異なる部分を利用するアプリケーション、および／または連絡先情報の同じ部分を異なる方法で利用するアプリケーションを表す。例えば、連絡先情報の異なる部分には、唯一の連絡先を定義するデータ構造の異なるフィールドに格納された異なるデータが含まれる。同様に、限定でなく例として以下に示すように、１つのアプリケーションでは連絡先情報を使用して入力ラインのオートコンプリートを実行し、別のアプリケーションでは同じ連絡先情報を使用して通信を開始する場合に、異種アプリケーションは連絡先情報の同様の部分を異なる方法で使用すると言える。ただし、本発明が実際に異種アプリケーションへの連絡先情報の提供に限定されないことは言うまでもない。むしろ、本発明の範囲は同様のアプリケーションで連絡先情報を同様にまたは同じ形で利用する実施形態にも拡張される。
【００３２】
ここに記載する様々な実施形態では、インターフェースを使用して連絡先間および対応する連絡先情報間の関連を制御し、連絡先および対応する連絡先情報にアクセスしている。このようなインターフェースは、コンピュータソフトウェアコンポーネントを介した作成、変更、使用が可能である。以下では、こうしたコンポーネントをコンピュータ実行可能命令またはコンピューティングモジュールと呼ぶことがある。
【００３３】
以下に記載するように、プログラミングインターフェース（または単にインターフェース）は、コードの１つまたは複数のセグメントを有効にして１つまたは複数の他のコードセグメントが提供する機能と通信したりこうした機能にアクセスしたりするための（例えば連絡先情報にアクセスするための）任意のメカニズム、プロセス、プロトコルと見なすことができる。あるいは、プログラミングインターフェースはシステムの１つのコンポーネントの１つまたは複数のメカニズム、メソッド、関数呼び出し、モジュール、オブジェクトなどであり、他のコンポーネント（１つまたは複数）の１つまたは複数のメカニズム、メソッド、関数呼び出し、モジュールなどに通信接続する機能を有するものと見なすこともできる。前の文で使用する「コードセグメント」という用語は、１つまたは複数の命令またはコードラインを含み、さらにコードモジュール、オブジェクト、サブルーチン、関数などを意味する。使用する用語（ｔｅｒｍｉｎｏｌｏｇｙ  ａｐｐｌｉｅｄ）、コードセグメントが個別にコンパイルされるかどうか、コードセグメントがソースコード、中間コード、オブジェクトコードのいずれで提供されるか、コードセグメントが実行時システムで使用されるかプロセスで使用されるか、コードセグメントが同一のマシン上にあるか異なるマシン上にあるか複数のマシンに分散するか、コードセグメントで表す機能が全体としてソフトウェアに実装されているかハードウェアとソフトウェアの組合せで実装されるかのいずれにもよらない。
【００３４】
したがって、本発明の実施形態には、ここに記載するインターフェースを有効にするための様々なコンピュータソフトウェアおよびハードウェアを含めて、専用のコンピューティングデバイスと汎用のコンピューティングデバイスを含めてもよい。本発明の範囲に含まれる実施形態には、コンピュータ実行可能命令またはデータ構造を格納して運搬したり所持したりするための、コンピュータ可読媒体を含めることもできる。こうしたコンピュータ可読媒体は、コンピュータ実行可能命令またはデータ構造を使用し、変更するためのインターフェースおよびコードを備えている。
【００３５】
コンピュータ可読媒体は、モバイル通信デバイスを含むがこれに限定はされない汎用コンピュータまたは専用コンピュータからアクセスできる任意の媒体でよいことは言うまでもない。限定でなく例として、こうしたコンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ  ＲＯＭなどの光ディスク記憶装置、磁気ディスク記憶装置などの磁気記憶装置、あるいは必要なプログラムコード手段を汎用コンピュータまたは専用コンピュータからアクセスできるコンピュータ実行可能命令の形またはデータ構造の形で格納でき、運搬できる他の任意の媒体が含まれるが、これらに限定はされない。コンピュータ実行可能命令は、例えば汎用コンピュータ、専用コンピュータ、または専用の処理デバイスが以下に記載する処置やステップのような特定の機能または機能グループを実行するための命令およびデータを備えている。
【００３６】
情報がネットワークまたは別の通信接続（有線、無線、有線と無線の組合せのいずれかを問わない）を介してコンピュータまたはモバイル通信デバイスに転送または提供されると、コンピュータ／デバイスはこうした接続をコンピュータ可読媒体として適切に認識する。したがって、こうした接続をコンピュータ可読媒体と呼ぶことができる。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるものとする。
【００３７】
連絡先管理  
ここに記載する様々な方法およびシステムによると、図１に示すように、連絡先および連絡先情報が一元化された連絡先ストレージ１００に格納される。一元化された連絡先ストレージ１００は唯一のコンピュータ可読媒体を備えているが、一部の実施形態では連絡先ストレージ１００が実際には複数のコンピュータ可読媒体を備えており、連絡先ストレージ１００が単に理論上、機能上一元化されていることは言うまでもない。
【００３８】
一元化された連絡先ストレージには、連絡先にアクセスする様々なアプリケーションで必要な対応する連絡先情報のすべてを含めて連絡先の詳細な定義が記載されるのが好ましい。ただし、一部の実施形態では、連絡先の定義が不完全であっても連絡先にアクセスする様々な異種アプリケーションで必要な情報を備えている。
【００３９】
図１に示すように、様々なアプリケーション１１０、１２０、１３０は連絡先ストレージ１００と通信する。こうした通信またはアクセスは、直接または間接的に実行できる。直接の通信では連絡先ストレージ全体への迅速で自由なアクセスが可能であり、インターフェース経由のように間接的な通信では、ここに記載する制御とセキュリティを実現できる。図示されたアプリケーション１１０、１２０、１３０は、連絡先ストレージ１００をホスティングするのと同じコンピューティングデバイスでホスティングできるが、１台または複数台のリモートコンピューティングデバイスでホスティングすることもできる。
【００４０】
ここに記載するように、アプリケーション１１０、１２０、１３０は連絡先情報の提供、取得、変更、それ以外の利用など、様々な理由で連絡先ストレージ１００にアクセスできる。アプリケーション１１０、１２０、１３０には、電子メールアプリケーション、電話およびテレフォニーアプリケーション、時間管理アプリケーション、インスタントメッセージングアプリケーション、ゲームアプリケーション、ビジネスディレクトリアプリケーション、ＶＴＣアプリケーション、ＲＴＣアプリケーション、インスタントメッセージングアプリケーション、ファクシミリアプリケーションなどを含むがこれらに限定はされない任意のタイプのアプリケーションを含めることができる。
【００４１】
図示するような一部の環境では、各アプリケーション１１０、１２０、１３０はそれぞれの連絡先情報を格納する対応するディレクトリ１１２、１２２、１３０にアクセスできる。別の実施形態では、以下に記述するように、アプリケーション１１０、１２０、１３０は常に連絡先ストレージ内の連絡先情報全体を利用できる。
【００４２】
アプリケーション１１０、１２０、１３０はそれぞれ個別の連絡先ディレクトリ１１２、１２２、１３２にアクセスできるので、連絡先ストレージは様々な連絡先ディレクトリ１１２、１２２、１３２に格納された様々な連絡先情報を複合連絡先情報１４０に取り込んで統合するように設定されている。例えば、ディレクトリ１１２には連絡先の電話番号が保存され、ディレクトリ１２２には連絡先の電子メールアドレスが保存され、さらにディレクトリ１３２にはディレクトリ１１２に保存されたのと同じ連絡先の電話番号の一部が別のフォーマット（例えば市外局番が先頭）で保存されてもよい。このような例では、連絡先ストレージ１００に格納された連絡先に対応する複合連絡先情報１４０には、様々なディレクトリ１１２、１２２、１３２に格納されたすべての連絡先情報を保存できる。
【００４３】
一部の実施形態では、様々な異種ディレクトリの情報が一貫せずまたは矛盾がある。こうした環境では、連絡先ストレージはすべての情報を１つのレコードに統合するか、ユーザにインターフェースを提供して不一致を通知し、古い情報が無視され、複合連絡先情報１４０に含まれないようにする。このことについては以下に詳説する。
【００４４】
図１は、連絡先ストレージ１００が連絡先情報の別のコピー１６０を含むリモートストレージと通信する上での配置も示している。下記のように、この実施形態は、例えばＰＤＡとデスクトップ、ネットワークノード（パーソナルコンピュータなど）とネットワークハブ（サーバなど）のように、別々のコンピューティングデバイス間の同期化を可能にするのに便利である。
【００４５】
前述の例と説明は、一元化された連絡先ストレージ１００がローカルおよびリモートのアプリケーションおよびシステムからアクセスできる特定の構成および実施形態を示している。
【００４６】
さらに図２は、一元化された連絡先の概念を利用して、様々なシェルアプリケーションやサードパーティーアプリケーションを含む様々な連絡先管理アプリケーションの機能およびユーティリティを有効にする方法を示している。例えば、連絡先２００は、図３に示す適切なインターフェースとＡＰＩレイヤを介して、同期化２１０、リモートサードパーティーアプリケーション２２０（例えばインターネットアプリケーション）、ＲＴＣ（Ｒｉｃｈ  Ｔｅｘｔ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）２３０、ファイル共有２４０（例えば写真、文書、ビデオなど）、電子メール２５０、通知／情報エージェント２６０で使用できるようになる。本図面は、ここに記載するように、一元化された連絡先情報を利用できるアプリケーションの範囲を限定するものでなく、連絡先の一元化の理論を使用して様々なアプリケーションやシステム機能を相互接続する方法を主張するための説明として示しているにすぎない。
【００４７】
ここで、図３は、連絡先情報が連絡先ストレージに蓄積され、一元化されるシステムの構造の概要を示している。図示するように、クライアントシステム３００には様々なレイヤが含まれている。ここで、各レイヤについて説明する。図示されたホストレイヤは、コントロールレイヤ３２２に示す連絡先コントロールをホスティングすることが期待されるアプリケーションを含むアプリケーションレイヤと考えられる。
【００４８】
ホストレイヤ３１０のアプリケーション３１２には、任意のアプリケーション、すなわちサーバベースのＷｅｂサイトおよびサービスなど、クライアントベースのオペレーティングシステムアプリケーション、サードパーティーアプリケーションが含まれる。本実施例では、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．が提供するＭｅｓｓｅｎｇｅｒ  ３１３、Ｏｕｔｌｏｏｋ  ３１４、およびサードパーティーアプリケーション３１５など、多くの可能なアプリケーションの一部のみを示している。
【００４９】
ホストレイヤにはシェルの特定のユーザインターフェースも含まれており、シェルＵＩ  ３１６として示されている。ここでは、このインターフェースを連絡先ストレージ内の連絡先へのアクセスを制御し、可能にする手段として説明することもある。以下で説明するインターフェースの一部は、連絡先ライブラリインターフェース３１８、ｄｅｔａｉｌｓ  ｐａｇｅ  ３１９、およびｐｅｏｐｌｅ  ｂａｒ  ｐａｒｔ  ３２０などのシェルユーザインターフェースを備えている。
【００５０】
以下に記述するその他のインターフェースは、本図面ではコントロール／シェル拡張レイヤ３２２に配置されるコントロール（３２４、３２５、３２６、３２７、３２８）として示されている。特に、シェルパブリックコントロール３２３には大きくホスティング可能または呼び出し可能として分類される付加的なインターフェースが含まれる。ホスティング可能コントロールは、開発者がアプリケーションに直接組み込むことができる。ホスト可能コントロールの例には、パルソナコントロール３２４、連絡先コントロール３２６、連絡先カード３２８があり、それぞれについて以下で詳説する。
【００５１】
呼び出し可能コントロールは、自立型のユーザインターフェースであり、アプリケーションから呼び出すことはできるが、アプリケーションのドメインネームスペース内で直接ホスティングすることはできない。このネームスペースの分離によって、呼び出し可能コントロールはアプリケーションを有効にしてユーザの認識や承諾なしに連絡先ストレージを操作せずに連絡先ストレージに直接アクセスできる。呼び出し可能コントロールの例には、連絡先ピッカー３２５や情報ピッカー３２７があり、それぞれについては以下で詳説する。
【００５２】
次に、ＡＰＩレイヤ３３２には、様々なアプリケーションやインターフェースとの間で連絡先情報の呼び出しを作成したり呼び出しに応答したりするためのアプリケーションプログラミングインターフェース（ＡＰＩ：ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅｓ）が含まれる。ＡＰＩの例としては、シェル通知ＡＰＩ  ３３４、プリンシパルＡＰＩ  ３３５、ＩＤサービスＡＰＩ  ３３６がある。
【００５３】
シェル通知ＡＰＩ  ３３４は、連絡先情報と関連などのアクションがローカルストレージまたはリモートストレージ上で変更された場合や、同期が完了／失敗した場合などに、ユーザにいつどのように通知するかに関する規則を監視し、実施する。
【００５４】
プリンシパルＡＰＩ  ３３５は、連絡先スキーマの動作を提供し、識別子（例えば、電子メールアドレス、パスポート番号、セキュリティＩＤなど）を連絡先に関連付ける。プリンシパルＡＰＩ  ３３５は、連絡先をその識別子に基づいて関連付けることもできる。
【００５５】
ＩＤサービスＡＰＩ  ３３６は、追加される連絡先の表現を保存された連絡先にマップできるかどうかを判断するための基盤となる構造をサポートし、連絡先の識別をサポートする。
【００５６】
次に図示されたレイヤは、ストレージレイヤ３４０であり、本出願およびここに指定する関連出願に記載するように、連絡先のプロファイル、スキーマデータ、個人の特徴付け、連絡先の定義、およびその他連絡先情報を格納する連絡先ストレージ３４２を含む。
【００５７】
次に、プロバイダレイヤ３４４は、管理された安全な方法によるリモートストレージでの連絡先ストレージ３４２の問い合わせをサポートするように設定できる。
【００５８】
同期／ローミングレイヤ３５０は、例えば、ここに記載するように、連絡先および対応する連絡先情報の同期とマッピングを可能にする様々な同期アダプタ３５４、３５６、３５８およびマッピングアダプタ３６０、３６２、３６４を介してリモートサーバ３５４でメンテナンスするローミングストレージ上の連絡先にアクセスできるようにする。
【００５９】
様々な同期アダプタとマッピングアダプタは様々なローミングストレージ３７０、３７２、３７４に対応する。リモートストレージへのアクセスは、例えばＰＤＡ  ３５８や携帯電話３６０などのポータブルデバイス３５６を使用する場合に発生するような有線ネットワーク接続または無線ネットワーク接続を介して実行される。
【００６０】
ローミングストレージ３７０、３７２、３７４の１つの利点は、ユーザがデスクトップコンピュータ（例えばクライアント３００）を離れてもローミングストレージにアクセスできることである。例えば、携帯電話３８４またはＰＤＡ  ３８２には限定された連絡先情報のリストが格納されており、ユーザが移動中に連絡先および連絡先情報の詳細なリストが必要になる場合がある。ここに記載するリモートストレージと同期化の機能を使用すると、ユーザは移動中に例えば無線接続またはリモートハブを介してローミングサーバに接続し、ユーザのポータブルデバイス３８０上にない更新された適切な情報を取得することができる。
【００６１】
ローミング連絡先ストレージ３５２には、ユーザが単独で所有し、制御するストレージ３６２、ユーザが所有するストレージによって制御されるストレージ３６４、ストレージが所有し、ユーザと共有するストレージ３６６を含めて、ローミング中に利用できる基本的な３つのタイプがある。
【００６２】
ユーザ所有／ユーザ管理のストレージ３７０には、ストレージ３７０に割り当てた記憶容量に到達するまで任意のタイプの連絡先および連絡先情報をユーザが希望する数だけユーザが配置できる。ユーザが所有し、ユーザが管理するストレージ３７０の例には、ＭＳＮアドレス帳やＥｘｃｈａｎｇｅファイルがある。
【００６３】
ユーザ所有／ストレージ制御のストレージ３７２では、格納できる連絡先のタイプに制限がある。ユーザ所有／ストレージ制御のストレージ３７２の例には、Ｍｅｓｓｅｎｇｅｒ  Ｂｕｄｄｙ  Ｌｉｓｔがあり、連絡先にはＩＭアドレスまたは認証証明書が必要である。もう１つの例は共有ポイントＳｈａｒｅ  Ｐｏｉｎｔであり、連絡先はサーバと同じネットワークドメイン内に存在する必要がある。
【００６４】
ストレージ所有／ユーザ共有のストレージ３７４では、ユーザはユーザ自身の情報を除いてストレージに格納された連絡先情報を変更できない。こうしたストレージ３７４では、ユーザは格納されたエントリへの読み出しのアクセスを許可されるが、エントリの追加、削除、変更はできない。ストレージ所有／ユーザ共有のストレージ３７４の例には、ＭＳＮホワイトページやメンバーディレクトリ、および企業のアクティブディレクトリのようなインターネットディレクトリ（Ｉｎｔｅｒｎｅｔ  Ｄｉｒｅｃｔｏｒｉｅｓ）がある。
【００６５】
以上の説明は、本発明の方法およびシステムを実施できる１つの適切な環境を例示するためのものである。ここで図４に注目すると、本発明の実施形態を実現するための特定の処置および方法が示されている。
【００６６】
図４は、本発明の特定の実施形態に従って連絡先と対応する連絡先情報を管理する１つの方法を示す流れ図である。図示するように、本方法には以下に説明する様々な処置が含まれる。
【００６７】
最初に示されている処置は、１つまたは複数の連絡先を作成することである（処置４１０）。この処置には、様々なプロセスやその他の処置が含まれる。連絡先の作成は連絡先ストレージをホスティングするクライアントシステムでローカルに実行できるが、リモートシステムでも実行できる。同様に、ローカルアプリケーションとリモートアプリケーションを使用できる。
【００６８】
連絡先の作成には、連絡先に関連する連絡先情報をコンパイルする処置と、これをデータ構造として編成する処置を含めてもよい。コンパイル可能な連絡先情報の例を上に示したが、これらには電話番号、名前、エイリアス、住所、タイトルなどを含めてもよい。連絡先情報には、連絡先に対応する状態や性質の情報を含めることもできる。連絡先が個人でなくてもよいことは言うまでもない。むしろ、連絡先は個人、グループ、組織、企業、その他の識別可能なエンティティのいずれでもよい。
【００６９】
連絡先の作成には、２つ以上の連絡先間の対話、接続、あるいは関連を定義または意味する連絡先情報をコンパイルするステップを含めてもよい。
【００７０】
本発明の実施形態によると、作成される個々の連絡先は、異種アプリケーションでアクセスでき、利用できるような方法で、言い換えれば、様々なアプリケーションが様々な方法で連絡先を利用できるような方法で、あるいは対応する連絡先情報の様々な部分をアプリケーションで利用できるような方法で作成される。
【００７１】
１つの実施形態によれば、連絡先を作成するステップには、どの連絡先情報を公開するか、あるいはアプリケーションでどの連絡先情報を利用できるようにするかをユーザが選択的に管理できる。このことについては、情報ピッカーインターフェースに関連して以下で詳説する。
【００７２】
連絡先の作成は、図１〜３の説明に関連して示したように、２つ以上の別々の連絡先ディレクトリまたはロケーションに配置された連絡先情報のマージまたは同期化によって動的に行われる可能性もある。
【００７３】
マージは、１つの特定の連絡先に対応する２つ以上の定義を複合定義として組み合わせる場合に実行される。同期化は、連絡先の１つの定義が連絡先の別の定義に対応するように変更される場合に実行される。同期化は、例えば連絡先ストレージとリモートストレージまたはアプリケーションディレクトリとの間のように別々の記憶媒体の間で発生する場合が多いが、それに限定はされない。
【００７４】
本発明の１つの実施形態によると、連絡先情報の一貫性の欠如または期限切れが検出されたときに自動的に同期化が行われる。こうした判断は、プッシュタイプのシステムではアプリケーションおよび更新された情報のリモートストレージに通知することでアクティブに実行される。一方、受動的なプルタイプのシステムでは、クライアントシステムがアプリケーションまたはリモートストレージが更新された情報を要求するのを待機する。
【００７５】
連絡先の作成には、他にもリモートストレージまたはアプリケーションディレクトリから連絡先情報をダウンロードする方法がある。連絡先情報がすでに存在している場合でも、新しく、したがってクライアントシステム用に作成される。
【００７６】
いったん連絡先が作成されると、連絡先は図３に示す連絡先ストレージ３４２および／またはリモートストレージ３５２などの適切な場所に格納され（処置４２０）、１つまたは複数のアプリケーションからアクセスできる（処置４３０）。
【００７７】
連絡先を記憶する間に、連絡先に対応する連絡先情報は連絡先間の関係および関連を含めてインデックスが作成され、マップされる。これは、以下に示す実施形態で説明するように、連絡先ストレージの高度なフィルタリングや問い合わせを可能にするために有効である。
【００７８】
アプリケーションは、１つの実施形態によると、連絡先情報に関する望ましいレベルのセキュリティとプライバシーを保証する適切なインターフェースとＡＰＩを介して、連絡先と対応する連絡先情報にアクセスできる（処置４３０）。例えば、前述のように、例えば連絡先ピッカーダイアログや情報ピッカーダイアログのような特定のインターフェースがその独自のネームスペースから動作し、音声を伴わないキーストロークを使用してユーザの明確な同意なしに連絡先情報にアクセスされないようにする。
【００７９】
また、こうしたインターフェースとコントロールは、適切なＡＣＬがあるかどうか、信頼できるソースから発生したかどうか、明示的または黙示的に認証されているかどうかなど、特定の要件を満足するかどうかのみに基づいてアプリケーションに条件付きで連絡先情報へのアクセスを許可する。
【００８０】
実質的にインターフェースのタイプとインターフェースを介してアクセスできる連絡先情報のタイプは無限に存在するので、本出願でそのすべてを列挙するつもりはない。代わりに、限定されないインターフェースの様々な例を以下に挙げる。これらは、アクセス可能な連絡先と対応する連絡先情報にアクセスする方法のほんの一部の例である。したがって、以下の説明と例は単に説明のために示されており、本発明の範囲を限定するものと理解してはならないことは言うまでもない。
【００８１】
アプリケーションに連絡先へのアクセスを許可する上で、本発明の方法にはアプリケーションが連絡先と対応する連絡先情報を利用できるようにするステップがさらに含まれる（処置４４０）。アプリケーションが連絡先と連絡先情報を利用できるようにするステップには、他の処置の任意の組合せを含めてもよい。例えば、アプリケーションから新しい連絡先情報を使用して連絡先または連絡先情報を更新できるようにするステップ（処置４５０）を用いることができる。同様に、連絡先および連絡先情報を送信（処置４６０）または変更するステップ（処置４７０）も連絡先を利用するように理解される。
【００８２】
連絡先情報を利用するステップには、電子メール通信、テレフォニー通信、ＲＴＣ通信、あるいはその他の通信などの通信を開始するステップ（処置４８０）などを含めてもよい。通信の開始は、例えばアプリケーションで連絡先から適切な連絡先情報を特定して抽出し、それを通信の開始専用に設定された実行可能コードに適用することによって可能になる。
【００８３】
他の実施形態では、アプリケーションで連絡先情報を表示することで連絡先情報を利用できる。例えば、以下のインターフェースの実施形態の多くは、連絡先情報を様々なコンテキストとフォーマットで表示して情報を提供する使いやすいビューアである。こうした実施形態は、連絡先情報を表示する無数の方法のほんの一部のみを示している。
【００８４】
他の実施形態では、アプリケーションがまず適切な連絡先情報を識別してから連絡先情報を表示する。例えば、一部の実施形態では、アプリケーションでユーザの要求に応じて連絡先ストレージの問い合わせ、ピボット、またはフィルタによって取得した連絡先情報を表示できる。連絡先情報は、以下に記述するように、要求される前に先行方式で表示することもできる。
【００８５】
認証されたアプリケーションが連絡先情報を使用する非常に様々な方法があることと、以下の例に詳説する方法が含まれるがこれらに限定されないことは言うまでもない。したがって、連絡先情報利用の範囲はアプリケーションがいったん連絡先情報にアクセスしてから連絡先情報に関して実行する任意のタスクを含むように広く解釈する必要がある。
【００８６】
ここで、いくつかの専用のインターフェースとコントロールおよび対応するメソッドの使い方を示し、特許請求の範囲と図４に示すメソッドをさらに明確にする。
【００８７】
連絡先ライブラリインターフェース  
図５に、本発明の特定の処置を実行する際に利用するユーザインターフェース５００の１つの実施形態を示す。図示されるように、インターフェース５００は、プライマリ表示フレーム５１０、セカンダリ表示フレーム５２０、ディレクトリリンク５３２ａ、５３２ｂ、５３２ｃのリスト５３０、入力フィールド５４２を伴う検索ペイン５４０、フィルタ５５２ａ、５５２ｂ、５５２ｃのリスト５５０、およびプライマリ表示フレーム５１０に連絡先情報を表示するように選択できるプルダウンメニューボタン５６０を含む複数のビジュアルコンポーネントを備えている。
【００８８】
ディレクトリリンクのリスト５３０では、連絡先情報を取得できる連絡先情報ディレクトリの任意の番号を特定できる。連絡先情報ディレクトリは、電子メールアプリケーションディレクトリなどのアプリケーションに固有のディレクトリでも、企業情報ディレクトリのようなネットワークディレクトリでもよい。あるいは、連絡先ストレージ３４２と同期するディレクトリが好ましい。このディレクトリは、連絡先ストレージの様々な物理パーティションを備えていてもよい。リスト内のディレクトリの１つを選択すると、選択されたディレクトリからインターフェース５００が連絡先情報を取得し、プライマリ表示フレーム５１０に表示する。
【００８９】
本実施形態において、インターフェース５００は連絡先の名前、電子メールアドレス、電話番号、イメージを含む、選択されたディレクトリ内の連絡先情報を表示する。ただし、様々なニーズや好みに応じて、任意の量の識別可能な連絡先情報を表示できることは言うまでもない。したがって、インターフェースには提供される連絡先情報の量を設定するメニュー（図示せず）を含めてもよい。同様に、限られた数の連絡先が表示される場合も、必要に応じて適切にサイズを変更すればインターフェース５００は任意の数の連絡先を表示できることは言うまでもない。選択されたディレクトリに、フレーム５１０に表示されるより多くの連絡先が含まれる場合は、スクロールまたは拡張して追加の連絡先を表示する従来のツールが表示され、インターフェース５００で利用できる。
【００９０】
マウスポインタやその他の手段を使って連絡先を選択すると、選択した連絡先に対応する連絡先情報をセカンダリフレーム５２０に表示できる。１つの実施形態では、セカンダリフレーム５２０に表示される連絡先情報はプライマリフレーム５１０に表示される連絡先情報と同じであり、拡大したり並べ替えたりしているにすぎない。別の実施形態では、セカンダリフレーム５２０に表示される連絡先情報にはプライマリフレーム５１０に表示される連絡先に関する追加の情報が表示される。セカンダリフレーム５２０には、その連絡先に関して実行できるタスク（連絡先へのＩＭ送信、連絡先への電子メール送信など）も表示できる。
【００９１】
セカンダリフレーム５１０には、リスト５３０に表示されるディレクトリリンクに関する連絡先情報を表示することもできる。例として、セカンダリフレーム５１０には、例えば企業の連絡先情報ディレクトリに対応し、連絡先ストレージに同期する企業の連絡先情報（名刺やイメージなど）を表示してもよい。
【００９２】
図示されるように、インターフェース５００には複数の別々の連絡先情報ディレクトリの統合された連絡先情報に含まれるキーワードを検索する手段を含めてもよい。特に、検索ペイン５４０には、必要な連絡先情報の検索に使用する名前、住所、または属性に含まれるキーワードを入力する。例えば、「Ｊａｎｅ」と入力すると、１つまたは複数の連絡先情報ディレクトリに「Ｊａｎｅ」という名前に対応する連絡先情報が検索される。本実施形態に示すように、Ｍｙ  ＣｏｎｔａｃｔｓディレクトリおよびＸＹＺ  Ｃｏｒｐｏｒａｔｉｏｎディレクトリに格納されたＪａｎｅという様々な連絡先が表示される。ただし、この例は単に説明を目的とするものであることと、連絡先に関する他のキーワードまたは記号を指定しても実行できることは言うまでもない。例えば、電話番号を指定し、この電話番号に関連する１つまたは複数の連絡先を検索することで検索を実行できる。
【００９３】
図示されるように、本発明が複数のディレクトリを検索する実施形態と、個々に選択したディレクトリを検索する実施形態のいずれにも適用されることも言うまでもない。入力するキーワードには、グループまたは分類のタイプを表す属性のようなフィルタのキーワードを含めてもよい。例えば、キーワード「ｓａｌｅｓ  ｔｅａｍ  Ａ」は、販売チームＡに所属するすべての連絡先を特定する。連絡先に関連付けられた分類とグループのタイプは、クライアントシステムで利用する連絡先スキーマによって決定する。
【００９４】
また、フィルタは連絡先間の関係に基づくことができる。例えば、フィルタ付きの検索を実行すると、Ｃｏｎｔａｃｔ  Ａとして同じ家庭の全員を検索し、Ｃｏｎｔａｃｔ  Ｂとして同じ組織の従業員全員を検索することができる。フィルタはカスタマイズ可能であり、対応するディレクトリの検索専用に作成できる。例えば、企業用ディレクトリを検索する場合は、ジョブのタイトルにフィルタを適用してもよい。同様に、個人用連絡先ディレクトリを検索する場合はオンラインステータスにフィルタを適用してもよい。以下同様である。
【００９５】
インターフェース５００には、フィルタのリスト５５０を含めてもよい。このリストは検索ペイン５５０を伴っても伴わなくても利用でき、前述のように連絡先情報全体を分類でフィルタする。任意の数のフィルタを同時に使用できる。フィルタはリンクとして、チェックボックスアイテムとして、あるいは選択可能な他の任意のオブジェクトとして提供される。インターフェースに指定できるフィルタの数とタイプは、任意のニーズと好みに合わせて変更できる。
【００９６】
インターフェース５００は、例えば組織の構造や組織内の連絡先の配置を表す組織のビューなど、他のビューに連絡先を表示するようにも設定できる。イベントビューには、任意の数の連絡先間の関連と、該当する日付とイベント（例えば、生年月日、移動日など）を表示できる。ビューは、連絡先の場所または他の連絡先との距離を表示するように選択することもできる。さらに他のビューには、特定のアプリケーションや他のシステムによる連絡先のシステムの操作性および機能を表示することもできる。
【００９７】
連絡先ページインターフェース  
ここで図６を参照すると、連絡先に対応する連絡先情報を表示するためのインターフェースの別の実施形態が示されている。符号５１０に示すように、連絡先（Ｊａｎｅ  Ｄｏｅ）に関連付けられた電子メールアドレス、電話番号、住所を含むいくつかの一般的な連絡先情報は、連絡先ページインターフェース５００によって表示される。連絡先情報には、ユーザまたは別のエンティティによって連絡先情報に関連付けられたメモやキーワードも含まれる。
【００９８】
符号６２０に示すように、連絡先の名前、イメージ、オンラインステータス、電子メールアドレスと電話番号、生年月日、配偶者、雇用情報（会社、役職、上司、直属の部下、会社電話番号など）、予定の有無、子供などを含む一部の連絡先情報が凝縮された形で表示される。連絡先の存在ステータス（例えば、出社中、オンライン、在宅など）は、クライアントコンピューティングシステムによって決定できる。ステータスは、サーバまたはその他のリモートコンピュータによって送信された通知を含むがそれに限定されない他の適切な方法で決定してもよい。
【００９９】
符号６２０の要約された連絡先情報に表示される優先される電子メールと電話番号は、連絡先のステータスに直接関連してもよい。例えば、連絡先が出社中の場合は優先される電子メールと電話番号として会社の電子メールと会社の電話番号を表示してもよい。あるいは、優先される電子メールと電話番号を連絡先があらかじめ決定し、公開してもよい。優先される電子メールと電話番号は、ユーザインターフェースの編集モードを使用して指定することもできる。
【０１００】
１つの実施形態によると、連絡先情報には連絡先に関連付けられたすべての電子メールアドレスと電話番号（例えば、自宅、会社、携帯、ファックス、代表、別荘など）が表示され、どの電子メールアドレスと電話番号が優先されるかが示される。
【０１０１】
連絡先情報に伴って符号６２０に表示される連絡先のイメージは、ユーザが提供してもよい。他の任意のエンティティがこのイメージを提供することもできる。
【０１０２】
図６の符号６３０に示すように、連絡先情報には連絡先の誕生日、連絡先が受け取る通信の通知、他の任意の連絡先情報を追加してもよい。
【０１０３】
ユーザインターフェース６００に表示される連絡先情報は、前述のように１つまたは複数のローカルストレージおよび／あるいは１つまたは複数のリモートデータストレージに配置された１つまたは複数のディレクトリから取得できる。ただし、ディレクトリは前述のように同期化され、一貫性を維持するのが好ましい。
【０１０４】
１つの実施形態によると、連絡先ページインターフェースが１つまたは複数のＡＰＩと組み合わせて利用され、サードパーティーはこうしたインターフェースを介して連絡先に関する情報を追加でき、それを連絡先ページに表示できる。サードパーティーが１つまたは複数のＡＰＩを介して提供する連絡先情報は、フレーム６４０または連絡先ページの別の部分に表示できる。ただし、こうした追加の情報が表示される前に、連絡先ストレージに格納された連絡先情報と同期するのが好ましい。
【０１０５】
図６には、ユーザインターフェースを使用して従来の連絡先情報と見なされないその他の情報を表示する方法も示されている。例えば、ユーザインターフェース６００には連絡先中心のタスク（ｃｏｎｔａｃｔ−Ｃｅｎｔｒｉｃ  ｔａｓｋｓ）６５０を表示できる。この表示を使用して連絡先に関連する作業または通信を開始できる。このような連絡先中心のタスク６５０は、クライアントシステムとリモートコンピューティングシステムとの間で実行できるタスクであるのが好ましいが、必ずしもそうしたタスクに限定はされない。
【０１０６】
本発明の範囲が、表示できる連絡先中心のタスクの数にもタイプにも限定されないことは言うまでもない。例えば、連絡先中心のタスクには連絡先に関して実行できる処置またはタスク（例えば、グループへの連絡先の追加、連絡先に関連する連絡先情報の編集など）も含むことができる。１つの実施形態によると、サードパーティーは１つまたは複数のＡＰＩを介して連絡先ページに表示できるタスクをいつでも追加できる。こうしたＡＰＩは、前述のモジュールのコンピュータ実行可能命令の一部を備えていてもよいし、前述のモジュールとは別の個別のＡＰＩを備えていてもよい。
【０１０７】
ユーザインターフェース６００には、連絡先の編集、削除または新しい連絡先の追加のリンク６６０や、連絡先の通信履歴へのリンク６７０、さらに連絡先に関連付けられたファイルへのリンク６８０も表示できる。このようなリンク６７０、６８０には、ハイパーテキストリンク、ボタン、メニューオプション、あるいはユーザインターフェース６００で表示できる他の任意の適切なオブジェクトが含まれる。
【０１０８】
通信履歴のリンク６７０が選択されるか、適切な通信履歴を表示する別の要求が受信されると、連絡先から送信された通信の記録と連絡先に関する送信された通信の記録を含めて該当する通信履歴がユーザインターフェースに表示される。表示される通信のタイプには、電子メールメッセージ、インスタントメッセージングメッセージ、テレフォニー通信、プレゼンテーション、および他の任意のタイプの通信を含めることができる。表示される通信の履歴は、１つまたは複数の通信アプリケーション（例えば電子メール、インスタントメッセージングなど）に対応する１つまたは複数のデータストレージから、または連絡先ストレージから取得できる。
【０１０９】
連絡先カードインターフェース  
１つの実施形態によると、軽量の連絡先カードインターフェースは連絡先コントロール（例えばメニュー選択、アイコン等）から埋め込み可能な任意の場所に吹き出しまたバルーンとして表示される。特に、連絡先カードインターフェースは連絡先コントロールから吹き出しまたはバルーンとして表示されてユーザとの対話を可能にし、対話が完了すると消失する。この例では、連絡先カードインターフェースをサードパーティーアプリケーションまたはその他のホスティングアプリケーションで利用する方法も示している。このような使い方をしても、ホスティングアプリケーションの機能やユーティリティを妨げるといった好ましくない事態は発生しない。
【０１１０】
図７に、本発明に従って連絡先情報７１０を表示する連絡先カードユーザインターフェース７００を示す。この実施形態では、連絡先情報として、名前（Ｊａｎｅ  Ｄｏｅ）、電話番号、電子メールアドレス、オンライン状態ステータス（オンライン／オフライン）、および連絡先（Ｊａｎｅ  Ｄｏｅ）に関連付けられたイメージが表示される。この連絡先カード７００は、例えば、Ｊａｎｅ  Ｄｏｅに関連付けられた名前、イメージ、あるいはオブジェクトがメニュー、デスクトップインターフェース、あるいはその他のインターフェースから選択された場合に表示される。Ｊａｎｅ  Ｄｏｅの連絡先カード７００は、Ｊａｎｅ  Ｄｏｅからの電話、電子メール、ファックス、インスタントメッセージ、あるいはその他の通信を受信した場合に表示してもよい。
【０１１１】
連絡先ストレージには、様々な連絡先に関する非常に多くの連絡先カードを保存でき、個々の連絡先カードにはその連絡先に対応する独自の連絡先情報が格納される。
【０１１２】
この例では、連絡先カードインターフェース７００によって、連絡先の名前、電話番号、ネットワークステータス、電子メールアドレスが表示されている。ただし、本発明の範囲がこの例に限定されないことは言うまでもない。むしろ、連絡先カードインターフェースは必ずしも図示された連絡先情報の各要素７１０を表示する必要もないし、連絡先カードインターフェースが図示された連絡先情報の各要素７１０の表示のみに限定されるわけでもない。
【０１１３】
１つの実施形態によると、表示されている連絡先情報７１０は連絡先情報を分類するためのスキーマに少なくとも部分的に基づいている。特に、前述の連絡先スキーマによって、特定の主要な連絡先情報が表示され、他の連絡先情報が表示されないように優先順位を付けることができる。例えば、大量の連絡先情報を利用できる場合に、連絡先カードにアクセスするたびに必要なわけではない連絡先情報でユーザインターフェース７００が混乱するのを避けるためには、このことが好ましい。例えば、多くの電話番号が連絡先に関連付けられている場合は、よく使用する１つまたはいくつかの電話番号のみが表示されるように優先指定するのが好ましい。
【０１１４】
連絡先カードインターフェースが現在使用できない連絡先情報を表示するように設定されている場合は、連絡先カードインターフェースの本来連絡先情報が表示されるフィールドが空白となるか、対応する連絡先情報が現在使用できないことを示すテキストが表示される。例えば、ある電話番号が現在使用できない場合は、「Ｐｈｏｎｅ」の後を空白にするか、または「ｕｎａｖａｉｌａｂｌｅ」と表示する。同様に、連絡先に関連付けられたイメージ（写真など）が使用できない場合は、イメージ表示領域７６０は空白になるか、あるいは現在イメージを使用できないか連絡先にイメージが関連付けられていないことを示す一般的なイメージが表示される。
【０１１５】
連絡先カードインターフェースには、連絡先情報をインラインで編集するためのコントロール、オブジェクト、またはメニューを表示してもよい。例えば、使用可能な電話番号がない場合に、ユーザは「Ｐｈｏｎｅ」の横の空白または「ｕｎａｖａｉｌａｂｌｅ」または他の同様のテキストが表示されたフィールドに電話番号を入力することで、連絡先カードに電話番号を直接入力できる。連絡先情報が編集されると、連絡先情報への編集は連絡先ストレージにローカルに保存され、他のリモートストレージに伝えられる。したがって、ユーザが次にクライアントシステムまたはリモートシステムから連絡先カードにアクセスしたときに連絡先カードに編集内容が反映されている。
【０１１６】
別の実施形態では、連絡先情報を自動的に編集できる。例えば、特定の連絡先情報がローカルストレージから入手できず、「ｕｎａｖａｉｌａｂｌｅ」と表示される場合は、連絡先カードインターフェースがインターネットまたはその他のネットワーク接続などを介してリモートの記憶媒体内のリモートディレクトリに連絡先情報を問い合わせることができる。連絡先情報が見つかると、連絡先情報が取得され、連絡先カードと連絡先ストレージで自動的に更新される。前述の例に基づいて、連絡先カードインターフェースによる連絡先情報の表示は動的であり、前述のように手作業によるインライン編集によっても自動的にも動的に編集できることは言うまでもない。
【０１１７】
図のように、連絡先カードにはアプリケーションで連絡先情報に関して実行できる作業を表す連絡先中心のタスクを表示してもよい。こうしたタスクには、電子メールの操作、インスタントメッセージの操作、時間スケジュールの操作、ファイル転送の操作、テレフォニーの操作、オーディオ／ビジュアルの操作、ファクシミリの操作などがあるが、これらに限定はされない。
【０１１８】
使用可能な連絡先中心のタスクは連絡先カードで表示するように設定した数より多いので、連絡先カードインターフェースは連絡先中心のタスクを事前に指定した基準に基づいてフィルタしてもよい。例えば、連絡先に関する連絡先情報をコンピューティングシステムに提供するアプリケーションによって使用可能にされたタスクのみが表示されるように、連絡先中心のタスクにフィルタを適用してもよい。このことによって、コンピューティングシステムにインストールされたアプリケーションが好ましくない連絡先中心のタスクのリストが連絡先カードインターフェースに自動的に表示されないようにできる。
【０１１９】
連絡先中心のタスクは、グループとの関連に基づいてフィルタすることもできる。例えば、グループがインターネットを介して確立されたインスタントメッセージングネットワークを構築している場合は、連絡先カードは連絡先中心のタスクのリストにフィルタを適用し、連絡先がグループのメンバーでない場合にインスタントメッセージング機能を非表示にすることができる。
【０１２０】
連絡先中心のタスクは、事前に指定した期間内の使用頻度に基づいてフィルタすることもできる。例えば、ファクシミリの送信など、コンピューティングシステムのユーザが連絡先との接続または対話に特定の連絡先中心のタスクを一定期間利用しなかった場合に、この連絡先中心のタスクを連絡先中心のタスクのリスト表示から外すことができる。
【０１２１】
図７に示すように、連絡先中心のタスクは固定されたタスク７２０と使用頻度の高いタスク７３０の２つのセクションに表示される。
【０１２２】
１つの実施形態では、固定されたタスクのセクション７２０を使用頻度の高いタスクのセクション７３０から分離することで、ユーザが優先する連絡先中心のタスクを他のすべての連絡先中心のタスクから分離できる。本実施形態によると、固定されたタスクのセクション７２０には、固定されたタスクのセクション７２０にユーザが配置したタスクのみ、またはシステム設計者が割り当てたタスクのみが含まれる。ユーザのコンピューティングシステムに対する後のソフトウェアまたはハードウェアアップグレードによって特定され、有効化される連絡先中心のタスクは、前述のように事前に指定した基準を満たす場合に、後で使用頻度の高いタスクのセクション７３０に表示される。新しく使用可能になる連絡先中心のタスクは、使用頻度の高いタスクのセクション７３０の一番上、または連絡先カードインターフェース７００内の他の任意の部分に表示できる。
【０１２３】
１つの実施形態によると、使用頻度の高いタスク７３０に表示される連絡先中心のタスクは、使用頻度の降順に表示される。ただし、連絡先中心のタスクは使用頻度以外の事前に指定した任意の基準に従って任意の順序で表示できることは言うまでもない。
【０１２４】
表示されるタスクは、テキストリンクおよび／または高度なイメージリンクとして表示できる。高度なイメージリンクを表示することの１つの利点は、関連のタスクをユーザが一目で認識できることである。高度なイメージリンクは、ユーザがリンクを選択したくなるという観点からも有効である。表示されたタスクをユーザが選択すると、タスクが開始される。タスクは、ユーザ、ユーザがインストールしたアプリケーション、サードパーティーのいずれかによってリストに追加できる。任意の数のモジュールとＡＰＩを使用して、連絡先カードにタスクを追加できることは言うまでもない。
【０１２５】
特定の実施形態では、表示された連絡先中心のタスクは連絡先カードをホスティングするアプリケーションが所有する。例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ文書から連絡先カードを開く場合は、どのタスクを表示するかをＷｏｒｄ文書で制御でき、したがってアプリケーションに対応する適切な連絡先中心のタスク（例えば、この連絡先に関するこの文書の編集、この連絡先に関する会議のスケジュールなど）を表示できる。
【０１２６】
図７にさらに示すように、連絡先カードユーザインターフェース７００は連絡先中心のタスクを表示するための豊富なマークアップフォーマットをサポートする。特に、音楽を聞く連絡先中心のタスク７７０は豊富なマークアップフォーマットで表示される。連絡先中心のタスクのサイズや表示上の制約は、様々なニーズや好みに合わせて変更できる。
【０１２７】
連絡先カードに表示される連絡先中心のタスクをマウスプロンプトの選択などによってユーザが選択すると、連絡先中心のタスクに関連付けられたアプリケーションが起動する。例えば、ＭＳＮ  Ｍａｉｌタスクによる電子メール送信が選択されると、ＭＳＮメールアプリケーションが起動する。連絡先カードによってＭＳＮメールアプリケーションやその他のアプリケーションが起動すると、図３に示すモジュール、ＡＰＩ、およびコンピューティング構造を介して関数呼び出しが開始される。
【０１２８】
連絡先ピッカーインターフェース  
図８に、連絡先情報を直感的に表示するためのインターフェースを示す。本発明の実施形態によると、インターフェース８００にはユーザが選択する可能性の高いと判断される所定の連絡先のフィルタを適用したリスト８１０が直感的（ｉｎｔｕｉｔｉｖｅｌｙ）に表示されている。ユーザがどの連絡先を選択する可能性が高いかの判断は、特定の連絡先を選択する頻度、最後に選択した連絡先、連絡先のネットワークまたは地理的な距離、連絡先の通信デバイスの互換性、連絡先スキーマの関係を含むがこれらに限定はされない様々な基準に基づくことができる。
【０１２９】
ここに記載するように、表示される連絡先のリストが連絡先ピッカーインターフェースをホスティングするアプリケーションでも制御できることは言うまでもない。特に、このインターフェースをホスティングするアプリケーションでは、連絡先が連絡先ピッカーに表示されるために備える必要のある任意の数の特性の組合せを指定できる。例えば、ホスティングアプリケーションは、ＡＰＩを介してオンラインの連絡先のみ、電話番号を伴う連絡先のみ、特定の地域内の連絡先のみ、コンピューティングシステムに特定のソフトウェアをインストールした連絡先のみ、あるいは事前に指定した必要な特性の組合せを備える連絡先のみを表示するように指定できる。この方法では、表示される連絡先を連絡先ピッカーが効果的にフィルタする。
【０１３０】
マウスポインタのクリックやその他の選択入力などを使ってリスト内の連絡先の１つを選択すると、選択した連絡先に対応する特定のアプリケーション用の適切な連絡先情報が入力ラインに挿入される。「適切な連絡先情報」とは、一般的にアプリケーションに固有であり、アプリケーションで希望の機能を実行するのに必要な情報に対応することである。例えば、電子メールアプリケーション用の適切な連絡先情報には、電子メールメッセージの送信に必要な連絡先の電子メールアドレスが含まれる。適切な連絡先情報は、連絡先情報を取得するディレクトリ別など、他の基準に基づいて指定してもよい。
【０１３１】
１つの実施形態では、アプリケーションでどの連絡先情報を必要とするかをそのアプリケーションで指定する。例えば、アプリケーションで電子メールアドレスが必要な場合は、アプリケーションがユーザインターフェースに対して適切な連絡先情報に電子メールアドレスを含めるように指定する。したがって、電子メールアドレスが取得されてユーザインターフェースに表示される。ただし、ユーザインターフェースでセキュリティメカニズムを使用してアプリケーションで必要としない連絡先情報をそのアプリケーションが取得できないように設定してもよいことは言うまでもない。
【０１３２】
アプリケーションで使用する実際の連絡先情報を入力ラインに指定する必要がないことも言うまでもない。特に、アプリケーションで利用する実際の連絡先情報にリンクするか、実際の連絡先情報を示すわかりやすい名前またはその他の文字やオブジェクトを入力ラインに指定してもよい。例えば、電子メールの場合は、連絡先の実際の電子メールアドレスでなく、連絡先の電子メールアドレスにリンクするわかりやすい名前を入力ラインに指定してもよい。
【０１３３】
特に図８を参照すると、入力ライン８２０にはＪという文字が入力されている。インターフェース８００がこの入力を受け取ると、連絡先の候補のリスト８１０が表示される。このリスト８１０は、前述のように連絡先ストレージまたは連絡先ストレージと同期する他のディレクトリの検索によって生成される。
【０１３４】
本実施形態では、リスト内の連絡先はいずれもユーザの入力に一致するＪという文字で始まっている。ただし、一致する連絡先情報にはこの名前の文字が含まれる必要がないことは言うまでもない。例えば、対応する連絡先情報には住所、電話番号、あるいはその他の連絡先情報を表す英数字を含めることができる。連絡先情報には、ユーザが別のインターフェースで追加したユーザ指定のキーワード（例えば「大学の友人」）に基づいて対応付けられていてもよい。
【０１３５】
ユーザが連絡先の１つを選択すると、入力ライン８２０には選択した連絡先に対応する適切な連絡先情報が自動的に入る。あるいは、連絡先が複数の適切な連絡先情報の候補に対応する場合は、入力ライン８２０に入る前に複数の連絡先情報の候補を表示できる。例えば、本実施形態では検索によってＪｕｄｄ  Ｆｉｌｍｏｒｅ  ８３０の２つの電子メールアドレス８４０が検出されている。したがって、選択肢として両方の電子メールアドレス８４０が表示される。いずれかの電子メールアドレスを選択すると、適切な連絡先情報の入力ライン８２０にこのアドレスが入る。
【０１３６】
電子メール機能に関連して前の例を示したが、本発明の範囲がそれ以外のアプリケーションで連絡先情報を利用して様々な機能を実現するその他の実施形態にも拡張されることは言うまでもない。例えば、他のアプリケーションでは連絡先情報を利用してテレフォニーセッションの開始、電話呼び出しの開始、ネットワーク接続の開始、ゲームセッションの開始、Ｗｅｂサイトへのアクセス、金融取引の実行、物品の郵送などを実行してもよい。
【０１３７】
同様に、前述の連絡先を選択するインターフェースを変更して様々な連絡先に関する連絡先情報を追加するようにしたり、連絡先と連絡先情報にフィルタを適用する手段を提供したりしてもよいことは言うまでもない。
【０１３８】
連絡先コントロール  
図９に、様々な連絡先に関連付けられた様々な連絡先コントロール９１０を表示するデスクトップインターフェース９００を示す。連絡先コントロールは、個人、グループ、組織、家庭、他の同様の連絡先に関連付けることができる。連絡先コントロールは、連絡先に関連付けられたイメージを表示してユーザのコンピュータに名目上この連絡先が存在し、パーソナリティ（ｐｅｒｓｏｎａｌｉｔｙ）を形成することができる。連絡先コントロールは、連絡先に関連付けられたデータソースにリンクするので、連絡先コントロールを選択すると関連のデータソースにアクセスできる。連絡先コントロールは、前述のように連絡先との通信アクションの開始にも使用できる。
【０１３９】
１つの実施形態では、イメージ／アクションを連絡先コントロールの一部として表示し、対応する連絡先に関する様々な情報を伝えることができる。表示できるイメージの例には、連絡先が現在作業中か空いているかを表す時計のイメージ、連絡先が現在電話ネットワークを利用している（またはテレフォニーネットワークに接続されている）かどうかを表す電話のイメージ、連絡先が最近ユーザに通信を送信したかどうかを表すフラグ、連絡先が現在休憩中または食事に出ていることを表す食べ物のイメージなどが含まれるが、これらに限定はされない。
【０１４０】
別の実施形態では、連絡先コントロールによって連絡先に関する感情面の情報を表す言葉のないイメージを表示することもできる。感情面の情報には、連絡先が抱いている感情やユーザが連絡先に対して抱いている感情を含めることができる。感情面の情報は、連絡先が公開してもよいし、連絡先コントロールを表示するユーザが判断してもよい。例えば、生き生きした顔で連絡先の機嫌がよいことを表したり、ハートのイメージを使用して連絡先に恋愛感情があること、つまり連絡先がユーザに対して好意を持っている、または連絡先に対してユーザが好意を持っていることを表したり、しかめっ面で連絡先の機嫌が悪いことを表したりできる。
【０１４１】
連絡先のステータスまたは感情面の状態を判断するための情報は、連絡先が公開し、連絡先ストレージに格納される。
【０１４２】
別の実施形態では、ホスティングアプリケーションで指定したわかりやすい名前またはその他の連絡先情報を連絡先コントロールに表示する。この連絡先情報は、単独でも表示できるが、前述のイメージのようなイメージを伴っても表示できる。
【０１４３】
１つの実施形態では、例えばユーザは連絡先コントロールを選択することで特定の連絡先に関する連絡先情報を含むより詳細なユーザインターフェースにアクセスできる。連絡先コントロールを選択することで得られる連絡先情報には、関連があると見なされる任意の連絡先情報が含まれる。こうした連絡先情報には、連絡先の名前、電子メールアドレス、電話番号、住所、インスタントメッセージングアドレスなどか含まれるが、これらに限定はされない。これで、この連絡先情報をカードフォーマットでも他の任意のフォーマットでも表示できる。
【０１４４】
連絡先コントロールの選択には、コンピューティングシステムに表示してオブジェクトを選択できる任意の手段を使用できる。１つの実施形態では、マウスプロンプトで連絡先コントロールをダブルクリックして連絡先コントロールを選択する。連絡先コントロールを選択することで、連絡先に関連付けられたその他の情報にアクセスすることもできる。例えば、電子メールアプリケーションのように、連絡先コントロールを選択することでアプリケーションを起動し、連絡先からの未読メッセージを表示してもよい。連絡先を選択することで電子メールアプリケーションなどのアプリケーションを起動し、連絡先への通信を送信してもよい。
【０１４５】
特に図９を参照すると、Ｗｏｒｄ文書アイコン９２０やファクシミリデバイスアイコン９３０を含む様々なアプリケーションアイコンと共に複数の連絡先コントロール９１０が表示されている。この実施形態では、連絡先コントロール９１０が特定の連絡先に関連付けられた名前およびイメージを伴って表示されている。名前とイメージは、実際の情報でも仮に作成したものでもよい。
【０１４６】
図９は、連絡先コントロールを使用して連絡先との通信操作を開始する方法も示している。通信操作という用語は、通信に関連する任意の操作（インスタントメッセージの開始、電子メール、電子ファイルの送信、ファクシミリ、ビデオ画像、テレビ会議、テレフォニー呼び出し、電話呼び出しを含むがこれらに限定はされない）を表す。
【０１４７】
１つの実施形態では、例えば連絡先コントロールにファイルをドラッグアンドドロップ選択することで連絡先にファイルを送信できる。特に、ユーザはＷｏｒｄ文書ファイル９２０のショートカット９２２を連絡先コントロール９４０にドラッグすることで、対応するＷｏｒｄ文書のコピーを連絡先コントロール９４０に関連付けられた連絡先に送信できる。Ｗｏｒｄ文書のショートカット９２２を連絡先コントロール９４０にドロップすると、インスタントメッセージアプリケーション、電子メールアプリケーション、ＦＴＰアプリケーション、あるいはユーザのコンピュータ設定でＷｏｒｄ文書を送信する場合のデフォルトとして設定された別のアプリケーションが起動する。
【０１４８】
前述の例は、本発明の連絡先コントロールを使用して通信操作を開始する１つの実施形態の例を示すためのものにすぎないことは言うまでもない。したがって、連絡先コントロールを他の方法で使用して通信操作を開始することもできる。別の実施形態では、連絡先に関連付けられた連絡先コントロールをファイルやホストアプリケーションに関連付けられたアイコンまたはその他の起動オブジェクトにドラッグアンドドロップすることで、アプリケーションを起動したり送信したりできる。例えば、連絡先コントロール９４０をファックスアイコン９３０にドラッグアンドドロップすると、ファックスアイコン９３０に関連付けられたファックスアプリケーションが起動する。別の実施形態では、連絡先コントロールをアプリケーションインターフェースにドラッグアンドドロップすると、アプリケーションはその連絡先コントロールに関連付けられた連絡先と連絡先情報をアプリケーションのカスタムディレクトリに追加する。
【０１４９】
１つの実施形態では、連絡先コントロールに関連するユーザ入力に対応して通信アプリケーションが起動するたびに、その連絡先との通信を開始するのに必要な連絡先情報が通信アプリケーションに自動的に提供される。例えば、ユーザが連絡先コントロールを選択するか連絡先コントロールを電子メールアプリケーションアイコンにドラッグアンドドロップすると、直ちに電子メールアプリケーションが起動し、連絡先の電子メールアドレスが電子メールアプリケーションに自動的に提供されるので、ユーザは連絡先の電子メールアドレスを入力する必要がない。連絡先情報は、図３に示すモジュール、ＡＰＩ、およびコンピューティングアーキテクチャを介してアクセスされ、提供される。
【０１５０】
同様に、電子メールアプリケーションがすでに開いている場合に、連絡先コントロールを「Ｔｏ：」のラインにドラッグすると、対応する電子メールアドレスまたは通信の完了に必要なその他の連絡先情報が「Ｔｏ：」のラインに自動的に入る。電子メールの本文に連絡先コントロールをドラッグアンドドロップすると、電子メールメッセージにも連絡先コントロールを添付でき、目的の受信者に連絡先コントロールを送信できる。
【０１５１】
１つの実施形態によると、前述のように、連絡先コントロールはサードパーティーアプリケーションでホスティングでき、サードパーティーアプリケーションに負担がかかることはない。ただし、これはサードパーティーアプリケーションが連絡先コントロールを制御できないことを意味するわけではない。例えば、サードパーティーアプリケーションは、連絡先コントロールイメージを表示するタイミングや場所などを調整するなど、連絡先コントロールイメージの表示を編集または制御するように設定してもよい。
【０１５２】
一部の実施形態では、サードパーティーアプリケーションは、例えば連絡先コントロールをクリックした場合やドラッグアンドドロップした場合などにどんな処理を行うかを定義することによって、連絡先コントロールの対話機能を制御できる。例えば、連絡先オブジェクトをシングルクリックすると限られた連絡先情報（名前、住所、電子メールアドレス、電話番号など）を表示する簡単な連絡先カードを起動し、連絡先オブジェクトをダブルクリックするとその他の連絡先情報や連絡先に関連付けられたリンクを表示する詳細な連絡先ページを起動するというデフォルトの設定をアプリケーションでそのまま使用してもよい。ただし、ホスティングアプリケーションで連絡先コントロールをクリックした場合に他のアクションやアクティビティを実行するように定義することによって、連絡先コントロールの対話機能を上書きし、制御してもよい。
【０１５３】
連絡先コントロールと対話するための対話モデルを提供することの１つの利点は、前述のように、ユーザが様々なアプリケーション用の様々な対話モデルを学習する必要がないことである。１つの実施形態によると、連絡先コントロールと対話するための対話モデルには、マウスの右クリックやダブルクリックが含まれる。例えば、連絡先コントロールをマウスで右クリックすると、連絡先コントロールに関して実行できるタスクのコンテキストメニュー（例えば、切り取り、貼り付け、削除、アドレス帳への保存など）が起動する。連絡先コントロールをマウスでダブルクリックすると、前述のように、連絡先に関する様々な連絡先情報を表示する詳細な連絡先ページが起動する。ただし、この対話モデルを任意のニーズと好みに合わせて変更できることは言うまでもない。
【０１５４】
情報ピッカー／パルソナインターフェース（PERSONA  INTERFACES）  
１つの実施形態によると、連絡先は様々なパルソナすなわち個人を一意に定義するプロファイルに関連付けられている。したがって、個人はそれぞれが個人に関する別々の連絡先情報に関連付けられた複数のパルソナを所有できるが、必ずしも所有するとは限らない。パルソナの例には、家族パルソナ、学校パルソナ、友人パルソナ、会社パルソナ、リクリエーションパルソナ、企業パルソナ、電子商取引パルソナ、匿名パルソナ、個人パルソナがあるが、これらに限定はされない。様々なパルソナとそれに対応する連絡先情報はテーブルに格納され、インデックスやその他のデータ構造は連絡先ストレージに格納される。この実施形態によると、ユーザが指定するように、連絡先の定義またはパルソナは１つまたは複数の呼び出しアプリケーションのユーザを表す。
【０１５５】
特に、パルソナは以下に示すようにユーザが作成したり変更したりできるが、ユーザと様々なアプリケーションとの対話によって暗黙的に定義することもできる。例えば、アプリケーションが事前にユーザの自宅の電話番号と住所を問い合わせて確認する場合に、本発明のモジュールはこうした情報を追跡し、使用して対応するユーザのプロファイルすなわちパルソナを作成できるようにする。
【０１５６】
１つの実施形態では、使用可能なパルソナはインターフェースオブジェクト１０１０を介して表示され、要求側アプリケーションのインターフェースに統合される。例えば、図１０で電子メールアプリケーションインターフェース１０００は統合されたプロファイルメニューオブジェクト１０１０を備えており、選択すると１つまたは複数のパルソナを表示できる。インターフェースオブジェクトの統合は、例えば実際にアプリケーションのグラフィカルユーザインターフェース（ＧＵＩ：Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を変更するか、単にＧＵＩにインターフェースオブジェクト１０１０を重ねることによって実行できる。
【０１５７】
インターフェースオブジェクト１０１０は既存のアプリケーションのインターフェースに統合できるが、他の実施形態ではインターフェースオブジェクトがユーザに関係なく独立したスタンドアロンのインターフェースを備えていてもよいことは言うまでもない。
【０１５８】
図１０に、１つの連絡先に対応する４つの別々のパルソナ、すなわち企業パルソナ、個人パルソナ、匿名パルソナ、電子商取引パルソナが示されているが、他のパルソナを含めてもよい。前述のように、こうしたパルソナのそれぞれを１人のユーザに対応し、様々なアプリケーションに関係し適しているとユーザが決定できる連絡先情報に関連付けできる。
【０１５９】
例えば、個人識別番号、社会保証番号、銀行口座番号など、機密性の高い連絡先情報を保護するには、セキュリティモジュールを使用して、ユーザが認証されない限り別のユーザのパルソナにアクセスしたりそれを利用したりするのを防止している。こうした認証を受けるには、ユーザがログインするか他の特定の情報を提供してＩＤを確認する必要がある。
【０１６０】
本実施例では、メタデータと送信メールのヘッダーに含まれるユーザに関する連絡先情報を必要としている。ユーザはこのことを認識していなくてもよいが、プロファイルインターフェースオブジェクト１０１０を参照すると、アプリケーションで特定の情報を要求していることがわかる。さらにユーザに通知するために、インターフェースエレメントオブジェクト１０１０はさらによく知られている明確な方法で表示できる。
【０１６１】
さらに、アプリケーションで必要としている情報について、例えば情報ピッカーインターフェース１０３０などの独立したインターフェースを介してユーザに通知できる。ただし、情報ピッカーインターフェースは、インターフェースオブジェクト１０１０から起動できるし、アプリケーションで情報を要求したときに自動的に起動することもできる。
【０１６２】
アプリケーションからの要求は、その一部はユーザに対して明示的に行われるが、むしろユーザが明確に認識せずにユーザのコンピューティングシステムに対して行われるので、アプリケーションからの要求についてユーザに通知することは有効である。同様に、一部の情報の要求はユーザが最終的にそのアプリケーションを使用するより前に実行されるので、アプリケーションで必要とする情報についてのリマインダーは有効である。
【０１６３】
情報ピッカーインターフェース１０３０を使用すると、パルソナまたはプロファイルに関連付けられ、アプリケーションで使用できるようにする連絡先情報を選択できる。このインターフェース１０３０は情報の要求に対応して自動的に起動するか、ユーザが特に要求した場合に起動する。例えば、ユーザはいつでもこのインターフェースを呼び出して対応するパルソナを作成または変更できる。前述のように、インターフェースオブジェクト１０１０からパルソナを選択することで間接的にこのインターフェース１０３０を呼び出すこともできる。例えば、本実施形態では、ユーザが使用可能なパルソナのリスト１０２０から企業パルソナを選択している。これを選択すると、情報ピッカーインターフェース１０３０にビジネスプロファイルすなわちパルソナが表示される。
【０１６４】
ビジネスプロファイルには、現在、企業名（１０３２）、電子メールアドレス（１０３４）、住所（１０３６）、および電話番号（１０３８）の各フィールドがあり、それぞれに適切な情報が格納されている。この情報は、アプリケーションが情報を要求する前または後に、いつでも追加できる。この情報は、ユーザがインターフェース１０３０で変更することもできる。
【０１６５】
インターフェース１０３０に表示される情報のタイプは、アプリケーションで要求する特定の情報に限定してもよいが、より広範囲に、ユーザの対応するパルソナに関連付けられ、連絡先ストレージに格納されたあらゆるタイプの関連情報を含めてもよい。
【０１６６】
このインターフェースには、使用する連絡先情報をユーザに通知するアプリケーションおよび／またはアプリケーションの所有者によるプライバシー値の提示１０４０など、追加の情報を含めてもよい。このプライバシーと利用の情報は、そのままインターフェース１０３０に追加してもよいが、インターフェース１０３０によって提供されるハイパーリンクなど、１つまたは複数のオブジェクトからリンクしてもよい。プライバシーと利用の情報は、本発明のモジュールによって要求された連絡先情報をアプリケーションに提供するための前提条件として特に要求できる。あるいは、要求がなくてもこの情報を自動的に提供することもできる。
【０１６７】
アプリケーションに提供する連絡先情報は情報ピッカーインターフェース１０３０に表示され、これを変更する場合はいつでもインターフェース１０３０を使用して変更できる。こうした設定は連絡先ストレージに格納でき、後で参照できる。
【０１６８】
アプリケーションで要求された適切な連絡先情報は、要求したアプリケーションに適切なフォーマットで表示される。適切と見なされるものは、一般にアプリケーションに固有であり、アプリケーションに固有の要求およびユーザが選択したパルソナに対応する。例として、ユーザが企業パルソナを使用してアプリケーションからの情報取得要求に対応するように特に指定すると、電子メールアプリケーションの適切な連絡先情報にユーザの企業電子メールアドレスと企業名が含まれる。
【０１６９】
このことによってユーザはアプリケーションに公開する情報およびアプリケーションで使用する情報を制御できるのは言うまでもない。例えば、送信メッセージには送信者を識別する情報としてユーザの企業名と企業の電子メールアドレスのみが含まれる。同様に、ユーザが新しい電子メールに対して匿名パルソナを選択している場合、新しい送信電子メールには送信者を特定しない、あるいは送信者を曖昧にしか特定しない匿名電子メールアドレスと匿名が含まれる。
【０１７０】
電子メール機能に関連して前の例を示したが、本発明の範囲がそれ以外のアプリケーションで連絡先情報を利用して様々な機能を実現するその他の実施形態に拡張されることは言うまでもない。本発明の方法とインターフェースを利用できる他のアプリケーションには、連絡先情報を使用してテレフォニーセッションの開始、電話呼び出しの開始、ネットワーク接続の開始、ゲームセッションの開始、Ｗｅｂサイトへのアクセス、金融取引の実行、物品の郵送などを実行するアプリケーションが含まれる。こうしたアプリケーションはユーザのコンピューティングシステムまたはリモートコンピューティングシステムでホスティングされる。
【０１７１】
要約すると、前述のように、本発明は連絡先情報の管理に関する多くの問題を克服することは言うまでもない。特に、連絡先は一元化された連絡先ストレージに格納され、他のすべてのディレクトリはこれに同期する。また、様々なインターフェースによって、連絡先情報のアクセスと利用が制御される。
【０１７２】
コンピューティング環境  
本発明が、パーソナルコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、など様々な設定によるコンピューティングシステムおよびネットワークコンピューティング環境で実施できることは言うまでもない。本発明は、通信ネットワークなどのデータ送信媒体を介してリンクする（ハードワイヤドリンク、無線リンク、ハードワイヤドと無線を組み合わせたリンクのいずれかによる）リモート処理装置でタスクを実行する分散コンピューティング環境でも実施できる。分散コンピューティング環境では、プログラムモジュールはローカルとリモートの両方のメモリ記憶装置内に配置できる。
【０１７３】
図１１を参照すると、例えばユーザの選択する統合データを作成するため、または本発明の他の多くのアクションやステップを実行するために使用できる例示的なシステムが示されている。図示されるシステムには、プロセッサユニット１１２１、システムメモリ１１２２、およびシステムメモリ１１２２からプロセッサユニット１１２１までの様々なシステムコンポーネントを接続するシステムバス１１２３を含む従来のコンピュータの形の汎用コンピューティングデバイス１１２０が含まれる。システムバス１１２３は、様々なバスアーキテクチャの任意の１つを使用したメモリバスまたはメモリコントローラ、周辺バス、ローカルバスを含む各種バス構造のいずれでもよい。システムメモリはリードオンリーメモリ（ＲＯＭ）１１２４およびランダムアクセスメモリ（ＲＡＭ）１１２５を含む。起動時などにコンピュータ１１２０内のエレメント間の情報転送を支援する基本ルーチンを含む基本入出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）１１２６は、ＲＯＭ  １１２４に格納してよい。
【０１７４】
コンピュータ１１２０には、磁気ハードディスク１１３９に対する読み出しまたは書き込みを行う磁気ハードディスクドライブ１１２７、取り外し可能な磁気ディスク１１２９に対する読み出しまたは書き込みを行う磁気ディスクドライブ１１２８、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、または他の光媒体のような取り外し可能な光ディスク１１３１に対する読み出しまたは書き込みを行う光ディスクドライブ１１３０を示す。磁気ハードディスクドライブ１１２７、磁気ディスクドライブ１１２８、および光ディスクドライブ１１３０は、それぞれハードディスクドライブインターフェース１１３２、磁気ディスクドライブインターフェース１１３３、および光ディスクドライブインターフェース１１３４を介してシステムバス１１２３に接続する。ドライブとこれに関連付けられたコンピュータ可読媒体は、コンピュータ実行可能命令、データ構造、プログラムモジュールなど、コンピュータ１１２０のデータを格納する不揮発性ストレージとして利用できる。ここに記載する例示的な環境では、磁気ハードディスク１１３９、取り外し可能な磁気ディスク１１２９、および取り外し可能な光ディスク１１３１を使用しているが、磁気カセット、フラッシュメモリカード、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、ベルヌーイ（Ｂｅｒｎｏｕｌｌｉ）カートリッジ、ＲＡＭ、ＲＯＭなど、他のタイプのコンピュータ可読媒体を使用してデータを格納してもよい。
【０１７５】
オペレーティングシステム１１３５、１つまたは複数のアプリケーションプログラム１１３６、その他のプログラムモジュール１１３７、およびプログラムデータ１１３８を含めて、１つまたは複数のプログラムモジュールを含むプログラムコード手段は、ハードディスク１１３９、磁気ディスク１１２９、光ディスク１１３１、ＲＯＭ  １１２４、またはＲＡＭ  １１２５に格納できる。ユーザは、キーボード１１４０、ポインティングデバイス１１４２、あるいはマイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなど、その他の入力デバイス（図示せず）を使用してコンピュータ１１２０にコマンドや情報を入力できる。これらの入力デバイスおよび他の入力デバイスは、多くの場合にシステムバス１１２３に接続されたシリアルポートインターフェース１１４６を介してプロセッサユニット１１２１に接続する。あるいは、パラレルポート、ゲームポート、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）のような他のインターフェースによって入力デバイスを接続してもよい。モニタ１１４７または他のタイプの表示装置も、ビデオアダプタ１１４８のようなインターフェースを介してシステムバス１１２３に接続する。パーソナルコンピュータには、一般にモニタ以外にもスピーカーやプリンタなどの周辺出力装置（図示せず）が接続されている。
【０１７６】
コンピュータ１１２０は、リモートコンピュータ１１４９ａおよび１１４９ｂのような１台または複数台のリモートコンピュータへの論理接続を使用してネットワーク環境で動作できる。リモートコンピュータ１１４９ａおよび１１４９ｂは、それぞれ別のパーソナルコンピュータ、サーバ、ルーター、ネットワークＰＣ、ピアデバイス、または他の一般のネットワークノードでよい。通常は、コンピュータ１１２０に関連して上で説明したエレメントの多くまたはすべてが含まれるが、図１１にはメモリ記憶装置１１５０ａおよび１１５０ｂとその関連のプログラム１１３６ａおよび１１３６ｂのみが示されている。図１１に示す論理接続には、例としてここに示すローカルエリアネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）１１５１とワイドエリアネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）１１５２が含まれるが、限定はされない。このようなネットワーキング環境は、職場規模または企業規模のコンピュータネットワーク、イントラネット、およびインターネットではごく一般的である。
【０１７７】
ＬＡＮネットワーキング環境で使用する場合、コンピュータ１１２０はローカルエリアネットワーク１１５１にネットワークインターフェースまたはアダプタ１１５３を介して接続する。ＷＡＮネットワーキング環境で使用する場合、コンピュータ１１２０はインターネットなどのＷＡＮ  １１５２を介して通信を確立するためのモデム１１５４、無線リンク、またはその他の手段を備えていてもよい。モデム１１５４（内蔵または外付け）は、シリアルポートインターフェース１１４６を介してシステムバス１１２３に接続できる。ネットワーク環境では、コンピュータ１１２０またはその一部に関連して記述したプログラムモジュールをリモートメモリ記憶装置に格納できる。図示されたネットワーク接続が例示的なものであり、ＷＡＮ  １１５２を使用した通信を確立する他の手段を使用してもよいことは言うまでもない。
【０１７８】
本発明はその精神又は本質的な特性を逸脱することなく他の特定の形でも実現できることは言うまでもない。ここに記述する実施形態はすべての側面において例示的なものにすぎず、限定的なものと見なしてはならない。したがって、本発明の範囲は、前述の説明でなく添付の特許請求の範囲によって示される。特許請求の範囲と同等の意味および範囲内の変更は、すべて本発明の特許請求の範囲を逸脱しないものとする。
【図面の簡単な説明】
【０１７９】
【図１】様々なアプリケーションとデータストレージを示すブロック図である。
【図２】連絡先全体を一元化した連絡先管理システムを示す関係図である。
【図３】本発明の方法を実施できるコンピューティングシステムの１つの実施形態を示す構造図である。
【図４】本発明の特定の方法に従って連絡先と対応する連絡先情報を管理するために実行できる様々な処置を示す流れ図である。
【図５】連絡先情報を表示するユーザインターフェースの１つの実施形態を示す図である。
【図６】連絡先情報と連絡先中心のタスクおよび連絡先の通信履歴および関連のファイルへのリンクを表示するユーザインターフェースの１つの実施形態を示す図である。
【図７】連絡先情報と連絡先中心のオブジェクトを表示するユーザインターフェースの１つの実施形態を示す図である。
【図８】連絡先を特定するために使用できるインターフェースリストの１つの実施形態を示す図である。
【図９】連絡先情報と連絡先中心のオブジェクトを表示するコンピュータデスクトップインターフェースの１つの実施形態を示す図である。
【図１０】パルソナ選択インターフェースと対応するピッカーインターフェース（ｐｉｃｋｅｒ  ｉｎｔｅｒｆａｃｅ）を伴う電子メールアプリケーションインターフェースの１つの実施形態を示す図である。
【図１１】本発明に適したオペレーティング環境を実現するオペレーティングシステムの１つの実施形態を示す図である。
【図１】
2007509432.tif 000003
【図２】
2007509432.tif 000004
【図３】
2007509432.tif 000005
【図４】
2007509432.tif 000006
【図５】
2007509432.tif 000007
【図６】
2007509432.tif 000008
【図７】
2007509432.tif 000009
【図８】
2007509432.tif 000010
【図９】
2007509432.tif 000011
【図１０】
2007509432.tif 000012
【図１１】
2007509432.tif 000013
【国際調査報告】
2007509432.tif 000014
2007509432.tif 000015