(57)【要約】【課題】  ２つ以上のコンピュータ・システム間で既存の識別情報を共用し、同期させること。異なるプリンシパルに関する識別情報を格納し、これを異なる、または異種のシステム上に、それらの異なるシステムがその識別情報を使用できるように格納する。同期化プロセスは、１次コンピュータ・システムと異種の２次コンピュータ・システムの間で識別情報に基づいて識別情報及び規則を同期させる。したがって、２次コンピュータ・システムは変換された情報の受け取りに追随する識別情報の代理データベースを備え、これは１次コンピュータ・システム上に格納された識別情報の１次データベースの代理である。同期化のための変換が行われ、この変換は２次システム用に設計された専用プロセスにより実行される。この変換は、識別情報を複数の異なる形式に変換する設計済みマッピング・テーブルを用いる汎用プロセスでも実行可能である。
2007509421.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが異なる形式で識別情報を格納する１次コンピュータ・システムと異種の２次コンピュータ・システムの間で識別情報を同期させる方法であって、
前記１次コンピュータ・システムと前記２次コンピュータ・システムを接続して、前記１次コンピュータ・システムと前記２次コンピュータ・システムの間に通信能力を提供すること、
前記１次コンピュータ・システム上に新しい識別情報が存在し、同期化操作を実行する必要があると決定すること、
前記新しい識別情報を、前記２次コンピュータ・システムに関連付けられた前記異なる形式に変換すること、および
前記変換された情報を前記２次コンピュータ・システムに伝搬すること
を備えることを特徴とする方法。
【請求項２】
前記プロセスは、オペレーティング・システムによって実行されることを特徴とする請求項１に記載の方法。
【請求項３】
前記２次コンピュータ・システムは、前記変換された情報の受け取りに追随する識別情報の代理データベースを備え、前記代理データベースは、前記１次コンピュータ・システム上に格納された識別情報の１次データベースを表すものであることを特徴とする請求項１に記載の方法。
【請求項４】
前記２次コンピュータ・システム上の前記代理データベースは、前記１次データベースより少ない識別情報を持つことを特徴とする請求項３に記載の方法。
【請求項５】
前記２次コンピュータ・システムは電話システムであり、前記識別情報は連絡先情報を備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記２次コンピュータ・システムはハンドヘルド携帯情報端末コンピュータ・システムであり、前記識別情報は連絡先情報を備えることを特徴とする請求項４に記載の方法。
【請求項７】
前記２次コンピュータ・システムは電子メール・アカウント・システムであり、前記識別情報は連絡先情報を備えることを特徴とする請求項４に記載の方法。
【請求項８】
前記新しい識別情報は、ユーザによって前記１次コンピュータ・システムに入力されることを特徴とする請求項１に記載の方法。
【請求項９】
前記新しい識別情報は、別の２次コンピュータ・システムによって前記１次コンピュータ・システムに入力されることを特徴とする請求項１に記載の方法。
【請求項１０】
前記変換することは、前記２次システムのために設計された専用プロセスによって実行されることを特徴とする請求項１に記載の方法。
【請求項１１】
前記変換することは、識別情報を複数の異なる形式に変換するように設計された汎用プロセスによって実行されることを特徴とする請求項１に記載の方法。
【請求項１２】
前記２次コンピュータ・システムから、前記１次データベースの形式である１次形式の識別情報クレーム要素を前記２次データベースの形式である２次形式の識別情報クレーム要素にマップする、情報のマッピング・テーブルを受け取ること、および
前記マッピング・テーブルを用いて識別情報を前記２次形式に変換すること
をさらに備えることを特徴とする請求項１１に記載の方法。
【請求項１３】
コンピュータ・システムにより読取り可能であり、請求項１に記載の方法を実行するために前記コンピュータ・システムにより実行可能な複数の命令から成るプログラムを有形的に具現化していることを特徴とするコンピュータ・プログラム製品。
【請求項１４】
コンピュータ・システムにより読取り可能であり、請求項１２に記載の方法を実行するために前記コンピュータ・システムにより実行可能な複数の命令から成るプログラムを有形的に具現化していることを特徴とするコンピュータ・プログラム製品。
【請求項１５】
それぞれが異なる形式で識別情報を格納する２次コンピュータ・システムと異種の１次コンピュータ・システムの間で識別情報を同期させる方法であって、
前記１次コンピュータ・システムと前記２次コンピュータ・システムを接続して、前記１次コンピュータ・システムと前記２次コンピュータ・システムの間に通信能力を提供すること、
前記２次コンピュータ・システム上に新しい識別情報が存在し、同期化操作を実行する必要があると決定すること、
前記新しい識別情報を前記１次コンピュータ・システムに伝搬すること、および
前記新しい識別情報を、前記１次コンピュータ・システムに関連付けられた異なる形式に変換すること
を備えることを特徴とする方法。
【請求項１６】
前記プロセスは、オペレーティング・システムによって実行されることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記１次コンピュータ・システムは、前記新しい識別情報の受け取りに追随する識別情報の代理データベースを備え、前記代理データベースは、前記１次コンピュータ・システム上に格納された識別情報の２次データベースの代理あることを特徴とする請求項１５に記載の方法。
【請求項１８】
前記変換することは、識別情報を複数の異なる形式に変換するように設計された汎用プロセスによって実行されることを特徴とする請求項１５に記載の方法。
【請求項１９】
前記２次コンピュータ・システムから、前記１次データベースの形式である１次形式の識別情報クレーム要素を前記２次データベースの形式である２次形式の識別情報クレーム要素にマップする、情報のマッピング・テーブルを受け取ること、および
前記マッピング・テーブルを用いて識別情報を前記２次形式から前記１次形式に変換すること
をさらに備えることを特徴とする請求項１８に記載の方法。
【請求項２０】
コンピュータ・システムにより読取り可能であり、請求項１５に記載の方法を実行するために前記コンピュータ・システムにより実行可能な複数の命令から成るプログラムを有形的に具現化していることを特徴とするコンピュータ・プログラム製品。
【請求項２１】
コンピュータ・システムにより読取り可能であり、請求項１９に記載の方法を実行するために前記コンピュータ・システムにより実行可能な複数の命令から成るプログラムを有形的に具現化していることを特徴とするコンピュータ・プログラム製品。
【請求項２２】
それぞれが、異なる形式で識別情報を格納し、識別情報の代理データベースを備える１次コンピュータ・システムと異種の２次コンピュータ・システムの間で規則情報を同期させる方法であって、
前記１次コンピュータ・システムと前記２次コンピュータ・システムを接続して、前記１次コンピュータ・システムと前記２次コンピュータ・システムの間に通信能力を提供すること、
新しい規則情報が存在し、同期化操作を実行する必要があると決定すること、および
前記新しい識別情報を一方のコンピュータ・システムから他方のコンピュータ・システムに伝搬すること
を備えることを特徴とする方法。
【請求項２３】
前記新しい規則情報を、前記２次コンピュータ・システムに関連付けられた異なる形式に変換することをさらに備えることを特徴とする請求項２２に記載の方法。
【請求項２４】
前記変換することは、前記情報を前記２次コンピュータ・システムに伝搬する前に、前記１次コンピュータ・システム上で行われることを特徴とする請求項２３に記載の方法。
【請求項２５】
前記１次コンピュータ・システムは、規則情報を前記２次コンピュータ・システムのための適正な形式に変換するのに使用される変換テーブルを維持することを特徴とする請求項２４に記載の方法。
【請求項２６】
それぞれが異なる形式で識別情報を格納する１次コンピュータ・システムと異種の２次コンピュータ・システムの間で識別情報を同期させるネットワークシステムであって、
前記１次コンピュータ・システムと前記２次コンピュータ・システムを接続して、前記１次コンピュータ・システムと前記２次コンピュータ・システムの間に通信能力を提供する同期インターフェースと、
前記１次コンピュータ・システム上に新しい識別情報が存在し、同期化操作を実行する必要があると決定する制御モジュールと、
前記新しい識別情報を、前記２次コンピュータ・システムに関連付けられた異なる形式に変換する変換モジュールと、
前記変換された情報を前記２次コンピュータ・システムに伝搬する同期モジュールと
を備えることを特徴とするシステム。
【請求項２７】
前記２次コンピュータ・システムは、電話コンピュータ・システムであることを特徴とする請求項２６に記載のシステム。
【請求項２８】
前記２次コンピュータ・システムは、ハンドヘルド携帯情報端末コンピュータ・システムであることを特徴とする請求項２６に記載のシステム。
【請求項２９】
前記２次コンピュータ・システムは、電子メールサーバコンピュータシステムであることを特徴とする請求項２６に記載のシステム。
【請求項３０】
前記変換モジュールは、前記２次コンピュータ・システムに関連付けられた所定のマッピング情報テーブルにアクセスして、前記識別情報を前記適正な形式に変換すすることを特徴とする請求項２６に記載のシステム。
【請求項３１】
別の２次コンピュータ・システムと通信するための第２の同期インターフェースをさらに含み、前記変換モジュールは、識別情報を、前記別の２次コンピュータ・システムのための別の２次形式に変換することを特徴とする請求項３０に記載のシステム。
【請求項３２】
前記１次コンピュータ・システムはユーザ・インターフェース・モジュールを備え、前記新しい識別情報は、前記ユーザ・インターフェース・モジュールを介して前記１次コンピュータ・システムに入力されることを特徴とする請求項２６に記載のシステム。
【請求項３３】
前記新しい識別情報は、第３のコンピュータ・システムに起因することを特徴とする請求項２６に記載のシステム。
【請求項３４】
前記第３のコンピュータ・システムから受け取った前記新しい識別情報は、前記１次コンピュータ・システムのための形式に変換されて１次データベースに格納され、次いで、前記新しい識別情報は、前記２次コンピュータ・システムのための形式に変換されて前記２次コンピュータ・システムに転送されることを特徴とする請求項３２に記載のシステム。
【請求項３５】
それぞれが異なる形式で識別情報を格納し、それぞれが他方の識別情報の代理データベースを備える１次コンピュータ・システムと異種の２次コンピュータ・システムの間で規則情報を同期させるネットワークシステムであって、
前記１次コンピュータ・システムと前記２次コンピュータ・システムを接続して、前記１次コンピュータ・システムと前記２次コンピュータ・システムの間に通信能力を提供する同期インターフェースと、
前記１次コンピュータ・システム上に新しい規則情報が存在し、同期化操作を実行する必要があると決定する制御モジュールと、
前記新しい規則情報を前記２次コンピュータ・システムに伝搬する同期モジュールと
を備えることを特徴とするシステム。
【請求項３６】
前記新しい規則情報を、前記２次コンピュータ・システムに関連付けられた異なる形式に変換する変換モジュールをさらに備えることを特徴とする請求項３５に記載のシステム。
【請求項３７】
前記規則情報を、前記１次データベースを表す代理識別情報データベースを備える第３のコンピュータ・システムに関連付けられた第３の形式に変換すること、および
前記新しい規則情報を前記第３のコンピュータ・システムに伝搬すること
をさらに備えることを特徴とする請求項２４に記載の方法。
【請求項３８】
コンピュータ・システムにより読取り可能であり、請求項２２に記載の方法を実行するために前記コンピュータ・システムにより実行可能な複数の命令から成るプログラムを有形的に具現化していることを特徴とするコンピュータ・プログラム製品。
【請求項３９】
コンピュータ・システムにより読取り可能であり、請求項２５に記載の方法を実行するために前記コンピュータ・システムにより実行可能な複数の命令から成るプログラムを有形的に具現化していることを特徴とするコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンティティを識別することに関し、より詳細には、コンピューティング環境内のプリンシパルの識別に関する。さらに詳細には、本発明は、２つ以上のコンピュータ・システム間で既存の識別情報を共用し、同期させることに関する。
【背景技術】
【０００２】
多種多様な独自のプラットフォームを持つ多種多様なコンピュータ・システムが存在する。例えば、電話機および／または携帯情報端末（ＰＤＡ）などのハンドヘルド・コンピュータ・システムは、これらよりも前に存在するデスクトップ・コンピュータ・システムやラップトップ・コンピュータ・システムといった他のシステムとは異なる、それら独自の特定のオペレーティング・システム、機能および能力を持つ態様で開発されている。さらに、サーバなどより大型のシステムも、通常は、やはり、デスクトップ、ラップトップ、電話機、ＰＤＡとは異なる、それら独自のオペレーティング・システム・プラットフォームを持つ。しかしながら、それらの異なるシステムは、しばしば、相互に通信する必要がある。
【０００３】
そのような通信を提供するために、１つのシステムから別のシステムへの情報の同期を可能にするコンピュータ・プログラムまたはアプリケーションが作成されている。例えば、ハンドヘルド・コンピュータ・システムは、デスクトップ・コンピュータ・システム上で変更した、または付加されている情報を同期させる方法を提供する。例えば、デスクトップ・コンピュータ・システムとハンドヘルド・コンピュータ・システムの間の通信を提供するアドレス帳およびカレンダ・アプリケーションが作成されており、それらでは、デスクトップ・システム上での、連絡先などのアドレス帳エントリやカレンダ・エントリへの変更が、同期化操作時または同期処理時にハンドヘルド・マシンに伝搬される。
【０００４】
【特許文献１】米国特許出願公開第２００５／００９１２６４号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、残念ながら、そのような同期を提供するためには、例えば、特定のアドレス帳やカレンダ・アプリケーションなどの、１つのアプリケーションのバージョンが両方のコンピュータ・システム上に存在しなければならない。そうでない場合、その情報の形式（formatting）を認識することができず、それを同期させることができない。その結果、互いに異なる独自仕様のシステムでは、そのような同期が求められる場合、情報を同期させるだけのために特定のアプリケーションを作成しなければならない。このような成り行きは、多種多様なシステムがそれら独自の、好みの情報の形式（format）を持つ限り、順調には行かない。例えば、電話コンピュータ・システムは、個々の連絡先に対して名前と電話番号が必要であるだけである可能性がある。そのようなシステムは、デスクトップ・システムと通信するための新しいアプリケーションを作成、格納、実行し、次いで、同期に際してデスクトップ・コンピュータ・システムから受け取る連絡先のアドレスや電子メール情報など、無関係な情報を受け取り、それを構文解析し、格納することで圧倒されてしまうであろう。この問題は、個々のユーザが、実際に、デスクトップ・コンピュータ・システム、電話機、ＰＤＡなど３つ以上の異なるシステムを使用し、それらすべてが個々の連絡先についての独自の表現を持つ場合に、さらに悪化する。
【０００６】
本発明は、上記およびその他の考慮事項に関してなされている。
【課題を解決するための手段】
【０００７】
本発明によれば、上記のおよびその他の問題は、２つ以上のコンピュータ・システム間で、必ずしも両方のシステム上にアプリケーションのバージョンを備えずに、情報を共用するシステムによって解決される。このシステムは、各個別システムによって要求される形式または表現を用いて２つ以上のシステム上に情報を格納する。特に、本発明は、異なるプリンシパルに関する識別情報を格納し、それらの識別情報を異なる、または異種のシステム上に格納して、その異なるシステムがそれらの識別情報を使用できるようにする識別情報システムに関するものである。
【０００８】
いくつかの態様によれば、本発明は、互いに異なる形式で識別情報を格納する１次コンピュータ・システムと、これと本質的に異なる異種の２次コンピュータ・システムの間で識別情報を同期させるシステムおよび方法に関するものである。本発明の実施形態は、まず、１次コンピュータ・システムと２次コンピュータ・システムを接続して、１次コンピュータ・システムと２次コンピュータ・システムの間に通信能力を提供すること、次いで、１次コンピュータ・システム上に新しい識別情報が存在し、同期化操作を実行する必要があると決定することを伴う。次に、その識別情報を、２次コンピュータ・システムに関連付けられた異なる形式に変換する変換プロセスが実行される。最後に、伝搬または同期プロセスが、変換された情報を２次コンピュータ・システムに伝搬する。このプロセスは、１次コンピュータ・システムのオペレーティング・システムによって実行することができる。したがって、２次コンピュータ・システムは、変換された情報の受け取りに追随する識別情報の代理データベース（representative database）を備え、この代理データベースは、１次コンピュータ・システム上に格納された識別情報の１次データベースの代理である。いくつかの態様によれば、この２次コンピュータ・システム上の代理データベースは、１次データベースより少ない識別情報を持つ。いくつかの例では、新しい識別情報は、２次コンピュータ・システムから生じ、それが変換されて、１次コンピュータ・システム上に格納されることもある。
【０００９】
いくつかの実施形態では、２次コンピュータ・システムは電話システムであり、識別情報は連絡先情報を含む。他の実施形態では、２次コンピュータ・システムは、他の多くの種類のコンピュータ・システムの中でも特に、ハンドヘルド携帯情報端末コンピュータ・システム、電子メール・アカウント・システムとすることもできる。さらに、新しい識別情報は、ユーザによって１次コンピュータ・システムに入力されることもあり、別の２次コンピュータ・システムによって１次コンピュータ・システムに入力されることもある。
【００１０】
変換プロセスは、いくつかの実施形態では、２次システムのために設計された専用プロセスによって実行されることになる。しかしながら他の実施形態では、変換は、識別情報を複数の異なる形式に変換するように設計された汎用プロセスによって実行される。そのような場合、１次コンピュータ・システムは、２次コンピュータ・システムから、２情報をマッピングするテーブルを受け取る。このマッピング・デーブルは、１次データベースの形式である１次形式の識別情報クレーム要素を２次データベースの形式である２次形式の識別情報クレーム要素にマップするテーブルであり、このテーブルを汎用プロセスが用いて、識別情報が２次形式に変換される。
【００１１】
他の態様によれば、本発明は、それぞれが、互いに異なる形式で識別情報を格納し、識別情報の代理データベースを備える、１次コンピュータ・システムと異種の２次コンピュータ・システムの間で規則情報（rule information）を同期させるシステムおよび方法に関するものである。この場合、本発明は、１次コンピュータ・システムと２次コンピュータ・システムを接続して、１次コンピュータ・システムと２次コンピュータ・システムの間に通信能力を提供すること、新しい規則情報が存在し、それにより同期化操作を実行する必要があることを決定すること、および一方のコンピュータ・システムから他方にその新しい識別情報を伝搬すること、を含む。さらに、本発明は、その新しい規則情報を、２次コンピュータ・システムに関連付けられた異なる形式に変換することもできる。
【００１２】
本発明は、コンピュータ・プロセス、コンピューティング・システムとして、あるいはコンピュータ・プログラム製品などの製造品として実装することができる。コンピュータ・プログラム製品は、コンピュータ・システムにより読取り可能な、コンピュータ・プロセスを実行する命令から成るコンピュータ・プログラムを符号化している、コンピュータ記憶媒体とすることができる。また、コンピュータ・プログラム製品は、コンピューティング・システムにより読取り可能な、コンピュータ・プロセスを実行する命令から成るコンピュータ・プログラムを符号化している、搬送波上の伝播信号とすることもできる。
【００１３】
本発明のより完全な正しい評価およびその拡充は、以下で簡単に要約する添付の図面、本発明についての以下の現時点での好ましい実施形態の詳細な説明、特許請求の範囲、を参照することによって得ることができる。
【発明を実施するための最良の形態】
【００１４】
次に本発明を、本発明の実施形態を示す添付の図面を参照して、以下でより詳細に説明する。しかしながら、本発明は、多くの異なる形で実施することができるものであり、本発明が本明細書で述べる実施形態だけに限定されるものと解釈すべきではない。そうではなく、これらの実施形態は、この開示が、綿密で、完全なものになり、当分野の技術者に本発明の範囲が十分に伝わるように、提供される。
【００１５】
一般に、本発明は、情報を同期させることに関し、詳細には、複数の異種のコンピュータ・システムにわたって、識別情報（ identity information）および識別情報関連の規則を同期させることに関するものである。本発明の実施形態によれば、本明細書で説明する方法は、単一の、独立型コンピュータ・システム上でも実行することができるが、より一般的には、分散コンピュータネットワークを形成するように相互接続された複数のコンピュータ・システム上で実行される。本発明により企図されている同期化を実行する環境１００を図１に示す。環境１００は、１次コンピュータ・システムとみなされるコンピュータ・システム１０２を備える。本明細書で使用する際、「コンピュータ・システム」は広義に解釈され、「テキスト、グラフィックス、シンボル、オーディオ、ビデオ、および／または数を表示し、操作するプログラムを実行する１つまたは複数の装置またはマシン」であると定義される。
【００１６】
１次コンピュータ・システム１０２は、セル電話コンピュータ・システム１０４や携帯情報端末（ＰＤＡ）コンピュータ・システム１０６などの２次コンピュータ・システムと通信する。１次コンピュータ・システム１０２は、さらに、必要に応じて、情報を同期させるために、システム１０８、１１０、１１２など他の多くのコンピュータ・システムとも通信することができる。システム１０２は、システム１０８、１１０、１１２など他の多くのシステムとも通信することができるが、この説明では、システム１０２とシステム１０４、１０６の間の例示的通信に焦点を当てる。したがって、図１に示すシステム１０８、１１０、１１２は、本発明によって他の多くの接続および通信が企図されていることを知らせるために図示したにすぎない。
【００１７】
システム１０２、１０４、１０６、１０８、１１０、１１２は、１つまたは複数の知られている通信プロトコルを使って、無線で、または直接配線接続を介して通信する。さらに、システム１０２、１０４、１０６、１０８、１１０、１１２は、ＴＣＰ／ＩＰなどのネットワークおよび／または通信プロトコルといった別個のプロトコルによって通信することもでき、インターネット（図示せず）などのネットワーク上に実装することも可能である。すなわち、別個のシステム１０４、１０６、１０８、１１０、１１２は、一見直接の矢印で接続されるように図示されているが、実際には、他の間接的方法によってシステム１０２と通信することもできる。実際は、図１００に示す接続は、単に、システム間で情報が中継されることが可能であることを示すにすぎない。それゆえ、本明細書で使用する通信の定義は、あるシステムから別のシステムへのメッセージ、イベント、または他の任意の情報を転送することに関する。
【００１８】
本発明の実施形態では、システム１０２は、同期化情報を送信する前に、それを変換し、かつ／またはフィルタにかけて、システム１０４や１０６などの２次システムが必要とする形にする。その他のコンピュータ・システムが、その情報を異なる形式で記憶することを必要とするため、それらのシステムは異種であるとみなされる。変換の結果として、２次システムは、ローカルで外来のアプリケーションを格納し、実行する必要がなくなる。さらに、本発明は、最新で、一貫性のある、有意味な情報コレクションが別個のコンピュータ・システム上に存在するように、同じユーザまたは同じ団体によって所有され、操作される異種のコンピュータ・システム間で情報を同期させることに関するものである。
【００１９】
本発明の実施形態において、システム１０２は同期された情報を、同じものを送ることに先がけて、システム１０４と１０６などの第２のシステムによって必要とされている形式に変換し、および／または、フィルタをかける。他のコンピュータ・システムは情報が異なる形式で格納されることを必要とするので、このシステムは異種であると考えられる。この変換の結果として、第２のシステムは、ローカルで、無関係なアプリケーションを格納して実行する必要がない。さらに、本発明は、異なるコンピュータ・システムが同じユーザまたは同じ団体によって所有され、操作される異種のコンピュータ・システム間で情報を同期させ、その結果、最新で、一貫し、意味のある情報のコレクションが、異種のコンピュータ・システム上に提供される、ことに関する。
【００２０】
本発明の態様によれば、１次コンピュータ・システム１０２は、１次識別情報データベース１１４に識別情報を格納する。一般に、「識別情報（identity information）」は、既知のプリンシパルに関連付けられている。複数の別個の、互いに異なる識別情報リソースまたは文書を含む。本明細書で定義するプリンシパルとは、コンピューティング環境で何らかのアクションを実行する任意の個人、個人のグループまたはコンピュータ・モジュールである。例示的プリンシパルには、オペレーティング・システム、オペレーティング・システム上に実装されたコンピュータ・アプリケーション・プログラムおよびプロセス、個人、人々のグループ（家族、企業、組織など）が含まれる。
【００２１】
一実施形態では、識別情報リソースは、知られている各プリンシパルごとに作成される。本明細書では、リソースを、電子ファイルを構成するような態様で整えられた機械可読データ形式であると定義する。したがって、識別情報リソースとは、プリンシパルの電子的表現または「識別情報」である。本明細書では、そのような識別情報リソースを、「識別情報文書」、「プリンシパル・オブジェクト」および「識別情報オブジェクト」ともいう。識別情報リソースは、それが対応するプリンシパルを一意に識別する。例えば、システム１０２は、システム１０２のユーザに知られている人々に関連する多くの識別情報リソースを含むことができる。各識別情報リソースは、識別要素、すなわち識別情報クレームの中でも特に、ある人の名前、電話番号、電子メールアドレスといった情報を含むことができる。実際には、ある人の公開鍵、そのコンピュータ・システムのＩＰアドレス、グループ関連、使用ポリシーといった他の多くの識別情報クレームがある可能性がある。識別情報クレームおよび識別情報リソースに関する詳細については、特許文献１に記載され、その明細書は、本明細書に組み込まれている。
【００２２】
システム１０２は、識別情報リソースの作成、識別情報リソースの格納、および１次識別情報データベース１１４に格納された識別情報リソースに関連する他の管理諸機能から成る多くの操作を実行するのに使用される制御モジュール１１６も備える。さらに、制御モジュール１１６を用いて、システム１０２と、システム１０４、１０６といった他のシステムの間の通信が管理される。したがって、制御モジュールは、他のシステム１０４、１０６への識別情報リソースの転送、ならびにそのような識別情報リソースの同期化、を管理する。
【００２３】
システム１０４に情報を転送するために、システム１０４もまた制御モジュール１１８を備える。制御モジュール１１８は、システム１０２上の制御モジュール１１６との通信を円滑に行わせるように動作する。システム１０４は、ローカル識別情報データベース１２０を維持し、複数の識別情報リソースを格納する。一実施形態では、ローカル識別情報データベース１２０は、１次識別情報データベース１１４上に位置する各識別情報リソースごとに１つの識別情報リソースを持つ。すなわち、システム１０２とシステム１０４の間の同期化に際して、他方のデータベース上に位置しないデータベース１１４および／または１２０上に位置する任意の識別情報リソースは、他方のデータベースを更新するために他方のデータベースにコピーされ、または転送される。したがって、ローカル・データベース１２０は、データベース１１４中の識別情報リソースによって表されるプリンシパルの観点から見て、データベース１１４の複製とみなすことができる。
【００２４】
同期化の後、データベース１２０は、データベース１１４中の各識別情報リソースごとに１つの識別情報リソースを格納するが、データベース１２０中の実際の識別情報リソースは、データベース１１４中の対応する識別情報リソース格納情報と異なる可能性がある。データベース１２０に格納される情報の種類および品質は、データベース１１４に格納される情報と同じでなくともよい。例えば、システム１０４はセル電話であるため、そこに格納されるデータベース１２０は、データベース１１４の簡素化されたバージョンだけを格納することができる。一実施形態では、データベース１１４上に格納された各識別情報リソースごとに、データベース１２０は、単に、名前および電話番号だけを格納することができる。したがって、データベース１２０は、データベース１１４上に格納された、より包括的な識別情報リソースを持つ任意の、またはすべての所与のプリンシパルのために利用可能な情報すべて、を含むとは限らない。２次システム上のデータベース１２０は、１次データベース１１４上のプリンシパルごとに１エントリを持つため、たとえ異なる形式で、より少ない（または異なる）情報を持つとしても、データベース１２０は、１次データベース１１４の「代理」データベースであるとみなされる。
【００２５】
ＰＤＡコンピュータ・システム１０６も、それぞれ、システム１０２上の制御モジュール１１６と通信し、識別情報を格納するのに使用される制御モジュール１２２およびデータベース１２４を備える。理解されるように、ローカル・データベース１２４は、１次データベース１１４上の各識別情報リソースごとに１つの識別情報リソースを格納するが、各識別情報リソースごとにその情報すべてを格納するとは限らない。すなわち、システム１０４と同様に、システム１０６は、一般に、システム１０２より少ない、メモリ、計算処理能力、通信能力といったコンピューティング・リソースを備える。これらの制約のために、ＰＤＡシステム１０６は、ローカルで格納された各識別情報リソースの簡略化バージョンだけしか必要としないことがある。しかしながら、システム１２４上に格納される各識別情報リソースのバージョンは、互いに異なるシステム１０４、１０６の必要と能力に応じて、システム１０４上のデータベース１２０に格納されるものより大きいこともあり、また小さいこともある。
【００２６】
ローカル・データベース１２０と１１４に格納される識別情報リソースは、格納される情報量が異なるだけでなく、システム１０４上、すなわちデータベース１２０に情報を格納するのに使用される形式も、データベース１１４に同じ情報を格納するのに使用される形式とは異なる可能性がある。一般に、システム１０２上の制御モジュール１１６は、データベース１１４上のデータを、システム１０４によって必要とされる形式に変換する。したがって、制御モジュール１１８は、データベース１２０上にデータを格納する前にそのような変換を実行する必要がない。
【００２７】
図２に、本発明の実施形態が実装することができる適当なコンピューティング・システム２００の一例を示す。それゆえ、このシステム２００は、分散コンピューティング環境１００内のコンピュータ・システム１０２、１０４、および／または１０６として機能するために使用することができるシステムを表している。その最も基本的な構成において、システム２００は、少なくとも１つの処理装置２０２およびメモリ２０４を含む。コンピューティング装置の正確な構成および種類に応じて、メモリ２０４は揮発性（ＲＡＭなど）とすることも、不揮発性（ＲＯＭ、フラッシュ・メモリなど）とすることも、両者の何らかの組合せとすることもできる。この最も基本的な構成を図２に破線２０６で示す。
【００２８】
メモリ２０４以外に、システム２００は、少なくとも１つの他の形のコンピュータ可読媒体も含むことができる。コンピュータ可読媒体は、「コンピュータ・プログラム製品」とも呼ばれ、システム２００からアクセスすることができる任意の使用可能な媒体とすることができる。例をあげると、それだけに限らないが、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を含むことができる。
【００２９】
コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラム・モジュールまたはその他のデータなどの情報の記憶のための任意の方法または技術で実装された揮発性および不揮発性、取り外し可能および取り外し不能媒体が含まれる。メモリ２０４、取り外し可能記憶２０８および取り外し不能記憶２１０は、すべて、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、それだけに限らないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリなどのメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）などの光記憶、磁気カセット、磁気テープ、磁気ディスク記憶などの磁気記憶装置、あるいは所望の情報を格納するのに使用することができる、システム２００によってアクセス可能な他の任意の媒体が含まれる。任意のそのようなコンピュータ記憶媒体をシステム２００の一部とすることができる。
【００３０】
例示的コンピューティング・システム２００は、このシステムが他の装置と通信できるようにする（１つまたは複数の）通信接続２１２も含む。通信接続２１２は、通信媒体の一例である。通信媒体は、通常、搬送波や他の搬送機構などの変調データ信号としてコンピュータ可読命令、データ構造、プログラム・モジュールまたはその他のデータを具現化し、任意の情報配信媒体を含む。「変調データ信号」という用語は、その特性の１つまたは複数が、その信号に情報を符号化するような方式で設定または変更されている信号を意味する。例をあげると、それだけに限らないが、通信媒体には、有線ネットワークや直接配線接続などの有線媒体、および音響、ＲＦ、赤外線、その他の無線媒体などの無線媒体が含まれる。本明細書で使用するコンピュータ可読媒体という用語は、記憶媒体と通信媒体の両方を含む。
【００３１】
一実施形態によれば、システム２００は、（１つまたは複数の）入力装置２１４や（１つまたは複数の）出力装置２１６などの周辺装置を含む。例示的入力装置２１４には、それだけに限らないが、キーボード、コンピュータ・マウス、ペン、またはスタイラス、音声入力装置、触覚入力装置などが含まれる。例示的出力装置２１６には、それだけに限らないが、ディスプレイ、スピーカ、プリンタが含まれる。これらの「周辺装置」のそれぞれは、当分野でよく知られており、したがって、本明細書では詳細に説明しない。
【００３２】
このコンピューティング環境を念頭に置いて、本発明の実施形態を、本発明の様々な実施形態を具体的に表しているプロセスを実施するために実行される論理演算を参照して説明する。これらの論理演算は、（１）コンピューティング・システム上で走る、コンピュータに実装されるステップまたはプログラム・モジュールのシーケンスとして、かつ／または（２）コンピューティング・システム内の相互接続された論理回路または回路モジュール、として実装される。この実装形態は、本発明を実装するコンピューティング・システムの性能要件に依存する選択の問題である。したがって、本明細書で説明する本発明の実施形態を構成する論理操作は、操作（operations）、構造化デバイス、動作（acts）、モジュールなど様々に呼ばれることがある。これらの操作、構造化デバイス置、動作（acts）、モジュールが、本明細書に添付の特許請求の範囲内に記載される本発明の精神および範囲を逸脱することなく、ソフトウェア、ファームウェア、専用デジタル論理、およびそれらの任意の組合せとして実施することができることを、当分野の技術者は理解するであろう。
【００３３】
次に、図３を参照すると、本発明の実施形態による、１次コンピュータ・システム３０２と他のコンピュータ・システム３０４、３０６の間の識別情報を同期させる際に使用される諸機能コンポーネントが、論理的に示されている。一般に、システム３０２はシステム１０２（図１）の機能表現である。また、システム３０４、３０６は、システム１０４、１０６（図１）の機能表現である。したがって、理解されるように、制御モジュール３０８および識別情報ストア３１０は、制御モジュール１１６およびデータベース１１４（図１）に対応する。同様に、制御モジュール３１２、３１６は、それぞれ、制御モジュール１１８、１２２に対応する。また、データ・ストア３１４、３１８は、それぞれ、データベース１２０、１２４に対応する。一実施形態では、システム３０２の各機能コンポーネントはオペレーティング・システムに存在し、ゆえに、そのプラットフォームの一部として、識別情報と、他のコンピュータ・システムの識別情報を格納するシステムを提供する。
【００３４】
前述のように、システム３０２は、１次コンピュータ・システムを表す。１次コンピュータ・システム３０２は、複数の識別情報３２０を格納する汎用識別情報ストア３１０を備える。複数の識別情報３２０のそれぞれは、個々のプリンシパルに関連しており、識別情報文書または識別情報リソースとしてデータ・ストア３１０に格納される。さらに、汎用識別情報ストア３１０に記憶される各識別情報文書は、図３の括弧内の文字「ａ、ｂ、ｃ、ｄ、ｅ、ｆ」で表すいくつかの情報要素またはクレームを持つことができる。これらの情報要素は、以下で図４に関連してより詳細に論じるように、名前、アドレス、電話番号などの個々のプリンシパルを識別する特定情報、またはその識別情報文書自体を識別する特定情報に関連する。
【００３５】
システム３０２は、さらに、汎用識別情報ストア３１０を管理するように動作する制御モジュール３０８を含む。制御モジュールは、ユーザ・インターフェース・モジュール３２２から情報を受け取ることができる。すなわち、システム３０２のユーザは、ユーザ・インターフェース・モジュール３２２を介して、新しい識別情報文書を入力し、あるいは既存の情報文書に変更を加え、あるいは既存の識別情報文書を削除することさえできる。そのような変更要求を受け取ると、制御モジュール３０８は、その要求を完了するのに必要な操作を実行する。同様に、図示しないが、そのような変更要求（追加、編集および／または削除）は、他のモジュールからもたらされることもあり、その結果、制御モジュールは多くの異なるモジュールからの要求によるデータベースへの様々な変更を実行できるようなる。一例として、ユーザは、新しい識別情報文書を伴う電子メールを受け取ることがある。そのような場合、一実施形態では、制御モジュールは、ユーザ対話なしでその新しい識別情報文書をデータベース３１０に自動的に追加することができる。しかしながら、他の実施形態では、どの識別情報文書をデータベース３１０に追加するか制御するために、ユーザがそのような追加を手動で要求することを必要とすることも可能である。別の例として、ユーザが、更新された情報文書を伴う電子メールを受け取り、ゆえに、制御モジュール３０８が、格納された識別情報文書を自動的に更新することがある。そのような更新は、ユーザ対話を必要とすることも、必要としないこともある。ユーザ対話なしで制御モジュールがデータベース３１０の内容を自動的に変更する別の例は、以下でより詳細に論じるように、他のシステム３０４および／または３０６から受け取られた更新、追加または削除に関連するものである。
【００３６】
制御モジュール３０８は、第１の同期インターフェース・モジュール３２４とも通信する。第１の同期インターフェース・モジュール３２４は、次に、システム３０４上の同期インターフェース・モジュール３２６と通信する。制御モジュールは、同期エンジン３２８を用いて同期ステップを実行する。通常、同期エンジン３２８は、汎用識別情報ストアに格納された識別情報文書の特性（properties）を、第１の特定識別情報ストア３１４上に格納された特性と比較して両者の間の差異を決定する。例えば、同期エンジンは、どの特性が一方には存在せず、他方には存在するか明確にする。また、同期エンジンは、最終同期化プロセス以来どの特性が変更されており、どの特性が削除されているか特定する。差異を決定すると、同期エンジンは、同期モジュール３２４、３２６を介して、その変更をシステム３０４に、最終的には、データベース３１４に伝搬する。一実施形態では、最終同期化以来の変更を迅速に特定するために、変更ログ３４６を使用することができる。
【００３７】
また、同期エンジン３２８は、汎用識別情報ストア３１０の形式などある形式の情報を、その情報を送る前に、ストア３１４によって要求されるものなど別の形式に変換するのに使用される変換モジュール３３０も備える。また、変換モジュール３３０は、さらに、所定の情報を、その情報をシステム３０４に送る前にフィルタにかけ、または取り除くこともできる。変換モジュール３３０、したがって、同期エンジン３２８は、新しいシステム３０４上に最終的に格納されない情報の更新を送信すべきでないことを理解している。例えば、ある特定の識別情報文書中のアドレス・フィールドが変更されたが、そのアドレス・フィールドが３０４上に格納されていない場合、３０４に対してそのアドレス変更に関連する更新は行われない。
【００３８】
ゆえに、同期エンジン３２８は、３０４上に最終的に格納される文書の形式だけでなく、関連する更新だけを行うように、３０４上に格納される情報の種類も理解している。格納される情報の形式および種類を理解するために、一実施形態では、同期エンジン３２８は、ストア３１４上に格納される項目の形式、および同期されるそれらの項目の使用可能なパラメータまたはフィールドを指図する、格納されている形式情報リソース３４８を利用する。そのような形式情報リソース３４８は、通常、システム３０２とシステム３０４の両方が、その後の同期化手順を可能にする関連情報を相手のシステムに提供する初期設定フェーズの期間に、同期エンジン３２８に提供される。形式情報リソース３４８は、図３に示す汎用識別情報ストア３１０の一部として、または別の場所にファイルとして格納することができる。他の実施形態では、形式情報は、同期化手順が開始されるたびに提供される。他の実施形態では、同期エンジンはすべての更新を送信するが、受信側装置３０４は適当な変更だけを受け入れる。
【００３９】
ある特定の実施形態では、形式情報リソースは、情報のテーブルである。この情報のテーブルは、システム３０４などの２次システムの識別情報リソース形式の諸要素を、システム３０２などの１次システムの識別情報リソース形式の類似諸要素にマップする。例えば、システム３０４は、あるオブジェクトに関する１つの属性として「勤務先電話」を、別の属性として「自宅電話」を、第３の属性として「電子メールアドレス」を表すことができる電子メールサーバに対応するものとする。そのような場合、そのテーブルは、これらの属性オブジェクトを識別し、それらを、識別情報リソースの類似の識別情報クレームと同一視し、またはそれらにマップする。ゆえに、変換モジュールは、単に、テーブル内の属性指定を検索するだけで、その識別情報リソースをどのようにして適正な形式に変換するか理解することができる。
【００４０】
この方法を用いると、その適正な情報テーブルがシステム３０２に供給する必要があるすべてである場合、他の変換が簡略化される。例えば、上記の例を続けると、別の装置は、１識別情報リソースごとに、それぞれがカテゴリ（「自宅」、「勤務先」、「モバイル」、「電子メール」など）と値を持つ、アドレス１からアドレス５と呼ばれる（実質的に）５つの特性を持つ、異なる要素に分解することができる。他のシステムは、やはり、電話番号に類似の分類コレクションを使用することができるが、電子メールアドレスは別のコレクションに入れることもできる。これらの場合、制御モジュール３３０は、オブジェクト３２０に関する特性をオブジェクト３３２、３４０に関する異なる特性にマップすることができ、その逆もまた可能である。というのは、テーブルが制御モジュール３３０に（複数の）マッピング方向（mapping directions）を提供するからである。当然ながら、マッピングが１対１である（例えば「ファースト・ネーム」が「クリスチャン・ネーム（given name）」になる）場合、このプロセスは単純であり、テーブルは必要とされないことがある。しかしながら、それぞれが値および特性を組合せ、分割する独自の方法を持つ、これらの異なるシステムが与えられたと想定すると、前述のテーブルの方法は、ただ新しいテーブルが与えられるだけでどんな変換でも処理することができるコードをもたらし、各外部システムごとにカスタムコードを書く必要がなくなる。
【００４１】
動作に際して、同期化操作を実行する必要があると決定すると、同期モジュール３２８は、汎用識別情報ストア３１０からその情報を取り出す。必要に応じて、制御モジュール３３０は、システム３０４に対応する形式リソース３４８を用いてその情報を必要な形式に変換する。その情報を変換すると、同期モジュール３２８は、更新された情報を第１の同期インターフェース３２４に渡し、そこからその情報がシステム３０４上の同期インターフェース３２６に渡される。更新された情報を受け取ると、制御モジュール３１２は、その新しい情報を第１の特定識別情報ストア３１４に格納する。図示のように、ストア３１４中の新しく更新された識別情報３３２は、ストア３１０中のその識別情報３２０の全情報よりも少ないことがある。これは、この例では、システム３０４が要素ｄ、ｅ、ｆを必要とせず、これらの要素がシステム３０４に渡されないからである。更新された識別情報をストア３１４に格納すると、ユーザ・インターフェース・モジュール３３４を用いて、システム３０４上でそのシステム・ユーザにその識別情報を表示することができる。
【００４２】
同様に、同期化操作を実行する必要があると決定すると、同期モジュール３２８は、システム３０６上の情報を同期させるように動作する。実質的に、同期モジュール３２８は、その情報を汎用識別情報ストア３１０から取り出し、必要に応じ、制御モジュール３３０は、システム３０６に対応する形式リソース３４８を用いてその情報を必要な形式に変換する。情報を変換すると、同期モジュール３２８は、更新された情報を第２の同期インターフェース３３６に渡し、そこからその情報がシステム３０６上の同期インターフェース３３８に渡される。更新された情報を受け取ると、制御モジュール３１６は、その新しい情報を第２の特定識別情報ストア３１８に格納する。図示のように、ストア３１８中の新しく更新された識別情報３４０は、ストア３１０中のその識別情報３２０の全情報よりも少ないことがある。これは、この例では、システム３０６が要素ｂ、ｃ、ｄを必要とせず、これらの要素がシステム３０６に渡されないからである。また、システム３０４や３０６など、別個の２次システム上では、その形式および要素は異なる可能性があり、通常の場合は異なることにも留意されたい。更新された識別情報をストア３１８に格納すると、ユーザ・インターフェース・モジュール３４２を用いて、システム３０６上でそのシステムのユーザにその識別情報を表示することができる。
【００４３】
本発明の実施形態では、ユーザ・インターフェース・モジュール３３４、３４２を用いて、それぞれ、文書３３２や文書３４０といった識別情報文書内のローカル・コピーを追加し、編集し、削除することができる。次いで、これらの変更を１次システム３０２に伝搬することができる。要するに、同期化時に、識別情報文書への変更が、１次システム３０２に渡され、汎用識別情報ストア３１０を更新することができる。例えば、システム３０４のユーザは、識別情報文書３３２上の電話番号フィールドに変更を加えることができる。変更を加えると、システム３０４上のローカル変更ログ（図示せず）が更新されることになる。次いで、同期化時に、制御モジュール３１２は、同期インターフェース３２６および第１の同期インターフェース３２４を介して制御モジュール３０８に、そして最終的には同期エンジン３２８に、その新しい電話番号を有する新しく更新された識別情報３３２を渡すことができる。同期エンジン３２８は、その変更を汎用形式に変換するための変換を行う必要があるかどうか決定し、必要がある場合、変換モジュール３３０を用いてそのような変換を実行する。情報を変換すると、識別情報が汎用識別情報ストア３１０に格納される。そのようなときに、変更ログが変更されて、同期エンジン３２８に、システム３０６など他のすべての２次システムでも更新が必要であることを知らせることができる。その結果、システム３０６とのその後の同期化操作時に、システム３０６が電話番号変更などのその変更に関連を持つものと想定した場合に、システム３０４に起因するその更新がシステム３０６に伝搬される。
【００４４】
ある特定の実施形態では、同期エンジン３２８は、さらに、規則モジュール３４４を含む。規則モジュール３４４は、いくつかの識別情報またはすべての識別情報に関連する規則情報を格納する。そのような規則は、さらに、２次システム３０４、３０６のユーザに通知する際のイベントに関連することができる。ユーザ・インターフェース３２２を介するなどして規則を入力し、または変更すると、その規則は、同期化操作時に、システム３０４、３０６など、様々な２次システムに伝搬される。規則を受け取ると、２次システム３０４、３０６は、必要に応じてその規則を適用する。
【００４５】
例えば、システム３０２のユーザは、勤務時間中に友人から電話を受けることを望まず、ユーザ・インターフェース３２２を介してこの規則をシステム３０２に入力するとする。１つまたは複数の識別情報３２０が、その（１つまたは複数の）プリンシパルを友人と識別する関連フラグまたはフィールドを持つと仮定すると、月曜から金曜までの勤務時間中、例えば午前８：００から午後５：００までの間、それらのプリンシパルからの電話は許可されないことになる。この規則はシステム３０４（例えばセル電話など）に渡すことができる。システム３０４は、そのデータベースに識別情報を格納しているため、着呼の電話番号を格納された識別情報の電話番号と突合せすることによってその規則を実施し、呼を通過させるか否か決定することができる。この例では、システム３０４、およびその制御モジュール３１２は、着呼の電話番号を決定し、それを格納された識別情報と突合せし、伝搬された規則に従って望まない呼出しをブロックする能力を持つ。
【００４６】
規則は、いくつかの識別情報を明示的に記述し、その他をより一般的なものとし、すべての識別情報に適用することができる。一般に、規則は、ユーザ・インターフェース３２２から入力、編集されるが、他の実施形態では、システム３０４や３０６など、２次システム上で規則の変更を入力させることも可能である。同期化時に、２次システム３０４および／または３０６からの変更がシステム３０２上で更新され、必要に応じて他のシステムに渡される。さらに、規則は、コンピュータ・システムによって異なる可能性があり、例えば、電話を受け入れるための１つの規則は電話コンピュータ・システムには適するが、電子メール・コンピュータ・システムには適さないことがあるため、制御モジュール３３０は、規則の送信前に、規則を現在同期中の２次コンピュータ・システムに適した形式に変換することもできる。変換を完了するために、所定の規則変換データセット（図示せず）がシステム３０２上で使用するために格納される。この所定の規則変換データは、制御モジュールが、システム３０２上の所与の規則を（１つまたは複数の）２次システム上の適当な記録に変換できるように、適当な規則およびその形式を識別する。
【００４７】
図４に、汎用識別情報ストア３１０（図３）に格納された識別情報文書を表すことができる識別情報文書４００の例示的形式を示す。データ構造として、識別情報文書４００は、公開鍵にバインドされ、埋め込み使用ポリシーによって規定することができる識別情報クレームおよびその他の属性／特性クレームのコレクションである。識別情報の符号化言語としてＸＭＬを使用することができる。しかしながら、他の形式も同様に適していると考えられる。識別情報文書４００の各要素は、それらがその機密性を維持しなければならない情報を含む場合、任意選択で、暗号化することもできる。
【００４８】
識別情報文書４００内のデータは、論理コンポーネント・セット４０２と属性タグ・セット４０４の２つのカテゴリに分けることができる。識別情報文書４００は、以下の６つのプリンシパル論理コンポーネントを含む。それらは、１）プリンシパル識別子４０６、２）そのプリンシパルの１つまたは複数の識別情報クレーム４０８、３）そのプリンシパルの表示名および０以上の選択的に開示される属性４１０、４）任意の受け入れ可能な形式でエンベロープされたそのプリンシパルの１つまたは複数の鍵４１２（例えば、Ｘ５０９ｖ３証明書としての公開鍵など）、５）そのプリンシパルのプライバシ要件４１４を表す使用ポリシー４１４、および６）データの保全性を保護し、識別情報更新の場合に送信者を認証する、識別情報の全内容に及ぶデジタル署名４１６、である。これら６つの論理コンポーネント４０２のそれぞれについて以下で順に論じる。
【００４９】
プリンシパル識別子４０６は、識別情報文書４００に含まれる識別情報クレームのプリンシパルであるプリンシパルを識別するユーザ・フレンドリなハンドルである。好ましいプリンシパル識別子４０６は、そのプリンシパルが人である場合は、そのプリンシパルの電子メールアドレスである。しかしながら、プリンシパル識別子は、プリンシパルを一意に識別する任意の種類のユーザフレンドリなハンドルとして広く解釈すべきであり、それには、限定されないが、電子メールアドレス、電話番号、モバイル電話番号などを含めることができる。
【００５０】
識別情報クレーム４０８は、その識別情報文書のサブジェクトであるそのプリンシパルに関連する追加の構造化情報を収容する。識別情報クレームは、限定されないが、物理的郵送先住所、電話およびファックス番号、雇用主情報、生年月日などを含むことができる、プリンシパルに関する記述情報として広く解釈すべきである。より詳細には、「識別クレーム」は、１つのエンティティ（人、組織など）に関して一意に当てはまるものである。ゆえに、場合によっては、電話番号は、１人の人に対する有効な識別情報クレームとすることができる。例えば、セル電話番号、直通ダイヤル勤務先番号または自宅番号を、セル電話、直通ダイヤル勤務先番号を共用していない、または１人住まいの人の有効な識別情報クレームとすることができる。電話は、例えば、家族で共用されている自宅電話番号などのように、１人の人の有効な識別情報クレームとすることができないこともある。そのような場合、自宅電話番号は、１個人ではなく、その世帯を表す識別情報クレームとすることができるであろう。
【００５１】
マシン・ロケーション４１０は、そのプリンシパルのコンピュータ・システムの一意のアドレスを提供し、無制限にＩＰアドレスまたは公開鍵を含むことができる。物理的所在地と同様に、マシン・ロケーションは、分散ネットワーク内のコンピュータ・システムを位置指定し、それに接続し、かつ／またはそれに通信するために必要である。
【００５２】
鍵部分４１２は、おそらく、証明書形式（例えばＸ５０９ｖ３証明書）内にカプセル化されている１つまたは複数の鍵を収容する。鍵４１２は、公開鍵とすることもでき、識別情報のサブジェクトの認識情報として識別情報に含めることもできる。証明書が使用される場合、それに自分で署名することも、それを認証局が発行することも可能である。
【００５３】
使用ポリシー４１４は、識別情報文書４００の内容に対して許容することが可能な使用に関するプリンシパルの指示を伝える。例えば、使用ポリシー４１４は、識別情報の内容を他者に公表すべきでないと指示することができる。図１のデータベース１１４など、受容者の認識された識別情報データベースは、そのプリンシパルを定義するその他の情報と共に使用ポリシーを格納する。
【００５４】
デジタル署名４１６は、プリンシパルに、その識別情報文書内のデータに署名する能力を提供する。ＸＭＬ署名には、署名を文書に関連付ける３つの方法、すなわちＥｎｖｅｌｏｐｉｎｇ署名（内包形式）、Ｅｎｖｅｌｏｐｅｄ署名（包含形式）、Ｄｅｔａｃｈｅｄ署名（分離形式）がある。本発明の一実施形態によれば、識別情報文書は、識別情報コンテンツに署名するときに、ＸＭＬ  Ｅｎｖｅｌｏｐｅｄ署名を使用する。
【００５５】
識別情報文書４００は、識別情報文書４００自体に関連する６つ以上の属性タグ４０４を保持することができる。図示しないが、これらの属性タグには、識別情報文書４００のＩＤ値、文書４００のバージョン情報、および／または文書４００が表す、例えば、人、コンピュータ、組織といったプリンシパルの種類、が含めることができる。他の属性タグも用いることができる。
【００５６】
一実施形態では、識別情報文書は、それぞれ図１、図３に関連して前述したシステム１０２、３０２などの１次コンピュータ・システム上に、一般化された態様で格納される。この情報文書が格納されることができる一般化された態様の図を図５に示す。
【００５７】
図５に示すように、識別情報文書５００は、「ｉＣａｒｄ」とも呼ぶことができ、ＳＡＭＬまたはＸＭＬ（あるいはＸＲＭＬなど他の形）で作成し、格納することができる。図５に示すサンプルｉＣａｒｄ５００にはいくつかの目立った特徴がある。例えば、電子メール識別子５０２は、プリンシパルの電子メールアドレスに関連する。さらに、識別情報文書５００はdisplay name（表示名）属性５０４を含む。文書５００は、セキュリティのために、プリンシパルの証明書５０６（本明細書では省略）およびそのデジタル署名５０８（本明細書では省略）も含む。
【００５８】
ＳＡＭＬは、認証およびその他の属性アサーションを含むセキュリティ表明を安全に表現するＸＭＬ標準であり、「ＸＰＡＴＨ」や「ＸＭＬＤＳＩＧ」といった他のＸＭＬ技術とうまく統合される。最上位のＳＡＭＬ要素はアサーションであり、サブジェクトおよび一連のステートメントを含む。ここで、ステートメントは、サブジェクトが特定の認証特性または属性値を持つことを表明する構成体である。アサーションは、おそらく、１つまたは複数の条件に左右される可能性がある。ＳＡＭＬは、現在業界によって採用されている好ましいセキュリティ・アサーション記述言語である。
【００５９】
アサーションの個々のコンポーネントおよび／またはその全体を暗号化することができ、そのアサーション全体が、発行者によって署名される。ＳＡＭＬ形式は、当分野の技術者に知られているように、拡張可能に、すなわち本明細書で論じる各要素は、ＸＭＬ置換グループを用いて置換することが可能で、かつ／またはＸＭＬの「任意の」要素を用いて拡張することが可能なように、設計される。
【００６０】
本明細書で論じるスキーマ・フラグメントは、ｉＣａｒｄの様々な要素を符号化するＸＭＬスキーマを指定する。以下の表１に、これらのスキーマ定義で使用され、参照される様々なＸＭＬネーム空間を示す。
【００６１】
【表１】
2007509421.tif 000003
【００６２】
代替の実施形態では、識別情報文書を１次データベース３１０に汎用方式で格納しない。そのような他の実施形態では、別の変換操作が実行されて、各識別情報文書を別のシステムに送信する前に、その文書が確実に適正な形式になることが確実にされるようにすることが可能である。同様に、受け取った識別情報文書を必要な形式に変換する別の変換を、それぞれ、図１、図３との関連で前述したシステム１０２、３０２などの１次システム上の１次データベースにその文書を格納する前に、必要とすることもできる。
【００６３】
図６は、本発明の実施形態による、識別情報文書を同期させるプロセスの動作特性を示す流れ図である。一般に、図６は、一般的同期システムに関連し、そのようなシステムに関係するステップに関する。最初に、接続操作６０２が２つの異なるシステムを接続する。一実施形態では、これら２つの異なるシステムは、前述のシステム３０２などの１次コンピュータ・システム、および前述のシステム３０４などの２次システムに関連するものである。実際の接続は、無線であれ、物理接続を介してであれ、２つのシステム間で通信リンクを提供する公知の方法に関連する。接続されると、通信操作が行われ、それら別個のシステムは、各システムの種類およびそのような接続の目的に関する情報をやりとりする。この最初の接続操作６０２には、ユーザ・インターフェースが関与しても、関与しなくてもよい。接続操作６０２の完了は、１つまたは複数の同期化操作が実行されるという、２つの異なるシステム間での了解を伴う。
【００６４】
接続操作６０２に続き、任意選択の種類情報転送操作６０４は、２次コンピュータ・システムによって使用される形式およびフィールド・パラメータに関する情報を転送する。転送操作６０４が任意選択であるのは、そのような情報が以前の接続時に１次コンピュータ・システムに転送されていることがあるからである。
【００６５】
同期化が行われようとしていることを認識し、適正な形式およびフィールド・パラメータ情報が利用可能になると、変換操作６０６は、転送されるデータを適正な形式に変換する。変換操作６０６は、実質的には、データベース３１０（図３）などのデータベースから新しい、または更新されたデータを取り出し、それを、汎用形式から、２次システムのための所望の、特定の形式に変換する。次に、フィルタ操作６０８は、不要な情報を除去する。フィルタ操作６０８は、不要な更新情報が、そのような情報を格納することを望まない２次システムに渡されるのを防ぐ。例えば、２次システムが電話機であり、アドレス情報、電子メール情報、デジタル署名などを必要としない場合、フィルタ操作６０８は、変換された文書からこの情報を除去する。代替の実施形態では、フィルタ操作は、変換操作６０６の前に行われる。
【００６６】
データのフィルタリングに続いて、転送操作６１０は、第１のコンピュータから第２のコンピュータ・システムに適正な形式で識別情報を転送する。この転送の後、流れ６００は終了操作６１２で終了する。図示しないが、２次システム上で更新された識別情報を格納する別の操作を、更新情報を受け取った際に行うことができる。
【００６７】
理解されるように、流れ６００は、単一の識別情報文書の転送に関するものである。本発明の実施形態では、流れ６００は、１次システム上のすべての更新識別情報について繰り返される。また、同期化のために１次システムに新しい２次システムが接続されると、すべての識別情報文書を、コピーし、変換し、フィルタにかけ、その２次システムに格納するために転送することもできる。
【００６８】
図７は、１つの２次コンピュータ・システムから別の２次コンピュータ・システムに識別情報文書更新を伝搬するプロセスの動作特性を示す流れ図である。流れ７００は、図３に関連して前述したシステム３０４などの２次コンピュータ・システム上で、識別情報文書への変更が入力されたときに開始する。一実施形態では、「変更」は、識別情報文書を追加すること、識別情報文書を削除すること、または既存の識別情報文書を修正することに関連するものである。代替の実施形態は、クレデンシャル情報や認証情報（authorization information）といった他の項目への変更を含む。また、一実施形態では、２次コンピュータ・システムのユーザは、モジュール３３４（図３）などのユーザ・インターフェース・モジュールを介して変更を入力し、その変更が、データ・ストア３３２などのローカル・データベースに格納される。さらに、変更を行うと、変更ログ（図示せず）が更新されて、次の同期化操作時に１つまたは複数の変更が同期化される必要があることを指示するようにすることもできる。
【００６９】
次に、伝搬操作７０４は、その変更情報を、システム３０２（図３）などの１次コンピュータ・システムに送信する。通常は、伝搬操作７０４の前に操作６０２などの接続操作が実行されることになる。すなわち、１つのシステムから別のシステムに情報を送信する前に、それら２つのシステムが通信可能なように接続されなければならない。また、一実施形態は、情報を送信する前に、受信側の１次コンピュータ・システムが受け取る変更の形式を理解できるように、操作６０４に関連して前述したような、種類情報を送信する。一実施形態では、受け取る変更は、識別情報文書全部を受け取ることに関連し、他の実施形態では、変更だけが１次コンピュータ・システムに提供される。当然ながら、１次コンピュータ・システムが更新または変更を理解できるように、更新される識別情報文書を記述する何らかの識別情報が、変更情報と共に転送されなければならない。
【００７０】
変更情報を受け取ると、変換操作７０６は、受け取った情報を汎用形式に変換し、それをデータ・ストア３１０（図３）などの汎用識別情報ストアに格納し、または汎用識別情報ストアを更新する。しかしながら、この更新が削除操作に関連する場合、操作７０６は、単に、データ・ストア中の適当な識別情報を削除するだけである。また、この更新が、既存の識別情報文書の修正に関連する場合もやはり、操作７０６は、そのような変換をせずに、単に、データ・ストア中に位置する既存の識別情報文書を編集するだけでよい。データ・ストアの変更に際して、ログ３４６などの変更ログが、他の２次コンピュータ・システムとの次の同期化操作時に、１つまたは複数の変更を同期させる必要があることを指示するように、更新されるようにすることができる。
【００７１】
最後に、伝搬操作７１０は、１つの２次システムから発せられた変更（操作７０２、７０４）を、システム３０６（図３）など他の２次コンピュータ・システムに伝搬する。この変更の伝搬は、図６に示す流れ６００に関連して前述した方式で行われる。すなわち、その他の２次コンピュータ・システムが１次コンピュータ・システムに接続し、接続され次第、１次コンピュータ・システムは、同期化を行う必要があると決定し、更新された情報を接続された２次コンピュータ・システムのための適正な形式に変換し、必要に応じてそのような情報をフィルタにかけ、その新しい情報を相手側の２次コンピュータ・システムに転送する。
【００７２】
新しいデータを別の２次コンピュータ・システムに送信すると、流れ７００は終了操作７１２で終了する。当然ながら、別の２次コンピュータ・システムの接続時に、前述の変更は次の２次コンピュータ・システムに伝搬される。流れ７００に示す方法を用いて、ある２次コンピュータ・システム上で行われた識別情報データ・ストアへの変更を、特定のユーザに関連付けられた任意のすべての２次コンピュータ・システムに伝搬することもできる。例えば、ユーザがＰＤＡ、デスクトップ・コンピュータ・システムおよびセルラ電話機を持っている場合、前述の方法を用いてＰＤＡ上のプリンシパルの識別情報への変更を受け取り、次いでＰＤＡをデスクトップ・コンピュータ・システムに同期させて、デスクトップ・コンピュータ・システム上のデータ・ストアを更新することができる。次に、電話機とデスクトップ・コンピュータ・システムの同期化イベントの間に、最初にＰＤＡ上で行われた変更が、デスクトップ・コンピュータ・システムからセルラ電話機に伝搬され、セルラ電話機に格納される。
【００７３】
図８は、あるシステムから別のシステムに規則を伝搬するプロセスの動作特性を示す流れ図である。流れ８００は、前述のシステムに基づくものであり、このシステムにおいて２つ以上のコンピュータ・システムは、それら２つ以上のシステムのユーザに関連付けられた様々な識別情報という概念を有している。例えば、１次コンピュータ・システムのユーザが、そのデスクトップ・コンピュータ・システムに、知られている、信頼される識別情報のデータベースを設定している場合、前述のシステムおよび方法を用いて、そのユーザは、セルラ電話機やＰＤＡなどの２次コンピュータ・システム上にも、それと同じ、またはその代理のデータベース（たとえ簡素化されたものであれ）を持つことができる。したがって、そのユーザは、これらの識別情報に関していくつかの規則を設定しようとすることができる。さらに重要なことに、このユーザは、それらの規則を、デスクトップ・コンピュータ・システムなど、１つのコンピュータ・システムで入力することができる。実際には、流れ８００は、入力操作８０２から開始し、そこで、システム３０２（図３）などのシステムに規則が入力される。他の実施形態では、規則を、システム３０４や３０６（図３）などの２次コンピュータ・システムの１つに入力することもできる。
【００７４】
規則の入力に続くある時点において、変換操作８０３は、その規則を、２次コンピュータ・システムと整合する形式に変換する。通常、変換プロセスは、規則情報を同期させる決定の後で、その規則情報を２次コンピュータ・システムに送信する前に、行われる。しかしながら、この変換は、１次コンピュータ・システムへの規則の入力から２次コンピュータ・システムへの新しい規則情報の送信までの間の任意の時間に行うことができる。変換プロセス８０３は、所与の規則を適正な形式に、言い換えると、２次コンピュータ・システムが実施することのできる規則に変換することに関連するものである。異なる２次コンピュータ・システムは異なる機能を実行するため、この規則はシステムによって異なっていることが可能である。例えば、あるシステムは規則に応答して電話通話をブロックし、別のシステムは電子メールをブロックすることが可能である。
【００７５】
規則を変換すると、伝搬操作８０４は、その規則を１つまたは複数の２次コンピュータ・システムに伝搬する。一実施形態では、伝搬操作８０４は、２つのシステム間の同期化フェーズの間に行われる。新しい、更新された規則を受け取った１つまたは複数の２次コンピュータ・システムは、その規則を実施することができる。
【００７６】
システム３０２は１組の識別情報クレームを持つプリンシパルを表すので、プリンシパルを参照する規則は、１つのシステムから別のシステムに変換することができる。「Ｊｏｅ  Ｓｍｉｔｈ（ジョー  スミス）に私の邪魔をさせない」というシステム３０２上の規則は、電話機上では「５５５−１２１２からの呼出しを受け取らない」に、メールサーバ上では「ｊｏｅ＠ｉｓｐ．ｃｏｍからのメールを受け取らない」に変換することができる。異なる２次システムが、プリンシパルが誰であるか、例えば、Ｊｏｅ  Ｓｍｉｔｈであることを理解する代理データベースを備えるものとすると、ユーザは、各システム上に類似の規則を入力し直す必要はない。
【００７７】
前述のシステムおよび方法は、異なるコンピュータ・システムが、１つの識別情報の一部を格納し、かつ／またはその情報を異なる形式で格納するときでさえも、多くの異なるコンピュータ・システムの間で１組の識別情報を共用する能力を提供する。そのようにする場合において、２次システムは、そのような識別情報文書を送信し、受信し、格納するために、複雑なコンピュータ・アプリケーションを格納し、実行する必要はない。さらに、前述のシステムは、この機能を、１次コンピュータ・システムのオペレーティング・システム内、および／またはプログラミング・プラットフォーム上に含むことに関連するものである。
【００７８】
以上、本発明を構造的特徴、方法的動作、そのような動作を含むコンピュータ可読媒体に特有の言葉で説明してきたが、特許請求の範囲で定義される本発明は、必ずしも、前述の特定の構造、動作または媒体に限られるものではないことを理解すべきである。例えば、記述的情報、クレデンシャル情報および認証情報を含む、多種多様な識別情報文書を作成することができ、前述の本発明の原理によってそれらを同期させることができる。また、本発明の諸態様によれば、Ｗｅｂポータルやインターネット・アカウントなど、多種多様なコンピュータ・システムが２次コンピュータ・システムとして使用することができる。したがって、特定の構造、動作（acts）または媒体は、本発明を実施する好ましい形として開示したものである。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施形態による例示的システムを示す図である。
【図２】本発明の特定の態様に従って使用することができるコンピュータ・システムを示す図である。
【図３】本発明の態様による、識別情報文書を同期させるソフトウェア環境を示す図である。
【図４】本発明の特定の態様による識別情報文書の構造を示す図である。
【図５】本発明の特定の実施形態による、識別情報文書を格納する汎用方式を示すブロック図である。
【図６】本発明の実施形態による、識別情報文書を同期させるプロセスの動作特性を示す流れ図である。
【図７】１つの２次コンピュータ・システムから別の２次コンピュータ・システムに識別情報文書更新を伝搬するプロセスの動作特性を示す流れ図である。
【図８】１つのシステムから別のシステムに規則を伝搬するプロセスでの動作特性を示す流れ図である。
【図１】
2007509421.tif 000004
【図２】
2007509421.tif 000005
【図３】
2007509421.tif 000006
【図４】
2007509421.tif 000007
【図５】
2007509421.tif 000008
【図６】
2007509421.tif 000009
【図７】
2007509421.tif 000010
【図８】
2007509421.tif 000011
【国際調査報告】
2007509421.tif 000012