(57)【特許請求の範囲】
【請求項１】
第１のサーバーコンピュータシステムのプロセッサにより読み取り可能な不揮発性プログラムを記憶する装置であって、
前記プロセッサに、
ユーザの第１装置上で動作する通知サービスからの第１指示であって、前記第１装置にインストールされた第１のアプリケーションに関係する第１の通知が前記第１装置上で見られたということを知らせる当該第１指示を、前記第１のサーバーコンピュータシステムで受信し、
前記第１装置上で動作する前記通知サービスからの第２指示であって、前記第１装置にインストールされた第２のアプリケーションに関係する第２の通知が前記第１装置上で見られたということを知らせる当該第２指示を、前記第１のサーバーコンピュータシステムで受信し、
前記第１のサーバーコンピュータシステムにより、ユーザの１つ以上の付加的な装置を識別し、
前記第１のサーバーコンピュータシステムにより、前記第１及び第２の通知が見られたという第３指示を、前記ユーザの１つ以上の付加的な装置のうちの少なくとも１つへ送信し、
前記ユーザの１つ以上の付加的な装置のいずれかに前記第１の通知が存在するかどうか決定する、
ようにさせるための命令を記憶した記憶装置。
【請求項２】
前記プロセッサに、第１装置上で前記第１の通知が見られたという第１指示を受信するようにさせる前記命令は、前記プロセッサに前記通知の識別子を受信するようにさせる命令を含む、請求項１に記載の記憶装置。
【請求項３】
前記第１の通知の識別子は、前記通知に適用されるハッシュアルゴリズムの結果を含む、請求項２に記載の記憶装置。
【請求項４】
前記プロセッサに対し、前記サーバーコンピュータシステムのデータ記憶装置において前記通知の識別子を使用して前記第１の通知を識別するようにさせる命令を更に含む、請求項２に記載の記憶装置。
【請求項５】
前記プロセッサに、第１装置上で前記第１の通知が見られたという第１指示を受信するようにさせる前記命令は、前記プロセッサがユーザのアカウントに関連したクレデンシャルを受信するようにさせる命令を含む、請求項１に記載の記憶装置。
【請求項６】
前記プロセッサに、ユーザの１つ以上の付加的な装置を識別するようにさせる前記命令は、前記プロセッサが前記アカウントに関連した１つ以上の付加的な装置を識別するようにさせる命令を含む、請求項５に記載の記憶装置。
【請求項７】
前記プロセッサに、前記第１及び第２の通知が見られたという第３指示を前記ユーザの１つ以上の付加的な装置のうちの少なくとも１つへ送信するようにさせる前記命令は、前記ユーザの１つ以上の付加的な装置のうち、前記第１及び第２の通知が存在する装置のみへ前記第３指示を送信するようにさせる命令を含む、請求項１に記載の記憶装置。
【請求項８】
インストールされた複数の異なるアプリケーションを有する第１装置上で動作する通知サービスを用いることによって重複した通知を回避するための方法であって、
複数の関連装置のうちの前記第１装置のプロセッサにより、前記第１装置にインストールされた第１のアプリケーションに関係する第１の通知を受け取る処理と、
前記第１装置のプロセッサにより、前記第１装置にインストールされた第２のアプリケーションに関係する第２の通知を受け取る処理と、
前記第１装置がアクティブな状態にあることを前記第１装置のプロセッサにより決定する処理と、
前記第１装置のユーザにより前記第１装置において前記第１及び第２の通知が見られたことを前記第１装置のプロセッサにより決定する処理と、
前記第１装置において前記第１及び第２の通知が見られたとの指示を前記第１装置のプロセッサを用いて前記通知サービスにより送信し、そして前記第１及び第２の通知が存在する複数の関連装置のいずれからもそれを除去する処理と、
前記第１の通知が前記複数の関連装置の１つに存在するかどうかを決定する処理と、が実行される方法。
【請求項９】
第１装置がアクティブな状態にあることを決定する前記処理は、前記第１装置の画像捕獲コンポーネントにより人間の顔を検出することを含む、請求項８に記載の方法。
【請求項１０】
第１装置がアクティブな状態にあることを決定する前記処理は、前記第１装置の１つ以上のセンサにより前記第１装置の向きを識別することを含む、請求項８に記載の方法。
【請求項１１】
第１装置がアクティブな状態にあることを決定する前記処理は、前記１つ以上のセンサにより、前記第１装置の向きの変化を検出することを含む、請求項１０に記載の方法。
【請求項１２】
前記第１装置において前記第１の通知が見られたと決定する前記処理は、前記第１装置のディスプレイ要素に前記第１の通知が表示されたことを前記第１装置のプロセッサによって決定することを含む、請求項８に記載の方法。
【請求項１３】
前記第１装置のディスプレイ要素に前記第１の通知が表示されたことを決定する前記処理は、ある時間スレッシュホールドよりも長く前記第１の通知が前記ディスプレイ要素に表示されることを前記第１装置のプロセッサにより決定することを含む、請求項１２に記載の方法。
【請求項１４】
前記第１装置において前記第１の通知が見られたと決定する前記処理は、更に、前記第１装置の向きを前記第１装置の１つ以上のセンサにより識別することを含む、請求項１２に記載の方法。
【請求項１５】
複数の異なるアプリケーション及び通知サービスを有する第１装置のプロセッサにより読み取り可能な不揮発性プログラムを記憶する装置であって、前記プロセッサに、
各メッセージが前記第１装置にインストールされた別のアプリケーションプログラムに関係するという複数のメッセージを、複数の関連装置のうちの第１装置で動作する前記通知サービスにより受信し、
前記複数のメッセージに基づいて複数の通知を前記第１装置により発生し、前記複数の通知は、前記第１装置の通知サービスの共通インターフェイスを通して表示されるものであり、
前記第１装置がアクティブな状態にあることを前記第１装置により決定し、
前記複数の通知の１つが前記第１装置のディスプレイ要素において見られたことを前記第１装置により決定し、
前記通知が前記第１装置において見られたとの指示を、前記第１装置により、同期サーバーコンピュータシステムへ送信し、
前記複数の通知の１つが前記複数の関連装置の１つに存在するかどうかを決定する、ようにさせるための命令を記憶した記憶装置。
【請求項１６】
プロセッサに複数の通知を発生するようにさせる前記命令は、前記複数のメッセージの１つ以上が通知として提示されるべき所定の条件を満足するかどうか決定するようにさせる命令を含む、請求項１５に記載の記憶装置。
【請求項１７】
プロセッサに共通のインターフェイスを通して提示されるべき複数の通知を発生するようにさせる前記命令は、前記第１装置のクライアント側通知サービスのインターフェイスを通して提示されるべき通知を発生するようにさせる命令を含む、請求項１５に記載の記憶装置。
【請求項１８】
前記通知サービスは、前記第１装置のオペレーティングシステムのサービスを含む、請求項１７に記載の記憶装置。
【請求項１９】
前記プロセッサに第１装置において通知が見られたとの指示を送信するようにさせる前記命令は、前記クライアント側通知サービスに対し、前記同期サーバーコンピュータシステムで実行されるサーバー側通知サービスへ前記指示を送信するようにさせる命令を含む、請求項１７に記載の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的に、ユーザの複数の装置に提示される通知の管理に関する。
【背景技術】
【０００２】
人々が複数の電子装置を使用することが普通になった。例えば、１人のユーザが、通常の１日の間に、移動電話、タブレットコンピュータ装置、ラップトップコンピュータシステム、及びデスクトップコンピュータシステムを使用する。又、これらの装置を重複して使用することも次第に普通になった。移動電話及びポータブル音楽装置のような移動装置は、以前は非常に特定の目的で使用されたが、それら装置の機能、処理能力及び接続性が高まったことで、ラップトップ又はデスクトップコンピュータシステムとほとんど同様に使用できるようになった。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ユーザは、１日を通して装置間を切り換えることができるので、各装置は、ユーザが各装置を通して同じ形式の情報を受け取ることができるように同様に設定される。例えば、ユーザは、ｅ−メール、天気の更新、スポーツの更新、及びソーシャルネットワークメッセージのような情報を検索するために各装置を設定する。この情報が受け取られるところの複数のソースに基づき、各装置は、ユーザが複数のソースから単一のインターフェイスを通して情報を見ることができるよう情報を合併するようにも設定される。このような構成では、装置で実行されるアプリケーションにより受け取られる情報は、単一の通知インターフェイスを通して与えられる通知を発生する。それ故、ユーザは、装置間を容易に切り換えて、ユーザに関心のある情報を見ることができる。各装置は、それがインアクティブな状態にあるときでも（即ち、ユーザによってアクティブに使用されなくても）情報を受け取って通知を発生し続けることができる。それ故、アクチベーション時に、装置は、それが最後に使用されたとき以来発生された新たな通知を全部表示する。装置が重複して使用される仕方にもよるが、ユーザにとって別の装置で既に見た重複する通知を取捨選択することは厄介である。
【課題を解決するための手段】
【０００４】
１つの実施形態では、プログラム記憶装置は、ユーザの第１装置において通知が見られたという指示をプロセッサがサーバーコンピュータシステムにおいて受け取るようにさせる命令を含む。その指示に応答して、ユーザの付加的な装置の１つ以上が識別され、そして第１の装置において通知が見られたという指示がそれらの付加的な装置へ送られる。
【０００５】
別の実施形態では、方法は、複数の関連装置のうちの第１装置において通知を受け取ることを含む。その後、第１装置がアクティブな状態にあり且つ第１装置で通知が見られたと決定された場合には、通知が第１装置で見られており且つそれがいずれの関連装置からも除去されねばならないという指示が第１装置により送信される。
【０００６】
更に別の実施形態では、プログラム記憶装置は、プロセッサが複数の付加的な装置に関連した第１装置において複数のソースから複数のメッセージを受け取るようにさせる命令を含む。複数のメッセージに基づき、第１装置の共通インターフェイスを通して表示されるべき複数の通知が第１装置により発生される。第１装置がアクティブな状態にあり且つ第１装置で通知の１つが見られたと決定された場合には、第１装置で通知が見られたとの指示が第１装置から同期サーバーコンピュータシステムへ送られる。
【図面の簡単な説明】
【０００７】
【図１】１つの実施形態によるネットワークアーキテクチャーのブロック図である。
【図２】１つの実施形態により複数のソースから得られた情報を単一の通知サービスへと合併することを示すブロック図である。
【図３】１つの実施形態によりサーバー側通知サービスで複数のユーザ装置各々におけるアクティブな通知の同期をとることを示すブロック図である。
【図４】１つの実施形態により複数のユーザ装置にわたる通知の冗長な表示を回避する動作を示すフローチャートである。
【図５Ａ】１つの実施形態により複数のユーザ装置にわたる通知の冗長な表示を回避するメカニズムを示す。
【図５Ｂ】１つの実施形態により複数のユーザ装置にわたる通知の冗長な表示を回避するメカニズムを示す。
【図５Ｃ】１つの実施形態により複数のユーザ装置にわたる通知の冗長な表示を回避するメカニズムを示す。
【図６】１つの実施形態による電子装置を示すブロック図である。
【発明を実施するための形態】
【０００８】
本開示は、複数のユーザ装置で受け取られる通知の管理に関する。一般的に、ユーザのアクティブな装置を識別し、ユーザがアクティブな装置において通知を見たことを決定し、そしてユーザの１つ以上の他の装置から通知を除去して、同じ通知のための冗長な表示を回避するための技術が開示される。
【０００９】
以下の記述において、説明上、本発明の概念を完全に理解するために多数の特定の細部について述べる。この説明の一部分として、幾つかの添付図面は、本発明を不明瞭にしないために構造及び装置をブロック図の形態で表す。明瞭化のために、実際の具現化の全ての特徴が本明細書に述べられるのではない。更に、本開示で使用される言語は、主として読み易さ及び教授の目的で選択されたもので、発明の要旨を描写又は描くために選択されたものではなく、そのような発明の要旨を決定するには請求項に頼ることが必要である。本開示において「１つの実施形態」又は「一実施形態」を言及するときには、その実施形態に関して述べる特定の特徴、構造又は特性が本発明の少なくとも１つの実施形態に包含されることを意味し、そして「１つの実施形態」又は「一実施形態」を何回も言及するときには、必ずしも全てが同じ実施形態を指すと理解してはならない。
【００１０】
実際の具現化の開発（開発プロジェクトのような）において、開発者の特定の目標（例えば、システム及びビジネス関連の制約との適合）を達成するために多数の判断をしなければならず、且つそれらの目標は、具現化ごとに変化することが明らかである。又、そのような開発努力は、複雑で且つ時間がかかるが、本開示の利益を得る同期サービス設計の当業者にとって日常の業務となることも明らかであろう。
【００１１】
図１は、１つの実施形態によるネットワークアーキテクチャー１００を示す。図示されたように、複数のネットワーク１０２が設けられる。ネットワークアーキテクチャー１００の環境において、ネットワーク１０２は、これに限定されないが、ローカルエリアネットワーク（ＬＡＮ）、インターネットのようなワイドエリアネットワーク（ＷＡＮ）、又はローカルエリア及びワイドエリアネットワークの組み合わせを含む任意の形態をとる。更に、ネットワーク１０２は、望ましい技術（ワイヤード、ワイヤレス又はその組み合わせ）、及びプロトコル（例えば、送信コントロールプロトコル、ＴＣＰ）を使用する。
【００１２】
ネットワーク１０２に結合されるのは、ネットワーク１０２を経て通信できるデータサーバーコンピュータ１０４である。ここに示す実施形態では、データサーバー１０４Ａは、１つ以上のソーシャルネットワークサーバー（例えば、ソーシャルネットワークアプリケーションをホストするウェブサーバー）を表わし、データサーバー１０４Ｂは、１つ以上のスポーツサーバー（例えば、スポーツアプリケーションをホストするウェブサーバー）を表わし、データサーバー１０４Ｃは、１つ以上のｅ−メールサーバー（例えば、ｅ−メールアプリケーションをホストするウェブサーバー）を表わし、そしてデータサーバー１０４Ｄは、１つ以上の天気サーバー（例えば、天気アプリケーションをホストするウェブサーバー）を表わす。データサーバー１０４Ａ−１０４Ｂにおいて実行されるリストされたアプリケーションは、そのようなサーバーでホストできるアプリケーションの一例を与えるもので、それに限定されるものではない。データサーバー１０４は、図１に示す例示的な４つを越えて多数の異なる形式のアプリケーションをホストできることが認識される。
【００１３】
又、ネットワーク１０２には、複数のエンドユーザ装置１０６も結合される。ここに示す実施形態では、エンドユーザ装置１０６は、１人のユーザに属する規範的な装置を表わす。例えば、ユーザは、移動電話１０６Ａ、タブレット装置１０６Ｂ、ラップトップコンピュータシステム１０６Ｃ及びデスクトップコンピュータシステム１０６Ｄを使用する。ここに示す装置は、典型的なユーザが所有する装置の一例を示すもので、それに限定されない。ユーザの付加的な装置又は代替え装置は、パーソナルデジタルアシスタント（ＰＤＡ）、パーソナル音楽プレーヤ、ｅ−ブックリーダー、テレビ、及び／又はネットワーク１０２を経て通信できる他の電子装置を含む。エンドユーザ装置１０６は、データサーバー１０４と相互作用する。例えば、エンドユーザ装置１０６は、ソーシャルネットワークサーバー１０４Ａで実行されるソーシャルネットワークアプリケーションを経てソーシャルネットワークメッセージを送信及び受信し、スポーツサーバー１０４Ｂで実行されるスポーツアプリケーションを経てスポーツ更新を受信し、ｅ−メールサーバー１０４Ｃで実行されるｅ−メールアプリケーションを経てｅ−メールメッセージ及び／又はカレンダーアポイントメントを送信及び受信し、そして天気サーバー１０４Ｄで実行される天気アプリケーションを経て天気更新を受信する。典型的な構成において、エンドユーザ装置１０６には、サーバーで実行されるサーバー側アプリケーションとインターフェイスするクライアント側アプリケーションがインストールされる。例えば、装置１０６で実行されるクライアント側ソーシャルネットワークアプリケーションは、ソーシャルネットワークサーバー１０４Ａで実行されるサーバー側ソーシャルネットワークアプリケーションとインターフェイスして、ソーシャルネットワークアカウントに関連した機能を与える。
【００１４】
又、ネットワーク１０２には、同期サーバー１０８も結合される。同期サーバー１０８は、データサーバー１０４の形態をとるが、サービスのために登録されたユーザ装置１０６間の同期を維持するサービスを提供する。同期サーバーの一例は、Ａｐｐｌｅ（登録商標）ｉＣｌｏｕｄTMサービスである（ＡＰＰＬＥは、アップルインクの登録商標であり、ＩＣＬＯＵＤは、アップルインクの商標である）。同期サーバー１０８で実行される同期サービスの機能は、以下に詳細に説明される。ネットワーク１０２間の通信を容易にするために、少なくとも１つのゲートウェイ又はルーター１１０がそれらの間に任意に結合される。
【００１５】
図２は、１つの装置１０６で実行される多数のクライアント側アプリケーションと多数のデータサーバー１０４で実行されるサーバー側アプリケーションとの間で相互作用を行って装置１０６のユーザに通知を与えることを示す。図示されたように、クライアント側ソーシャルネットワークアプリケーション２０５Ａは、通信リンク２１５Ａ（例えば、ネットワーク１０２にわたる通信リンク）を経て、サーバー１０４Ａで実行されるサーバー側ソーシャルネットワークアプリケーション２１０Ａとインターフェイスし、ソーシャルネットワークメッセージを送信及び受信する。例えば、装置１０６のユーザは、ソーシャルネットワークメッセージをソーシャルネットワークの友人に通信し、それらのソーシャルネットワーク状態を更新し、及び／又はソーシャルネットワークの友人によりクライアント側ソーシャルネットワークアプリケーション２０５Ａを経て送信されたソーシャルネットワークメッセージを受信する。同様に、装置１０６は、クライアント側スポーツアプリケーション２０５Ｂと、サーバー１０４Ｂで実行されるサーバー側スポーツアプリケーション２１０Ｂとの間のリンク２１５Ｂを経て更新し、クライアント側ｅ−メールアプリケーション２０５Ｃと、サーバー１０４Ｃで実行されるサーバー側ｅ−メールアプリケーション２１０Ｃとの間のリンク２１５Ｃを経てｅ−メールを送信及び受信し、そしてクライアント側天気アプリケーション２０５Ｄと、サーバー１０４Ｄで実行されるサーバー側天気アプリケーション２１０Ｄとの間のリンク２１５Ｄを経て天気更新及び予報を受信する。１つの実施形態では、新たな情報は、その情報がサーバー側アプリケーションに受け取られたときに、サーバー側アプリケーションから、装置１０６で実行されるクライアント側アプリケーションへプッシュされる。別の実施形態では、情報は、特定の頻度でクライアント側アプリケーションによりサーバー側アプリケーションからプルされる。例えば、クライアント側アプリケーションは、更新された情報を３０分ごとにサーバー側アプリケーションから要求する。１つの実施形態では、更新頻度は、クライアント側アプリケーションの選択可能な設定である。別の実施形態では、装置の状態に関わらず、情報の検索が行われる。例えば、装置１０６がインアクティブな状態にあっても（即ち、装置のユーザによってアクティブに使用されていなくても）、クライアント側アプリケーションは、更新された情報を要求しそして受け取り続ける。
【００１６】
装置１０６で実行される各クライアント側アプリケーションから個別のインターフェイス（例えば、クライアント側アプリケーションのインターフェイス）を通して情報を受け取るのではなく、ユーザは、それらのクライアント側アプリケーションを通して受け取られる情報を、クライアント側通知サービス２２０を通して合併することを選択する。クライアント側通知サービス２２０は、装置１０６においてユーザレベルアプリケーションとして又はオペレーティングシステムサービスとして実行する。装置１０６のユーザは、装置１０６で実行される１つ以上のクライアント側アプリケーションにより検索される情報を、クライアント側通知サービス２２０の共通インターフェイスを通して通知として受け取ることを選択する。ここに示す実施形態では、装置１０６のユーザは、クライアント側ソーシャルネットワークアプリケーション２０５Ａ、クライアント側スポーツアプリケーション２０５Ｂ、クライアント側ｅ−メールアプリケーション２０５Ｃ、及びクライアント側天気アプリケーション２０５Ｄの各々をクライアント側通知サービス２２０へリンクする。１つの実施形態では、これらのクライアント側アプリケーションのいずれかにより受け取られる各メッセージは、クライアント側通知サービス２２０へ通される。別の実施形態では、ユーザは、通知サービス２２０を通して通知として与えられねばならないクライアント側アプリケーションにより受け取られるメッセージのサブセットを（クライアント側アプリケーション又はクライアント側通知サービスのいずれかの設定を通して）定義する。例えば、ユーザは、ソーシャルネットワークの友人が別のソーシャルネットワークメッセージにおいて彼等の状態又はコマンドを更新するたびに通知を見ることを望まないが、ソーシャルネットワークの友人により通信された全てのオリジナルのソーシャルネットワークメッセージを見ることを望む。同様に、ユーザは、特定のチームのスポーツ更新又は特定の場所の天気更新のための通知を受け取ることだけを望む。それ故、クライアント側通知サービス２２０は、装置１０６のユーザが最も関心のある情報を素早く見ることのできる単一のインターフェイスを与える。
【００１７】
適切な設定に基づき、クライアント側通知サービス２２０にリンクされたクライアント側アプリケーションの各々に受け取られる情報は、矢印２２５Ａ−２２５Ｄで示すように通知サービス２２０へ通信される。１つの実施形態では、クライアント側アプリケーションにより情報が受け取られる際に通知サービス２２０に情報が供給される。別の実施形態では、通知サービス２２０は、リンクされたクライアント側アプリケーションの各々から更新された情報をある頻度で要求する。例えば、通知サービス２２０は、リンクされた各クライアント側アプリケーションから新たな情報を１０分ごとに要求する。１つの実施形態では、更新の頻度は、通知サービス２２０の選択可能な設定である。上述したように、装置１０６がインアクティブな状態にあるときでも、クライアント側アプリケーションにより情報が検索される。同様に、検索された情報は、装置２０６がインアクティブな状態にあるときでも通知サービス２２０へ通される。従って、装置１０６が使用されないときに通知サービス２２０に通知が蓄積する。
【００１８】
更に、以下に詳細に述べるように、ユーザは、複数の装置に１つ以上の同じクライアント側アプリケーションをインストールし、そしてクライアント側アプリケーションを複数の装置の通知サービス２２０にリンクする。それ故、複数の装置に与えられる通知が重複し得る。例えば、移動電話１０６Ａで実行されるクライアント側ソーシャルネットワークアプリケーション２０５Ａは、ラップトップ１０６Ｃで実行されるクライアント側ソーシャルネットワークアプリケーション２０５Ａと同じ情報をサーバー側ソーシャルネットワークアプリケーション２１０Ａから検索する。各々のユーザ装置で通知サービス２２０に与えられる通知を管理するために、クライアント側通知サービス２２０は、同期サーバー１０８で実行されるサーバー側通知サービス２３０にリンクされる。
【００１９】
１つの実施形態では、同期サーバー１０８は、複数の装置間で情報を共有できるところのユーザアカウントを与える。例えば、同期サーバー１０８は、データ記憶装置を備え、ユーザアカウントに関連した各装置がその記憶装置からデータを検索できるようにする。１つの実施形態では、サーバー側通知サービス２３０は、同期サーバー１０８と共にユーザアカウントを通して与えられる特徴の１つである。別の実施形態では、同期サーバー１０８におけるユーザアカウントは、各々のユーザ装置１０６のレコードを維持し、より詳細には、クライアント側通知サービス２２０を実行する各ユーザ装置１０６のレコードを維持する。クライアント側通知サービス２２０において通知が受け取られるたびに、通信リンク２３５により示されたようにネットワーク１０２にわたって通知を通信することによりサーバー側通知サービス２３０とで情報が共有される。従って、サーバー側通知サービス２３０は、各ユーザ装置に対して与えられる各通知のレコードを維持する。
【００２０】
図３のブロック図は、同期サーバー１０８で実行されるサーバー側通知サービス２３０により維持される複数のユーザ装置（１０６Ａ−１０６Ｄ）におけるアクティブな通知のレコードを示す。装置１０６Ａ−１０６Ｄは、重複するクライアント側アプリケーションを含む。図１及び２の例を続けるため、クライアント側ｅ−メールアプリケーション２０５Ｃ及びクライアント側天気アプリケーション２０５Ｄが装置１０６Ａ−１０６Ｄの各々にインストールされる。クライアント側スポーツアプリケーション２０５Ｂは、移動電話１０６Ａ、タブレット装置１０６Ｂ及びラップトップコンピュータシステム１０６Ｃにはインストールされるが、デスクトップコンピュータシステム１０６Ｄにはインストールされない。クライアント側ソーシャルネットワークアプリケーション２０５Ａは、移動電話１０６Ａ及びタブレット装置１０６Ｂにはインストールされるが、ラップトップコンピュータシステム１０６Ｃにもデスクトップコンピュータシステム１０６Ｄにもインストールされない。装置１０６Ａ−１０６Ｄの各々は、クライアント側通知サービス２２０を実行して、インストールされたクライアント側アプリケーションから情報を検索すると共に、単一のインターフェイスを通してユーザに情報を与える。
【００２１】
ここに示す実施形態では、ユーザは、各装置にインストールされたクライアント側アプリケーションの各々をクライアント側通知サービス２２０にリンクする。それ故、インストールされたクライアント側アプリケーションにより受け取られた情報は、装置１０６Ａ−１０６Ｄの各々におけるクライアント側通知サービス２２０を通して通知３０５として与えられる。
【００２２】
ここに示す実施形態では、通知３０５は、それらが受け取られた順序で通知サービス２２０を通して表示される。１つの実施形態では、この順序は、サーバー側アプリケーションから受け取られたオリジナル情報に関連したタイムスタンプに基づく。別の実施形態では、この順序は、通知サービス２２０により通知が受け取られた順序に基づく。別の実施形態では、通知は、その通知を発生したクライアント側アプリケーションに基づいて分類される。そのような実施形態では、クライアント側アプリケーションが分類される順序は、ユーザにより選択可能である。
【００２３】
ここに示す実施形態では、２つのソーシャルネットワーク通知（ＳＮ  ＮＯＴ１及びＳＮ  ＮＯＴ２）がクライアント側ソーシャルネットワークアプリケーション２０５Ａから通知サービス２２０に受け取られ、１つのスポーツ通知（ＳＰＯＲＴＳ  ＮＯＴ１）がクライアント側スポーツアプリケーション２０５Ｂから通知サービス２２０に受け取られ、２つのｅ−メール通知（ＥＭＡＩＬ  ＮＯＴ１及びＥＭＡＩＬ  ＮＯＴ２）がクライアント側ｅ−メールアプリケーション２０５Ｃから通知サービス２２０に受け取られ、そして１つの天気通知（ＷＸ  ＮＯＴ１）がクライアント側天気アプリケーション２０５Ｄから通知サービス２２０に受け取られる。
【００２４】
クライアント側通知サービス２２０は、装置にインストールされたクライアント側アプリケーションに対応する通知のみを受け取る。例えば、移動電話１０６Ａで実行されるクライアント側通知サービス２２０は、クライアント側アプリケーション２０５Ａ−Ｄの各々が移動電話１０６Ａにインストールされるので、上述した通知の各々を表示する。対照的に、デスクトップコンピュータ１０６Ｄで実行されるクライアント側通知サービス２２０は、クライアント側ｅ−メールアプリケーション２０５Ｃ及びクライアント側天気アプリケーション２０５Ｄしかデスクトップコンピュータ１０６Ｄにはインストールされないので、ｅ−メール及び天気通知しか表示しない。
【００２５】
ここに示す実施形態は、クライアント側通知サービス２２０によって受け取られる通知が、装置にインストールされたクライアント側アプリケーションに直結されることを示しているが、必ずしもそうではない。第１装置及び第２装置にインストールされる特定のクライアント側アプリケーションの場合に、ユーザは、第１装置についての通知は受け取りたいが、第２装置についてはそうでないことがある。それ故、ユーザは、クライアント側アプリケーションを第１装置のクライアント側通知サービス２２０にリンクするが、第２装置についてはリンクしない。同様に、ユーザは、クライアント側アプリケーションを、両装置のクライアント側通知サービス２２０にリンクするが、異なる設定を使用して、第１装置がクライアント側アプリケーションからの全メッセージを、クライアント側通知サービス２２０を通して通知として表示する一方、第２装置がそれらの通知のサブセットのみを表示するようにしてもよい。
【００２６】
装置１０６Ａ−Ｄの各々におけるクライアント側通知サービス２２０は、通信リンク２３５Ａ−Ｄで示すように、通知３０５を、ネットワーク１０２を経て、同期サーバー１０８で実行されるサーバー側通知サービス２２０へ通信する。１つの実施形態では、通知の通信は、クライアント側通知サービス２２０により新たな通知を受け取る際に行われる。別の実施形態では、通知の通信は、ある頻度に基づいて行われる。例えば、クライアント側通知サービス２２０は、５分ごとに新たな通知情報をサーバー側通知サービス２３０へ送信する。１つの実施形態では、クライアント側通知サービス２２０は、同期サーバー１０８への通信にアカウントクレデンシャルを含ませる。それらのクレデンシャルは、同期サーバー１０８がユーザアカウント及びユーザアカウントに関連した装置を識別できるようにする。
【００２７】
１つの実施形態では、実際の通知は、クライアント側通知サービス２２０からサーバー側通知サービス２３０へ送信される。即ち、通知を構成する実際のデータがクライアント側通知サービス２２０からサーバー側通知サービス２３０へ送信される。別の実施形態では、通知の識別子がクライアント側通知サービス２２０からサーバー側通知サービス２３０へ送信される。例えば、ハッシュアルゴリズムが通知に適用され、それにより生じるハッシュ値がサーバー側通知サービス２３０へ送られる。そのような実施形態では、装置１０６Ａ−Ｄの各々が同じハッシュアルゴリズムを遂行して、サーバー側通知サービス２３０がそれにより得られるハッシュを各装置からの同じ通知を構成するものとして認識するようにする。
【００２８】
受け取られた通知（及び／又は通知識別子）に基づき、サーバー側通知サービス２３０は、各ユーザ装置に与えられる通知を追跡するためにデータ記憶装置３１０を維持する。１つの実施形態では、データ記憶装置３１０は、ユーザの登録された装置に与えられるアクティブな通知のリストを維持する。アクティブな通知ごとに、データ記憶装置３１０は、どのユーザ装置に通知が与えられるかも指示する。図示されたように、各ユーザ装置には冗長な通知が蓄積する。更に、上述したように、通知は、装置がインアクティブな状態にあるときでも蓄積し続ける。それ故、移動電話１０６Ａを使用してその日の間に通信しそしてデスクトップコンピュータ１０６Ｄを使用して夕刻に通信するユーザは、その日の間に移動電話１０６Ａに多数の通知を見ることができるが、夕刻にデスクトップコンピュータシステム１０６Ｄへ移行するときには全く同じ通知（デスクトップコンピュータ１０６Ｄがインアクティブであった間に蓄積された）を取捨選択しなければならない。１つの実施形態では、各ユーザ装置の対するクライアント側通知サービス２２０とサーバー側通知サービス２３０との間のリンクが通知の冗長な表示を回避することができる。
【００２９】
図４を参照すれば、動作４００は、１つの実施形態により通知の冗長な表示を回避するプロセスを示す。上述したように、通知は、１人のユーザの複数の装置で受け取られる（ブロック４０５）。１つの実施形態では、これらの通知は、共通のインターフェイスを通してユーザに提示される任意の形式の情報を含む。例えば、種々のソース（例えば、種々のサーバー側アプリケーション）からのメッセージは、共通のインターフェイス（例えば、通知サービス２２０のインターフェイス）を通してユーザに提示される通知へとコンパイルされる。前記で取り上げた規範的通知に加えて、通知は、ボイスメールメッセージ、テキストメッセージ（例えば、ショートメッセージサービス又はインスタントメッセージングサービス）、株価、ビデオメッセージ、等を含む。上述したように、通知は、装置がインアクティブな状態にあるときでもユーザ装置で受け取られる。それ故、通知は、ユーザが装置をアクチベートし、そして通知を見ることのできるインターフェイスへとナビゲートするときに表示されるようにインアクティブな装置に蓄積される。各装置で受け取られる通知は、装置の特定の設定に基づいて異なるが、装置で受け取られる通知はある程度重複している。それ故、２つ以上の装置に同じ通知が提示される。
【００３０】
装置の１つがアクティブな状態であることが決定される（ブロック４１０）。ここで使用するように、装置は、ユーザが装置をアクティブに使用するときにアクティブな状態にある。装置がアクティブな状態にあるかどうかの決定は、装置それ自体によって行われ、そして様々な異なる仕方で行われる。１つの実施形態では、装置は、視線検出を使用して装置の状態を決定する。そのような実施形態では、装置の一部分である画像捕獲コンポーネント（例えば、デジタルカメラ）をアクチベートして人の顔を検出できるかどうか決定する。もしそうであれば、ユーザが装置のディスプレイを見ており、それ故、装置がアクティブな状態にあることを決定する。別の実施形態では、装置のセンサ（例えば、接近／周囲光センサ、加速度計及び／又はジャイロスコープ）を使用して、装置の向き（例えば、装置の位置）の変化を検出する。ある向き又は向きの変化に基づいて、装置がアクティブな状態にあることが決定される。更に別の実施形態では、ネットワークを経てのデータの送信及び／又は受信に基づいて装置がアクティブな状態にあることが決定される。装置がインアクティブな状態にあるときでも装置のネットワーク接続を経てデータが送信される間に、あるデータ送信及び受信パターンは、装置がアクティブであることを指示する。例えば、装置がインアクティブな状態にある間にデータが短いバーストで送信及び検索される間に、より長い期間にわたり又はあるソース／行先からネットワークを経てデータを送信又は受信することは、アクティブな装置を表わす。更に別の実施形態では、装置は、ユーザと装置との相互作用に基づいてアクティブであると決定される。例えば、ボタン、キーパッド、ダイヤル、クリックホイール、キーボード、ディスプレイスクリーン及び／又はタッチスクリーン、マウス、トラックパッド、等の装置インターフェイスの使用は、装置がアクティブであることを指示する。
【００３１】
特定の装置がアクティブであると決定された後、アクティブな装置のユーザがアクティブな装置において通知を見たことが決定される（ブロック４１５）。通知を見たとの決定は、種々の仕方で行われる。１つの実施形態では、ユーザが通知に応答する場合に通知を見たことが高い信頼度で決定される。例えば、通知がテキストメッセージである場合には、ユーザがメッセージの送信者に（例えば、応答テキストメッセージで）応答した場合に通知を見たと決定することができる。
【００３２】
別の実施形態では、ユーザが通知と相互作用できるようにするために通知は選択可能である。通知の選択は、通知を発生したクライアント側アプリケーションを起動して、ユーザが通知と相互作用できるようにする（例えば、通知に応答するか又は通知に関連したビデオファイルを見ることができるようにする）。そのような実施形態では、通知の選択は、通知が見られたことを指示する。
【００３３】
更に別の実施形態では、アクティブな装置のディスプレイ要素における通知の存在に基づいて通知が見られたことが決定される。装置のディスプレイ要素における通知の存在に基づいて通知が読まれたことを確信して推論するには、通知がある時間スレッシュホールド中ディスプレイ要素に存在することが要求される。例えば、ある秒数の間、装置のディスプレイ要素に通知が存在することは、通知が見られたことを指示する。１つの実施形態において、時間スレッシュホールドは、通知の長さに基づく（例えば、テキストメッセージ通知におけるテキストの量）。
【００３４】
更に別の実施形態では、装置のディスプレイ要素における通知の存在に基づいて通知が見られたと決定する精度は、そのような方法を前記視線検出及び／又は向き監視プロセスと組み合わせることにより改善することができる。例えば、装置のディスプレイ要素に通知が表示されると同時に視線検出により人間の顔を検出できることが分かった場合には、アクティブな装置において通知が見られたことが高い信頼性で決定される。同様に、装置のディスプレイ要素に通知が表示され且つ装置がある向き（例えば、ユーザがディスプレイ要素を見ていることを表わす向き）で配置されることが分かった場合には、アクティブな装置において通知が見られたことが高い信頼性で決定される。
【００３５】
更に別の実施形態では、装置のディスプレイ要素における通知の表示に関連して装置のユーザインターフェイスとのユーザの相互作用に基づきアクティブな装置において通知が見られたことが決定される。例えば、一連の通知をスクロールするあるパターンは、ユーザが通知を見ていることを表わす。例えば、装置に多数の通知が存在し、ユーザが通知をスクロールし、そして特定の通知が装置のディスプレイ要素の中心に来たときに休止する場合には、通知が見られたことが決定される。装置において通知が見られたことを決定するための前記メカニズムは、一例に過ぎず、それに限定されるものではない。当業者であれば、装置において通知が見られたことを決定し、又はそのような決定における信頼性を改善する付加的なメカニズムが明らかであろう。
【００３６】
装置において通知が見られたことが決定された後に、通知が見られたとの指示が同期サーバーへ送られる（ブロック４２０）。上述したように、同期サーバーは、各ユーザ装置に提示される通知を管理する。１つの実施形態では、その指示は、通知が見られた装置に関連した装置を同期サーバーが識別できるようにする情報を含む。１つの実施形態では、その指示は、アクティブな装置において見られたと決定された通知を含む。即ち、通知を構成する実際のデータは、アクティブな装置から同期サーバーへ送られる。別の実施形態では、通知の識別子がアクティブな装置から同期サーバーへ送られる。図３を参照して上述したように、その識別子は、通知を構成するデータに対して行われるハッシュアルゴリズムの結果である。アクティブな装置から送られる指示（ブロック４２０）は、図３について述べたように装置から同期サーバーへ送られる指示とは異なることに注意されたい。より詳細には、前者は、アクティブな装置において通知が見られたことを指示し、一方、後者は、装置に通知が提示される（が、必ずしも見られていない）ことを指示する。
【００３７】
１つのユーザ装置において通知が見られたとの指示を受け取ると、同期サーバーは、その見られた通知が他の装置にも存在するかどうか決定する。１つの実施形態において、見られた通知に対応する通知がデータ記憶装置３１０において識別される。別の実施形態では、通知は、通知それ自体、又は４２０で受け取られた通知識別子を使用してデータ記憶装置３１０において識別される。データ記憶装置３１０において通知が識別されると、ユーザが同期サーバーに登録した他の装置に同じ通知が存在するかどうか決定される。図３を参照して上述したように、各ユーザ装置は、それらの通知を同期サーバーに報告する。それ故、同期サーバーは、見られた通知が存在するユーザ装置を知っている。見られた通知が他のユーザ装置のいずれにも存在しないと決定された場合には（ブロック４２５の「ノー」岐路）、見られた通知は、それが見られた装置から単に除去される（ブロック４３０）。１つの実施形態において、通知を除去することは、通知が表示されるインターフェイスから通知を除去することを指す。それ故、見られた通知は、装置から完全に除去されない。１つの実施形態では、見られた通知の除去は、その通知が装置において見られたと決定されたときには、ローカルで行われる（ブロック４１５）。そのような実施形態では、見られた通知が他のユーザ装置のいずれにも存在しないと決定された場合には（ブロック４２５の「ノー」岐路）、同期サーバーからの応答は不要である。別の実施形態では、通知が見られた装置により通知除去命令が受け取られるまで、通知が通知インターフェイスから除去されない。そのような実施形態では、同期サーバーは、通知インターフェイスから通知を除去すべきであることを指示する応答を、通知が見られた装置へ送る（ブロック４３０）。
【００３８】
見られた通知がユーザの１つ以上の他の装置に存在することが決定された場合には（ブロック４２５の「イエス」岐路）、通知が見られたとの指示が、同期サーバーから、通知が存在する各ユーザ装置へ送られる（ブロック４３５）。即ち、同期サーバーは、通知が存在する装置の各々に指示をプッシュする。通知が見られた装置から送られる指示と同様に、同期サーバーから送られる指示は、見られた通知それ自体、又は見られた通知の識別子を含む。通知が見られたとの指示を受け取ると、受信側装置の各々は、見られた通知を識別し、そしてそのような通知が表示されるところのインターフェイスから通知を除去する（ブロック４４０）。又、データ記憶装置３１０は、見られた通知をアクティブな通知のリストから除去するように同期サーバーにおいて更新される。それ故、ユーザの複数の装置の１つにおいて通知が見られたことが決定されると、１つ以上の他のユーザ装置における同じ通知の冗長表示を回避することができる。
【００３９】
ここに示す実施形態では、見られた通知が存在する各ユーザ装置の識別について述べたが（ブロック４２５）、このステップは、厳密には不要である。別の実施形態では、同期サーバーは、通知が存在する装置に関わらず、通知が見られたとの指示を単に全てのユーザ登録装置に送信する。そのような実施形態では、そのような指示を受ける装置は、見られた通知が装置に存在するかどうか（例えば、通知が表示されるところのインターフェイスに存在するかどうか）決定する。もしそうであれば、装置は、通知を、それが別の装置で見られたので、除去することができる。もしそうでなければ、装置は、同期サーバーからの指示を単に無視する。
【００４０】
図５Ａないし５Ｃは、複数のユーザ装置における通知の冗長な表示を回避する種々のメカニズムを示す。先ず、図５Ａを参照すれば、装置１０６Ａ−Ｃの各々のクライアント側アプリケーション２０５は、データサーバー１０４で実行される対応するサーバー側アプリケーション２１０からメッセージを受け取る（５０５）。上述したように、装置１０６Ａ−Ｃの各々に対するクライアント側アプリケーション２０５は、それに対応するサーバー側アプリケーション２１０からの新たな情報をある頻度で検索するように構成される。装置１０６Ａ−Ｃの各々における所定の設定（例えば、通知の設定）に基づいて、クライアント側アプリケーション２０５により検索された情報は、各装置１０６Ａ−Ｃに通知として表示されるべくクライアント側通知サービス２２０へ通される（５１０）。更に上述したように、通知は、クライアント側通知サービス２２０から、同期サーバー１０８において実行されるサーバー側通知サービス２３０へ通信される（５１５）。それ故、サーバー側通知サービス２３０は、各装置１０６Ａ−Ｃに通知が存在することを示すレコードを維持する。動作５０５、５１０及び５１５が一緒にグループ編成されているが、これらの動作は、各特定の装置にとって特有のもので、異なる時間に行われてもよいことに注意されたい。
【００４１】
ある点において、装置１０６Ｂは、アクティブな状態にあり、そして装置１０６Ｂにおいて通知が見られたことが決定される。装置１０６Ｂにおいて通知が見られたとの決定に基づいて、通知が見られたとの指示が、装置１０６Ｂで実行されるクライアント側通知サービス２２０から、同期サーバー１０８で実行されるサーバー側通知サービス２３０へと送信される（５２０）。装置１０６Ｂにおいて通知が見られたとの指示に応答して、サーバー側通知サービス２３０は、各装置１０６Ａ−Ｃに通知が存在することを決定し、そして通知が見られたとの指示を各装置１０６Ａ−Ｃにおけるクライアント側通知サービス２２０へ送信する（５２５）。ここに示す実施形態では、通知が存在する各装置への通信が示されるが、別の実施形態では、装置１０６Ｂが、通知が見られたことを既に知っているので、装置１０６Ｂには指示が送られない。それ故、通知が存在する装置ごとにクライアント側通知サービス２２０の通知インターフェイスから通知が除去され、複数の装置における通知の冗長表示を回避する。
【００４２】
図５Ｂに示す別の実施形態では、クライアント側アプリケーション２０５により情報が検索された結果、図５Ａを参照して述べたのと同様に各装置１０６Ａ−Ｃに通知が発生される。しかしながら、図５Ｂに示す実施形態では、クライアント側通知サービス２２０は、同期サーバー１０８で実行されるサーバー側通知サービス２３０へ通知の存在を通信しない。実際に、同期サーバー１０８は、比較の目的で示されているが、図５Ｂの実施形態では使用されない。
【００４３】
前記と同様に、装置１０６Ｂがアクティブな状態にあり且つ装置１０６Ｂにおいて通知が見られたことが決定される。しかしながら、通知が見られたとの指示を同期サーバー１０８へ送信するのではなく、クライアント側通知サービス２２０は、通知の発生の責任を負うサーバー側アプリケーション２１０へ通知を送信する（５３０）（即ち、通知を生じた情報が検索されたところのサーバー側アプリケーション）。クライアント側通知サービス２２０は、サーバー側アプリケーション２１０へ指示を直接通信するものとして示されているが、その指示は、実際には、クライアント側アプリケーション２０５を通してサーバー側アプリケーション２１０へ中継される。１つの実施形態では、その指示は、サーバー側アプリケーションでユーザのアカウントを識別する情報（例えば、クレデンシャル）を含む。そのような実施形態では、ユーザアカウントは、そのアカウントに関連したユーザ装置（１０６Ａ−Ｃ）のレコードを維持するのに使用される。１つの実施形態では、その指示は、見られた通知に対応するメッセージをサーバー側アプリケーション２１０が識別できるようにするために通知又は通知の識別子を含む。
【００４４】
その指示を受け取るのに応答して、サーバー側アプリケーション２１０は、通知が見られたとの指示を各装置１０６Ａ−Ｃにおける各クライアント側アプリケーション２０５へ送信する（５３５）。１つの実施形態では、通知が見られたとの指示は、各装置１０６Ａ−Ｃへプッシュされる。別の実施形態では、その指示は、（例えば、ある更新スケジュールに基づいて）クライアント側アプリケーション２０５がサーバー側アプリケーションから情報を検索するときに各装置１０６Ａ−Ｃへ通信される。その指示は、次いで、各装置１０６Ａ−Ｃのためのクライアント側アプリケーション２０５から各装置１０６Ａ−Ｃのためのクライアント側通知サービス２２０へ通され（５４０）、クライアント側通知サービス２２０が通知を除去すると共に、複数の装置への通知の冗長な表示を回避するようにさせる。
【００４５】
図５Ｂの実施形態では、サーバー側アプリケーション２１０は、特定のユーザ（又は特定のユーザアカウント）に関連した装置のレコードを維持するという点で、サーバー側通知サービス２３０と同様に機能する。例えば、クライアント側アプリケーション２０５の各インスタンスは、このアプリケーションに関連した情報を通信するためにサーバー側アプリケーション２１０に登録される。それ故、サーバー側アプリケーション２１０は、ユーザのアカウントに関連したクライアント側アプリケーション（及びそれに対応する装置）のリストを有する。しかしながら、サーバー側通知サービス２３０は、複数のソースについての通知（即ち、複数のサーバー側アプリケーションから検索された情報として発信される通知）を管理するが、図５Ｂに示す実施形態のサーバー側アプリケーション２１０は、それが与えた情報に基づいて発生された通知しか管理しない。それ故、サーバー側通知サービス２３０は、グローバルな通知マネージャーとして説明する一方、図５Ｂのサーバー側アプリケーション２１０は、特定用途向け通知マネージャーとして説明する。
【００４６】
図５Ｃに示す更に別の実施形態では、図５Ａで説明したのと同様に、情報が受け取られ（５０５）、通知が発生され（５１０）、通知の存在が通信され（５１５）、そして通知が見られたとの指示が通信される（５２０）。しかしながら、通知が見られたとの指示に応答して、サーバー側通知サービス２３０は、通知を発生されるという指示を、クライアント側通知サービス２２０へ直接送るのではなく、クライアント側アプリケーション２０５へ送る（５４５）。次いで、各装置１０６Ａ−Ｃのためのクライアント側アプリケーション２０５は、通知サービス２２０から通知を除去させる（５５０）。それ故、通知が見られたとの指示をクライアント側通知サービス２２０へ直接通信するのではなく、その指示は、通知を発生させたアプリケーション（即ち、クライアント側アプリケーション２０５）へ通信されて、そのアプリケーションが通知を除去できるようにさせる。図５Ａ−５Ｃの実施形態は、複数の装置における通知の冗長表示を回避するという共通の目標を達成する異なるメカニズムを示す。
【００４７】
図６は、１つの実施形態による例示的な電子装置６００の簡単な機能的ブロック図である。電子装置６００は、プロセッサ６０５、ディスプレイ６１０、ユーザインターフェイス６１５、グラフィックハードウェア６２０、装置センサ６２５（例えば、接近センサ／周囲光センサ、加速度計及び／又はジャイロスコープ）、マイクロホン６３０、オーディオコーデック６３５、スピーカ６４０、通信回路６４５、デジタル画像捕獲ユニット６５０、ビデオコーデック６５５、メモリ６６０、記憶装置６６５、及び通信バス６７０を備えている。電子装置６００は、例えば、パーソナルデジタルアシスタント（ＰＤＡ）、パーソナル音楽プレーヤ、移動電話、ノートブック、ラップトップ又はタブレットコンピュータシステム、デスクトップコンピュータシステム、或いはサーバーコンピュータシステムである。より詳細には、装置１０６、データサーバー１０４、及び同期サーバー１０８は、いずれも、電子装置６００の形態をとる。
【００４８】
プロセッサ６０５は、装置６００により遂行される多数の機能の動作を実施し又はそれを制御するのに必要な命令を実行する。プロセッサ６０５は、例えば、ディスプレイ６１０を駆動し、そしてユーザインターフェイス６１５からユーザ入力を受信する。ユーザインターフェイス６１５は、ボタン、キーパッド、ダイヤル、クリックホイール、キーボード、ディスプレイスクリーン及び／又はタッチスクリーンのような種々の形態をとることができる。又、プロセッサ６０５は、例えば、移動電話に見られるようなシステムオンチップでもよく、専用のグラフィック処理回路（ＧＰＵ）を備えている。プロセッサ６０５は、縮小命令セットコンピュータ（ＲＩＳＣ）又は複合命令セットコンピュータ（ＣＩＳＣ）アーキテクチャー或いは他の適当なアーキテクチャーに基づき、そして１つ以上の処理コアを含む。グラフィックハードウェア６２０は、グラフィックを処理するための特殊目的の計算ハードウェアであり及び／又はグラフィック情報を処理するようにプロセッサ６０５を支援する。１つの実施形態では、グラフィックハードウェア６２０は、プログラム可能なグラフィック処理ユニット（ＧＰＵ）を含む。
【００４９】
センサ・カメラ回路６５０は、静止画像及びビデオ画像を捕獲し、それらは、少なくとも一部分は、ビデオコーデック６５５及び／又はプロセッサ６０５及び／又はグラフィックハードウェア６２０、及び／又は回路６５０内に合体された専用の画像処理ユニットにより処理される。そのように捕獲された画像は、メモリ６６０及び／又は記憶装置６６５に記憶される。メモリ６６０は、装置の機能を遂行するためにプロセッサ６０５及びグラフィックハードウェア６２０により使用される１つ以上の異なる形式の媒体を含む。例えば、メモリ６６０は、メモリキャッシュ、リードオンリメモリ（ＲＯＭ）、及び／又はランダムアクセスメモリ（ＲＡＭ）を含む。記憶装置６６５は、メディア（例えば、オーディオ、画像及びビデオファイル）、コンピュータプログラム命令又はソフトウェア、好みの情報、装置プロフィール情報、及び他の適当なデータを記憶する。記憶装置６６５は、例えば、磁気ディスク（固定、フロッピー及び除去可能な）及びテープ、ＣＤ−ＲＯＭ及びデジタルビデオディスク（ＤＶＤ）のような光学的媒体、並びに電気的にプログラム可能なリードオンリメモリ（ＥＰＲＯＭ）及び電気的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）のような半導体メモリデバイスを含めて、１つ以上の非一時的記憶媒体を含む。メモリ６６０及び記憶装置６６５は、１つ以上のモジュールへと編成され且つ望ましいコンピュータプログラミング言語で書かれたコンピュータプログラム命令又はコードを有形に保持するように使用される。例えば、プロセッサ６０５によって実行されるとき、そのようなコンピュータプログラムコードは、ここに開示する方法の１つ以上を具現化する。
【００５０】
以上の説明は、例示に過ぎず、それに限定されるものではないことを理解されたい。当業者がここに述べる発明の概念を実施して使用することができるように資料が提示され、特定の実施形態のコンテキストにおいて与えられたが、当業者であれば、その変更が容易に明らかであろう（例えば、ここに開示する実施形態の幾つかを互いに組み合わせて使用できる）。当業者が以上の説明を検討すれば、多数の他の実施形態が明らかとなるであろう。それ故、本発明の範囲は、特許請求の範囲及びその等効物から決定されねばならない。特許請求の範囲において、“including”及び“in which”という語は、各々“comprising”及び“wherein”という語の平易英語等効物として使用される。
【符号の説明】
【００５１】
１００：ネットワークアーキテクチャー
１０２：ネットワーク
１０４：データサーバーコンピュータ
１０４Ａ−１０４Ｄ：データサーバー
１０６Ａ−１０６Ｄ：ユーザ装置
１０８：同期サーバー
１１０：ゲートウェイ又はルーター
２０５Ａ：クライアント側ソーシャルネットワークアプリケーション
２０５Ｂ：クライアント側スポーツアプリケーション
２０５Ｃ：クライアント側ｅ−メールアプリケーション
２０５Ｄ：クライアント側天気アプリケーション
２１０Ａ：サーバー側ソーシャルネットワークアプリケーション
２１０Ｂ：サーバー側スポーツアプリケーション
２１０Ｃ：サーバー側ｅ−メールアプリケーション
２１０Ｄ：サーバー側天気アプリケーション
２１５Ａ、２１５Ｂ、２１５Ｃ、２１５Ｄ：通信リンク
２２０：クライアント側通知サービス
２３０：サーバー側通知サービス
３０５：通知
６００：電子装置
６０５：プロセッサ
６１０：ディスプレイ
６１５：ユーザインターフェイス
６２０：グラフィックハードウェア
６２５：装置センサ
６３０：マイクロホン
６３５：オーディオコーデック
６４０：スピーカ
６４５：通信回路
６５０：センサ／カメラ回路
６５５：ビデオコーデック
６６０：メモリ
６６５：記憶装置
６７０：通信バス
【図１】
0005852988.tif 000002
【図２】
0005852988.tif 000003
【図３】
0005852988.tif 000004
【図４】
0005852988.tif 000005
【図５Ａ】
0005852988.tif 000006
【図５Ｂ】
0005852988.tif 000007
【図５Ｃ】
0005852988.tif 000008
【図６】
0005852988.tif 000009