JP6167736B2 - 情報処理装置、サーバ装置、情報処理方法及びプログラム - Google Patents

情報処理装置、サーバ装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP6167736B2
JP6167736B2 JP2013162145A JP2013162145A JP6167736B2 JP 6167736 B2 JP6167736 B2 JP 6167736B2 JP 2013162145 A JP2013162145 A JP 2013162145A JP 2013162145 A JP2013162145 A JP 2013162145A JP 6167736 B2 JP6167736 B2 JP 6167736B2
Authority
JP
Japan
Prior art keywords
data
version
information
updated
server
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
JP2013162145A
Other languages
English (en)
Other versions
JP2015032184A (ja
JP2015032184A5 (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2013162145A priority Critical patent/JP6167736B2/ja
Priority to US14/319,220 priority patent/US9134993B2/en
Priority to CN201410366403.8A priority patent/CN104346198B/zh
Publication of JP2015032184A publication Critical patent/JP2015032184A/ja
Publication of JP2015032184A5 publication Critical patent/JP2015032184A5/ja
Application granted granted Critical
Publication of JP6167736B2 publication Critical patent/JP6167736B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本技術は、データを記憶しそのデータの更新されたバージョンを受信することが可能な情報処理装置、サーバ装置、上記情報処理装置における情報処理方法及びプログラムに関する。
従来から、複数のデバイスが記憶するデータ(ソフトウェア等)をそれぞれ更新させる技術として、クラウド上のサーバが更新データを記憶し、所定の時刻に各デバイスへ更新データをブロードキャストするもの、またはサーバが各デバイスに所定の時刻にサーバへのアクセスを促し更新データをダウンロードさせるもの、等が存在する。
しかし、所定の時刻に各デバイスのデータが一斉に更新される場合、サーバやサーバに接続されたネットワークの負荷が瞬間的に高くなってしまう可能性がある。
この問題に関連して、下記特許文献1には、コンテンツ提供システムにおいて、ユーザ端末がサーバから更新後のコンテンツを取得する時刻を分散させるための時間幅情報が設定されたコンテンツ情報をユーザ端末へ送信し、ユーザ端末が当該コンテンツ情報を基に設定された時刻にコンテンツを取得することで、サーバへのアクセス集中による負荷を軽減することが記載されている。
特開2006−113698号公報
上記特許文献1に記載の技術では、更新コンテンツは、各ユーザ端末によって取得された直後に、それぞれの取得タイミングに応じて異なる時刻に再生されるため、各ユーザ端末に保存される必要はない。しかしながら、更新されたデータの利用が複数のデバイス間で同時期に開始される必要のあるシステムにおいても、サーバの負荷を軽減するために、予めデバイスがデータを異なる時間に取得しておくことが望まれる。
以上のような事情に鑑み、本技術の目的は、サーバから配信される更新データの利用を複数のデバイスが同時期に開始する場合でも、アクセス集中によるサーバの負荷を軽減させることが可能な情報処理装置、サーバ装置、情報処理方法及びプログラムを提供することにある。
本技術の一形態に係る情報処理装置は、通信部と、記憶部と、制御部とを有する。
上記通信部は、サーバと通信可能である。上記記憶部は、所定の処理に使用されるデータを記憶可能である。
上記制御部は、上記データの現在のバージョンを示す現在バージョン情報及び上記データの現在のバージョンが更新されたバージョンを示す更新バージョン情報を含む通知情報を上記サーバから受信し、所定の最大待機時間内で任意に決定される待機時間だけ待機した後に所定の記憶場所から上記更新されたバージョンを取得するように上記通信部を制御可能である。
また制御部は、上記記憶されたデータを、上記取得された更新されたバージョンへ、上記最大待機時間経過後に更新するように上記記憶部を制御可能である。
これにより情報処理装置は、サーバから配信される更新データの利用を複数のデバイスが同時期に開始する場合でも、更新データを最大待機時間内の任意の時刻に取得しておき最大待機時間経過まで使用せずに保持しておくことで、アクセス集中によるサーバ及びネットワークの負荷を軽減させることができる。
上記通知情報には、上記最大待機時間を示す最大待機時間情報が含まれてもよい。この場合上記制御部は、上記最大待機時間内で任意に上記待機時間を決定可能であってもよい。また制御部は、上記最大待機時間経過後に、上記データを更新するよう要求する更新要求情報を上記サーバから受信するように上記通信部を制御可能であり、上記更新要求情報に基づいて上記データを上記更新されたバージョンへ更新するように上記記憶部を制御可能であってもよい。
これにより情報処理装置は、サーバからの更新要求情報を受信するまでは、更新を実行することなく、取得した更新データを保持することができる。
上記通知情報には、上記更新されたバージョンの更新時刻を示す更新時刻情報が含まれてもよい。この場合上記更新時刻が到来したときに上記データを上記更新されたバージョンへ更新するように上記記憶部を制御可能であってもよい。
これにより情報処理装置は、更新時刻が到来するまでは、更新を実行することなく、取得した更新データを保持することができる。
上記制御部は、上記サーバと未接続のために上記更新要求情報を上記サーバから受信できなかった場合に、次回の上記サーバとの接続時に、当該サーバから上記現在バージョン情報を受信するように上記通信部を制御可能であってもよい。また制御部は、上記現在バージョン情報で示されたバージョンと上記記憶部に記憶されたデータのバージョンとを比較可能であってもよく、それらのバージョンが異なる場合に、上記記憶場所から上記データの上記現在バージョン情報で示されたバージョンを取得するように上記通信部を制御可能であってもよい。さらに制御部は、取得されたバージョンによって上記記憶されたデータを更新するように上記記憶部を制御可能であってもよい。
これにより情報処理装置は、例えば電源オフ等によってサーバから更新要求情報が受信できなかった場合でも、次回の起動時にデータの現在のバージョンを確認し、異なる場合は即座にそれを取得して更新することができる。
上記制御部は、当該情報処理装置の起動時であって、上記記憶部に上記データが記憶されていない場合に、上記記憶場所から上記データの現在のバージョンを取得するように上記通信部を制御可能であってもよい。
これにより情報処理装置は、その初回起動時や、何らかの理由で記憶部のデータが削除されてしまった場合であっても、データの現在のバージョンを取得することで、その後は通知情報の受信により更新バージョンも取得することができる。
上記サーバは、当該情報処理装置と他の複数の装置との間の通信を中継する中継サーバであってもよく、上記データは、複数の中継サーバのうち、当該情報処理装置が上記中継のために接続すべき中継サーバの切り替えを示すデータであってもよい。
これにより情報処理装置は、自身が接続すべき中継サーバの切り替えに関するデータを、切り替えのタイミング前の任意の時刻に取得しておくことで、多数の装置からの同時期のデータリクエストによって中継サーバの負荷が増大するのを防ぐことができる。
上記制御部は、上記更新バージョン情報として、上記データの現在のバージョンが更新されたバージョンを示す情報と、当該更新されたバージョンがさらに更新されたバージョンを示す情報とを少なくとも含む複数の更新バージョン情報を受信するように上記通信部を制御可能であってもよい。この場合制御部は、上記複数の更新バージョン毎に設定された、それぞれ異なる最大待機時間の経過後に上記データを上記更新されたバージョンへ更新するように上記記憶部を制御可能であってもよい。
これにより情報処理装置は、複数の更新バージョン情報を予め記憶しておくことで、サーバの負荷をさらに更に軽減することができる。
本技術の他の形態に係るサーバ装置は、通信部と制御部とを有する。
上記通信部は、複数の情報処理装置と通信可能である。
上記制御部は、上記複数の情報処理装置において所定の処理に使用されるデータの現在のバージョンを示す現在バージョン情報及び上記データの現在のバージョンが更新されたバージョンを示す更新バージョン情報を含み、所定の最大待機時間内の任意の待機時間だけ待機してから取得することを通知する通知情報を上記複数の情報処理装置へ送信するように上記通信部を制御可能である。
また制御部は、上記データを上記更新されたバージョンによって更新するように要求する更新要求情報を、上記最大待機時間経過後に上記複数の情報処理装置へ送信するように上記通信部を制御可能である。
これによりサーバ装置は、各情報処理装置がデータの更新バージョンを取得するために記憶場所へアクセスするタイミングを分散させることで、自身または記憶場所並びにネットワークの負荷を軽減することができる。
本技術のまた別の形態に係る情報処理方法は、所定の処理に使用されるデータの現在のバージョンを示す現在バージョン情報及び上記データの現在のバージョンが更新されたバージョンを示す更新バージョン情報を含む通知情報を受信すること、
所定の最大待機時間内で任意に決定される待機時間だけ待機した後に所定の記憶場所から上記更新されたバージョンを取得すること、及び、
上記記憶されたデータを、上記データの更新されたバージョンへ、上記最大待機時間経過後に更新することを含む。
本技術のさらにまた別の形態に係るプログラムは、情報処理装置に、受信ステップと、取得ステップと、更新ステップとを実行させる。
上記受信ステップでは、所定の処理に使用されるデータの現在のバージョンを示す現在バージョン情報及び上記データの現在のバージョンが更新されたバージョンを示す更新バージョン情報を含む通知情報が受信される。
上記取得ステップでは、所定の最大待機時間内で任意に決定される待機時間だけ待機した後に所定の記憶場所から上記更新されたバージョンが取得される。
上記更新ステップでは、上記記憶されたデータが、上記データの更新されたバージョンへ、上記最大待機時間経過後に更新される。
以上のように、本技術によれば、サーバから配信される更新データの利用を複数のデバイスが同時期に開始する場合でも、アクセス集中によるサーバの負荷を軽減させることができる。
本技術の一実施形態に係るシステムの概要を示した図である。 上記システムが有するデバイスのハードウェア構成を示した図である。 上記システムが有する中継サーバのハードウェア構成を示した図である。 上記システムにおけるデバイス、中継サーバ及びResolveサーバの各ソフトウェアモジュールの構成を示した図である。 上記デバイスによる中継サーバ接続時の動作の流れを示したフローチャートである。 上記デバイスが中継サーバからResolveデータ更新通知を受信してResolveデータを取得する動作の流れを示したフローチャートである。 上記中継サーバがデバイスへResolveデータ更新通知を送信する処理を概念的に示した図である。 上記デバイスがResolveデータを取得する処理を概念的に示した図である。 上記デバイスがResolveデータを更新バージョンへ切り替える処理の流れを示したフローチャートである。 上記中継サーバがデバイスへResolveデータの切り替え通知を送信する処理を概念的に示した図である。 上記デバイスがResolveデータを切り替える処理を概念的に示した図である。 上記デバイスが長時間未接続の状態を経て中継サーバへ接続する場合の動作を概念的に示した図である。
以下、本技術に係る実施形態を、図面を参照しながら説明する。
[システムの概要]
図1は、本実施形態に係る通信システムの概要を示した図である。
同図に示すように、本実施形態に係るシステムは、複数のデバイス100(100a,100b)と、クラウド(インターネット)上の複数の中継サーバ200(200a,200b,200c)及びResolveサーバ300から構成される。デバイス100及び中継サーバ200の数は、図示されたものに限られない。
各デバイス100は、中継サーバ200と通信可能であり、当該中継サーバ200を介して他のデバイス100と通信可能である。各デバイス100には、接続すべき中継サーバ200が割り当てられている。例えばデバイス100aは中継サーバ200aに接続し、デバイス100bは中継サーバ200bに接続することとされている。また各デバイス100は、中継サーバ200の負荷を軽減するため、可能な場合には直接、例えばUPnPによるP2P(Peer to Peer)通信を行う。
ここで各デバイス100は、例えばスマートフォン、デスクトップPC、ノートブックPC、タブレット、BDR(Blu-ray(登録商標) Recorder)、TV、ストレージ装置、ゲーム機器、オーディオ機器等、あらゆるデバイスであり得る。
各中継サーバ200は、管理対象のデバイス100間の通信を中継し、各デバイス100間のコネクションを管理する。各中継サーバ200は、例えばデバイス100間の所定数(例えば数万、数百万コネクションでもあり得る)のコネクション毎に設置される。各中継サーバ200は他の中継サーバ200及びResolveサーバ300とも通信可能である。
中継サーバ200は、各デバイス100の接続情報(IPアドレス、ポート番号等)を、各デバイスを識別するデバイスID等と対応付けて記憶している。
各デバイス100が中継サーバ200を介して通信する場合には、各デバイス100は、自身のID及び送信先IDを指定して中継サーバ200へメッセージを送信し、中継サーバ200は当該IDに基づいて送信先IDを有するデバイスへ当該メッセージを転送する。
Resolveサーバ300は、各デバイス100がどの中継サーバ200へ接続すべきかを示すデータ(以下、Resolveデータ)を記憶する。各デバイス100は、中継サーバ200への接続に先立って、当該ResolveデータをResolveサーバ300から受信する。
Resolveデータは、例えば中継サーバ200が増設された場合や、デバイス100の環境の変化等に応じて適宜更新される。例えば同図では、Resolveデータの現在のバージョンはVer=14であるが、中継サーバ200cが増設され、デバイス100b等のいくつかのデバイス100が接続すべき中継サーバ200が、中継サーバ200bから中継サーバ200cへと変更される状況も考えられる。
この場合Resolveデータのバージョンはver=14からver=15へと更新される。本実施形態では、全てのデバイス100が、この更新されたResolveデータを取得し、接続すべき中継サーバ200が切り替わったことを検知したデバイス100が、接続すべき中継サーバ200を変更する仕組みが提供される。
この接続すべき中継サーバ200(Resolveデータ)の切り替えは、全てのデバイス100が対象のネットワーク構成の切り替え処理であるから、全てのデバイス100が同時期に実行することが前提となる。しかし、切り替えのタイミングで各デバイス100がResolveサーバ300へ一斉にアクセスしてResolveデータを取得すると、Resolveサーバ300及びそれに接続されたネットワークの負荷が増大することになる。本実施形態では、上記前提に立ちながらも、この負荷を軽減可能なシステムが提供される。
[デバイスのハードウェア構成]
図2は、上記デバイス100のハードウェア構成を示した図である。同図に示すように、デバイス100は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、入出力インタフェース15、及び、これらを互いに接続するバス14を備える。
CPU11は、必要に応じてRAM13等に適宜アクセスし、各種演算処理を行いながらデバイス100の各ブロック全体を統括的に制御する。ROM12は、CPU11に実行させるOS、プログラムや各種パラメータなどのファームウェアが固定的に記憶されている不揮発性のメモリである。RAM13は、CPU11の作業用領域等として用いられ、OS、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
入出力インタフェース15には、表示部16、操作受付部17、記憶部18、通信部19等が接続される。
表示部16は、例えばLCD(Liquid Crystal Display)、OELD(Organic ElectroLuminescence Display)、CRT(Cathode Ray Tube)等を用いた表示デバイスである。
操作受付部17は、例えばタッチパネル、キーボード、ボタン等の入力装置である。操作受付部17がタッチパネルである場合、それは表示部16と一体化されている。
記憶部18は、例えばフラッシュメモリ(SSD;Solid State Drive)、その他の固体メモリ等の不揮発性メモリである。当該記憶部18には、OSのほか、Resolveサーバ300から取得したResolveデータや、中継サーバ200から受信した更新通知情報等のデータ、及びそれらのデータに基づくResolveデータの更新に必要な各種ソフトウェア等が記憶される。
通信部19は、ネットワークに接続するためのモジュールであり、上記中継サーバ200、Resolveサーバ300及び他のデバイス100との間の通信処理を担う。
[中継サーバのハードウェア構成]
図3は、上記中継サーバ200のハードウェア構成を示した図である。同図に示すように、中継サーバ200のハードウェア構成も、上記デバイス100のハードウェア構成と基本的に同様である。すなわち、中継サーバ200は、CPU21、ROM22、RAM23、入出力インタフェース25、及び、これらを互いに接続するバス24、表示部26、操作受付部27、記憶部28、通信部29を備える。ここで表示部26は、中継サーバ200に外部接続されていてもよい。また記憶部28としては、HDD(Hard Disk Drive)が用いられてもよい。
CPU21は、記憶部28や通信部29等の各ブロックを制御して、デバイス100との通信処理や、各種データ処理を実行する。
記憶部28には、各デバイス100間の通信を中継及び管理するための各種ソフトウェア、Resolveサーバ300に記憶されたResolveデータのデバイス100への更新通知処理等に必要な各種ソフトウェアや、当該Resolveデータのバージョンに関するデータ等の各種データが記憶される。
通信部29は、例えばEthernet(登録商標)用のNIC(Network Interface Card)であり、上記デバイス100、Resolveサーバ300及び他の中継サーバ200との間の通信処理を担う。
[システムのソフトウェア構成]
図4は、上記デバイス100、中継サーバ200及びResolveサーバ300が有するソフトウェアモジュールの構成を示した図である。
同図に示すように、デバイス100は、通信部110、データ送受信部120、中継サーバ接続管理部130、Resolveデータ管理部140、Resolveデータversion判定部150、待機時間生成部160及びResolveデータ格納部170の各モジュールを有する。
通信部110は、中継サーバ200及びResolveサーバ300との通信を統括的に制御する。
データ送受信部120は、他のデバイス100、中継サーバ200及びResolveサーバ300との間で各種データを送受信する。
中継サーバ接続管理部130は、中継サーバ200への接続処理及び接続後の接続維持処理等を管理する。
Resolveデータ管理部140は、上記Resolveサーバ300から取得したResolveデータをResolveデータ格納部170に格納し、当該Resolveデータ及びそのバージョンに関する情報を管理する。またResolveデータ管理部140は、また中継サーバ200からの更新通知に基づいてそれらの情報を更新する。
Resolveデータ格納部170は、Resolveサーバ300から取得されたResolveデータを記憶する。
Resolveデータversion判定部150は、上記Resolveデータ管理部140が管理する情報に基づいて、Resolveデータの現在のバージョン(current)及び更新後のバージョン(future)を判定する。
待機時間生成部160は、中継サーバ200からResolveデータの更新通知があった場合に、当該更新通知で指定された、ResolveデータをResolveサーバ300から取得するまでの最大待機時間内の任意の待機時間を生成する。
中継サーバ200は、通信部210、入力部220、データ中継部230、Resolveデータ管理部240、Resolveデータ格納部250、Resolveバージョン通知部260、及び通知バージョン/待機時間格納部270の各モジュールを有する。
通信部210は、各デバイス100、Resolveサーバ300及び他の中継サーバ200との通信処理を統括的に制御する。
入力部220は、中継サーバ200の管理者からの操作入力を受け付ける。
データ中継部230は、管理対象のデバイス100間のデータ通信を中継する。
Resolveデータ管理部240は、Resolveサーバ300から受信したResolveデータをResolveデータ格納部250へ格納し、それを管理する。
Resolveデータ格納部250は、Resolveサーバ300から受信したResolveデータを記憶する。
Resolveバージョン通知部260は、管理対象の各デバイス100へ、Resolveデータのバージョン(現在のバージョン及び更新されたバージョン)を通知する。
通知バージョン/待機時間格納部270は、各デバイス100へ通知すべきResolveデータのバージョン情報を記憶し、また各デバイス100がResolveデータの更新通知を受けてからその取得まで待機するための最大待機時間に関する情報を通知用に記憶する。
ここで最大待機時間は、例えば3日、1週間等であるが、これらに限られない。
Resolveサーバ300は、通信部310、入力部320、Resolveデータ管理部330及びResolveデータ格納部340の各モジュールを有する。
通信部310は、各デバイス100及び各中継サーバ200との通信処理を統括的に制御する。
入力部320は、Resolveサーバ300の管理者からの操作入力を受け付ける。
Resolveデータ管理部330は、Resolveデータ(現在のバージョン及び更新バージョン)をResolveデータ格納部340へ格納し、それを管理する。
Resolveデータ格納部340は、上記Resolveデータを記憶する。
[システムの動作]
次に、以上のように構成されたシステムにおけるデバイス100及び中継サーバ200の動作について説明する。本実施形態において、デバイス100及び中継サーバ200の動作は、CPU11及び12と、その制御下において実行されるソフトウェアとで協働して行われる。
(デバイスの初回起動時の動作)
まず、デバイス100の初回起動時の動作について説明する。
ここで「初回起動時」とは、厳密にはデバイス100がResolveデータを取得していない状態のことをいう。すなわち、デバイス100が工場出荷後に最初に電源ONされた状態のみならず、例えば一度Resolveデータが取得されたものの、何らかの事情により削除され、その後に初めて起動される場合も、「初回起動時」に含まれる。
デバイス100は、初回起動時にはまず、Resolveサーバ300へアクセスし、Resolveデータを取得する。この場合デバイス100は、Resolveデータの現在のversion番号を知ることはできないので、Resolveサーバ300に対して、「現在稼働中のResolveデータ」を要求する。
(Resolveサーバが配信する情報)
次に、上記Resolveデータを含め、Resolveサーバ300が配信するデータについて説明する。
各デバイス100に対しては、上述のとおり、Resolveデータ、すなわち、接続すべき中継サーバ200に関するデータ(アドレスデータ)が配信される。
各中継サーバ200に対しては、全ての中継サーバ200のアドレスデータと、各デバイス100がどの中継サーバ200に接続されることになっているかを示すデータとが配信される。
Resolveサーバ300はHTTPサーバとされ、データ取得要求元がデバイス100であるか中継サーバ200であるかによって、返答するURLを切り替える。すなわち、デバイス100と中継サーバ200とでは、利用するURLが異なる。
例えば、各中継サーバ200に対しては、以下のURLが返答される。
http://example.com/srv?ver=14
これは、ver=14のResolveデータが返答される場合のURLである。
一方、各デバイス100に対しては、以下のURLが返答される。
http://example.com/dev?ver=15
これは、ver=15のResolveデータが返答される場合のURLである。
また、上述したように、デバイス100の初回起動時には、現在稼動中のResolveデータが返答される。以下はその場合のResolveデータの例である。
http://example.com/dev?ver=current
(デバイスによる中継サーバへの接続処理)
次に、デバイス100による中継サーバ200への接続時の動作を説明する。
図5は、デバイス100が起動してから中継サーバ200への接続した際の動作の流れを示したフローチャートである。
同図に示すように、まずデバイス100が起動すると(ステップ51)、Resolveデータ管理部140は、取得済みのResolveデータが存在するか否かを判断する(ステップ52)。
取得済みのResolveデータが存在しない場合(No)、すなわち初回起動時には、Resolveデータ管理部140は、上述の通り、現在稼動中のResolveデータをResolveサーバ300から取得する(ステップ53)。
取得済みのResolveデータが存在する場合(Yes)、中継サーバ接続管理部130は、当該Resolveデータで示されたURLを用いて中継サーバ200へ接続する(ステップ54)。
これにより、デバイス100には、中継サーバ200から、Resolveデータのバージョン通知が受信される。当該通知には、Resolveデータの現在のバージョン情報(URL)(current=X)、更新後のバージョン情報(URL)(future=Y)、及び更新後のバージョンを取得するまでの最大待機時間情報(wait=Z)が含まれる。
続いてResolveデータVersion判定部150は、現在Resolveデータ格納部170にcurrentとして保持されているResolveデータのバージョンが、上記通知されたver=Xであるか否かを判断する(ステップ55)。
保持されているResolveデータのバージョンがver=Xである場合には(Yes)、現時点でResolveデータの更新の必要はないため、中継サーバ接続管理部130は、中継サーバ200への接続を完了する(ステップ60)。
一方、保持されているResolveデータがver=Xではない場合、ResolveデータVersion判定部150は、ver=XのResolveデータがfutureとして保持されているか否かを判断する(ステップ56)。
ここで、ver=XのResolveデータがfutureとして保持されている場合とは、例えば、デバイス100が、ver=XのResolveデータをfutureとして取得した後、Resolveデータの切り替え処理を実行せずにスリープした場合等が挙げられる。
ver=XのResolveデータがfutureとして保持されている場合(Yes)、Resolveデータ管理部140は、ver=XのResolveデータのステータスをfutureからcurrentへ切り替える(ステップ57)。
一方、ver=XのResolveデータがfutureとしても保持されていない場合(No)、Resolveデータ管理部140は、上記通知されたURLを用いて、Resolveサーバ300から当該ver=XのResolveデータをcurrent用として取得する(ステップ58)。
続いて中継サーバ接続管理部130は、上記ver=XのResolveデータにより、接続すべき中継サーバ200に変更があったか否かを判断する(ステップ59)。
接続すべき中継サーバに変更があった場合(Yes)には、中継サーバ接続管理部130は、上記ステップ54に戻り、新たな中継サーバ200へ接続する。
接続すべき中継サーバに変更がない場合(No)には、中継サーバ接続管理部130は、現在の接続先である中継サーバ200との接続を完了する(ステップ60)。
(更新用Resolveデータの取得処理)
次に、デバイス100によるfuture用のResolveデータの取得処理について説明する。
図6は、デバイス100が中継サーバ200からResolveデータ更新通知を受信して更新後のResolveデータを取得する動作の流れを示したフローチャートである。また図7は、中継サーバ200がデバイス100へResolveデータ更新通知を送信する処理を概念的に示した図である。また図8は、デバイス100がResolveデータを取得する処理を概念的に示した図である。
図6に示すように、まず、デバイス100の中継サーバ接続管理部130は、中継サーバ200へ接続済みの状態で(ステップ61)、中継サーバ200から、Resolveデータの更新通知を受信する(ステップ62)。当該更新通知には、更新後のバージョン情報(URL)(future=verX)及び最大待機時間情報(wait=Y)が含まれる。
図7の例では、各デバイス100がver=14のResolveデータを保持している状態で、現在のバージョン(current ver=14)、更新後のバージョン(future ver=15)及び最大待機時間情報を含む更新通知が各中継サーバ200から各デバイス100へ通知されている。
続いて待機時間生成部160は、上記最大待機時間(wait=Y)内のランダムな待機時間Tを決定する(ステップ63)。
続いてResolveデータ管理部140は、上記T時間の経過を待つ(ステップ64、65)。この待機中も、中継サーバ200を介した通信は実行される。
Resolveデータ管理部140は、上記T時間が経過したと判断された場合(ステップ65のYes)、上記ver=XのResolveデータが取得済みか否かを判断する(ステップ66)。
上記ver=XのResolveデータが取得済みでないと判断された場合(No)、Resolveデータ管理部140は、Resolveサーバ300から当該ver=XのResolveデータを取得し、それをfuture用としてResolveデータ格納部170へ保存する(ステップ67)。
図8の例では、各デバイス100がfuture用のver=15のResolveデータをResolveサーバ200から取得することで、それがfuture用のResolveデータとして格納されていることが示されている。future用のver=15のResolveデータ取得後も、後述する切り替え通知があるまでは、各デバイス100は、ver=14のResolveデータで動作することになる。
(Resolveデータの切り替え処理)
次に、上記取得した更新用のResolveデータの切り替え処理について説明する。
図9は、デバイス100がResolveデータを更新バージョンへ切り替える処理の流れを示したフローチャートである。また図10は、中継サーバ200が各デバイス100へResolveデータの切り替え通知を送信する処理を概念的に示した図である。また図11は、各デバイス100がResolveデータを切り替える処理を概念的に示した図である。
図9に示すように、まず、デバイス100の中継サーバ接続管理部130は、中継サーバ200へ接続済みの状態で(ステップ91)、中継サーバ200から、future用のResolveデータ(future=X)をcurrent用(current=X)に切り替える(更新する)ように要求する切り替え通知(更新要求)を受信する(ステップ92)。
この切り替え通知は、全てのデバイス100がfuture用のResolveデータを取得した後、すなわち、上記最大待機時間の経過後に送信される。
図10の例では、各デバイス100がcurrent用としてver=14、future用としてver=15のResolveデータを保持している状態で、中継サーバ200から、current用のResolveデータのver=15への切り替え要求が通知されている。
続いてResolveデータVersion判定部150は、デバイス100が、Resolveデータがcurrent=Xの状態で既に稼動中であるか否かを判断する(ステップ93)。
Resolveデータがcurrent=Xの状態で既に稼動中であると判断された場合(Yes)、Resolveデータの切り替えの必要はないため、中継サーバ接続管理部130は、そのまま中継サーバ200との接続を続行する。
Resolveデータがcurrent=Xの状態で既に稼動中でないと判断された場合(No)、ResolveデータVersion判定部150は、ver=XのResolveデータがfuture用として保持されているか否かを判断する(ステップ94)。
ver=XのResolveデータがfuture用として保持されていると判断された場合(Yes)、Resolveデータ管理部140は、当該Resolveデータのステータスをfutureからcurrentへ切り替える(ステップ95)。
ver=XのResolveデータがfuture用として保持されていないと判断された場合(No)、Resolveデータ管理部140は、ver=XのResolveデータをcurrent用としてResolveサーバ300から取得する(ステップ96)。
そして中継サーバ接続管理部130は、上記ver=XのResolveデータにより、接続すべき中継サーバ200に変更があったか否かを判断する(ステップ97)。
接続すべき中継サーバに変更があった場合(Yes)には、中継サーバ接続管理部130は、上記図5のステップ54の処理により、新たな中継サーバ200へ接続する。
図11の例では、各デバイス100がver=15のResolveデータのステータスをcurrentに切り替えたことが示されている。またこれにより例えばデバイス100bが接続すべき中継サーバ200は中継サーバ200bから中継サーバ200cへ変更され、新たに中継サーバ200cへ接続したことも示されている。
(デバイスが切り替え通知を受信できなかった場合の対応策)
次に、上記Resolveデータの切り替え通知をデバイス100が受信できなかった場合の対応策について説明する。
図12は、デバイス100が長時間未接続の状態を経て中継サーバへ接続する場合の動作を概念的に示した図である。例えば、デバイス100が、切り替え通知が送信された場合には電源がOFFの状態であったため当該切り替え通知を受信することができずに、その後に電源がONとなった場合が想定される。
上記図5でも説明したように、中継サーバ200は、デバイス100との通信路構築時のネゴシエーションにおいて、必ずResolveデータのcurrentバージョン情報をデバイス100へ通知する。
したがってデバイス100は、自身が保持するResolveデータのバージョンが、上記通知されたバージョンと異なることを検知することができ、その場合には即座にResolveサーバ300へアクセスしてcurrentバージョンのResolveデータを取得し、Resolveデータをそのデータへと切り替えることができる。
同図の例では、各デバイス100のうちデバイス100cのみがver=15のResolveデータのfutureからcurrentへの切り替え通知を受信できず、ver=14のResolveデータが保持されたままになっている。しかし、中継サーバ200と再接続時に中継サーバ200からcurrent ver=15の通知を受け、それにより切り替えの事実を検知して、Resolveサーバ300からver=15のResolveデータを取得すべく、Resolveサーバ300へアクセスしていることが分かる。
[まとめ]
以上説明したように、本実施形態によれば、Resolveデータを全てのデバイス100が同時期に切り替える必要がある場合でも、各デバイス100が最大待機時間内のランダムな時刻に更新後のResolveデータを取得して保持しておき、中継サーバ200からの通知を待ってResolveデータを切り替えることで、アクセス集中によるResolveサーバ300及びネットワークの負荷を軽減させることができる。
[変形例]
本技術は上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更され得る。
上述の実施形態では、中継サーバ200がResolveデータの取得までの最大待機時間を指定し、各デバイス100が最大待機時間内の任意の時間を待機時間として決定していた。しかし、中継サーバ200がデバイス100毎に異なる待機時間を決定して割り振ってもよい。この場合、上記更新通知には、最大待機時間に替わって当該決定された待機時間情報が含まれる。
上述の実施形態では、中継サーバ200が、最大待機時間経過後に切り替え通知をデバイス100へ送信することで、Resolveデータの切り替えが実行された。しかし、中継サーバが切り替え通知を送信せず、所定の切り替え時刻が到来した場合にはデバイス100が自動的にResolveデータを切り替えてもよい。この場合、中継サーバ200からの更新通知またはResolveサーバ300から取得されるResolveデータには、上記切り替え時刻情報が含まれる。すなわち、この場合、データ切り替えは、デバイス100の内部での時刻管理によって実行される。
上述の実施形態では、ResolveデータはResolveサーバ300から取得されたが、Resolveデータが予めResolveサーバ300から中継サーバ200へ送信されており、デバイス100がResolveデータを中継サーバ200から取得しても構わない。
上述の実施形態では、Resolveデータ、すなわち、各デバイス100が接続すべき中継サーバに関するデータが更新対象とされた。しかし、更新対象となるデータはこれに限られない。例えば、中継サーバ200が管理する各デバイス100の各種動作設定情報が更新対象とされてもよい。
上述の実施形態では、更新(future)用のResolveデータに関する情報は中継サーバ200から一度に1つのバージョンのみ通知され、一度に1つのバージョンのみResolveサーバ300から取得された。しかし、複数のバージョンの更新(future)用のResolveデータの情報が通知されて、デバイス100がResolveサーバ300から複数のバージョンの更新(future)用Resolveデータを一度に取得してもよい。この場合、各バージョンのfuture用データ毎に異なる最大待機時間が設定され、順次データが更新されていくことになる。これによりResolveサーバ300の負荷は一層軽減される。
さらに、各デバイス100間の通信を仲介する中継サーバ200が存在しないシステムにも本技術は適用可能である。すなわち、各デバイス100に記憶されたあらゆるデータが更新対象となり得る。例えば、各デバイス100にインストールされたプログラムやアプリケーション(例えば天気予報情報やクーポン情報)が更新対象とされてもよいし、各デバイス100が通信処理等に用いる鍵情報が更新対象とされてもよい。
上述の各実施形態では、上記図2で説明した各ハードウェアと図3で示したソフトウェアモジュールとによって本技術が実施されたが、本技術は、当該ソフトウェアモジュールに代わる専用回路等の他のハードウェアによって実施されても構わない。
[その他]
本技術は以下のような構成も採ることができる。
(1)
サーバと通信可能な通信部と、
所定の処理に使用されるデータを記憶可能な記憶部と、
前記データの現在のバージョンを示す現在バージョン情報及び前記データの現在のバージョンが更新されたバージョンを示す更新バージョン情報を含む通知情報を前記サーバから受信し、所定の最大待機時間内で任意に決定される待機時間だけ待機した後に所定の記憶場所から前記更新されたバージョンを取得するように前記通信部を制御し、
前記記憶されたデータを、前記取得された更新されたバージョンへ、前記最大待機時間経過後に更新するように前記記憶部を制御する
ことが可能な制御部と
を具備する情報処理装置。
(2)
上記(1)に記載の情報処理装置であって、
前記通知情報には、前記最大待機時間を示す最大待機時間情報が含まれ、
前記制御部は、
前記最大待機時間内で任意に前記待機時間を決定可能であり、
前記最大待機時間経過後に、前記データを更新するよう要求する更新要求情報を前記サーバから受信するように前記通信部を制御可能であり、
前記更新要求情報に基づいて前記データを前記更新されたバージョンへ更新するように前記記憶部を制御可能である
情報処理装置。
(3)
上記(1)に記載の情報処理装置であって、
前記通知情報には、前記更新されたバージョンの更新時刻を示す更新時刻情報が含まれ、
前記更新時刻が到来したときに前記データを前記更新されたバージョンへ更新するように前記記憶部を制御可能である
情報処理装置。
(4)
上記(2)に記載の情報処理装置であって、
前記制御部は、
前記サーバと未接続のために前記更新要求情報を前記サーバから受信できなかった場合に、次回の前記サーバとの接続時に、当該サーバから前記現在バージョン情報を受信するように前記通信部を制御し、
前記現在バージョン情報で示されたバージョンと前記記憶部に記憶されたデータのバージョンとを比較し、
それらのバージョンが異なる場合に、前記記憶場所から前記データの前記現在バージョン情報で示されたバージョンを取得するように前記通信部を制御し、
取得されたバージョンによって前記記憶されたデータを更新するように前記記憶部を制御する
ことが可能である
情報処理装置。
(5)
上記(1)〜(4)のいずれかに記載の情報処理装置であって、
前記制御部は、当該情報処理装置の起動時であって、前記記憶部に前記データが記憶されていない場合に、前記記憶場所から前記データの現在のバージョンを取得するように前記通信部を制御可能である
情報処理装置。
(6)
上記(1)〜(5)のいずれかに記載の情報処理装置であって、
前記サーバは、当該情報処理装置と他の複数の装置との間の通信を中継する中継サーバであり、
前記データは、複数の中継サーバのうち、当該情報処理装置が前記中継のために接続すべき中継サーバの切り替えを示すデータである
情報処理装置。
(7)
上記(1)〜(6)のいずれかに記載の情報処理装置であって、
前記制御部は、
前記更新バージョン情報として、前記データの現在のバージョンが更新されたバージョンを示す情報と、当該更新されたバージョンがさらに更新されたバージョンを示す情報とを少なくとも含む複数の更新バージョン情報を受信するように前記通信部を制御可能であり、
前記複数の更新バージョン毎に設定された、それぞれ異なる最大待機時間の経過後に前記データを前記更新されたバージョンへ更新するように前記記憶部を制御可能である
情報処理装置。
11,21…CPU
13,23…RAM
18,28…記憶部
19,29,110,210…通信部
100(100a,100b,100c)…デバイス
120…データ送受信部
130…中継サーバ接続管理部
140…Resolveデータ管理部
150…Resolveデータversion判定部
160…待機時間生成部
170…Resolveデータ格納部
200(200a,200b,200c)…中継サーバ
230…データ中継部
240…Resolveデータ管理部
250…Resolveデータ格納部
260…Resolveバージョン通知部
270…待機時間格納部
300…Resolveサーバ
330…Resolveデータ管理部
340…Resolveデータ格納部

Claims (9)

  1. サーバと通信可能な通信部と、
    所定の処理に使用されるデータを記憶可能な記憶部と、
    前記データの現在のバージョンを示す現在バージョン情報と、前記データの現在のバージョンが更新されたバージョンを示す情報、及び、当該更新されたバージョンがさらに更新されたバージョンを示す情報を少なくとも含む複数の更新バージョン情報を含む通知情報を前記サーバから受信し、所定の最大待機時間内で任意に決定される待機時間だけ待機した後に所定の記憶場所から前記更新されたバージョンを取得するように前記通信部を制御し、
    前記記憶されたデータを、前記取得された更新されたバージョンへ、前記複数の更新バージョン毎に設定されたそれぞれ異なる前記最大待機時間経過後に更新するように前記記憶部を制御する
    ことが可能な制御部と
    を具備する情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記通知情報には、前記最大待機時間を示す最大待機時間情報が含まれ、
    前記制御部は、
    前記最大待機時間内で任意に前記待機時間を決定可能であり、
    前記最大待機時間経過後に、前記データを更新するよう要求する更新要求情報を前記サーバから受信するように前記通信部を制御可能であり、
    前記更新要求情報に基づいて前記データを前記更新されたバージョンへ更新するように前記記憶部を制御可能である
    情報処理装置。
  3. 請求項1に記載の情報処理装置であって、
    前記通知情報には、前記更新されたバージョンの更新時刻を示す更新時刻情報が含まれ、
    前記更新時刻が到来したときに前記データを前記更新されたバージョンへ更新するように前記記憶部を制御可能である
    情報処理装置。
  4. 請求項2に記載の情報処理装置であって、
    前記制御部は、
    前記サーバと未接続のために前記更新要求情報を前記サーバから受信できなかった場合に、次回の前記サーバとの接続時に、当該サーバから前記現在バージョン情報を受信するように前記通信部を制御し、
    前記現在バージョン情報で示されたバージョンと前記記憶部に記憶されたデータのバージョンとを比較し、
    それらのバージョンが異なる場合に、前記記憶場所から前記データの前記現在バージョン情報で示されたバージョンを取得するように前記通信部を制御し、
    取得されたバージョンによって前記記憶されたデータを更新するように前記記憶部を制御する
    ことが可能である
    情報処理装置。
  5. 請求項1乃至4のいずれかに記載の情報処理装置であって、
    前記制御部は、当該情報処理装置の起動時であって、前記記憶部に前記データが記憶されていない場合に、前記記憶場所から前記データの現在のバージョンを取得するように前記通信部を制御可能である
    情報処理装置。
  6. 請求項1乃至5のいずれかに記載の情報処理装置であって、
    前記サーバは、当該情報処理装置と他の複数の装置との間の通信を中継する中継サーバであり、
    前記データは、複数の中継サーバのうち、当該情報処理装置が前記中継のために接続すべき中継サーバの切り替えを示すデータである
    情報処理装置。
  7. 複数の情報処理装置と通信可能な通信部と、
    前記複数の情報処理装置において所定の処理に使用されるデータの現在のバージョンを示す現在バージョン情報と、前記データの現在のバージョンが更新されたバージョンを示す情報、及び、当該更新されたバージョンがさらに更新されたバージョンを示す情報を少なくとも含む複数の更新バージョン情報を含み、所定の最大待機時間内の任意の待機時間だけ待機してから取得することを通知する通知情報を前記複数の情報処理装置へ送信し、
    前記データを前記更新されたバージョンによって更新するように要求する更新要求情報を、前記複数の更新バージョン毎に設定されたそれぞれ異なる前記最大待機時間経過後に前記複数の情報処理装置へ送信する
    ように前記通信部を制御可能な制御部と
    を具備するサーバ装置。
  8. 所定の処理に使用されるデータの現在のバージョンを示す現在バージョン情報と、前記データの現在のバージョンが更新されたバージョンを示す情報、及び、当該更新されたバージョンがさらに更新されたバージョンを示す情報を少なくとも含む複数の更新バージョン情報を含む通知情報を受信し、
    所定の最大待機時間内で任意に決定される待機時間だけ待機した後に所定の記憶場所から前記更新されたバージョンを取得し、
    前記記憶されたデータを、前記データの更新されたバージョンへ、前記複数の更新バージョン毎に設定されたそれぞれ異なる前記最大待機時間経過後に更新する
    情報処理方法。
  9. 情報処理装置に、
    所定の処理に使用されるデータの現在のバージョンを示す現在バージョン情報と、前記データの現在のバージョンが更新されたバージョンを示す情報、及び、当該更新されたバージョンがさらに更新されたバージョンを示す情報を少なくとも含む複数の更新バージョン情報を含む通知情報を受信するステップと、
    所定の最大待機時間内で任意に決定される待機時間だけ待機した後に所定の記憶場所から前記更新されたバージョンを取得するステップと、
    前記記憶されたデータを、前記データの更新されたバージョンへ、前記複数の更新バージョン毎に設定されたそれぞれ異なる前記最大待機時間経過後に更新するステップと
    を実行させるプログラム。
JP2013162145A 2013-08-05 2013-08-05 情報処理装置、サーバ装置、情報処理方法及びプログラム Expired - Fee Related JP6167736B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013162145A JP6167736B2 (ja) 2013-08-05 2013-08-05 情報処理装置、サーバ装置、情報処理方法及びプログラム
US14/319,220 US9134993B2 (en) 2013-08-05 2014-06-30 Information processing apparatus, server apparatus, information processing method, and program
CN201410366403.8A CN104346198B (zh) 2013-08-05 2014-07-29 信息处理装置、服务器装置、信息处理方法和存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013162145A JP6167736B2 (ja) 2013-08-05 2013-08-05 情報処理装置、サーバ装置、情報処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2015032184A JP2015032184A (ja) 2015-02-16
JP2015032184A5 JP2015032184A5 (ja) 2016-04-14
JP6167736B2 true JP6167736B2 (ja) 2017-07-26

Family

ID=52428911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013162145A Expired - Fee Related JP6167736B2 (ja) 2013-08-05 2013-08-05 情報処理装置、サーバ装置、情報処理方法及びプログラム

Country Status (3)

Country Link
US (1) US9134993B2 (ja)
JP (1) JP6167736B2 (ja)
CN (1) CN104346198B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10810002B2 (en) 2018-07-31 2020-10-20 Toshiba Client Solutions CO., LTD. Electronic device, update program confirmation method and non-transitory computer-readable storage medium

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6433844B2 (ja) 2015-04-09 2018-12-05 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、中継装置、情報処理システム、およびソフトウェアアップデート方法
US9792108B2 (en) * 2015-08-12 2017-10-17 Comcast Cable Communications, Llc Scheme for managing last-modified information
CN105117464B (zh) * 2015-08-25 2019-02-15 北京金山安全软件有限公司 一种应用推送方法、装置及服务设备
GB201604362D0 (en) * 2016-03-15 2016-04-27 Tangentix Ltd Computer system and method for sandboxed applications
DE102017207871A1 (de) * 2017-05-10 2018-11-15 Tridonic Gmbh & Co Kg Firmware-Update-Over-The Air (FOTA) in der Gebäudetechnik
CN107436735A (zh) * 2017-07-28 2017-12-05 郑州云海信息技术有限公司 一种分布式文件系统中存储单元状态更新方法
CN111352994B (zh) * 2020-02-04 2023-04-18 浙江大华技术股份有限公司 数据同步方法以及相关设备、装置
CN115296948B (zh) * 2022-06-28 2024-05-24 青岛海尔科技有限公司 场景信息的更新方法和装置、存储介质及电子装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0964970A (ja) * 1995-08-23 1997-03-07 Fujitsu Ltd 運用情報管理方式
JP2002215400A (ja) * 2001-01-24 2002-08-02 Hitachi Kokusai Electric Inc プログラム配信方法
JP2002278785A (ja) * 2001-03-16 2002-09-27 Hitachi Kokusai Electric Inc プログラム配信方法
US7461373B2 (en) * 2002-12-05 2008-12-02 Samsung Electronics Co., Ltd. Apparatus and method for upgrading software of a wireless mobile station
US7149508B2 (en) * 2003-02-05 2006-12-12 Samsung Electronics Co., Ltd. System and method for delta-based over-the-air software upgrades for a wireless mobile station
JP4698182B2 (ja) * 2003-09-16 2011-06-08 株式会社リコー 電子装置、ネットワーク機器、管理方法、ソフトウェア更新方法、管理プログラム、ソフトウェア更新プログラム及び記録媒体
JP4403048B2 (ja) 2004-10-12 2010-01-20 日本放送協会 コンテンツ提供サーバ、ユーザ端末、コンテンツ提供プログラム、及びコンテンツ取得プログラム
JP4463182B2 (ja) * 2005-10-19 2010-05-12 Necアクセステクニカ株式会社 ネットワーク接続システム、サーバ装置回線終端装置及びそれらに用いる機器プログラム提供方法
US7844721B2 (en) * 2005-11-23 2010-11-30 Qualcomm Incorporated Method for delivery of software upgrade notification to devices in communication systems
US20070169083A1 (en) * 2005-12-12 2007-07-19 Penubolu Shyam P Method for secure in-service software upgrades
US8364843B2 (en) * 2006-01-09 2013-01-29 Cisco Technology, Inc. Method and system for minimizing disruption during in-service software upgrade
JP2007226740A (ja) * 2006-02-27 2007-09-06 Kyocera Corp 通信システム、ソフトウェア更新方法、通信装置、管理サーバ装置、およびプログラム
JP2008181228A (ja) * 2007-01-23 2008-08-07 Sony Corp 管理システムおよび管理方法、端末装置、管理サーバ、並びにプログラム
WO2008126325A1 (ja) * 2007-03-30 2008-10-23 Fujitsu Limited クラスタシステム、ソフトウェア更新方法、サービス提供ノード、およびサービス提供用プログラム
US8151257B2 (en) * 2007-05-29 2012-04-03 Sap Ag Managing different versions of server components regarding compatibility with collaborating servers
US20080301667A1 (en) * 2007-05-30 2008-12-04 Google Inc. Dynamically Updating Software Applications on a Device
US20080301669A1 (en) * 2007-05-30 2008-12-04 Google Inc. Dynamically Self-Updating by a Software Application on a Device
US20080301660A1 (en) * 2007-05-30 2008-12-04 Google Inc. Maintaining Multiple Versions of a Software Application on a Device
JP5367237B2 (ja) * 2007-06-18 2013-12-11 ソニー株式会社 サーバ
JP5219410B2 (ja) * 2007-06-27 2013-06-26 京セラ株式会社 携帯端末装置
JP2009110138A (ja) * 2007-10-29 2009-05-21 Kyocera Corp 情報通信装置およびソフトウェア更新方法
US20090144720A1 (en) * 2007-11-30 2009-06-04 Sun Microsystems, Inc. Cluster software upgrades
US20090260004A1 (en) * 2008-04-10 2009-10-15 Palm, Inc. Computer program updates for mobile computing device
JP2010020610A (ja) * 2008-07-11 2010-01-28 Sony Corp 録画装置、ソフトウェアのアップデート・データ取得方法、プログラム、およびデータ配信システム
US20100082559A1 (en) * 2008-09-19 2010-04-01 General Motors Corporation Method of managing a schedule-based software package update
JP5428721B2 (ja) * 2009-10-02 2014-02-26 富士通株式会社 管理システム,管理装置,管理方法および管理プログラム
DE102010043011A1 (de) * 2010-08-30 2012-03-01 Tridonic Gmbh & Co. Kg Parallele Programmierung und Aktualisierung von Gebäudetechnik-Busteilnehmern
CN102231671B (zh) * 2011-06-01 2014-12-31 上海聚力传媒技术有限公司 用于对待升级对象进行升级的方法、装置、设备和系统
US20130326502A1 (en) * 2012-05-30 2013-12-05 Google Inc. Installing applications remotely

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10810002B2 (en) 2018-07-31 2020-10-20 Toshiba Client Solutions CO., LTD. Electronic device, update program confirmation method and non-transitory computer-readable storage medium

Also Published As

Publication number Publication date
JP2015032184A (ja) 2015-02-16
US20150040114A1 (en) 2015-02-05
US9134993B2 (en) 2015-09-15
CN104346198A (zh) 2015-02-11
CN104346198B (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
JP6167736B2 (ja) 情報処理装置、サーバ装置、情報処理方法及びプログラム
US9146731B2 (en) Information processing apparatus, relay server, information relay method, non-transitory computer-readable medium storing information relay program, and communication system
US20090254641A1 (en) Network card capable of remote boot and method thereof
US20140365606A1 (en) Information processing apparatus, information processing method, and program
US8719407B2 (en) Network device, information processing apparatus, control method of the same, and recording medium for the same
JP2011028547A (ja) 仮想マシン起動端末および仮想マシン起動プログラム
EP4070507A1 (en) Network function virtualization compute element image upgrade
JP2006318293A (ja) ソフト自動更新装置及び端末
US9426223B2 (en) Dual peer-to-peer connection system, dual peer-to-peer connection method and computer application program thereof
US20190281012A1 (en) Information processing apparatus and information processing apparatus management system
US20130103843A1 (en) Method for establishing a communication link between a programming device and an automation technology field device
US10698642B2 (en) Remote management system and information processing method
JPWO2013145516A1 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
US20170017520A1 (en) System and control method
US20210367811A1 (en) Gateway device, communication system, and automated warehouse system
US10805482B2 (en) Remote management system for distributing accesses from image forming apparatuses, and information processing method for distributing accesses from image forming apparatuses
JP5687225B2 (ja) 分散システム、バージョン情報の流通方法、バージョン情報流通プログラム
JP2011205183A (ja) 通信装置、通信システムおよび通信方法
JP2015173363A (ja) 情報処理装置、接続先決定プログラム、情報処理システム及び情報処理方法
JP2015037267A (ja) ネットワーク機器設定システム及びネットワーク機器設定方法
JP6477111B2 (ja) 情報処理装置及び情報処理プログラム
US9019964B2 (en) Methods and systems for routing application traffic
JP2013008179A (ja) 人間系アプリケーション装置、システム系アプリケーション装置及びアプリケーションフロー制御装置
JP2010072894A (ja) 情報配信システム
JP2009271857A (ja) 計算機システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170410

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170612

R151 Written notification of patent or utility model registration

Ref document number: 6167736

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees