(57)【要約】  本発明は、共通のインターフェースで異なる種類の電子メッセージを提示する方法、システム、コンピュータプログラム製品、およびデータ構造に適用される。電子メッセージ項目（１１６）は、例えば連絡先項目、フォルダ項目、文書項目などの他のタイプの項目と共に項目データベース（１１４）に格納される。電子メッセージ項目は、共通に定義されたいくつかのデータフィールド、および場合によってプロトコルおよび／またはアプリケーション固有のプロパティを表す異なるように定義された他のデータフィールドを有する。コンピュータシステムは、（例えば共通に定義されたデータフィールドからの）メッセージ関連データについて項目データベース（１１４）に対するクエリ（１０７）を行い、共通のメッセージングインターフェースでメッセージ関連データへのリンクを表示することができる。（プロトコルおよび／またはアプリケーション固有のプロパティによって表されるような）異なる種類の電子メッセージへのリンクを共通のメッセージングインターフェースで同時に表示することができる。
2007509430.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数の他のコンピュータシステムと共にネットワークにネットワーク接続可能なコンピュータシステムにおいて、提示されたメッセージ関連データによって効率よくアクセスできるように共通のメッセージングインターフェースでメッセージ関連データを提示する方法であって、
メッセージ関連クエリのクエリ基準を前記共通のメッセージングインターフェースで受信する動作と、
前記クエリ基準に従って項目データベースにメッセージ関連クエリを送出する動作と、
メッセージ関連データの少なくとも第１の部分、およびメッセージ関連データの少なくとも第２の部分を含むメッセージ関連データの複数の部分であって、前記メッセージ関連データの第１の部分は前記メッセージ関連データの第２の部分の１つまたは複数のプロパティフィールドとは異なるように定義された１つまたは複数のプロパティフィールドを有し、前記メッセージ関連データの第１の部分、および前記メッセージ関連データの第２の部分はメッセージスキーマに従って定義された１つまたは複数の共通プロパティフィールドも有する、前記クエリ基準を満たすメッセージ関連データの複数の部分を受信する動作と、
１つまたは複数の異なるように定義されたプロパティフィールドを有するメッセージ関連データの異なる部分が共に表示されるように、メッセージ関連データの前記受信された部分の各々への少なくともリンクを前記共通のメッセージングインターフェースで表示する動作と
を備えたことを特徴とする方法。
【請求項２】
メッセージ関連クエリのクエリ基準を受信する前記動作は、複数のフォルダにまたがるメッセージ関連クエリのクエリ基準を受信する動作を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記メッセージ関連クエリのクエリ基準を受信する動作は、指定された文書に関連付けられているメッセージ関連データについてクエリを行うためのクエリ基準を受信する動作を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記メッセージ関連クエリのクエリ基準を受信する動作は、指定された参加者に関連付けられているメッセージ関連データについてクエリを行うためのクエリ基準を受信する動作を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記メッセージ関連クエリのクエリ基準を受信する動作は、指定された件名に関連付けられているメッセージ関連データについてクエリを行うためのクエリ基準を受信する動作を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記メッセージ関連クエリのクエリ基準を受信する動作は、電子メッセージの１つまたは複数のプロパティフィールドに含まれているメッセージ関連データについてクエリを行うためのクエリ基準を受信する動作を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記電子メッセージの１つまたは複数のプロパティフィールドに含まれているメッセージ関連データについてクエリを行うためのクエリ基準を受信する動作は、異なる種類の複数の電子メッセージに共通の、メッセージスキーマに従って定義される１つまたは複数の共通プロパティフィールドに含まれているメッセージ関連データについてクエリを行うためのクエリ基準を受信する動作を含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記異なる種類の複数の電子メッセージに共通の１つまたは複数の共通プロパティフィールドに含まれているメッセージ関連データについてクエリを行うためのクエリ基準を受信する動作は、前記項目データベースに格納されている少なくとも電子メールメッセージ、インスタントメッセージ、音声メールメッセージ、ファックスメッセージ、ニュースグループ投稿、およびブログエントリに共通の１つまたは複数の共通プロパティフィールドに含まれているメッセージ関連データについてクエリを行うためのクエリ基準を受信する動作を含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記メッセージ関連クエリのクエリ基準を受信する動作は、電子メッセージの１つまたは複数のプロパティフィールドを表すリンクのユーザ選択の結果としてクエリ基準を受信する動作を含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記メッセージ関連クエリを項目データベースに送出する動作は、複数のフォルダにまたがるメッセージ関連データについてのメッセージ関連クエリを送出する動作を含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記メッセージ関連クエリを項目データベースに送出する動作は、指定された文書に関連付けられているメッセージ関連データについてのメッセージ関連クエリを送出する動作を含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記メッセージ関連クエリを項目データベースに送出する動作は、指定された参加者に関連付けられているメッセージ関連データについてのメッセージ関連クエリを送出する動作を含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記メッセージ関連クエリを項目データベースに送出する動作は、指定された件名に関連付けられているメッセージ関連データについてのメッセージ関連クエリを送出する動作を含むことを特徴とする請求項１に記載の方法。
【請求項１４】
前記メッセージ関連クエリを項目データベースに送出する動作は、電子メッセージの１つまたは複数のプロパティフィールドに含まれているメッセージ関連データについてのメッセージ関連クエリを送出する動作を含むことを特徴とする請求項１に記載の方法。
【請求項１５】
前記電子メッセージの１つまたは複数のプロパティフィールドに含まれているメッセージ関連データについてのメッセージ関連クエリを送出する動作は、異なる種類の複数の電子メッセージに共通の、メッセージスキーマに従って定義される１つまたは複数の共通プロパティフィールドに含まれているメッセージ関連データについてのメッセージ関連クエリを送出する動作を含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記異なる種類の複数の電子メッセージに共通の１つまたは複数の共通プロパティフィールドに含まれているメッセージ関連データについてのメッセージ関連クエリを送出する動作は、前記項目データベースに格納されている少なくとも電子メールメッセージ、インスタントメッセージ、音声メールメッセージ、ファックスメッセージ、ニュースグループ投稿、およびブログエントリに共通の１つまたは複数の共通プロパティフィールドに含まれているメッセージ関連データについてのクエリを送出する動作を含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記クエリ基準を満たすメッセージ関連データの複数の部分を受信する動作は、第１のメッセージ拡張スキーマに従って定義された１つまたは複数のプロパティフィールドを有するメッセージ関連データの第１の部分を受信し、第２の異なるメッセージ拡張スキーマに従って定義された１つまたは複数のプロパティフィールドを有するメッセージデータの第２の部分を受信する動作を含むことを特徴とする請求項１に記載の方法。
【請求項１８】
前記共通のメッセージングインターフェースでメッセージ関連データの前記受信した部分のそれぞれへの少なくともリンクを表示する動作は、前記共通のメッセージングインターフェースで同じ見出し下の同じ参加者に対応する異なるアカウントに関連付けられているメッセージ関連データを表示する動作を含むことを特徴とする請求項１に記載の方法。
【請求項１９】
前記共通のメッセージングインターフェースでメッセージ関連データの前記受信した部分のそれぞれへの少なくともリンクを表示する動作は、複数の異なるグループ内のメッセージ関連データの一部を表示する動作を含むことを特徴とする請求項１に記載の方法。
【請求項２０】
前記共通のメッセージングインターフェースでメッセージ関連データの前記受信した部分のそれぞれへの少なくともリンクを表示する動作は、前記共通のメッセージングインターフェースで共通の、しかし個別のプロパティの統合されたビューを提示するようにメッセージ内容の１つまたは複数の部分の前記共通の、しかし個別のプロパティを統合する動作を含むことを特徴とする請求項１に記載の方法。
【請求項２１】
前記共通のメッセージングインターフェースで共通の、しかし個別のプロパティの統合されたビューを提示するようにメッセージ関連内容の１つまたは複数の部分の前記共通の、しかし個別のプロパティを統合する動作は、電子メッセージ関連データの部分のＴｏ、Ｆｒｏｍ、ＣＣ、およびＢＣＣのプロパティを、インスタントメッセージ関連データの部分の参加者プロパティ、音声メッセージ関連データの部分の発呼者プロパティ、ファックスメッセージ関連データの作成者プロパティと共に、前記共通のメッセージングインターフェースで参加者列に表示されるように統合する動作を含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
電子メッセージデータの一部の生成に使用された機構以外の機構を介して電子メッセージデータの前記一部への応答を容易にするインターフェースを提示する動作
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項２３】
前記電子メッセージデータの一部の生成に使用された機構以外の機構を介して電子メッセージデータの前記一部への応答を容易にするインターフェースを提示する動作は、インスタントメッセージ、ファックスメッセージ、音声メッセージ、およびニュースグループ投稿のうちの１つまたは複数を使用して電子メールメッセージへの応答を容易にするインターフェースを提示する動作を含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
１つまたは複数の他のコンピュータシステムと共にネットワークにネットワーク接続可能なコンピュータシステムにおいて、提示されたメッセージ関連データにより効率よくアクセスできるように共通のメッセージングインターフェースにおいて提示されるメッセージ関連データを戻す方法であって、
クエリ側コンピュータシステムからクエリ基準を含むメッセージ関連クエリを受信する動作と、
メッセージ関連データの複数の部分を格納する項目データベースであって、メッセージ関連データの前記複数の部分はメッセージ関連データの少なくとも第１の部分、およびメッセージ関連データの少なくとも第２の部分を含み、前記メッセージ関連データの第１の部分は前記メッセージ関連データの第２の部分の１つまたは複数のプロパティフィールドとは異なるように定義された１つまたは複数のプロパティフィールドを有し、前記メッセージ関連データの第１の部分、および前記メッセージ関連データの第２の部分はメッセージスキーマに従って定義された１つまたは複数の共通プロパティフィールドも有する、項目データベースにアクセスする動作と、
前記メッセージ関連クエリの前記クエリ基準を満たす前記メッセージデータベースに含まれているメッセージ関連データの複数の部分を識別する動作であって、メッセージ関連データの少なくとも１つの識別された部分がメッセージ関連データの少なくとも１つの他の識別された部分とは異なるように定義された１つまたは複数のプロパティフィールドを有する動作と、
メッセージ関連データの前記複数の部分を前記クエリ側コンピュータシステムに戻す動作と
を備えたことを特徴とする方法。
【請求項２５】
前記メッセージ関連クエリをクエリ側コンピュータシステムから受信する動作は、複数のフォルダにまたがるメッセージ関連データについてのメッセージ関連クエリを受信する動作を含むことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記メッセージ関連クエリをクエリ側コンピュータシステムから受信する動作は、指定された文書に関連付けられているメッセージ関連データについてのメッセージ関連クエリを受信する動作を含むことを特徴とする請求項２４に記載の方法。
【請求項２７】
前記メッセージ関連クエリをクエリ側コンピュータシステムから受信する動作は、指定された参加者に関連付けられているメッセージ関連データについてのメッセージ関連クエリを受信する動作を含むことを特徴とする請求項２４に記載の方法。
【請求項２８】
前記メッセージ関連クエリをクエリ側コンピュータシステムから受信する動作は、指定された件名に関連付けられているメッセージ関連データについてのメッセージ関連クエリを受信する動作を含むことを特徴とする請求項２４に記載の方法。
【請求項２９】
前記メッセージ関連クエリをクエリ側コンピュータシステムから受信する動作は、電子メッセージの１つまたは複数のプロパティフィールドに含まれているメッセージ関連データについてのメッセージ関連クエリを受信する動作を含むことを特徴とする請求項２４に記載の方法。
【請求項３０】
前記電子メッセージの１つまたは複数のプロパティフィールドに含まれているメッセージ関連データについてのメッセージ関連クエリを受信する動作は、異なる種類の複数の電子メッセージに共通の、メッセージスキーマに従って定義される１つまたは複数の共通プロパティフィールドに含まれているメッセージ関連データについてのメッセージ関連クエリを受信する動作を含むことを特徴とする請求項２９に記載の方法。
【請求項３１】
前記異なる種類の複数の電子メッセージに共通の１つまたは複数の共通プロパティフィールドに含まれているメッセージ関連データについてのメッセージ関連クエリを受信する動作は、前記項目データベースに格納されている少なくとも電子メールメッセージ、インスタントメッセージ、音声メールメッセージ、ファックスメッセージ、およびニュースグループ投稿に共通の１つまたは複数の共通プロパティフィールドに含まれているメッセージ関連データについてのクエリを受信する動作を含むことを特徴とする請求項３０に記載の方法。
【請求項３２】
前記メッセージ関連クエリの前記クエリ基準を満たすメッセージ関連データベースに含まれているメッセージ関連データの複数の部分を識別する動作は、第１のメッセージ拡張スキーマに従って定義された１つまたは複数のプロパティフィールドを有するメッセージ関連データの第１の部分を識別し、第２の異なるメッセージ拡張スキーマに従って定義された１つまたは複数のプロパティフィールドを有するメッセージデータの第２の部分を識別する動作を含むことを特徴とする請求項２４に記載の方法。
【請求項３３】
１つまたは複数の他のコンピュータシステムと共にネットワークにネットワーク接続可能なコンピュータシステムで使用し、提示されたメッセージ関連データにより効率よくアクセスできるように共通のメッセージングインターフェースでメッセージ関連データを提示する方法を実施し、プロセッサによって実行されると、コンピュータシステムに、
メッセージ関連クエリのクエリ基準を前記共通のメッセージングインターフェースで受信させ、
前記クエリ基準に従って項目データベースにメッセージ関連クエリを送出させ、
メッセージ関連データの少なくとも第１の部分、およびメッセージ関連データの少なくとも第２の部分を含むメッセージ関連データの複数の部分であって、前記メッセージ関連データの第１の部分は前記メッセージ関連データの第２の部分の１つまたは複数のプロパティフィールドとは異なるように定義された１つまたは複数のプロパティフィールドを有し、前記メッセージ関連データの第１の部分、および前記メッセージ関連データの第２の部分はメッセージスキーマに従って定義された１つまたは複数の共通プロパティフィールドも有する、前記クエリ基準を満たすメッセージ関連データの複数の部分を受信させ、
１つまたは複数の異なるように定義されたプロパティフィールドを有するメッセージ関連データの異なる部分が共に表示されるように、メッセージ関連データの前記受信された部分のそれぞれへの少なくともリンクを前記共通のメッセージングインターフェースで表示させる
コンピュータ実行可能命令を格納する１つまたは複数のコンピュータ読取可能な媒体を含むことを特徴とするコンピュータプログラム製品。
【請求項３４】
１つまたは複数の他のコンピュータシステムと共にネットワークにネットワーク接続可能なコンピュータシステムで使用し、提示されたメッセージ関連データにより効率よくアクセスできるように共通のメッセージングインターフェースで提示されるメッセージ関連データを戻す方法を実施し、プロセッサによって実行されると、コンピュータシステムに、
クエリ側コンピュータシステムからクエリ基準を含むメッセージ関連クエリを受信させ、
メッセージ関連データの複数の部分を格納する項目データベースであって、メッセージ関連データの前記複数の部分はメッセージ関連データの少なくとも第１の部分、およびメッセージ関連の少なくとも第２の部分を含み、前記メッセージ関連データの第１の部分は前記メッセージ関連データの第２の部分の１つまたは複数のプロパティフィールドとは異なるように定義された１つまたは複数のプロパティフィールドを有し、前記メッセージ関連データの第１の部分、および前記メッセージ関連データの第２の部分はメッセージスキーマに従って定義された１つまたは複数の共通プロパティフィールドも有する、項目データベースにアクセスさせ、
前記メッセージ関連クエリの前記クエリ基準を満たす前記メッセージデータベースに含まれているメッセージ関連データの複数の部分を識別させるが、メッセージ関連データの少なくとも１つの識別された部分はメッセージ関連データの少なくとも１つの他の識別された部分とは異なるように定義された１つまたは複数のプロパティフィールドを有しており、
メッセージ関連データの前記複数の部分を前記クエリ側コンピュータシステムに戻させる
コンピュータ実行可能命令を格納する１つまたは複数のコンピュータ読取可能な媒体を含むことを特徴とするコンピュータプログラム製品。
【請求項３５】
１つまたは複数の他のコンピュータシステムと共にネットワークにネットワーク接続可能なコンピュータシステムにおいて、提示されたメッセージ関連データにより効率よくアクセスできるように共通のメッセージングインターフェースでメッセージ関連データを提示する方法であって、
メッセージ関連クエリのクエリ基準を前記共通のメッセージングインターフェースで受信する動作と、
前記共通のメッセージングインターフェースで異なる種類の複数の電子メッセージに対応する、前記クエリ基準を満たすメッセージ関連データを同時に提示するステップと
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子メッセージングに関し、より詳細には共通のメッセージングインターフェースを介して異なる種類の電子メッセージにアクセスすることに関する。
【背景技術】
【０００２】
コンピュータシステムおよび関連する技術は、社会の多くの側面に影響を及ぼす。実際に、情報を処理するコンピュータシステムの能力は、我々の生活および仕事の処理を変化させた。現在コンピュータシステムは、コンピュータシステムの出現前は一般に手動で行われていたタスク（例えば文書処理、スケジューリング、データベース管理など）の多くを実行する。ごく最近では、コンピュータシステムは、相互に連結され、また他の電子装置に連結されて有線および無線のコンピュータネットワークを形成し、コンピュータシステムおよび他の電子装置がそれを介して電子データを転送することができるようになった。その結果、コンピュータシステムで実行された多くのタスク（例えば音声通信、電子メールへのアクセス、家庭用電子装置の制御、ウェブの閲覧など）は、有線および／または無線のコンピュータネットワークを介した多くのコンピュータシステムおよび／または他の電子装置間の電子通信を含むこととなった。
【０００３】
特に、電子メッセージングは、通信の重要な手法となった。コンピュータシステムのユーザは、しばしば電子メッセージ（例えば電子メールメッセージ、インスタントメッセージ、ファックス、ニュースグループ投稿など）を送受信して互いに情報を交換する。例えば送信側ユーザは、電子メールメッセージを作成するために、一般に電子メールアプリケーションから新しいメッセージオプションを選択する。電子メールアプリケーションは、その選択に応答して、ユーザが入力したデータを受けることができる１つまたは複数のフィールド（例えばＴｏフィールド、Ｂｏｄｙフィールドなど）を表示する。次いで送信側ユーザは、表示されたフィールドに（キーボードなどで）データを入力する。適切な場合、送信側ユーザは、電子メールメッセージを下書きとして保存し、または（電子メールアプリケーション内の適切な「保存」または「送信」を選択することによって）受信側ユーザに電子メールメッセージを送信することができる。
【０００４】
電子メールメッセージの送信によって、電子メールメッセージを、送信側ユーザのコンピュータシステムから送信側メールサーバを介しネットワークを通って、受信側ユーザの電子メールメッセージを格納する受信側メールサーバに送ることができる。受信側ユーザは、電子メールメッセージを表示するため、電子メールアプリケーションから受信側メールサーバまでの接続を確立する。接続の確立によって、送信側ユーザからのメールメッセージを含めて、受信側ユーザに送信されるすべての電子メールメッセージを、受信側メールサーバから受信側ユーザのコンピュータシステムに転送し、受信側ユーザのコンピュータシステムに格納することができる。送信側ユーザからの電子メールメッセージが転送され、格納されたあと、受信側ユーザは、電子メールアプリケーション内でマウスなどの入力装置を操作して、格納された電子メールメッセージを表示することができる。
【０００５】
また、コンピュータシステムのユーザは、他の異なるメッセージングアプリケーションを使用して他の異なる種類の電子メッセージを送信、受信、および格納することもできる。不都合にも、異なる種類の電子メッセージ（例えば電子メールメッセージ、インスタントメッセージ、ファックス、ブログエントリ、音声メッセージなど）は、一般に異なるデータフォーマットで格納される。例えば、インスタントメッセージなどあるタイプの電子メッセージの格納に使用されるデータフォーマットは一般に、ニュースグループ投稿など他の異なる種類の電子メッセージの格納に使用されるデータフォーマットと異なる。したがって、指定されたタイプの電子メッセージにアクセスするには、ユーザは、指定されたタイプの電子メッセージに対応するデータフォーマットで格納されたデータにアクセスすることができるメッセージングアプリケーションを使用することが求められる。例えば、インスタントメッセージにアクセスするには、ユーザは一般にインスタントメッセージングアプリケーションを使用することが求められる。
【０００６】
さらに、メッセージングアプリケーションは、一般にほんのわずかの、またはたった１つのタイプの電子メッセージにアクセスするようにしか構成されておらず、一般に他の追加のタイプの電子メッセージにアクセスするために使用することができない。すなわち、メッセージングアプリケーションは一般に、限られた数のデータフォーマット、および１つまたは複数の指定された電子メッセージタイプに対応する潜在的にたった１つのデータフォーマットで格納されるデータにしかアクセスしないように設計されている。例えば、インスタントメッセージアプリケーションは、一般に１つまたは複数のインスタントメッセージのデータフォーマットで格納されたデータにアクセスするように構成されているが、一般にファックスのデータフォーマットで格納されたデータにアクセスするようには構成されてはいない。
【０００７】
さらに、一部のデータフォーマットは、アプリケーションに固有である可能性がある。したがって、同じタイプの電子メッセージにアクセスするように構成された２つのメッセージングアプリケーションは、それにもかかわらず、電子メッセージデータを格納するのに異なるデータフォーマットを使用する場合がある。例えば、第１の電子メールアプリケーションは、第１のデータフォーマットを使用して電子メールメッセージを格納することができ、第２の電子メールアプリケーションは、第２の異なるデータフォーマットを使用して電子メールメッセージを格納する。したがって、特定のタイプの電子メッセージにアクセスするように開発されたメッセージングアプリケーションは、特定のタイプの電子メッセージのすべてにアクセスできるわけではない。例えば、第１の電子メールアプリケーションによって第１のデータフォーマットで格納された電子メールメッセージは、（例えば第２のデータフォーマットで格納された電子メールメッセージのみにアクセスすることができる）第２の電子メールアプリケーションからアクセスすることができない。
【０００８】
また、異なる各メッセージアプリケーションは、一般に、対応する電子メッセージを異なるデータベースに格納する。例えば、インスタントメッセージングアプリケーションはインスタントメッセージをインスタントメッセージングデータベースに格納することができ、電子メールアプリケーションは電子メールメッセージをインスタントメッセージングデータベースに格納することができ、ニュースグループリーダはニュースグループ投稿をニュースグループデータベースに格納することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
したがって、すべてではないにしてもほとんどのコンピュータシステムは、メッセージデータを異なるデータフォーマットで異なるデータベースに格納し、異なるデータフォーマットで格納され、異なるデータベースに存在するメッセージデータにアクセスするメッセージングアプリケーションをいくつか含んでいる。例えば、コンピュータシステムは、電子メールメッセージにアクセスする電子メールアプリケーション、インスタントメッセージにアクセスするインスタントメッセージアプリケーション、ファックスにアクセスするファックスアプリケーションなどを含み得る。例えばユーザが指定されたエンティティに対応する使用可能なすべての電子メッセージにアクセスすることを望む場合、複数の電子メッセージングアプリケーションを使用するのは時間がかかる可能性がある。所望の電子メッセージが異なるデータフォーマットで格納されており、かつ／または異なるデータベースにある場合、各メッセージングアプリケーションは、所望の電子メッセージについて個別の検索を実行しなければならない。例えばユーザは、電子メールアプリケーションに切り替え（または複数の電子メールアプリケーション間で切り替え）て電子メールメッセージを検索し、インスタントメッセージアプリケーションに切り替えてインスタントメッセージを検索し、音声メッセージアプリケーションに切り替えて音声メッセージを検索することが求められる場合がある。複数のメッセージングアプリケーションに電子メッセージの検索を実行させることは、時間およびコンピュータシステムリソースの望ましくない消費をもたらす可能性がある。
【００１０】
特定の電子メッセージまたは電子メッセージ関連データの検索およびクエリも、各電子メッセージングアプリケーションで別々に実行する必要がある。すなわちユーザは、電子メールメッセージを検索するには電子メールアプリケーションを使用することが求められる。しかし、ユーザは一般に、電子メールアプリケーションを使用して、格納されているインスタントメッセージまたは音声メッセージを検索することはできない。電子メッセージタイプが不明である場合、各メッセージングアプリケーションで別々に検索を実行しなければならないことは特に問題となる可能性がある。ユーザは、単一の電子メッセージを探し出すために異なるいくつかのメッセージングアプリケーションの各々で検索を実行することが求められる可能性がある。
【００１１】
したがって、共通のメッセージングインターフェースを介して異なる種類の電子メッセージにアクセスするためのシステム、方法、コンピュータプログラム製品、およびデータ構造が有利となる。
【課題を解決するための手段】
【００１２】
従来の最新技術に関する上記の問題は、本発明の原理によって克服される。本発明は、共通のメッセージングインターフェースを介して異なる種類の電子メッセージにアクセスするための方法、システム、コンピュータプログラム製品、およびデータ構造を対象とする。電子メッセージは一般に、電子メッセージスキーマ階層に従って作成される。異なる種類の電子メッセージ間（例えば電子メールメッセージとインスタントメッセージとの間）でさえいくつかのデータフィールドが共通に定義される（例えば件名フィールド、参加者フィールド、重要度フィールドなど）ように電子メッセージを作成することができる。また、一部のデータフィールド、例えば特定のメッセージプロトコルおよび／または特定のメッセージアプリケーションに固有のデータフィールドが別々に定義され（ニュースグループ投稿でのＰｏｓｔｅｒＩＤ、および電子メールメッセージでの削除済みフィールドなど）、したがって異なる種類のメッセージ間で異なるように電子メッセージを作成することもできる。したがって電子メッセージは、他の電子メッセージと共通のいくつかのフィールド、および他の電子メッセージと異なるいくつかのフィールドを有することができる。共通に定義されたいくつかのフィールド、および異なるように定義された他のフィールドを備えることによって、電子メッセージを共通のメッセージングインターフェースで表示することができ、また電子メッセージがプロトコルおよび／またはアプリケーションに固有のプロパティを有することができるようになる。
【００１３】
（共通に定義されたいくつかのデータフィールド、および場合によっては異なるように定義された他のデータフィールドを有する）電子メッセージ項目は、例えば連絡先項目、フォルダ項目、文書項目など他のタイプの項目と共に項目データベースに格納される。コンピュータシステムは、メッセージ関連データについて項目データベースをクエリし、共通のメッセージングインターフェースでクエリ結果を表示することができる。クエリ側コンピュータシステムは、メッセージ関連クエリのクエリ基準（例えば、「ユーザＡ」からのすべての電子メッセージの要求、２００３年４月２７日以前に受信されたすべての電子メッセージの要求など）を受信する。クエリ基準は、例えばユーザ入力の結果として共通のメッセージングインターフェースで受信することができる。クエリ側コンピュータシステムは、メッセージ関連クエリをクエリ基準に従って項目データベースに送出する。
【００１４】
返信側コンピュータシステムは、クエリ側コンピュータシステムからメッセージ関連クエリを受信する。返信側コンピュータシステムは、項目データベースにアクセスして、クエリ基準を満たすメッセージ関連データの１つまたは複数の部分を識別する。メッセージ関連データの識別は、共通に定義されたデータフィールドの値を検索することを含み得る。異なるいくつかのプロトコルおよび／またはアプリケーションに固有のデータフィールドを有するメッセージ項目についてさえ、共通に定義されたフィールドを検索することができる。したがって、（プロトコルおよび／またはアプリケーションに固有のデータフィールドによって表されるような）異なる種類のいくつかの電子メッセージが識別される可能性がある。例えば、２００２年３月２１日以前に受信されたすべてのメッセージは、電子メールメッセージ、インスタントメッセージ、ファックスメッセージ、音声メッセージなどを含む可能性がある。
【００１５】
返信側コンピュータシステムは、メッセージ関連データの１つまたは複数の部分をクエリ側コンピュータシステムに戻す。クエリ側コンピュータシステムは、メッセージ関連データの１つまたは複数の部分を受信する。クエリ側コンピュータシステムは、メッセージ関連データのその各部分への少なくともリンクにアクセスできるようにメッセージ関連インターフェースを構成する。したがって、異なる種類の電子メッセージを表しているメッセージ項目が受信されると、異なる種類の電子メッセージへのリンクが共通のメッセージングインターフェースで同時に表示され得る。ユーザは、対応するリンクを選択して特定の電子メッセージにアクセスすることができる。
【００１６】
本発明の追加の特徴および利点は、以下の説明に記載しており、一部にはその説明から明らかになり、または本発明の実施によって学び取ることができる。本発明の特徴および利点は、特に特許請求の範囲において指摘した手段（ｉｎｓｔｒｕｍｅｎｔ）および組合せによって実現し、得ることができる。以下に記載するように、本発明のこうした特徴および他の特徴は、以下の説明および添付の特許請求の範囲からより完全に明らかになり、または本発明の実行によって学び取ることができる。
【００１７】
本発明の上記および他の利点および特徴を得ることができる方法を説明するために、上記で簡単に説明した本発明のより詳しい説明は、添付の図面に示したその特定の実施形態を参照して行う。これらの図面は、単に本発明の一般的な実施形態を表しているにすぎず、したがってその範囲を限定するものとみなされるものではないことを理解した上で、本発明について、添付の図面の使用を介して追加の特定性および詳細を含めて記載し、説明する。
【発明を実施するための最良の形態】
【００１８】
本発明の原理は、共通のメッセージングインターフェースを介して異なる種類の電子メッセージへのアクセスを提供する。電子メッセージ項目は、例えば連絡先項目、フォルダ項目、文書項目など他のタイプの項目と共に項目データベースに格納される。電子メッセージ項目には共有に定義されたいくつかのデータフィールドがあり、プロトコルおよび／またはアプリケーションに固有のプロパティを表す他のデータフィールドが異なるように定義されている場合もある。コンピュータシステムは、（例えば共通に定義されたデータフィールドからの）メッセージ関連データについて項目データベースに対するクエリを行うことができ、また共通のメッセージングインターフェースでメッセージ関連データへのリンクを表示することができる。（プロトコルおよび／またはアプリケーションに固有のプロパティによって表されるような）異なる種類の電子メッセージとのリンクは、共通のメッセージングインターフェースで同時に表示することができる。
【００１９】
本発明の範囲内の実施形態は、コンピュータ実行可能命令またはデータ構造を含む、または格納するコンピュータ読取可能な媒体を含む。こうしたコンピュータ読取可能な媒体は、汎用または専用のコンピュータシステムによってアクセスできる使用可能な任意の媒体でよい。こうしたコンピュータ読取可能な媒体は、それだけには限定されないが一例として、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、またはコンピュータ実行可能命令、コンピュータ可読命令、またはデータ構造の形で所望のプログラムコード手段を含む、または格納するために使用することができ、また汎用または専用コンピュータシステムによってアクセスできる他の任意の媒体などの物理的な記憶媒体を含むことができる。
【００２０】
この説明および頭記の特許請求の範囲では、「ネットワーク」とは、コンピュータシステムおよび／またはモジュール間の電子データのトランスポートを可能にする１つまたは複数のデータリンクとして定義される。情報がネットワークまたは他の通信接続（有線、無線、または有線および無線の組合せ）を介してコンピュータシステムに転送または提供されるとき、接続は、正確にはコンピュータ読取可能な媒体とみなされる。したがってこうした任意の接続は、正確にはコンピュータ読取可能な媒体と呼ばれる。上記の組合せもコンピュータ可読の媒体の範囲内に含めるべきである。コンピュータ実行可能命令は、例えば、汎用コンピュータシステムまたは特殊コンピュータシステムにある機能または機能群を実行させる命令およびデータを含む。コンピュータ実行可能命令は、例えばバイナリ、またはアセンブリ言語などの中間形式の命令（ｉｎｔｅｒｍｅｄｉａｔｅ  ｆｏｒｍａｔ  ｉｎｓｔｒｕｃｔｉｏｎ）でよく、さらにソースコードでもよい。
【００２１】
この説明および特許請求の範囲では、「コンピュータシステム」は、共に働いて電子データに対する操作を行う１つまたは複数のソフトウエアモジュール、１つまたは複数のハードウェアモジュール、またはそれの組合せとして定義される。例えば、コンピュータシステムの定義は、パーソナルコンピュータのハードウェア構成要素、およびパーソナルコンピュータのオペレーティングシステムなどのソフトウエアモジュールを含む。モジュールの物理的な配置は重要ではない。コンピュータシステムは、ネットワークを介して結合される１つまたは複数のコンピュータを含み得る。同様に、コンピュータシステムは、内部モジュール（メモリおよびプロセッサなど）が共に働いて電子データに対する操作を行う単一の物理的な装置（携帯電話またはパーソナルデジタルアシスタント「ＰＤＡ」など）を含んでいてもよい。
【００２２】
この説明および頭記の特許請求の範囲では、「スキーマ」は、複数のコンピュータシステムが表現された共有語彙に従って文書を処理することができる複数のコンピュータシステム間の共有語彙の表現として定義される。例えば、拡張可能なマーク付け言語（「ＸＭＬ」）スキーマは、ＸＭＬスキーマ言語のスキーマ構成体（例えば名前／値の対）を使用してＸＭＬ文書のクラスを定義し、記述することができる。これらのスキーマ構成体を使用して、ＸＭＬ文書で使用されるデータ型、要素およびその内容、属性およびその値、エンティティおよびその内容、および表記の意味、使用、および関係を制約し、文書化することができる。したがって、ＸＭＬスキーマにアクセスすることができる任意のコンピュータシステムは、ＸＭＬスキーマに従ってＸＭＬ文書を処理することができる。さらに、ＸＭＬスキーマにアクセスすることができる任意のコンピュータシステムは、同じくＸＭＬスキーマにアクセスすることができる他のコンピュータシステムおよび／またはメッセージプロセッサによって使用できるように、ＸＭＬ文書を構成し、または変更することができる。
【００２３】
スキーマは、例えば「．ｄｔｄ」拡張子で終わるＤＴＤファイルなど、文書型定義（「ＤＴＤ」）を含むように定義される。また、スキーマは、例えば「．ｘｓｄ」拡張子で終わるＸＭＬスキーマファイルなど、ＷＷＷコンソーシアム（「Ｗ３Ｃ」）ＸＭＬスキーマを含むように定義される。しかし、特定のＤＴＤまたはＸＭＬスキーマの実際のファイル拡張子は重要でない。スキーマを使用して、論理、２進数、８進数、１０進数、１６進数、整数、浮動小数点、文字、文字列、ユーザ定義のデータ型、およびデータ構造の定義に使用するこれらのデータ型の組合せを含む実質的にどんなデータ型でも定義することができる。ユーザ定義のデータ型の一部の例には、日付および時刻データを表すＤａｔｅＴｉｍｅデータ型、および例えば電話番号、電子メールアドレス、インスタントメッセージアドレスなど、電子アドレスデータを表すＥＡｄｄｒｅｓｓデータ型がある。また、スキーマは、スキーマ階層の他のスキーマへの参照またはリンクのために定義することもできる。
【００２４】
パーソナルコンピュータ、ラップトップコンピュータ、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家電、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、携帯電話、ＰＤＡ、ポケットベルなどを含む多くのタイプのコンピュータシステム構成を含むネットワークコンピューティング環境において本発明を実施できることを当業者であれば理解されよう。本発明は、ネットワークを介して（有線データリンク、無線データリンクのいずれかによって、または有線および無線のデータリンクの組合せによって）リンクされたローカルおよびリモートのコンピュータシステムが両方ともタスクを行う分散システム環境においても実施することができる。分散システム環境では、プログラムモジュールは、ローカルおよびリモートのメモリ記憶装置に置くことができる。
【００２５】
図１は、本発明の原理による電子メッセージ関連データの効率的なソートおよびそれへのアクセスを容易にするネットワークアーキテクチャ１００および一般のスキーマ階層１５０の例を示す。ネットワークアーキテクチャ１００は、コンピュータシステム１０２、コンピュータシステム１０９、データベース１１４、およびネットワーク１２１を含む。コンピュータシステム１０２およびコンピュータシステム１０９は、通信リンク１０６によって接続されている。コンピュータシステム１０２およびコンピュータシステム１０９は、リンク１０６を介してメッセージ関連データ（例えば電子メールメッセージ、インスタントメッセージ、ファックスメッセージ、ニュースグループ投稿、音声メッセージ、メッセージ添付ファイルなど）を交換することができる。例えばコンピュータシステム１０９は、電子メッセージを格納するメッセージングサーバであってもよい。コンピュータシステム１０２は、時々コンピュータシステム１０９に接続して電子メッセージをダウンロードすることができる。
【００２６】
コンピュータシステム１０９は、リンク１２３によってデータベース１１４に接続されている。データベース１１４は、異なる種類の複数のデータベース項目を格納するデータベースとすることができる。例えば、連絡先サイロ１８３は連絡先（個人、組織、会社など）を表す連絡先項目を格納することができ、フォルダサイロ１８３は（メッセージ項目を格納するなど）他のタイプの項目を格納するフォルダを表すフォルダ項目を格納することができ、メッセージサイロ１８４は電子メッセージを表すメッセージ項目を格納することができ、文書サイロ１８６は様々なタイプの文書を表す文書項目を格納することができる。データベース１１４に格納されるデータベース項目は、スキーマ階層１５０のスキーマに従って定義されたデータフィールドを含むことができる。連絡先サイロ１８２の前、および文書サイロ１８６の後の一連の３つのピリオド（省略）は、（他の異なる種類のデータベース項目を潜在的に格納する）他のサイロをデータベース１１４に含めることができることを示す。
【００２７】
コンピュータシステム１０９は、リンク１１８によってネットワーク１２１に接続されている。ネットワーク１２１は、ローカルエリアネットワーク（「ＬＡＮ」）、広域ネットワーク（「ＷＡＮ）」、またはインターネットでもよい。コンピュータ１０９は、リンク１１８を介してネットワーク１２１に接続されている他のコンピュータシステムとの間でデータの送受信を行うことができる。コンピュータシステム１０２、コンピュータシステム１０９、および場合によってネットワーク１２１に接続されている他のコンピュータシステムは、スキーマ階層１５０に含まれるスキーマにアクセスすることができる。
【００２８】
スキーマ階層１５０は、一般に電子メッセージを定義するデータフォーマットを表す。電子メッセージを表すメッセージ項目（およびデータベース１１４の他のタイプの項目）を、基本項目スキーマ１５１に従って定義することができる。一般に、基本項目スキーマは、あるデータベース項目を別のデータベース項目と区別するために使用するデータフィールド（例えばグローバル一意ＩＤおよび表示名など）のデータフォーマットを定義することができる。したがって、メッセージサイロ１８４に格納されているメッセージ項目（および連絡先サイロ１８２、フォルダサイロ１８３、および文書サイロ１８６に格納されている項目）は、基本項目スキーマ１５１に従って定義された１つまたは複数のデータフィールドを含むことができる。
【００２９】
メッセージスキーマ１５２は、異なる種類の複数の電子メッセージ（電子メールメッセージ、インスタントメッセージ、ニュースグループ投稿、ブログエントリ、ファックスメッセージ、音声メールメッセージなど）に共通の１つまたは複数のデータフィールド（例えばメッセージの件名、メッセージのサイズなど）のデータフォーマットを定義する。メッセージスキーマ１５２は、例えばテキスト形式やハイパテキストマーク付け言語（「ＨＴＭＬ」）形式など一般のフォーマットを定義することができる。したがって、メッセージサイロ１８４に格納されているメッセージ項目は、メッセージスキーマ１５２に従って定義された１つまたは複数のデータフィールドを含むことができる。メッセージスキーマ１５２は、スキーマ階層１５０の他のスキーマに従って定義されたデータフィールドを参照する、またはそれにリンクするデータフィールドを定義することができる。
【００３０】
例えば、メッセージスキーマ１５２は、連絡先サイロ１８２内の（連絡先スキーマ１５３に従って定義されたデータフィールドを有する）連絡先関連情報を参照する、またはそれにリンクする１つまたは複数のデータフィールドを定義することができる。したがって、メッセージスキーマ１５２に従って定義されたメッセージ項目は、サイロ１８２内の連絡先関連情報を参照する、またはそれにリンクすることができる。連絡先関連情報を参照すること、またはそれにリンクすることは、連絡先関連情報に対応するエンティティがメッセージ項目に関連付けられていることを示すことができる。同様に、メッセージスキーマ１５２は、フォルダサイロ１８３内の（連絡先スキーマ１５３に従って定義されたデータフィールドを有する）フォルダ関連情報を参照する、またはそれにリンクする１つまたは複数のデータフィールドを定義することができる。したがって、メッセージスキーマ１５２に従って定義されたメッセージ項目は、フォルダサイロ１８３内のフォルダ関連情報を参照する、またはそれにリンクすることもできる。フォルダ関連情報を参照すること、またはそれにリンクすることは、メッセージ項目がフォルダ関連データに対応するフォルダに格納されていることを示すことができる。
【００３１】
同様に、メッセージスキーマ１５２は、文書関連情報を参照する、またはそれにリンクする１つまたは複数のデータフィールドを定義することができる。したがって、スキーマ１５２に従って定義されたメッセージ項目は、文書サイロ１８６のファイル関連データを参照する、またはそれにリンクする（添付ファイルスキーマ１５７に従って定義されたデータフィールドを有する）１つまたは複数の添付ファイルを含むことができる。文書関連データを参照すること、またはそれにリンクすることは、文書関連データに対応する文書がメッセージ項目に対する添付ファイルであることを示すことができる。さらに、メッセージスキーマ１５２に従って定義されたメッセージ項目は、アカウントスキーマ１５８に従って定義されたアカウント関連データを参照する、またはそれにリンクすることができる。メッセージ項目の内容（例えばメッセージ本文またはメッセージの添付ファイルなど）は、内容スキーマ１５６に従って定義されたデータフィールドを含むことができる。
【００３２】
スキーマ１５２に従って定義されたメッセージ項目は、１つまたは複数のメッセージ拡張スキーマに従って定義されたデータフィールドを含むこともできる。一部のメッセージ拡張スキーマは、指定されたメッセージプロトコルとの互換性を促進するプロトコル拡張であり得る。メッセージプロトコル拡張スキーマ１６１は、特定のメッセージプロトコルに固有のデータフィールドを定義する１つまたは複数のメッセージプロトコル拡張スキーマを含み得る。例えば、プロトコル拡張スキーマ１６２は、（例えばネットワークニュース転送プロトコル（「ＮＴＴＰ」など））第１のメッセージプロトコルに固有の１つまたは複数のデータフィールドのデータフォーマットを定義することができ、プロトコル拡張スキーマ１６３は、（例えばポストオフィスプロトコル（「ＰＯＰ」）など）第２のメッセージプロトコルに固有の１つまたは複数のデータフィールドのデータフォーマットを定義することができる。プロトコル拡張スキーマは、階層的に配列することができる。例えば、プロトコル拡張スキーマ１６４は、（プロトコル拡張スキーマ１６２に従って定義されたデータフィールドを有する）第１のメッセージプロトコルの特定の実装に固有の追加のデータフィールドのデータフォーマットを定義することができる。
【００３３】
他のメッセージ拡張は、指定されたメッセージアプリケーションとの互換性を促進するアプリケーション拡張であり得る。メッセージアプリケーション拡張スキーマ１６６は、メッセージアプリケーションに固有のデータフィールドを定義する１つまたは複数のメッセージアプリケーション拡張スキーマを含み得る。例えば、アプリケーション拡張スキーマ１６７は、第１のメッセージアプリケーション（電子メールアプリケーションなど）に固有の１つまたは複数のデータフィールドのデータフォーマットを定義することができ、アプリケーション拡張プロトコルスキーマ１６８は、第２のメッセージアプリケーション（ファックスアプリケーションなど）に固有の１つまたは複数のデータフィールドのデータフォーマットを定義することができる。アプリケーション拡張スキーマは、階層的に配列することができる。例えば、アプリケーション拡張スキーマ１６９は、（アプリケーション拡張スキーマ１６８に従って定義されたデータフィールドを有する）第２のメッセージアプリケーションの特定のバージョンに固有の追加のデータフィールドのデータフォーマットを定義することができる。
【００３４】
したがって、メッセージスキーマ１５２に従って定義されたデータフィールドを有するメッセージ項目は、メッセージプロトコル拡張スキーマ１６１およびメッセージアプリケーション拡張スキーマ１６６の拡張スキーマのいずれかに従って定義された追加のデータフィールドを有することもできる。必要に応じてメッセージ拡張に対応するデータフィールドをメッセージ項目に「留め」、またメッセージ項目から取り除いて既存のメッセージプロトコルおよびメッセージアプリケーションとの互換性を促進する。したがって、メッセージ項目に含まれるデータフィールドの構成は、時間と共に変化し得る。
【００３５】
メッセージアプリケーション１１１（データベースインターフェースモジュール）などのアプリケーションは、メッセージ項目へのアクセス前に、特定のプロトコル拡張スキーマまたはアプリケーション拡張スキーマのデータフィールドがメッセージ項目に留められる、またはそこから取り除かれるよう要求することができる。したがってメッセージ項目を、特定のメッセージプロトコルまたはメッセージアプリケーションとの互換性のために変更することができる。例えば、メッセージアプリケーション１１１は、ＮＮＴＰプロトコル拡張スキーマのフィールドをメッセージ項目１１６に留めるよう要求することができる。したがって、メッセージアプリケーション１１１は、メッセージ項目１１６を取り出し、ＮＮＴＰプロトコルとの互換性を促進する（例えばプロトコル拡張スキーマ１６２に従って定義された）データを含むようにメッセージ項目１１６を変更することができる。次いで変更されたメッセージ項目１１６を、コンピュータシステム１０２に転送する、またはデータベース１１４に再度格納することができる。
【００３６】
図２Ａおよび図２Ｂは、本発明の原理によるより詳細なスキーマ階層２００の例を示す図である。図２Ａに示すように、スキーマ階層２００は、基本項目スキーマ２１０を含む。基本項目スキーマ２１０は、基本項目データを表すデータフォーマットを定義する相関フィールド２１１を含む。より具体的には、相関フィールド２１１は、表１に示すようなデータフォーマットを定義することができる。
【００３７】
【表１】
2007509430.tif 000003
【００３８】
図２Ａに示すように、スキーマ階層２００は、メッセージスキーマ２１２を含む。メッセージスキーマ２１２は、基本項目スキーマ２１０から派生し、これもまたメッセージ項目を表すデータフォーマットを定義する相関フィールド２１３を含む。メッセージスキーマ２１２のフィールドを（基本項目スキーマ２１０で定義された）グローバル一意識別子を有する基本項目に適用して、基本項目にメッセージ項目のプロパティを提示させることができる。より具体的には、相関フィールド２１３は、表２に示すようなデータフォーマットを定義することができる。
【００３９】
【表２−１】
2007509430.tif 000004
【００４０】
【表２−２】
2007509430.tif 000005
【００４１】
【表２−３】
2007509430.tif 000006
【００４２】
【表２−４】
2007509430.tif 000007
【００４３】
【表２−５】
2007509430.tif 000008
【００４４】
【表２−６】
2007509430.tif 000009
【００４５】
図２Ａに示すように、スキーマ階層２００は、内容スキーマ２１６を含む。内容スキーマ２１６は、メッセージ項目に関連付けられている内容の一部を表すデータフォーマットを定義する相関フィールド２１７を含む。メッセージスキーマ２１２に従って定義されたメッセージ項目は、内容スキーマ２１６に従って定義された内容の一部（本文または添付ファイルなど）へのリンクを含み得る。これは、文書、イベント、または内容の他の何らかの部分へのリンクであり得る。メッセージ項目は、複数の本文および／または添付ファイルを有することができる。例えば、ｍｕｌｔｉｐａｒｔ  ＭＩＭＥメッセージは、複数の本文を含むことができる。より具体的には、相関フィールド２１７は、表３に示すようなデータフォーマットを定義することができる。
【００４６】
【表３】
2007509430.tif 000010
【００４７】
図２Ａに示すように、スキーマ階層２００は、添付ファイルスキーマ２１８を含む。内容スキーマ２１８は、メッセージ項目に関連付けられている添付ファイルを表すデータフォーマットを定義する相関フィールド２１９を含む。添付ファイルスキーマ２１８に従って定義された添付ファイルは、メッセージスキーマ２１２に従って定義されたメッセージ項目へのリンクを含むことができる。より具体的には、相関フィールド２１９は、表４に示すようなデータフォーマットを定義することができる。
【００４８】
【表４−１】
2007509430.tif 000011
【００４９】
【表４−２】
2007509430.tif 000012
【００５０】
【表４−３】
2007509430.tif 000013
【００５１】
【表４−４】
2007509430.tif 000014
【００５２】
【表４−５】
2007509430.tif 000015
【００５３】
【表４−６】
2007509430.tif 000016
【００５４】
図２Ａに示すように、スキーマ階層２００は、内容プロパティスキーマ２２４を含む。内容プロパティスキーマ２２４は、内容プロパティを表すデータフォーマットを定義する相関フィールド２２５を含む。内容プロパティは、メッセージの内容を記述するフィールドを含む。内容プロパティは、メッセージ項目と（例えば内容スキーマ２１６に従って定義された）内容の一部との間の関係、または（例えば添付ファイルスキーマ２１８に従って定義された）添付ファイルの拡張に対して使用される。より具体的には、相関フィールド２２５は、表５に示すようなデータフォーマットを定義することができる。
【００５５】
【表５−１】
2007509430.tif 000017
【００５６】
【表５−２】
2007509430.tif 000018
【００５７】
図２Ｂに示すように、スキーマ階層２００は、メッセージプロトコル拡張スキーマ２３０およびメッセージアプリケーション拡張スキーマ２５０を含む複数のメッセージ拡張スキーマを含む。メッセージプロトコル拡張スキーマ２３０は、複数の対応するメッセージプロトコルとの互換性のためにメッセージ項目の拡張に使用することができる複数のプロトコル拡張スキーマを含む。例えば、メッセージプロトコル拡張スキーマ２３０は、それぞれインスタントメッセージ、電子メール、およびファックスプロトコルとの互換性を促進することができるインスタントメッセージプロトコルスキーマ２３１、電子メールプロトコルスキーマ２３３、およびファックスプロトコルスキーマ２３５を含む。メッセージプロトコル拡張スキーマ２３０に明示的に示したスキーマの前、間、および後の省略記号は、メッセージプロトコル拡張スキーマ２３０が追加のスキーマ（例えば音声メッセージプロトコル、ブログ入力プロトコルなどとの互換性のためのメッセージ項目の拡張用など）を含み得ることを示す。
【００５８】
垂直の省略記号２３２および２３６は、インスタントメッセージプロトコルスキーマ２３１およびファックスプロトコルスキーマ２３５がそれぞれ１つまたは複数の相関データフィールドを含み得ることを示す。１つまたは複数の相関データフィールドを使用して、対応するメッセージプロトコルとの互換性のためにメッセージ項目を拡張することができる。例えば、電子メールプロトコルスキーマ２３３は、電子メールプロトコルとの互換性のために（例えばメッセージスキーマ２１２に従って定義された）メッセージ項目の拡張に使用することができる相関フィールド２３４を含む。より具体的には、相関フィールド２３４は、表６に示すようなデータフォーマットを定義することができる。
【００５９】
【表６−１】
2007509430.tif 000019
【００６０】
【表６−２】
2007509430.tif 000020
【００６１】
図２Ｂに示すように、電子メールＰＯＰ３スキーマ２３７は、電子メールプロトコルスキーマ２３３から派生し、ＰＯＰ３固有のデータを定義する追加の相関フィールド２３８を含む。電子メールＰＯＰ３スキーマ２３７を使用して、ＰＯＰ３プロトコルとの互換性を促進するように（例えば電子メールプロトコルスキーマ２３３に従って定義されたフィールドを含むなど）電子メールメッセージを拡張することができる。相関フィールド２３８は、表７に示すようなデータフォーマットを定義することができる。
【００６２】
【表７】
2007509430.tif 000021
【００６３】
図２Ｂに示すように、電子メールＮＮＴＰメッセージスキーマ２３９は、電子メールプロトコルスキーマ２３３から派生し、ＮＮＴＰ固有のデータを定義する追加の相関フィールド２４０を含む。電子メールＮＮＴＰスキーマ２３７を使用して、ＮＮＴＰプロトコルとの互換性を促進するように（例えば電子メールプロトコルスキーマ２３３に従って定義されたフィールドを含むなど）電子メールメッセージを拡張することができる。相関フィールド２４０は、表８に示すようなデータフォーマットを定義することができる。
【００６４】
【表８】
2007509430.tif 000022
【００６５】
図２Ｂに示すように、電子メールコミュニティニューススキーマ２４１は、電子メールＮＮＴＰスキーマ２３９からさらに派生し、コミュニティニュース固有のデータを定義する追加の相関フィールド２４２を含む。電子メールコミュニティニューススキーマ２４１を使用して、コミュニティニュースメッセージとの互換性を促進するように（例えば電子メールＮＮＴＰスキーマ２３９に従って定義されたフィールドを含むなど）ＮＮＴＰメッセージを拡張することができる。相関フィールド２４２は、表９に示すようなデータフォーマットを定義することができる。
【００６６】
【表９】
2007509430.tif 000023
【００６７】
メッセージアプリケーション拡張スキーマ２５０は、複数の対応するメッセージアプリケーションとの互換性のためにメッセージ項目の拡張に使用できる複数のアプリケーション拡張スキーマを含む。例えば、メッセージアプリケーションプロトコル拡張スキーマ２５０は、それぞれブログアプリケーション、第１の電子メールアプリケーション、および第２の電子メールアプリケーションとの互換性を促進することができるブログアプリケーションスキーマ２５１、電子メールアプリケーションスキーマ２５３、および第２の電子メールアプリケーションスキーマ２５５を含む。メッセージアプリケーション拡張スキーマ２５０に明示的に示したスキーマの前、間、および後の省略記号は、メッセージアプリケーション拡張スキーマ２５０が追加のスキーマ（例えば音声メッセージアプリケーション、ファックスアプリケーション、ニュースグループアプリケーションなどとの互換性のためのメッセージ項目の拡張用など）を含み得ることを示す。
【００６８】
垂直の省略記号２５２および２５６は、ブログアプリケーションスキーマ２５１および第２の電子メールアプリケーションスキーマ２５５がそれぞれ１つまたは複数の相関データフィールドを含み得ることを示す。１つまたは複数の相関データフィールドを使用して、対応するメッセージアプリケーションとの互換性のためにメッセージ項目を拡張することができる。例えば、電子メールアプリケーションスキーマ２５３は、特定の電子メールアプリケーションとの互換性のためにメッセージ項目の拡張に使用することができる相関フィールド２５４を含む。特定の電子メールアプリケーションは、第２の電子メールアプリケーションスキーマ２５５に対応する第２の電子メールアプリケーションと異なる場合がある。より具体的には、相関フィールド２５４は、表１０に示すようなデータフォーマットを定義することができる。
【００６９】
【表１０−１】
2007509430.tif 000024
【００７０】
【表１０−２】
2007509430.tif 000025
【００７１】
【表１０−３】
2007509430.tif 000026
【００７２】
図５は、本発明の原理に従って共通のメッセージングインターフェースを介して異なる種類の電子メッセージにアクセスする方法５００のフロー図の例を示している。図３は、本発明の原理に従って共通のメッセージングインターフェースによって生成された表示３００の第１の例を示している。図４は、本発明の原理に従って共通のメッセージングインターフェースによって生成された表示４００の第２の例を示している。方法５００は、ネットワークアーキテクチャ１００、スキーマ階層１５０、表示３００、および表示４００に関して説明している。
【００７３】
方法５００は、メッセージ関連クエリのクエリ基準を受信する動作（動作５０１）を含む。動作５０１は、コンピュータシステムがメッセージ関連クエリのクエリ基準を受信することを含み得る。例えば、共有メッセージングインターフェース１０３は、メッセージ関連クエリのクエリ基準を受信することができる。クエリ基準は、入力装置（マウスやキーボードなど）から、または他のコンピュータシステムからリモートで受信することができる。
【００７４】
表示３００（例えば共有メッセージングインターフェース１０３によって生成された表示）は、メッセージ関連データのクエリに使用するクエリ基準を受信することができるクエリ入力インターフェース３１１を表す。クエリ入力インターフェース３１１は、例えばすべてのメッセージ、受信メッセージ、送信メッセージ、削除済みメッセージに関連するなど、Ｍｅｓｓａｇｅ  Ｆａｖｏｒｉｔｅｓ３３１に関連するクエリ基準を受信することができる。ユーザは、入力装置（マウスなど）を操作してＭｅｓｓａｇｅ  Ｆａｖｏｒｉｔｅｓ３１１内の１つまたは複数の項目を選択することができる。Ｍｅｓｓａｇｅ  Ｆａｖｏｒｉｔｅｓ３１１内の１つの項目を選択することによって、クエリ入力インターフェース３１１は、クエリ基準を受信することができる。例えばユーザが（例えばＳｅｎｔ  Ｍｅｓｓａｇｅｓを「クリックする」ことによって）「Ｓｅｎｔ  Ｍｅｓｓａｇｅｓ」を選択することによって、クエリ入力インターフェース３１１は、送信メッセージの検索に使用されるクエリ基準を受信することができる。
【００７５】
ユーザは、入力装置を操作して下矢印３２１を選択することができ、下矢印によって追加のｍｅｓｓａｇｅ  ｆａｖｏｒｉｔｅｓが表示される。こうした追加のｍｅｓｓａｇｅ  ｆａｖｏｒｉｔｅｓを選択することによって、クエリ入力インターフェース３１１は、他のおよび／または追加のクエリ基準を受信することができる。Ｍｅｓｓａｇｅ  Ｆａｖｏｒｉｔｅｓ３１１内の項目の選択の結果として受信されたクエリ基準を使用して、メッセージ項目に含まれているメッセージ関連データ値を検索することができる。例えば、受信されたクエリ基準は、スキーマ階層１５０（またはスキーマ階層２００）に従って定義されたデータフィールドを有するメッセージ項目を検索するために使用する、および／またはメッセージサイロ１８４に格納することができる。
【００７６】
また、クエリ入力インターフェース３１１は、例えばメッセージ参加者、メッセージの日付、メッセージの状況、個人メッセージ、ファミリメッセージ、仕事メッセージに関連するなど、Ａｌｌ  Ｐｒｏｐｅｒｔｉｅｓ３３２に関連するクエリ基準を受信することもできる。ユーザは、入力装置を操作してＡｌｌ  Ｐｒｏｐｅｒｔｉｅｓ３３２に対応する１つまたは複数の項目を選択することができる。例えばユーザが「仕事」を選択することによって、クエリ入力インターフェース３１１は、仕事関連のメッセージの検索に使用するクエリ基準を受信することができる。
【００７７】
Ａｌｌ  Ｐｒｏｐｅｒｔｉｅｓ３３２は、プロパティの階層的なツリーとして配列され得る。ユーザは、入力装置を操作して下位のプロパティを表示する、または非表示にすることができる。ユーザは、より上位のプロパティに関連付けられている「＋」を選択して、対応する下位プロパティを表示することができる。例えばユーザは、＋３２２を選択して下位の選択可能なＤａｔｅプロパティ（送信日、受信日など）を表示することができる。一方ユーザは、より上位のプロパティに関連付けられている「−」を選択して、対応する下位プロパティを非表示にすることができる。下位プロパティ３３３は、Ｐｅｏｐｌｅプロパティに関連付けられている＋を選択した結果の一例である。図示したように、下位プロパティ「Ｔｏ」、「Ｆｒｏｍ」、「ＣＣ」などが表示される。下位プロパティ３３３で示した下位プロパティは、追加の下位プロパティを含むことができる。例えば、（下位プロパティ３３３の）「Ｏｔｈｅｒ」下位プロパティに関連付けられている＋を選択するによって、Ｏｔｈｅｒ下位プロパティの下の下位プロパティを表示することができる。
【００７８】
ユーザは、入力装置を操作してＡｌｌ  Ｐｒｏｐｅｒｔｉｅｓ３３２から異なるレベルのプロパティを選択することができる。プロパティを選択することによって、クエリ入力インターフェース３１１は、他のおよび／または追加のクエリ基準を受信することができる。Ａｌｌ  Ｐｒｏｐｅｒｔｉｅｓ３１１内の項目の選択の結果として受信されたクエリ基準を使用して、メッセージ項目に含まれているメッセージ関連データ値を検索することができる。例えば、受信されたクエリ基準は、スキーマ階層１５０（またはスキーマ階層２００）に従って定義されたデータフィールドを有するメッセージ項目を検索するために使用、および／またはメッセージサイロ１８４に格納することができる。
【００７９】
入力フィールド３１４は、メッセージに含まれているキーワードについてクエリを行うクエリ基準を受信することができる。ユーザは、入力装置（キーボードなど）を操作して入力フィールド３１４にテキストを入力することができる。入力フィールド３１４にテキストを入力した結果として受信されたクエリ基準を使用して、メッセージ項目に含まれているメッセージ関連データ値を検索することができる。例えば、受信されたクエリ基準は、スキーマ階層１５０（またはスキーマ階層２００）に従って定義されたデータフィールドを有するメッセージ項目を検索するために使用する、および／またはメッセージサイロ１８４に格納することができる。
【００８０】
Ｍｅｓｓａｇｅ  Ｆａｖｏｒｉｔｅｓ３３１に関連付けられているクエリ基準、および／またはＡｌｌ  Ｐｒｏｐｅｒｔｉｅｓ３３２に関連付けられているクエリ基準、および／または入力フィールド３１４に入力されたクエリ基準を含む結合されたクエリ基準を受信することができることを理解されたい。結合されたクエリ基準は、Ｍｅｓｓａｇｅ  Ｆａｖｏｒｉｔｅｓ３３１またはＡｌｌ  Ｐｒｏｐｅｒｔｉｅｓ３３２から複数の項目が選択されたときにもたらされる可能性がある。また、結合されたクエリ基準は、Ｍｅｓｓａｇｅ  Ｆａｖｏｒｉｔｅｓ３３１からの１つまたは複数の項目がＡｌｌ  Ｐｒｏｐｅｒｔｉｅｓ３３２からの１つまたは複数の項目に結合されたときももたらされる可能性がある。さらに、結合されたクエリ基準は、Ｍｅｓｓａｇｅ  Ｆａｖｏｒｉｔｅｓ３３１からの１つまたは複数の項目、またはＡｌｌ  Ｐｒｏｐｅｒｔｉｅｓ３３２からの１つまたは複数の項目が入力フィールド３１４に入力されたテキストに結合されたときにもたらされる可能性がある。
【００８１】
したがって、クエリ基準をより粗くして、クエリを広げ、より多くの結果が得られるようにすることができる。例えば、（Ａｌｌ  Ｐｒｏｐｅｒｔｉｅｓ３３２から「Ｆｒｏｍ」を選択することによって入力された）指定されたユーザからの（Ｍｅｓｓａｇｅ  Ｆａｖｏｒｉｔｅｓ３３１から「Ｓｅｎｔ  Ｍｅｓｓａｇｅｓ」を選択することによって入力された）すべてのＳｅｎｔ  Ｍｅｓｓａｇｅｓを示すクエリ基準では、より多くの結果が得られる可能性がある。一方、クエリ基準をより細かくして、クエリを狭め、より少ない結果が得られるようにすることができる。例えば、キーワード「ｆｉｒｅｗｏｒｋｓ」（入力フィールド３１４に入力）を含む、（Ｍｅｓｓａｇｅ  Ｆａｖｏｒｉｔｅｓ３１１から「Ｒｅｃｅｉｖｅｄ  Ｍｅｓｓａｇｅｓ」を選択し、Ａｌｌ  Ｐｒｏｐｅｒｔｉｅｓ３３２から「Ｆａｍｉｌｙ」を選択することによって入力された）受信されたすべてのファミリ関連のメッセージを示すクエリ基準では、得られる結果がより少ない可能性がある。したがって、ユーザの必要性を満たすように、クエリ基準が柔軟に受信されるようにすることができる。
【００８２】
クエリ入力インターフェース３１１は、メッセージ関連データの検索に使用することができる異なる種類のクエリ基準の一部を受信するためのコントロールを明示的に示している。しかし、クエリ入力インターフェースは、スキーマ階層に従って定義されたメッセージ項目データフィールドからの値の検索を含めて、メッセージ項目データフィールドからの実質的にすべての値を検索するクエリ基準（クエリ入力インターフェース３１１で受信することができるものに加えて、他のタイプのクエリ基準を含む）を受信することができることを理解されたい。例えば、クエリ入力インターフェースは、スキーマ階層１５０またはスキーマ階層２００に従って定義された任意のメッセージ項目データフィールド（参加者フィールド、サブジェクトフィールドなど）値を検索するクエリ基準を受信することができる。
【００８３】
メッセージスキーマ１５２からフォルダ１５４へのリンクは、メッセージスキーマ１５２に従って定義されたメッセージ項目をフォルダスキーマ１５４に従って定義されたフォルダ項目にリンクすることができることを示す。メッセージ項目がフォルダ項目にリンクされているとき、メッセージ項目を、フォルダ項目「内」にある（およびしたがってフォルダ項目はメッセージ関連データである）ものとみなすことができる。メッセージ項目は、複数のフォルダ項目へのリンクを含み得る。したがってメッセージ項目を、複数のフォルダ内にあるものとみなすことができる。したがってクエリ入力インターフェースを、複数のフォルダを検索する（または「またぐ」）メッセージ関連クエリの適切なクエリ基準を受信するように構成することができる。
【００８４】
添付ファイル１５７からメッセージスキーマ１５２へのリンクは、添付ファイルスキーマ１５７に従って定義された添付ファイルをメッセージスキーマ１５２に従って定義されたメッセージ項目にリンクすることができることを示す。添付ファイルがメッセージ項目にリンクされているとき、添付ファイルを、メッセージ項目内にある（およびしたがって添付ファイルはメッセージ関連データである）ものとみなすことができる。メッセージ項目は、複数の添付ファイルを含み得る。したがってメッセージ項目を、複数の添付ファイルを含むものとみなすことができる。添付ファイルは、文書サイロ１８６に格納されている文書とすることができる。したがってクエリ入力インターフェースを、文書を検索するメッセージ関連クエリの適切なクエリ基準を受信するように構成することができる。
【００８５】
メッセージスキーマ１５２から連絡先スキーマ１５３へのリンクは、メッセージスキーマ１５２に従って定義されたメッセージ項目を連絡先スキーマ１５３に従って定義された連絡先項目にリンクすることができることを示す。メッセージ項目が連絡先項目にリンクされているとき、連絡先項目に対応するエンティティを、メッセージ項目の参加者とみなすことができる。メッセージ項目は、複数の連絡先項目へのリンクを含み得る。したがってメッセージ項目を、複数の参加者を有するものとみなすことができる。したがってクエリ入力インターフェースを、参加者を検索するメッセージ関連クエリの適切なクエリ基準を受信するように構成することができる。
【００８６】
受信されたクエリ基準を使用して、（表２のＰｒｉｍａｒｙＴｙｐｅで定義されたものなど）任意の主要メッセージタイプを有するメッセージ項目のデータフィールドを検索することができる。例えば、受信されたクエリ基準は、電子メールメッセージ、インスタントメッセージ、音声メールメッセージ、ファックスメッセージ、ニュースグループ投稿、ブログエントリなどを検索するために使用することができる。
【００８７】
方法５００は、共通のメッセージングインターフェースで異なる種類の電子メッセージに対応するメッセージ関連データを同時に提示する機能的な結果志向ステップ（ステップ５０９）を含む。ステップ５０９は、共通のメッセージングインターフェースで異なる種類の電子メッセージに対応するメッセージ関連データを同時に提示する結果を達成するための任意の対応する動作を含み得る。しかし、図５の方法例では、ステップ５０９は、受信したクエリ基準に従ってメッセージ関連クエリを送出する対応する動作（動作５０２）を含む。
【００８８】
動作５０２は、クエリ側コンピュータシステムが受信したクエリ基準に従ってメッセージ関連クエリを送出することを含み得る。例えば、コンピュータシステム１０２は、クエリ基準１１７を含むクエリ１０７をコンピュータシステム１０９に送出することができる。クエリ基準１１７は、（例えばクエリ入力インターフェース３１１と同様のクエリ入力インターフェースで行われた選択の結果として）共通のメッセージングインターフェース１０２で受信されたクエリ基準とすることができる。
【００８９】
送出されたメッセージ関連クエリは、（参加者、件名など）メッセージ項目データフィールドの値のクエリとすることができる。例えば、メッセージ関連クエリは、メッセージサイロ１８４に格納、および／またはスキーマ階層１５０（またはスキーマ階層２００）に従って定義されたメッセージ項目のメッセージ項目データフィールドについてのクエリを行うことができる。送出されたメッセージ関連クエリは、複数のフォルダにまたがることができる。例えば、送出されたクエリは、フォルダサイロ１８３に格納されている複数のフォルダ項目内のメッセージ項目データフィールドの値についてのクエリを行うことができる。送出されたメッセージ関連クエリは、メッセージ項目に関連付けられている文書についてのクエリを行うことができる。例えば、送出されたメッセージ関連クエリは、文書サイロ１８６内の文書項目データフィールドの値についてのクエリを行うことができる。送出されたメッセージ関連クエリは、メッセージ項目に関連付けられている参加者についてのクエリを行うことができる。例えば、送出されたメッセージ関連クエリは、連絡先サイロ１８２内の連絡先項目データフィールドの値についてのクエリを行うことができる。メッセージ関連クエリは、例えば電子メールメッセージ、インスタントメッセージ、音声メールメッセージ、ファックスメッセージ、ニュースグループ投稿、ブログエントリなど、異なる種類の複数の電子メッセージに共通のデータフィールド項目の値についてのクエリを行うことができる。
【００９０】
方法５００は、クエリ基準を含むメッセージ関連クエリを受信する動作（動作５０５）を含む。動作５０５は、返信側コンピュータシステムが、クエリ基準を含むメッセージ関連クエリを受信することを含み得る。例えば、コンピュータシステム１０９は、クエリ基準１１７を含むクエリ１０７をコンピュータシステム１０２から受信することができる。したがって、コンピュータシステム１０９は、メッセージ項目フィールドに対してクエリを行う、複数のフォルダにまたがる、参加者についてのクエリを行う、または文書についてのクエリを行うクエリのクエリ基準を受信することができる。受信されたメッセージ関連クエリは、例えば電子メールメッセージ、インスタントメッセージ、音声メールメッセージ、ファックスメッセージ、ニュースグループ投稿、およびブログエントリに共通など、異なる種類の複数の電子メッセージに共通のデータフィールドの値に対してクエリを行うことができる。
【００９１】
方法５００は、項目データベースにアクセスする動作（動作５０６）を含む。動作５０６は、返信側コンピュータシステムが項目データベースにアクセスすることを含み得る。例えば、コンピュータシステム１０９は、データベース１１４にアクセスすることができる。適切な場合、メッセージアプリケーション１１１は、クエリ１０７をデータベースアクセスコマンド１１２に変換することができる。次いでコンピュータシステム１０９は、データベースアクセスコマンド１１２をデータベース１１４に送出することができる。データベースアクセスコマンド１１２は、クエリ１０７を実施するための適切なデータベース命令を含み得る。
【００９２】
方法５００は、項目データベースからクエリ基準を満たすメッセージ関連データの部分を識別する動作（動作５０７）を含む。動作５０７は、コンピュータシステムが、項目データベースからクエリ基準を満たすメッセージ関連データの部分を識別することを含み得る。例えば、コンピュータシステム１０９は、メッセージ関連データ１０８を識別することができる。データベース１１４は、データベースアクセスコマンド１１２に応答してメッセージ関連データ１０８をコンピュータシステム１０９に送信することができる。メッセージ関連データ１０８は、（クエリ基準１１７など）クエリ基準を満たすメッセージ関連データの１つまたは複数の部分を含むことができる。
【００９３】
識別されたメッセージ関連データは、データベース１１４のサイロのいずれかからのデータを含み得る。例えば、メッセージ参加者データは連絡先サイロ１８２から戻され、メッセージフォルダデータはフォルダサイロ１８３から戻され、メッセージデータはメッセージサイロ１８４から戻され、メッセージ添付ファイルデータは文書サイロ１８６から戻され得る。
【００９４】
メッセージサイロ１８４は、（主要タイプ値によって示されるように）それぞれ異なるメッセージタイプを有する複数のメッセージ項目を格納することができる。例えば、メッセージサイロ１８４は、電子メールメッセージ、インスタントメッセージ、音声メールメッセージ、ファックスメッセージ、ニュースグループ投稿、ブログエントリなどを格納することができる。メッセージサイロ１８４内のメッセージ項目は、メッセージスキーマ１５２（またはメッセージスキーマ２１２）に従って定義することができる。したがってメッセージ項目は、異なる種類のメッセージ項目でさえ、複数の共通のデータフィールドを含むことができる。
【００９５】
メッセージプロトコル拡張スキーマ１６１、および／またはメッセージアプリケーション拡張スキーマ１６６に従って拡張されたメッセージ項目は、それにもかかわらずメッセージスキーマ１５２または２１２に従って定義されたフィールドを保持することができることを理解されたい。したがって、特定のメッセージプロトコルおよび／またはメッセージアプリケーションとの互換性のために拡張されたメッセージ項目に対して、共通に定義されたフィールド内の値について依然としてクエリを行うことができる。例えば、メッセージストア１８４内のすべてのメッセージは、メッセージスキーマ１５２または２１２に従って定義することができるため、任意のタイプの、または任意の拡張を有するメッセージ項目に対して、メッセージ件名フィールド内の特定の値についてクエリを行うことができる（または例えばメッセージスキーマ１５２または２１２に従って定義された他の任意のフィールド内の値についてクエリを行うことができる）。
【００９６】
したがって、メッセージ関連データ１０８は、異なる種類の複数の電子メッセージを表すメッセージ項目を含むことができる。すなわち、異なる種類の複数の電子メッセージは、受信されたクエリ基準を満たす値を有する可能性がある。例えば、ファックスメッセージおよびニュースグループ投稿は、受信されたクエリ基準（例えばクエリ基準１１７）を満たす件名フィールド値および／または重要度フィールド値（および／またはメッセージスキーマ１５２または２１２に従って定義された他のフィールド値）を有する可能性がある。
【００９７】
方法５００は、メッセージ関連データの複数の部分を戻す動作（動作５０８）を含む。動作５０８は、コンピュータシステムがメッセージ関連データの識別された部分を戻すことを含み得る。例えば、コンピュータシステム１０９は、メッセージ関連データ１０８をコンピュータシステム１０２戻すことができる。メッセージアプリケーション１１１は、メッセージ関連データ１０８がコンピュータシステム１０２に戻される前にメッセージ関連データ１０８を適切にフォーマットすることができる。
【００９８】
ステップ５０９は、クエリ基準を満たすメッセージ関連データの複数の部分を受信する対応する動作（動作５０３）を含む。動作５０３は、コンピュータシステムがクエリ基準を満たすメッセージ関連データの部分を受信することを含み得る。例えば、コンピュータシステム１０２は、コンピュータシステム１０９から（クエリ基準１１７を満たす）メッセージ関連データ１０８を受信することができる。
【００９９】
受信されたメッセージ関連データは、異なる拡張スキーマに従って定義された１つまたは複数のデータフィールドを有するメッセージ関連データの部分を含み得る。例えば、メッセージ関連データの一部は、スキーマ１６２に従って定義されたデータフィールドを含む可能性があり、メッセージ関連の別の異なる部分は、スキーマ１６３に従って定義されたデータフィールドを含む。両方の部分は、メッセージスキーマ１５２または２１２に従って定義されたデータフィールドであり得る。
【０１００】
ステップ５０９は、受信されたメッセージ関連データの各部分への少なくともリンクにアクセスできるように共通のメッセージングインターフェースを設定することを含む（動作５０９）。動作５０９は、コンピュータシステムが、受信されたメッセージ関連データの各部分への少なくともリンクにアクセスできるように共通のメッセージングインターフェースを構成することを含み得る。例えば、コンピュータシステム１０２は、メッセージ関連内容１０８の各部分への少なくともリンクにアクセスできるように共通のメッセージングインターフェース１０３を構成することができる。
【０１０１】
図３に戻って、表示３００は、メッセージ関連データの部分へのリンクを表示する一例を示している。表示３００に示しているのは、メッセージタイプ列３０４、件名列３０６、ｆｒｏｍ列３０７、ｔｏ列３０８、データ列３０９、およびサイズ列３１１である。メッセージタイプ列３０４は、メッセージ関連データのタイプの指示を表示する。異なる種類のメッセージ関連データを表すために異なるアイコンを表示することができる。例えば、封筒アイコン３３３は、電子メールメッセージを表し、テキスト吹き出し（ｔｅｘｔ  ｂｕｂｂｌｅ）アイコン３３４はインスタントメッセージを表し、電話アイコン３３５は音声メールメッセージを表し、ファックス機アイコン３３６はファックスメッセージを表すことができる。例えばニュースグループ投稿、ブログエントリなど他のタイプのメッセージを表すために他のタイプのアイコンを表示することもできる。
【０１０２】
メッセージを表すアイコンに添付された紙クリップアイコンは、添付ファイルが表されているメッセージに関連付けられていることを示す。例えば、テキスト吹き出しアイコン、および添付された紙クリップアイコン３３７は、添付ファイルに関連付けられているインスタントメッセージを表す。アイコン３３８は、添付ファイルがピクチャ文書であることを表す。
【０１０３】
ユーザは、電子メッセージを表すアイコンを選択して、電子メッセージの内容を表示することができる。例えばユーザは、封筒アイコン３３３を選択して、表された電子メールメッセージの内容を表示することができる。したがって封筒アイコン３３３は、本質的に、表された電子メールメッセージの内容へのリンクとして機能する。封筒アイコン３３３を選択することによって、（封筒アイコン３３３によって表された電子メッセージの内容についての）追加のクエリをデータベース１１４に送出することができる。追加のクエリに応答して受信されたメッセージ関連データの部分を表示３００に表示することができる。あるいは、メッセージ関連データの受信された部分に応答して適切なメッセージングアプリケーションを起動させることができる。例えば、メッセージ関連データの一部が（電子メールアプリケーションスキーマなど）スキーマの拡張に従って定義されている場合、（電子メールアプリケーションなど）スキーマの拡張に対応するアプリケーションを起動させてメッセージ関連データのその部分を表示することができる。
【０１０４】
同様に、ユーザは、メッセージ参加者（参加者内容へのリンク）を選択して、連絡先項目の内容を表示することができる。例えばユーザは、「Ｕｓｅｒ  Ｇ」をクリックして「Ｕｓｅｒ  Ｇ」に対応する連絡先情報（連絡先サイロ１８２に格納されている）を表示することができる。同様に、ユーザは、添付ファイルアイコン（添付ファイルへのリンク）を選択して、添付ファイルの内容を表示することができる。例えばユーザは、アイコン３３８を選択して、文書「Ｐｒｏｄｃｕｔｓ．ｊｐｇ」（例えば文書サイロ１８６に格納されている）を表示することができる。参加者および文書内容を表示３００に表示することができる。あるいは、参加者または文書内容を表示するために適切なアプリケーションを起動させることができる。
【０１０５】
件名列３０６は、メッセージタイプ列３０４のアイコンに対応するメッセージ関連データの件名を示す。Ｆｒｏｍ列３０７は、メッセージタイプ列３０４内のアイコンに対応するメッセージ関連データを送信したエンティティを示す。Ｔｏ列３０８は、メッセージタイプ列３０４内のアイコンに対応するメッセージ関連データの受信者を表す。データ列３０９は、メッセージタイプ列３０４内のアイコンに対応するメッセージ関連内容が送信された日を表す。サイズ列３１１は、メッセージタイプ列３０４内のアイコンに対応するメッセージ関連内容のサイズを表す。
【０１０６】
メッセージ関連内容の受信されたすべての部分を同時に表示できない可能性がある。ユーザは、スライダコントロール３１９を操作してスクロールアップおよび／またはダウンして、メッセージ関連内容の追加部分を表示することができる。また、ユーザは、上矢印３２３を選択してスクロールアップし、下矢印３２４を選択してスクロールダウンすることもできる。ボックス３１６からボックスを選択して、表示３００を最小化、最大化、サイズ変更する、または閉じることができる。メッセージインジケータ３０３は、クエリに応答して受信されたメッセージ関連データの数または部分を示す。
【０１０７】
メッセージメニュー３１７は、表示３００を介して開始することができるメッセージ操作を示す。例えばユーザは、現在選択している電子メッセージを閉じる、転送する、または印刷することができる。また、ユーザは、メッセージメニュー３１７から適切なアイコンを選択して、電子メールメッセージ、インスタントメッセージ、ファックスメッセージ、または通話を開始することもできる。メッセージリスト３１８は、表示されたメッセージに対する応答に使用することができるメッセージタイプを示している。ユーザは、適切なアイコンを選択して、表示されているメッセージに指定されたタイプのメッセージで応答することができる。例えばユーザは、メッセージリスト３１８からファックスアイコンを選択して、（例えば電話アイコン３３５で表されている）音声メールメッセージにファックスメッセージで応答することができる。
【０１０８】
一般形式を使用してメッセージに応答するために適したデータを入力することができる。特定のタイプのメッセージに固有のメッセージプロパティを一般形式にマップすることができる。したがって一般形式は、複数のメッセージタイプにまたがり得る。例えば、電子メールメッセージの「ＴＯ：」フィールド、およびインスタントメッセージの「Ｏｒｉｇｉｎａｔｏｒ」フィールドを、一般形式の同様の（または同じ）入力フィールドにマップすることができる。一般形式は、メッセージリスト３１８からのアイコンの選択に応答して（例えば共通のメッセージングインターフェース１０３など）共通のメッセージングインターフェースで表示することができる。
【０１０９】
次に図４を参照すると、表示４００は、本発明の原理に従って共通のメッセージングインターフェースによって生成された表示４００の第２の例を示している。表示４００は、表示３００と同じ一般的な特徴を有している。つまり、クエリ入力インターフェース４１１はクエリ基準を受信することができ、メッセージインジケータ４０３はクエリに応答して戻されたメッセージの数を示し、メッセージメニュー４１７は表示４００を介して開始することができるメッセージ操作を示し、メッセージリスト４１８は表示されたメッセージに対する応答に使用できるメッセージタイプを示し、ボックス４１６からボックスを選択して、表示４００を最小化、最大化、サイズ変更し、または閉じることができる。
【０１１０】
表示４００は、クライアント別にグループ分けされたメッセージを含む（潜在的にフォルダサイロ１８３に格納されている）「クライアント」フォルダのビューをさらに表す。ユーザアイコン４３１は、異なるクライアントを表す。各クライアントの下には、クライアントが参加者であるメッセージがある。例えばユーザＡは、「仕事はいかがですか」という件名のインスタントメッセージに参加した。ユーザは、共通のメッセージングインターフェース（例えば共通のメッセージングインターフェース１０３）の構成設定を変更して、フォルダに関連付けられている参加者によってメッセージを表示させることができる。
【０１１１】
図６および以下の説明は、本発明を実施するのに適したコンピューティング環境の簡単な概説を提供するためのものである。必須ではないが、本発明は、コンピュータシステムによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明する。一般にプログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。コンピュータ実行可能命令、関連のデータ構造、およびプログラムモジュールは、本明細書に開示した方法の動作を実行するプログラムコード手段の例を表す。
【０１１２】
図６を参照すると、本発明を実施するシステム例は、処理ユニット６２１、システムメモリ６２２、およびシステムメモリ６２２を含む様々なシステム構成要素を処理ユニット６２１に結合するシステムバス６２３を含むコンピュータシステム６２０の形で汎用コンピューティング装置を含んでいる。処理ユニット６２１は、本発明の機能を含めて、コンピュータシステム６２０の機能を実施するように設計されているコンピュータ実行可能命令を実行することができる。システムバス６２３は、様々なバスアーキテクチャのうちの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のうちのどんなものでもよい。システムメモリは、読み取り専用メモリ（「ＲＯＭ」）６２４およびランダムアクセスメモリ（「ＲＡＭ」）６２５を含む。基本入力／出力システム（「ＢＩＯＳ」）６２６は、例えば起動中など、コンピュータ６２０内の要素間での情報の転送を助ける基本ルーチンを含み、ＲＯＭ６２４に格納することができる。
【０１１３】
コンピュータシステム６２０は、磁気ハードディスク６３９から読み取り、そこに書き込む磁気ハードディスクドライブ６２７、取外し可能な磁気ディスク６２９から読み取り、あるいはそこに書き込む磁気ディスクドライブ６２８、およびＣＤ−ＲＯＭや他の光媒体など、取外し可能な光ディスク６３１から読み取り、あるいはそこに書き込む光ディスクドライブ６３０も含み得る。磁気ハードディスクドライブ６２７、磁気ディスクドライブ６２８、および光ディスクドライブ６３０は、それぞれハードディスクドライブインターフェース６３２、磁気ディスクドライブインターフェース６３３、および光ディスクドライブインターフェース６３４によってシステムバス６２３に接続される。ドライブおよびその関連のコンピュータ読取可能な媒体は、コンピュータ実行可能命令、データ構造、プログラムモジュール、およびコンピュータシステム６２０の他のデータの不揮発性記憶装置を提供する。本明細書に記載した環境例は、磁気ハードディスク６３９、取外し可能な磁気ディスク６２９、および取外し可能な光ディスク６３１を使用しているが、磁気カセット、フラッシュメモリカード、デジタル多用途ディスク、ベルヌーイカートリッジ、ＲＡＭ、ＲＯＭなどを含めて、データを格納する他のタイプのコンピュータ読取可能な媒体を使用することができる。
【０１１４】
オペレーティングシステム６３５、１つまたは複数のアプリケーションプログラム６３６、他のプログラムモジュール６３７、およびプログラムデータ６３８を含めて、１つまたは複数のプログラムモジュールを含むプログラムコード手段をハードディスク６３９、磁気ディスク６２９、光ディスク６３１、ＲＯＭ６２４またはＲＡＭ６２５に格納することができる。ユーザは、キーボード６４０、ポインティング装置６４２、またはマイクロフォン、ジョイスティック、ゲームパッド、スキャナなど他の入力装置（図示せず）を介してコマンドおよび情報をコンピュータシステム６２０に入力することができる。これらおよび他の入力装置を、システムバス６２３に結合されている入力／出力インターフェース６４６を介して処理システム６２１に接続することができる。入力／出力インターフェース６４６は、例えばシリアルポートインターフェース、ＰＳ／２インターフェース、パラレルポートインターフェース、ユニバーサルシリアルバス（「ＵＳＢ」）インターフェース、または電気電子技術者協会（「ＩＥＥＥ」）１３９４インターフェース（すなわちＦｉｒｅＷｉｒｅインターフェース）など各種の様々なインターフェースの任意のものを論理的に表し、または様々なインターフェースの組合せさえも論理的に表し得る。
【０１１５】
モニタ６４７または他のディスプレイ装置もビデオインターフェース６４８を介してシステムバス６２３に接続される。スピーカ６６９または他の音声装置も音声インターフェース６４９を介してシステムバス６２３に接続される。プリンタなど他の周辺出力装置（図示せず）もコンピュータシステム６２０に接続することができる。
【０１１６】
コンピュータシステム６２０は、例えばオフィス全体、または企業全体のコンピュータネットワーク、ホームネットワーク、イントラネット、および／またはインターネットなどのネットワークに接続可能である。コンピュータシステム６２０は、こうしたネットワークを介して、例えばリモートコンピュータシステム、リモートアプリケーション、および／またはリモートデータベースなどの外部ソースとデータを交換することができる。
【０１１７】
コンピュータシステム６２０は、ネットワークインターフェース６５３を含んでおり、コンピュータシステム６２０は、それを介して外部ソースからデータを受信し、かつ／または外部ソースにデータを送信する。図１に示すように、ネットワークインターフェース６５３は、リンク６５１を介してリモートコンピュータシステム６８３とのデータの交換を容易にする。ネットワークインターフェース６５３は、ネットワークインターフェースカードおよび対応するネットワークドライバインターフェース仕様（「ＮＤＩＳ」）スタックなど、１つまたは複数のソフトウェアおよび／またはハードウェアモジュールを論理的に表し得る。リンク６５１は、（Ｅｔｈｅｒｎｅｔ（登録商標）セグメントなど）ネットワークの一部を表し、リモートコンピュータシステム６８３はネットワークのノードを表す。
【０１１８】
同様に、コンピュータシステム６２０は、入力／出力インターフェース６４６を含んでおり、コンピュータシステム６２０は、それを介して外部ソースからデータを受信し、かつ／または外部ソースにデータを送信する。入力／出力インターフェース６４６は、リンク６５９を介して（標準モデム、ケーブルモデム、デジタル加入者線（「ＤＳＬ」）モデムなど）モデム６５４に結合されており、コンピュータシステム６２０は、それを介して外部ソースからデータを受信し、かつ／または外部ソースにデータを送信する。図１に示すように、入力／出力インターフェース６４６およびモデム６５４は、リンク６５２を介してリモートコンピュータシステム６９３とのデータの交換を容易にする。リンク６５２はネットワークの一部を表し、リモートコンピュータシステム６９３はネットワークのノードを表す。
【０１１９】
図６は、本発明に適した動作環境を表しているが、本発明の原理は、必要に応じて適した変更を行い、本発明の原理を実施できる任意のシステムで使用することができる。図６に示した環境は、例示的なものにすぎず、本発明の原理を実施できる多種多様な環境のほんの一部さえも表してはいない。
【０１２０】
本発明によれば、スキーマ、メッセージ項目、およびメッセージサイロを含めて、メッセージアプリケーション、および共通のメッセージングインターフェースおよび関連のデータは、コンピュータシステム６２０に関連付けられている任意のコンピュータ読取可能な媒体に格納することができ、またそこからアクセスすることができる。例えばこうしたモジュールの部分および関連のプログラムデータの部分を、オペレーティングシステム６３５、アプリケーションプログラム６３６、プログラムモジュール６３７、および／またはプログラムデータ６３８に含めてシステムメモリ６２２に格納することができる。
【０１２１】
磁気ハードディスク６３９などの大容量記憶装置がコンピュータシステム６２０に結合されている場合、こうしたモジュールおよび関連のプログラムデータを大容量記憶装置に格納することもできる。ネットワーク式環境では、コンピュータシステム６２０に関連して示したプログラムモジュール、およびその一部を、リモートコンピュータシステム６８３および／またはリモートコンピュータシステム６９３に関連付けられているシステムメモリおよび／または大容量記憶装置などのリモートメモリ記憶装置に格納することができる。こうしたモジュールの実行は、上述したように分散環境で実行することができる。
【０１２２】
本発明は、その意図または本質的な特徴から逸脱することなく他の特定の形で具体化することができる。記載した実施形態は、あらゆる点で例示的なものにすぎないとみなされ、制限的なものとみなされないものとする。したがって本発明の範囲は、上記の説明ではなく、添付の特許請求の範囲に示されている。特許請求の範囲の均等物の意図および範囲内に含まれるすべての変更は、その範囲内に含まれるものとする。
【図面の簡単な説明】
【０１２３】
【図１】本発明の原理による共通のメッセージングインターフェースを介して異なる種類の電子メッセージへのアクセスを容易にするネットワークアーキテクチャおよび一般のスキーマ階層の例を示す図である。
【図２Ａ】本発明の原理によるより詳細なスキーマ階層の一例の一部を示す図である。
【図２Ｂ】本発明の原理によるより詳細なスキーマ階層の一例のメッセージ拡張部分を示す図である。
【図３】本発明の原理による共通のメッセージングインターフェースによって生成された第１の例の表示を示す図である。
【図４】本発明の原理による共通のメッセージングインターフェースによって生成された第２の例の表示を示す図である。
【図５】本発明の原理による共通のメッセージングインターフェースを介して異なる種類の電子メッセージにアクセスする方法を示すフロー図の例である。
【図６】本発明の原理に適した動作環境を示す図である。
【図１】
2007509430.tif 000027
【図２Ａ】
2007509430.tif 000028
【図２Ｂ】
2007509430.tif 000029
【図３】
2007509430.tif 000030
【図４】
2007509430.tif 000031
【図５】
2007509430.tif 000032
【図６】
2007509430.tif 000033
【国際調査報告】
2007509430.tif 000034
2007509430.tif 000035