JP6044009B2 - 情報処理装置、宛先情報更新方法、およびプログラム - Google Patents

情報処理装置、宛先情報更新方法、およびプログラム Download PDF

Info

Publication number
JP6044009B2
JP6044009B2 JP2015523765A JP2015523765A JP6044009B2 JP 6044009 B2 JP6044009 B2 JP 6044009B2 JP 2015523765 A JP2015523765 A JP 2015523765A JP 2015523765 A JP2015523765 A JP 2015523765A JP 6044009 B2 JP6044009 B2 JP 6044009B2
Authority
JP
Japan
Prior art keywords
destination
terminal
destination identifier
push
identifier
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.)
Expired - Fee Related
Application number
JP2015523765A
Other languages
English (en)
Other versions
JPWO2014207880A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of JP6044009B2 publication Critical patent/JP6044009B2/ja
Publication of JPWO2014207880A1 publication Critical patent/JPWO2014207880A1/ja
Expired - Fee Related 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/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • 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/234Monitoring or handling of messages for tracking 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
    • 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/50Network services
    • H04L67/53Network services using third party service providers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、情報処理装置、宛先情報更新方法、およびプログラムに関する。
情報を配信するサービスを提供する業者が有するWebサーバ(以下単に、Webサーバと呼ぶことがある)からスマートフォンやタブレットなどの移動通信端末であるクライアント端末へメッセージを送り込むプッシュ型配信システムを利用したサービスが増えている。このようなサービスの例としては、Android(登録商標)のGoogle Cloud Messaging(GCM)やiOS(登録商標)のApple Push Notification Service(APNs)(登録商標)などがある。
一般に、プッシュ型配信システムは、サーバ(PUSH(プッシュ)サーバとも呼ぶ)と、情報を配信する業者が所有するウェブサーバ(以下単に、ウェブサーバと呼ぶことがある)を含む。PUSHサーバとウェブサーバはインターネット(クラウドネットワーク)上に置かれている。サーバはクライアント端末と携帯電話回線または無線LAN経由で接続され、適切なタイミングでサーバからクライアント端末にインストールされたアプリケーションのデータ等の情報を送信することができる。
プッシュ型配信システムでは、プッシュメッセージの送り先はクライアント端末にインストールされたアプリケーションとなるため、クライアント端末とアプリケーションの組み合わせを一意に識別できる宛先情報が必要となる。この宛先情報はクライアント端末がプッシュ型配信システムの使用を始める際に、プッシュ型配信システムのPUSHサーバから取得する。宛先情報はプッシュサーバが一意となる情報を生成する。また、端末へ割り振られた宛先情報は、プッシュ型配信システムとは異なるルートでサービスを提供する業者が有するウェブサーバに伝えられる。
宛先情報はセキュリティの観点から、PUSHサーバが定期的に更新することが望ましい。初めにPUSHサーバと端末間で宛先情報の更新が行われる。その後、端末からウェブサーバへ新しい宛先情報を通知することで全体の宛先情報更新が完了する。
特開2003−134566号公報 特開2004−56543号公報 国際公開公報WO2008/035450号 特開2012−230555号公報
プッシュ型配信システムは、クラウドネットワークから必要なタイミングでクライアント端末へメッセージを送れることが重要であり、リアルタイム性が要求される。一方で、宛先情報はセキュリティの観点から、プッシュサーバが定期的に更新することが望ましい。初めにプッシュサーバとクライアント端末間で宛先情報を更新し、その後、クライアント端末から情報を配信するサービスを提供する業者が有するウェブサーバへ新しい宛先情報を通知することで全体の宛先情報更新が完了する方法では、宛先情報の更新に際して、端末、プッシュサーバとウェブサーバの間で宛先情報の更新に時間差が生じる。そのため、サービスを提供する業者が有するウェブサーバからプッシュメッセージを送信できなくなり、プッシュ型配信システムのリアルタイム性が損なわれる場合があるという問題がある。
よって、一つの側面として、本発明は、プッシュ型配信システムにおいて、セキュリティを確保しつつリアルタイム性を損なわずに、宛先情報を更新する情報処理装置、宛先情報更新方法、および宛先情報更新プログラムを提供することを目的とする。
ウェブサーバからのプッシュメッセージ送信依頼通知に応じて、識別子として第1の宛先識別子を有するアプリケーションがインストールされている端末に向けてプッシュメッセージを送信する情報処理装置が提供される。情報処理装置は、端末にインストールされているアプリケーションに対応して、端末に保持されている第1の宛先識別子を端末宛先識別子として保持するとともに、第1の宛先識別子をサービス宛先識別子として保持する宛先ID保持部と、第2の宛先識別子を端末に送信し、端末が第1の宛先識別子を第2の宛先識別子に更新したことを示す宛先ID更新完了通知を、端末から受信するプッシュ送受信部と、宛先ID保持部の端末宛先識別子を第1の宛先識別子から第2の宛先識別子に更新する宛先ID更新部と、ウェブサーバから受信したプッシュメッセージ送信依頼通知に含まれる第3の宛先識別子が宛先ID保持部のサービス宛先識別子に一致する場合、ウェブサーバに端末宛先識別子を通知するとともに、第3の宛先識別子に代えて端末宛先識別子を含むプッシュメッセージを生成し、第2のプッシュメッセージを端末へ向けて送信するようにプッシュ送受信部に指示するプッシュ受付部と、を含むことを特徴とする。
プッシュ型配信システムにおいて、セキュリティを確保しつつリアルタイム性を損なわずに、宛先情報を更新する情報処理装置、宛先情報更新方法、および宛先情報更新プログラムが提供される。
プッシュ型配信システムの概略を示す図である。 比較例におけるPUSHサーバの宛先ID保持部に保持される宛先テーブルの例を示す図である。 比較例における宛先情報更新処理における処理の流れの例を示す図である。 比較例における宛先情報更新処理における処理の流れの別の例を示す図である。 実施例におけるPUSHサーバ、端末、ウェブサーバの機能ブロック図の例を示す図である。 実施例におけるPUSHサーバの宛先ID保持部に保持される宛先テーブルの例を示す図である。 宛先ID更新通知のフォーマットの例を示す図である。 宛先ID更新完了通知のフォーマットの例を示す図である。 プッシュメッセージ送信依頼通知のフォーマットの例を示す図である。 プッシュメッセージ送信依頼通知への応答通知のフォーマットの例を示す図である。 プッシュメッセージのフォーマットの例を示す図である。 実施例における複数回の宛先情報更新処理における宛先テーブルの例を示す図である。 実施例における情報処理装置の構成の例を示す図である。 宛先情報更新処理における処理の流れの例を示す図である。
以下ではまず、図1〜4を参照しながら、プッシュ型配信システムの比較例について説明する。そして、図5〜10を参照して、プッシュ型配信システムの実施例について説明する。プッシュ型配信システムの実施例では、ウェブサーバからのプッシュメッセージ送信依頼通知に応じて端末へプッシュメッセージを送信するプッシュサーバにおいて、端末にインストールされているアプリケーションの識別子を含む宛先情報を更新する際に、プッシュサーバは、更新前と更新後の宛先情報を保持し、更新前の宛先情報を指定したプッシュメッセージ送信依頼通知を受け付け、更新後の宛先情報に変換してプッシュメッセージを端末へ送信するようなプッシュ型配信システムが開示される。
<比較例>
図1は、プッシュ型配信システムの概略を示す図である。図1に示されているように、一般に、プッシュ型配信システム10は、クラウドネットワーク(またはインターネット)のサーバであるPUSHサーバ(プッシュサーバ)11、端末12、情報を配信するサービスを提供する事業者のWebサーバ13(以下単に、ウェブサーバと呼ぶことがある)から構成される。端末12とウェブサーバ13はプッシュサーバを有するクラウドネットワークに接続されている。ウェブサーバ13を所有する事業者が提供するサービスには、端末を所有するユーザが端末にアプリケーションとしてインストールすることによって受けられるものであれば、特に限定されない。サービスの具体例としては、ソーシャルネットワークのプラットフォームや、ソーシャルゲームや、娯楽、ニュース、街情報などに関わる情報の配信が含まれる。もちろん、サービスはこれらには限定されない。
端末12はスマートフォンやタブレットなどの移動携帯端末であり得て、端末12には、情報を配信するサービスを実現するアプリケーションがインストールされる。プッシュ型配信システムでは、PUSHサーバ11から送信されるプッシュメッセージの宛先は端末12にインストールされたアプリケーションとなるため、端末12とアプリケーションの組み合わせを一意に識別できる宛先情報が付与される。
一般に、PUSHサーバ11と端末12の間の通信は、たとえばTCPまたは独自のプロトコルに則って行われ得て、両者は常に通信可能な状態に置かれる。つまり、PUSHサーバ11から端末12へは、リアルタイムでメッセージのユニキャスト送信が可能である。このユニキャスト送信に用いられるプロトコルでは、TCPソケット上で独自のメッセージフォーマットが規定されていても良い。
PUSHサーバ11とウェブサーバ13の間の通信は、たとえばHTTPプロトコルに則って行われ得て、ウェブサーバ13からPUSHサーバ11に要求(リクエスト)を送信すると、PUSHサーバ11からウェブサーバ13に返答(リプライ)が送信されるようなものであり得る。
ウェブサーバ13を所有する業者が提供する情報は、まず、ウェブサーバ13からPUSHサーバ11にプッシュメッセージ送信依頼通知が送られる。プッシュメッセージ送信依頼通知とは、PUSHサーバ11に、端末12にインストールされたアプリケーションにデータを配信させるような通知である。そのプッシュメッセージ送信依頼通知に応答して、PUSHサーバ11は、端末12へプッシュメッセージをユニキャスト送信する。つまり、プッシュ型配信システムでは、プッシュメッセージの送り先は端末12にインストールされたアプリケーションである。プッシュ型配信システムでは、PUSHサーバが独自に生成した宛先を示す識別子(ID)である宛先IDが使用される。
ここで、宛先IDは、ある端末12にインストールしたアプリケーションを特定する。
図1に示されているように、PUSHサーバ11、端末12、ウェブサーバ13はそれぞれ、宛先ID保持部111、121、131を含む。また、PUSHサーバ11は、宛先ID生成部110を含む。宛先ID生成部110は、セキュリティの確保のために、端末12にインストールされたアプリケーションに対応する宛先IDを定期的、または外部からの指令に応じて更新する際に、更新後の識別子(ID)を生成する処理を行う。図1では、PUSHサーバ11が、宛先IDを生成することを強調するために宛先ID生成部110を図示したが、PUSHサーバ11、端末12、ウェブサーバ13は他に、通信を行うための機能、宛先ID保持部111、121、131に保持されている宛先IDを更新する機能を有している。また、端末12とウェブサーバ13は、プッシュ型配信システムとは別に、端末12からウェブサーバ13に、端末12にインストールされているアプリケーションに割り振られた宛先情報を伝える手段を備えているものとする。
図2は、PUSHサーバ11の宛先ID保持部111に保持される宛先テーブル1110の例を示す図である。以下では、図2に示されているような宛先テーブルをPUSHサーバ11の宛先ID保持部111に保持している例を比較例として参照することがある。
宛先テーブルには、端末と宛先IDの関係が格納される。図2の例では、「端末」のフィールドにはアプリケーションがインストールされている端末12を示す“端末1”が、「宛先ID」のフィールドには、“端末1”によって指定される端末12にインストールされたアプリケーションを特定する“宛先ID1”が格納される。たとえば、“端末1”は、任意の文字列であり、他者と区別できるものであれば良い。“宛先ID1”は、端末12のMACアドレスとアプリケーションの製造番号を組み合わせた文字列のように、端末12にインストールされているアプリケーションを特定できるものであれば良い。
宛先IDなどの宛先情報はセキュリティの観点から、PUSHサーバ11が定期的に更新することが望ましい。以下では、宛先情報として宛先IDを取り上げて説明するが、他の宛先情報についても同様に適用される。宛先IDの更新のために、PUSHサーバ11の宛先ID生成部110は、定期的または外部からの指令に応答して、新しい宛先情報、たとえば宛先ID生成する。新たに生成された宛先IDは、PUSHサーバ11の宛先ID更新部110によって宛先ID保持部111に格納される。この際、新しい宛先IDは、既に格納されている宛先IDに上書きされる。更新された宛先IDは、PUSHサーバ11から端末12に送られ、端末12の宛先ID保持部121に保持されている宛先情報の更新が行われる。その後、端末12からウェブサーバ13へ新しい宛先情報が通知され、ウェブサーバ13の宛先ID保持部131に保持されている宛先情報の更新が行われると、プッシュ型配信システム10の全体の宛先情報更新が完了する。
図3は、比較例における宛先情報更新処理における処理の流れの例を示す図である。図3では、既存の宛先IDである旧宛先IDを新規の宛先IDである新宛先IDに更新する処理が示されている。
比較例のプッシュ型配信システム10は、クラウドのサーバであるPUSHサーバ(プッシュサーバ)11、端末12、情報を提供するサービスを提供する事業者のウェブサーバ13から構成される。
S101でPUSHサーバ11の宛先ID保持部111は、旧宛先IDを保持している。
S101と同時のS102で端末12の宛先ID保持部121は、端末12にインストールされているアプリケーションに対応する識別子として“旧宛先ID”を保持している。
S101と同時のS103でウェブサーバ13の宛先ID保持部131は、端末12にインストールされているアプリケーションに対応する識別子として“旧宛先ID”を保持している。
S101の次のS104でPUSHサーバ11は端末12にインストールされているアプリケーションに対応する識別子として“新宛先ID”を生成する。
S104の次のS105でPUSHサーバ11は、“新宛先ID”を端末12に通知する。
S106で端末12は、PUSHサーバ11から通知された“新宛先ID”を受け、端末12の宛先ID保持部121に保持されている“旧宛先ID”を“新宛先ID”に更新する。つまり、端末12にインストールされているアプリケーションのIDが更新される。
S106の次のS107で端末12は、宛先IDの更新が完了したことをPUSHサーバ11に通知する。図3で示されているように、本ステップの処理は、更新完了応答とも呼ぶ。
S108でPUSHサーバ11は、S107で端末12から更新完了応答による通知を受けると、PUSHサーバ11は、宛先ID保持部111に保持されている宛先IDを新宛先IDに更新する。ここまでで、PUSHサーバ11の宛先ID保持部111と端末12の宛先ID保持部121に保持されている宛先IDが更新される。
S107の次のS109で端末12は、端末12の宛先ID保持部121に保持されている新宛先IDをウェブサーバ13に通知する。この通知は、ネットワーク経由で端末12からウェブサーバ13に送られる。
S103の次のS110でウェブサーバ13は、端末12通知された“新宛先ID”を受け、ウェブサーバ13の宛先ID保持部131に保持されている“旧宛先ID”を“新宛先ID”に更新する。これでで、PUSHサーバ11の宛先ID保持部111、端末12の宛先ID保持部121、およびウェブサーバ13の宛先ID保持部131に保持されている宛先IDが更新される。
S110の次のS111でウェブサーバ13はPUSHサーバ11にプッシュメッセージのPUSH送信の依頼を送信する。このときには、ウェブサーバ13は、新宛先IDに向けてのプッシュメッセージの送信の依頼をPUSHサーバ11に通知する。この処理を図3ではPUSH送信依頼と呼んでいる。
S112でPUSHサーバ11は、ウェブサーバ13から送信された宛先IDが、PUSHサーバ11の宛先ID保持部111に登録済みであるか否かを判定する。もしこの判定の結果が“NO(N)”、すなわちウェブサーバ13から送信された宛先IDが、PUSHサーバ11の宛先ID保持部111に登録済みではない場合には、処理はS113に進む。また、もしこの判定の結果が“YES(Y)”、すなわちウェブサーバ13から送信された宛先IDが、PUSHサーバ11の宛先ID保持部111に登録済みの場合には、処理はS114に進む。今の場合は、PUSHサーバ11の宛先ID保持部111に新宛先IDは登録済みなので、処理はS114に進む。
S113でPUSHサーバ11は、メッセージの送信を失敗して処理を終了する。
S114でPUSHサーバ11は、メッセージを端末12に向けて送信する。この処理を図3ではPUSH送信と呼んでいる。
S115で端末12は、S114でPUSHサーバ11からPUSH送信されたメッセージを受信する。この処理を図3ではPUSH受信と呼んでいる。
図3に示されている場合には、PUSHサーバ11の宛先ID保持部111、端末12の宛先ID保持部121、およびウェブサーバ13の宛先ID保持部131に保持されている宛先IDの全てが更新されたあと、ウェブサーバ13はPUSH送信依頼を行うので、PUSHサーバ11から端末12に向けてメッセージをユニキャスト送信することができる。
しかし、端末12、PUSHサーバ11、ウェブサーバ13の間で宛先情報の更新に時間差が生じるため、宛先情報を更新することで宛先情報を更新することでウェブサーバ13からのメッセージをPUSHサーバ11は端末12に向けて送信できなくなる場合がある。具体的には、端末12からウェブサーバ13への宛先情報通知前にウェブサーバ13がPUSH送信依頼処理を行う場合。また、端末12からウェブサーバ13へ宛先情報が通知できない場合も、ウェブサーバ13からのメッセージをPUSHサーバ11は端末12に向けて送信できなくなる。
図4は、比較例における宛先情報更新処理における処理の流れの別の例を示す図である。図4では、既存の宛先IDである“旧宛先ID”を新規の宛先IDである“新宛先ID”に更新する処理が示されている。図4に示されている例では、宛先情報を更新することでウェブサーバ13からのメッセージをPUSHサーバ11は端末12に向けて送信できなくなる。
S201でPUSHサーバ11の宛先ID保持部111は、旧宛先IDを保持している。
S201と同時のS202で端末12の宛先ID保持部121は、“旧宛先ID”を保持している。
S201と同時のS203でウェブサーバ13の宛先ID保持部131は、旧宛先IDを保持している。
このように、初めに、PUSHサーバ11の宛先ID保持部111、端末12の宛先ID保持部121、ウェブサーバ13の宛先ID保持部131は全て、“旧宛先ID”を保持しているとする。
S201の次のS204でPUSHサーバ11は“新宛先ID”を生成する。
S204の次のS205でPUSHサーバ11は、“新宛先ID”を端末12に通知する。
S206で端末12は、PUSHサーバ11から通知された新宛先IDを受け、端末12の宛先ID保持部121に保持されている旧宛先IDを新宛先IDに更新する。つまり、端末12にインストールされているアプリケーションのIDが更新される。
S206の次のS207で端末12は、宛先IDの更新が完了したことをPUSHサーバ11に通知する。図4で示されているように、本ステップの処理は、更新完了応答とも呼ぶ。
S208でPUSHサーバ11は、S207で端末12から更新完了応答による通知を受けると、PUSHサーバ11は、宛先ID保持部111に保持されている宛先IDを“新宛先ID”に更新する。ここまでで、PUSHサーバ11の宛先ID保持部111と端末12の宛先ID保持部121に保持されている宛先IDが更新される。このタイミングでは、ウェブサーバ13の宛先ID保持部131に保持されている宛先IDは“旧宛先ID”のままである。
S207の次にS212で端末12は、端末12の宛先ID保持部121に保持されている“新宛先ID”をウェブサーバ13に通知する処理を行うことになっている。
しかし、今の場合、端末12がS207の処理を行い、S212の処理を始める前に、S209でウェブサーバ13は、PUSH送信依頼の処理を行う。このときの宛先IDは、ウェブサーバ13の宛先ID保持部131に保持されている“旧宛先ID”が用いられている。つまり、ウェブサーバ13の宛先ID保持部131に保持されている宛先IDの更新状況に関わらず、このタイミングでPUSHサーバ11は新宛先IDに更新される。すると、ウェブサーバ13からは、旧宛先IDを指定したメッセージが送信できなくなる。
S209の次のS210でPUSHサーバ11は、ウェブサーバ13から送信されたメッセージのPUSH送信依頼の通知を受け、宛先IDがPUSHサーバ11の宛先ID保持部111に登録済みであるか否かを判定する。今の場合、この判定の結果は”NO(N)”、すなわちウェブサーバ13から送信された宛先IDが、PUSHサーバ11の宛先ID保持部111に登録済みではないので、処理はS211に進む。
S211でPUSHサーバ11は、メッセージの送信を失敗して処理を終了する。つまり、端末12は“新宛先ID”での運用になっているため“旧宛先ID”のメッセージを受信しても、内部で処理することができず、エラーとなってしまうためである。
また、S212で端末12は、端末12の宛先ID保持部121に保持されている新宛先IDをウェブサーバ13に通知する処理を行う。しかしながら、ウェブサーバ13は、端末12から送られた通知を受け取ることができない。
S209の後のS213でウェブサーバ13は再び、PUSH送信依頼の処理を行う。このときの宛先IDは、ウェブサーバ13の宛先ID保持部131に保持されている“旧宛先ID”が用いられている。
S214でPUSHサーバ11は、ウェブサーバ13から送信されたメッセージのPUSH送信依頼の通知を受け、宛先IDがPUSHサーバ11の宛先ID保持部111に登録済みであるか否かを判定する。今の場合、この判定の結果は”NO(N)”、すなわちウェブサーバ13から送信された宛先IDが、PUSHサーバ11の宛先ID保持部111に登録済みではないので、処理はS215に進む。
S215でPUSHサーバ11は、メッセージの送信を失敗して処理を終了する。
図4に示されているような場合、ウェブサーバ13だけが更新する前の宛先情報を保持する状態になってしまい、旧宛先IDでメッセージを送信すると宛先不在でメッセージが端末へ届かず、ウェブサーバ13からのメッセージを端末12のユーザへ提供できない状態となってしまう。プッシュ型配信システムは、クラウドのPUSHサーバ11から必要なタイミングで端末(クライアント端末)12へメッセージを送れることが重要であり、リアルタイム性が要求される。
以下では、セキュリティの確保のために宛先情報を定期的に更新しつつ、その間も情報を配信するサービスを継続的に行うことができる仕組みを備えるプッシュ型配信システムについて説明する。
<プッシュ型配信システム>
図5は、実施例におけるPUSHサーバ(プッシュサーバ)200、端末300、情報を配信するサービスを提供する事業者のWebサーバ(以下、ウェブサーバと呼ぶことがある)400の機能ブロック図の例を示す図である。PUSHサーバ200、端末300、ウェブサーバ400は、プッシュ型配信システム100を構成する。PUSHサーバ(プッシュサーバ)200はクラウドネットワーク(またはインターネット)のサーバである。端末300とウェブサーバ400はクラウドネットワークに接続されている。プッシュ型配信システム100は、図1に示されたプッシュ型配信システム10と同様、ウェブサーバ400からPUSHサーバ200を経由して、端末300にメッセージを送信することができる。PUSHサーバ200、端末300、ウェブサーバ400はいずれも、情報処理装置とも呼ばれる。PUSHサーバ200、端末300、ウェブサーバ400はそれぞれ、図1のPUSHサーバ11、端末12、ウェブサーバ13と類似の機能を有するが、宛先情報を定期的に更新しつつ、その間もサービスがプッシュ型配信システムを継続的に利用できる仕組みを備得る点で図1のPUSHサーバ11、端末12、ウェブサーバ13とは異なっている。
たとえば、図5に示されているPUSHサーバ200は、端末300にインストールされているアプリケーションの識別子(ID)に対応する宛先識別子(以下単に、宛先IDと呼ぶ)を2つ、すなわち端末300に保持されている宛先IDである端末宛先IDと、ウェブサーバ400に保持されている宛先IDであるサービス宛先IDを持つことができる。タイミングによっては、端末宛先IDが更新した“新宛先ID”であり、サービス宛先IDが更新する前の“旧宛先ID”であり得る。PUSHサーバ200は、ウェブサーバ400からのプッシュメッセージ送信依頼通知の受信を契機に、ウェブサーバ400に、端末300にインストールされているアプリケーションの識別子(ID)が“新宛先ID”に更新された旨を通知し、自身が保持しているサービス宛先IDを更新後の“新宛先ID”に更新する。プッシュメッセージ送信依頼通知とは、PUSHサーバ200に、端末300にインストールされたアプリケーションにデータを配信させるような通知である。
このようにプッシュ配信システム100を構成することによって、プッシュ型配信システムにおいてサービスを継続したまま、端末300にインストールされているアプリケーションの識別子(ID)(宛先識別子(宛先ID))を定期的に更新することが出来、サービスの使いやすさとセキュリティを両立できる。また、端末300からウェブサーバ400へ、端末300にインストールされているアプリケーションの識別子が(宛先ID)が更新された旨の通知が必須でなくなり、アプリケーションの開発が楽になる。
以下で「宛先ID」、「新ID」、「旧ID」とは、端末300にインストールされているアプリケーションを特定する識別子(ID)として定義される。しかしながら、「宛先ID」、「新ID」、「旧ID」は単に端末300を特定する識別子(ID)として定義されても良い。後者の場合は、端末300は、プッシュメッセージを受信したら所定のアプリケーションにフォワードする機能が含まれているものとする。
PUSHサーバ200は、図1に示されているPUSHサーバ11と同様、クラウドサーバであり得る。
PUSHサーバ200は、PUSH送受信部(プッシュ送受信部)201、宛先ID更新部202、宛先ID生成部203、PUSH受付部(プッシュ受付部)204、宛先ID保持部205、および宛先ID送信部206を含む。
端末300は、端末12と同様、スマートフォン、タブレットなど持ち運び可能な情報処理装置であり得る。端末300は、アプリケーション301、PUSH送受信部(プッシュ送受信部)302、および宛先ID保持部303を含む。アプリケーション301はさらに、PUSH実行部(プッシュ実行部)3011、宛先ID通知部3012を含む。
ウェブサーバ400は、ウェブサーバ13と同様、情報を配信するサービスを提供する事業者のWebサーバであり得る。ウェブサーバ400は、PUSH依頼部(プッシュ依頼部)401、宛先ID保持部402、および宛先ID受信部403を含む。
PUSHサーバ200、端末300、ウェブサーバ400はPUSHサーバ200を有するネットワークを介して、互いに情報を遣り取りすることができる。このとき、図1に示されているプッシュ型配信システム10と同様、PUSHサーバ200と端末300の間の通信は、たとえばTCPまたは独自のプロトコルに則って行われ得て、両者は常に通信可能な状態に置かれる。つまり、PUSHサーバ200から端末300へは、リアルタイムでメッセージの送信が可能である。独自のプロトコルでは、TCPソケット上で独自のメッセージフォーマットが規定されていても良い。
また、端末300の宛先ID通知部3012はウェブサーバ400の宛先ID受信部403に、プッシュ配信の枠外で、端末300のアプリケーション301に付与された識別子(ID)である宛先IDを送れるように構成されている。
PUSHサーバ200とウェブサーバ400の間の通信は、たとえばHTTPプロトコルに則って行われ得て、ウェブサーバ400からPUSHサーバ200に要求(リクエスト)を送信すると、PUSHサーバ200からウェブサーバ400に返答(リプライ)が送信されるようなものである。
ウェブサーバ400のPUSH依頼部401は、端末300にインストールされているアプリケーション301宛てにプッシュメッセージを送信することをPUSHサーバ200に依頼するプッシュメッセージ送信依頼通知606を送信する機能を有する。端末300のアプリケーション301宛てにプッシュメッセージを送信することをPUSHサーバ200に依頼する際、端末300のアプリケーション301を特定する識別子(ID)が必要である。このIDを宛先IDと呼ぶ。
図7Cは、プッシュメッセージ送信依頼通知606のフォーマットの例を示す図である。
図7Cに示されているように、プッシュメッセージ送信依頼通知606は、この通知がプッシュメッセージ送信依頼通知であることを示すコマンドが格納される「コマンド識別子」フィールド6062と、端末300のアプリケーション301に対応する宛先IDが格納される「更新後の宛先ID」フィールド6064、プッシュメッセージの本文である「プッシュメッセージ本文」フィールド6066を含む。
ウェブサーバ400の宛先ID保持部402は、端末と宛先IDの関係を示す宛先テーブルを保持している。宛先ID保持部402に保持される宛先テーブルは、図2に示されているような宛先テーブル1110と同一または類似のフォーマットでも良い。
また、ウェブサーバ400の宛先ID受信部403は、端末300に割り振られた識別子(ID)である宛先IDの更新後にPUSH依頼部401がPUSHサーバ200にプッシュメッセージ送信依頼通知606を送ると、その応答として、端末300のアプリケーション301に対応する宛先IDの更新後の宛先IDを含む更新後宛先ID通知608を受信する。
図7Dは、更新後宛先ID通知608のフォーマットの例を示す図である。
図7Dに示されているように、更新後宛先ID通知608は、この通知が更新後宛先ID通知であることを示すコマンドが格納される「コマンド識別子」フィールド6082と、「更新後の宛先ID」フィールド6084を含む。
「更新後の宛先ID」フィールド6084には、PUSHサーバ200が端末300から、端末300のアプリケーション301に割り当てられた宛先IDの更新後の“新宛先”が格納されている。
また、ウェブサーバ400の宛先ID受信部403は、PUSHサーバ200から、端末300に割り振られた識別子(ID)である宛先IDを受信し、宛先ID保持部402に格納する。
また、ウェブサーバ400の宛先ID受信部403は、端末300から、端末300が立ち上がって初めて端末300のアプリケーション301に割り当てられた宛先IDを含む通知その宛先IDを含む通知を受ける。さらに、端末300のアプリケーション301に割り当てられた宛先IDを宛先ID保持部402に格納する。
PUSHサーバ200のPUSH受付部204は、ウェブサーバ400のPUSH依頼部401から送られた、端末300のアプリケーション301宛てにメッセージを送信する依頼の通知、すなわちプッシュメッセージ送信依頼通知606を受け付ける。
また、PUSHサーバ200のPUSH受付部204は、メッセージを特定の端末300のアプリケーション301宛てにプッシュメッセージ610を作成する。このときに用いられる、端末300のアプリケーション301に対応する宛先IDは、宛先ID保持部205に保持されている宛先テーブルを参照する。
図7Eは、プッシュメッセージ610のフォーマットの例を示す図である。
図7Eに示されているように、プッシュメッセージ610は、この通知がプッシュメッセージであることを示すコマンドが格納される「コマンド識別子」フィールド6102と、特定の端末300のアプリケーション301に対応する宛先IDが格納される「宛先ID」フィールド6104と、メッセージの本文が格納される「プッシュメッセージ本文」フィールド6106を含む。
PUSHサーバ200のPUSH送受信部201は、PUSH受付部204で作成されたメッセージを特定の端末300のアプリケーション301宛てにプッシュメッセージ610として送信する。
また、PUSHサーバ200のPUSH送受信部201は、宛先ID更新部202からの指示に従って、宛先ID生成部203で生成された、端末300のアプリケーション301に対応する宛先IDを、端末300に向けて宛先ID更新通知602として通知する。
図7Aは、宛先ID更新通知602のフォーマットの例を示す図である。
図7Aに示されているように、宛先ID更新通知602は、端末300に宛先IDの更新をさせるコマンドが格納される「コマンド識別子」フィールド6022と、更新後の端末300のアプリケーション301に対応する宛先IDが格納される「更新後の宛先ID」フィールド6024を含む。
また、PUSHサーバ200のPUSH送受信部201は、端末300から、端末300において宛先IDの更新が終了したことを示す宛先ID更新完了通知604を受ける。さらに、端末300から通知される宛先ID更新完了通知に応答して、宛先ID更新部202に、宛先ID保持部205に保持される宛先テーブル2050中の「端末宛先ID」に格納されている文字列を“新宛先”に更新させる指令を出す。
図7Bは、宛先ID更新完了通知604のフォーマットの例を示す図である。
図7Bに示されているように、宛先ID更新完了通知604は、この通知が宛先ID更新完了通知であることを示すコマンドが格納される「コマンド識別子」フィールド6042と、端末300で宛先IDの更新が成功したか否かを示す結果を格納する「結果」フィールド6044を含む。
PUSHサーバ200の宛先ID保持部205は、端末と宛先IDの関係を示す宛先テーブルを保持している。
図6は実施例におけるPUSHサーバ200の宛先ID保持部205に保持される宛先テーブル2050の例を示す図である。
図6に示されているように、宛先テーブル2050は、「端末」、「端末宛先ID」、「サービス宛先ID」の3つのフィールドを含む。宛先テーブル2050は、宛先情報を定期的に更新しつつ、その間も情報を配信するサービスを提供する業者がプッシュ型配信システムを継続的に利用できるようにするために用いられる。
図6に示されている宛先テーブル2050では、「端末」のフィールドには“端末1”が、「端末宛先ID」のフィールドには、端末1に割り当てられた“新宛先”が、「サービス宛先ID」には、ウェブサーバ400の宛先ID保持部402に保持されている宛先テーブルの「宛先ID」欄に格納されている宛先IDに対応する“旧宛先”が格納される。たとえば、“端末1”は例えば、端末300のMACアドレスとアプリケーションの製造番号を組み合わせた文字列のように、端末300にインストールされているアプリケーションを特定できるものであれば良い。“新宛先”、“旧宛先”は、任意の文字列であり、他者と区別できるものであれば良い。すなわち、宛先テーブル2050の「端末宛先ID」のフィールドには、端末300の宛先ID保持部304に保持されている宛先テーブル中の“宛先ID”が格納される。
PUSHサーバ200のPUSH受付部204が、端末300のアプリケーション301宛てにプッシュメッセージ610を作成する際に用いられる、端末300のアプリケーション301に対応する宛先IDの決定は次のように行う。
(D1)ウェブサーバ400から送信されたプッシュメッセージ送信依頼通知606の宛先IDフィールド6064に格納されている宛先IDが、宛先テーブル2050のある端末の端末宛先IDフィールドの“新宛先ID”に一致するとき、プッシュメッセージ610の宛先IDフィールド6104には、そのまま“新宛先ID”が格納される、
(D2)ウェブサーバ400から送信されたプッシュメッセージ送信依頼通知606の宛先IDフィールド6064に格納されている宛先IDが、宛先テーブル2050のある端末のサービス宛先IDフィールドの“旧宛先ID”に一致するとき、プッシュメッセージ610の宛先IDフィールド6104には、“旧宛先ID”ではなく、端末宛先IDフィールドの“新宛先ID”が格納される、
このような構成を有するPUSHサーバ200のPUSH受付部204は、端末300の宛先ID保持部303の宛先テーブルに格納されている宛先IDが新宛先IDに更新されているが、ウェブサーバ400の宛先ID保持部402の宛先テーブルが更新されていないときに、ウェブサーバ400から旧宛先IDが宛先IDフィールド6064に格納されているプッシュメッセージ送信依頼通知606を受けて、“新宛先ID”が宛先IDフィールド6104に格納されたプッシュメッセージ610を作成する。このように作成されたプッシュメッセージ610は、端末300のアプリケーション301に届けられる。
PUSHサーバ200の宛先ID生成部203は、セキュリティの確保のために、定期的に、またはPUSHサーバ200に入力される外部からの指令に応じて、端末300のアプリケーション301を特定する識別子(ID)を生成する。
PUSHサーバ200の宛先ID更新部202は、宛先ID生成部203で生成された端末300のアプリケーション301を特定する識別子(ID)を、端末300に向けて通知するように、PUSH送受信部201に指令をする。
また、PUSHサーバ200の宛先ID更新部202は、端末300から端末300に割り当てられた識別子(ID)である宛先IDの更新が終了した旨の通知を受けると、宛先ID保持部205に保持される宛先テーブル2050中の「端末宛先ID」に格納されている宛先IDを“新宛先”に更新する。ただしこの時、宛先テーブル2050中の「サービス宛先ID」中の宛先IDは“旧宛先”のままとする。
また、PUSHサーバ200の宛先ID更新部202は、端末300から、端末300に割り当てられた識別子(ID)である宛先IDの更新が終了し、“新宛先”となった旨の通知を受けた後に、ウェブサーバ400からPUSH送信依頼を受けると、宛先ID送信部206に、ウェブサーバ400に向けて端末300のアプリケーション301を特定する識別子(ID)が“新宛先”となった旨の通知をするように指令を出す。
さらに、PUSHサーバ200の宛先ID更新部202は、ウェブサーバ400からプッシュメッセージ送信依頼通知606を受信すると、宛先ID送信部206に、ウェブサーバ400に向けて端末300のアプリケーション301を特定する識別子(ID)が“新宛先”となった旨の通知をする、すなわち更新後宛先ID通知608を出すように指令を出す。さらにPUSHサーバ200の宛先ID更新部202は、宛先ID保持部205に保持される宛先テーブル2050中の「サービス宛先ID」に格納されている“旧宛先”を“新宛先”に更新する。
さらに、PUSHサーバ200の宛先ID更新部202は、ウェブサーバ400からPUSH送信依頼を受ける前に、端末300に割り当てられた識別子(ID)である宛先IDの更新が2回行われる場合は図8のように更新される。
まず、PUSHサーバ200の宛先ID更新部202は、端末300から端末300に割り当てられた識別子(ID)である宛先IDの1回目の更新が終了した旨の通知を受けると、宛先ID保持部205に保持される宛先テーブル2050中の「端末宛先ID」に格納されている宛先IDを“新宛先ID1”に更新する。ただしこの時、宛先テーブル2050中の「サービス宛先ID」中の宛先IDは“旧宛先”のままとする。
また、PUSHサーバ200の宛先ID更新部202は、ウェブサーバ400からPUSH送信依頼を受ける前に、端末300から端末300に割り当てられた識別子(ID)である宛先IDの2回目の更新が終了した旨の通知を受けると、宛先ID保持部205に保持される宛先テーブル2050中の「端末宛先ID」に格納されている宛先IDを“新宛先ID2”に更新する。ただしこの時、宛先テーブル2050中の「サービス宛先ID」中の宛先IDは“旧宛先”のままとする。
すなわち、PUSHサーバ200の宛先ID更新部202は、ウェブサーバ400からPUSH送信依頼を受けるまで、宛先テーブル2050中の「端末宛先ID」フィールド中の宛先IDのみを更新し、「サービス宛先ID」中の宛先IDは更新しない。
PUSHサーバ200の宛先ID送信部206は、PUSHサーバ200の宛先ID更新部202から、ウェブサーバ400に向けて端末300のアプリケーション301を特定する識別子(ID)が“新宛先”となったことの通知を受けたあと、ウェブサーバ400からプッシュメッセージ送信依頼通知606を受けると、ウェブサーバ400に向けて端末300のアプリケーション301に対応する“新宛先”を更新後宛先ID通知608として送信する。このように、PUSHサーバ200の宛先ID送信部206は、ウェブサーバ400からのプッシュメッセージ送信依頼通知に応じて、ウェブサーバ400に向けて、アプリケーションの識別子は新しい宛先識別子に変更されたことを通知する。
このようにPUSHサーバ200は、ウェブサーバ400からのプッシュメッセージ送信依頼通知に応じて、識別子として第1の宛先識別子を有するアプリケーション301がインストールされている端末300に向けてプッシュメッセージを送信する情報処理装置200であって、宛先ID保持部205と、宛先ID生成部203と、プッシュ送受信部201と、宛先ID更新部202と、プッシュ受付部204とを含む。
宛先ID保持部205は、端末300にインストールされているアプリケーション301に対応して、端末300に保持されている第1の宛先識別子を端末宛先識別子として保持するとともに、前記第1の宛先識別子をサービス宛先識別子として保持する。
プッシュ送受信部201は、第2の宛先識別子を端末300に送信し、端末300が第1の宛先識別子を第2の宛先識別子に更新したことを示す宛先ID更新完了通知を、端末300から受信する。
宛先ID更新部202は、宛先ID保持部205の端末宛先識別子を第1の宛先識別子から第2の宛先識別子に更新する。
プッシュ受付部204は、ウェブサーバ400から受信した第1のプッシュメッセージに含まれる第3の宛先識別子が宛先ID保持部205のサービス宛先識別子に一致する場合、第3の宛先識別子に代えて端末宛先識別子を含む第2のプッシュメッセージを生成し、第2のプッシュメッセージを端末300へ向けて送信するようにプッシュ送受信部201に指示する。
また情報処理装置200は宛先ID送信部206を含み得る。宛先ID送信部206は、プッシュ送受信部201が宛先ID更新完了通知を受信することに応答して、ウェブサーバ400に向けて、アプリケーション301の識別子は第2の宛先識別子に変更されたことを通知する。
端末300のPUSH送受信部302は、PUSHサーバ200のPUSH送受信部201から送られた宛先ID更新通知602、プッシュメッセージ610を受信する。宛先ID更新通知602およびプッシュメッセージ610のフォーマットの例はそれぞれ、図7Aおよび図7Eに示されている。
また、端末300のPUSH送受信部302は、宛先ID更新通知602を受信すると、宛先ID保持部303に保持されている宛先テーブルの宛先IDの更新を指示する。
そして、端末300のPUSH送受信部302は、宛先ID保持部303に保持されている宛先テーブルの宛先IDの更新が完了すると、PUSHサーバ200に向けて宛先ID更新完了通知604を送信する。
さらに、端末300のPUSH送受信部302は、プッシュメッセージ610を受信すると、アプリケーション301のPUSH実行部3011に、プッシュメッセージ610に含まれるメッセージを実行する。
上記のような構成を有するプッシュ型配信システムでは、セキュリティを確保しつつリアルタイム性を損なわずに、宛先情報を更新することができる。より具体的には、上記のような構成を有するプッシュ型配信システムでは、端末300の宛先ID保持部303の更新は完了したが、ウェブサーバ400の宛先ID保持部402に保持されている宛先IDの更新が完了しないうちに、ウェブサーバ400から更新前の宛先(旧宛先)を含むプッシュメッセージ送信依頼通知606が送信されても、所定の端末300のアプリケーション301にメッセージが送付されない事態を生じさせないようにすることができる。
また、上記のような構成を有するプッシュ型配信システムでは、PUSHサーバ200の宛先ID更新部202は、ウェブサーバ400からPUSH送信依頼を受ける前に、端末300に割り当てられた識別子(ID)である宛先IDの更新が2回行われる場合でも、PUSHサーバ200から送信されたプッシュメッセージは、端末300のアプリケーション301に届けられる。そして、プッシュ型配信システムでの宛先IDの更新の頻度を高くすることができ、セキュリティをより強固にすることができる。
図9は実施形態の情報処理装置の構成の例を示す図である。ここで、情報処理装置は、PUSHサーバ200、端末300、ウェブサーバ400のいずれであってもよい。情報処理装置は、汎用コンピュータ500として実現され得る。特に、PUSHサーバ200は汎用コンピュータ500として実現される。
このコンピュータ500は、Micro Processing Unit(MPU)502、Read Only Memory(ROM)504、及びRandom Access Memory(RAM)506を備えている。コンピュータ500は、さらに、ハードディスク装置508、入力装置510、表示装置512、インタフェース装置514、及び記録媒体駆動装置516を備えている。なお、これらの構成要素はバスライン520を介して接続されており、MPU502の管理の下で各種のデータを相互に授受することができる。
MPU502は、このコンピュータ500全体の動作を制御する演算処理装置であり、コンピュータ500の制御処理部として機能する。
ROM504は、所定の基本制御プログラムが予め記録されている読み出し専用半導体メモリである。MPU502は、この基本制御プログラムをコンピュータ500の起動時に読み出して実行することにより、このコンピュータ500の各構成要素の動作制御が可能になる。
RAM506は、MPU502が各種の制御プログラムを実行する際に、必要に応じて作業用記憶領域として使用する、随時書き込み読み出し可能な半導体メモリである。
ハードディスク装置508は、MPU502によって実行される各種の制御プログラムや各種のデータを記憶しておく記憶装置である。MPU502は、ハードディスク装置508に記憶されている所定の制御プログラムを読み出して実行することにより、後述する各種の制御処理を行えるようになる。
入力装置510は、例えばマウス装置やキーボード装置であり、情報処理装置のユーザにより操作されると、その操作内容に対応付けられている各種情報の入力を取得し、取得した入力情報をMPU502に送付する。
表示装置512は例えば液晶ディスプレイであり、MPU502から送付される表示データに応じて各種のテキストや画像を表示する。
インタフェース装置514は、このコンピュータ500に接続される各種機器との間での各種情報の授受の管理を行う。
記録媒体駆動装置516は、可搬型記録媒体518に記録されている各種の制御プログラムやデータの読み出しを行う装置である。MPU502は、可搬型記録媒体518に記録されている所定の制御プログラムを、記録媒体駆動装置516を介して読み出して実行することによって、後述する各種の制御処理を行うようにすることもできる。なお、可搬型記録媒体518としては、例えばUSB(Universal Serial Bus)規格のコネクタが備えられているフラッシュメモリ、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)などがある。
このようなコンピュータ500を用いて情報処理装置を構成するには、例えば、上述の各処理部における処理をMPU502に行わせるための制御プログラムを作成する。作成された制御プログラムはハードディスク装置508若しくは可搬型記録媒体518に予め格納しておく。そして、MPU502に所定の指示を与えてこの制御プログラムを読み出させて実行させる。こうすることで、情報処理装置が備えている機能がMPU502により提供される。
<プッシュ型配信システムにおける宛先情報更新>
図10を参照しながら、実施例のプッシュ型配信システムにおける宛先情報更新方法の処理について説明する。
また、PUSHサーバ200、端末300、ウェブサーバ400が図8に示されているような汎用コンピュータ500である場合には、下記の説明は、そのような処理を行う制御プログラムを定義する。すなわち、以下では、下記に説明する処理を汎用コンピュータに行わせる制御プログラムの説明でもある。
図10は、実施例における宛先情報更新処理における処理の流れの例を示す図である。
S301でPUSHサーバ200の宛先ID保持部205は、端末300にインストールされているアプリケーション301に対応して、端末300に保持されているアプリケーション301の識別子である旧宛先IDを端末宛先識別子として、およびウェブサーバ400に保持されているアプリケーション301の識別子である旧宛先をサービス宛先識別子として保持する。
S301と同時のS302で端末300の宛先ID保持部303は、旧宛先IDを保持している。
S301と同時のS303でウェブサーバ400の宛先ID保持部402は、旧宛先IDを保持している。
このように、初めに、PUSHサーバ200の宛先ID保持部205、端末300の宛先ID保持部303、ウェブサーバ400の宛先ID保持部402は全て、旧宛先IDを保持しているとする。
S301の次のS304でPUSHサーバ200の宛先ID生成部203は新宛先IDを生成する。
S304の次のS305でPUSHサーバ200のPUSH送受信部201は、S301で生成した新宛先IDを含む宛先ID更新通知602を端末300に送信する。
S306で端末300のPUSH受信部302は、PUSHサーバ200から通知された宛先ID更新通知602を受け、端末300の宛先ID保持部303に保持されている旧宛先IDを新宛先IDに更新する。
S306の次のS307で端末300のPUSH受信部302は、宛先IDの更新が完了したことを受けて、PUSHサーバ200に宛先ID更新完了通知604を送信する。図4で示されているように、本ステップの処理は、更新完了応答とも呼ぶ。
S308でPUSHサーバ200のPUSH送受信部201は、S307端末300から更新完了応答による通知を受けると、PUSHサーバ200の宛先ID更新部202は、宛先ID保持部205に保持されている宛先IDを新宛先IDに更新する。ここまでで、PUSHサーバ200の宛先ID保持部205と端末300の宛先ID保持部303に保持されている宛先IDが更新される。このタイミングでは、ウェブサーバ400の宛先ID保持部402に保持されている宛先テーブルの宛先IDは旧宛先IDのままである。
S308の処理が完了した後、S309でウェブサーバ400のPUSH依頼部401は、端末300にインストールされているアプリケーション301宛てにメッセージを送信することをPUSHサーバ200に依頼するプッシュメッセージ送信依頼通知606を送信する。この際ウェブサーバ400のPUSH依頼部401は、宛先保持部402に格納されている宛先テーブルを参照する。すなわち、プッシュメッセージ送信依頼通知606の宛先IDフィールド6064には、端末300のアプリケーション301に対応する旧宛先IDが格納される。
S310でPUSHサーバ200のPUSH受付部204は、ウェブサーバ400のPUSH依頼部401から送られたプッシュメッセージ送信依頼通知606を受ける。
またS310でPUSHサーバ200のPUSH受付部204は、メッセージを端末300のアプリケーション301宛てにプッシュメッセージ610を作成するために、端末300のアプリケーション301に対応する宛先IDを宛先ID保持部205に保持されている宛先テーブルを参照する。そのために、PUSHサーバ200のPUSH受付部204は、受信したプッシュメッセージ送信依頼通知606の宛先IDフィールド6064に格納されている宛先IDが、宛先ID保持部205に保持されている宛先テーブルの端末宛先IDフィールドに格納されている宛先IDに一致するかどうかを判定する。この判定の結果が“YES(Y)”、すなわちプッシュメッセージ送信依頼通知606の宛先IDが、宛先ID保持部205の端末宛先IDである場合、処理はS317に進む。この判定の結果が“NO(N)”、すなわちプッシュメッセージ送信依頼通知606の宛先IDが、宛先ID保持部205の端末宛先IDでない場合、処理はS311に進む。
S311でPUSHサーバ200のPUSH受付部204は、受信したプッシュメッセージ送信依頼通知606の宛先IDフィールド6064に格納されている宛先IDが、宛先ID保持部205に保持されている宛先サーブルのサービス宛先IDフィールドに格納されている宛先IDに一致するかどうかを判定する。この判定の結果が“YES(Y)”、すなわちプッシュメッセージ送信依頼通知606の宛先IDが、宛先ID保持部205のサービス宛先IDである場合、処理はS313に進む。この判定の結果が“NO(N)”、すなわちプッシュメッセージ送信依頼通知606の宛先IDが、宛先ID保持部205のサービス宛先IDでない場合は、S312に進む。
S312では、プッシュメッセージ送信依頼通知606の宛先IDは、宛先ID保持部205の端末宛先IDでも、サービス宛先IDでもないとして、送信失敗のメッセージを発してもよい。
S313でPUSHサーバ200の宛先ID送信部206は、ウェブサーバ400からプッシュメッセージ送信依頼通知606への返答として、ウェブサーバ400の宛先ID受信部403に向けて端末300のアプリケーション301に対応する“新宛先”を更新後宛先ID通知608として送信する。
S313の後のS314でウェブサーバ400の宛先ID受信部403は、S313でPUSHサーバ200の宛先ID送信部206から送信された更新後宛先ID通知608を受信する。さらにS314で宛先ID受信部403は、更新後宛先ID通知608に含まれる端末300に割り振られた“新宛先”を、宛先ID保持部402に格納する。
また、S313の後のS315でPUSHサーバ200のPUSH送受信部201は、プッシュメッセージ610の「宛先ID」フィールド6104に格納される宛先IDに、宛先ID保持部205に保持されている宛先テーブルの「端末宛先ID」フィールドに格納されている“新宛先”を格納する。
S315の次のS316でPUSHサーバ200の宛先ID更新部202は、宛先ID保持部205に保持される宛先テーブル2050中の「サービス宛先ID」に格納されている“旧宛先”を“新宛先”に更新する。
S315とS316の処理の順序は逆になっても良いし、同時であっても良い。
S316の次のS317でPUSHサーバ200のPUSH送受信部201は、端末300のアプリケーション301宛てにプッシュメッセージ610を送信する。
S317の後のS318で端末300のPUSH送受信部302は、PUSHサーバ200のPUSH送受信部201から送られたプッシュメッセージ610を受信する。
このような処理を行うことによって、プッシュ型配信システムにおいて情報を配信するサービスを継続したまま、端末300にインストールされているアプリケーションの識別子(ID)(宛先ID)を定期的に更新することが出来、サービスの使いやすさとセキュリティを両立できる。また、端末300からウェブサーバ400へ、端末300にインストールされているアプリケーションの識別子(ID)(宛先ID)が更新された旨の通知が必須ではなくなり、アプリケーションの開発が楽になる。
S309の前に、PUSHサーバの宛先ID生成部203が新たに宛先IDを生成し、宛先情報更新の処理が開始され、S304〜S308までの処理が繰り返される場合がある。
その場合は、2回目のS308でPUSHサーバ200の宛先ID更新部202は、ウェブサーバ400からPUSH送信依頼を受ける前に、端末300から端末300に割り当てられた識別子(ID)である宛先IDの2回目の更新が終了した旨の通知を受けると、宛先ID保持部205に保持される宛先テーブル2050中の「端末宛先ID」に格納されている宛先IDを“新宛先ID2”に更新する。ただしこの時、宛先テーブル2050中の「サービス宛先ID」中の宛先IDは“旧宛先”のままとする。すなわち、PUSHサーバ200の宛先ID更新部202は、ウェブサーバ400からPUSH送信依頼を受けるまで、宛先テーブル2050中の「端末宛先ID」フィールド中の宛先IDのみを更新し、「サービス宛先ID」中の宛先IDは更新しない。
このような処理を行うことによって、PUSHサーバ200の宛先ID更新部202は、ウェブサーバ400からPUSH送信依頼を受ける前に、端末300に割り当てられた識別子(ID)である宛先IDの更新が2回行われる場合でも、PUSHサーバ200から送信されたプッシュメッセージは、端末300のアプリケーション301に届けられる。そして、このような処理が行えることで、プッシュ型配信システムでの宛先IDの更新の頻度を高くすることができ、セキュリティをより強固にすることができる。
100 プッシュ型配信システム
200 PUSHサーバ(プッシュサーバ)
201 PUSH送受信部(プッシュ送受信部)
202 宛先ID更新部
203 宛先ID生成部
204 PUSH受付部(プッシュ受付部)
205 宛先ID保持部
206 宛先ID送信部
300 端末(クライアント)
301 アプリケーション
302 PUSH送受信部(プッシュ送受信部)
303 宛先ID保持部
3011 PUSH実行部(プッシュ実行部)
3012 宛先ID通知部
400 ウェブサーバ
401 PUSH依頼部(プッシュ依頼部)
402 宛先ID保持部
403 宛先ID受信部

Claims (15)

  1. 端末にインストールされているアプリケーションに対応して、前記端末に保持されている第1の宛先識別子を端末宛先識別子として保持するとともに、前記第1の宛先識別子をサービス宛先識別子として保持する宛先ID保持部と、
    第2の宛先識別子を前記端末に送信し、前記端末が前記第1の宛先識別子を前記第2の宛先識別子に更新したことを示す宛先ID更新完了通知を、前記端末から受信するプッシュ送受信部と、
    前記宛先ID保持部の前記端末宛先識別子を前記第1の宛先識別子から前記第2の宛先識別子に更新する宛先ID更新部と、
    ウェブサーバから受信したプッシュメッセージ送信依頼通知に含まれる第3の宛先識別子が前記宛先ID保持部の前記サービス宛先識別子に一致する場合、前記第3の宛先識別子に代えて前記端末宛先識別子を含むプッシュメッセージを生成し、前記プッシュメッセージを前記端末へ向けて送信するように前記プッシュ送受信部に指示するプッシュ受付部と、を含む情報処理装置。
  2. 前記情報処理装置と前記端末は、前記情報処理装置から前記端末に任意のタイミングで情報を送信するように接続され、前記情報処理装置と前記ウェブサーバは、前記情報処理装置が前記ウェブサーバからの要求に応じて応答するように接続される、請求項1に記載の情報処理装置。
  3. 前記宛先ID更新部は、定期的にまたは外部からの指令に応じて前記第1の宛先識別子に変わる第2の宛先識別子を生成する、請求項1または2に記載の情報処理装置。
  4. さらに、
    前記ウェブサーバからの前記プッシュメッセージ送信依頼通知に応じて、前記ウェブサーバに向けて、前記アプリケーションの前記識別子は前記第2の宛先識別子に変更されたことを通知する宛先ID送信部を含む、請求項1乃至3のいずれか一項に記載の情報処理装置。
  5. 前記プッシュ受付部は、前記ウェブサーバから前記第1の宛先識別子に宛てに前記プッシュメッセージの配信を依頼する前記プッシュメッセージ送信依頼通知を受信する前に、前記端末に、前記端末が保持している前記第2の宛先識別子を前記第3の宛先識別子に更新させ、前記アプリケーションの前記識別子の更新が完了したことを示す宛先ID更新完了通知を返信させ、前記宛先ID更新完了通知を受信すると、前記宛先ID更新部に前記宛先ID保持部の前記端末宛先識別子を前記第2の宛先識別子から前記第3の宛先識別子に更新するように指令を出す、請求項1乃至4のいずれか一項に記載の情報処理装置。
  6. コンピュータによって実行される宛先情報更新方法であって、
    端末にインストールされているアプリケーションに対応して、前記端末に保持されている第1の宛先識別子を端末宛先識別子として保持するとともに、前記第1の宛先識別子をサービス宛先識別子として保持することと、
    第2の宛先識別子を前記端末に送信し、前記端末が前記第1の宛先識別子を前記第2の宛先識別子に更新したことを示す宛先ID更新完了通知を、前記端末から受信することと、
    前記端末宛先識別子を前記第1の宛先識別子から前記第2の宛先識別子に更新することと、
    ウェブサーバから受信したプッシュメッセージ送信依頼通知に含まれる第3の宛先識別子が前記サービス宛先識別子に一致する場合、前記第3の宛先識別子に代えて前記端末宛先識別子を含むプッシュメッセージを生成し、前記プッシュメッセージを前記端末に送信することと、
    を含む宛先情報更新方法。
  7. 前記コンピュータと前記端末は、前記コンピュータから前記端末に任意のタイミングで情報を送信するように接続され、前記コンピュータと前記ウェブサーバは、前記コンピュータが前記ウェブサーバからの要求に応じて応答するように接続される、請求項6に記載の宛先情報更新方法。
  8. さらに、
    定期的にまたは外部からの指令に応じて前記第1の宛先識別子に変わる第2の宛先識別子を生成することを含む、請求項6または7に記載の宛先情報更新方法。
  9. さらに、
    前記ウェブサーバからの前記プッシュメッセージ送信依頼通知に応じて、前記アプリケーションの前記識別子は前記第2の宛先識別子に変更されたことを通知することを含む、請求項6乃至8のいずれか一項に記載の宛先情報更新方法。
  10. さらに、
    前記ウェブサーバから前記第1の宛先識別子に宛てに前記プッシュメッセージの配信を依頼する前記プッシュメッセージ送信依頼通知を受信する前に、前記端末に、前記端末が保持している前記第2の宛先識別子を前記第3の宛先識別子に更新させ、前記アプリケーションの前記識別子の更新が完了したことを示す宛先ID更新完了通知を返信させ、前記宛先ID更新完了通知を受信すると、前記端末宛先識別子を前記第2の宛先識別子から前記第3の宛先識別子に更新するように指令を出すことを含む、請求項6乃至9のいずれか一項に記載の宛先情報更新方法。
  11. 端末にインストールされているアプリケーションに対応して、前記端末に保持されている第1の宛先識別子を端末宛先識別子として保持するとともに、前記第1の宛先識別子をサービス宛先識別子として保持
    第2の宛先識別子を前記端末に送信し、前記端末が前記第1の宛先識別子を前記第2の宛先識別子に更新したことを示す宛先ID更新完了通知を、前記端末から受信
    前記端末宛先識別子を前記第1の宛先識別子から前記第2の宛先識別子に更新
    ウェブサーバから受信したプッシュメッセージ送信依頼通知に含まれる第3の宛先識別子が前記サービス宛先識別子に一致する場合、前記第3の宛先識別子に代えて前記端末宛先識別子を含むプッシュメッセージを生成し、前記プッシュメッセージを前記端末に送信する処理をコンピュータに実行させるプログラム。
  12. 前記コンピュータと前記端末は、前記コンピュータから前記端末に任意のタイミングで情報を送信するように接続され、前記コンピュータと前記ウェブサーバは、前記コンピュータが前記ウェブサーバからの要求に応じて応答するように接続される、請求項11に記載のプログラム。
  13. さらに、
    定期的にまたは外部からの指令に応じて前記第1の宛先識別子に変わる第2の宛先識別子を生成する処理をコンピュータに実行させること含む、請求項11または12に記載のプログラム。
  14. さらに、
    前記ウェブサーバからの前記プッシュメッセージ送信依頼通知に応じて、前記ウェブサーバに向けて、前記アプリケーションの前記識別子は前記第2の宛先識別子に変更されたことを通知する処理をコンピュータに実行させること含む、請求項11乃至13のいずれか一項に記載のプログラム。
  15. さらに、
    前記ウェブサーバから前記第1の宛先識別子に宛てに前記プッシュメッセージの配信を依頼する前記プッシュメッセージ送信依頼通知を受信する前に、前記端末に、前記端末が保持している前記第2の宛先識別子を前記第3の宛先識別子に更新させ、前記アプリケーションの前記識別子の更新が完了したことを示す宛先ID更新完了通知を返信させ、前記宛先ID更新完了通知を受信すると、前記端末宛先識別子を前記第2の宛先識別子から前記第3の宛先識別子に更新するように指令を出処理をコンピュータに実行させること含む、請求項11乃至14のいずれか一項に記載のプログラム。
JP2015523765A 2013-06-27 2013-06-27 情報処理装置、宛先情報更新方法、およびプログラム Expired - Fee Related JP6044009B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/067733 WO2014207880A1 (ja) 2013-06-27 2013-06-27 情報処理装置、宛先情報更新方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP6044009B2 true JP6044009B2 (ja) 2016-12-14
JPWO2014207880A1 JPWO2014207880A1 (ja) 2017-02-23

Family

ID=52141279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015523765A Expired - Fee Related JP6044009B2 (ja) 2013-06-27 2013-06-27 情報処理装置、宛先情報更新方法、およびプログラム

Country Status (4)

Country Link
US (1) US20160100021A1 (ja)
EP (1) EP3015990B1 (ja)
JP (1) JP6044009B2 (ja)
WO (1) WO2014207880A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108023909B (zh) * 2016-11-01 2021-08-06 鲸彩在线科技(大连)有限公司 信息推送方法、装置及网络系统
CN109218431A (zh) * 2018-09-28 2019-01-15 江苏中威科技软件系统有限公司 一种信息精准推送管理方法
CN110035108B (zh) * 2018-12-26 2022-01-28 创新先进技术有限公司 一种信息推送方法及系统
JP2024068554A (ja) * 2022-11-08 2024-05-20 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003134566A (ja) * 2001-10-24 2003-05-09 Aicon:Kk プッシュ型データ配信システムとそれに用いる移動通信端末、呼出サーバー装置
JP2004056543A (ja) * 2002-07-22 2004-02-19 Toshiba Corp スクランブル放送受信装置
WO2008035450A1 (fr) * 2006-09-20 2008-03-27 Secured Communications, Inc. Authentification par un identifiant ponctuel
JP2012060282A (ja) * 2010-09-07 2012-03-22 Sharp Corp メールサーバ
JP2012230555A (ja) * 2011-04-26 2012-11-22 Zeus Enterprise:Kk 情報配信システムおよび情報配信方法
WO2013047093A1 (ja) * 2011-09-29 2013-04-04 沖電気工業株式会社 Id管理装置、プログラム、利用者端末、およびid管理システム
JP2013090071A (ja) * 2011-10-16 2013-05-13 Zeus Enterprise:Kk 画像配信システムおよび画像配信方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934756B2 (en) * 2000-11-01 2005-08-23 International Business Machines Corporation Conversational networking via transport, coding and control conversational protocols
JP2003015793A (ja) * 2001-07-03 2003-01-17 Matsushita Electric Works Ltd ネットワーク上の監視対象の情報を監視画面上にダイナミックに変化させて表示する方法、ネットワーク上の監視対象の情報を監視画面上にダイナミックに変化させて表示するシステム、およびこのシステムを実現するためのユーザインタフェースプレイヤープログラム
US11601477B2 (en) * 2010-01-25 2023-03-07 Kwingle Inc. Data communication system and method
CN102333105B (zh) * 2010-07-14 2014-02-19 华为技术有限公司 业务通信的方法、系统、推送客户端和用户设备
CN102347967B (zh) * 2010-07-30 2014-01-01 华为技术有限公司 一种推送设备间的协作方法及装置
US8407776B2 (en) * 2011-02-11 2013-03-26 Good Technology Corporation Method, apparatus and system for provisioning a push notification session
JP5760716B2 (ja) * 2011-03-30 2015-08-12 富士通株式会社 アプリ提供システム、アプリ提供方法、情報処理装置及び情報処理プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003134566A (ja) * 2001-10-24 2003-05-09 Aicon:Kk プッシュ型データ配信システムとそれに用いる移動通信端末、呼出サーバー装置
JP2004056543A (ja) * 2002-07-22 2004-02-19 Toshiba Corp スクランブル放送受信装置
WO2008035450A1 (fr) * 2006-09-20 2008-03-27 Secured Communications, Inc. Authentification par un identifiant ponctuel
JP2012060282A (ja) * 2010-09-07 2012-03-22 Sharp Corp メールサーバ
JP2012230555A (ja) * 2011-04-26 2012-11-22 Zeus Enterprise:Kk 情報配信システムおよび情報配信方法
WO2013047093A1 (ja) * 2011-09-29 2013-04-04 沖電気工業株式会社 Id管理装置、プログラム、利用者端末、およびid管理システム
JP2013090071A (ja) * 2011-10-16 2013-05-13 Zeus Enterprise:Kk 画像配信システムおよび画像配信方法

Also Published As

Publication number Publication date
US20160100021A1 (en) 2016-04-07
EP3015990A4 (en) 2016-06-22
JPWO2014207880A1 (ja) 2017-02-23
EP3015990B1 (en) 2018-08-08
EP3015990A1 (en) 2016-05-04
WO2014207880A1 (ja) 2014-12-31

Similar Documents

Publication Publication Date Title
KR101577920B1 (ko) 위치-기반 그룹 생성 방법, 장치 및 시스템
WO2019134306A1 (zh) 消息处理方法、装置、终端设备及可读存储介质
EP3142336B1 (en) Synchronization method for notification message of electronic device, and electronic device
CN104144093A (zh) 一种智能设备控制方法及相关设备、系统
CN102523287A (zh) 具有基础结构和直接模式的无线网络接口
CN102685206A (zh) 在对等网络中漫游群组
EP3197094B1 (en) Software upgrading method and device
JP6044009B2 (ja) 情報処理装置、宛先情報更新方法、およびプログラム
JP2015514259A (ja) 無線ルーティング装置、モバイル端末ならびに管理システムおよび方法
US10908889B2 (en) Method, user equipment, and application server for downloading application
CN106027631B (zh) 一种数据传输方法及装置
CN102130853A (zh) 实现群组信息交互的方法及系统
CN111787540A (zh) 接入物联网的方法、装置、电子设备及可读存储介质
JP6666542B2 (ja) データ更新システム、遠隔設定装置およびデータ更新方法
JP5609608B2 (ja) 情報処理装置、グループ生成システム、グループ生成方法及びプログラム
CN103888502A (zh) 投影方法、投影文件提供方法及投影终端
CN106302093B (zh) 一种通信方法、系统及服务器
CN102164099A (zh) 基于网页的实现群组信息交互的方法及系统
CN107395493B (zh) 一种基于意图Intent分享消息的方法及装置
JP2006164272A (ja) 移動通信端末機とそのメッセージ受信方法
CN113617020B (zh) 游戏控制方法、装置、存储介质、服务器以及终端
CN115865852A (zh) 即时通信会话信息的处理方法、装置及电子设备
JP5570463B2 (ja) 無線中継装置、仮想マシン作成サーバ、無線中継方法、および仮想マシン作成方法
JP2019003632A (ja) メッセンジャーでのファイル送信時に機器間の通信技術を活用する方法及びシステム
EP2477135A1 (en) Information processing system, information processing method, information processing device, information processing device control method, information processing terminal, information processing terminal control method, information storage medium and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160921

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161024

R150 Certificate of patent or registration of utility model

Ref document number: 6044009

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees