JP5719453B2 - マルチユーザ装置のためのメッセージプッシュ通知クライアントの改良 - Google Patents

マルチユーザ装置のためのメッセージプッシュ通知クライアントの改良 Download PDF

Info

Publication number
JP5719453B2
JP5719453B2 JP2013548443A JP2013548443A JP5719453B2 JP 5719453 B2 JP5719453 B2 JP 5719453B2 JP 2013548443 A JP2013548443 A JP 2013548443A JP 2013548443 A JP2013548443 A JP 2013548443A JP 5719453 B2 JP5719453 B2 JP 5719453B2
Authority
JP
Japan
Prior art keywords
application
server
user
identifier
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013548443A
Other languages
English (en)
Other versions
JP2014503152A (ja
Inventor
ダリル ニール ブロー
ダリル ニール ブロー
グレゴリー ビョルン ヴォーン
グレゴリー ビョルン ヴォーン
ジェフリー トーマス デイヴィー
ジェフリー トーマス デイヴィー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2014503152A publication Critical patent/JP2014503152A/ja
Application granted granted Critical
Publication of JP5719453B2 publication Critical patent/JP5719453B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Description

本発明は、一般的に、データ処理システムに関する。より詳細には、本発明は、マルチユーザ装置のための通知メッセージに関する。
本出願人は、2011年1月5日に出願された同時係争中のプロビジョナル米国特許出願第61/430,126号の優先権の利益を主張し、その全体が参考としてここに援用される。
マルチユーザ装置(例えば、ラップトップ、パルムトップ、移動電話、スマートホン、マルチメディアホン、ポータブルメディアプレーヤ、GPSユニット、移動ゲームシステム、等)のユーザは、通知サービスから通知メッセージを定期的に受信するアプリケーションをインストールしている。例えば、そのようなアプリケーションは、「プッシュ」e−メールサービス(例えば、MobileMe、MicrosoftExchangeActiveSync、push−IMAP、Yahoo!Push、等)又は他のプッシュサービス(例えば、アップデート/アップグレードサービス、ニュースサービス、ウェブログサービス、ポッドキャストサービス、ソーシャルネットワーキングサービス、又は通知メッセージが送信される他の形式のサービス)を含む。通知メッセージは、典型的に、アプリケーションにより典型的に定義される当該イベント(例えば、新規なe−メールインジケータ、新規なニュースアイテムインジケータ、新規なポッドキャストインジケータ、ソーシャルネットワーキングフレンドのオンライン状態の変化、等)を表わす。
通常、通知メッセージは、それに対応する発信サーバー及び受信クライアント装置を識別することによりプッシュサービスを通してルーティングされる。通知メッセージを受信すると、クライアント装置は、特定のユーザのターゲットクライアントアプリケーションへメッセージを配送する。多くの場合に、クライアント装置の1人以上のユーザのための複数のクライアントアプリケーションは、同時に同じ発信サーバーからの通知メッセージを待機する。待機中の各クライアントアプリケーションは、通知メッセージが到着したときに呼び出される。クライアント装置の絶えず増加する数のクライアントアプリケーションをサポートするために発信サーバーに益々多くのサーバーアプリケーションがホストされるにつれて、クライアント装置の貴重な処理リソースが、メッセージ通知の管理のために浪費される。
従って、マルチユーザ装置のメッセージ通知を与える既存のメカニズムは、リソースに負担を掛け、所与のマルチユーザ装置の多数のユーザを考慮せず、及び/又は他の問題を引き起こすことがある。
本発明は、クライアントマルチユーザ装置に通知メッセージを効率的に配送してリソース使用を最小にするために個々のクライアントアプリケーション及び複数のユーザにアドレスすることのできる多レベルのネーミングハイアラーキーを提供することができる。サーバー識別子又はトピックにより識別される共通サーバーにホストされる複数のサーバーアプリケーションは、同じトピックを共有する通知メッセージをクライアント装置へプッシュすることができる。トピックに契約するターゲットクライアントアプリケーションを識別するためにクライアント装置のトピックに対して受信される通知メッセージにサブトピックを埋め込むことができる。
1つの実施形態において、クライアントアプリケーションは、トピックにより識別されるサーバーにおいて実行される対応するサーバーアプリケーションにクライアントアプリケーション識別子をサブトピックとして任意に登録することができる。サブトピックは、クライアントアプリケーションに対する付加的なレベルのネーミングハイアラーキーである。その結果、サーバーにホストされたサーバーアプリケーションからプッシュされる通知メッセージは、トークン及びクライアントアプリケーション識別子を保持し、共有トピックに契約する他のクライアントアプリケーション又は他のユーザを呼び出したりそれに通知したりせずに通知メッセージをクライアントアプリケーションへ直接的にルーティングできるようにする。通知サーバーは、トークンを使用して、メッセージを適当なユーザアカウントへルーティングすることができる。トピックの1つのサーバーによりホストされる個別のサーバーアプリケーションからの複数の通知メッセージは、クライアント装置において同じトピックを有効に且つ効率的に聴取する同じ又は異なるユーザに対して行先である個別のクライアントアプリケーションへマルチプレクスして、受信した通知メッセージを取り扱うのに必要なクライアント装置のリソース使用を最小にすることができる。
1つの実施形態では、マルチユーザクライアント装置内のクライアントアプリケーションを識別するサブトピック識別子を発生するための方法及び装置がここに説明される。クライアントアプリケーションは、1つ以上のアプリケーションサーバーにホストされたサーバーアプリケーションに関連している。クライアントアプリケーションは、クライアントアプリケーションに関連した識別子を転送するために通知サービスをアプリケーションサーバーに登録し、そしてサーバーアプリケーションがクライアントアプリケーションに対して選択的にそのユーザのためのクライアント装置に通知メッセージをプッシュできるようにする。アプリケーションサーバーから通知メッセージを受信するときに、通知メッセージは、その通知メッセージがクライアントアプリケーションのサブトピック識別子を保持する場合に、クライアント装置における他のアプリケーションを呼び出すことなく、クライアントアプリケーションへ直接転送すべきか調査又は検査される。
別の実施形態では、メッセージ通知の登録要求は、クライアント装置で実行されるクライアントアプリケーションから第1のネットワーク接続を経てサーバーアプリケーションにより受け取られる。第1のネットワーク接続は、サーバーアプリケーションをホストするためにサーバー識別子でクライアント装置からアプリケーションサーバーへ最初に確立される。要求は、ユーザ及びクライアント装置を識別するユーザトークンと、クライアントアプリケーションを識別するクライアントアプリケーション識別子とを含む識別子を保持する。サーバー識別子は、クライアント装置がアプリケーションサーバーからプッシュされたメッセージを聴取できるようにクライアント装置へ送信される。1つの実施形態では、要求で保持される識別子は、メッセージ通知についてユーザを登録するために記憶される。アプリケーションサーバーは、クライアントアプリケーションに通知するためにユーザトークンによりクライアント装置に結合されたプッシュネットワークへの第2のネットワーク接続を経てクライアント装置へ通知メッセージを送信又はプッシュする。通知メッセージは、サーバー識別子により識別される。任意であるが、通知メッセージは、クライアント装置が通知メッセージをクライアントアプリケーションへ直接配送できるようにするためにクライアントアプリケーション識別子を保持する。
本発明の他の特徴は、添付図面及び以下の詳細な説明から明らかとなろう。本発明は、同様の要素が同じ参照番号で示された添付図面に一例として示すが、これに限定されるものではない。
メッセージ通知のためのネットワークシステムの1つの実施形態を示すブロック図である。 マルチユーザ装置のユーザアカウントでユーザを識別するのに使用されるエイリアスを含むユーザトークンのブロック図である。 ここに述べる実施形態により通知メッセージを管理するためのマルチユーザ装置の規範的コンポーネントを示すブロック図である。 通知メッセージを与えるためのアプリケーションサーバーの規範的コンポーネントを示すブロック図である。 ここに述べる実施形態によるマルチユーザ装置とアプリケーションサーバーとの間の規範的なメッセージ交換を示すシーケンス図である。 マルチユーザ装置が通知メッセージを識別されたクライアントアプリケーションへルーティングできるようにするためのプロセスの一実施形態を示すフローチャートである。 通知メッセージをユーザトークンに関連したユーザの識別されたクライアントアプリケーションへルーティングするのに使用されるユーザトークンを発生するためのプロセスの一実施形態を示すフローチャートである。 アプリケーションサーバーからアプリケーションクライアントへ通知メッセージを与えるためのプロセスの一実施形態を示すフローチャートである。 ここに述べる実施形態に使用されるデータ処理システムの一例を示す。 ここに述べる実施形態に関連して使用される典型的なコンピュータシステムの一例を示す。
共通のアプリケーションサーバーを聴取するか又はそれに契約することによりマルチユーザ装置の複数のユーザに関連した複数のクライアントアプリケーションの中でターゲットクライアントアプリケーションを識別する通知メッセージのための方法及び装置をここに説明する。以下の記述において、本発明の実施形態を完全に説明するために多数の細部について述べる。しかしながら、当業者であれば、本発明の実施形態は、それらの特定の細部がなくても実施できることが明らかであろう。他の点については、本発明の実施形態を不明瞭にしないために、良く知られた構造及び装置は、詳細に示さず、ブロック図形態で示す。
本明細書において、「1つの実施形態」又は「一実施形態」を言及するときは、その実施形態に関連して述べる特定の特徴、構造又は特性が本発明の少なくとも1つの実施形態に含まれることを意味する。本明細書の種々の場所で「1つの実施形態において」という句が現れたときは、必ずしも、全てが同じ実施形態を指していない。
特に指示のない限り、この説明全体を通して、「処理」又は「コンピューティング」又は「計算」又は「決定」又は「表示」、等の用語を使用する説明は、コンピュータシステムのレジスタ及びメモリ内で物理的(電子的)量として表されたデータを操作し、そしてコンピュータシステムのメモリ又はレジスタ或いは他のそのような情報記憶、伝達又は表示装置内で物理的量として同様に表される他のデータへと変換するデータ処理システム又は同様の電子的コンピューティング装置のアクション及び処理を参照するものである。
ここに述べるアルゴリズム及びディスプレイは、特定のコンピュータ又は他の装置に固有に関係していない。種々の汎用システムを、ここに述べる技術に基づくプログラムと共に使用してもよいし、又は必要なマシン実施方法オペレーションを遂行するように更に特殊な装置を構成するのが便利であると分かっている。種々のこれらシステムに要求される構造は、以下の説明から明らかとなろう。更に、本発明の実施形態は、特定のプログラミング言語を参照して説明しない。ここに述べる本発明の実施形態の教示を具現化するのに種々のプログラミング言語を使用できることが明らかであろう。
本発明の実施形態は、方法として具現化されるか、又はデータ処理システムにより実行されたときにそのシステムが方法を遂行するようにさせる実行可能なインストラクションを記憶するマシン読み取り可能な非一時的記憶媒体として具現化される。データ処理システムのような装置も、本発明の実施形態である。本発明の他の特徴は、添付図面及び以下の詳細な説明から明らかとなろう。
本発明の少なくとも幾つかの実施形態は、ポータブル音楽及び/又はビデオメディアプレーヤのようなデジタルメディアプレーヤの一部分で、これは、メディアを提示するためのメディア処理システムや、メディアを記憶するための記憶装置を含むと共に、アンテナシステム及びメディア処理システムに結合された高周波(RF)トランシーバ(例えば、セルラー電話のためのRFトランシーバ)も含む。ある実施形態では、リモート記憶装置に記憶されたメディアは、RFトランシーバを経てメディアプレーヤに送信される。メディアは、例えば、音楽又は他のオーディオ、静止画又は動画の1つ以上を含む。
ポータブルメディアプレーヤは、タッチスクリーン入力装置、プッシュボタン装置、可動ポインティング入力装置、又は他の入力装置のようなメディア選択装置を含む。メディア選択装置は、記憶装置及び/又はリモート記憶装置に記憶されたメディアを選択するのに使用される。ポータブルメディアプレーヤは、少なくとも幾つかの実施形態では、入力装置を通して選択されて、スピーカ又はイヤホンを通して、又はディスプレイ装置に、或いはディスプレイ装置及びスピーカ又はイヤホンの両方に提示されるメディアのタイトル又は他の指示子を表示するためにメディア処理システムに結合されたディスプレイ装置を含む。
ここに述べる本発明の実施形態は、例えば、娯楽システム又はパーソナルデジタルアシスタント(PDA)、又は汎用コンピュータシステム、又は特殊目的コンピュータシステム、又は別の装置内に埋め込まれた装置、又はメディアプレーヤを含まないセルラー電話、又はそれら装置の観点又は機能を合成する装置(例えば、1つのポータブル装置においてPDA、娯楽システム及びセルラー電話と合成されたiPod(登録商標)のようなメディアプレーヤ)、或いはマルチタッチハンドヘルド装置のようなマルチタッチ入力装置又はマルチタッチ入力装置を伴うセルラーホン及びハンドヘルドコンピュータを含む装置又は消費差向け電子製品、のような他の形式のデータ処理システムの一部分である。
1つの実施形態では、メールサーバー、IMAP(インターネットアクセスメッセージプロトコル)サーバー、カレンダーサーバー、連絡先サーバー、装置管理サーバー、又は他の適用可能なサーバーアプリケーション、のようなサーバーアプリケーションをホストするサーバーは、クライアント装置へ通知を通信するためにサービス当局(例えば、アップル・インク)からプッシュプロバイダー証明書を要求することによりプッシュ能力を維持することができる。クライアント装置において複数のユーザの1人に対応して実行されるクライアントアプリケーションは、クライアント装置からアプリケーションサーバーへ確立された接続を経て対応サーバーアプリケーションをホストするアプリケーションサーバーの能力を問合せる。問合せの結果、アプリケーションサーバーがプッシュサービスを知っているか又はプッシュサービスを提供できることが示されると、クライアントアプリケーションは、サーバーアプリケーションにそれ自身を識別するためにプッシュサービスコマンドを送信することができる。
特に、クライアント装置で実行されるクライアントアプリケーションは、プッシュサービスコマンドにより、ユーザ及びクライアント装置のユーザトークンをサーバーアプリケーションへ提示して、サーバーアプリケーションをホストするサーバーがメッセージ又は通知をクライアント装置の適当なユーザアカウントにプッシュできるようにする。プッシュサービスコマンドに応答して、サーバーアプリケーションは、サーバーからプッシュされたメッセージを受け取るためにクライアント装置が聴いたり見たりできる通知トピック又はサーバーの識別子を識別することができる。
ある実施形態では、クライアントアプリケーションからサーバーアプリケーションへのプッシュサービスコマンドは、対応するアプリケーションのプッシュプロトコルに対するバージョン番号、アカウント識別子、サーバー(例えば、サーバーアプリケーションを実行する)がクライアントアプリケーションをホストする対応するユーザのためのクライアント装置に連絡できるようにするユーザトークン、及び/又はクライアントアプリケーションを識別するサブトピック識別子、のような名前付き値ペア(named value pairs)を含む。アカウント識別子及び/又はサブトピック識別子は、プッシュサービス(又はプッシュサーバー)へ通すべくサーバーに対して不透明のままである。クライアントアプリケーションのためのクライアント装置への通知メッセージは、アカウント識別子及びサブトピック識別子に沿って保持される。
1つの実施形態において、サービスアプリケーションからクライアントアプリケーションへのプッシュサービスコマンドに対する応答は、プッシュプロトコルのバージョン番号及びサーバーアプリケーションをホストするサーバーに関連したトピック識別子を含む名前付き値を含むことができる。トピック識別子は、クライアントアプリケーションを実行しているクライアント装置のユーザに対するユーザアカウントにサーバーが通知メッセージをプッシュできるようにするためにサーバーに対するプロバイダー証明書を登録するのに使用される。ある実施形態では、クライアント装置及びサーバーは、例えば、プッシュサービスコマンド/応答を経てハンドシェーク交換を遂行し、サーバーアプリケーションからクライアントアプリケーションへのメッセージ通知に対するプッシュプロトコルのバージョンをネゴシエーションする(例えば、サーバー及びクライアントの両アプリケーションに対する最高サポートバージョンを識別する)。
1つの実施形態によれば、クライアントアプリケーションのサブトピックは、アプリケーションサーバーに関連したトピックのトップに1つ以上の付加的な間接レベルを与える。例えば、サブトピックは、クライアントアプリケーションをターゲットとする通知メッセージを指令する。クライアントアプリケーションは、トピック及びサブトピック対について登録する。或いは又、クライアントアプリケーション及びアプリケーションサーバーは、サブトピックベースのメカニズムを経て緊密に結合されない。複数の(クライアント)アプリケーションは、トピックにおける共通のサブトピックに対して登録することができる。更に、クライアントアプリケーションは、1人以上のユーザについてサブトピックを登録することができる。
サブトピックは、登録のためにクライアントアプリケーションからサーバーアプリケーションへ転送される。ある実施形態では、名前付けハイアラーキーのサブトピック又は他のレベルが、クライアントアプリケーションによりサブトピックを転送する必要なく、サーバーアプリケーションに対するクライアントアプリケーションについて登録される。
説明上、1つの実施形態によれば、連絡先アプリケーション、カレンダーアプリケーション、及びワードアプリケーションは、アプリケーションのオフィススイートに属する。連絡先アプリケーションは、1人以上のユーザに対する一般的なトピック「オフィス」のもとでサブトピック「連絡先」を登録する。カレンダーアプリケーションは、連絡先アプリケーションに関しては、厳密に同じサブトピック(即ち「連絡先」)及びトピックペア(即ち「連絡先」及び「オフィス」)について登録するように選択を行い、良好な、より最新の使用経験を与え、例えば、誕生日を追加する。しかしながら、ワードアプリケーションは、サブトピック「連絡先」について登録を行わずに一般的なトピック「オフィス」のもとで登録を行う。従って、サブトピックでの登録は、特定のアプリケーションについて(又はそれをターゲットとして)必ずしも1対1のマッピングを実施しない。サーバーは、サブトピック情報を知るか又はクライアントと共有する必要がない。例えば、サーバーは、連絡先データの変更を特定のサブトピック、例えば、「連絡先」に関連付け、そしてプッシュプロトコルに対するサブトピックを固有のメカニズムとして使用する。
別の例として、連絡先アプリケーションは、マルチユーザ装置の各ユーザの個別のインスタンスに対する通知について登録を行う。この例では、連絡先アプリケーションは、マルチユーザ装置のユーザ1、ユーザ2、・・・ユーザNについて個別の通知要求を登録する。このため、ユーザ1は、連絡先アプリケーションのユーザ1のユーザの通知を得ることを希望するが、ユーザ2、・・・ユーザNに関連した連絡先アプリケーションに対する通知は希望しない。
図1Aは、メッセージ通知のためのネットワークシステムの一実施形態を示すブロック図である。ネットワークシステム100は、ネットワーク107を経てマルチユーザ装置109のような1つ以上の装置(例えば、パーソナルコンピュータ、ラップトップ、テーブル、スマートホン、ゲーム装置、等)に結合されたアプリケーションサーバー101のような1つ以上のサーバー(又はホスト)、ブリッジ119、通知サーバー105、例えば、APNサーバーを備えている。1つの実施形態において、ネットワーク107は、オープンインターネット、イントラネット、ファイアウオール保護安全ネットワーク、ワイドエリアセルラーネットワーク(例えば、3Gネットワーク)、等を経て、通知サーバー105、マルチユーザ装置109、及び/又はアプリケーションサーバー101間をネットワーク接続できるようにする(例えば、プッシュ通知を送信するために)。ネットワーク107は、ワイヤード、ワイヤレス(Wi−Fi、Bluetooth(登録商標)、等)、又はその両方の組み合わせである。
1つの実施形態によれば、アプリケーションサーバー101は、1つの単一のサーバー装置を含むか、或いはローカル又はリモート分散サーバー装置のクラスターを含む。アプリケーションサーバー101は、マルチユーザ装置109のようなクライアント装置で実行される対応するクライアントアプリケーションにサービスするサーバーアプリケーション117のような1つ以上の個別のサーバーアプリケーションをホストする。サーバーアプリケーションは、メールサーバー、カレンダーサーバー、連絡先サーバー、装置管理サーバー又は他の適用可能なサーバーアプリケーションを含む。1つの実施形態では、アプリケーションサーバー101は、マルチユーザ装置109へ通知メッセージをプッシュ又は送信するために通知サーバー105からの証明書を登録する。登録は、トピック103を、アプリケーションサーバー101を識別する識別子(例えば、登録された証明書に含まれた)として指定する。マルチユーザ装置109は、マルチユーザ装置109にアカウントをもつ1人以上のユーザに対して通知サーバー105により与えられるアップル・インクからのAPNサービスのようなプッシュサービスを経てアプリケーションサーバー101から発信するメッセージについてトピック103を聴取する。
1つの実施形態において、アプリケーションサーバー101は、ブリッジ119を通してプッシュ通知を送信する。1つの実施形態において、ブリッジ119は、プッシュ通知を1つのフォーマットから別のフォーマットに変換するのに使用される。この実施形態では、ブリッジ119は、通知サーバー105からプッシュ通知要求を受け取り、そしてそのプッシュ通知要求を、アプリケーションサーバー101が満足できるプロトコルへ変換することにより、マルチユーザクライアント109のプロキシーとして働く。更に、アプリケーションサーバー101は、アプリケーションサーバーにより使用されるネーティブプロトコルにおいてマルチユーザクライアント109に向けられるプッシュ通知を送信する。ブリッジ119は、このプッシュ通知を受け取り、そしてその通知を、マルチユーザクレイムに適したフォーマットへ変換する(例えば、アップルプッシュ通知(APN)サービス、等)。例えば、1つの実施形態では、アプリケーションサーバー101は、プッシュ通知要求を受け取り、そして拡張性メッセージング及び存在プロトコル(XMPP)を使用してプッシュ通知を送信し、又、マルチユーザクライアント109は、異なるプロトコル(例えば、APNプロトコル、等)を使用してプッシュ通知(プッシュ通知要求)を受信(送信)する。
1つの実施形態において、ブリッジ119は、アプリケーションサーバー101からのプッシュ通知に契約するマルチユーザクライアント及び/又はシングルユーザクライアントからのユーザのリストを維持する。この実施形態では、アプリケーションサーバー101は、ブリッジ119が1人以上のユーザであるかのようにブリッジ119と相互作用する。次いで、ブリッジ119は、ユーザのためのプッシュ通知を満足するためにマルチユーザ装置109及び/又はシングルユーザクライアントの対応ユーザアカウントと相互作用する。
1つの実施形態では、マルチユーザ装置109は、1つ以上のユーザアカウント114A−Bをホストする。1つの実施形態では、マルチユーザ装置109は、2つのユーザアカウントと共に示されているが、別の実施形態では、マルチユーザ装置109は、ユーザアカウントがそれより少なくても多くてもよい。1つの実施形態では、ユーザは、マルチユーザ装置109を使用する個人である。ユーザは、ユーザアカウントでマルチユーザ装置109を使用することができる。1つの実施形態では、ユーザアカウントは、そのユーザに対してマルチユーザ装置109をカスタマイズするのに使用される。例えば、1つの実施形態では、ユーザは、ユーザアカウントを使用して、ユーザのファイルシステム環境、デスクトップ、アプリケーション、等に対して特定の設定を生成する。この実施形態では、ユーザは、ユーザアカウントを使用して、そのユーザによる特定の使用についてアプリケーションを設定する。例えば、1つの実施形態において、ユーザ1は、ユーザ1がユーザ1のe−メールは見るが、他のユーザのものは見ないように、メールアプリケーションを設定する。
別の実施形態では、マルチユーザクライアント109が使用する同じプロトコルで通信するアプリケーションサーバー101について、アプリケーションサーバー101は、ブリッジ119を通らずに、プッシュ通知を通信する。
1つの実施形態において、マルチユーザ装置109は、アプリケーション111A−Bを含む複数のクライアントアプリケーションをホストすることができる。1つの実施形態では、各ユーザ1114A−Bは、通知サーバー105と共に使用できる1つ以上のアプリケーション111A−Bに関連している。クライアントアプリケーションとは、それに対応するサーバーアプリケーションによりサービスされるメールアプリケーション、カレンダーアプリケーション、連絡先アプリケーション、装置管理アプリケーション、又は他の適用可能なクライアントアプリケーションである。マルチユーザ装置109は、例えば、通知サーバー105を経てプッシュサービスに登録し、マルチユーザ装置109がアプリケーションサーバー101のようなサーバーからプッシュサービスを経てプッシュされたメッセージを受信できるようにするための装置トークン115を得る。装置トークン115は、プッシュサービスを経て通知メッセージをルーティングするためにマルチユーザ装置109を識別し及び/又は承認する。更に、サブトピック113A−Bは、マルチユーザ装置109のユーザアカウント114A−Bインスタンスごとに発生され、装置における異なるクライアントアプリケーション及び/又はユーザの中でアプリケーション111A−Bを独特に識別する。更に、マルチユーザ装置109は、各ユーザ116A−Bに対してユーザトークン114A−Bを各々要求する。1つの実施形態では、ユーザトークン114A−Bは、プッシュ通知に対してユーザ116A−Bを独特に識別するのに使用される。
1つの実施形態において、アプリケーション111A−Bは、各ユーザトークン114A−B及びサブトピック113A−Bをアプリケーションサーバー101のための対応するサーバーアプリケーション117へ転送し、通知メッセージをマルチユーザ装置109へプッシュする。次いで、アプリケーションサーバー101は、アプリケーションサーバー101からプッシュされた通知メッセージを受信するためにマルチユーザ装置109が聴取すべきトピック103で応答する。通知メッセージは、他のクライアントアプリケーションを呼び出したり装置の他のユーザアカウントに通知したりせずにサブトピック113A−B及び/又はユーザトークン114A−Bによって識別されたユーザ116A−B及びアプリケーション111A−Bの組み合わせへマルチユーザ装置109がメッセージを直接配送できるようにするためにサブトークン113A−B及び/又はユーザトークン114A−Bを埋め込む。
図1Bは、マルチユーザ装置のユーザアカウントでユーザを識別するのに使用されるエイリアスを含むユーザトークン114Aのブロック図である。図1Bにおいて、ユーザトークン114Aは、装置識別子130と、ゾーン情報134と、エイリアス136と、パッディングデータ138とを含む。装置識別子130は、マルチユーザ装置109を識別するのに使用される、この技術で知られた識別子である。装置識別子130をユーザトークン114Aに含ませることにより、ユーザ116Aは、マルチユーザ装置109に関連付けられる。1つの実施形態において、装置識別子134は、装置トークン115に使用される同じ識別子である。装置識別子は、装置証明書、ハードウェア識別子、この技術で知られた他の装置識別データ、及び/又はその組み合わせ、等である。
1つの実施形態において、ゾーン情報134は、ユーザ116Aを通知システムの特定のゾーンに関連付ける識別子である。1つの実施形態において、ゾーンは、通知システムの区分であり、通知システムは、1つ以上のゾーンで形成され、そして同じゾーン内の各通知クライアント(例えば、マルチユーザ装置109、他の通知クライアント、等)は、そのゾーンの1つ以上の通知サーバーにより取り扱われる。1つの実施形態において、通知サーバー105は、ゾーン情報を使用して、そのゾーンを取り扱う適当な通知サーバーにプッシュ通知を転送する。例えば、1つの実施形態において、通知サーバー105がゾーン1のプッシュ通知を処理し、そしてこの通知サーバーがアプリケーションサーバー109からゾーン2のプッシュ通知を受け取る場合に、通知サーバー105は、ゾーン2のプッシュ通知を取り扱う別の通知サーバー(図示せず)へこのプッシュ通知を転送する。
更に、ユーザトークン116Aは、エイリアス136を含む。1つの実施形態において、エイリアス136は、マルチユーザ装置のユーザを識別するのに使用される。この実施形態では、ユーザごとに独特のエイリアスがあり、そしてそれに対応するユーザアカウントがマルチユーザマシン109に存在する。例えば、1つの実施形態において、マルチユーザ装置では、2つのユーザアカウントがある場合に、2人のユーザの各々に対して独特のエイリアスがある。エイリアス136は、ランダム数、ユーザ証明書から導出された列挙された数、等である。1つの実施形態では、エイリアス136は、ユーザトークン116Aにおける4バイトフィールドである。1つの実施形態では、エイリアス136は、ユーザアカウントを表わすのに使用される装置のエイリアスであり、そしてプッシュ通知の装置識別子に代わるユーザである。
更に、ユーザトークン116Aは、パッディングデータ138を含む。1つの実施形態では、パッディングデータ136は、トークン116Aの使用にとって重要でないデータで、トークン116A内のスペースを埋め、及び/又はトークン116A内のスペースを将来の使用のために予約するのに使用される。
図2は、ここに述べる実施形態により通知メッセージを管理するためのマルチユーザ装置109の規範的コンポーネントを示すブロック図である。例えば、マルチユーザ装置109は、複数のユーザ116A−Bに対して図1Aのネットワークシステム100を経てプッシュサービスについて登録する。1つの実施形態では、通知管理モジュール201は、マルチユーザ装置109内にプッシュサービスのためのフレームワークを与える。通知管理モジュール201は、サービス(例えば、プッシュサービス)接続プロセス中に装置トークン115を受け取り、プッシュサービスを経てプッシュされた通知メッセージを受け取ることが証明され又は信頼されたものとしてマルチユーザ装置109を識別する。更に、通知管理モジュール201は、サービス(例えば、プッシュサービス)接続プロセス中にユーザトークン114A−Bを受け取り、プッシュサービスを経てプッシュされた通知メッセージを受け取ることが証明され又は信頼されたものとしてユーザ116A−Bを各々識別する。1つの実施形態では、通知管理モジュール201は、プッシュサービスからプッシュされたメッセージがマルチユーザ装置109のユーザ116A−Bに向けられるかどうかを、メッセージがユーザトークン114A−Bに一致するか又はそれを含むかに基づいて決定する。
1つの実施形態によれば、通知管理モジュール201は、例えば、アプリケーション111A−Bからの要求に応答して、1つ以上のサブトピック113A−Bを、マルチユーザ装置109内のアプリケーション111A−Bを識別するクライアントアプリケーション識別子として発生する。アプリケーション111A−Bは、図1のサーバーアプリケーション117のような対応するサーバーアプリケーションからのメッセージ通知を受信するために、サブトピック113A−B及びそれに対応するユーザトークン114A−Bを登録のために転送する。1つの実施形態では、アプリケーション111A−Bは、通知管理モジュール201を経て、図1のトピック103のようなトピックに契約し又はそれを聴取する。マルチユーザ装置109の2つ以上のアプリケーション111A−Bは、共通のトピックを登録し又はそれに契約する。更に、マルチユーザ装置109の異なるユーザ114A−Bにより使用されるアプリケーション111A−Bは、共通のトピックを登録し又はそれに契約する。通知管理モジュール201は、どのトピックがどのアプリケーション及びどのユーザにより現在契約されているか指示するトピック契約データを契約プロフィール203に記憶する。1つの実施形態では、通知管理モジュール201は、各ユーザトークン116A−Bに対して異なる契約プロフィール302を有する。この実施形態では、マルチユーザ装置109は、異なる契約プロフィールを、そのユーザトークン116A−Bに対応するユーザ114A−Bに各々関連付ける。
プッシュサービスを経てプッシュされた通知メッセージを受け取ると、通知管理モジュール201は、到着する通知メッセージからトークンを抽出して、その通知メッセージがマルチユーザ装置109に向けられたものであるかどうか、例えば、トークンとユーザトークン116A又は116Bとの間の一致に基づいて、決定することができる。通知管理モジュール201は、受け取った通知メッセージからトピックを識別し、契約プロフィール203に基づいて、その受け取った通知メッセージでどのクライアントアプリケーション及びどのユーザアカウントを通知すべきか識別する。任意であるが、通知管理モジュール201は、これもその受け取った通知メッセージに含まれたトピックに契約している他のアプリケーションを呼び出したり又は通知したりすることなく、サブトピック113A−Bにより識別されるアプリケーション111A−Bのようなサブトピックストリングにより識別されたクライアントアプリケーションにその受け取った通知メッセージを直接配送するために、その受け取った通知メッセージがサブトピック(例えば、ストリング)を保持するかどうか決定する。
1つの実施形態において、通知管理モジュール201は、異なるユーザ114A−Bの各々に対してホワイトリスト及び/又はブラックリストを維持する。この実施形態では、ホワイトリストとは、移動装置のユーザが通知メッセージの受信を希望するところのインストールされたアプリケーションに対応するアプリケーション識別子のリストである。更に、ブラックリストとは、移動装置のユーザが通知メッセージの受信を希望しないところのインストールされたアプリケーションに対応するアプリケーション識別子のリストである。ホワイトリスト/ブラックリストの維持及び使用は、参考としてここに援用する2009年2月24日に出願された“Managing Notification Messages”と題する米国特許出願第12/392,679号に説明されている。
図3は、通知メッセージを与えるためのアプリケーションサーバーの規範的コンポーネントを示すブロック図である。例えば、アプリケーションサーバー101は、図1のネットワークシステム100にわたり通知サーバー105を経てクライアント装置に通知メッセージをプッシュする。1つの実施形態において、通知モジュール301は、プッシュサービスの当局から受け取られた証明書の一部分としてアプリケーションサーバー101を識別するためトピック103を受け取る。サーバーアプリケーション117は、例えば、通知モジュール301から検索されたトピック103を、図1の移動クライアント109のようなクライアント装置へ送り、クライアント装置がアプリケーションサーバー101からプッシュされたメッセージを聴取できるようにする。
1つの実施形態において、通知サービスレジストリ303は、アプリケーションサーバー101にホストされるサーバーアプリケーション117又は他のサーバーアプリケーションからのメッセージ通知に対して登録されたクライアント装置から受け取られたユーザトークン及び関連データを記憶する。通知サービスレジストリ303は、アプリケーションサーバー101にローカル又はリモート結合されたメモリ又は大量記憶装置に基づく。1つの実施形態では、通知サービスレジストリ303のユーザトークンは、メッセージ通知について登録するためにクライアントアプリケーションから転送されたサブトピックのようなデータに関連している。関連データは、アプリケーションサーバー101及び/又は通知サーバー105に対して不透明のままである。例えば、関連データを記憶し、検索し、除去し及び/又は転送する以外、それらのデータについてアプリケーションサーバー101に処理リソースが割り当てられない。ユーザトークンにより識別されたクライアント装置へ通知メッセージをプッシュするときに、サーバーアプリケーション117は、ユーザトークンを、それに関連したデータ及びトピック103と一緒に、例えば、通知モジュール301を経て通知サーバー105へ転送する。
ユーザトークンと装置トークンとの間マッピングを維持するために、通知サーバー105は、どのエイリアスがどの装置に関連しているかのリストを維持する。1つの実施形態では、通知サーバー105は、複数のエイリアスを識別子リスト300の装置に関連付ける。1つの実施形態では、識別子リスト300のエイリアスは、図2において上述したエイリアス136である。例えば、1つの実施形態では、通知サーバー105は、エイリアス304A−Nを装置トークン302Aに、そしてエイリアス306A−Nを装置トークン302Bに関連付ける。1つの実施形態では、通知サーバー105は、異なるユーザアカウントにより使用中のアプリケーションが、プッシュ通知に契約する要求を送信するときに、ユーザトークンを処理することによりこのリストを維持する。例えば、1つの実施形態では、通知サーバー105は、アプリケーションがプッシュ通知に契約することを要求するときに装置識別子を含むユーザトークンを受け取る。この実施形態では、通知サーバーは、ユーザトークンからエイリアス及び関連装置識別子を抽出し、そして必要に応じて、識別子リスト300を更新する。
図4は、ここに述べる実施形態によるマルチユーザ装置とアプリケーションサーバーとの間の規範的なメッセージ交換を示すシーケンス図である。1つの実施形態では、マルチユーザ装置109、アプリケーションサーバー101及び通知サーバー105は、図1のネットワーク107を経て互いに結合される。マルチユーザ装置109は、メッセージ通知アプリケーションサーバー101について登録する前に、例えば、インスタンス401の前に、図1のユーザトークン114A又は114Bのようなユーザトークンを、例えば、プッシュサーバーから通知サーバー105を経て受け取る。アプリケーションサーバー101は、通知サーバー105のようなプッシュサーバーへの接続を確立するためにアプリケーションサーバー101を許可する証明書をプッシュサービスの安全当局から受け取る。受け取った証明書は、アプリケーションサーバー101を識別するための図1のトピック103のようなトピックをストリングとして含む。
1つの実施形態では、マルチユーザ装置109のクライアントアプリケーション、例えば、メールは、サーバーアプリケーションからのメッセージ通知について登録するためにアプリケーションサーバー101においてホストされる対応するサーバーアプリケーション、例えば、IMAPサーバーとのネットワーク接続を開始する。シーケンス401において、クライアントアプリケーションは、どの能力がサーバーアプリケーションによりサポートされるか問合せする問合せ要求を送信するためにマルチユーザ装置109とアプリケーションサーバー101との間のネットワーク接続を開始する。それに応答して、シーケンス403において、サーバーアプリケーションは、例えば、XAPPLEPUSHSERVICE指示子を含むプロトコルに基づき、プッシュオプションの利用性を示す指示子で回答する。
次いで、シーケンス405において、クライアントアプリケーションは、メッセージプッシュ又は通知について登録するためにマルチユーザ装置109からアプリケーションサーバー101へコマンドを送信する。コマンドは、サーバーアプリケーションがマルチユーザ装置109、ユーザアカウント(例えば、ユーザトークン)及び/又はクライアントアプリケーションをアドレスできるようにするために名前又は識別子を伴うパラメータを含む。1つの実施形態において、パラメータは、マルチユーザ装置109のユーザトークンを含む名前付きの値に基づく。任意であるが、パラメータは、マルチユーザ装置109内のクライアントアプリケーションが独特に所有するサブトピック、例えば、“com.apple.mobilemail”を含んでもよい。シーケンス407において、アプリケーションサーバーは、アプリケーションサーバー101を識別するトピックで回答する。トピックとは、複数のサーバーにより共有されるプッシュサービスを経てアプリケーションサーバー101からプッシュされるメッセージを識別するのに使用できるストリング、例えば、“com.google.push”である。マルチユーザ装置109とアプリケーションサーバー101との間のメッセージ通知を登録するために確立された同じネットワーク接続を経て付加的なアプリケーション特有のトランザクションが交換される。このネットワーク接続は、マルチユーザ装置109がアプリケーションサーバー101からの通知を待機する間に切断される。
その後、サーバーアプリケーションは、例えば、特定のユーザに対してIMAPサーバーに新たなメールが到着する等の、あるアプリケーション特有のイベントの発生に応答して、マルチユーザ装置109へプッシュされるべき通知メッセージを発生する。サーバーアプリケーションは、通知メッセージをユーザトークンでパッケージし、そして例えば、マルチユーザ装置109に対して登録された(又は記憶された)クライアントアプリケーションのサブトピックを含めて、ユーザトークンに関連したデータを通過させる。シーケンス409において、アプリケーションサーバー101は、アプリケーションサーバー101を識別するトピックを伴う通知メッセージを、通知サーバー105を経てマルチユーザ装置109へ送信する。次いで、シーケンス411において、通知サーバー105は、プッシュネットワークサービスを経てマルチユーザ装置109へ通知メッセージをプッシュする。
通知メッセージが到着すると、マルチユーザ装置109は、当該クライアントアプリケーション及びユーザアカウントへメッセージを転送する前にメッセージのトピック及び/又はユーザトークンを検証する。マルチユーザ装置109は、検証が失敗した(例えば、トピックが契約されず及び/又はユーザトークンがローカルユーザトークンに一致しない)場合にはメッセージを無視する。任意であるが、マルチユーザ装置109は、通知メッセージのペイロードからサブトピックを抽出して、通知メッセージを、トピックに契約している他のアプリケーションへ転送せずに、サブトピックにより名前付けされたクライアントアプリケーションのみに配送してもよい。マルチユーザ装置109は、クライアントアプリケーションがスリープ状態にあるか又は通知メッセージを受信するように現在実行されていない場合には、そのユーザアカウントに対してクライアントアプリケーションを呼び出す。次いで、シーケンス413において、クライアントアプリケーションは、アプリケーションサーバー101における対応するサーバーアプリケーションとの接続を開始し、アプリケーション特有のトランザクション(例えば、対応するユーザのためのメールメッセージを検索する)。
図5Aは、マルチユーザ装置が通知メッセージを識別されたクライアントアプリケーションへルーティングできるようにするためのプロセス500の一実施形態を示すフローチャートである。規範的なプロセス500は、ハードウェア(回路、専用ロジック、等)、ソフトウェア(専用マシンで実行されるような)、又はその組み合わせを含む処理ロジックによって遂行される。例えば、プロセス500は、図1のシステム100の幾つかのコンポーネントにより遂行される。ブロック501において、プロセス500の処理ロジックは、ユーザトークンにより識別されるクライアント装置に存在するクライアントアプリケーションのためのアプリケーション識別子(例えば、サブトピック)を発生することができ、クライアントアプリケーションは、サーバー識別子(例えば、トピック)によって識別された1つ以上のアプリケーションサーバーによりホストされるサーバーアプリケーションとのトランザクションを遂行する。
ブロック503において、1つの実施形態では、プロセス500の処理ロジックは、クライアントアプリケーションに対するアプリケーションサーバーからのメッセージ通知サービスを登録する。プロセス500の処理ロジックは、クライアントアプリケーションに関連した識別子(例えば、クライアントアプリケーション識別子のためのサブトピック、及びクライアント装置のユーザのためのユーザトークンを含む)を、アプリケーションサーバーにおいてホストされるサーバーアプリケーションへ転送して、サーバーアプリケーションが通知メッセージをクライアントアプリケーション及びそれに対応するユーザのためにクライアント装置にプッシュできるようにする。
ブロック505において、アプリケーションサーバーから通知メッセージを受け取るのに応答して、プロセス500の処理ロジックは、通知メッセージがアプリケーション識別子を保持するかどうか決定する。1つの実施形態では、プロセス500の処理ロジックは、通知メッセージからトークン及びトピックを抽出して(例えば、名前付きの値に基づいて)、通知メッセージがマルチユーザ装置により受信されることが意図されているかどうか検証する。1つの実施形態では、プロセス500の処理ロジックは、通知メッセージのペイロードからのアプリケーション識別子、例えば、サブトピックを識別する。
アプリケーション識別子又はサブトピック及びユーザトークンのエイリアスが識別された場合には、ブロック507において、プロセス500の処理ロジックは、トピックと契約する他のアプリケーション又は通知メッセージの他のユーザ(それらユーザがクライアントアプリケーションを使用するかどうかに関わらず)へ通知メッセージを転送することなく、エイリアスで識別されたユーザに対してサブトピックにより識別されるクライアントアプリケーションへ通知メッセージを転送する。プロセス500の処理ロジックは、複数のクライアントアプリケーションの中でサブトピックにより識別されるクライアントアプリケーションを選択すると共に、クライアント装置においてトピックに契約する適当なユーザに対してクライアントアプリケーションを選択する。さもなければ、通知メッセージにサブトピックが見つからない場合には、プロセス500の処理ロジックは、クライアントアプリケーションのトピック及び/又は各ユーザと契約する各クライアントアプリケーションへ通知メッセージを転送して、通知メッセージを処理すべきかどうか決定する(例えば、メッセージに保持されたコンテンツに基づいて)。
図5Bは、通知メッセージをユーザトークンに関連したユーザに対する識別クライアントアプリケーションへルーティングするのに使用されるユーザトークンを発生するためのプロセスの一実施形態を示すフローチャートである。規範的なプロセス500は、ハードウェア(回路、専用ロジック、等)、ソフトウェア(専用マシンで実行されるような)、又は両方の組み合わせを含む処理ロジックによって遂行される。例えば、プロセス500は、図1Aのシステム100の幾つかのコンポーネント(例えば、マルチユーザクライアント109)により遂行される。ブロック552において、プロセス500の処理ロジックは、プッシュ通知要求を受け取る。1つの実施形態において、通知管理モジュール201は、図2において上述したように、クライアントアプリケーション111A又は111Bからプッシュ通知要求を受け取る。この実施形態では、プッシュ通知要求は、ユーザからのクライアントアプリケーションからのものである。1つの実施形態において、プッシュ通知要求は、どのクライアントアプリケーション及びユーザがプッシュ通知を要求しているか識別する。
1つの実施形態において、プッシュ通知要求は、次のもの、即ち装置トークン、ユーザトークン、及び/又はユーザ証明書、の1つ以上を含む。例えば、1つの実施形態では、装置トークンは、プッシュ通知システムに対して装置を識別する装置トークン115であり、そしてユーザトークンは、プッシュ通知システムに対してユーザを識別するのに使用されるユーザトークン116Aであり、図1A−2について上述したようにそのユーザに対するエイリアスを含む。
ブロック554において、プロセス500は、要求に証明書が含まれているかどうか決定する。1つの実施形態では、証明書は、要求を作成するユーザを識別するのに使用されるパブリックキー証明書である。又、証明書は、ユーザのアイデンティティ(AppleID、MobileMe ID、この分野で知られている他の証明書、等)に基づくものである。要求に証明書が含まれない場合には、ブロック556において、プロセス550は、証明書を発行する。1つの実施形態では、プロセス500は、第三者の証明書発行サービスから証明書を検索することにより証明書を発行する。1つの実施形態では、適当な証明書当局が証明書に署名する。1つの実施形態では、証明書を使用して、ユーザのエイリアスが発生される(例えば、図1について上述したユーザトークン116Aの一部分であるエイリアス136)。
プッシュ通知要求に証明書が含まれる場合には、プロセス550は、ブロック558において、プッシュ通知システムに接続する。1つの実施形態では、プロセス550は、プッシュ通知接続コマンドを通知サーバー105へ送信する。プッシュ通知接続を送信することにより、プロセス550は、プロセス550がユーザのための通知及びユーザに関連したクライアントアプリケーションを受信する準備ができたことを通知システムに信号する。
ブロック560において、プロセス560は、プッシュ通知システムから装置トークンを検索しそして記憶する。1つの実施形態では、プロセス500は、図2について上述したように、通知サーバー105から装置トークンを検索しそしてその装置トークンを契約プロフィール203に記憶する。1つの実施形態では、通知サーバー105に接続するマルチユーザ装置109の最初のインスタンスに装置トークンが生成される。
プロセス550は、ブロック562において、プッシュ通知要求にユーザトークンが含まれるかどうか決定する。1つの実施形態では、プッシュ通知要求に対してユーザトークンが利用できる場合には、要求側プロセスが、図1Bについて述べたユーザトークン116Aのようなユーザトークンをプッシュ通知要求に挿入する。プッシュ通知要求にユーザトークンが含まれない場合には、プロセス550は、ブロック564において、ユーザトークンをフェッチする。1つの実施形態では、プロセス550は、ユーザトークンをフェッチするためにプッシュ通知接続存在コマンドを通知サーバーへ送信する。それに応答して、通知サーバーは、適当なユーザトークン(例えば、ユーザトークン116A)を要求側プロセス(例えば、プロセス550)へ送信する。この実施形態では、接続存在コマンドは、装置及び装置に関連したユーザがオンラインでありそしてプッシュ通知を受け取る準備ができたことをプッシュ通知サーバーに信号する。1つの実施形態では、プロセス550は、ユーザがマルチユーザ装置にログインするか、又はマルチユーザ装置が1ユーザ装置又はデフォールトユーザを伴う多ユーザ装置に対してブートアップするときに、プッシュ通知接続存在コマンドを送信する。ユーザトークンが要求に含まれる場合には、プロセス550は、ブロック566において、ユーザトークンをイネーブルする。1つの実施形態では、プロセス550は、トークンが生成されるときにユーザトークンをイネーブルする。
図6は、アプリケーションサーバーからアプリケーションクライアントへ通知メッセージを与えるためのプロセスの一実施形態を示すフローチャートである。規範的なプロセス600は、ハードウェア(回路、専用ロジック、等)、ソフトウェア(専用マシンで実行されるような)、又は両方の組み合わせを含む処理ロジックによって遂行される。例えば、プロセス600は、図1のアプリケーションサーバー101のようなシステム100の幾つかのコンポーネントにより遂行される。ブロック601において、プロセス600の処理ロジックは、アプリケーションサーバーにおいてホストされるサーバーアプリケーションからのメッセージ通知に対してクライアント装置のクライアントアプリケーションから登録要求を受け取る。登録要求は、クライアント装置及び/又はユーザのための識別子(例えば、ユーザトークン)と、任意であるが、クライアントアプリケーションのための付加的な識別子(例えば、サブトピック)とを含む。
ブロック603において、プロセス600の処理ロジックは、アプリケーションサーバーを識別するサーバー識別子(例えば、トピック)をクライアント装置へ送信して、クライアント装置が、アプリケーションサーバーから通知された(又はプッシュされた)メッセージを聴取できるようにする。1つの実施形態では、プロセス600の処理ロジックは、ブロック605において、クライアント装置に対する通知メッセージをアドレスするために装置識別子及びプッシュサービスのエイリアスを含む識別子を記憶する。例えば、1つの実施形態では、サーバーは、図3について上述した識別子リスト300のような識別子リストに装置識別子及びそれに対応するエイリアスを記憶する。記憶される識別子は、通知メッセージを受け取るためにクライアント装置のクライアントアプリケーションを識別するサブトピックを含む。
1つの実施形態では、ブロック607において、プロセス600の処理ロジックは、クライアントアプリケーションをホストするクライアント装置のユーザのための記憶された識別子に基づいてメッセージを受信するために登録されたクライアントアプリケーションの通知メッセージを発生する。例えば、通知メッセージは、クライアントアプリケーションに関連したアカウントに関するサーバーアプリケーションにおけるイベントの発生、例えば、新たなメールメッセージの到着、チャット要求、スケジュール更新、又は他の適用可能なイベント、を指示する。通知メッセージは、通知メッセージを受信するクライアント装置及びユーザを識別するユーザトークンと、クライアントアプリケーションを識別するサブトピックを含むペイロードと共にパッケージされる。ブロック609において、プロセス600の処理ロジックは、発信側アプリケーションサーバーを識別するトピックを含む通知メッセージを、プッシュサービスを経てクライアント装置へ送信する。通知メッセージは、クライアントアプリケーションを識別するためにメッセージのペイロードに埋め込まれたサブトピックを保持する。その後、ブロック611において、プロセス600の処理ロジックは、サーバーアプリケーションと共にクライアントアプリケーションから確立されたネットワークセッションを経てアプリケーション特有のトランザクションを遂行する。
ブロック613において、プロセス600の処理ロジックは、クライアントアプリケーション、ユーザ及び/又はクライアント装置への通知メッセージの送信をストップするための条件が満足されたかどうか決定する。サーバーアプリケーションから通知メッセージを受信するためのユーザのクライアントアプリケーションが登録される。1つの実施形態において、プロセス600の処理ロジックは、クライアント装置へ最後の通知メッセージを送信して以来のユーザ及び/又はクライアント装置に対する期間又は経過時間を監視する。この期間がスレッシュホールド(例えば、1日、12時間、等、これは予め構成されるか又は動的に構成される)を越えた場合には、ユーザ及び/又はクライアント装置への通知メッセージの送信をストップするための条件が満足される。ブロック615において、プロセス600の処理ロジックは、その条件が満足された場合にサーバーアプリケーションのメッセージ通知(又はプッシュサービス)からユーザ及び/又はクライアント装置を登録解除する。1つの実施形態では、ユーザは、サーバーアプリケーションの通知受信者のリストから除去される。例えば、1つの実施形態では、プロセス600の処理ロジックは、クライアント装置のクライアントアプリケーションを識別するサブトピックを保持するデータを含めて、ユーザを識別するエイリアスに関連したエントリを、メッセージ通知のためのレジストリから除去する。別の実施形態では、クライアント装置は、サーバーアプリケーションの通知受信者のリストから除去される。例えば、プロセス600の処理ロジックは、クライアント装置のクライアントアプリケーションを識別するサブトピックを保持するデータを含めて、クライアント装置を識別する装置トークンに関連したエントリを、メッセージ通知のためのレジストリから除去する。この実施形態では、クライアント装置を登録解除することで、クライアント装置に関連したユーザも登録解除される。
図7は、ここに述べる実施形態に使用されるデータ処理システムの一例を示す。図7に示すデータ処理システム700は、1つ以上のマイクロプロセッサであるか又はシステムオンチップ集積回路である処理システム711を備え、又、処理システムにより実行するためのデータ及びプログラムを記憶するメモリ701も備えている。又、システム700は、オーディオ入力/出力サブシステム705も備え、これは、例えば、音楽を再生するためのマイクロホン及びスピーカを含むか、又はスピーカ及びマイクロホンを通して電話機能を与える。システム700は、少なくとも幾つかの実施形態では、ここに述べる1つ以上のプロフィールを要求し、そしてそれらのプロフィールをダウンロードし、ネットワークを通して通信するよう装置を構成することができる。システム700は、図7に示すシステムであるサーバーデータ処理システムからそれらのプロフィールをダウンロードすることができる。1つの実施形態では、システム700は、図1に示す装置111A−Bである。
ディスプレイコントローラ・ディスプレイ装置707は、ユーザのための視覚ユーザインターフェイスを与え、このデジタルインターフェイスは、OS Xオペレーティングシステムソフトウェアを実行するときにMacintoshコンピュータに示されるものと同様のグラフィックユーザインターフェイスを含む。又、システム700は、別のデータ処理システムと通信するための1つ以上のワイヤレストランシーバ703も備えている。ワイヤレストランシーバは、WiFiトランシーバ、赤外線トランシーバ、Bluetooth(登録商標)トランシーバ、及び/又はワイヤレスセルラー電話トランシーバである。ある実施形態では、図示されていない付加的なコンポーネントも、システム700の一部分であり、そしてある実施形態では、図7の示すものより少ないコンポーネントをデータ処理システムに使用してもよいことが明らかであろう。
又、データ処理システム700は、ユーザがシステムに入力を与えることができるようにするために設けられた1つ以上の入力装置713も備えている。それらの入力装置は、キーパッド、又はキーボード、又はタッチパネル、又はマルチタッチパネルである。又、データ処理システム700は、ドックのためのコネクタである任意の入力/出力装置715も備えている。当業者に明らかなように、種々のコンポーネントを相互接続するのに、図示されていない1つ以上のバスを使用できることが明らかであろう。図7に示すデータ処理システムは、ハンドヘルドコンピュータ、又はパーソナルデジタルアシスタント(PDA)、又はPDAのような機能をもつセルラー電話、又はセルラー電話を含むハンドヘルドコンピュータ、又はiPodのようなメディアプレーヤ、或いはそれら装置の態様又は機能を結合する装置、例えば、PDA及びセルラー電話と1つの装置に結合されたメディアプレーヤである。他の実施形態では、データ処理システム700は、ネットワークコンピュータ、又は別の装置内の埋め込み型処理装置、或いは図7に示すものより少数のコンポーネント又はおそらくそれより多数のコンポーネントを有する他の形式のデータ処理システムである。
図8は、本発明の1つの実施形態に使用されるデータ処理システムの一例を示す。例えば、図8は、コンピュータシステムの種々のコンポーネントを示すが、コンポーネントを相互接続する特定のアーキテクチャー又は仕方を表わすことを意図していない。というのは、そのような詳細は、本発明と関係がないからである。より少数のコンポーネント又はおそらくより多数のコンポーネントを有するネットワークコンピュータ及び他のデータ処理システム又は他の消費者向け電子装置も、本発明に使用できることが明らかであろう。図8は、図1に示すサーバーシステムを表わす。
図8に示すように、一形式のデータ処理システムであるコンピュータシステム800は、バス1903を備え、これは、マイクロプロセッサ805、ROM(リードオンリメモリ)807、揮発性RAM809、及び不揮発性メモリ811に結合される。マイクロプロセッサ805は、メモリ807、809、811からインストラクションを検索し、そしてそれらインストラクションを実行して、上述したオペレーションを遂行する。バス803は、これら種々のコンポーネントを一緒に相互接続すると共に、これらのコンポーネント805、807、809及び811を、ディスプレイコントローラ・ディスプレイ装置813、並びに入力/出力(I/O)装置のような周辺装置に相互接続し、そのI/O装置は、マウス、キーボード、モデム、ネットワークインターフェイス、プリンタ、及びこの分野で良く知られた他の装置である。典型的に、入力/出力装置815は、入力/出力コントローラ817を通してシステムに結合される。揮発性RAM(ランダムアクセスメモリ)809は、典型的に、メモリ内のデータをリフレッシュ又は維持するために常時電力を必要とするダイナミックRAM(DRAM)として具現化される。
大量記憶装置811は、典型的に、システムから電力が取り去られた後もデータ(例えば、大量のデータ)を維持する磁気ハードディスク、磁気光学ドライブ、光学ドライブ又はDVD RAM、又はフラッシュメモリ、或いは他の形式のメモリシステムである。典型的に、大量記憶装置811は、ランダムアクセスメモリでもあるが、これは、必要なことではない。図8は、大量記憶装置811がデータ処理システムの残りのコンポーネントに直結されたローカル装置であることを示しているが、本発明は、システムから遠隔にある不揮発性メモリ、例えば、モデムのようなネットワークインターフェイス、イーサネット(登録商標)インターフェイス、又はワイヤレスネットワークを通してデータ処理システムに結合されたネットワーク記憶装置を使用してもよいことが明らかである。バス803は、この分野で良く知られたように、種々のブリッジ、コントローラ、及び/又はアダプタを通して互いに接続される1つ以上のバスを含む。
ここで使用する「メモリ」という語は、ダイナミックランダムアクセスメモリ(DRAM)及びスタティックRAM(SRAM)のような全ての揮発性記憶媒体を包含することが意図される。コンピュータ実行可能なインストラクションは、磁気ハードディスク、光学ディスクのような不揮発性記憶装置に記憶され、そして典型的に、プロセッサによるソフトウェアの実行中に、直接メモリアクセスプロセスによりメモリに書き込まれる。当業者であれば、「マシン読み取り可能な記憶媒体」という語は、プロセッサによりアクセスできる任意の形式の揮発性又は不揮発性記憶装置を含むことが直ちに認識されよう。
以上の説明において、本発明は、特定の規範的な実施形態を参照して説明された。特許請求の範囲に規定された本発明の広い精神及び範囲から逸脱せずに種々の変更がなされ得ることが明らかであろう。従って、本明細書及び図面は、例示に過ぎず、それに限定されるものではない。
100:ネットワークシステム
101:アプリケーションサーバー
103:トピック
105:通知サーバー
107:ネットワーク
109:マルチユーザ装置
111A−B:アプリケーション
113A−B:サブトピック
114A−B:ユーザトークン
115:装置トークン
116A−B:ユーザ
117:サーバーアプリケーション
119:ブリッジ
130:装置識別子
134:ゾーン情報
136:エイリアス
138:パッディングデータ

Claims (20)

  1. マルチユーザメッセージ通知のためのマシン実施方法において、
    クライアント装置内の複数のユーザアカウントの1つである対応するユーザアカウントを識別するエイリアスを発生する段階であって、そのエイリアスは、1つ以上のアプリケーションサーバーにおいてホストされるサーバーアプリケーションに関連したクライアントアプリケーションに対応するサブトピック識別子と組み合わせて使用されるものである段階と、
    前記クライアントアプリケーションに関連した識別子を前記サーバーアプリケーションへ転送して、前記サーバーアプリケーションが、前記クライアントアプリケーションのためのクライアント装置の前記対応するユーザアカウントへ通知メッセージをプッシュできるようにするために、前記クライアントアプリケーション及びエイリアスに対して前記アプリケーションサーバーに通知サービスを登録する段階と、
    前記アプリケーションサーバーからの通知メッセージを受信するのに応答して、前記通知メッセージが前記エイリアス及び前記クライアントアプリケーションのサブトピック識別子を保持するかどうか決定する段階と、
    前記通知メッセージが前記クライアントアプリケーションの識別子を保持する場合には前記クライアント装置の他のアプリケーションへ前記通知メッセージを転送することなく前記対応するユーザアカウントに対して前記クライアントアプリケーションへ前記通知メッセージを転送する段階と、
    を含む方法。
  2. 複数のクライアントアプリケーションが前記クライアント装置にホストされ、前記サブトピック識別子は、その複数のクライアントアプリケーションの中でクライアントアプリケーションを独特に識別する、請求項1に記載の方法。
  3. 前記識別子は、サブトピック識別子を含む、請求項1に記載の方法。
  4. 前記対応するユーザアカウントに関連した証明書からエイリアスを導出する、請求項1に記載の方法。
  5. 前記エイリアスは、クライアント装置の装置識別子を更に含むユーザトークンに記憶される、請求項1に記載の方法。
  6. 前記識別子は、前記対応するユーザアカウントを独特に識別するユーザトークンを含む、請求項3に記載の方法。
  7. 前記アプリケーションサーバーは、トピック識別子により独特に識別され、そして前記登録段階は、更に、前記アプリケーションサーバーからの通知を聴取するために前記トピック識別子に対して前記クライアントアプリケーションを登録することを含み、前記トピック識別子に対して2つ以上のクライアントアプリケーションが登録される、請求項2に記載の方法。
  8. 前記アプリケーションサーバーとのネットワーク接続を開始する段階と、
    前記ネットワーク接続を経て前記アプリケーションサーバーへ前記識別子を送信する段階と、
    を更に含む請求項5に記載の方法。
  9. 前記決定段階は、更に、
    前記エイリアス及びトピック識別子を前記通知メッセージから抽出すること、及び
    前記通知メッセージが前記サブトピック識別子を保持しない場合にはトピックストリングについて登録された各クライアントアプリケーション及びそれに対応するユーザに前記通知メッセージを転送すること、
    を含む請求項5に記載の方法。
  10. 前記転送段階は、前記クライアントアプリケーションが現在アクティブでない場合には前記クライアントアプリケーションを呼び出すことを含む、請求項1に記載の方法。
  11. メッセージ通知を与えるためのマシン実施方法において、
    メッセージ通知のためのクライアント装置のユーザのクライアントアプリケーションからの登録要求を、アプリケーションサーバーにおいてホストされるサーバーアプリケーションで受信する段階であって、前記要求は、クライアント装置を識別するユーザトークンを含む識別子と、クライアントアプリケーションを識別するクライアントアプリケーション識別子とを有し、前記クライアント装置は、複数のユーザアカウントをホストすることができ、そしてユーザのための対応ユーザアカウントを含むものである段階と、
    前記クライアント装置が前記アプリケーションサーバーからプッシュされたメッセージを聴取できるようにするために、ユーザのためのサーバー識別子を送信する段階と、
    前記受信した識別子を記憶して、メッセージ通知についてユーザを登録する段階と、
    そのユーザについて前記クライアントアプリケーションに通知するために前記クライアント装置へ前記ユーザトークンを含む通知メッセージを送信する段階であって、前記通知メッセージは、前記サーバー識別子により識別され、且つ前記通知メッセージは、前記クライアントアプリケーション識別子を埋め込むものである段階と、
    を含む方法。
  12. 前記ユーザトークンは、ユーザを識別するエイリアスと、クライアント装置を識別する装置識別子とを含む、請求項11に記載の方法。
  13. 前記登録要求は、前記クライアント装置により開始されるネットワーク接続を経て受け取られ、そして前記サーバー識別子は、そのネットワーク接続を経て送信される、請求項11に記載の方法。
  14. 前記ユーザトークンは、前記クライアントアプリケーション識別子を含む不透明データに関連して記憶される、請求項11に記載の方法。
  15. 前記通知メッセージは、クライアント装置のユーザを識別するためのユーザトークンを含み、そして前記不透明データは、前記通知メッセージのペイロードに保持される、請求項14に記載の方法。
  16. 前記通知メッセージを送信する段階は、
    プッシュサービスにおいてプッシュサーバーとのネットワーク接続を確立すること、
    前記ネットワーク接続を経て前記プッシュサーバーへ通知メッセージを送信すること、を含み、前記通知メッセージは、前記サーバー識別子と共にパッケージされる、請求項12に記載の方法。
  17. 前記サーバー識別子は、前記プッシュサービスの当局からの証明書において受け取られ、そして前記サーバー識別子は、前記プッシュサービスを共有するアプリケーションサーバーを独特に識別する、請求項16に記載の方法。
  18. マシンにより実行されたときに、そのマシンが、
    クライアント装置の複数のユーザアカウントの1つである対応するユーザアカウントを識別するエイリアスを発生し、そのエイリアスは、1つ以上のアプリケーションサーバーにおいてホストされるサーバーアプリケーションに関連したクライアントアプリケーションに対応するサブトピック識別子と組み合わせて使用され、
    前記クライアントアプリケーションに関連した識別子を前記サーバーアプリケーションへ転送して、前記サーバーアプリケーションが、前記クライアントアプリケーションのためのクライアント装置の前記対応するユーザアカウントへ通知メッセージをプッシュできるようにするために、前記クライアントアプリケーション及びエイリアスに対して前記アプリケーションサーバーに通知サービスを登録し、
    前記アプリケーションサーバーからの通知メッセージを受信するのに応答して、前記通知メッセージが前記エイリアス及び前記クライアントアプリケーションのサブトピック識別子を保持するかどうか決定し、
    前記通知メッセージが前記クライアントアプリケーションの識別子を保持する場合には前記クライアント装置の他のアプリケーションへ前記通知メッセージを転送することなく前記対応するユーザアカウントに対して前記クライアントアプリケーションへ前記通知メッセージを転送する、
    ことを含むメッセージ通知方法を遂行するようにさせるインストラクションを有するマシン読み取り可能な記憶媒体
  19. マシンにより実行されたときに、そのマシンが、
    メッセージ通知のためのクライアント装置のユーザのクライアントアプリケーションからの登録要求を、アプリケーションサーバーにおいてホストされるサーバーアプリケーションで受信し、前記要求は、ユーザ及びクライアント装置を識別するユーザトークンを含む識別子と、クライアントアプリケーションを識別するクライアントアプリケーション識別子とを有し、前記クライアント装置は、複数のユーザアカウントをホストすることができ、そしてユーザのための対応ユーザアカウントを含むものであり、
    ユーザのためのサーバー識別子を送信して、前記クライアント装置が前記アプリケーションサーバーからプッシュされたメッセージを聴取できるようにし、
    前記受信した識別子を記憶して、メッセージ通知についてユーザを登録し、
    前記クライアント装置へ前記ユーザトークンを含む通知メッセージを送信してそのユーザについて前記クライアントアプリケーションに通知し、前記通知メッセージは、前記サーバー識別子により識別され、且つ前記通知メッセージは、前記クライアントアプリケーション識別子を埋め込む、
    ことを含む、メッセージ通知を与える方法を遂行するようにさせるインストラクションを有するマシン読み取り可能な記憶媒体
  20. サーバーアプリケーションを含む実行可能なインストラクションを記憶するメモリと、
    プッシュネットワークに結合されたネットワークインターフェイスと、
    メッセージングサービスに対して前記メモリからの実行可能なインストラクションを実行するために前記ネットワークインターフェイス及び前記メモリに結合されたプロセッサであって、
    クライアント装置からの開始に応答して、前記ネットワークインターフェイスを経て前記クライアント装置との第1のネットワーク接続を確立し、
    前記第1のネットワーク接続を経てクライアント装置のクライアントアプリケーションからの登録要求を前記サーバーアプリケーションで受信し、前記要求は、クライアント装置のユーザを識別するユーザトークンを含む識別子と、クライアントアプリケーションを識別するクライアントアプリケーション識別子とを有し、
    前記クライアント装置のサーバー識別子を送信して、前記クライアント装置が前記サーバーアプリケーションからプッシュされたメッセージを聴取できるようにし、
    前記受信した識別子を記憶して、メッセージ通知についてユーザを登録し、
    前記ネットワークインターフェイスを経て前記プッシュネットワークへの第2のネットワーク接続にわたって前記クライアント装置へ通知メッセージを送信し、前記通知メッセージは、ユーザについてクライアントアプリケーションに通知するためのユーザトークンを有し、前記通知メッセージは、前記サーバー識別子により識別され、そして前記通知メッセージは、前記クライアントアプリケーション識別子を埋め込む、
    ように構成されたプロセッサと、
    を備えたサーバー
JP2013548443A 2011-01-05 2011-12-30 マルチユーザ装置のためのメッセージプッシュ通知クライアントの改良 Active JP5719453B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161430126P 2011-01-05 2011-01-05
US61/430,126 2011-01-05
US13/080,131 US8924489B2 (en) 2011-01-05 2011-04-05 Message push notification client improvements for multi-user devices
US13/080,131 2011-04-05
PCT/US2011/068189 WO2012094253A1 (en) 2011-01-05 2011-12-30 Message push notification client improvements for multi-user devices

Publications (2)

Publication Number Publication Date
JP2014503152A JP2014503152A (ja) 2014-02-06
JP5719453B2 true JP5719453B2 (ja) 2015-05-20

Family

ID=46381746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013548443A Active JP5719453B2 (ja) 2011-01-05 2011-12-30 マルチユーザ装置のためのメッセージプッシュ通知クライアントの改良

Country Status (9)

Country Link
US (2) US8924489B2 (ja)
EP (1) EP2649781B1 (ja)
JP (1) JP5719453B2 (ja)
KR (1) KR101510977B1 (ja)
CN (1) CN103348663B (ja)
AU (1) AU2011353561B2 (ja)
BR (1) BR112013017443B1 (ja)
MX (1) MX2013007842A (ja)
WO (1) WO2012094253A1 (ja)

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150088982A1 (en) * 2006-09-25 2015-03-26 Weaved, Inc. Load balanced inter-device messaging
US9712486B2 (en) 2006-09-25 2017-07-18 Weaved, Inc. Techniques for the deployment and management of network connected devices
US11184224B2 (en) 2006-09-25 2021-11-23 Remot3.It, Inc. System, method and compute program product for accessing a device on a network
US10637724B2 (en) 2006-09-25 2020-04-28 Remot3.It, Inc. Managing network connected devices
EP3484135A1 (en) 2008-04-02 2019-05-15 Twilio Inc. System and method for processing telephony sessions
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
CN102227904A (zh) 2008-10-01 2011-10-26 特维里奥公司 电话网络事件的系统和方法
JP5671484B2 (ja) 2009-03-02 2015-02-18 トゥイリオ インコーポレイテッドTwilio Inc. マルチテナント電話ネットワークのための方法およびシステム
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
US9459925B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9338064B2 (en) 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
US8649268B2 (en) 2011-02-04 2014-02-11 Twilio, Inc. Method for processing telephony sessions of a network
US8407776B2 (en) * 2011-02-11 2013-03-26 Good Technology Corporation Method, apparatus and system for provisioning a push notification session
KR101845086B1 (ko) * 2011-03-30 2018-04-03 삼성전자주식회사 푸시 알림 메시지를 전송하기 위한 장치 및 방법
KR101914488B1 (ko) * 2011-04-06 2018-11-05 삼성전자주식회사 푸시 알림 서비스를 위한 서버 클러스터 및 방법
US8825842B2 (en) * 2011-04-28 2014-09-02 Facebook, Inc. Managing notifications pushed to user devices
US9529417B2 (en) 2011-04-28 2016-12-27 Facebook, Inc. Performing selected operations using low power-consuming processors on user devices
US9648006B2 (en) * 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
WO2012162397A1 (en) 2011-05-23 2012-11-29 Twilio, Inc. System and method for connecting a communication to a client
JP2012247841A (ja) * 2011-05-25 2012-12-13 Sony Corp 近隣人物特定装置、近隣人物特定方法、近隣人物特定プログラム及び近隣人物特定システム
JP2012247840A (ja) * 2011-05-25 2012-12-13 Sony Corp 近隣人物特定装置、近隣人物特定方法、近隣人物特定プログラム及び近隣人物特定システム
US8731523B1 (en) 2011-06-14 2014-05-20 Urban Airship, Inc. Push notification delivery system with feedback analysis
US9531827B1 (en) 2011-06-14 2016-12-27 Urban Airship, Inc. Push notification delivery system with feedback analysis
US8554855B1 (en) * 2011-06-14 2013-10-08 Urban Airship, Inc. Push notification delivery system
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
US9336500B2 (en) 2011-09-21 2016-05-10 Twilio, Inc. System and method for authorizing and connecting application developers and users
US9578014B2 (en) 2011-09-29 2017-02-21 Oracle International Corporation Service profile-specific token attributes and resource server token attribute overriding
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US20140365606A1 (en) * 2012-02-13 2014-12-11 Sony Corporation Information processing apparatus, information processing method, and program
US11593800B2 (en) 2012-03-07 2023-02-28 Early Warning Services, Llc System and method for transferring funds
US20130244579A1 (en) * 2012-03-16 2013-09-19 Rapidblue Solutions Method of enabling proximity based connectivity between mobile devices using different operating systems
US9100497B2 (en) * 2012-04-05 2015-08-04 Blackberry Limited Method, system and apparatus for managing persona-based notifications at a communication device
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US20130304928A1 (en) 2012-05-09 2013-11-14 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9240941B2 (en) 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
GB201210598D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
GB2504461B (en) * 2012-06-14 2014-12-03 Microsoft Corp Notification of communication events
GB201210600D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Call invites
GB201210596D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US8737962B2 (en) 2012-07-24 2014-05-27 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US9524198B2 (en) * 2012-07-27 2016-12-20 Google Inc. Messaging between web applications
WO2014030199A1 (ja) * 2012-08-20 2014-02-27 富士通株式会社 シームレスアプリプッシュシステム及びその方法
KR101488268B1 (ko) * 2012-08-30 2015-01-30 삼성전자주식회사 푸시 메시지 서비스 방법 및 시스템
WO2014035194A1 (en) * 2012-08-30 2014-03-06 Samsung Electronics Co., Ltd. Push message service system and method
EP2706727B1 (en) 2012-09-11 2014-09-10 BlackBerry Limited Systems, devices and methods for authorizing endpoints of a push pathway
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
KR101399292B1 (ko) * 2012-12-07 2014-05-27 전남대학교산학협력단 Sns를 이용한 사물통신 시스템, 방법 및 그 사물통신 서버
CN103392328B (zh) * 2012-12-21 2016-05-25 华为技术有限公司 远程控制通讯终端工作的服务器和方法及通讯终端
CN103902616B (zh) * 2012-12-28 2017-04-12 腾讯科技(深圳)有限公司 一种推送网页应用消息的方法、装置和系统
US9253254B2 (en) 2013-01-14 2016-02-02 Twilio, Inc. System and method for offering a multi-partner delegated platform
US9232339B2 (en) * 2013-02-07 2016-01-05 Oracle International Corporation Mobile push notification
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9001666B2 (en) 2013-03-15 2015-04-07 Twilio, Inc. System and method for improving routing in a distributed communication platform
US8918529B1 (en) * 2013-03-15 2014-12-23 Mobile Iron, Inc. Messaging gateway
WO2014183208A1 (en) * 2013-05-17 2014-11-20 Initiative Inc. System for quickly finding the whereabouts of friends
US9256484B2 (en) * 2013-06-09 2016-02-09 Apple Inc. Dynamic adjustment of mobile device based on user activity
WO2014201177A1 (en) 2013-06-11 2014-12-18 Seven Networks, Inc. Offloading application traffic to a shared communication channel for signal optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9160696B2 (en) 2013-06-19 2015-10-13 Twilio, Inc. System for transforming media resource into destination device compatible messaging format
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
US9338280B2 (en) 2013-06-19 2016-05-10 Twilio, Inc. System and method for managing telephony endpoint inventory
US8843601B1 (en) * 2013-07-12 2014-09-23 Vonage Network, Llc Systems and methods for VOIP communication completion to a mobile device
US9780994B2 (en) 2013-07-18 2017-10-03 International Business Machines Corporation Notification normalization
US9699625B2 (en) * 2013-07-18 2017-07-04 International Business Machines Corporation Push notification middleware
US9706002B2 (en) 2013-07-18 2017-07-11 International Business Machines Corporation Push notification via file sharing service synchronization
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US9338018B2 (en) 2013-09-17 2016-05-10 Twilio, Inc. System and method for pricing communication of a telecommunication platform
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
EP3047626B1 (en) 2013-09-20 2017-10-25 Oracle International Corporation Multiple resource servers with single, flexible, pluggable oauth server and oauth-protected restful oauth consent management service, and mobile application single sign on oauth service
US9325624B2 (en) * 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9462044B1 (en) * 2013-11-25 2016-10-04 Ca, Inc. Secure user, device, application registration protocol
WO2015080460A1 (ko) * 2013-11-26 2015-06-04 엘지전자 주식회사 무선 통신 시스템에서 ae id 할당 방법
CN103618746A (zh) * 2013-12-10 2014-03-05 南京守护宝信息技术有限公司 一种基于推送指令的客户端服务器通信方法
US10540063B2 (en) 2014-01-27 2020-01-21 Microsoft Technology Licensing, Llc Processing actionable notifications
US10802681B2 (en) 2014-01-27 2020-10-13 Microsoft Technology Licensing, Llc Actionable notifications
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
WO2015145905A1 (ja) * 2014-03-28 2015-10-01 株式会社セガ 追加ダウンロード管理システム、端末装置制御プログラム、端末装置および追加ダウンロード管理装置
CN104980298B (zh) * 2014-04-14 2018-07-06 腾讯科技(深圳)有限公司 一种异常提示方法、装置及系统
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US9760704B2 (en) * 2014-05-23 2017-09-12 Blackberry Limited Security apparatus session sharing
GB2527116B (en) * 2014-06-12 2017-09-20 Canon Kk Adaptative persistent push
CN105282107B (zh) * 2014-07-04 2018-09-11 北京信威通信技术股份有限公司 Xmpp系统访问外部数据的授权方法及通信网络
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
EP3207452A4 (en) * 2014-10-15 2018-06-20 Ayla Networks, Inc. Registration framework for connected consumer devices
US9749428B2 (en) 2014-10-21 2017-08-29 Twilio, Inc. System and method for providing a network discovery service platform
CN104320456B (zh) * 2014-10-22 2018-04-20 迈普通信技术股份有限公司 一种页面推送方法及相关设备
US10050912B2 (en) * 2014-10-27 2018-08-14 At&T Intellectual Property I, L.P. Subscription-based media push service
WO2016078006A1 (zh) * 2014-11-19 2016-05-26 华为技术有限公司 一种定向统计流量的方法、设备及系统
KR20160077856A (ko) 2014-12-24 2016-07-04 삼성전자주식회사 알림 정보 제공 방법 및 장치
CN104580490B (zh) * 2015-01-20 2018-09-18 无线生活(杭州)信息科技有限公司 命令传输方法及装置
US10015236B2 (en) * 2015-01-30 2018-07-03 Ricoh Company, Ltd. Cloud application activation and update service
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
CN105991412B (zh) * 2015-02-12 2019-03-19 阿里巴巴集团控股有限公司 消息推送方法及装置
US9693207B2 (en) * 2015-02-26 2017-06-27 Sony Corporation Unified notification and response system
JP6227583B2 (ja) * 2015-03-25 2017-11-08 Kddi株式会社 情報配信装置、プッシュ通知送信方法、及び、コンピュータプログラム
JP6251210B2 (ja) * 2015-03-25 2017-12-20 Kddi株式会社 端末装置、通信セッション確立方法、及び、プログラム
US11496430B2 (en) * 2015-04-13 2022-11-08 Citrix Systems, Inc. Configurable offline messaging management using user presence information
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US10216709B2 (en) 2015-05-22 2019-02-26 Microsoft Technology Licensing, Llc Unified messaging platform and interface for providing inline replies
US20160344677A1 (en) 2015-05-22 2016-11-24 Microsoft Technology Licensing, Llc Unified messaging platform for providing interactive semantic objects
US10491708B2 (en) 2015-06-05 2019-11-26 Apple Inc. Context notifications
EP3342193B1 (en) * 2015-08-27 2023-06-28 Pivotal Software, Inc. Notification system for providing a network service
CN105245577B (zh) * 2015-09-11 2018-09-04 腾讯科技(深圳)有限公司 信息推送方法、装置及系统
US10178194B2 (en) * 2015-10-13 2019-01-08 Adobe Systems Incorporated Intelligent notifications to devices with multiple applications
US11328590B2 (en) * 2015-10-29 2022-05-10 InterNetwork Media, LLC System and method for internet radio automatic content management
CN105871680A (zh) * 2015-11-18 2016-08-17 乐视致新电子科技(天津)有限公司 通信方法和通信系统以及显示装置
US20170171332A1 (en) * 2015-12-15 2017-06-15 Le Holdings (Beijing) Co., Ltd. Message pushing method, electronic device and non-transitory computer-readable storage medium
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10728164B2 (en) 2016-02-12 2020-07-28 Microsoft Technology Licensing, Llc Power-aware network communication
US10135946B2 (en) 2016-04-11 2018-11-20 Verizon Patent And Licensing Inc. Sending messages to mobile devices
US10075583B2 (en) * 2016-04-13 2018-09-11 Microsoft Technology Licensing, Llc Suppressing indications of incoming communications in user interfaces
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
CN106095220B (zh) * 2016-05-30 2019-09-27 北京小米移动软件有限公司 通知消息提示方法及装置
US10511542B2 (en) * 2016-06-10 2019-12-17 Microsoft Technology Licensing, Llc Multi-interface power-aware networking
US10225359B2 (en) * 2016-09-22 2019-03-05 International Business Machines Corporation Push notifications from multiple tenant servers
CN107067244B (zh) * 2016-11-03 2020-09-29 阿里巴巴集团控股有限公司 业务实现方法、支付方法、业务实现装置及支付服务端
CN108111565B (zh) * 2016-11-25 2020-08-04 腾讯科技(深圳)有限公司 消息传输方法和装置
US20180367629A1 (en) * 2017-06-20 2018-12-20 Develapp, LLC Platform and Related Process for Providing Push Notifications Via Unique Subscriber Applications
US9935984B1 (en) * 2017-07-31 2018-04-03 Malwarebytes Inc. Scalable cloud-based endpoint security system
CN108337296B (zh) * 2018-01-12 2021-01-01 深圳壹账通智能科技有限公司 消息推送处理方法、装置、计算机设备和存储介质
CN108519922B (zh) * 2018-04-12 2022-07-12 珠海市魅族科技有限公司 信息推送方法及装置、终端设备及计算机可读存储介质
US10855670B2 (en) * 2018-05-03 2020-12-01 Vmware, Inc. Polling service
US10972454B2 (en) * 2018-05-29 2021-04-06 Apple Inc. Conversation merging for electronic devices
US11303627B2 (en) 2018-05-31 2022-04-12 Oracle International Corporation Single Sign-On enabled OAuth token
US11070548B2 (en) * 2018-12-21 2021-07-20 Paypal, Inc. Tokenized online application sessions
CN110012083B (zh) * 2019-03-26 2022-07-01 青岛聚好联科技有限公司 一种数据传输方法、服务器及数据传输装置
US20210142328A1 (en) * 2019-11-13 2021-05-13 Early Warning Services, Llc System and method for preventing fraud in real-time payment transactions
CN111212062B (zh) * 2019-12-31 2022-09-30 航天信息股份有限公司 信息补全的方法、装置、存储介质及电子设备
CN111200656A (zh) * 2020-01-03 2020-05-26 北京小米移动软件有限公司 通知推送方法、装置及系统
CN111310043B (zh) * 2020-02-14 2023-07-28 北京百度网讯科技有限公司 用于推送信息的方法和装置
AU2020356802B2 (en) * 2020-04-14 2021-12-23 Citrix Systems, Inc. Triggering event notifications based on messages to application users
CN114553814B (zh) * 2020-10-27 2024-02-09 花瓣云科技有限公司 处理推送消息的方法和装置
US11558468B2 (en) * 2020-11-03 2023-01-17 T-Mobile Usa, Inc. Mobile client recovery using push notifications to execute exponential back-off procedure
CN114900489B (zh) * 2021-01-26 2023-10-13 腾讯科技(深圳)有限公司 一种消息处理方法、装置、电子设备及存储介质

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259446B1 (en) 1992-12-23 2001-07-10 Object Technology Licensing Corporation Menu state system
JPH10190879A (ja) * 1996-12-27 1998-07-21 Casio Comput Co Ltd 通信端末、サーバ装置、及び着信通知システム
CA2307635C (en) 1997-11-05 2004-07-06 Microsoft Corporation Notification scheduling system on a mobile device
US6512930B2 (en) 1997-12-30 2003-01-28 Telefonaktiebolaget Lm Ericsson (Publ) On-line notification in a mobile communications system
US6223046B1 (en) 1998-12-15 2001-04-24 Telefonaktiebolaget Lm Ericsson (Publ) System and method for coordinating notification requests for terminal availability
US7552200B2 (en) 2000-10-19 2009-06-23 Cisco Technology Apparatus and methods for requesting an event notification over a network
US8474693B1 (en) * 2000-12-05 2013-07-02 Diebold, Incorporated Automated banking machine security system and method
ATE244423T1 (de) * 2001-02-28 2003-07-15 Sap Ag Computersystem für geschäftsanwendungen mit alarmmeldung und bedingter inkraftsetzung
US20030061365A1 (en) 2001-03-14 2003-03-27 Microsoft Corporation Service-to-service communication for network services
JP2002344529A (ja) * 2001-05-21 2002-11-29 Sharp Corp プッシュ型サービスシステム
US7192235B2 (en) 2001-11-01 2007-03-20 Palm, Inc. Temporary messaging address system and method
AU2003245766B2 (en) 2002-11-04 2007-05-24 Blackberry Limited Method and apparatus for packet data service discovery
US20040186918A1 (en) * 2003-03-21 2004-09-23 Lonnfors Mikko Aleksi Method and apparatus for dispatching incoming data in a multi-application terminal
JP4401729B2 (ja) * 2003-09-30 2010-01-20 京セラ株式会社 携帯通信端末
JP2005107897A (ja) * 2003-09-30 2005-04-21 Dainippon Printing Co Ltd アクセスポイント、配信システム及びプログラム
US20050080898A1 (en) 2003-10-08 2005-04-14 Block Jerald J. System and method for managing computer usage
US7529801B2 (en) * 2003-11-06 2009-05-05 International Business Machines Corporation Method and system for multiple instant messaging login sessions
US7383307B2 (en) 2004-01-07 2008-06-03 International Business Machines Corporation Instant messaging windowing for topic threads
US8856346B2 (en) 2004-01-15 2014-10-07 Unwired Planet, Llc Stateful push notifications
US20060009243A1 (en) 2004-07-07 2006-01-12 At&T Wireless Services, Inc. Always-on mobile instant messaging of a messaging centric wireless device
US7818379B1 (en) * 2004-08-31 2010-10-19 Aol Inc. Notification and disposition of multiple concurrent instant messaging sessions involving a single online identity
US7970823B2 (en) * 2004-09-02 2011-06-28 Broadway Technology, Llc System for sharing data objects among applications
US7978618B2 (en) * 2004-10-08 2011-07-12 Sharp Laboratories Of America, Inc. Methods and systems for user interface customization
US7617162B2 (en) * 2005-03-04 2009-11-10 Atul Saini Real time push notification in an event driven network
US7499995B2 (en) 2005-06-28 2009-03-03 International Business Machines Corporation Managing permission for accessing third party applications on a telecommunications network
US20070156693A1 (en) * 2005-11-04 2007-07-05 Microsoft Corporation Operating system roles
US8693995B2 (en) * 2007-12-13 2014-04-08 Michelle Fisher Customized mobile applications for special interest groups
US8280979B2 (en) * 2006-02-27 2012-10-02 Microsoft Corporation Persistent public machine setting
EP3575951A1 (en) * 2007-04-17 2019-12-04 Visa USA, Inc. Method and system for authenticating a party to a transaction
US8630625B2 (en) * 2007-09-14 2014-01-14 At&T Intellectual Property I, L.P. System and method for personalized messaging
JP2009157650A (ja) * 2007-12-26 2009-07-16 Softbank Mobile Corp コンテンツ提供システム、コンテンツ提供方法およびコンテンツ提供プログラム
US9363745B2 (en) 2008-03-26 2016-06-07 Srinivasan Balasubramanian Device managed access point lists in wireless communications
US8719420B2 (en) 2008-05-13 2014-05-06 At&T Mobility Ii Llc Administration of access lists for femtocell service
US8364123B2 (en) 2009-02-25 2013-01-29 Apple Inc. Managing notification messages
US8565730B2 (en) * 2008-06-19 2013-10-22 Blackberry Limited User interface for configuring service account-specific user notifications for inbound electronic messages
US9135433B2 (en) * 2008-08-29 2015-09-15 Adobe Systems Incorporated Identifying reputation and trust information for software
US8315395B2 (en) * 2008-12-10 2012-11-20 Oracle America, Inc. Nearly-stateless key escrow service
US20100161747A1 (en) * 2008-12-22 2010-06-24 Cyril Rayan System and method for two-way anonymous communication
US8630624B2 (en) * 2009-02-25 2014-01-14 Apple Inc. Managing notification messages
CN101854338B (zh) * 2009-03-31 2014-02-26 国际商业机器公司 订户设备及其订阅管理方法、实时通信方法和系统
US20100274691A1 (en) * 2009-04-28 2010-10-28 Ayman Hammad Multi alerts based system
US8417231B2 (en) 2009-05-17 2013-04-09 Qualcomm Incorporated Method and apparatus for programming a mobile device with multiple service accounts
US8826304B2 (en) * 2009-08-13 2014-09-02 Google Inc. Virtual object indirection in a hosted computer environment
US20110195695A1 (en) * 2010-02-11 2011-08-11 Rashim Gupta Managing event distribution to applications within a wireless communications device

Also Published As

Publication number Publication date
US20120173610A1 (en) 2012-07-05
KR20130109229A (ko) 2013-10-07
CN103348663A (zh) 2013-10-09
EP2649781B1 (en) 2019-04-10
WO2012094253A1 (en) 2012-07-12
KR101510977B1 (ko) 2015-04-10
EP2649781A1 (en) 2013-10-16
CN103348663B (zh) 2015-08-19
BR112013017443A2 (pt) 2016-09-27
US11057484B2 (en) 2021-07-06
US8924489B2 (en) 2014-12-30
US20150067062A1 (en) 2015-03-05
MX2013007842A (es) 2013-10-03
BR112013017443B1 (pt) 2021-11-03
AU2011353561B2 (en) 2015-10-08
AU2011353561A1 (en) 2013-07-25
JP2014503152A (ja) 2014-02-06
EP2649781A4 (en) 2014-06-18

Similar Documents

Publication Publication Date Title
JP5719453B2 (ja) マルチユーザ装置のためのメッセージプッシュ通知クライアントの改良
JP5745696B2 (ja) 通知メッセージの管理
JP6955074B2 (ja) メッセージング・ボット・リッチ・コミュニケーションのための技法
US10411956B2 (en) Enabling planned upgrade/downgrade of network devices without impacting network sessions
US11050683B2 (en) System for providing dialog content
US20180295182A1 (en) Distributing service sessions
US20120079043A1 (en) Method, apparatus and system for accessing an application across a plurality of computers
US9065666B2 (en) System and method of multi-media conferencing between universal plug and play (UPnP) enabled telephony devices and wireless area network (WAN) devices
CN102467723A (zh) 用于在查看型社交网络中向用户提供推荐的系统和方法
US10055760B2 (en) System and method for synchronizing delivery of promotional material to computing devices
JP2012503231A (ja) ウェブアプリケーションのための非同期待ち行列型メッセージング
CN117280828A (zh) 在相连的上行链路到下行链路流式传输中配置5g应用服务器的方法和装置
US20120079008A1 (en) Method, apparatus and system for providing event notifications across a plurality of computers

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150320

R150 Certificate of patent or registration of utility model

Ref document number: 5719453

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250