(57)【要約】【課題】電話番号に関連付けられたコンピューティング装置のプレゼンス情報に基づく電話番号に電話呼を自動的に転送する方法およびシステムを提供する。【解決手段】呼転送システムが、電話番号に関連付けられたコンピューティング装置によってレポートされるユーザのプレゼンス情報に基づいて電話呼を転送する。電話システムは、ユーザのコンピューティング装置の電話番号の１つに宛てられた着信呼を受信すると、着信呼イベントを各コンピューティング装置に送信する。各コンピューティング装置が電話システムから着信呼イベントを受信すると、プレゼンス情報に基づいてユーザがそのコンピューティング装置の場所に存在する可能性が最も高いかどうかを判定する。ユーザがそのコンピューティング装置の場所に居る可能性が最も高いと判定したコンピューティング装置があれば、コンピューティング装置は、そのコンピューティング装置に関連付けられた電話番号に着信呼を転送するよう求める通知を電話システムに送信する。【選択図】図４
2006238428.tif 000002
【特許請求の範囲】
【請求項１】
クライアントコンピュータシステムにおいて電話呼を転送する方法であって、
他のクライアントコンピュータシステムのプレゼンス情報を購読受信するステップと、
このクライアントコンピュータシステムとその他のクライアントコンピュータシステムとに関連付けられた電話番号に関する呼イベントを購読受信するステップと、
このクライアントコンピュータシステムのプレゼンス情報を公開するステップと、
その他のクライアントコンピュータシステムのプレゼンス情報を受信するステップと、
着信呼イベントが受信された場合に、
前記受信されたプレゼンス情報に基づいて、前記呼が転送されるべきクライアントコンピュータシステムの電話番号を決定するステップと、
前記呼がこのクライアントコンピュータシステムの電話番号に転送されるべきであると決定された場合に、このクライアントコンピュータシステムの電話番号に前記呼を転送するよう求める通知を送信するステップと、  
を備えることを特徴とする方法。
【請求項２】
決定する前記ステップでは、前記呼が最もアクティブなクライアントコンピュータシステムに転送されるべきであると決定することを特徴とする請求項１に記載の方法。
【請求項３】
前記決定するステップでは、前記呼が、最新のアクティビティがあったクライアントコンピュータシステムに転送されるべきであると決定することを特徴とする請求項１に記載の方法。
【請求項４】
前記最新のアクティビティは、クライアントコンピュータシステムへのリモートアクセスの結果であるアクティビティを含まないことを特徴とする請求項３に記載の方法。
【請求項５】
決定する前記ステップで、どのクライアントコンピュータシステムにも最近のアクティビティがなかったと判定された場合に、前記呼をデフォルトの電話番号に転送することを求める通知を送信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
決定する前記ステップで、どのクライアントコンピュータシステムにも最近のアクティビティがなかったと判定され、このクライアントコンピュータシステムが代表格のクライアントコンピュータシステムである場合に、前記呼が前記デフォルトの電話番号に転送されたことを伝える電子メールメッセージをユーザに送信するステップを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記呼がこのクライアントコンピュータシステムの電話番号に転送されるべきであると決定された場合に、前記呼が転送されたことを伝える電子メールメッセージをユーザに送信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項８】
着信呼が応答されず、このクライアントコンピュータシステムが代表格のクライアントコンピュータシステムである場合に、前記呼が不在着信呼であったことを伝える電子メールメッセージをユーザに送信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項９】
ユーザ宛ての電話呼を転送するようコンピュータシステムを制御する命令を格納するコンピュータ読取り可能媒体であって、前記転送の方法は、
このコンピュータシステムと他のコンピュータシステムとに関連付けられた複数の電話番号のうちの１つに宛てられた呼が受信されたことの通知を受信するステップと、
前記ユーザが前記コンピュータシステムの場所のうちのどこにいるかを判定するステップと、
前記ユーザがこのコンピュータシステムの場所にいると判定された場合に、前記呼がこのコンピュータシステムの電話番号に転送されることを通知するステップと、
を含むことを特徴とするコンピュータ読取り可能媒体。
【請求項１０】
判定する前記ステップは、コンピュータシステムとの最新のユーザアクティビティに基づくことを特徴とする請求項９に記載のコンピュータ読取り可能媒体。
【請求項１１】
前記最新のユーザアクティビティは、コンピュータシステムへのリモートアクセスの結果であるアクティビティを含まないことを特徴とする請求項１０に記載のコンピュータ読取り可能媒体。
【請求項１２】
前記判定するステップで、前記ユーザがどのコンピュータシステムの場所にもいないと判定された場合に、前記呼をデフォルトの電話番号に転送するよう求める通知を送信するステップを含むことを特徴とする請求項９に記載のコンピュータ読取り可能媒体。
【請求項１３】
前記呼が応答されず、このコンピュータシステムが代表格のコンピュータシステムである場合に、前記呼が不在着信呼であったことを伝える電子メールメッセージを前記ユーザに送信するステップを含むことを特徴とする請求項９に記載のコンピュータ読取り可能媒体。
【請求項１４】
ユーザ宛ての電話呼を、前記ユーザが存在する場所にあるコンピュータシステムに関連付けられた電話番号に転送するコンピュータシステムであって、
諸コンピュータシステムのプレゼンス情報を購読するコンポーネントと、
それぞれがコンピュータシステムに関連付けられた複数の電話番号のうちの１つに宛てられた呼が受信された場合に、前記プレゼンス情報に基づいて、前記諸コンピュータシステムのうちのどれが最新のユーザアクティビティを示しているかを判定するコンポーネントと、
前記最新のユーザアクティビティがこのコンピュータシステムの場所であったと判定された場合に、前記呼がこのコンピュータシステムに関連付けられた電話番号に転送されることを通知するコンポーネントと、
を備えることを特徴とするコンピュータシステム。
【請求項１５】
呼を受信するコンピュータシステムとして電話が設けられていることを特徴とする請求項１４に記載のコンピュータシステム。
【請求項１６】
前記最新のユーザアクティビティは、コンピュータシステムへのリモートアクセスの結果であるアクティビティを含まないことを特徴とする請求項１４に記載のコンピュータシステム。
【請求項１７】
どのコンピュータシステムの場所でも前記ユーザがアクティブでなく、このコンピュータが代表格のコンピュータシステムである場合に、前記呼をデフォルトの電話番号に転送するよう求める通知を送信することを含むことを特徴とする請求項１４に記載のコンピュータシステム。
【請求項１８】
前記呼が応答されず、このコンピュータシステムが代表格のコンピュータシステムである場合に、前記呼が不在着信呼であったことを伝える電子メールメッセージを前記ユーザに送信することを含むことを特徴とする請求項１４に記載のコンピュータシステム。
【請求項１９】
電話番号に関する電話情報を購読受信するコンポーネントを含むことを特徴とする請求項１４に記載のコンピュータシステム。
【請求項２０】
前記着信呼は、転送されるが応答されないことを特徴とする請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主に、電話呼を転送するコンピュータシステムに関する。
【背景技術】
【０００２】
コンピュータシステムを介しての会話参加者間のリアルタイム会話が、ますます一般化しつつある。そのようなリアルタイム会話では、参加者が各自のコンピュータシステム（たとえば、ＰＤＡ（個人用携帯情報端末））の場所に存在していて、通信を受信したときに応答可能であることが必要である。リアルタイム会話の代表的な形態の１つは、インスタントメッセージングサービスによって提供される。インスタントメッセージングサービスでは、参加者はメッセージを送信し、その会話の他の参加者が１〜２秒のうちにそれを受信することが可能である。受信した参加者は、同様の方法で応答メッセージを他の参加者に送信することが可能である。リアルタイム会話が効果的であるためには、参加者が非常に迅速に、受信メッセージに気づき、受信メッセージを読み、受信メッセージに応答しなければならない。このように応答が迅速であることは、従来の電子メールシステムにおいて電子メールメッセージの受信者が自分の都合の良いときにメッセージに応答することと対照的である。
【０００３】
開始側の参加者は、リアルタイム会話を開始しようとする際に、相手となる参加者がリアルタイムでメッセージに応答可能かどうかを知る必要がある。応答可能でない場合は、従来の電子メール、ボイスメール、または他の何らかのメカニズムによる通信のほうが適切であろう。たとえば、相手となる参加者のコンピュータの電源がオフになっていれば、リアルタイム会話は不可能であろう。また、相手となる参加者のコンピュータの電源がオンになっていても、その参加者がコンピュータから離れていれば、リアルタイム会話はやはり不可能であろう。開始側の参加者は、可能な通信の形態を適切に決定するために、相手となる参加者が応答可能かどうかを知る必要がある。
【０００４】
コンピュータシステムまたはそのコンピュータシステムに関連付けられたユーザなどのエンティティが応答可能かどうかの状態を「プレゼンス情報（ｐｒｅｓｅｎｃｅ  ｉｎｆｏｒｍａｔｉｏｎ）」と呼ぶ。プレゼンス情報は、ユーザの現在の「プレゼンス（存在）状態」を示す。ユーザは、自分と通信しようとする他のユーザが最適な通信方法を決定できるように、自分のプレゼンス情報を利用可能にする。たとえば、プレゼンス情報は、ユーザがインスタントメッセージングサービスにログオンしているか（「オンライン」か）、ログオフしているか（「オフライン」か）を示すことが可能である。プレゼンス情報は、ユーザが応答可能かどうかについてのより詳細な情報を提供することもできる。たとえば、ユーザがオンラインであっても、会議中のためにコンピュータから離れている場合がある。そのような場合、プレゼンス状態は、「オンライン」および「会議中」と示すことができる。
【０００５】
インスタントメッセージングの文脈においては、公開側ユーザ（ｐｕｂｌｉｓｈｉｎｇ  ｕｓｅｒ）（「公開者（ｐｕｂｌｉｓｈｅｒ）」）が自分のプレゼンス情報をプレゼンスサーバに提供し、プレゼンスサーバがそのプレゼンス情報を購読（加入登録）側ユーザ（ｓｕｂｓｃｒｉｂｉｎｇ  ｕｓｅｒ）（「購読者（ｓｕｂｓｃｒｉｂｅｒ）」）に提供する。したがって、プレゼンスサーバは、購読者／公開者モデルを用いて、プレゼンスサービスのユーザにプレゼンス情報を提供することができる。ユーザのプレゼンス情報が変化した場合は、そのユーザのコンピュータシステムからプレゼンスサーバに変化の通知があり、それを受けてプレゼンスサーバが購読側ユーザに変化を通知する。購読側ユーザは、それを受けて、相手の参加者のプレゼンス情報に基づくインスタントメッセージング会話を開始するかどうかを決定することができる。たとえば、公開側ユーザが電話会議中であることをプレゼンス情報が示している場合は、購読側ユーザが、公開側ユーザに電話をかけるかわりにインスタントメッセージを送信することを決定することができる。これに対し、購読側ユーザが公開側ユーザと電話で話す必要がある場合は、購読側ユーザが公開側ユーザのプレゼンス情報をモニタリングして、電話をかけてもよいタイミングをつかむ必要がある。電話会議が終了したことを公開側ユーザのプレゼンス情報が示していることに購読側ユーザが気づいた時点で、購読側ユーザは電話をかけることができる。
【０００６】
プレゼンス情報は、購読側コンピュータシステムが適切な通信形態を決定するために利用可能であるが、プレゼンス情報を購読できない（または購読していない）装置はプレゼンス情報を利用できない。たとえば、あるユーザが電話をかけたい場合、相手ユーザがコンピュータシステムのそばにいないか、相手ユーザが、発呼側ユーザに自分のプレゼンス情報の購読を許可しようとしないかの理由によって、相手ユーザの現在の所在がわからない可能性がある。結果として、発呼側ユーザは、相手の人物を見つけるまでに様々な電話番号に電話をかけるであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
いくつかのシステムが、複数の電話番号に電話をかけなければならないこの問題への対処を試みているが、それらのシステムには様々な不都合な点がある。たとえば、あるシステムは、ユーザがプライマリ電話番号を持ち、プライマリ電話番号で受信した呼を他のセカンダリ電話番号（複数可）に転送することを可能にしている。そのようなシステムの不都合な点は、ユーザが呼を手動で転送する必要があることと、ユーザが場所を移動する際に呼を転送することを覚えている必要があることである。別のシステムも、ユーザがプライマリ電話番号と他のセカンダリ電話番号（複数可）を持つことができる。このシステムは、プライマリ電話番号で呼を受信した場合に、呼が応答されるまで各セカンダリ電話番号を順次呼び出すか、すべてのセカンダリ電話番号を同時に呼び出すことができる。その同時に発せられた呼の１つにユーザが応答すると、システムは他の呼をドロップする。この順次に呼び出す方法の不都合な点は、各セカンダリ電話番号が順に呼び出されるのに時間がかかる場合があり、発呼側ユーザはそれを待つ必要があることである。同時に呼び出す方法の不都合な点は、同時発呼のために余分な電話回線が必要なことである。
【０００８】
コンピュータシステム（および他の装置）は、オーディオの表示に用いられることが増えている。音声を表示しているコンピュータシステムのそばの電話で電話呼を受信した場合（特にスピーカホンで受信した場合）は、オーディオの音量のためにユーザが電話会話を行うことが困難な場合がある。一般に、ユーザは、呼に応答する前にオーディオの音量を下げようとする。ところが、音量を下げるためのユーザインターフェースがなかなか見つからないことがある。実際のところは、被呼側ユーザがオーディオの音量を下げて呼に応答することができるようになる前に、発呼側ユーザは、電話を切るか音声メールに切り替えるであろう。
【０００９】
被呼側ユーザが現在いる場所の電話に電話呼が自動的に転送されることを可能にするメカニズムが望まれている。また、電話中のオーディオ音量の問題の解決に役立つメカニズムも望まれる。
【課題を解決するための手段】
【００１０】
電話番号に関連付けられたコンピューティング装置のプレゼンス情報に基づく電話番号に電話呼を自動的に転送する方法およびシステムを提供する。呼転送システムは、電話番号に関連付けられたコンピューティング装置によってレポートされる、ユーザのプレゼンス情報に基づいて電話呼を転送する。各コンピューティング装置は、ユーザのコンピューティング装置からそれぞれの関連付けられた電話番号へのマッピングのリストを保持することができる。電話システムは、ユーザのコンピューティング装置の電話番号の１つに宛てられた着信呼を受信すると、着信呼イベントを各コンピューティング装置に送信する。各コンピューティング装置は、着信呼イベントを受信すると、ユーザがそのコンピューティング装置の場所に存在する可能性が最も高いかどうかを、プレゼンス情報に基づいて判定する。ユーザがそのコンピューティング装置の場所に存在する可能性が最も高いと判定したコンピューティング装置があると、そのコンピューティング装置は、そのコンピューティング装置に関連付けられた電話番号に着信呼を転送するよう求める通知を電話システムに送信する。これによって、プレゼンス情報に基づく、呼の自動転送が有効になる。
【発明を実施するための最良の形態】
【００１１】
電話番号に関連付けられたコンピューティング装置のプレゼンス情報に基づく電話番号に、電話呼を自動的に転送する方法およびシステムを提供する。一実施形態では、呼転送システムは、電話番号に関連付けられたコンピューティング装置によってレポートされるユーザのプレゼンス情報に基づいて、電話呼を転送する。たとえば、ユーザは、職場用デスクトップ、職場用ラップトップ、自宅用デスクトップ、個人用携帯情報端末など、複数のコンピューティング装置を有する場合がある。各コンピューティング装置は、関連付けられた電話番号（たとえば、デスクトップがおいてある職場の電話の電話番号）を有することが可能である。各コンピューティング装置の呼転送システムは、そのユーザの他の各コンピューティング装置のプレゼンス情報を購読（加入登録）受信している。さらに各コンピューティング装置の呼転送システムは、そのユーザのコンピューティング装置に関連付けられたすべての電話番号についての、電話システムからの電話情報（たとえば、着信呼イベント）を購読受信している。各コンピューティング装置は、プレゼンス情報および電話情報を購読するために、ユーザのコンピューティング装置からそれぞれの関連付けられた電話番号へのマッピングのリストを保持することができる。たとえば、そのユーザの職場用デスクトップコンピュータは、その職場の電話の電話番号か、そのコンピュータに関連付けられたＶＯＩＰ（voice over IP）コンピュータベース接続の電話番号を有することが可能であり、ラップトップコンピュータは、そのコンピュータに関連付けられた携帯電話の電話番号を有することが可能である。電話システムは、ユーザのコンピューティング装置の電話番号の１つに宛てられた着信呼を受信すると、着信呼イベントを各コンピューティング装置に送信する。各コンピューティング装置は、着信呼イベントを受信すると、ユーザがそのコンピューティング装置の場所に存在する可能性が最も高いかどうかを、プレゼンス情報に基づいて判定する。たとえば、ユーザが、あるコンピューティング装置を最後に操作してから３０秒が経っていて、その他のどのコンピュータも２時間以上操作していない場合は、３０秒前にアクティビティがあったコンピューティング装置の場所でユーザが最後にアクティブであったことになる。コンピューティング装置は、ユーザがそのコンピューティング装置の場所に存在する可能性が最も高いと判定した場合には、そのコンピューティング装置に関連付けられた電話番号に着信呼を転送するよう求める通知を電話システムに送信する。各コンピューティング装置は、ユーザが最後にアクティブであったのがそのコンピューティング装置の場所かどうかを判定するために同じアルゴリズムと同じプレゼンス情報とを用いるので、呼転送通知を電話システムに送信することを決定するコンピューティング装置は１つだけである。このようにして、発呼側ユーザは、被呼側ユーザに関連付けられた電話番号のいずれか１つに電話をかけ、ユーザが存在する可能性が最も高い場所にあるコンピューティング装置に関連付けられた電話番号に電話呼が自動的に転送されるようにすることができる。
【００１２】
一実施形態では、ユーザが存在する可能性が最も高い場所にあるコンピューティング装置の呼転送システムは、さらに、呼が転送されたことを示す電子メール通知をユーザに送信する。この電子メール通知は、発呼側ユーザの名前、発呼側の電話番号、呼の時刻、被呼側の電話番号、転送された電話番号、その他を含むことが可能である。（転送後であれ、転送前であれ）その電話呼が応答されない場合は、呼の転送を要求したコンピューティング装置が、しかるべき電子メール通知をユーザに送信することができる。あるいは、呼が応答されないイベントをすべてのコンピューティング装置が受信した場合には、「代表格の（ｄｉｓｔｉｎｇｕｉｓｈｅｄ）」コンピューティング装置が、電子メール通知をユーザに送信することが可能である。代表格のコンピューティング装置は、特定の特徴に基づいて、他のコンピューティング装置に対して自身を一意に識別することが可能なコンピューティング装置である。たとえば、すべてのコンピューティング装置の中で最も小さいネットワークアドレスを有するコンピューティング装置や、最後にユーザのアクティビティがあったコンピューティング装置を代表格のコンピューティング装置とすることができる。ネットワークアドレスは、プレゼンス情報とともに公開可能であるか、プレゼンス情報から抽出可能である。呼転送システムは、ユーザに通知するために、電子メール通知以外の通信方法を用いることもできる。たとえば、呼転送システムは、モバイル機器（たとえば、携帯電話やページャ）へのテキストメッセージの送信、インスタントメッセージの送信、または指定された電話番号（たとえば、携帯電話の電話番号）でユーザに電話をかけることによって通知を行うことができる。
【００１３】
一実施形態では、どのコンピューティング装置の場所にもユーザが存在しない場合に、代表格のコンピューティング装置は呼をデフォルトの電話番号に転送することができる。たとえば、各コンピューティング装置が、どのコンピューティング装置においてもユーザの最後のアクティビティが一時間以上前であったと判定した場合、各コンピューティング装置は、そのコンピューティング装置の場所にユーザが存在しないと結論づけることができる。その場合は、代表格のコンピューティング装置が、電話システムに対し、その着信電話呼をデフォルトの電話番号に転送するよう要求することができる。たとえば、携帯電話の電話番号をデフォルトの電話番号にすること、および／またはボイスメールサービス、ページングサービスなどを提供する電話番号をデフォルトの電話番号にすることができる。代表格のコンピューティング装置は、呼がデフォルトの電話番号に転送されたことを伝える電子メールメッセージをユーザに送信することもできる。
【００１４】
呼転送システムは、各コンピューティング装置に関連付けられる１つまたは複数の電話番号を定義することをユーザに許可することができる。呼転送システムは、また、コンピューティング装置への電話番号の自動関連付けに依存することも可能である。たとえば、ユーザは、異なる複数のアクセスポイントを介して無線ＬＡＮに接続されたラップトップを使用することが可能である。呼転送システムは、そのラップトップが現在ネットワークにアクセスしているアクセスポイントを特定して、そのアクセスポイント近くの電話の電話番号にラップトップを自動的に関連付けることができる。別の例として、ラップトップがＧＰＳ対応であれば、呼転送システムは、全地球測位情報を用いて近くの電話を特定することができる。ラップトップが携帯電話対応であれば、呼転送システムは、セル三角測量を用いて近くの電話を特定することができる。
【００１５】
一実施形態では、呼転送システムは、コンピューティング装置に関連付けられた電話番号で電話呼が受信された場合にコンピューティング装置のオーディオが自動的にミュートされることを可能にするミューティングシステムを含むことができる。コンピューティング装置のそのミューティングシステムは、関連付けられた電話番号に関する電話情報を電話システムから購読受信している。その電話番号に関する呼イベントが発生すると、電話システムがそのコンピューティング装置に通知する。イベントが着信呼の場合は、コンピューティング装置が、オペレーティングシステムに対し、コンピューティング装置のオーディオをミュートするよう指示することができる。あるいは、ミューティングシステムが、特定のソフトウェアコンポーネント（たとえば、アプリケーション）に対し、そのオーディオをミュートまたはポーズするよう指示することができる。たとえば、ソフトウェアコンポーネントがＤＶＤから映画を再生している場合は、ミューティングシステムがそのソフトウェアコンポーネントに対し、映画をポーズするよう要求することができる。ソフトウェアコンポーネントがデータストリームを受信している場合は、ポーズしている間、データストリームをバッファリングすることができる。その後、ミューティングシステムは、呼が終了したことを示す切断イベントを受信すると、ミューティングシステムは、自動的にソフトウェアコンポーネントのミュートを解除したり、ソフトウェアコンポーネントを再開したり（ｒｅｓｕｍｅ）することができる。ミューティングシステムは、ソフトウェアコンポーネントのミュート解除または再開を手動で指定することをユーザに許可することができる。このようにして、呼イベントが発生したときにオーディオを自動的にミュートすることが可能である。
【００１６】
一実施形態では、ミューティングシステムは、様々な呼イベントに対して実行されるアクションを指定する構成情報をユーザが入力できるユーザインターフェースを用意することができる。たとえば、ユーザは、発信呼イベントが発生した場合には、オーディオがミュートされるものの、ＤＶＤから映画を再生しているソフトウェアコンポーネントがポーズされないように指定することができる。あるいは、ユーザは、電話のスピーカホンオプションを使用して着信呼に応答するか、発信呼を発する場合のみ、オーディオがミュートされるように指定することが可能である（電話システムがコンピューティング装置に通知できるように、電話が電話システムに通知する必要がある）。別の例として、ユーザは、ユーザが電話のミュートボタンを選択したときにオーディオのミュートが解除されるように指定することができる。ミューティングシステムは、様々な呼イベントに基づいてアプリケーションをミュートまたはポーズすることをアプリケーションごとに指定することをユーザに許可することができる。ミューティングシステムは、コンピューティング装置のすべてのオーディオがミュートされるように指定することをユーザに許可することができる。その場合、ミューティングシステムは、オペレーティングシステムに対し、オーディオをミュートするよう指示することができる。ミューティングシステムはまた、ビデオ会議イベントやＰＳＴＮ会議イベントに基づいてオーディオのミュートを許可することもできる。
【００１７】
図１は、一実施形態における、プレゼンス状態のプレゼンスモデルを示す図である。プレゼンスモデル１００は、公開側エンティティ（ユーザ、クライアント、コンピュータシステムなど）のプレゼンス状態の階層構造を定義する。第１階層のプレゼンス状態１１０は、「オフライン」１１１、「オンライン」１１２、および「利用不可」１１３である。「オフライン」は、公開側エンティティが現時点で不在であることを示し、「オンライン」は、公開側エンティティがプレゼンスサーバに現在ログインしていることを示し、「利用不可」は、現時点で利用可能なプレゼンス情報がないことを示す。「オンライン」プレゼンス状態の第２階層のプレゼンス状態１２０は、「自宅」１２１、「職場」１２２、および「その他」１２３である。「自宅」は、公開側エンティティが自宅でオンラインであることを示し、「職場」は、公開側エンティティが職場でオンラインであることを示し、「その他」は、公開側エンティティがどこか他の場所でオンラインであることを示す。「職場」プレゼンス状態の第３階層のプレゼンス状態１３０は、「会議中」１３１、「電話中」１３２、および「昼食中」１３３である（いずれもそのままの意味である）。「会議中」プレゼンス状態の第４階層のプレゼンス状態１４０は、「職場内」１４１および「職場外」１４２である（いずれもそのままの意味である）。ユーザは、プレゼンスモデルのプレゼンス状態の階層構造を定義することと、複数のプレゼンスモデルを定義することとを許可されることができる。呼転送システムは、どのプレゼンス状態であれば連絡先が通信可能であるか、および各プレゼンス状態において可能な、または望ましい通信方法（複数可）を定義することを連絡先に許可することができる。呼転送システムはまた、ユーザに対する通知が必要である、連絡先のプレゼンス状態を選択することをユーザに許可することもできる。
【００１８】
図２は、一実施形態における、呼転送システムによって用いられるシステムを示すブロック図である。呼転送システムは、各クライアントコンピュータシステム２１１〜２１３に実装され、通信リンク２０３を介して電話システム２０１およびプレゼンスシステム２０２と対話する。各クライアントコンピュータシステムは、それに関連付けられた電話番号（たとえば、電話２２１〜２２３の電話番号）を１つまたは複数持つことができる。電話システムは、各クライアントコンピュータシステムに関連付けられた電話番号のうちの１つに対して呼イベントが発生した場合に各クライアントコンピュータシステムに通知する機能を有する構内交換機（「ＰＢＸ」）または他の何らかの電話サーバ（たとえば、パケット交換、ＶＯＩＰなど）であることが可能である。電話システムは、様々な電話番号に関する電話情報を購読受信することを各クライアントコンピュータシステムに許可することができる。プレゼンスシステムは、各クライアントコンピュータシステムに対し、他の各クライアントコンピュータシステムのプレゼンス情報を購読することを許可する。プレゼンスシステムは、あるクライアントコンピュータシステムに関する更新されたプレゼンス情報を受信すると、そのクライアントコンピュータシステムのプレゼンス情報の更新を他のクライアントコンピュータシステムに通知する。クライアントコンピュータシステムは、電話システムから着信呼イベントを受信すると、ユーザが最後にアクティブであったのがそのクライアントコンピュータシステムの場所かどうかを判定する。そうである場合、そのクライアントコンピュータシステムは、電話システムに対し、そのクライアントコンピュータシステムに関連付けられた電話番号に呼を転送するよう指示する。たとえば、電話システムは、電話２２１に宛てられた着信呼を受信すると、各クライアントコンピュータシステムに着信呼イベントを送信する。これに対し、各クライアントコンピュータシステムは、プレゼンス情報に基づいて、ユーザが最後にアクティブであったのがそのクライアントコンピュータシステムの場所かどうかを判定する。クライアントコンピュータシステム２１２が、そのクライアントコンピュータシステムの場所でユーザが最後にアクティブであったと判定した場合、クライアントコンピュータシステム２１２は、電話システムに対し、着信呼を電話２２２に転送するよう指示する。クライアントコンピュータシステム２１１および２１３では、ユーザが最後にアクティブであったのがそれらのコンピュータシステムの場所ではないと判定され、それらのコンピュータシステムは、電話システムに対し、着信呼の転送を要求しない。
【００１９】
図３は、一実施形態における、クライアントコンピュータシステムのリモートアクセスを示すブロック図である。クライアントコンピュータシステム３０２〜３０３が、通信リンク３０４を介して、プレゼンスシステム３０１に接続されている。クライアントコンピュータシステム３０３の場所にいるユーザが、クライアントコンピュータシステム３０２にリモートでアクセスしている。たとえば、クライアントコンピュータシステム３０３はラップトップであることが可能であり、ユーザは、ラップトップでは利用できない特定のアプリケーションをクライアントコンピュータシステム３０２上で実行している。クライアントコンピュータシステム３０２〜３０３の両方が、それぞれのプレゼンス情報をプレゼンスシステムに公開している。問題が生じる可能性があるのは、クライアントコンピュータシステム３０２が、ユーザが最後にアクティブだったのがそのコンピュータシステムの場所であると検出した場合である。そのように検出した場合は、クライアントコンピュータシステム３０２で実行されている呼転送システムが、クライアントコンピュータシステム３０２に関連付けられた電話番号に着信呼が転送されるよう指示を出す。しかしながら、ユーザは、物理的にはクライアントコンピュータシステム３０２の近くにいない可能性がある。この問題をタイミング図３０５に示す。クライアントコンピュータシステム３０３の場所にいるユーザが、時刻１：００：００にクライアントコンピュータシステム３０３と対話したとする。クライアントコンピュータシステム３０３は、このアクティビティをプレゼンスシステムに公開する。その対話はリモートアクセスに関連するので、クライアントコンピュータシステム３０３は、クライアントコンピュータシステム３０２に通知要求を送信する。クライアントコンピュータシステム３０２は、その要求を時刻１：００：０１に受信し、そのアクティビティをプレゼンスシステムに公開する。着信呼イベントが時刻１：００：０２に受信された場合、クライアントコンピュータシステム３０２〜３０３の両方が、クライアントコンピュータシステム３０２が最後にアクティブであったと判定する。このような判定にならないようにするために、各コンピュータシステムは、アクティビティがリモートアクセスの結果かどうかを公開する。クライアントコンピュータシステムは、最後にアクティビティがあったクライアントコンピュータシステムを識別した場合に、リモートアクセス経由であると示されたアクティビティを棄却する。したがって、上述の例では、クライアントコンピュータシステム３０２〜３０３の両方が、クライアントコンピュータシステム３０２の時刻１：００：０１のアクティビティを棄却し、クライアントコンピュータシステム３０３の時刻１：００：００のアクティビティが最後のアクティビティであったと判定する。
【００２０】
図４は、一実施形態における、呼転送システムのコンポーネントを示すブロック図である。呼転送システム４００は、他のクライアントの情報を購読するコンポーネント４０１と、プレゼンスイベントを受信するコンポーネント４０２と、着信呼イベントを受信するコンポーネント４０３と、不在着信呼イベントを受信するコンポーネント４０４と、最もアクティブかどうかを判定するコンポーネント４０５と、ミューティングシステム４０６とを含む。ミューティングシステムは、呼イベントを受信するコンポーネント４０７と、切断（ｈａｎｇｕｐ）イベントを受信するコンポーネント４０８とを含む。呼転送システムはさらに、プレゼンスストア４０９とクライアントストア４１０とを含む。他のクライアントの情報を購読するコンポーネントは、他のクライアントコンピュータシステムおよびそれらに関連付けられた電話番号のプレゼンス情報および電話情報を購読受信する。クライアントストアは、他のクライアントコンピュータシステムおよびそれぞれに関連付けられた電話番号のリストを格納する。プレゼンスイベントを受信するコンポーネントは、プレゼンスシステムからのイベント通知を受信し、プレゼンス情報をプレゼンスストアに格納する。着信呼イベントを受信するコンポーネントは、着信呼イベントが受信された場合に呼び出され、最もアクティブかどうかを判定するコンポーネントを呼び出して、そのクライアントコンピュータシステムが最もアクティブかどうかを判定する。最もアクティブである場合は、そのクライアントコンピュータシステムが、電話システムに対し、関連付けられた電話番号に着信呼を転送するよう指示する。不在着信呼イベントの受信を通知するコンポーネントは、呼が応答されないイベントが受信された場合に呼び出される。このコンポーネントは、そのクライアントコンピュータシステムが代表格のクライアントコンピュータシステムかどうかを判定し、そうであれば、ユーザに電子メール通知を送信する。ミューティングシステムの、呼イベントを受信するコンポーネントは、呼イベントが発生した場合に呼び出され、構成情報に基づいてミュートまたはポーズする。切断イベントを受信するコンポーネントは、呼切断イベントが受信された場合に呼び出され、アプリケーションをミュート解除またはレジュームする。
【００２１】
呼転送システムが実装されるコンピューティング装置は、中央処理ユニット、メモリ、入力装置（たとえば、キーボードおよびポインティングデバイス）、出力装置（たとえば、ディスプレイ装置）、および記憶装置（たとえば、ディスクドライブ）を含むことができる。メモリおよび記憶装置は、呼転送システムを実装する命令を格納することが可能なコンピュータ読取り可能媒体である。さらに、データ構造体およびメッセージ構造体が保管されたり、データ伝送媒体（通信リンク上の信号など）によって送信されたりすることができる。インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、ポイントツーポイントダイヤルアップ接続、携帯電話ネットワークなど、様々な通信リンクを用いることが可能である。
【００２２】
呼転送システムの実施形態は、様々な運用環境に実装可能であり、そのような運用環境としては、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ機器、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な家庭用電子機器、デジタルカメラ、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、これらのシステムまたは装置を任意に含む分散コンピューティング環境などがある。コンピュータシステムとしては、携帯電話、携帯情報端末、スマートホン、パーソナルコンピュータ、プログラム可能な家庭用電子機器、デジタルカメラなどが可能である。
【００２３】
呼転送システムは、１つまたは複数のコンピュータまたは他の装置によって実行される、コンピュータにより実行可能な命令（プログラムモジュール）の一般的な文脈で記述できる。一般に、プログラムモジュールとしては、特定のタスクを実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などがある。一般に、プログラムモジュールの機能性は、様々な実施形態において、必要に応じて、結合されたり分散されたりすることができる。
【００２４】
図５は、一実施形態における、他のクライアントの情報を購読するコンポーネントの処理を示すフロー図である。このコンポーネントは、他のクライアントコンピュータシステムに関連付けられたプレゼンス情報および電話情報を購読する。ブロック５０１で、このコンポーネントは、次のクライアントコンピュータシステムをクライアントストアから選択する。判断ブロック５０２で、すべてのクライアントコンピュータシステムが既に選択されている場合は処理を完了し、その他の場合はブロック５０３に進む。ブロック５０３で、選択されたクライアントコンピュータシステムのプレゼンス情報を購読する。ブロック５０４で、選択されたクライアントコンピュータシステムの電話情報を購読し、ブロック５０１に戻って、次のクライアントコンピュータシステムを選択する。
【００２５】
図６は、一実施形態における、着信呼イベントを受信するコンポーネントの処理を示すフロー図である。このコンポーネントは、クライアントコンピュータシステムが電話システムから着信呼イベントを受信した場合に呼び出される。まず、判断ブロック６０１で、最もアクティブかどうかを判定するコンポーネントを呼び出して、そのコンポーネントが実行されているクライアントコンピュータシステムが最もアクティブかどうかを判定する。そのクライアントコンピュータシステムが最もアクティブである場合は、ブロック６０２に進む。現在アクティブなクライアントコンピュータシステムがない場合はブロック６０４に進み、その他の場合は処理を完了する。ブロック６０２で、電話システムに対し、そのクライアントコンピュータシステムに関連付けられた電話番号に着信呼を転送するよう通知する。ブロック６０３で、呼が転送されたことを伝える電子メールメッセージをユーザに送信し、処理を完了する。判断ブロック６０４で、このクライアントコンピュータシステムが代表格のクライアントコンピュータシステムである場合はブロック６０５に進み、その他の場合は処理を完了する。ブロック６０５で、電話システムに対し、着信呼をデフォルトの電話番号に転送するよう通知する。ブロック６０６で、着信呼がデフォルト番号に転送されたことを伝える電子メールメッセージをユーザに送信する。その後、処理を完了する。
【００２６】
図７は、一実施形態における、最もアクティブかどうかを判定するコンポーネントの処理を示すフロー図である。最もアクティブかどうかを判定するコンポーネントは、そのコンポーネントが実行されているクライアントコンピュータシステムの場所においてユーザが現在最もアクティブかどうかを判定する。このコンポーネントは、最もアクティブである場合は「真」の表示を返し、別のクライアントコンピュータシステムが最もアクティブである場合は「偽」の表示を返し、どのクライアントコンピュータシステムでもユーザがアクティブでない場合は「なし」の表示を返す。まず、ブロック７０１で、「最後のアクティビティ（ｌａｓｔ  ａｃｔｉｖｉｔｙ）」変数を、可能な最も早いアクティビティの時刻に初期設定する。ブロック７０２〜７０６は、各クライアントコンピュータシステムを選択し、その「最後のアクティビティ」が、それまでに見つかった「最後のアクティビティ」より最近かどうかを判定するループである。ブロック７０２で、次のクライアントコンピュータシステムを選択する。判断ブロック７０３で、すべてのクライアントコンピュータシステムが既に選択された場合はブロック７０７に進み、その他の場合はブロック７０４に進む。判断ブロック７０４で、選択されたクライアントコンピュータシステムの「最後のアクティビティ」（たとえば、非リモートのアクティビティ）がそれまでに見つかった「最後のアクティビティ」より最近である場合はブロック７０５に進み、その他の場合はブロック７０２に戻って、次のクライアントコンピュータシステムを選択する。ブロック７０５で、それまでに見つかった「最後のアクティビティ」を、選択されたクライアントコンピュータシステムの「最後のアクティビティ」に設定する。ブロック７０６で、選択されたクライアントコンピュータシステムが、それまでに見つかった最後のアクティビティを有することを記録する。次にブロック７０２に戻って、次のクライアントコンピュータシステムを選択する。判断ブロック７０７で、クライアントコンピュータシステムの「最後のアクティビティ」が、ユーザがアクティブであると見なすにはあまりに過去のものである場合は、どのクライアントコンピュータシステムでもユーザはアクティブでないという表示に戻り、その他の場合はブロック７０８に進む。判断ブロック７０８で、実行されているクライアントコンピュータシステムが、そこでユーザの最後のアクティビティがあったと識別された場合には「真」を返し、その他の場合には「偽」を返す。
【００２７】
図８は、一実施形態における、不在着信呼（ｍｉｓｓｅｄ  ｃａｌｌ）イベントを受信するコンポーネントの処理を示すフロー図である。このコンポーネントは、呼が応答されないイベントをクライアントコンピュータシステムが電話システムから受信した場合に呼び出される。まず、判断ブロック８０１で、このクライアントコンピュータシステムが代表格のクライアントコンピュータシステムである場合に、ブロック８０２で、不在着信をしたことを伝える電子メールメッセージをユーザに送信する。その後、処理を完了する。
【００２８】
図９は、一実施形態における、ミューティングシステムのユーザインターフェースを示す表示ページである。表示ページ９００は、イベント選択エリア９０１と、「すべてミュート」チェックボックスを含むアクション選択エリア９０２と、アプリケーション選択ドロップダウンリスト９０３と、アプリケーションミュートチェックボックス９０４と、アプリケーションポーズチェックボックス９０５とを含む。ユーザは、イベント選択エリアで１つまたは複数の電話イベントを指定し、アクション選択エリアでアプリケーションとアクションとを指定することができる。たとえば、ユーザは、着信呼チェックボックスを選択し、ＤＶＤを再生するアプリケーションをドロップダウンリストから選択し、ポーズチェックボックスを選択することができる。ユーザは、選択を指定した後、送信ボタン９０６を選択して、その構成を送信することが可能である。クライアントコンピュータシステムは、着信呼イベントを受信すると、ＤＶＤを再生するアプリケーションに対して、ポーズを指示する。当業者であれば、さらなるイベント（たとえば、応答された呼のイベント）およびアクション（たとえば、ボリュームを下げるアクション）も定義可能であることと、様々なユーザインターフェースが利用可能であることを理解されよう。
【００２９】
図１０は、一実施形態における、電話情報を購読するコンポーネントの処理を示すフロー図である。まず、ブロック１００１で、クライアントコンピュータシステムに関連付けられた電話番号を取得する。ブロック１００２で、取得された電話番号に宛てられたすべての呼関連イベントを購読するために、電話システムに購読メッセージを送信する。その後、処理を完了する。
【００３０】
図１１は、一実施形態における、ミューティングシステムの、呼イベントを受信するコンポーネントの処理を示すフロー図である。このコンポーネントは、ミューティングシステムの構成情報を取得し、それに従ってアプリケーションを構成する。まず、ブロック１１０１で、ミューティングシステムの構成情報を取得する。判断ブロック１１０２で、その構成情報がすべてのオーディオをミュートすることを示している場合はブロック１１０３に進み、その他の場合はブロック１１０４に進む。ブロック１１０３で、オペレーティングシステムに対し、すべてのオーディオをミュートするよう通知する。ブロック１１０４〜１１０８は、構成情報で指定された各アプリケーションを選択し、指定されたアクションを実行するループである。ブロック１１０４で、構成情報の、次のアプリケーションを選択する。判断ブロック１１０５で、すべてのアプリケーションが既に選択されている場合は処理を完了し、その他の場合はブロック１１０６に進む。判断ブロック１１０６で、選択されたアプリケーションに関連付けられたアクションがポーズであればブロック１１０７に進み、その他の場合はブロック１１０８に進む。ブロック１１０７で、選択されたアプリケーションに対し、ポーズするよう通知し、ブロック１１０４に戻って、次のアプリケーションを選択する。ブロック１１０８で、選択されたアプリケーションに対し、ミュートするよう通知し、ブロック１１０４に戻って、次のアプリケーションを選択する。
【００３１】
図１２は、一実施形態における、ミューティングシステムの、切断イベントを受信するコンポーネントの処理を示すフロー図である。このコンポーネントは、ミューティングシステムの構成情報を取得し、対応する着信呼イベントが受信された際に実行されたアクションを取り消す。まず、ブロック１２０１で、ミューティングシステムの構成情報を取得する。判断ブロック１２０２で、その構成情報がすべてのオーディオをミュートすることを示している場合はブロック１２０３に進み、その他の場合はブロック１２０４に進む。ブロック１２０３で、オペレーティングシステムに対し、すべてのオーディオをミュート解除するよう通知する。ブロック１２０４〜１２０８は、構成情報で指定された各アプリケーションを選択し、指定されたアクションを取り消すループである。ブロック１２０４で、構成情報の、次のアプリケーションを選択する。判断ブロック１２０５で、すべてのアプリケーションが既に選択されている場合は処理を完了し、その他の場合はブロック１２０６に進む。判断ブロック１２０６で、選択されたアプリケーションに関連付けられたアクションがポーズであればブロック１２０７に進み、その他の場合はブロック１２０８に進む。ブロック１２０７で、選択されたアプリケーションに対し、再開する（ｒｅｓｕｍｅ）よう通知し、ブロック１２０４に戻って、次のアプリケーションを選択する。ブロック１２０８で、選択されたアプリケーションに対し、ミュート解除するよう通知し、ブロック１２０４に戻って、次のアプリケーションを選択する。
【００３２】
先述の内容から、本明細書で説明した呼転送システムの特定の実施形態が例示を目的としたものであって、本発明の趣旨および範囲から逸脱することなく様々な変更を施すことが可能であることを理解されよう。当業者であれば、本明細書で用いられている「電話呼」が、様々なタイプの音声会話（たとえば、ＶＯＩＰや、通常の電話システムでの音声会話）を包含するものであることを理解されよう。当業者であれば、コンピュータシステムが、それに関連付けられた電話番号を複数有することができることを理解されよう。たとえば、コンピュータシステムは、ＶＯＩＰ用の電話番号と通常電話用の電話番号とを有することができる。そのような場合、呼転送システムは、プレゼンス情報に基づいて、それらの電話番号のうちの１つに呼を転送することを決定することが可能である。たとえば、ユーザが同じ部屋の複数の人物との電話会議をホストしていることをプレゼンス情報が示している場合、呼転送システムは、コンピュータのサウンドシステムを利用するためにＶＯＩＰ用電話番号に呼を転送することができる。一実施形態では、ミューティングシステムは、状況に応じて、オーディオをミュートするのではなく、オーディオのボリュームを指定のレベルだけ下げることが可能である。その場合、ミューティングシステムは、ボリュームを下げる前にボリュームのレベルを記録しておき、呼の完了後にボリュームをそのレベルまで戻すことができる。一実施形態では、ミューティングシステムは、ミュート時にボリュームを徐々に下げ、ミュート解除時にボリュームを徐々に上げることができる。ボリュームを（たとえば、１〜２秒間にわたって）少しずつ変化させることは、ミュート解除時に大音量の音楽が突然始まるのを防ぐ場合に特に重要であろう。ミューティングシステムはまた、呼の完了時に自動的にミュート解除するかどうかを選択することをユーザに許可することができる。したがって、本発明は、添付の特許請求項によって限定される以外は限定されない
【図面の簡単な説明】
【００３３】
【図１】一実施形態における、プレゼンス状態のプレゼンスモデルを示す図である。
【図２】一実施形態における、呼転送システムによって用いられるシステムを示すブロック図である。
【図３】一実施形態における、クライアントコンピュータシステムのリモートアクセスを示すブロック図である。
【図４】一実施形態における、呼転送システムのコンポーネントを示すブロック図である。
【図５】一実施形態における、他のクライアントの情報を購読するコンポーネントの処理を示すフロー図である。
【図６】一実施形態における、着信呼イベントを受信するコンポーネントの処理を示すフロー図である。
【図７】一実施形態における、最もアクティブかどうかを判定するコンポーネントの処理を示すフロー図である。
【図８】一実施形態における、不在着信呼（ｍｉｓｓｅｄ  ｃａｌｌ）イベントを受信するコンポーネントの処理を示すフロー図である。
【図９】一実施形態における、ミューティングシステムのユーザインターフェースを示す表示ページである。
【図１０】一実施形態における、電話情報を購読するコンポーネントの処理を示すフロー図である。
【図１１】一実施形態における、ミューティングシステムの、呼イベントを受信するコンポーネントの処理を示すフロー図である。
【図１２】一実施形態における、ミューティングシステムの、切断イベントを受信するコンポーネントの処理を示すフロー図である。
【符号の説明】
【００３４】
２１１、２１２、２１３、３０２、３０３  クライアントコンピュータシステム
２０３、３０４  通信リンク
【図１】
2006238428.tif 000003
【図２】
2006238428.tif 000004
【図３】
2006238428.tif 000005
【図４】
2006238428.tif 000006
【図５】
2006238428.tif 000007
【図６】
2006238428.tif 000008
【図７】
2006238428.tif 000009
【図８】
2006238428.tif 000010
【図９】
2006238428.tif 000011
【図１０】
2006238428.tif 000012
【図１１】
2006238428.tif 000013
【図１２】
2006238428.tif 000014