JP5756884B2 - 二方向プッシュ通知のためのシステム及び方法 - Google Patents

二方向プッシュ通知のためのシステム及び方法 Download PDF

Info

Publication number
JP5756884B2
JP5756884B2 JP2014513733A JP2014513733A JP5756884B2 JP 5756884 B2 JP5756884 B2 JP 5756884B2 JP 2014513733 A JP2014513733 A JP 2014513733A JP 2014513733 A JP2014513733 A JP 2014513733A JP 5756884 B2 JP5756884 B2 JP 5756884B2
Authority
JP
Japan
Prior art keywords
provider
gateway
push notification
push
user
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
JP2014513733A
Other languages
English (en)
Other versions
JP2014524164A (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 JP2014524164A publication Critical patent/JP2014524164A/ja
Application granted granted Critical
Publication of JP5756884B2 publication Critical patent/JP5756884B2/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/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

(優先権の主張)本願は、2011年6月3日出願の米国仮特許出願第61/492,882号の35U.S.C.第119条(e)に基づく出願日の恩典を主張する。
本発明は、概括的には移動体デバイスの処理の分野に、より厳密には移動体デバイスとアプリケーションプロバイダの間で伝送される通知メッセージの管理に、関する。
移動体デバイス(ラップトップ、パームトップ、携帯電話、スマートフォン、マルチメディアフォン、ポータブルメディアプレーヤー、GPSユニット、携帯ゲームシステム、など)のユーザーは、通知サービスからの通知メッセージを周期的に受信するアプリケーションをインストールしていることであろう。例えば、その様なアプリケーションには、「プッシュ」e−メールサービス(例えば、MobileMe(R)、Microsoft(R) Exchange、ActiveSync(R)、Push−IMAP(R)、Yahoo!(R)Push、など)及び他のプッシュサービス(例えば、更新/アップグレードサービス、ニュースサービス、ウェブブログサービス、ポッドキャストサービス、ソーシャルネットワーキングサービス、又は通知メッセージが送信されることになっている他の型式のサービス)が含まれる。通知メッセージは、典型的には、関心事象を表しており、その様な関心事象はアプリケーションによって定義されているのが典型的である(例えば、新e−メールインジケータ、新ニュース項目インジケータ、新ポッドキャストインジケータ、ソーシャルネットワーキングの友人のオンライン状態の変更、など)。
移動体デバイスの使用の増加は、通知メッセージをそれらのデバイスへ経路指定することの複雑さを拡大させる。1つの問題は、移動体デバイスが元来アドレス可能にはなっていないことであり、例えば、現在のところ、IPv6の移動体版は無い。換言すると、移動体デバイスは、デスクトップコンピュータまた更にはラップトップコンピュータがIPアドレスを有しているのと同じやり方で自身のIPアドレスを持っていない。また、移動体デバイスは、恐らくネットワークアドレストランスレーション(NAT)を採用しているであろうサービスプロバイダのファイアウォールに論理的に遅れをとっていることも時にある。その様なファイアウォールは、セルラー関連内においても、またwi−fi関連内においても、適用可能である。移動体デバイスが元来アドレス可能でないことを考えると、移動体電話へメッセージを経路指定することは、特にそれを大規模に行うことは、困難である。
ネットワークへ接続される移動体電話の数が増えるにつれ、移動体電話へ送信される通知メッセージとの関連内でスケーラビリティは特別な問題となる。例えば、移動体デバイスへ接続しているネットワークデバイスは、典型的に、同時に何千もの移動体デバイスについてのデバイス接続を管理している。したがって、何億もの移動体デバイスに対応するとなると、それら何億ものデバイスへの接続及びメッセージの経路指定を管理するのに何十万ものネットワークサーバデバイスが必要になろう。当然ながら、何十万ものネットワークサーバデバイスは、法外な費用がかかり、実装するのは非常に手間が掛かる。加えて、ネットワークサーバデバイスを使用するメッセージの静的経路指定は、フェイルセーフでもなくフォールトトレラントでもない場合が多く、翻せば、ネットワークデバイスが故障したら、通知メッセージが特定の移動体デバイスに到達できなくなる可能性があるということである。
米国仮特許出願第61/492,882号 米国特許出願第2010/0227632号
プロバイダと移動体デバイスの間の二方向プッシュ通信を確立するためのシステム及び方法が記載されている。プロバイダは(移動体デバイスの様に)、指定されたユーザーセットからのプッシュ通知に備えて傾聴するよう登録する。その後、プロバイダの存在が継続的に監視されて、プロバイダが事前に指定されているポートを介して現在傾聴しているかどうかが判定される。そうである場合、1人又はそれ以上のユーザーのセットからの第1のプロバイダ宛てのプッシュ通知を受信したことに応えて、当該プロバイダがプッシュ通知に備えて傾聴している現在のネットワーク場所が識別され、プッシュ通知は第1のプロバイダへ転送される。
本発明のより深い理解は、添付図面に関連付けられた次に続く詳細な説明から得られることであろう。
様々な実施形態によるシステムを示しているブロック線図である。 様々な実施形態によるブロック線図である。 様々な実施形態による動作の流れ図である。 様々な実施形態による動作の流れ図である。 プロバイダとデバイスの間のゲートウェイを介する最適経路を選択するためのシステムアーキテクチャの1つの実施形態を示している。 プロバイダとデバイスの間のゲートウェイを介する最適経路を選択するための方法の1つの実施形態を示している。 二方向プッシュ通知を提供するためのシステムアーキテクチャの1つの実施形態を示している。 二方向プッシュ通知を提供するための方法の1つの実施形態を示している。
本発明の実施形態は、プッシュ通知サービスとの関連内で実施され得る。本願の譲受人によって設計されている1つのその様なサービスが、2009年6月5日にプッシュ通知サービスという名称で出願されている同時係属米国特許出願第2010/0227632号に記載されている。プッシュ通知サービスの概観が以下に提供されており、それに続けて、二方向プッシュ通知を実施するためのシステム及び方法並びに動的経路指定のためのシステム及び方法の詳細な説明が提供されている。
図1は、様々な実施形態によるブロック線図である。プロバイダ102から移動体デバイス130への通知メッセージの転送は、少なくとも、1つのゲートウェイ110と1つのクーリエ120を要する。ゲートウェイ110は、プロバイダ102からの通知メッセージ(例えば、プッシュメッセージ)を受信する。様々な実施形態では、プロバイダ102は、ゲートウェイ110との初期接続に際し、認証セキュアソケットレイヤー(SSL)証明書を送信する。このSSL証明書は、追加のユーザー定義データ付きで構成されてもよい。他の実施形態では、他のセキュア通信プロトコル(例えば、トランスポートレイヤーセキュリティ(TLS)の様な暗号化プロトコルなど)が使用されることもあろう。認証部114は、何らかの追加のユーザー定義データを使用して、信頼できる様式でプロバイダ102を識別する。
或る特定のアプリケーション(例えば、ツイッター)と関連付けられるプロバイダが追加の識別用の(ユーザー定義)データをSSL証明書内に含んでいる場合、ゲートウェイ110は、プロバイダを認証するに留まらず、更に、当該プロバイダ及びアプリケーション(例えば、ツイッター)についてプッシュサービスを自動的に供給することになる。換言すると、ゲートウェイ110は、認証証明書から何らかの追加の識別用データを自動的に抽出し、当該追加の識別用データ(又はデータの一部分)をメッセージ(例えば、プッシュ通知メッセージ)へ添付する。一部の実施形態では、追加の識別用データは、ユーザーが加入しているプロバイダ(又はプロバイダのアプリケーション)と関連付けられるトピック又はフィードを識別するものであってもよい。したがって、認証証明書中の追加情報を活用して、当該トピック/フィードに加入している又はトピック/フィードに関する情報を要求している移動体デバイスへメッセージを方向決めさせることができる。この様にして、プロバイダについてプッシュサービスが自動的に供給される。
ゲートウェイ110は、認証されたプロバイダ102からの通知メッセージを受信すると、通知メッセージの宛先ゾーンを確定する。宛先ゾーンは、通知メッセージと共に送信されるトークン内に含まれている。一部の実施形態では、ゾーン情報をトークンの一部として送信することは必須ではない。ゾーンをトークンから抽出するか又はそれ以外のやり方でゾーン情報を取得することにより、ゲートウェイ110は、宛先ゾーンがゲートウェイ110によって保守/管理されているゾーンに一致するかどうかを判定する。よって、例えばゲートウェイ110がゾーン5に責任のある場合、プロバイダから受信されたメッセージで宛先ゾーン5を有する全てのメッセージは、ゲートウェイ110によってクーリエへ転送されることになる。但し、ゾーン5に責任のあるゲートウェイ110が、宛先ゾーンがゾーン8になっているメッセージを受信した場合、ゲートウェイ110は通知メッセージを、ゾーン5に責任のあるゲートウェイへ経路指定しなくてはならない。
経路指定表112が、メッセージを1つのゲートウェイから別のゲートウェイへ経路指定するのに使用される。様々な実施形態では、メッセージをゲートウェイ間で経路指定するのにDNS(ドメインネームサービス)が使用されている。とはいえ、他の実施形態では、他の経路指定プロトコルが使用されることもあろう。したがって、メッセージがゲートウェイ110で受信されたとき、ゲートウェイ110は、自身がメッセージを転送するのに適切なゲートウェイであるかどうかを判定する。そうでなかった場合、ゲートウェイ110は、経路指定表112の経路指定表ルックアップを遂行して、メッセージを転送するのに適切なゲートウェイを確定する。一部の実施形態では、ゲートウェイが通知メッセージを転送するのに適切なゲートウェイであるかどうかを判定するのにDNSルックアップそのものが使用されている。
ゲートウェイ110が、ゲートウェイ110によって管理されているゾーンに一致する特定の宛先ゾーンを有するメッセージを受信した場合、ゲートウェイ110は、デバイス/クーリエマッピング116を使用して、当該メッセージを直接に適切なクーリエデバイスへ転送することができる。ゲートウェイ110は、このマッピング情報を様々なクーリエから受信しており、それについては以下に更に詳細に解説されている。ゾーンは、ゲートウェイへ動的に割り当てられている。換言すると、ゲートウェイ110は、或る期間は1つのゾーンについて通知メッセージを管理するものであり、その後、切り替えられるか又は構成し直されて、後の期間は異なったゾーンについてメッセージの転送を管理することになるかもしれない。
クーリエ120は、ゲートウェイ110と同様に、ネットワークデバイスである。クーリエ120は、接続モジュール124と逆伝播モジュール122を含み、デバイス情報126を保守している。クーリエ120は、一部の実施形態では、160万台以上のデバイスについて接続を管理している。クーリエは、特定のゾーンのデバイスと接続することに限定されていない。換言すると、クーリエ120は、様々な接続される側のデバイスが異なったゾーンに属しているデバイス接続を管理するものである。
デバイスが最初にクーリエ120と接続するとき、クーリエ120はデバイスについてゾーンを供給する。様々な実施形態では、デバイスについて供給されるゾーンは永久的である。それぞれのデバイスについての特定のゾーン割当にかかわらず、デバイスは自身のクーリエ120との接続を様々な理由で失うことがある。例えば、接続は、セルラー信号又はwi−fi信号の喪失、パワーの喪失、又は移動体デバイスが地理的場所を変えたため、など、のせいで失われてしまうかもしれない。移動体デバイスが、システムへ再接続しクーリエと接続しようと試みたとき、デバイスはネットワーク上の何れのクーリエとも接続する可能性がある。このやり方では、クーリエ120は、異なったゾーンへ割り当てられているデバイスへ接続されないとも限らない。
上述の様に、クーリエ120は、接続相手のそれぞれのデバイスについてのデバイス情報126を保守している。デバイス情報は、デバイスについてのゾーン識別子、デバイスについての固有デバイス識別子(UID)、及び他のデバイス情報を含んでいよう。クーリエ120と様々なデバイスの間に接続を確立するのに接続モジュール124が使用される。
クーリエ120は、更に、逆伝播モジュール122を含んでいる。逆伝播モジュール122は、デバイス情報126を各ゲートウェイへ逆伝播させるのに使用される。デバイス情報は、ゾーン情報に基づいてゲートウェイへ逆伝播される。例えば、クーリエ120がゾーン11のデバイスへ接続されているなら、クーリエ120は、接続モジュール124を介し、ゾーン11の管理に責任のあるゲートウェイとの接続を供給することになる。クーリエ120は、次いで、ゾーン11のデバイスについてのデバイス情報を、ゾーン11の管理に責任のあるゲートウェイへ逆伝播させる。同様の様式で、クーリエ120は、異なった各々のゾーンと関連付けられているデバイスについての特定のデバイス情報を逆伝播させるべくそれら異なったゾーンのゲートウェイとの接続を成すことになる。
移動体デバイス130は、プロセッサ140、メモリ132、送信器134、受信器136、及び1つ又はそれ以上のアプリケーション138を含んでいる。プロセッサ140は、移動体デバイス130への接続用のクーリエを確定する接続モジュール142を含んでいる。接続モジュール142は、接続相手のクーリエを確定するのにラウンドロビンDNS(ドメインネームサービス)スキームを使用していてもよい。他の実施形態では、クーリエは、地理的場所などの様な他の情報に基づいて確定されることもあろう。受信器136は、最初にクーリエと接続すると、クーリエからゾーン識別子を受信する。暗号化モジュール144は、デバイスについてのゾーン識別子と固有デバイス識別子(UID)を組み合わせてデバイストークンを生成する。様々な実施形態では、暗号化モジュール144は、ハッシングアルゴリズム(例えば、SHA−0、SHA−1、SHA−2、MD5、Whirpool、又は他のハッシングアルゴリズム)を適用することによって、トークンを暗号化する。メモリ132はトークンを格納する。デバイス130によって生成され暗号化されたトークンは、様々な実施形態では、移動体デバイス130について不変に維持される。換言すると、UIDは変化しないし、デバイスについてのゾーン識別子もまた変化しない。
ひとたびトークンが生成され暗号化されたら、送信器134がトークンを様々なプロバイダアプリケーション(例えば、プロバイダ102)へ伝送又は送信する。トークンは、デバイス130がプロバイダ102を最初に呼び出したときに伝送されてもよい。プロバイダ102は、トークンを適切にデバイス130へ折り返し転送できるように、トークンを何らかの通知メッセージと一体に使用するか又は含むことができる。
図2は、様々な実施形態によるブロック線図である。具体的には、図2は、プロバイダと移動体デバイスの間での通知メッセージの転送の諸例を示している。1つの例では、デバイス1はプロバイダ1によって管理されている或る特定のアプリケーションへ加入しており、当該アプリケーションについての通知メッセージを受信することを所望している。したがって、デバイス1は、プロバイダ1を呼び出し、自身のデバイストークンをプロバイダ1へ伝送する。以上に論じられている様に、当該トークンは、デバイスのUIDとデバイスのゾーン識別子の暗号化された組合せを含んでいる。図2に示されている様に、デバイス1はゾーン識別子であるゾーン15を有している。したがって、プロバイダ1が通知メッセージをデバイス1へ送信するとき、それはシステム内のゲートウェイの1つと接続する。様々な実施形態では、プロバイダ1は、ラウンドロビンDNSを介してゲートウェイへ接続するが、他の実施形態では、他の接続スキームを使用することができる。但し、プロバイダ1は何ら特定のゲートウェイへ接続しなくても通知メッセージをデバイス1へ成功裏にプッシュできる、ということに着目するのが肝要である。例えば、プロバイダ1が通常はゲートウェイ1と接続していて、デバイス1宛てのメッセージを送信している場合、ゲートウェイ1がメッセージに附随するトークンを目にし、メッセージがゾーン15のデバイス向けであることを理解する。ゲートウェイ1がゾーン9と関連付けられていることを考えると、ゲートウェイ1は経路指定表ルックアップ(例えば、DNSルックアップ)を遂行し、ゾーン15に責任のあるゲートウェイ2へメッセージを経路指定する。
ゲートウェイ2は、それのデバイス/クーリエマッピングに基づき、クーリエ2へメッセージを送信/転送する。クーリエ2がデバイス1へ接続されていることを考えて、デバイス1がゾーン15に属しておりゲートウェイ2がゾーン15の管理に責任のあることから、クーリエ2はデバイス1についてのデバイス情報をゲートウェイ2へ既に逆伝播させているはずである。したがって、ゲートウェイ2は、それのデバイスクーリエマッピングに基づき、メッセージをクーリエ2へ転送することが可能であり、するとクーリエ2がそれの接続をルックアップし、メッセージをデバイス1へ送信することができる。
図2では、クーリエ2はデバイス1とデバイス2の両方へ接続されており、それぞれのデバイスは異なったゾーンに属していることに留意されたい。したがって、クーリエ2は、それらデバイスのそれぞれについてのデバイス情報を各々のデバイスに該当するゾーンへ逆伝播させる。換言すると、ゲートウェイ2はゾーン15を管理していることを考えると、クーリエ2はデバイス1についてのデバイス情報をゲートウェイ2へ逆伝播させる。ゲートウェイ1はゾーン9の管理に責任のあることを考えると、クーリエ2はゾーン2についてのデバイス情報をゲートウェイ1へ逆伝播させる。上述の様に、逆伝播には、クーリエがゲートウェイデバイスとの接続を確立し、それの様々な移動体デバイスとの接続についての情報(例えば、デバイスについてのUID)を送信することが伴う。
別の例では、プロバイダ2が、通知メッセージをデバイス3へ送信することを望んでいる。プロバイダ2はゲートウェイ1との接続を確立すると仮定して、プロバイダ2がメッセージをゲートウェイ1へ送信したとき、メッセージがゾーン9のデバイス向けである(ゲートウェイ1はゾーン9に責任のある)ことを考えると、ゲートウェイ1は自身がメッセージを転送するのに適切なゲートウェイであると判断する。図2から分かる様に、クーリエ1とクーリエ2がどちらもそれぞれがゾーン9のデバイスへ接続されていることを考えると、ゲートウェイ1はクーリエ1とクーリエ2の両方と接続を有している。但し、クーリエ1及びクーリエ2によってそれぞれ逆伝播されるデバイス/クーリエマッピングに基づき、ゲートウェイ1はマッピング情報のルックアップを遂行し、メッセージを、その宛先であるデバイス3へ到達させるために、クーリエ1へ転送させるべきであると判断する。クーリエ1がメッセージを受信したら、クーリエ1はメッセージをデバイス3へ転送する。
図3は、様々な実施形態による動作の流れ図である。1つ又はそれ以上の移動体デバイスについての存在情報が、移動体デバイスへ接続されている各々のクーリエから動的に受信される310。それぞれの移動体デバイスについての存在情報は、UID及びゾーン識別子から成るトークンを含んでいる。ここでの使用に際し、「動的に受信する」という用語は、存在情報が静的ではないとする概念をいう。換言すると、デバイスは常に同じクーリエへ接続されているとは限らず、従って、ゲートウェイは、デバイス宛てのメッセージを正しいクーリエへ適切に転送するために動的に更新される必要がある。
通知メッセージが、第1ゲートウェイデバイスで、プロバイダアプリケーションから受信される320。通知メッセージは、移動体デバイストークンを含んでいる。トークンは、メッセージと関連付けられているゾーン識別子を判定するべく(例えば、ハッシングアルゴリズムを使用して)復号化される330。次いで、メッセージ中のゾーン識別子がゲートウェイによって現在管理されているゾーンに一致しているかどうかが判定される340。メッセージ中のゾーン識別子がゲートウェイによって管理されているゾーンに一致しない場合、ゲートウェイは、経路指定表ルックアップを遂行し、メッセージを、当該メッセージと関連付けられるゾーンを管理している適切なゲートウェイへ経路指定する360。メッセージ中のゾーン識別子がゲートウェイによって管理されているゾーンに正に一致する場合、ゲートウェイはそれのデバイス/クーリエマッピングを参照し、メッセージを適切なクーリエへ転送する350。
図4は、様々な実施形態による、動作の流れ図である。移動体デバイスは、クーリエデバイスへの接続を確立する410。接続は、クーリエ接続を確立するラウンドロビンDNSサーチ又は他のスキームを遂行することによって確立することができる。クーリエデバイスと接続すると、クーリエデバイスからゾーン識別子が受信される420。様々な実施形態では、ゾーン識別子は、クーリエとの初期接続時に限って受信される。換言すると、ゾーン識別子は、デバイスが新しいクーリエと接続する度毎に受信されるわけではない。そうではなく、ゾーン識別子は、デバイスがクーリエとの何らかの種類の接続を成した初回に限って受信される。
デバイスについてのトークンが生成され、暗号化アルゴリズムを介して暗号化される430。トークンは、デバイスの固有識別子(UID)とゾーン識別子の両方を含んでいる。暗号化は、既に説明されているハッシングアルゴリズムの様なハッシングアルゴリズムを使用して達成されてもよい。ひとたびトークンが生成され暗号化されたら、トークンはプロバイダアプリケーションへ伝送される440。例えば、移動体デバイスのユーザーは、或る特定のアプリケーション(例えば、ツイッター)をダウンロードする、インストールする、及び/又はそこへ加入するかもしれない。一部の実施形態では、移動体デバイスは、次に当該プロバイダアプリケーションを呼び出したとき、トークンをプロバイダへ伝送する440。トークンの伝送は、同様に、例えばユーザーがアプリケーション又はサービスを購買する及び/又はそれにサインアップする時点で起こってもよい。
続いて、メッセージが、プロバイダアプリケーションから、少なくとも1つのゲートウェイとクーリエを含んでいる通路を介して受信される450。換言すると、通路は、1つのゲートウェイを含んでいるかもしれないし、又は1つより多いゲートウェイを含んでいるかもしれない。但し、様々な実施形態では、通路はクーリエを1つしか含んでいないことになっている。(単数又は複数の)ゲートウェイとクーリエの間の転送用通路は、少なくとも一部は、当初にデバイスからプロバイダアプリケーションへ伝送されたトークンに基づいて確定される。
[二方向プッシュ通知のためのシステム及び方法の実施形態]
以上に論じられている様に、1つの実施形態では、プロバイダは、移動体デバイスへの通知をゲートウェイ及びクーリエを通してプッシュする。図5に示されている様に、アーキテクチャの一方の側では、移動体デバイスD1とD2が、特定のクーリエ531、532へのセキュア接続(例えば、SSL接続又はTLS接続)を確立することによってプッシュ通知を受信するよう登録する。上述の様に、クーリエ531、532は、それぞれのデバイスについて例えばデバイス毎のゾーン識別子及び固有デバイス識別子(UID)を含むネットワーク情報を保守している。ゾーン識別子は、デバイスが割り当てられている特定のゾーンを識別し、ひいては当該ゾーンに責任のあるゲートウェイを識別する。
図5に示されている特定の例では、ゲートウェイ521及び523は、ゾーン1−500宛てのプッシュ通知の経路指定に責任があり、ゲートウェイ522−524はゾーン501−1000宛てのプッシュ通知に責任がある。同じゾーン範囲宛てのトラフィックを扱うのに、冗長性、負荷均衡化、及び動的データトラフィック経路指定(本書に記載)を提供するべく、複数のゲートウェイが割り当てられている。例えば、ゲートウェイ523が動作不能になった場合、それのデータトラフィック(ゾーン1−500宛て)は、一時的にゲートウェイ521によってサービス供与されることになろう。但し、本発明の根底の原理は、何れの特定のゲートウェイ数にも、また何れの特定のゾーン割当のセットにも限定されないことに留意されたい。
1つの実施形態では、異なったデータセンターには異なったゲートウェイが置かれている。例えば、ゲートウェイ521及び522は第1のデータセンターに置かれ、ゲートウェイ523及び524は第2のデータセンターに置かれていてもよい。更に、同じデータセンター内に複数の冗長ゲートウェイが置かれていてもよい。本発明の根底の原理は、単一のデータセンター内で実施されてもよいし、又はデータセンターを跨いで実施されてもよい。
図5に示されている様に、プロバイダ501は、クーリエが移動体電話のために遂行するのと類似の機能を遂行している特定のインターフェース511を通して、ゲートウェイへ接続している。それぞれのインターフェース511は、プロバイダ501がプッシュ通知をSSL又はTLS接続(即ち、移動体デバイス上で実行されるアプリケーションを介しユーザーによって認定されている)を通して安全に伝送できるようにするプロセスである。例えば、ユーザーは、特定のニューストピック又はチームを求めて、又は何らかの他のアプリケーション固有の理由から、プッシュ通知を受信するように登録することであろう。プロバイダ501は、これらのプッシュ通知を、ユーザーの嗜好に基づいて、適切な時期に(例えば、周期的に、一部の特定の事象に応えて、など)生成する。
デバイスの存在情報は、ゲートウェイ側で、デバイスのプッシュトークンを使用して保守される。従って、プッシュ通知が或る特定のプッシュトークンへ向けられているゲートウェイで受信されたとき、ゲートウェイは、当該プッシュトークンと関連付けられているTCPソケット記述子があることを判定するべくルックアップを遂行する。ソケット記述子は、TCPソケット情報、並びにプッシュ通知を適切なクーリエ531(即ち、デバイスが現在接続されるのに経由しているクーリエ)へ伝送するのに必要な他のネットワーキング情報を提供する。
プロバイダは、デバイスを、当該デバイスのプッシュトークン(例えば、例中のデバイスD1を識別しているトークンT1)を使用して識別する。プッシュトークンは、当該ゾーンに責任のあるゲートウェイを間接的に識別するゾーン識別子を保有している(即ち、それぞれのゲートウェイは、特定されたゾーン範囲についての経路指定トラフィックに責任があるため)。図5に示されている例では、デバイスD1と関連付けられているトークンT1は、2つの冗長ゲートウェイであるゲートウェイ522及び524によって管理されているゾーン506を識別する。
したがって、図5に示されている例では、プッシュ通知は、ゲートウェイ522又は524のどちらかを通してデバイスD1へ伝送されることであろう。本発明の1つの実施形態では、ゲートウェイのそれぞれの間の負荷の均衡を図るためにラウンドロビンスキームが採用されている。代わりに、又は追加して、それぞれのゲートウェイとそれぞれのデバイスの間の通信チャネルの品質を監視し、相対的に高い品質の接続を提供しているゲートウェイが選択されるようにしてもよい。それぞれのゲートウェイ/デバイスチャネルの「品質」を確定するのに様々な異なった測定値が使用できるであろうが、本発明の1つの実施形態では、品質は、それぞれのゲートウェイとそれぞれのデバイスの間の伝送されるパケットについての測定往復時間に基づいている。したがって、図5に指し示されている様に、それぞれのデバイスと関連付けられる現在の往復時間(RTT)値が格納されていて、その後、特定のゲートウェイを通る特定の経路を選択するのに使用されている。冗長ゲートウェイ(521/523及び522/524)のそれぞれが異なったデータセンターに置かれていることを考えると、選択されるゲートウェイは、デバイスが現在付属しているクーリエと同じデータセンターに所在する傾向がある(とはいうものの、本発明の根底の原理はこの特定の実施形に限定されない)。
1つの実施形態では、プロバイダ501のインターフェース511は、特定のプッシュ通知を経路指定するのに必要なゲートウェイのそれぞれのネットワークアドレス(例えば、IPアドレス)を識別するために、初めに、ドメインネームサービス(DNS)呼び出しを行ってもよい。既に説明されている様に、我々の例でのT1の様なプッシュトークンはゾーンを識別しており、ゾーンは特定のゲートウェイセットを識別している(即ち、我々の例では、ゾーン506は冗長ゲートウェイ522及び524を識別している)。したがって、インターフェース511は、初めに、6.gateway.push.apple.com(即ち、アドレスの最初の部分の6はゾーン6を識別している)という形式のDNS問い合わせを生成する。すると、DNSサーバが、インターフェース問い合わせに、ゾーン6に責任のあるゲートウェイ522及び523のそれぞれのIPアドレスを返答する。インターフェース511は、次いで、プッシュ通知を伝送するためのゲートウェイの1つを選択する。
1つの実施形態では、インターフェース511は、特定のゲートウェイを、プッシュが向けられている特定のデバイスについて当該ゲートウェイと関連付けられる現在の往復時間(RTT)に基づいて選択する。例えば、ゲートウェイ522がゲートウェイ524より相対的に短いRTTを有しているなら、インターフェース511はゲートウェイ522を選択することになる。代わりに、インターフェースが相対的に低いRTTを有するゲートウェイを選択するのではなしに、最も低いRTTを有するゲートウェイのネットワークアドレスが、DNS問い合わせに応えてインターフェースへ提供されるようになっていてもよいし、又はネットワークアドレスのセットが優先順位の付けられた順に(最も低いRTTを有するゲートウェイのネットワークアドレスを優先順位の付けられたリストの最上位に配して)インターフェースへ送信されるようになっていてもよい。この実施形態では、様々なRTT値を引き出して処理するために、DNSはゲートウェイのそれぞれと一体化されているか又は通信していてもよい。但し、本発明の根底の原理は、経路がゲートウェイを通して選択される特定の方式に限定されないことに留意されたい。本発明の範囲内で、様々な異なった構成が実施可能であり、考えられる。
RTT値に基づく経路指定に加え、1つの実施形態では、ラウンドロビンスキームも実施されている(例えば、負荷均衡化のため)。例えば、ゲートウェイのそれぞれと関連付けられるRTT値が指定された閾値内にある限り、どちらのゲートウェイも実行可能な経路指定選択肢となり得る。その様な事例では、ラウンドロビンスキームの連続の中の次のゲートウェイが選択されることになる。1つの実施形態では、ラウンドロビンスキームは、指定された閾値内のRTT値を有するそれらのゲートウェイに限定して遂行されている。例えば、8つの異なった実施可能なゲートウェイがあって、但し、RTT値が閾値内にあるのは2つだけである場合、ラウンドロビンスキームは当該2つのゲートウェイの間でのみ実施されるということになる。この実施形態は、同じデータセンター内に、同じゾーン又は同じゾーン範囲に責任のあるゲートウェイが複数存在している場合に好都合である。その様な事例では、2つのゲートウェイは比較的似通ったRTT値を有しているかもしれず、但しこれらのRTT値は残り6つのゲートウェイ(異なったデータセンターに所在)よりも有意に低いということがある。当然ながら、本発明の根底の原理は、ゲートウェイのデータセンター間での何らかの特定の分配に限定されないことに留意されたい。
1つの実施形態では、RTTは静的閾値とは比較されない。むしろ、様々なRTT値間の差が比較され、幾つかが他より特定の閾値差を超えて有意に低い場合には、より低いRTT値を有するゲートウェイが選択されることになろう。
プッシュ通知を経路指定するための方法の1つの実施形態が図6に示されている。方法は、図5に示されているアーキテクチャとの関連内で実施することができるが、但し、何れかの特定のシステムアーキテクチャに限定されない。
601で、プッシュ通知サービスに対してデバイスを識別する(例えば、デバイスが接続されるのに経由している特定のクーリエを識別する)存在情報が特定の移動体デバイスから受信される。上述の様に、1つの実施形態では、デバイスのトークンは、それぞれのゲートウェイをそれぞれのクーリエへ接続しているTCPソケットを識別するソケット記述子と関連付けられており、クーリエ自体はデバイスとの接続を保守している。
602で、デバイスのそれぞれとゲートウェイのそれぞれの間の往復時間(RTT)が監視される。1つの実施形態では、それぞれのGW/デバイス組合せについてのRTT値は、ゲートウェイによって管理されている表内で継続的に更新されるが、その様な構成は、本発明の根底の原理に準拠する上で必須ではない。
603で、ユーザーが加入している特定のプロバイダによって、プッシュ通知が生成される。例えば、特定の事象がユーザーの好みのチームの1つに関連付けて起こったり、ユーザーのデバイスにインストールされているソフトウェアのニューバージョンが利用可能になったりすることであろう。
604で、プッシュ通知を特定のゲートウェイを通して経路指定するべく経路が選定される。前述の様に、経路は、プロバイダが接続されるのに経由しているインターフェースによるDNS問い合わせに応えて指し示されてもよいし、或いは代わりにインターフェース自身によって作成されてもよい。加えて、(以上に論じられている様に)限定ラウンドロビンスキームがRTT値と組み合わせて実装されていてもよい。特定の実装とは関係なく、ゲートウェイは、プッシュ通知をデバイスへ効率良く経路指定するように選択されればよい。
[二方向プッシュのためのシステム及び方法]
以上の論考は、プロバイダによって生成されるプッシュ通知が移動体デバイスへ経路指定される一方向の実施形に焦点が当てられた。追加して、本発明の1つの実施形態は、デバイスからプロバイダへのプッシュチャネルを開き、それにより、プロバイダとデバイスの間の双方向プッシュ通信を可能にする。双方向の実施形は、例えば、プロバイダへのフィードバック通知を生成するのに使用することができる(例えば、開封確認メッセージを使用して、ユーザーが読んだとき、確認応答したとき、又はそれ以外にプッシュ通知を実行したときを検知する)。
図7を参照して、1つの実施形態では、プロバイダは、プロバイダが通知に備えて傾聴していることを指し示すために、事前に指定されているTCPポートへのソケット接続をインターフェース711を介して開く。図7に示されている例では、このポートは、総称的に「ポートX」と呼称されているが、何れの事前指定のポートが使用されてもよい。認証目的で、それぞれのプロバイダには、プロバイダ用のゾーン番号を生成するのに使用することのできる固有証明書が割り当てられている。1つの実施形態では、プロバイダは、自身の証明書をインターフェースへ提供し、するとインターフェースは証明書に対しハッシュ(例えば、SHA−1ハッシュ)を遂行して、ゾーン番号、即ち図7に示されている例ではゾーン518、を含んでいるプロバイダトークン(デバイストークンに類似)を生成する。このトークン/ゾーン番号は、次いで、移動体デバイス上のアプリケーション(又は他のサービス)によって、プッシュ通知を各プロバイダそれぞれへ伝送するために指定される。
その結果、クーリエがデバイスの存在をゲートウェイと一体に(以上に論じられている様に)登録するのと丁度同じ様に、それぞれのプロバイダは自身の存在をそれのゾーンに責任のあるゲートウェイ内に登録することになる。図7に指し示されている様に、プロバイダの存在データは、プロバイダの割当先ゾーンに責任のあるそれぞれのゲートウェイ上の表に格納される。指し示されている様に、存在情報は、ゲートウェイと各プロバイダそれぞれの間で伝送されるパケットの往復時間(RTT)を含んでいてもよい。プロバイダと関連付けられるRTT値は、上述の様にクーリエについてのRTT値がゲートウェイを選択するのに使用されているのと丁度同じ様に、今度はゾーンについて冗長ゲートウェイのそれぞれの間で選択するのに使用されることになる。図7に示されてはいないが、ゲートウェイ524について示されているのと同じプロバイダ存在及びデバイス存在がゲートウェイ522内に格納されていることに留意されたい。
プッシュ通知を特定のプロバイダへ伝送するデバイスは、プロバイダをプロバイダトークンを使って識別しており、プロバイダトークンは当該トークンと関連付けられるゾーンを使用するゲートウェイを識別している。1つの実施形態では、デバイスが初めに接続されているクーリエは、プロバイダのトークンからプロバイダのゾーン番号を抽出し、ゾーン番号を使用して、当該ゾーンに責任のあるゲートウェイのIPアドレスを識別するためのDNS問い合わせ(例えば、518.gateway.push.apple.com、ここに518はゾーンを識別している)を生成する。DNS機能性は、ゲートウェイと同じハードウェアプラットフォーム内に実装されていてもよいし、別体の専用ハードウェアを使用していてもよい。次いで、複数の冗長ゲートウェイについてのDNS問い合わせに応えて、複数のIPアドレスが返されるであろう。1つの実施形態では、これらのIPアドレスは、(以上に論じられている様に)ラウンドロビンスキーム、RTT値、又はそれら2つの組合せを使用して優先順位が付けられていてもよい。例えば、ゲートウェイの或るセットが、この特定のプロバイダ用の他のゲートウェイより有意に低い(例えば、指定されている閾値量だけ低い)RTT値を有しているなら、このゲートウェイセットに対しラウンドロビンスキームが実施されることになろう。
ゲートウェイがどの様に優先順位を付けられているかに関係なく、選択されたゲートウェイは、プロバイダが接続されているインターフェースについてのソケット記述子データを使用して、プッシュ通知をプロバイダへ伝送する。プロバイダは、次いで、プッシュ通知の内容を読み出し、何らかのアプリケーション特有の方式で応答する。例えば、プッシュ通知が開封確認メッセージであるなら、プロバイダは、開封確認メッセージ中に保有されている情報をユーザーデータベース内に格納してもよい。当然ながら、本発明の根底の原理は、ここに説明されている逆プッシュ機能の何らかの特定の使用に限定されない。また、本発明の根底の原理になお準拠しながらも、同じプロバイダが幾つかの異なったゲートウェイを経由して幾つかの異なったインターフェースへ接続されていることもあろう。
図8は、本発明の1つの実施形態による方法を示している。方法は、図7に示されているアーキテクチャとの関連内で実行することができるが、何らかの特定のアーキテクチャに限定されない。
801で、プロバイダは、プッシュ通知サービスへ規定されたポート(例えば、図7に示されている例ではポートX)を介して接続し、自身の証明書を提供する。802で、証明書のハッシュが遂行されて、プロバイダについてゾーンが識別される。803で、プロバイダの存在データ(例えば、TCPソケットデータ及び現在の状態)が、この特定のゾーンに責任のあるゲートウェイ内に格納される。804で、プッシュ通知がデバイスの1つから受信され、ゲートウェイのそれぞれを経由するソケット接続の現在の品質(例えば、1つの実施形態では往復時間によって識別されている)に基づいて特定のゲートウェイを通る経路が選択される。最終的に、805で、逆プッシュ通知はプロバイダによって受信され、プロバイダは逆プッシュ通知の受信に対して幾つもの数の事前に指定されているやり方で振る舞う。
本発明の実施形態は、以上に述べられている様々な段階を含んでいる。それら段階は、汎用又は特殊目的のプロセッサに特定の段階を遂行させる機械実行可能命令に具現化されていてもよい。代わりに、これらの段階は、段階を遂行するためのハードウェ論理を保有している特定のハードウェア構成要素によって遂行されてもよいし、又はプログラムされたコンピュータ構成要素及びカスタムハードウェア構成要素の何らかの組合せによって遂行されてもよい。
本発明の要素は、更に、機械実行可能プログラムコードを格納するための機械可読媒体として提供されてもよい。機械可読媒体には、限定するわけではないが、フロッピーディスケット、光ディスク、CD−ROM、光磁気ディスク、ROM、RAM、EPROM、EEPROM、磁気又は光学カード、又は電子プログラムコードを格納するのに適した他の型式の媒体/機械可読媒体、が含まれよう。
以上の記述全体を通し、本発明が十分理解されるように、解説を目的に、数多くの特定の詳細事項を述べてきた。とはいえ、本発明はこれらの特定の詳細事項の一部無しに実践され得ることが当業者には自明であろう。例えば、ここに記載されている機能モジュール及び方法は、ソフトウェアとして、又はハードウェアとして、又はそれらの何らかの組合せとして、実装されることが、当業者には容易に理解できよう。また、本発明の実施形態はここでは移動体コンピューティング環境(即ち、移動体デバイス120−123;601−603を使用)との関連内で説明されているが、本発明の根底の原理は、移動体コンピューティング実装に限定されない。実際に、一部の実施形態では、例えばデスクトップコンピュータ又はワークステーションコンピュータを含め、何れの型式のクライアント又はピアデータプロセッシングデバイスが使用されてもよい。従って、本発明の範囲及び精神は、以下に続く特許請求の範囲に鑑みて判断されるべきである。
102 プロバイダ
110 ゲートウェイ
112 経路指定表
114 認証部
116 デバイス/クーリエマッピング
120 クーリエ
122 逆伝播モジュール
124 接続モジュール
126 デバイス情報
130 移動体デバイス
132 メモリ
134 送信器
136 受信器
138 アプリケーション
140 プロセッサ
142 接続モジュール
144 暗号化モジュール
501 プロバイダ
511 インターフェース
521、522、523、524 ゲートウェイ
531、532 クーリエ
1、D2 移動体デバイス
1、T2 トークン

Claims (16)

  1. プロバイダと移動体デバイスの間の二方向プッシュ通信を確立するための方法であって、
    第1のプロバイダが1人又はそれ以上のユーザーのセットからのプッシュ通知を受信することを選択したとの指示を受信する処理と、
    第1のユーザーが1つ又はそれ以上のプロバイダのセットからのプッシュ通知を受信することを選択したとの指示を受信する処理と、
    前記第1のユーザー及び前記第1のプロバイダと関連付けられる存在情報であって、当該第1のユーザー及び当該第1のプロバイダが、それぞれ、現在ネットワークに接続されていてプッシュ通知に備えて傾聴しているかどうかを指し示す存在情報を、監視する処理と、
    前記第1のユーザー宛てのプッシュ通知を受信したことに応えて、前記第1のユーザーの現在のネットワーク場所を識別し、前記プッシュ通知を前記第1のユーザーへ転送する処理と、
    前記1人又はそれ以上のユーザーのセットからの前記第1のプロバイダ宛てのプッシュ通知を受信したことに応えて、前記プロバイダがプッシュ通知に備えて傾聴している現在のネットワーク場所を識別し、前記プッシュ通知を前記第1のプロバイダへ転送する処理と、が実行され、
    前記プッシュ通知を前記第1のプロバイダへ転送する処理は、第1のゲートウェイと第2のゲートウェイの間で前記プッシュ通知を伝送するのにどちらを経由するかを選択することを含み、当該選択は、前記第1のプロバイダと第1のゲートウェイの間及び前記第1のプロバイダと第2のゲートウェイの間の伝送されるパケットについてチャネル品質を測定し、及び前記第1のゲートウェイと前記第2のゲートウェイの間で、前記測定されたチャネル品質に基づいて選択することを更に含む、方法。
  2. 前記第1のプロバイダが1人又はそれ以上のユーザーのセットからのプッシュ通知を受信することを選択したとの指示を受信する処理は、前記第1のプロバイダが接続されていてプッシュ通知に備えて傾聴している現在のネットワークポートの指示を受信する処理を含む、請求項1に記載の方法。
  3. 前記第1のプロバイダ宛ての前記プッシュ通知は、当該プッシュ通知と関連付けられるユーザーが、以前に前記プロバイダによって前記ユーザーへ伝送されているプッシュ通知を読んだことを指し示す開封確認メッセージを含む、請求項1に記載の方法。
  4. チャネル品質を測定する処理は、前記第1のプロバイダと第1のゲートウェイの間及び前記第1のプロバイダと第2のゲートウェイの間の伝送されるパケットについて往復時間を監視する処理を含む、請求項に記載の方法。
  5. 前記ゲートウェイで関連付けられる往復時間が相対的に低い方を選択する処理を更に含む、請求項に記載の方法。
  6. 前記第1のプロバイダと前記第1のゲートウェイの間の測定された前記チャネル品質が、前記第1のプロバイダと第2のゲートウェイの間の測定された前記チャネル品質の指定されている閾値量内にあれば、ラウンドロビンスキームを採用して、前記第1のプロバイダへの前記プッシュ通知の伝送について前記第1のゲートウェイと前記第2のゲートウェイの間で選択する、請求項1に記載の方法。
  7. それぞれのゲートウェイ上のプロバイダ存在表であって、当該ゲートウェイと各プロバイダそれぞれの間の前記接続と関連付けられる更新されたチャネル品質値を保有しているプロバイダ存在表を、保守する処理を更に含む、請求項に記載の方法。
  8. 前記チャネル品質値は、前記ゲートウェイと前記プロバイダの間の伝送されるパケットの往復時間を含む、請求項に記載の方法。
  9. プログラムコードを格納するためのメモリと、動作を遂行するべく前記プログラムコードを処理するためのプロセッサとを備えたシステムであって、
    第1のプロバイダが1人又はそれ以上のユーザーのセットからのプッシュ通知を受信することを選択したとの指示を受信する動作と、
    第1のユーザーが1つ又はそれ以上のプロバイダのセットからのプッシュ通知を受信することを選択したとの指示を受信する動作と、
    前記第1のユーザー及び前記第1のプロバイダと関連付けられる存在情報であって、当該第1のユーザー及び当該第1のプロバイダが、それぞれ、現在ネットワークに接続されていてプッシュ通知に備えて傾聴しているかどうかを指し示す存在情報を、監視する動作と、
    前記第1のユーザー宛てのプッシュ通知を受信したことに応えて、前記第1のユーザーの現在のネットワーク場所を識別し、前記プッシュ通知を前記第1のユーザーへ転送する動作と、
    前記1人又はそれ以上のユーザーのセットからの前記第1のプロバイダ宛てのプッシュ通知を受信したことに応えて、前記プロバイダがプッシュ通知に備えて傾聴している現在のネットワーク場所を識別し、前記プッシュ通知を前記第1のプロバイダへ転送する動作と、
    を遂行するべくプログラムコードであって、
    前記プッシュ通知を前記第1のプロバイダへ転送する動作は、第1のゲートウェイと第2のゲートウェイの間で前記プッシュ通知を伝送するのにどちらを経由するかを選択することを含み、当該選択は、前記第1のプロバイダと第1のゲートウェイの間及び前記第1のプロバイダと第2のゲートウェイの間の伝送されるパケットについてチャネル品質を測定し、及び前記第1のゲートウェイと前記第2のゲートウェイの間で、前記測定されたチャネル品質に基づいて選択することを更に含む前記プログラムコードを処理するためのプロセッサを有しているシステム。
  10. 前記第1のプロバイダが1人又はそれ以上のユーザーのセットからのプッシュ通知を受信することを選択したとの指示を受信する動作は、前記第1のプロバイダが接続されていてプッシュ通知に備えて傾聴している現在のネットワークポートの指示を受信する動作を含む、請求項に記載のシステム。
  11. 前記第1のプロバイダ宛ての前記プッシュ通知は、当該プッシュ通知と関連付けられるユーザーが、以前に前記プロバイダによって前記ユーザーへ伝送されているプッシュ通知を読んだことを指し示す開封確認メッセージを含む、請求項10に記載のシステム。
  12. チャネル品質を測定する動作は、前記第1のプロバイダと第1のゲートウェイの間及び前記第1のプロバイダと第2のゲートウェイの間の伝送されるパケットについて往復時間を監視する動作を含む、請求項に記載のシステム。
  13. 前記プロセッサに、追加の動作、即ち、
    前記ゲートウェイで関連付けられる往復時間が相対的に低い方を選択する動作を遂行させる追加のプログラムコードを含む、請求項12に記載のシステム。
  14. 前記第1のプロバイダと前記第1のゲートウェイの間の測定された前記チャネル品質が、前記第1のプロバイダと第2のゲートウェイの間の測定された前記チャネル品質の指定されている閾値量内にあれば、ラウンドロビンスキームを採用して、前記第1のプロバイダへの前記プッシュ通知の伝送について前記第1のゲートウェイと前記第2のゲートウェイの間で選択する、請求項に記載のシステム。
  15. 前記プロセッサに、追加の動作、即ち、
    それぞれのゲートウェイ上のプロバイダ存在表であって、当該ゲートウェイと各プロバイダそれぞれの間の前記接続と関連付けられる更新されたチャネル品質値を保有しているプロバイダ存在表の保守動作を遂行させる追加のプログラムコードを含む、請求項11に記載のシステム。
  16. 前記チャネル品質値は、前記ゲートウェイと前記プロバイダの間の伝送されるパケットの往復時間を含む、請求項15に記載のシステム。
JP2014513733A 2011-06-03 2012-06-01 二方向プッシュ通知のためのシステム及び方法 Active JP5756884B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161492882P 2011-06-03 2011-06-03
US61/492,882 2011-06-03
US13/224,572 US8526455B2 (en) 2011-06-03 2011-09-02 System and method for two way push notifications
US13/224,572 2011-09-02
PCT/US2012/040410 WO2012167040A1 (en) 2011-06-03 2012-06-01 System and method for two way push notifications

Publications (2)

Publication Number Publication Date
JP2014524164A JP2014524164A (ja) 2014-09-18
JP5756884B2 true JP5756884B2 (ja) 2015-07-29

Family

ID=46210470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014513733A Active JP5756884B2 (ja) 2011-06-03 2012-06-01 二方向プッシュ通知のためのシステム及び方法

Country Status (6)

Country Link
US (1) US8526455B2 (ja)
EP (1) EP2716010B1 (ja)
JP (1) JP5756884B2 (ja)
SG (1) SG194617A1 (ja)
TW (1) TWI489823B (ja)
WO (1) WO2012167040A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009150439A1 (en) * 2008-06-13 2009-12-17 Christopher Simon Gorman Content system
EP2564364A1 (en) 2010-04-30 2013-03-06 Now Technologies (IP) Limited Content management apparatus
US8930277B2 (en) 2010-04-30 2015-01-06 Now Technologies (Ip) Limited Content management apparatus
US9075960B2 (en) 2013-03-15 2015-07-07 Now Technologies (Ip) Limited Digital media content management apparatus and method
CN104123281B (zh) * 2013-04-23 2018-03-20 炫客集团 使用位置信息提供建议的方法和系统
US9608890B1 (en) 2013-12-23 2017-03-28 Kabam, Inc. System and method for forwarding external notifications of events in a virtual space from a user device to a presentation control device
US9473912B2 (en) 2014-05-30 2016-10-18 Apple Inc. SMS proxying
US9654581B2 (en) 2014-05-30 2017-05-16 Apple Inc. Proxied push
US10171605B2 (en) 2016-07-15 2019-01-01 Apple Inc. Dual channel delivery
US11095740B2 (en) 2019-04-18 2021-08-17 Bank Of America Corporation Two-way push notification of activity events through a wireless device
CN113434764B (zh) * 2021-06-29 2023-10-24 青岛海尔科技有限公司 内容推送方法和装置、存储介质及电子装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002017602A1 (en) * 2000-08-22 2002-02-28 Symbian Limited Method of and apparatus for communicating user related information using a wireless information device
US6990534B2 (en) * 2001-07-20 2006-01-24 Flowfinity Wireless, Inc. Method for a proactive browser system for implementing background frame maintenance and asynchronous frame submissions
JP4045109B2 (ja) * 2002-03-20 2008-02-13 株式会社日立コミュニケーションテクノロジー コンテンツデータ配信システムおよびコンテンツデータ配信方法
EP1665711B8 (en) * 2003-09-17 2016-12-14 Google Technology Holdings LLC System and method for asynchronous wireless services using reverse service schema generation
US20070124393A1 (en) 2005-11-18 2007-05-31 Oracle International Corporation Presence based notifications
US20070174246A1 (en) * 2006-01-25 2007-07-26 Sigurdsson Johann T Multiple client search method and system
US9088589B2 (en) * 2006-09-27 2015-07-21 Avaya Inc. Bidirectional user notification system for media quality control
JP2008263326A (ja) 2007-04-11 2008-10-30 Nec Corp 情報配信システム及びそれに用いる情報配信方法
EP2073467A1 (en) 2007-12-21 2009-06-24 Nokia Siemens Networks Oy Messaging mechanism
WO2009150439A1 (en) * 2008-06-13 2009-12-17 Christopher Simon Gorman Content system
US8064896B2 (en) 2009-03-09 2011-11-22 Apple Inc. Push notification service
US20110131177A1 (en) * 2009-12-01 2011-06-02 Sheth Niral S Method and system for providing rapid updating of services in an ims environment
US8438294B2 (en) * 2010-04-07 2013-05-07 Apple Inc. Application programming interface, system, and method for collaborative online applications
KR20120026859A (ko) * 2010-09-10 2012-03-20 삼성전자주식회사 휴대 단말기를 이용한 소셜 네트워크 서비스 제공 방법 및 시스템
US20120278195A1 (en) * 2011-04-27 2012-11-01 Douglas Joseph Method for locating a provider and a provider locating system
US8942115B2 (en) * 2011-06-03 2015-01-27 Apple Inc. System and method for dynamic routing for push notifications

Also Published As

Publication number Publication date
TW201251384A (en) 2012-12-16
EP2716010B1 (en) 2017-05-24
US20120307655A1 (en) 2012-12-06
TWI489823B (zh) 2015-06-21
EP2716010A1 (en) 2014-04-09
SG194617A1 (en) 2013-12-30
JP2014524164A (ja) 2014-09-18
US8526455B2 (en) 2013-09-03
WO2012167040A1 (en) 2012-12-06

Similar Documents

Publication Publication Date Title
JP5756884B2 (ja) 二方向プッシュ通知のためのシステム及び方法
US10091005B2 (en) Push notification service
US8942115B2 (en) System and method for dynamic routing for push notifications
EP2721787B1 (en) Principal-identity-domain based naming scheme for information centric networks
CN102812671B (zh) 用于进行diameter消息处理器间路由的方法、系统和计算机可读介质
US7636764B1 (en) Cloud resource usage in data forwarding storage
US7978631B1 (en) Method and apparatus for encoding and mapping of virtual addresses for clusters
JP2016509457A (ja) 情報中心のネットワークにおけるトラストアンカーを用いたプロトコルのルーティングに基づく名前/プレフィックスの増加
JP2008533879A (ja) 身元情報とディレクトリ管理とを備える通信方法及びシステム
EP2928117B1 (en) System and method for device registration and discovery in content-centric networks
US7613828B2 (en) Store-and-forward messaging channel for occasionally connected mobile applications
US9838351B2 (en) Method and system for federation of proxy-based and proxy-free communications systems
JP2015197919A (ja) コンテンツ中心ネットワークにおける動的名称設定のためのシステム及び方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150327

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: 20150430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150601

R150 Certificate of patent or registration of utility model

Ref document number: 5756884

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