(57)【要約】  対処可能通知サービスは、登録済みエンドポイント、たとえばスマートフォン、タブレット、およびＰＣと対話して、通知を複数のエンドポイントにわたって分配し効果的に管理できるようにする通知発行およびサブスクリプションシステムをサポートする。登録済みエンドポイントのアプリケーションは、他の登録済みエンドポイントがサブスクライブ可能な通知をシステムに発行することができる。サブスクライブ側エンドポイントで受信された通知は、ローカルハンドラを用いて、または発行側エンドポイントへのリモートセッションを実装することによって、ユーザがネイティブ体験として発行アプリケーションと対話できるように、完全に対処可能な方法で表示され提起される。【選択図】図７
2018505573.tif 000002
【特許請求の範囲】
【請求項１】
通知発行およびサブスクリプションシステムへの登録済みエンドポイントとして構成されるデバイスであって、
１つまたは複数のプロセッサと、
デバイスユーザと対話するためのユーザインターフェース（UI）をサポートするディスプレイと、
前記１つまたは複数のプロセッサにより実行された場合に、複数のエンドポイントデバイスにわたって通知を管理するための方法を実施するコンピュータ可読命令を記憶するメモリとを備え、前記方法が、
発行側エンドポイントのサブスクリプションに従って前記システムから通知を受信することであって、前記サブスクリプションが前記複数のエンドポイントデバイスにわたってリソースを管理するためにユーザ選択可能であり、前記リソースがデバイスリソースおよびネットワークリソースを含む、受信することと、
前記受信された通知を前記ＵＩ上に浮上させることと、
前記通知に対処するまたは前記通知を破棄するための前記ＵＩにおける入力を受信することであって、前記ＵＩにおける前記通知の破棄が、他のサブスクライブ側エンドポイントのそれぞれにおいてそれぞれ受信された前記通知の破棄を生じさせる、受信することと、
前記ＵＩ上で前記通知が対処された場合に、前記通知を処理するためのアプリケーションを起動することと
を備える、デバイス。
【請求項２】
通知を前記通知発行およびサブスクリプションシステムに発行することをさらに含み、前記通知が、サブスクライブ側エンドポイントで受信され浮上した場合に対処可能である、請求項１に記載のデバイス。
【請求項３】
前記通知発行およびサブスクリプションシステムと対話するように構成されるクライアントをホストすることをさらに含み、前記クライアントが、前記通知を処理する前記アプリケーションを起動するためランチャまたはネイティブ通知能力のうちの少なくとも１つを含む、請求項１に記載のデバイス。
【請求項４】
１つまたは複数のアプリケーションに対してアプリケーションプログラミングインターフェース（API）を公開するように前記クライアントを構成することをさらに含み、前記ＡＰＩが、前記通知発行およびサブスクリプションシステムに発行される通知に関連付けられたアウトバウンド通知データを受信するように構成される、請求項３に記載のデバイス。
【請求項５】
前記アプリケーションが、リモート体験をサポートするために発行側エンドポイントへの接続を用いて起動される、請求項１に記載のデバイス。
【請求項６】
前記複数のエンドポイントのそれぞれが、前記通知発行およびサブスクリプションシステムへの接続および通知転送についての異なる属性を有するそれぞれのアクセスネットワークを使用し、前記管理することが、前記通知をそれぞれの複数のエンドポイントに転送する場合に前記異なるアクセスネットワークの利用を管理することを含む、請求項１に記載のデバイス。
【請求項７】
前記ＵＩにおけるユーザが、前記デバイス上でのネイティブ体験として前記通知処理アプリケーションと対話することを可能にすることをさらに含む、請求項１に記載のデバイス。
【請求項８】
エンドポイント登録、エンドポイントサブスクリプション管理、またはエンドポイント発行管理の１つまたは複数のユーザ対話用に前記ＵＩを構成することをさらに含み、前記エンドポイントサブスクリプション管理が、通知受諾または通知抑制のための基準の設定を含む、請求項１に記載のデバイス。
【請求項９】
前記基準が、エンドポイント位置、時間、通知特性、またはエンドポイント状態のうちの１つを含む、請求項８に記載のデバイス。
【請求項１０】
複数のエンドポイントにわたって通知を管理するための方法であって、各エンドポイントが、通知発行およびサブスクリプションシステムに登録されるデバイスである方法において、
サーバで公開されるユーザインターフェース（UI）をサポートするステップであって、前記ユーザインターフェースが、ｉ）エンドポイントを前記通知発行およびサブスクリプションシステムに対して登録および登録解除することを可能にし、ｉｉ）登録済みエンドポイントに対して発行権を設定し、ｉｉｉ）登録済みエンドポイントに対してサブスクリプションを設定するように構成される、サポートするステップと、
登録済みエンドポイントがネットワークを介してアクセスするために前記通知発行およびサブスクリプションシステムをホストするステップであって、前記通知発行およびサブスクリプションシステムが、前記発行権およびサブスクリプションに従って発行側エンドポイントおよびサブスクライブ側エンドポイントの間で前記ネットワークを介して対処可能通知を分配するように構成される、ホストするステップと
を備える、方法。
【請求項１１】
エンドポイントごとに通知受諾および通知抑制基準をユーザ設定するように前記ＵＩを構成することをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記抑制基準に従って通知がエンドポイントに到達するのを抑制することをさらに含む、請求項１１に記載の方法。
【請求項１３】
サブスクライブ側エンドポイントにおける通知が対処された場合に、前記サブスクライブ側エンドポイントに対して発行側エンドポイントでホストされるリモート体験をサポートするために、前記サブスクライブ側エンドポイントおよび前記発行側エンドポイントの間の接続の確立をトリガすることをさらに含む、請求項１０に記載の方法。
【請求項１４】
リンク付き通知をサブスクライブ側エンドポイントに送信することをさらに含み、前記リンクが、辿られた場合に、前記サブスクライブ側エンドポイントによってダウンロードするのに利用可能な通知処理アプリケーションへのアクセスを提供する、請求項１０に記載の方法。
【請求項１５】
ユーザがローカルエンドポイントにおいて通知を破棄したことに応答して、リモートエンドポイントにわたる重複した通知を破棄することをさらに含む、請求項１０に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  通知は、典型的には、最新のニュースおよびアラートを配信するために、スマートフォン、タブレット、およびパーソナルコンピュータ（PC）などのデバイスのユーザに情報をリアルタイムで提供するために利用される。
【０００２】
[0002]  この背景は、以下の概要および詳細な説明についての簡単な文脈を紹介するために与えられる。この背景は、特許請求された主題の範囲を決定する際の手助けとなることも、上記で提示された欠点または問題のいずれかまたは全てを解決する実装に、特許請求された主題を限定するものとみなされることも意図されていない。
【発明の概要】
【０００３】
[0003]  対処可能通知（actionable notification）サービスは、登録済みエンドポイント、たとえばスマートフォン、タブレット、およびＰＣと対話して、通知を複数のエンドポイントにわたって分配し効果的に管理できるようにする通知発行およびサブスクリプションシステムをサポートする。登録済みエンドポイントのアプリケーションは、他の登録済みエンドポイントがサブスクライブ可能な通知をシステムに発行することができる。サブスクライブ側エンドポイントで受信された通知は、ローカルハンドラを用いて、または発行側エンドポイントへのリモートセッションを実装することによって、ユーザがネイティブ体験として発行アプリケーションと対話することができるように、完全に対処可能な方法で表示され提起される。
【０００４】
[0004]  対処可能通知サービスは、エンドポイントサブスクリプション基準を設定するためのユーザインターフェース（UI）をサポートすることによって、複数のサブスクライブ側エンドポイントにわたって受信される通知をユーザが効率的に管理することを可能にするように構成される。たとえば、ユーザは、１日の特定の時刻に、もしくはエンドポイントが特定のネットワーク上にある場合に、またはエンドポイントが特定の位置にある場合に、エンドポイントへの通知を受諾または抑制することを選択することができる。また、ユーザがあるエンドポイントで提起された通知を破棄した場合、他のサブスクライブ側エンドポイントにおける通知もまた、重複した冗長な通知を排除するために、対処可能通知サービスにより破棄することができる。
【発明の効果】
【０００５】
[0005]  有利なことに、対処可能通知サービスは、ユーザ体験を向上しつつ、エンドポイントのリソース消費および伝送ネットワーク利用の制御および最適化も可能にする方法で通知を管理する方法をエンドポイントユーザに与える。たとえば、ユーザは、対処可能通知サービスと対話してサブスクリプション基準を選択して、特定のサブスクライブ側エンドポイントへの通知をいくつかの条件の下で抑制することによって、エンドポイント無線受信機に電力供給し画面を点灯して通知を表示するために電池寿命およびリソースが本来消費される場合に、それらのエンドポイントにおけるリソース消費を削減することができる。他のシナリオでは、ユーザは、Ｗｉ−Ｆｉネットワーク上にあるサブスクライブ側エンドポイントにおいて通知を提起しつつ、セルラーデータネットワークへの接続のみを現在有し得る他のサブスクライブ側エンドポイントへの通知が抑制されるように、ネットワーク使用量の割り当てを決定することができる。
【０００６】
[0006]  この概要は、詳細な説明において以下でさらに説明される概念から選択したものを簡略化した形式で紹介するために与えられる。この概要は、特許請求された主題の主要な特徴または必須の特徴を特定することも、特許請求された主題の範囲を決定する際の手助けとして使用されることも意図されていない。さらに、特許請求された主題は、本開示のいずれかの部分に記述されたいずれかまたは全ての欠点を解決する実装に限定されない。上述の主題が、コンピュータ制御される装置、コンピュータ処理、コンピューティングシステム、または製造品、たとえば１つまたは複数のコンピュータ可読記憶媒体として実装できることは理解されよう。これらおよび様々な他の特徴は、以下の詳細な説明を読み、関連する図面を概観することから明らかとなろう。
【図面の簡単な説明】
【０００７】
【図１】[0007]通信能力を有するエンドポイントが１つまたは複数のネットワークを介して対話する例示的な環境の図である。
【図２】[0008]エンドポイントにより利用され得る様々な例示的なアクセスネットワークの図である。
【図３】[0009]例示的なアクセスネットワーク属性の図である。
【図４】[0010]アプリケーション層、オペレーティングシステム（OS）層、およびハードウェア層を含む例示的な階層化アーキテクチャの図である。
【図５】[0011]対処可能通知クライアントならびに通知生成および処理アプリケーションにより公開されるアプリケーションプログラミングインターフェース（API）の図である。
【図６】[0012]エンドポイントが通知発行およびサブスクリプションシステムに登録される例示的な構成の図である。
【図７】[0013]発行側エンドポイントにより発行され、サブスクライブ側エンドポイントにより受信される対処可能通知の例示的な例の図である。
【図８】[0014]ペイロードおよびメタデータを含む対処可能通知の例示的な例の図である。
【図９】[0015]サブスクライブ側エンドポイントへの通知をフィルタリングするために対処可能通知サービスにより使用され得る例示的な入力の分類の図である。
【図１０】[0016]対処可能通知サービスに対するユーザインターフェース（UI）によりサポートされる例示的な特徴および機能の図である。
【図１１】[0017]対処可能通知が複数のサブスクライブ側エンドポイント間で共有される例示的な例の図である。
【図１２】[0018]対処可能通知が一部のサブスクライブ側エンドポイント間で共有されつつ、他のサブスクライブ側エンドポイントで抑制される例示的な例の図である。
【図１３】[0019]対処可能通知が複数のエンドポイントにわたって破棄される図である。
【図１４】[0019]対処可能通知が複数のエンドポイントにわたって破棄される図である。
【図１５】[0020]エンドポイントにおける着信ＶｏＩＰ（ボイスオーバーインターネットプロトコル）通話に関連する対処可能通知の図である。
【図１６】[0021]対処可能通知を示すエンドポイントに表示される例示的なＵＩのスクリーンキャプチャである。
【図１７】[0022]通知が対処された後にエンドポイント上に浮上する（surface）例示的なネイティブアプリケーション体験の図である。
【図１８】[0023]リモートデスクトップを用いてサポートされるネイティブアプリケーション体験の図である。
【図１９】[0024]例示的な対処可能通知シナリオの図である。
【図２０】[0024]例示的な対処可能通知シナリオの図である。
【図２１】[0025]対処可能通知サービスと、エンドポイント上のクライアントコンポーネントと、コンテンツプロバイダとの間の例示的な対話の図である。
【図２２】[0026]本マルチエンドポイント対処可能通知を実装する場合に実施され得る例示的な方法の図である。
【図２３】[0026]本マルチエンドポイント対処可能通知を実装する場合に実施され得る例示的な方法の図である。
【図２４】[0026]本マルチエンドポイント対処可能通知を実装する場合に実施され得る例示的な方法の図である。
【図２５】[0027]本マルチエンドポイント対処可能通知を実装するために部分的に使用され得るパーソナルコンピュータ（PC）などの例示的なコンピュータシステムの簡略化されたブロック図である。
【図２６】[0028]本マルチエンドポイント対処可能通知を実装するために部分的に使用され得る例示的なシステムのブロック図である。
【図２７】[0029]例示的なモバイルデバイスのブロック図である。
【図２８】[0030]例示的なマルチメディアコンソールのブロック図である。
【発明を実施するための形態】
【０００８】
[0031]  図面において、同様の参照番号は同様の要素を示す。特に断りのない限り、要素は縮尺通りではない。図面に表示された特定のＵＩが、特定の実装の必要性に従って示されるものとは異なり得ることが強調される。ＵＩは図面ではポートレートモードで示されているが、本構成はランドスケープモードを用いて実装することもできる。
【０００９】
[0032]  図１は、様々なユーザ１０５が、典型的には様々なアクセスネットワーク（参照番号１１２によって代表して示され、以下でさらに説明される）およびＩＰ（インターネットプロトコル）通信ネットワーク１１５を含み得る１つまたは複数の通信ネットワークを介して対話することが可能な「エンドポイント」１１０と呼ばれるそれぞれのデバイスを利用する例示的な通信環境１００を示す。ＩＰ通信ネットワーク１１５は、典型的には、ＩＰベースの転送およびシグナリングを使用し、たとえば、モバイル事業者、企業、インターネットサービスプロバイダ（ISP）、電話サービスプロバイダ、データサービスプロバイダなどによりサポートされ得る。
【００１０】
[0033]  ＩＰ通信ネットワーク１１５は、典型的には、エンドポイント１１０が１つまたは複数のコンテンツプロバイダ１２５により提供されるコンテンツにアクセスし、場合によっては対処可能通知サービス１３０にアクセスすることができるように、インターネットへの接続をサポートするインターフェースを含む。エンドポイント１１０およびＩＰ通信ネットワーク１１５は、ピアツーピアおよび／またはサーバベースのプロトコルを用いたデバイス間通信を可能にするように構成することができる。デバイス間通信のサポートは、少なくとも部分的に、エンドポイント１１０上で動作する様々なアプリケーションを用いて提供することができる。
【００１１】
[0034]  エンドポイント１１０は、様々な能力、たとえば音声およびビデオ通話およびメッセージングを提供し、典型的には、データ消費アプリケーション、たとえばインターネットブラウジングおよびマルチメディア（たとえば、音楽、ビデオなど）消費、ならびに様々な他の特徴をサポートすることができる。エンドポイント１１０は、ユーザが、音声および／またはマルチメディア（すなわちビデオ）通話の発信および受信を行い、メッセージング（たとえばテキスティング）を行い、データを利用するアプリケーションおよびアクセスサービスを使用し、ワールドワイドウェブを閲覧するなどのために利用することが多い、ユーザ機器、携帯電話、セルフォン、フィーチャーフォン、タブレットコンピュータ、およびスマートフォンなどを含むことができる。
【００１２】
[0035]  しかしながら、代替タイプの電子エンドポイントデバイスもまた、通信能力を備えて構成され、ＩＰ通信ネットワーク１１５に接続可能な限り、通信環境１００内で使用可能であることが想定される。そのような代替的エンドポイントは、ハンドヘルドコンピューティングデバイス、ＰＤＡ（パーソナルデジタルアシスタント）、ポータブルメディアプレーヤー、ファブレットデバイス（すなわち、スマートフォン／タブレットデバイスの組み合わせ）、ウェアラブルコンピュータ、ナビゲーションデバイスたとえばＧＰＳ（全地球測位システム）システム、ラップトップＰＣ（パーソナルコンピュータ）、デスクトップコンピュータ、マルチメディアコンソール、ゲーミングシステム、ネットワーク接続されたおよび／または遠隔制御のカメラなどを様々に含む。そのようなカメラは、たとえば、室内および自宅の監視カメラ、身体装着カメラ、ウェブカメラ、ＰＣと共に使用される外部カメラ、タブレット、および他のコンピューティングデバイス、車両内のリモートカメラなどを含むことができる。以下の議論では、「エンドポイント」という用語の使用は、通信能力を備えて構成され、ＩＰ通信ネットワーク１１５へのＩＰアクセス能力を有する全てのデバイスを網羅するものとする。
【００１３】
[0036]  環境１００における様々なエンドポイント１１０は、異なる特徴、機能および能力（本明細書では広く「特徴」と呼ばれる）をサポートすることができる。所与のエンドポイントでサポートされる特徴の一部は、他でサポートされるものと同様のものとすることができ、他の特徴は所与のエンドポイントに一意のものとすることができる。様々なエンドポイント１１０でサポートされる特徴間の重複および／または独自性の程度は、実装によって異なり得る。たとえば、一部のエンドポイント１１０は、タッチ制御、ジェスチャ認識、自然言語インターフェース、および音声コマンドをサポートすることができ、他はより制限されたＵＩを可能にすることができる。一部のエンドポイントは、ビデオ消費およびインターネットブラウジングをサポートすることができ、他のデバイスは、より制限されたメディア処理およびネットワークインターフェース特徴をサポートすることができる。
【００１４】
[0037]  また、アクセサリデバイス１１４、たとえばリストバンドおよび他のウェアラブルデバイスが環境１００に存在することができる。そのようなアクセサリデバイス１１４は、典型的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）およびＵＳＢ（ユニバーサルシリアルバス）などの通信プロトコルを用いてデバイス１１０と相互運用して、装着者の生理機能（たとえば心拍数、歩数、消費カロリーなど）および環境条件（温度、湿度、紫外線（UV）レベルなど）の監視、ならびに結合されたデバイス１１０からの通知の浮上などの機能をサポートするようになされる。
【００１５】
[0038]  図２は、異なるエンドポイントが異なるアクセスネットワークを使用し得る方法を例示的に示す。この例では、エンドポイント１１０の１つは、モバイル事業者によりサポートされ得るセルラーデータアクセスネットワーク２０５を使用する。第２のエンドポイント１１０は、ＤＳＬ（デジタル加入者線：Digital Subscriber Line）オーバーＰＳＴＮ（公衆交換電話網：Public Switched Telephone Network）インフラストラクチャを用いてＩＰ通信ネットワーク１１５へのネットワーク接続を実装するアクセスネットワーク２１０を利用する。第３のエンドポイント１１０は、そのアクセスネットワーク２１５としてパブリックＷｉ−Ｆｉホットスポットを使用し、第４のエンドポイント１１０は、ブロードバンドイーサネット（イーサネットは登録商標）を特徴とするＩＳＰにより提供されるアクセスネットワーク２２０を使用する。ここに記載されたアクセスネットワークタイプが例示的であることが意図されていること、および様々な他のネットワークのタイプ（たとえば、衛星、短距離、ホワイトスペースなど）を利用して特定の実装のニーズを満たすこともできることが強調される。追加的に、場合によっては、所与のエンドポイントは、２つ以上のアクセスネットワークと接続を確立することが可能であり得る。たとえば、スマートフォンはいくつかの状況ではＷｉ−Ｆｉまたはセルラーデータを使用する能力を有することができる。
【００１６】
[0039]  異なるアクセスネットワークは、異なる様々な属性を有することができる。たとえば、図３に示されるように、所与のアクセスネットワーク１１２は、典型的には、一部のネットワークが典型的にはより高速であり（たとえばブロードバンドイーサネット）、他のもの（たとえばDSL）がより低速である、アクセスネットワークによって変化し得る帯域幅３０５などの関連する属性３００を有する。サービス品質（QoS:Quality of Service）３１０は、一部のアクセスネットワークが特定のレベルの性能および／または可用性／信頼性を保証し、他のものが無保証のサービスを提供し得る、アクセスネットワークによって変化し得る他の属性である。一部のアクセスネットワーク、たとえばモバイルデータプランに関連するものは、月次のデータ限度に達すると帯域幅が抑制され得る可変のデータ速度および／または容量３１５を有することができる。経済的コスト、ローミングネットワーク利用、エンドポイント間のデータ共有などの側面を網羅するサービス利用規約３２０は、ネットワークおよびエンドポイントによって変化し得る他のアクセスネットワーク属性である。
【００１７】
[0040]  マルチポイント対処可能通知体験は、所与のエンドポイント１１０でインスタンス化されるコンポーネントを用いて実装することができる。図４は、様々なアプリケーションおよび他のコンポーネントをサポートする例示的な階層化アーキテクチャ４００を示す。アーキテクチャ４００は典型的にはソフトウェアで実装されるが、ソフトウェア、ファームウェアおよび／またはハードウェアの組み合わせも場合によっては利用することができる。アーキテクチャ４００は層状に構成され、アプリケーション層４０５、ＯＳ（オペレーティングシステム）層４１０、およびハードウェア層４１５を含む。ハードウェア層４１５は、エンドポイント１１０により使用される様々なハードウェア（たとえば、入力および出力デバイス、ネットワーキングおよび／または無線ハードウェアなど）の抽象化を上位の層に提供する。
【００１８】
[0041]  この例示的な例におけるアプリケーション層４０５は、典型的なアプリケーション４３０（たとえば、ウェブブラウザ、音楽プレーヤー、電子メールアプリケーションなど）、ならびに通知を生成および／または処理可能な特定のアプリケーション４４０をサポートする。また、対処可能通知クライアント４５０は、この例ではアプリケーション層４０５でインスタンス化される。クライアント４５０は、典型的には、線４６０で示されるように、サービス１３０と対話して対処可能通知システムを実行するように構成される。
【００１９】
[0042]  いくつかの実装では、対処可能通知サービス１３０は、ＡＰＩ（アプリケーションプログラミングインターフェース）、たとえばＲＥＳＴ（表現状態転送：Representational State Transfer）ＡＰＩ４６５を公開して、通知アプリケーション４４０がサービス１３０と直接に対話できるようにすることができる。したがって、クライアント４５０は、場合によってはインストールされる必要がない場合があり、またはＡＰＩ４６５により公開されるメソッドおよび関数を補う働きをすることができる。通知アプリケーション４４０は、たとえば、セルラー、短距離（たとえばBluetoothなど）、ＩＰベース、たとえばＷｉ−Ｆｉおよびイーサネット、公衆交換などを含む様々なネットワークタイプ上で、異なるプロトコル（たとえば、HTTP（ハイパーテキスト転送プロトコル）、SMS（ショートメッセージサービス）、SMTP（簡易メール転送プロトコル）など）を用いて動作することが可能な通知プッシュサービス／システムと対話するクライアントコンポーネントを含むことができることに留意されたい。
【００２０】
[0043]  対処可能通知サービス１３０は、いくつかの実装では、管理ツール４６８を公開することができる。ツール４６８は、ユーザが登録済みエンドポイントをリモートで管理できるようにするために、ブラウザなどのウェブアプリケーションを用いてアクセスするように構成することができる。たとえば、ユーザは、デバイスを紛失した／盗難された、または交換／更新されたシナリオにおいて、エンドポイントを再認証することを望む場合がある。ツール４６８は、図１０に付随するテキストにおいて以下で説明されるように、エンドポイントでローカルに公開されるユーザインターフェースコントロールの一部を補うまたは置換するために使用することができる。
【００２１】
[0044]  アプリケーション４３０、４４０および４５０は、ローカルに実行するコードを用いて実装されることが多い。しかしながら、場合によっては、これらのアプリケーションは、リモートサーバまたは他のコンピューティングプラットフォーム、たとえば他のクラウドベースのリソース／サービス４７０によりサポートされるものによって提供されるサービスおよび／またはリモートコード実行に依存し得る。対処可能通知クライアント４５０はここではアプリケーション層４０５でインスタンス化されるコンポーネントとして示されているが、それがサポートする機能が、ＯＳコンポーネント４７５および／またはハードウェア層４１５でサポートされる他のコンポーネントを用いて全体的または部分的に実装され得ることは理解されよう。
【００２２】
[0045]  図５に示されるように、対処可能通知クライアント４５０は、いくつかの実装ではそれ自体のネイティブ通知能力５０５を、典型的にはサービス１３０と共にサポートすることができる。また、対処可能通知クライアント４５０は、ＡＰＩ５１０を通知アプリケーション４４０の１つまたは複数に公開することができる。ＡＰＩ５１０は、以下でより詳細に説明されるように、サブスクライブ側エンドポイントに通知を発行するために、通知アプリケーション４４０が対処可能通知サービス１３０と相互運用することを可能にし得る。対処可能通知クライアント４５０は、ＡＰＩ５１０のサポートを、場合によってはそれ自体のネイティブ通知能力もサポートすることはせずに、行うことができる。ＡＰＩ５１０は、典型的には、様々なメソッドおよび関数を通知アプリケーションに公開し、特定の体験および／または特徴を実装するのに必要とされ得る発行された通知に関連するアウトバウンドデータ５１５を受信する（および他の信号およびコントロールなどを交換する）ように構成される。
【００２３】
[0046]  対処可能通知クライアント４５０は、通知がリモート発行側エンドポイントから受信された場合に、ローカルエンドポイント１１０で通知に関連するネイティブ体験をサポートするのに適切なアプリケーションを起動することが可能なアプリケーションランチャ５２０を含むことができる。典型的には、クライアント４５０は、通知に関連するネイティブ体験をレンダリングするために必要とされ得るインバウンド通知データ５２５を、ＡＰＩ５３０を介してアプリケーション４４０に渡すことになる。
【００２４】
[0047]  図６は、サービス１３０によりサポートされる通知発行およびサブスクリプションシステム６００を示す。エンドポイントはシステム６００に登録して、登録済みエンドポイント６０５となる。図７に例示的に示されるように、登録済みエンドポイントは、発行の権利（参照番号７０５により代表して示されている）のために登録することができ、ならびに他の登録済みエンドポイントにより発行される通知のサブスクライブ側（参照番号７１０により代表して示されている）として登録することができる。エンドポイントは、場合によってはドメイン間通知が利用できるように、個別に登録することが可能な複数のユーザアカウントをサポートすることができる。
【００２５】
[0048]  図７に示された例では、登録済みエンドポイントＡ７１５は、対処可能通知７２０を通知発行およびサブスクリプションシステム６００に発行する。登録済みエンドポイントＢ７２５および登録済みエンドポイントＤ７３０は、参照番号７３５および７４０によりそれぞれ示されるように（いくつかのサブスクリプションの中でとりわけ）登録済みエンドポイントＡ７１５により発行される対処可能通知のサブスクライブ側として登録しており、通信ネットワークを介して対処可能通知７２０を受信する。
【００２６】
[0049]  図８に示されるように、対処可能通知７２０は、典型的には、アプリケーション４４０（図４）によりネイティブ体験をサポートするために使用され得るコンテンツペイロード８０５、ならびに通知発行およびサブスクリプションシステム６００により対処可能通知を関連するサブスクライブ側エンドポイントにルーティングおよび／またはフィルタリングするために使用され得るメタデータ８１０を含むことができる。いくつかの実装では、コンテンツペイロード８０５は、通知が同じコンテンツを有するときを決定するために、対処可能通知サービスにより（匿名で）分析することができる。たとえば、コンテンツペイロードの一部または全部に、ハッシュ化または異なるソースからの通知の比較を可能にする他のアルゴリズムを施して、サブスクライブ側エンドポイントへの通知を識別する場合に一意性を検証することができる。加えて、場合によっては同一の通知をシステムにより除去して、帯域幅およびリソース利用率を向上させることができる。たとえば、ユーザは、セルラーネットワーク接続を介して同一の天気および緊急通知を受信する複数のエンドポイントを有することがある。ユーザは、同一の通知が対処可能通知サービスによりサブスクライブ側エンドポイントのそれぞれに重複して伝播されないように希望することができる。
【００２７】
[0050]  図９に示されるように、対処可能通知内で場合によっては他のデータと共に提供されるメタデータは、通知発行およびサブスクリプションシステム６００への入力９０５として使用することができる。例示的な入力の全てが、対処可能通知のあらゆる実装で使用される必要はない。メタデータは、重複した通知の処理を容易にし得る開始エンドポイント一意識別子（ID）９１０と、開始エンドポイントの位置９１５と、対処可能通知のタイムスタンプ９２０と、ペイロードサイズ９２５と、タイプがたとえば、対処必須ダイアログ（ARD:Action Required Dialog）、アラート、緊急通知、通知「トースト」、通知センター項目などを含むことが可能な通知タイプ９３０と、通知優先度９３５とを含むことができる。他のシステム入力は、受信エンドポイント状態９４０（たとえば、電池充電残量、利用中のアクセスネットワークなど）と、受信エンドポイント位置９４５と、特定の対処可能通知実装に必要とされ得る他の入力９５０とを含むことができる。
【００２８】
[0051]  対処可能通知クライアント４５０は、図１０に示されるようにＵＩ１００５を浮上させて、ユーザが、自分のニーズに適合された対処可能通知をセットアップし、エンドポイントおよびアクセスネットワークリソースを最適に管理するための様々なタスクを実施することを可能にすることができる。図示されたように、ＵＩ１００５は、エンドポイントを通知発行およびサブスクリプションシステムに対して登録および登録解除するための制御のサポート１０１０と、エンドポイント上のアプリケーション４４０またはクライアント４５０に対する発行権の選択１０１５と、受諾基準の設定１０２５および抑制基準の設定１０３０を含むサブスクリプションの管理１０２０とを行うことができる。いくつかの実装では、登録処理は、最初にエンドポイントを構成することと、次いで、「ブートストラッピング」処理と典型的に呼ばれるものを用いて、特権エージェントとしてリモート対処可能通知サービスからエンドポイントに継続的にプロビジョニングを行うこととを伴い得る。
【００２９】
[0052]  サブスクリプション管理特徴は、発行された通知がサブスクライブ側エンドポイントで受信される基準、および通知の受信を抑制するための基準をユーザが選択しやすくすることができる。たとえば、通知を１日の特定の時間中にはサブスクライブ側エンドポイントで受信し、他の時間には抑制できるように、受諾および抑制基準をＵＩ１００５を介して指定することができる。他の例では、サブスクライブ側エンドポイントがＷｉ−Ｆｉアクセスネットワーク上にある場合には通知を受諾することができるが、セルラーデータアクセスネットワーク上にある場合には通知が高優先度でない限り抑制することができるように、基準を選択することができる。これらがサブスクリプション管理特徴が利用され得る方法のごくわずかの例であること、および所与の実装のニーズを満たすように体験を調整し、リソース割り当て、利用、および消費を最適化するためにシステム入力９０５（図９）を用いて様々な基準を指定できることが強調される。
【００３０】
[0053]  また、ＵＩ１００５は、ユーザが、サブスクライブ側エンドポイントで受信された通知に対処すること１０４０により、通知に応答すること１０３５と、複数のエンドポイントにわたる通知を破棄すること１０４５によって、重複した通知を管理し制御することとを可能にし得る。また、対処可能通知の特定の実装に必要とされ得る他の特徴および機能１０５０も、ＵＩ１００５によって公開することができる。たとえば、ＵＩ１００５は、場合によっては、全ての登録済みエンドポイントの全体像と、それらに関連する発行権およびサブスクリプションの詳細とをユーザに提供するように構成することができる。
【００３１】
[0054]  図１１は、対処可能通知が複数のサブスクライブ側エンドポイント間で共有される例示的な例を示す。この例では、父のスマートフォンは、キッチンに位置する登録済みエンドポイント１１０２である。月曜日の朝の午前７：３０に悪天候アラート１１０５を受信し、対処可能通知１１１０を通知発行およびサブスクリプションシステム６００に発行する。システム６００は、ＩＰ通信ネットワーク１１５（図１）への接続を提供するホームＷｉ−Ｆｉアクセスネットワーク１１２０を共有するサブスクライブ側エンドポイント１１１５、１１１７、１１１９および１１２１（これらは全て家族に属する）のそれぞれにおいて対処可能通知１１１０を浮上させる。また、対処可能通知１１１０を、システム６００により発信エンドポイント１１０２上に浮上させて、着信アラート１１０５を置換するまたは場合によってはこれを追加の特徴または機能で補うことができる。
【００３２】
[0055]  図１２は、第２の悪天候アラート１２０５がその朝より後の午前８：４５に発信エンドポイント１１０２で受信されることを示す。この時刻には、家族の何人かがもはや家におらず、母は列車で会議へ向かい、娘は学校にいる。母のエンドポイント（タブレット）は、セルラーデータアクセスネットワーク１２１５を用いたネットワーク接続を有しており、娘のエンドポイント（スマートフォン）は、学校のＷｉ−Ｆｉアクセスネットワーク１２１８を介した接続を有している。
【００３３】
[0056]  開始エンドポイント１１０２は、対処可能通知１２１０を通知発行およびサブスクリプションシステム６００に発行する。システム６００は、先の悪天候アラートと同様に、対処可能通知１２１０をサブスクライブ側エンドポイント１１１５および１１１７上に浮上させる。図示されたように、システム６００は、サブスクライブ側エンドポイント１１１９および１１２１における対処可能通知を抑制する。この特定の例では、母のタブレットがホームＷｉ−Ｆｉネットワークの外側にある場合に、セルラーデータアクセスネットワーク１２１５における帯域幅消費を減少させるために、対処可能通知が抑制されるように、基準が選択されていた。また、娘のスマートフォンが授業時間中に学校に位置しているときに、気が散らないようにする学校の方針に従うために、通知が抑制されるように、基準が選択されていた。
【００３４】
[0057]  図１３および図１４は、対処可能通知が複数のエンドポイントにわたって破棄されることを示す。ここでは、父１３０５は、エンドポイント１１１５（家の書斎に位置するPC）上で対処可能通知１２１０を見た後、参照番号１３１０で示されるように対処可能通知を破棄することができる。対処可能通知サービスは、図１４に示されるように、父の他のエンドポイント１１０２および１１１７（キッチンのスマートフォンおよび寝室のタブレット）に破棄を伝播させて、重複した通知が破棄されるようにすることができる。複数のエンドポイントにわたる通知状態のそのような同期は、通知が新しいかまたは既に見られ処理されているかについてユーザの混乱を低減させることができ、また、ユーザがエンドポイントのそれぞれにおいて通知を破棄する必要をなくすことによって、デバイスにわたるリソースの管理を支援することができる。
【００３５】
[0058]  図１５は、着信ＶｏＩＰ（ボイスオーバーインターネットプロトコル）通話１５００が父のエンドポイント１１１５で受信される例示的なシナリオを示す。着信通話イベントに応答して、エンドポイント１１０２は、システム６００へ発行される対処可能通知１５０５を開始する。エンドポイント１１０２および１１１７は、エンドポイント１１１５により発行される通知のサブスクライブ側として登録されているので、対処可能通知１５０５がエンドポイント１１０２上に浮上する。しかしながら、図１５に示されるように、エンドポイント１１１７は電池充電が少ない。この特定の例では、ユーザは、所与のエンドポイントデバイスの状態が特定の条件、たとえばここではタブレットの電池充電が少ない状態などに合致する場合に、対処可能通知が抑制されるように、抑制基準を選択している。
【００３６】
[0059]  図１６は、着信ＶｏＩＰ通話１５００に関連する浮上した対処可能通知１５０５を示す、エンドポイント１１０２上に表示される例示的なＵＩ１６００のスクリーンキャプチャを示す。対処可能通知１５０５は、他のエンドポイントにおける通話イベントをユーザに知らせるためのテキスト１６０８と、行動を実施するためのコントロール１６１０と、通知を破棄するためのコントロール１６１５とを含む。ここで示されているＵＩの特定の見た目は例示的であることが意図されていること、および本マルチエンドポイント対処可能通知の特定の実装のニーズを満たす変形が利用できることが強調される。加えて、以下の説明では、ＵＩとのユーザ対話は、タッチスクリーンインターフェースを公開するエンドポイントの文脈で論じられる。しかしながら、他のタイプの入力、たとえば、物理的または仮想的なボタンの押下、ジェスチャ認識デバイス／ソフトウェアへのジェスチャ入力、音声コマンド、自然言語入力なども、所与のエンドポイントでサポートされる特徴に応じて利用できることに留意されたい。所与の目的で利用され得る特定のユーザ行動は、実装およびエンドポイントによって異なり得る。
【００３７】
[0060]  図１６に示されるように、ユーザ（すなわち、父）は、行動実施コントロール１６１０にタッチ１６２０を行なっており、対処可能通知サービスは、それぞれのエンドポイント上のクライアントと対話して、図１７でエンドポイント１１０２に表示されたＵＩ１７００上に示されるように着信ＶｏＩＰ通話を浮上させることによってこれに応答する。ＵＩ１７００は、発信者を、通話に応答するためのコントロール１７１０、および通話を拒否するためのコントロール１７１５と共に表示するＶｏＩＰ通話ウィンドウ１７０５を含む。
【００３８】
[0061]  典型的な実装では、サブスクライブ側エンドポイント上の通話ウィンドウ１７０５は、開始エンドポイント上のネイティブＶｏＩＰ通話アプリケーションによって公開されるウィンドウと同様に見え、ユーザはウィンドウ１７０５と対話して通話を通常の方法で処理することができる。そのような運用上の透過性は、所与の実装のニーズに応じて異なる方法で実装することができる。図１８に示されるように、エンドポイント１１０２は、リモート発信者１８１０とのＶｏＩＰ通話に関与するエンドポイント１１１５と、リモートデスクトップ接続１８０５を確立することができる。リモート接続を介して、エンドポイント１１０２は、リモートＰＣデスクトップ１８１５およびＶｏＩＰ通話ウィンドウ１７０５をホストすることができる。
【００３９】
[0062]  図１９および図２０は、他の例示的な対処可能通知シナリオを示す。図１９において、リモート発信者１９１０は、キッチンの父のエンドポイント１１０２にモバイル通話１９０２をかける。このエンドポイントは、着信通話イベントに応答して、サブスクライブ側エンドポイントに対処可能通知を送信することができる。エンドポイント１１０２により発行される通知を受信するように構成される登録済みエンドポイントである書斎のＰＣ１１１５は、ユーザ１３０５（すなわち、父）がエンドポイント１１１５からリモート発信者１９１０とのモバイル通話１９０２に参加することを可能にする、ＶｏＩＰセッション１９０５をセットアップするための対処可能通知を受信することができる。
【００４０】
[0063]  図２０において、リモートユーザ２０１０は、父のエンドポイント１１０２とチャットセッションを開始する。着信チャットメッセージが受信された場合、エンドポイント１１０２は、ＰＣ１１１５を含むサブスクライブ側エンドポイントに対処可能通知を送信することによって、イベントに応答する。対処可能通知は、チャットセッション２００５をリモートモバイルデスクトップ２０１５上でホストできるよう、リモートセッション２０１４をエンドポイント１１０２および１１１５の間で確立することを可能にするように構成することができる。このようにして、ユーザ１３０５（すなわち、父）は、他のユーザ２００２が携帯電話エンドポイント１００２を他の目的で、たとえばゲームをプレイする、音楽を聞く、ビデオを見るなどのために使用している間に、ＰＣ上でリモートユーザ２０１０とのチャットセッション２００５に参加することができる。
【００４１】
[0064]  図２１に示されるように、対処可能通知サービス１３０は、ＳＭＳまたはＭＭＳ（マルチメディアメッセージングサービス）通知などの通知２１０５を、エンドポイント１１０２で実行されるメッセージングアプリケーション２１１０に送信することができる。通知２１０５は、典型的にはブラウザアプリケーションなどのＷｅｂサービスクライアント２１１５で辿ることが可能な、コンテンツプロバイダ１２５により公開され得るアプリケーション（App）ストア２１２０または同様のサービスへのリンク２１０８を含むことができる。Ａｐｐストア２１２０は、エンドポイント１１０２がＶｏＩＰ通話をリモートではなく直接処理することができるように、適切なアプリケーション２１２５をダウンロード２１３０として提供することができる。
【００４２】
[0065]  図２２は、エンドポイントにおいてマルチエンドポイント対処可能通知を実装するための一例示的方法２２００のフローチャートを示す。特に記載がない限り、以下のフローチャートに示され添付のテキストに記載されている方法またはステップは、特定の順序またはならびに制約されない。加えて、それらの方法またはステップの一部は、同時に発生するまたは行うことができ、全ての方法またはステップが所与の実装において、そのような実装の要件に応じて行われる必要はなく、一部の方法またはステップは任意選択により利用することができる。
【００４３】
[0066]  ステップ２２０５において、対処可能通知が、エンドポイントにおいて通知発行およびサブスクリプションシステムから受信される。上記のように、ユーザ体験および電池寿命およびネットワーク利用などのリソースをユーザのニーズに合わせて最適化できるように、サブスクリプション基準はユーザ選択可能である。ステップ２２１０において、受信された通知は、サブスクライブ側エンドポイントのＵＩ上に浮上する。ステップ２２１５において、通知に対処するまたはそれを破棄するための、ＵＩにおけるユーザからの入力が受信される。通知が破棄された場合、他のサブスクライブ側エンドポイントで受信された重複した通知も、対処可能通知サービスにより破棄される。ＵＩを介して通知が対処された場合、ステップ２２２０において、対処可能通知クライアントは、ＡＰＩを介してエンドポイント上の関連するアプリケーションと対話して、通知を処理するためのアプリケーションを起動し、適切なユーザ体験を提供することができる。代替的には、サービスは、ステップ２２２５において開始発行側エンドポイントによりホストされるサブスクライブ側エンドポイント上でのリモート体験を容易にすることができる。
【００４４】
[0067]  図２３は、対処可能通知サービスにおいて複数のエンドポイントにわたる通知を管理するための一例示的方法２３００のフローチャートを示す。ステップ２３０５において、サービスは、エンドポイントをシステムに対して登録および登録解除し、登録済みエンドポイントに対して発行権およびサブスクリプションを設定するように構成されるＵＩを公開する。ステップ２３１０において、サービスは、発行された通知をサブスクライブ側エンドポイントに分配できるように、エンドポイントがネットワークを介してアクセス可能な通知発行およびサブスクリプションシステムをホストする。ステップ２３１５において、サービスは、通知受諾および抑制基準をユーザ設定するように構成されるＵＩを提供し、ステップ２３２０において、通知は抑制基準に従ってサブスクライブ側エンドポイントに抑制される。ステップ２３２５において、対処可能通知サービスは、通知処理アプリケーションをダウンロードするためのリモートリソースまで辿ることが可能なリンクを含む通知をサブスクライブ側エンドポイントに送信する。ステップ２３３０において、対処可能通知サービスは、ユーザがサブスクライブ側エンドポイントの１つで通知を破棄した場合に、複数のサブスクライブ側エンドポイントにわたる重複した通知をまとめて破棄することを可能にする。
【００４５】
[0068]  図２４は、クライアント−サーバ構成を用いて実装することが可能な、登録済みエンドポイントにわたる重複した通知を除去するための一例示的方法２４００のフローチャートを示す。ステップ２４０５において、発行側エンドポイントからの通知がサブスクライブ側エンドポイントで破棄されたという表示が受信される。ステップ２４１０において、発行側エンドポイントから通知を同様に受信したさらなるサブスクライブ側エンドポイントが識別される。識別は、発行された通知に関連するメタデータをレビューして、さらなるサブスクライブ側エンドポイントで受信された通知が重複していることを検証することを含むことができる。ステップ２４１５において、さらなるサブスクライブ側エンドポイントは、発行側エンドポイントから受信された通知を破棄するように指示される。典型的には、サーバは、それぞれのエンドポイント上の対処可能通知クライアントと通信して、エンドポイントにわたる破棄を実施することができる。
【００４６】
[0069]  図２５は、本マルチエンドポイント対処可能通知を実装可能な、ＰＣ、クライアントマシン、またはサーバなどの一例示的コンピュータシステム２５００の簡略化されたブロック図である。コンピュータシステム２５００は、プロセッサ２５０５と、システムメモリ２５１１と、システムメモリ２５１１を含む様々なシステムコンポーネントをプロセッサ２５０５に結合するシステムバス２５１４とを含む。システムバス２５１４は、様々なバスアーキテクチャのいずれかを用いた、メモリバスもしくはメモリコントローラ、ペリフェラルバス、またはローカルバスを含むいくつかのタイプのバス構造のいずれかとすることができる。システムメモリ２５１１は、読み出し専用メモリ（ROM）２５１７、およびランダムアクセスメモリ（RAM）２５２１を含む。起動中などにコンピュータシステム２５００内の要素間で情報を転送するのを支援する基本ルーチンを含む基本入出力システム（BIOS）２５２５は、ＲＯＭ２５１７に記憶される。コンピュータシステム２５００は、内蔵ハードディスク（図示せず）との間で読み書きするためのハードディスクドライブ２５２８と、リムーバブル磁気ディスク２５３３（たとえばフロッピーディスク）との間で読み書きするための磁気ディスクドライブ２５３０と、リムーバブル光ディスク２５４３、たとえばＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスク）、または他の光メディアとの間で読み書きするための光ディスクドライブ２５３８とをさらに含むことができる。ハードディスクドライブ２５２８、磁気ディスクドライブ２５３０、および光ディスクドライブ２５３８は、それぞれハードディスクドライブインターフェース２５４６、磁気ディスクドライブインターフェース２５４９、および光学ドライブインターフェース２５５２によってシステムバス２５１４に接続される。これらのドライブおよびそれらに関連するコンピュータ可読記憶媒体は、コンピュータシステム２５００用のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性記憶を提供する。この例示的な例はハードディスク、リムーバブル磁気ディスク２５３３、およびリムーバブル光ディスク２５４３を含むが、コンピュータによりアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読記憶媒体、たとえば磁気カセット、フラッシュメモリカード、デジタルビデオディスク、データカートリッジ、ランダムアクセスメモリ（RAM）、読み出し専用メモリ（ROM）なども、本マルチエンドポイント対処可能通知のいくつかの適用例において使用することができる。加えて、本明細書で使用される場合、コンピュータ可読記憶媒体という用語は、メディアタイプの１つまたは複数のインスタンス（たとえば、１つまたは複数の磁気ディスク、１つまたは複数のCDなど）を含む。本明細書および特許請求の範囲においては、「コンピュータ可読記憶媒体」という語句およびその変形は、波、信号、および／または他の一時的かつ／または無形の通信媒体を含まない。
【００４７】
[0070]  いくつかのプログラムモジュールを、ハードディスク、磁気ディスク２５３３、光ディスク２５４３、ＲＯＭ２５１７、またはＲＡＭ２５２１に記憶することができ、これには、オペレーティングシステム２５５５、１つまたは複数のアプリケーションプログラム２５５７、他のプログラムモジュール２５６０、およびプログラムデータ２５６３が含まれる。ユーザは、キーボード２５６６などの入力デバイスおよびマウスなどのポインティングデバイス２５６８を介して、コンピュータシステム２５００にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナ、トラックボール、タッチパッド、タッチスクリーン、タッチ感応デバイス、音声コマンドモジュールまたはデバイス、ユーザモーションまたはユーザジェスチャキャプチャデバイスなどを含むことができる。これらおよび他の入力デバイスは、システムバス２５１４に結合されるシリアルポートインターフェース２５７１を介してプロセッサ２５０５に接続されることが多いが、他のインターフェース、たとえばパラレルポート、ゲームポート、またはユニバーサルシリアルバス（USB）によって接続することができる。また、モニタ２５７３または他のタイプの表示デバイスは、ビデオアダプタ２５７５などのインターフェースを介してシステムバス２５１４に接続される。モニタ２５７３に加えて、パーソナルコンピュータは、典型的には、他のペリフェラル出力デバイス（図示せず）、たとえばスピーカーおよびプリンタを含む。また、図２５に示された例示的な例は、ホストアダプタ２５７８、スモールコンピュータシステムインターフェース（SCSI）バス２５８３、およびＳＣＳＩバス２５８３に接続される外部記憶デバイス２５７６を含む。
【００４８】
[0071]  コンピュータシステム２５００は、リモートコンピュータ２５８８などの１つまたは複数のリモートコンピュータへの論理接続を用いたネットワーク環境で動作可能である。リモートコンピュータ２５８８は、他のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードとして選択することができ、典型的には、コンピュータシステム２５００に関する上述の要素の多くまたは全てを含むが、単一の代表的なリモートメモリ／記憶デバイス２５９０のみが図２５に示されている。図２５に示された論理接続は、ローカルエリアネットワーク（LAN）２５９３、およびワイドエリアネットワーク（WAN）２５９５を含む。そのようなネットワーク環境は、たとえば、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットに配備されることが多い。
【００４９】
[0072]  ＬＡＮネットワーク環境で使用される場合、コンピュータシステム２５００は、ネットワークインターフェースまたはアダプタ２５９６を介してローカルエリアネットワーク２５９３に接続される。ＷＡＮネットワーク環境で使用される場合、コンピュータシステム２５００は、典型的には、ブロードバンドモデム２５９８、ネットワークゲートウェイ、またはインターネットなどのワイドエリアネットワーク２５９５を介して通信を確立するための他の手段を含む。ブロードバンドモデム２５９８は、内蔵でも外付けでもよいが、シリアルポートインターフェース２５７１を介してシステムバス２５１４に接続される。ネットワーク環境において、コンピュータシステム２５００またはその部分に関するプログラムモジュールは、リモートメモリ記憶デバイス２５９０に記憶することができる。図２５に示されたネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段を、本マルチエンドポイント対処可能通知の適用例の特定の要件に応じて使用できることに留意されたい。
【００５０】
[0073]  図２６は、本マルチエンドポイント対処可能通知を提供するための、本明細書で説明された様々なコンポーネントを実行することが可能なデバイスのための例示的なアーキテクチャ２６００を示す。したがって、図２６に示されたアーキテクチャ２６００は、サーバコンピュータ、携帯電話、ＰＤＡ、スマートフォン、デスクトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータ、ＧＰＳデバイス、ゲーミングコンソール、および／またはラップトップコンピュータに適合可能なアーキテクチャを示す。アーキテクチャ２６００は、本明細書で提示されたコンポーネントの任意の態様を実行するために利用することができる。
【００５１】
[0074]  図２６に示されたアーキテクチャ２６００は、ＣＰＵ（中央処理装置）２６０２と、ＲＡＭ２６０６およびＲＯＭ２６０８を含むシステムメモリ２６０４と、メモリ２６０４をＣＰＵ２６０２に結合するシステムバス２６１０とを含む。起動中などにアーキテクチャ２６００内の要素間で情報を転送するのを支援する基本ルーチンを含む基本入出力システムは、ＲＯＭ２６０８に記憶される。アーキテクチャ２６００は、アプリケーション、ファイルシステム、およびオペレーティングシステムを実装するために利用されるソフトウェアコードまたは他のコンピュータ実行されるコードを記憶するための大容量記憶デバイス２６１２をさらに含む。
【００５２】
[0075]  大容量記憶デバイス２６１２は、バス２６１０に接続される大容量記憶コントローラ（図示せず）を介してＣＰＵ２６０２に接続される。大容量記憶デバイス２６１２およびこれに関連するコンピュータ可読記憶媒体は、アーキテクチャ２６００に不揮発性記憶を提供する。
【００５３】
[0076]  本明細書に含まれるコンピュータ可読記憶媒体の説明は、大容量記憶デバイス、たとえばハードディスクまたはＣＤ−ＲＯＭドライブについて言及しているが、コンピュータ可読記憶媒体は、アーキテクチャ２６００によりアクセス可能な任意の利用可能な記憶媒体とすることができることは当業者には理解されよう。
【００５４】
[0077]  例として、限定なく、コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実装される揮発性および不揮発性のリムーバブルおよび非リムーバブルメディアを含むことができる。たとえば、コンピュータ可読媒体は、限定はされないが、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ（消去可能プログラム可能読み出し専用メモリ）、ＥＥＰＲＯＭ（電気的消去可能プログラム可能読み出し専用メモリ）、フラッシュメモリもしくは他の固体メモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ、ＨＤ−ＤＶＤ（高精細DVD）、Ｂｌｕ−ｒａｙ（登録商標）、もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶デバイスもしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用可能であってアーキテクチャ２６００によりアクセス可能な任意の他の媒体を含む。
【００５５】
[0078]  様々な実施形態によれば、アーキテクチャ２６００は、ネットワークを介したリモートコンピュータへの論理接続を用いてネットワーク環境で動作することができる。アーキテクチャ２６００は、バス２６１０に接続されたネットワークインターフェースユニット２６１６を介してネットワークに接続することができる。ネットワークインターフェースユニット２６１６を利用して、他のタイプのネットワークおよびリモートコンピュータシステムに接続することもできることは理解されよう。また、アーキテクチャ２６００は、キーボード、マウス、または電子スタイラス（図２６では図示せず）を含むいくつかの他のデバイスから入力を受信し処理するための入出力コントローラ２６１８を含むことができる。同様に、入出力コントローラ２６１８は、表示画面、プリンタ、または他のタイプの出力デバイス（同様に図２６では図示せず）に出力を提供することができる。
【００５６】
[0079]  本明細書で説明されたソフトウェアコンポーネントが、ＣＰＵ２６０２にロードされ実行された場合、ＣＰＵ２６０２および全体的なアーキテクチャ２６００を、汎用コンピューティングシステムから、本明細書で提示された機能を促進するようにカスタマイズされた専用コンピューティングシステムに変換できることは理解されよう。ＣＰＵ２６０２は、任意数の状態を個別にまたは集合的に想定し得る任意数のトランジスタまたは他のディスクリート回路素子から構築することができる。より具体的には、ＣＰＵ２６０２は、本明細書で開示されたソフトウェアモジュールに含まれる実行可能命令に応答して、有限状態機械として動作することができる。これらのコンピュータ実行可能命令は、ＣＰＵ２６０２が状態間を遷移する方法を指定して、ＣＰＵ２６０２を構成するトランジスタまたは他のディスクリートハードウェア素子を変換することによって、ＣＰＵ２６０２を変換することができる。
【００５７】
[0080]  また、本明細書で提示されたソフトウェアモジュールの符号化は、本明細書で提示されたコンピュータ可読記憶媒体の物理構造を変換することができる。物理構造の特定の変換は、この説明の異なる実装において、様々な要因に依存し得る。そのような要因の例は、限定はされないが、コンピュータ可読記憶媒体を実装するのに使用される技術、コンピュータ可読記憶媒体が一次または二次記憶のいずれとして特徴付けられるかなどを含むことができる。たとえば、コンピュータ可読記憶媒体が半導体ベースのメモリとして実装される場合、本明細書で開示されるソフトウェアは、半導体メモリの物理状態を変換することによって、コンピュータ可読記憶媒体上に符号化することができる。たとえば、ソフトウェアは、半導体メモリを構成するトランジスタ、キャパシタ、または他のディスクリート回路素子の状態を変換することができる。また、ソフトウェアは、そのようなコンポーネントの物理状態を変換して、データをその上に記憶することができる。
【００５８】
[0081]  他の例として、本明細書で開示されたコンピュータ可読記憶媒体は、磁気または光学技術を用いて実装することができる。そのような実装では、本明細書で提示されたソフトウェアは、磁気または光メディアの物理構造を、ソフトウェアがその中に符号化された場合に変換することができる。これらの変換は、所与の磁気メディア内の特定の場所の磁気特性を変化させることを含むことができる。また、これらの変換は、所与の光メディア内の特定の場所の物理特徴または特性を、これらの場所の光学特性を変更するように変化させることを含むことができる。物理メディアの他の変換は、本説明の範囲および精神から逸脱することなく可能であり、前述の例はこの議論を容易にするためにのみ提供されている。
【００５９】
[0082]  上記に照らして、本明細書で提示されたソフトウェアコンポーネントを記憶し実行するために、多数のタイプの物理変換がアーキテクチャ２６００で行われることは理解されよう。また、アーキテクチャ２６００が、他のタイプのコンピューティングデバイス、たとえばハンドヘルドコンピュータ、組み込みコンピュータシステム、スマートフォン、ＰＤＡ、および当業者に知られている他のタイプのコンピューティングデバイスを含むことができることも理解されよう。また、アーキテクチャ２６００が、図２６に示されたコンポーネントの全てを含まなくてもよく、図２６に明示されていない他のコンポーネントを含むことができ、または図２６に示されたものとは完全に異なるアーキテクチャを利用することができると考えられる。
【００６０】
[0083]  図２７は、２７０２に全体的に示されている、様々な任意選択のハードウェアおよびソフトウェアコンポーネントを含む、携帯電話またはスマートフォンなどの例示的なモバイルデバイス１１０の機能ブロック図である。モバイルデバイスの任意のコンポーネント２７０２は、任意の他のコンポーネントと通信することができるが、説明を容易にするために、全ての接続が示されているわけではない。モバイルデバイスは、様々なコンピューティングデバイス（たとえば、セルフォン、スマートフォン、ハンドヘルドコンピュータ、PDAなど）のいずれかとすることができ、セルラーまたは衛星ネットワークなどの１つまたは複数のモバイル通信ネットワーク２７０４とワイヤレス双方向通信を行うことができる。
【００６１】
[0084]  図示されたデバイス１１０は、信号符号化、データ処理、入出力処理、電源制御、および／または他の機能などのタスクを実行するためのコントローラまたはプロセッサ２７１０（たとえば、信号プロセッサ、マイクロプロセッサ、マイクロコントローラ、ASIC（特定用途向け集積回路）、または他の制御および処理論理回路）を含むことができる。オペレーティングシステム２７１２は、電源状態、ロック済み状態、および未ロック状態を含む、コンポーネント２７０２の割り当ておよび使用を制御することができ、１つまたは複数のアプリケーションプログラム２７１４へのサポートを提供する。アプリケーションプログラムは、一般的なモバイルコンピューティングアプリケーション（たとえば、イメージキャプチャアプリケーション、電子メールアプリケーション、カレンダー、連絡先マネージャ、ウェブブラウザ、メッセージングアプリケーション）、または任意の他のコンピューティングアプリケーションを含むことができる。
【００６２】
[0085]  図示されたモバイルデバイス１１０は、メモリ２７２０を含むことができる。メモリ２７２０は、非リムーバブルメモリ２７２２および／またはリムーバブルメモリ２７２４を含むことができる。非リムーバブルメモリ２７２２は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ハードディスク、または他のよく知られているメモリ記憶技術を含むことができる。リムーバブルメモリ２７２４は、フラッシュメモリ、もしくはＧＳＭ（モバイル通信用グローバルシステム）システムでよく知られている加入者識別モジュール（SIM:Subscriber Identity Module）カード、または他のよく知られているメモリ記憶技術、たとえば「スマートカード」を含むことができる。メモリ２７２０は、オペレーティングシステム２７１２およびアプリケーションプログラム２７１４を動作させるためのデータおよび／またはコードを記憶するために使用することができる。データの例は、１つまたは複数のワイヤードまたはワイヤレスネットワークを介して１つまたは複数のネットワークサーバあるいは他のデバイスとの間で送信および／または受信されるウェブページ、テキスト、画像、音声ファイル、ビデオデータ、または他のデータセットを含むことができる。
【００６３】
[0086]  また、メモリ２７２０は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術で実装される１つまたは複数のコンピュータ可読記憶媒体として構成する、またはこれを含むことができる。たとえば、コンピュータ可読媒体は、限定はされないが、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他の固体メモリ技術、ＣＤ−ＲＯＭ（コンパクトディスクROM）、ＤＶＤ（デジタル多用途ディスク）、ＨＤ−ＤＶＤ（高精細DVD）、Ｂｌｕ−ｒａｙ、もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶デバイスまたは他の磁気記憶デバイス、または所望の情報を記憶するために使用可能であってモバイルデバイス１１０によりアクセス可能な任意の他の媒体を含む。
【００６４】
[0087]  メモリ２７２０は、国際移動体加入者識別番号（IMSI:International Mobile Subscriber Identity）などの加入者識別子、国際移動体機器識別子（IMEI:International Mobile Equipment Identifier）などの機器識別子を記憶するために使用することができる。そのような識別子をネットワークサーバに送信して、ユーザおよび機器を識別することができる。モバイルデバイス１１０は、１つまたは複数の入力デバイス２７３０、たとえばタッチスクリーン２７３２、音声認識、音声コマンドなどのための音声入力を実装するためのマイクロフォン２７３４、カメラ２７３６、物理キーボード２７３８、トラックボール２７４０、および／または近接センサ２７４２、ならびに１つまたは複数の出力デバイス２７５０、たとえばスピーカー２７５２および１つまたは複数のディスプレイ２７５４をサポートすることができる。また、ジェスチャ認識を用いた他の入力デバイス（図示せず）も、場合によっては利用することができる。他の可能な出力デバイス（図示せず）は、圧電または触覚出力デバイスを含むことができる。いくつかのデバイスは、２つ以上の入出力機能を提供することができる。たとえば、タッチスクリーン２７３２およびディスプレイ２７５４は、単一の入出力デバイスに組み合わせることができる。
【００６５】
[0088]  当技術分野でよく理解されているように、ワイヤレスモデム２７６０は、アンテナ（図示せず）に結合することができ、プロセッサ２７１０および外部デバイスの間の双方向通信をサポートすることができる。モデム２７６０は総称的に示されており、モバイル通信ネットワーク２７０４と通信するためのセルラーモデム、および／または他の無線ベースのモデム（たとえば、Bluetooth２７６４またはWi-Fi２７６２）を含むことができる。ワイヤレスモデム２７６０は、典型的には、単一のセルラーネットワーク内、セルラーネットワーク間、またはモバイルデバイスおよび公衆交換電話網（PSTN）の間のデータおよび音声通信のための、ＧＳＭネットワークなどの１つまたは複数のセルラーネットワークと通信するように構成される。
【００６６】
[0089]  モバイルデバイスは、少なくとも１つの入出力ポート２７８０、電源２７８２、衛星ナビゲーションシステム受信機２７８４、たとえばＧＰＳ受信機、加速度計２７８６、ジャイロスコープ（図示せず）、ならびに／あるいはＵＳＢポート、ＩＥＥＥ１３９４（ファイアワイヤー）ポート、および／またはＲＳ−２３２ポートであり得る物理コネクタ２７９０をさらに含むことができる。図示されたコンポーネント２７０２は必須でも包括的でもなく、その理由は、任意のコンポーネントを削除することができ、他のコンポーネントを追加することができるためである。
【００６７】
[0090]  図２８は、マルチメディアコンソール１１０４の例示的な機能ブロック図である。マルチメディアコンソール１１０４は、レベル１キャッシュ２８０２、レベル２キャッシュ２８０４、およびフラッシュＲＯＭ（読み出し専用メモリ）２８０６を有する中央処理装置（CPU）２８０１を有する。レベル１キャッシュ２８０２、レベル２キャッシュ２８０４は、データを一時的に記憶し、したがってメモリアクセスサイクル数を削減し、それによって処理速度およびスループットを向上する。ＣＰＵ２８０１は、２つ以上のコア、ひいてはさらなるレベル１およびレベル２キャッシュ２８０２および２８０４を備えて構成することができる。フラッシュＲＯＭ２８０６は、マルチメディアコンソール１１０４が電源ＯＮされた場合に、ブートプロセスの初期段階中にロードされる実行可能コードを記憶することができる。
【００６８】
[0091]  グラフィクス処理ユニット（GPU）２８０８およびビデオエンコーダ／ビデオコーデック（コーダ／デコーダ）２８１４は、高速かつ高解像度のグラフィクス処理のためにビデオ処理パイプラインを形成する。データが、ＧＰＵ２８０８からビデオエンコーダ／ビデオコーデック２８１４へバスを介して搬送される。ビデオ処理パイプラインは、データをＡ／Ｖ（オーディオ／ビデオ）ポート２８４０に出力して、テレビまたは他のディスプレイに送信できるようにする。メモリコントローラ２８１０が、たとえば、限定はされないが、ＲＡＭなどの様々なタイプのメモリ２８１２へのプロセッサアクセスを容易にするために、ＧＰＵ２８０８に接続される。
【００６９】
[0092]  マルチメディアコンソール１１０４は、Ｉ／Ｏコントローラ２８２０、システム管理コントローラ２８２２、オーディオ処理ユニット２８２３、ネットワークインターフェースコントローラ２８２４、第１のＵＳＢ（ユニバーサルシリアルバス）ホストコントローラ２８２６、第２のＵＳＢコントローラ２８２８、およびフロントパネルＩ／Ｏサブアセンブリ２８３０を含み、これらはモジュール２８１８上で実装されることが好ましい。ＵＳＢコントローラ２８２６および２８２８は、ペリフェラルコントローラ２８４２（１）および２８４２（２）、ワイヤレスアダプタ２８４８、および外部メモリデバイス２８４６（たとえば、フラッシュメモリ、外付けCD/DVD ROMドライブ、リムーバブルメディアなど）についてのホストとして機能する。ネットワークインターフェースコントローラ２８２４および／またはワイヤレスアダプタ２８４８は、ネットワーク（たとえば、インターネット、ホームネットワークなど）へのアクセスを提供し、多種多様な様々なワイヤードまたはワイヤレスアダプタコンポーネント、たとえばイーサネットカード、モデム、Ｂｌｕｅｔｏｏｔｈモジュール、ケーブルモデムなどのいずれかとすることができる。
【００７０】
[0093]  システムメモリ２８４３は、ブートプロセス中にロードされるアプリケーションデータを記憶するために提供される。メディアドライブ２８４４が設けられ、ＤＶＤ／ＣＤドライブ、ハードドライブ、または他のリムーバブルメディアドライブなどを備えることができる。メディアドライブ２８４４は、マルチメディアコンソール１１０４に対して内蔵または外付けとすることができる。アプリケーションデータは、マルチメディアコンソール１１０４によって実行、再生などを行うために、メディアドライブ２８４４を介してアクセスすることができる。メディアドライブ２８４４は、シリアルＡＴＡバスまたは他の高速接続（たとえばIEEE１３９４）などのバスを介して、Ｉ／Ｏコントローラ２８２０に接続される。
【００７１】
[0094]  システム管理コントローラ２８２２は、マルチメディアコンソール１１０４の可用性の保証に関する様々なサービス機能を提供する。オーディオ処理ユニット２８２３およびオーディオコーデック２８３２は、高い忠実度およびステレオ処理を有する対応するオーディオ処理パイプラインを形成する。オーディオデータは、オーディオ処理ユニット２８２３およびオーディオコーデック２８３２の間で通信リンクを介して搬送される。オーディオ処理パイプラインは、データをＡ／Ｖポート２８４０に出力して、外部のオーディオプレーヤーまたはオーディオ能力を有するデバイスにより再生できるようにする。
【００７２】
[0095]  フロントパネルＩ／Ｏサブアセンブリ２８３０は、電源ボタン２８５０および取り出しボタン２８５２、ならびにマルチメディアコンソール１１０４の外面に露出した任意のＬＥＤ（発光ダイオード）または他のインジケータの機能をサポートする。システム電源モジュール２８３９は、マルチメディアコンソール１１０４のコンポーネントに電力を提供する。ファン２８３８は、マルチメディアコンソール１１０４内の回路を冷却する。
【００７３】
[0096]  ＣＰＵ２８０１、ＧＰＵ２８０８、メモリコントローラ２８１０、およびマルチメディアコンソール１１０４内の様々な他のコンポーネントは、様々なバスアーキテクチャのいずれかを用いた、シリアルおよびパラレルバス、メモリバス、ペリフェラルバス、およびプロセッサまたはローカルバスを含む１つまたは複数のバスを介して相互接続される。例として、そのようなアーキテクチャは、ペリフェラルコンポーネントインターコネクト（PCI）バス、ＰＣＩエクスプレスバスなどを含むことができる。
【００７４】
[0097]  マルチメディアコンソール１１０４が電源ＯＮされた場合、アプリケーションデータを、システムメモリ２８４３からメモリ２８１２ならびに／あるいはキャッシュ２８０２および２８０４にロードし、ＣＰＵ２８０１上で実行することができる。アプリケーションは、マルチメディアコンソール１１０４で利用可能な異なるメディアタイプに誘導する場合に一貫したユーザ体験を提供するグラフィカルユーザインターフェースを提示することができる。動作において、アプリケーションおよび／またはメディアドライブ２８４４に含まれる他のメディアを、メディアドライブ２８４４から起動または再生して、追加の機能をマルチメディアコンソール１１０４に提供することができる。
【００７５】
[0098]  マルチメディアコンソール１１０４は、システムをテレビまたは他のディスプレイに単に接続することによって、スタンドアローンシステムとして動作させることができる。このスタンドアローンモードでは、マルチメディアコンソール１１０４は、１人または複数人のユーザがシステムと対話し、映画を視聴し、または音楽を聴くことを可能にする。しかしながら、ネットワークインターフェースコントローラ２８２４またはワイヤレスアダプタ２８４８を介して利用可能となるブロードバンド接続の統合によって、マルチメディアコンソール１１０４は、より大きいネットワークコミュニティの参加者としてさらに動作させることができる。
【００７６】
[0100]  マルチメディアコンソール１１０４が電源ＯＮされた場合、一定量のハードウェアリソースが、マルチメディアコンソールオペレーティングシステムによるシステム使用のために予約される。これらのリソースは、メモリ（たとえば１６ＭＢ）、ＣＰＵおよびＧＰＵサイクル（たとえば５％）、ネットワーク帯域幅（たとえば８ｋｂｐｓ）などの予約を含むことができる。これらのリソースはシステムブート時に予約されるので、予約されたリソースは、アプリケーションのビューからは存在しない。
【００７７】
[0101]  具体的には、メモリ予約は、起動カーネル、同時システムアプリケーション、およびドライバを含むのに十分大きいことが好ましい。予約されたＣＰＵ使用がシステムアプリケーションにより使用されない場合に、アイドル状態のスレッドが任意の未使用のサイクルを消費するように、ＣＰＵ予約は一定であることが好ましい。
【００７８】
[0102]  ＧＰＵ予約に関して、システムアプリケーションにより生成される軽量メッセージ（たとえばポップアップ）は、ＧＰＵ割り込みを用いて、ポップアップをオーバーレイにレンダリングするコードをスケジュールすることによって、表示される。オーバーレイに必要とされるメモリ量はオーバーレイ領域サイズに依存し、オーバーレイは画面解像度でスケーリングされることが好ましい。完全なユーザインターフェースが同時システムアプリケーションにより使用される場合、アプリケーション解像度と独立した解像度を使用することが好ましい。スケーラを用いてこの解像度を設定して、周波数を変更しＴＶを再同期させる必要がなくなるようにすることができる。
【００７９】
[0103]  マルチメディアコンソール１１０４が起動しシステムリソースが予約された後、同時システムアプリケーションはシステム機能を提供するために実行される。システム機能は、上述の予約されたシステムリソース内で実行されるシステムアプリケーションのセットにカプセル化される。オペレーティングシステムカーネルは、システムアプリケーションスレッド対ゲーミングアプリケーションスレッドであるスレッドを識別する。システムアプリケーションは、一貫したシステムリソースビューをアプリケーションに提供するために、所定の時間および間隔でＣＰＵ２８０１上で動作するようにスケジュールされることが好ましい。スケジューリングは、コンソール上で動作するゲーミングアプリケーションに対してキャッシュ中断を最小化するためのものである。
【００８０】
[0104]  同時システムアプリケーションがオーディオを要求する場合、オーディオ処理は、時間感度のために、ゲーミングアプリケーションとは非同期にスケジュールされる。マルチメディアコンソールアプリケーションマネージャ（後述）は、システムアプリケーションがアクティブである場合に、ゲーミングアプリケーションオーディオレベル（たとえば、ミュート、減衰）を制御する。
【００８１】
[0105]  入力デバイス（たとえば、コントローラ２８４２（１）および２８４２（２））は、ゲーミングアプリケーションおよびシステムアプリケーションにより共有される。入力デバイスは予約されるリソースではないが、システムアプリケーションおよびゲーミングアプリケーションの間で、それぞれがデバイスのフォーカスを有するように切り替えられる。アプリケーションマネージャは、ゲーミングアプリケーションの知識を知ることなく、入力ストリームの切り替えを制御することが好ましく、ドライバはフォーカス切り替えに関する状態情報を保持する。
【００８２】
[0106]  本マルチエンドポイント対処可能通知の様々な例示的実施形態が、例示のために、全ての実施形態の網羅的なリストとしてではなくここで提示される。一例は、通知発行およびサブスクリプションシステムへの登録済みエンドポイントとして構成されるデバイスであって、１つまたは複数のプロセッサと、デバイスユーザと対話するためのユーザインターフェース（UI）をサポートするディスプレイと、１つまたは複数のプロセッサにより実行された場合に、複数のエンドポイントデバイスにわたって通知を管理するための方法を実施するコンピュータ可読命令を記憶するメモリとを備え、方法が、発行側エンドポイントのサブスクリプションに従ってシステムから通知を受信することであって、サブスクリプションが複数のエンドポイントデバイスにわたってリソースを管理するためにユーザ選択可能であり、リソースがデバイスリソースおよびネットワークリソースを含む、受信することと、受信された通知をＵＩ上に浮上させることと、通知に対処するまたは通知を破棄するためのＵＩにおける入力を受信することであって、ＵＩにおける通知の破棄が、他のサブスクライブ側エンドポイントのそれぞれにおいてそれぞれ受信された通知の破棄を生じさせる、受信することと、ＵＩ上で通知が対処された場合に、通知を処理するためのアプリケーションを起動することとを備える、デバイスを含む。
【００８３】
[0107]  他の例では、デバイスは、通知を通知発行およびサブスクリプションシステムに発行することをさらに含み、通知が、サブスクライブ側エンドポイントで受信され浮上した場合に対処可能である。他の例では、デバイスは、通知発行およびサブスクリプションシステムと対話するように構成されるクライアントをホストすることをさらに含み、クライアントが通知を処理するアプリケーションを起動するためランチャまたはネイティブ通知能力のうちの少なくとも１つを含む。他の例では、デバイスは、１つまたは複数のアプリケーションに対してアプリケーションプログラミングインターフェース（API）を公開するようにクライアントを構成することをさらに含み、ＡＰＩが、通知発行およびサブスクリプションシステムに発行される通知に関連付けられたアウトバウンド通知データを受信するように構成される。他の例では、アプリケーションが、リモート体験をサポートするために発行側エンドポイントへの接続を用いて起動される。他の例では、複数のエンドポイントのそれぞれが、通知発行およびサブスクリプションシステムへの接続および通知転送についての異なる属性を有するそれぞれのアクセスネットワークを使用し、管理することが、通知をそれぞれの複数のエンドポイントに転送する場合に異なるアクセスネットワークの利用を管理することを含む。他の例では、デバイスは、ＵＩにおけるユーザが、デバイス上でのネイティブ体験として通知処理アプリケーションと対話することを可能にすることをさらに含む。他の例では、デバイスは、エンドポイント登録、エンドポイントサブスクリプション管理、またはエンドポイント発行管理の１つまたは複数のユーザ対話用にＵＩを構成することをさらに含み、エンドポイントサブスクリプション管理が、通知受諾または通知抑制のための基準の設定を含む。他の例では、基準が、エンドポイント位置、時間、通知特性、またはエンドポイント状態のうちの１つを含む。他の例では、デバイスはさらに、スマートフォン、タブレット、ウェアラブルコンピューティングデバイス、パーソナルコンピュータ、またはゲーミングデバイスの１つに組み込まれる。
【００８４】
[0108]  さらなる例は、複数のエンドポイントにわたって通知を管理するための方法であって、各エンドポイントが、通知発行およびサブスクリプションシステムに登録されるデバイスである方法において、サーバで公開されるユーザインターフェース（UI）をサポートするステップであって、ユーザインターフェースが、ｉ）エンドポイントを通知発行およびサブスクリプションシステムに対して登録および登録解除することを可能にし、ｉｉ）登録済みエンドポイントに対して発行権を設定し、ｉｉｉ）登録済みエンドポイントに対してサブスクリプションを設定するように構成される、サポートするステップと、登録済みエンドポイントがネットワークを介してアクセスするために通知発行およびサブスクリプションシステムをホストするステップであって、通知発行およびサブスクリプションシステムが、発行権およびサブスクリプションに従って発行側エンドポイントおよびサブスクライブ側エンドポイントの間でネットワークを介して対処可能通知を分配するように構成される、ホストするステップとを備える、方法を含む。
【００８５】
[0109]  他の例では、方法は、エンドポイントごとに通知受諾および通知抑制基準をユーザ設定するようにＵＩを構成することをさらに含む。他の例では、方法は、抑制基準に従って通知がエンドポイントに到達するのを抑制することをさらに含む。他の例では、方法は、サブスクライブ側エンドポイントにおける通知が対処された場合に、サブスクライブ側エンドポイントに対して発行側エンドポイントでホストされるリモート体験をサポートするために、サブスクライブ側エンドポイントおよび発行側エンドポイントの間の接続の確立をトリガすることをさらに含む。他の例では、方法は、リンク付き通知をサブスクライブ側エンドポイントに送信することをさらに含み、リンクが、辿られた場合に、サブスクライブ側エンドポイントによってダウンロードするのに利用可能な通知処理アプリケーションへのアクセスを提供する。他の例では、方法は、ユーザがローカルエンドポイントにおいて通知を破棄したことに応答して、リモートエンドポイントにわたる重複した通知を破棄することをさらに含む。
【００８６】
[0110]  さらなる例は、電子デバイス内の１つまたは複数のプロセッサにより実行された場合に、通知発行およびサブスクリプションシステムに登録されたエンドポイントにわたる重複した通知を除去するための方法を実施する命令を記憶する１つまたは複数のコンピュータ可読メモリデバイスであって、方法が、ネットワークを介してサブスクライブ側エンドポイントで受信された発行側エンドポイントからの通知が破棄されたという表示を受信することと、ネットワークを介して発行側エンドポイントから通知を受信したさらなるサブスクライブ側エンドポイントを識別することと、さらなるサブスクライブ側エンドポイントに発行側エンドポイントから受信された通知を破棄するように指示することとを備える、１つまたは複数のコンピュータ可読メモリデバイスを含む。
【００８７】
[0111]  他の例では、１つまたは複数のコンピュータ可読メモリデバイスは、通知に関連するメタデータをレビューして、さらなるサブスクライブ側エンドポイントで受信された通知が重複していることを検証することをさらに含む。他の例では、メタデータは、発行側エンドポイント用の一意ＩＤを備える。他の例では、通知発行およびサブスクリプションシステムは、それぞれの登録済みエンドポイントに配置されるクライアントと相互運用するサーバを用いて実装される。
【００８８】
[0112]  上記に基づいて、マルチエンドポイント対処可能通知のための技術が本明細書で開示されていることは理解されよう。本明細書で提示された主題が、コンピュータ構造的特徴、方法論的および変形的行為、特定のコンピューティング機械、およびコンピュータ可読記憶媒体に特有の文言で説明されているが、添付の特許請求の範囲で定義された本発明が、本明細書で説明された特定の特徴、行為、または媒体に必ずしも限定されないことは理解されよう。むしろ、特定の特徴、行為、および媒体は、特許請求の範囲を実装する例示的な形態として開示されている。
【００８９】
[0113]  上述の主題は、例示のみのために提供され、限定と解釈されてはならない。図示され説明された例示的実施形態およびアプリケーションに従うことなく、以下の特許請求の範囲に記載された本発明の真の精神および範囲から逸脱することなく、様々な修正および変更を本明細書に記載された主題に対して行うことができる。
【図１】
2018505573.tif 000003
【図２】
2018505573.tif 000004
【図３】
2018505573.tif 000005
【図４】
2018505573.tif 000006
【図５】
2018505573.tif 000007
【図６】
2018505573.tif 000008
【図７】
2018505573.tif 000009
【図８】
2018505573.tif 000010
【図９】
2018505573.tif 000011
【図１０】
2018505573.tif 000012
【図１１】
2018505573.tif 000013
【図１２】
2018505573.tif 000014
【図１３】
2018505573.tif 000015
【図１４】
2018505573.tif 000016
【図１５】
2018505573.tif 000017
【図１６】
2018505573.tif 000018
【図１７】
2018505573.tif 000019
【図１８】
2018505573.tif 000020
【図１９】
2018505573.tif 000021
【図２０】
2018505573.tif 000022
【図２１】
2018505573.tif 000023
【図２２】
2018505573.tif 000024
【図２３】
2018505573.tif 000025
【図２４】
2018505573.tif 000026
【図２５】
2018505573.tif 000027
【図２６】
2018505573.tif 000028
【図２７】
2018505573.tif 000029
【図２８】
2018505573.tif 000030
【国際調査報告】
2018505573.tif 000031
2018505573.tif 000032