JP6396332B2 - デバイス固有のアップデートを提供するパーベイシブ・サービス - Google Patents

デバイス固有のアップデートを提供するパーベイシブ・サービス Download PDF

Info

Publication number
JP6396332B2
JP6396332B2 JP2015557041A JP2015557041A JP6396332B2 JP 6396332 B2 JP6396332 B2 JP 6396332B2 JP 2015557041 A JP2015557041 A JP 2015557041A JP 2015557041 A JP2015557041 A JP 2015557041A JP 6396332 B2 JP6396332 B2 JP 6396332B2
Authority
JP
Japan
Prior art keywords
update
user device
proxy device
user
proxy
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
JP2015557041A
Other languages
English (en)
Other versions
JP2016511464A (ja
JP2016511464A5 (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Priority claimed from PCT/US2014/014970 external-priority patent/WO2014124063A1/en
Publication of JP2016511464A publication Critical patent/JP2016511464A/ja
Publication of JP2016511464A5 publication Critical patent/JP2016511464A5/ja
Application granted granted Critical
Publication of JP6396332B2 publication Critical patent/JP6396332B2/ja
Active 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/182Network node acting on behalf of an other network entity, e.g. proxy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)

Description

いくつかのユーザ・デバイスは、インターネット等のグローバル・ネットワークを介して、リモート・デバイスに接続することができる。そのようなデバイスは、接続を可能にするための、ネットワーク・スタック、ネットワーク・アダプタ、コンプレックス・ユーザ・インタフェース(complex user interface)、サポーティング・ロジック(supporting logic)等の追加のハードウェア及びソフトウェアを有する。しかしながら、この追加のハードウェア及びソフトウェアは、特に(例えば、ユーザ・デバイスに対するアップデートを時折得るために)そのような接続がめったに使用されない場合、ユーザ・デバイスの増大されるコスト及び複雑さをもたらす。さらに、追加のハードウェア及びソフトウェアが、ユーザ・デバイスに含まれる場合であっても、(例えば、近くにアクセス・ポイントがないことに起因して)グローバル・ネットワークへの接続が利用できないこともある。
そのようなユーザ・デバイス及びグローバル・ネットワークに接続する能力を有さないユーザ・デバイスに関して、ユーザは、手動でアップデートを取得してそのアップデートをユーザ・デバイスに提供することがある。例えば、ユーザは、コンピュータ又はポータブル・ドライブ(例えば、フラッシュ・ドライブ)をプリンタに接続して、プリンタ上のソフトウェアにアップデートを適用することがある。しかしながら、そのような既存のプロセスは、特に異なるアップデートを異なるユーザ・デバイスに適用しようと試みる場合、手動で、退屈で、間違いを犯しやすく、時間を消費するものである。このような既存のシステムは、効率的にアップデートを取得してそのアップデートをユーザ・デバイスに提供するように設計されてはいない。
本開示の実施形態は、プロキシ・デバイスからユーザ・デバイスにアップデート・データを送信する。プロキシ・デバイスは、プロキシ・デバイスに近接するユーザ・デバイスから、アップデート・リクエストを受信する。アップデート・リクエストは、ユーザ・デバイス識別子及びユーザ・デバイス状態を少なくとも含む。受信されたアップデート・リクエストに応答して、ユーザ・デバイス識別子及びユーザ・デバイス状態に関連付けられたアップデート・データが、プロキシ・デバイスによりアクセスされる。アクセスされたアップデート・データは、プロキシ・デバイスからユーザ・デバイスに送信される。
この概要は、発明を実施するための形態において以下でさらに説明されるコンセプトのうち選択したものを簡略化した形で紹介するために提供される。この概要は、特許請求される主題の主要な特徴又は必要不可欠な特徴を特定することを意図するものではないし、特許請求される主題の範囲を決定する際の助けとして使用されることを意図するものでもない。
対応する参照符号は、図面を通して、対応する部分を示す。
アップデート・ソースからモバイル・プロキシ・デバイスを介してユーザ・デバイスにアップデート・データを送信するためのシステムを示す例示的なブロック図。 アップデート・データを取得してそのアップデート・データをユーザ・デバイスに送信するための実行可能コンポーネントを有するプロキシ・デバイスを示す例示的なブロック図。 アップデート・データを求めるリクエストに応答して、デバイス固有のアップデート・データをユーザ・デバイスに送信するプロキシ・デバイスのオペレーションを示す例示的なフローチャート。 アップデート・ソースからのデバイス固有のアップデート・データをユーザ・デバイスに送信するプロキシ・デバイス上のアップデート・サービスの実行を示す例示的なシーケンス図。
図1〜図4を参照すると、本開示の実施形態は、デバイス固有のアップデート・データ112を取得して、デバイス固有のアップデート・データ112をプロキシ・デバイス102からユーザ・デバイス108に送信する。いくつかの実施形態において、ユーザ・デバイス108は、アップデート・データ112を取得するための、アップデート・ソース106への接続を欠如している。例えば、ユーザ・デバイス108は、アップデート・プロセスをサポートするためのユーザ・インタフェース、アップデートの進行を示すためのユーザ・インタフェース、ネットワーク・スタック、アップデート・ソース106と通信するためのハードウェア、及び/又はアップデート・ソース106に接続するための通信インタフェースを欠如していることがある。別の例として、ユーザ・デバイス108は、アップデート・ソース106からアップデート・データ112を取得する能力を有しているかもしれないが、(例えば、ネットワークの問題、アクセス・ポイントの欠如等に起因して)接続が利用できない。
本開示の態様は、モバイル及び非モバイル(例えば、固定位置における、永続的又は一時的)の両方を含む任意のプロキシ・デバイスとともに動作可能である。すなわち、いくつかの実施形態において、プロキシ・デバイス102は、図示し本明細書で説明する機能を提供するために、移動する必要はない。
いくつかの実施形態において、プロキシ・デバイス102は、プロキシ・デバイス102の通信インタフェースのレンジ内にある少なくとも1つのユーザ・デバイス108に、(例えば、プロトコル110を用いて)周期的及び/又は間欠的にアップデート・サービス212をブロードキャストすることができる。プロキシ・デバイス102は、プロキシ・デバイス102が、プロキシ・デバイス102に近接して位置する少なくとも1つのユーザ・デバイス108を検出したときに、アップデート・サービス212をブロードキャストすることができる。ユーザ・デバイス108がプロキシ・デバイス102のレンジ内にあるときに、ユーザ・デバイス108は、プロキシ・デバイス102に近接して位置していると言える。レンジは、変わり得るものであり、ユーザ・デバイス108の近接領域(proximity)を判定するためにプロキシ・デバイス102により使用される技術に依存する(例えば、Bluetooth(登録商標)の通信モジュールは、10メートルという例示的なレンジを有し、近距離通信(NFC)は、0.2メートルという例示的なレンジを有する、等)。
ユーザ・デバイス108が、プロキシ・デバイス102に近接しているときに、プロキシ・デバイス102は、ユーザ・デバイス108から、ユーザ・デバイス識別子及びユーザ・デバイス状態を少なくとも含むアップデート・リクエストを受信する。例えば、プロキシ・デバイス102は、アップデート・サービス212をブロードキャストした直後に、アップデート・サービス212のブロードキャスト後の予め定められた時間期間後に、且つ/あるいは、ユーザ・デバイス108がプロキシ・デバイス102に近接する次の時間に、アップデート・リクエストを受信することができる。他の実施形態において、プロキシ・デバイス102は、アップデート・サービス212を始めにブロードキャストすることなく、ユーザ・デバイス108から、アップデート・リクエストを受信してもよい。
受信されたアップデート・リクエストに応答して、プロキシ・デバイス102は、アップデート・ソース106から、ユーザ・デバイス識別子及び/又はユーザ・デバイス状態に関連付けられたアップデート・データ112にアクセスする。アクセスされたアップデート・データ112は、プロキシ・デバイス102から、アップデート・リクエストが受信された元であるユーザ・デバイス108に送信される。いくつかの実施形態において、アクセスされたアップデート・データ112は、アップデート・リクエストが受信された元であるユーザ・デバイス108のユーザ・デバイス識別子及び/又はユーザ・デバイス状態を含む特性を共有する全ての近接ユーザ・デバイス108に送信され得る。
本開示の態様は、さらに、アップデート・プロセスを実行するための適切なサポートを欠如していることがあるユーザ・デバイス108が、アップデート・ソース106からプロキシ・デバイス102を介して受信されたアップデート・データ112を用いてアップデートされることを可能にする。例えば、例示的なユーザ・デバイス108のいくつかは、アップデート・ソース106への接続を有していないことがあるが、本開示の態様は、アップデート・ソース106への接続を可能にするためにそのようなユーザ・デバイス108にハードウェア及び/又はソフトウェアを追加するというさらなる負担なく、アップデートを提供するよう動作する。例えば、ユーザ・デバイス108は、アップデート・プロセスを実行するためのユーザ・インタフェースを有していないこともあるし、且つ/あるいは、アップデート・ソース106に接続する能力を有していないこともあるが、それでも、本開示の態様を用いてアップデートすることができる。さらに、ユーザ・デバイス108は、設計において簡略化され、アップデートしやすく、少なくなったハードウェア・コスト及び/又はソフトウェア・コストに起因して、低減された価格を有することができる。例えば、各ユーザ・デバイス108上のエージェントが、アップデートを実行する。
ユーザ・デバイス108が、プロキシ・デバイス102からアップデートを受信したときに、ユーザ・デバイス108は、直ちにアップデートをインストールしてもよいし、ユーザ・デバイス108がオフラインになる将来の時間に(例えば、メンテナンス・サイクル中に)インストールを遅らせてもよい。アップデートは、以前のソフトウェア・ファイルを上書きしてユーザ・デバイス108をリブートすることにより、インストールすることができる。アップデートをインストールする代替実施形態は、アップデート・ペイロードが圧縮されている場合、アップデート・ペイロードを展開することができる、且つ/あるいは、アップデート・ファイルをインストールする前に、アップデート・ファイルの整合性及び信頼性を確実にするために、ハッシュ検証又は暗号署名チェックを任意的に実行することができる。ユーザ・デバイス108は、既存ファイルの完全に新たなコピーではなく、ユーザ・デバイス108上の既存ファイルに対する変更のみを含むより小さな差分アップデートをインストールすることができるアップデート・パッチ・インストーラを含み得る。ユーザ・デバイス108にソフトウェア・コマンドを介して新たなソフトウェアを使用させる前に、あるいは、ユーザ・デバイス108が新たなソフトウェア・バージョンをロードして実行するときにユーザ・デバイス108を単にリブートする前に、プロキシ・デバイス102は、リモート・ファイル・システムとしてユーザ・デバイス108にマウントして、アップデートされるファイルをユーザ・デバイス108に書き込んでもよいことを理解すべきである。
図1を参照すると、例示的なブロック図は、プロキシ・デバイス102に通信可能に接続されたユーザ・デバイス108に対して、(図2に示す)アップデート・サービス212をプロトコル110としてブロードキャストするプロキシ・デバイス102を示している。ユーザ・デバイス108は、例えば、ユーザ・デバイス#1〜ユーザ・デバイス#Nを含む。図1のプロキシ・デバイス102は、モバイル・プロキシ・デバイスであり得る。図1の例において、ユーザ・デバイス108に関連付けられたプロキシ・デバイス102は、デバイス固有のアップデート・データ112を近接ユーザ・デバイス108に送信するためのシステムを表している。
プロキシ・デバイス102は、モバイル・コンピューティング・デバイス又は任意の他のポータブル・デバイスを含み得る。いくつかの実施形態において、モバイル・コンピューティング・デバイスは、携帯電話機、ラップトップ、タブレット、コンピューティング・パッド、ネットブック、ゲーム・デバイス、携帯情報端末(PDA)、及び/又はポータブル・メディア・プレーヤを含む。さらに、プロキシ・デバイス102は、処理ユニット又は他のコンピューティング・デバイスのグループを表し得る。プロキシ・デバイス102はまた、モデム、ゲートウェイ、及び、Wi−Fi(登録商標)ルータ又はネットワーク・スイッチ等のルータ型デバイスを表し得る。
ユーザ・デバイス108は、デスクトップ・パーソナル・コンピュータ、キオスク、冷蔵庫、テレビジョン、ホーム・アプライアンス、産業用制御デバイス、無線充電ステーション、電気自動車充電ステーション、プログラム可能な加熱デバイス及び/又は冷却デバイス、エレベータ、ミシン、大容量記憶デバイス、並びに卓上デバイス等のポータブル性の低い(less portable)デバイスを含み得る。いくつかの実施形態において、ユーザ・デバイス108は、車両内エンターテイメント・システムであり得る。例示的な実施形態において、プロキシ・デバイス102の機能を使用できないとき等(例えば、プロキシ・デバイス102は、ネットワーク104から一時的に切断されていることがある)、ユーザ・デバイス108のうちの1つは、プロキシ・デバイス102として動作することができる。そのような例において、ユーザ・デバイス108は、例えば図3に示されるような命令を用いて、特別にプログラムされる。
いくつかの実施形態において、ユーザ・デバイス108は、同じ地理的領域(例えば、家、オフィス、車、レストラン、ショッピング・モール、ビルディング等)内に位置することがある。他の実施形態において、ユーザ・デバイス108は、複数の地理的位置にわたって分散している。例えば、ユーザ・デバイス108のうちの1以上の製造業者に関連する技術者は、道路をドライブして、道路上の家の中に位置するユーザ・デバイス108をアップデートしようと試みることができる。別の例において、ショッピング・モールのオーナー又はユーザ・デバイス108の製造業者は、そのモール内の全ての店に対してアップデート・サービス212を提供することができる。
プロキシ・デバイス102は、ユーザ・デバイス108のうちの1以上にアップデート・サービス212をブロードキャストする。ユーザ・デバイス108は、プロキシ・デバイス102に近接して位置している。例示的なユーザ・デバイス108は、アップデート・ソース106への接続を欠如していることがある。例えば、ユーザ・デバイス108は、ユーザ・デバイス108からリモートにあるアップデート・ソース106への直接接続を欠如していることがある。アップデート・サービス212は、プロキシ・デバイス102上で実行中であり得、対応するアップデート・サービスは、アップデート・ソース106上で実行中であり得る。アップデート・ソース106は、例えば、クラウドベースのサービス、サーバ、サーバのクラスタ、複数の異なるサーバ、及び/又はピア・デバイスであり得る。例示的な実施形態において、異なるユーザ・デバイス108に対応する異なるアップデート・データ112を有する複数のアップデート・ソース106が存在し得る。アップデート・データ112は、温度、地理的位置(例えば、全地球測位システム位置)、時刻、サービス内データ(in-service data)、使用統計量(usage statistics)等のユーザ・デバイス108の属性(attribute)と、プロキシ・デバイス102の地理的位置等のプロキシ・デバイス102の属性と、により決定され得る。
プロキシ・デバイス102は、ユーザ・デバイス108から、アップデート・リクエストを受信する。いくつかの実施形態において、アップデート・リクエストは、ユーザ・デバイス識別子及びユーザ・デバイス状態を少なくとも含む。ユーザ・デバイス識別子は、ユーザ・デバイス108に関連付けられた、型、モデル番号、シリアル番号、製造業者名、バージョン、及び/又は日付を含む。ユーザ・デバイス状態は、ユーザ・デバイス108に関連付けられた、ソフトウェア状態、ファームウェア状態、及び/又はハードウェア状態を含む。ユーザ・デバイス識別子及びユーザ・デバイス状態のこれらのリストは、例示的に過ぎないと意図されるものであり、当業者は、その全てが本開示の範囲内であると意図される代替を認識するであろう。ユーザ・デバイス状態は、アップデート・ソース106から取得されるアップデート・データ112によりアップデート可能な、ユーザ・デバイス108内の任意のコンポーネントに対応し得る。アップデート・リクエストは、任意の他の例示的な特性(property)又は他のユーザ・デバイス108からユーザ・デバイス108を一意に識別するための識別子をさらに含み得る。例えば、ユーザ・デバイス108に関連付けられたバッチ番号及び/又はアップデート・データ112を受信するユーザ・デバイス108のための所望の時間が、アップデート・リクエストとともに受信され得る。ユーザ・デバイス108は、全地球測位システム(GPS)位置、使用統計量、及び時刻等の情報を送信することができる。プロキシ・デバイス102は、この情報自体を使用してもよいし、この情報に基づいて、アップデート・ソース106から異なるアップデート・データ112を取得してもよい。
ユーザ・デバイス108から受信されたアップデータ・リクエストに応答して、プロキシ・デバイス102は、アップデート・ソース106から、ネットワーク104を介して、アップデート・データ112を取得する。アップデート・データ112は、受信されたアップデート・リクエストからのユーザ・デバイス識別子及びユーザ・デバイス状態に関連付けられている。取得されたアップデート・データ112は、プロキシ・デバイス102からユーザ・デバイス108に送信される。
本開示の態様において、プロキシ・デバイス102は、CDMA(cellular division multiple access)、GSM(登録商標)(global system for mobile communication)、WiFi(登録商標)(wireless fidelity)、4G/Wi−Max(登録商標)等を含む任意の数及びタイプの無線通信モード及び/又は有線通信モードをサポートするネットワーク104を介して、アップデート・データ112を取得する。当業者により認識されるように、ネットワーク104の他の通信モードも、本開示の範囲内である。いくつかの実施形態におけるユーザ・デバイス108は、そのようなネットワーク104のためのサポートを実装する機能を有することができるが、本開示の態様は、そのような機能を用いるユーザ・デバイス108の代わりに動作可能である。
アップデート・データ112は、プロキシ・デバイス102から、短波長無線信号、高周波数無線信号、及び/又は有線シリアル接続を介して、ユーザ・デバイス108に送信される。例えば、アップデート・データ112は、プロキシ・デバイス102から、任意のタイプの無線接続及び/又は有線接続を介して、ユーザ・デバイス108に送信され得る。そのような無線接続及び/又は有線接続は、WiFi(登録商標)、BLUETOOTH(登録商標)通信、IrDA(infrared data association)プロトコル、無線周波数(RF)通信、イーサネット(登録商標)、ユニバーサル・シリアル・バス(USB)、FireWire(登録商標)通信、近距離通信(NFC)等を含む。
ユーザ・デバイス108は、例えば、アップデートを適用する前にバックアップを実行する能力、アップデートの複数のバージョンを記憶する能力、及び/又はアップデート履歴を記憶する能力を欠如している。ユーザ・デバイス108はまた、アップデート・ソース106に接続するための完全なネットワーキング・スタックを欠如していることもある。いくつかの実施形態において、アップデートの進行を伴うユーザ・インタフェースは、ユーザ・デバイス108上に表示されない。例示的な実施形態において、アップデートの進行を伴うユーザ・インタフェースが、プロキシ・デバイス102上で表示され得るのに対し、別の実施形態においては、アップデートの進行を伴うユーザ・インタフェースは、ユーザ・デバイス108上又はプロキシ・デバイス102上のいずれにおいても表示され得ない。ユーザ・デバイス108上のアップデートは、ユーザ・デバイス108及び/又はプロキシ・デバイス102上でのいかなるユーザ・インタラクションも伴うことなく、自動的に実行され得る。したがって、本開示のユーザ・デバイス108上にインストールされるコード(例えば、ソフトウェア)の量は、アップデート・プロセス及び/又はネットワーキング・スタック、並びに関連ハードウェアを実装する既存システムのユーザ・デバイスと比較すると、(例えば、10パーセントだけ)低減され得る。さらに、ソフトウェアの複雑さと、アップデート・ソース106から正しいソフトウェアを選択してそのソフトウェアを伝送するためにいくつかの既存システムにおいて必要とされるセキュリティと、は、ユーザ・デバイス108の各々により必要とされない。さらに、本開示のユーザ・デバイス108は、アップデート・ソース106に直接アクセスしてアップデート・データ112を取得するために信頼される必要はない。実行されるアップデート・サービスのための料金がユーザ・デバイス108に請求される実施形態において、プロキシ・デバイス102は、この料金の処理に対処することができる。
一例において、ユーザ・デバイス108は、プロキシ・デバイス102を介して、アップデート・データ112を受信する、あるいは受信しないよう構成され得る。そのようなシナリオにおいて、ユーザ・デバイス108は、アップデート・サービス212のブロードキャストをリスンすることができない。ユーザ・デバイス108はまた、予め定められた日又は予め定められた時間に、アップデート・データ112を受信するよう構成され得る。例えば、ユーザ・デバイス108は、週末ではなく平日のみアップデート・データ112を受信することができる。ユーザ・デバイス108は、夜の間ではなく、日中の間等、特定の時間の間のみアップデート・データ112を受信するよう構成され得る。アップデート・データ112を受信する、あるいは受信しないようユーザ・デバイス108を構成するための予め定められた日及び予め定められた時間の任意の組合せが可能であり、これは本開示の範囲内である。さらに別の例において、ユーザ・デバイス108は、通常のオペレーションを再開する前のパワー・サイクル後にのみアップデート・データ112を受け入れるよう構成され得る。アップデートが生じるときを制限する構成可能なイベントの他の例も本開示の範囲内である。
プロキシ・デバイス102のユーザ又はアドミニストレータは、ユーザ・デバイス108から受信されるアップデート・リクエストを拒否又は拒絶することができる。例えば、プロキシ・デバイス102は、ユーザ・デバイス108に関連付けられた、アップデート・データ112を受信するためのサブスクリプション(subscription)が満了したとき、又は以前のアップデートの支払いが未払いのままであるとき、アップデート・リクエストを拒絶することができる。別の例示的な実施形態において、ユーザ・デバイス108のユーザは、アップデート・データ112を受信することを拒否してもよい。そのようなシナリオにおいて、ユーザ・デバイス108には、アップデートを受け入れるか又は拒否するかのオプションが提示され得、そのオプションは、ハード・ボタン、ソフト・ボタン、又はユーザ・デバイス108上の他の同様のユーザ・インタフェース要素を押すことにより実行され得る。別の例として、ユーザ・デバイス108及び/又はプロキシ・デバイス102は、重要なバージョン・インクリメント(version increment)又は重大なバージョン・インクリメントを表すアップデートのみ受け入れる、あるいは実行することができるのに対し、重要性の低いソフトウェア・インクリメント(less significant software increment)をスキップすることができる。例えば、ユーザ・デバイス108及び/又はプロキシ・デバイス102は、アップデート・データ112のベータ・バージョンをスキップするよう構成され得る。別の例において、ユーザ・デバイス108及び/又はプロキシ・デバイス102は、全ての利用可能なアップデートを受信するよう構成されてもよい。
本開示の態様は、コーポレート・ポリシー又は契約上のポリシーによりアップデート・ソース106に直接アクセスすることを許可されないユーザ・デバイス108とともに動作可能である。例えば、コーポレート・ファイアウォールの後ろに位置するユーザ・デバイス108又は政府防衛請負業者(government defense contractor)により使用されるユーザ・デバイス108は、本明細書で説明するように、プロキシ・デバイス102を介してアップデートされ得る。
次に図2を参照すると、プロキシ・デバイス102は、少なくとも1つのプロセッサ206と、プロセッサ206に関連付けられたメモリ領域208と、を有するコンピューティング・デバイスである。プロセッサ206は、任意の数の処理ユニットを含み、本開示の態様を実装するコンピュータ実行可能命令を実行するようプログラムされている。この命令は、プロキシ・デバイス102内で動作する1以上のプロセッサ206により実行されてもよいし、プロキシ・デバイス102の外部にあるプロセッサ206により実行されてもよい。いくつかの実施形態において、プロセッサ206は、図(例えば、図3)に示される命令等の命令を実行するよう、特別にプログラムされている。
いくつかの実施形態において、プロセッサ206は、本明細書で説明するオペレーションを実行するアナログ技術の実装を表す。例えば、そのようなオペレーションは、アナログ・コンピューティング・デバイス及び/又はデジタル・コンピューティング・デバイスにより実行され得る。
プロキシ・デバイス102は、さらに、メモリ領域208等の1以上のコンピュータ読み取り可能媒体を有する。メモリ領域208は、コンピューティング・デバイスに関連付けられた、あるいはコンピューティング・デバイスによりアクセス可能な任意の数の媒体を含む。メモリ領域208は、(図2に示されるように)コンピューティング・デバイスの内部にあってもよいし、コンピューティング・デバイスの外部にあってもよいし(図示せず)、それらの両方であってもよい(図示せず)。いくつかの実施形態において、メモリ領域208は、読み取り専用メモリ及び/又はアナログ・コンピューティング・デバイスに有線接続されたメモリを含む。
メモリ領域208は、データの中でもとりわけアップデート・データ112と、アップデート・サービス212と、を記憶する。メモリ領域208は、任意的に、プロキシ・デバイス102によりアップデートされ得るユーザ・デバイス108に関連付けられた予め定められたユーザ・デバイス識別子(図示せず)を記憶してもよい。したがって、プロキシ・デバイス102は、ユーザ・デバイス108の識別子がメモリ領域208に記憶されているユーザ・デバイス108にのみ、アップデート・データ112を送信することができる。予め定められたユーザ・デバイス識別子は、次の例示的な条件の下で記憶され得る:ユーザ・デバイス108が、アップデート・データ112を受信するために自身を登録した後、プロキシ・デバイス102のユーザが、プロキシ・デバイス102を介してアップデート・データ112を受信することが可能であり得るユーザ・デバイス識別子を入力した後、プロキシ・デバイス102が、プロキシ・デバイス102を検出した後、及び/又は、プロキシ・デバイス102が、アップデートをユーザ・デバイス108に適用した後。
メモリ領域208は、さらに、1以上のコンピュータ実行可能コンポーネントを記憶する。例示的なコンポーネントは、通信インタフェース・コンポーネント218、検索コンポーネント220、及び統計コンポーネント(statistics component)222を含む。これらコンピュータ実行可能コンポーネントのオペレーションについては、図3及び図4を参照して次に説明する。
次に図3を参照すると、例示的なフローチャートは、アップデート・データ112を近接ユーザ・デバイス108に送信するプロキシ・デバイス102のオペレーションを示している。306において、プロキシ・デバイス102は、コンピューティング・デバイスに近接している少なくとも1つのユーザ・デバイス108から、アップデート・リクエストを受信する。アップデート・リクエストは、ユーザ・デバイス識別子及びユーザ・デバイス状態を少なくとも含む。プロキシ・デバイス102は、異なるユーザ・デバイス108から、複数のアップデート・リクエストを同時に受信することができる。いくつかの実施形態において、プロキシ・デバイス102は、同じユーザ・デバイス108から、複数のアップデート・リクエストを受信することができる。
他の実施形態において、プロキシ・デバイス102は、アップデート・サービス212をブロードキャストすることなく、ユーザ・デバイス108から、アップデート・リクエストのうちの1以上を受信してもよい。例えば、ユーザ・デバイス108は、プロキシ・デバイス102がいずれは利用可能になる(例えば、近接領域内に存在するようになる)という期待をもって、「ping」メッセージとしてアップデート・リクエストを周期的に送信することができる。
受信されたアップデート・リクエストに応答して、本開示の態様は、308において、ユーザ・デバイス識別子及びユーザ・デバイス状態に関連付けられたアップデート・データ112にアクセスする。アップデート・リクエストは、例えば、認証情報(authentication information)、許可情報(authorization information)、及び/又はパーミッション(permission)を含む。認証情報は、いくつかの実施形態において、ユーザ・デバイス108間で一意である、各ユーザ・デバイス108についての識別子を含む。許可情報は、アップデート・ソース106へのアクセスを許可し得るユーザ名及びパスワード等の情報を含む。アップデート・ソース上で利用可能な様々なバージョンが存在し得るが、ユーザ・デバイス識別子及びユーザ・デバイス状態に関連付けられたアップデート・データ112が、プロキシ・デバイス102によりアクセスされる。
いくつかの実施形態において、アップデート・リクエストの一部としてユーザ・デバイス108から受信される認証情報は、アップデート・データ112にアクセスするときに、アップデート・ソース106に提示される。認証情報は、ユーザ・デバイス識別子を含み得る。いくつかの実施形態において、認証情報は、アップデート・サービス212に対するユーザ・デバイス108の登録時に、1回のみ提示される。いくつかの実施形態において、プロキシ・デバイス102は、ユーザ・デバイス108に関連付けられた認証情報を記憶することができ、アップデート・リクエストを受信したときに、その認証情報をアップデート・ソース106に提示することができる。例示的な実施形態において、認証情報は、プロキシ・デバイス102がアップデート・リクエストを受信するたびに、ユーザ・デバイス108から受信される。このように、プロキシ・デバイス102は、特定のユーザ・デバイス108に関連付けられたデータを提示することにより、デバイス固有のアップデートをリクエストすることができる。
いくつかの実施形態において、プロキシ・デバイス102は、受信した認証情報、許可情報、及び/又はパーミッションをアップデート・ソース106に提示しなくてもよい。例えば、アップデート・ソース106は、周期的及び/又は間欠的に、ユーザ・デバイス識別子及びユーザ・デバイス状態に関連付けられたアップデート・データ112をプロキシ・デバイス102にプッシュすることができる。アップデート・ソース106は、いくつかの例において、ユーザ・デバイス108のためのアップデート・データ112を、それらユーザ・デバイス108の近接領域内に位置するプロキシ・デバイス102にのみプッシュすることができる。アップデート・ソース106は、それらユーザ・デバイス108の位置を識別するために、販売又は保証登録データに依拠し得る。
別の例示的な実施形態において、プロキシ・デバイス102は、アップデート・リクエストを拒絶してもよく、ユーザ・デバイス108から受信した情報をアップデート・ソース106に提示しなくてもよい。例えば、プロキシ・デバイス102は、予め定められた時間期間後、又は、その特定のユーザ・デバイス108(又は、ユーザ・デバイス108のクラス、モデル、製造業者等)に予め定められた数のアップデートを提供した後、アップデート・リクエストを拒絶してもよい。予め定められた時間期間は、アップデート・データ112がユーザ・デバイス108に送信されることを許可される有効期間(例えば、サブスクリプション期間)を定める。予め定められた数のアップデートは、ユーザ・デバイス108のユーザにより購入された、あるいはユーザ・デバイス108のユーザに利用可能なアップデートの数により定められる(例えば、ユーザは、ユーザ・デバイス108を購入した後の保証期間内である、複数の前払いのアップデートが購入に含まれていた、等)。許可された数のアップデートの適用後、ユーザ・デバイス108のユーザは、必要に応じて、追加のアップデートを購入することができる。いくつかの実施形態において、ユーザは、定められた時間期間の間、アップデートの適用を無効にしてもよいし、マイナー・アップデートの適用を無効にしてもよい(例えば、インクリメンタルなアップデート(incremental update)を無視して、メジャー・アップデートのみ適用する、等)。
いくつかの実施形態において、予め定められた時間期間(例えば、サブスクリプション期間)後、又は予め定められた数のアップデート(例えば、保証期間)が終了した後、受信された認証情報が、アップデート・ソース106に提示され得る。
プロキシ・デバイス102は、例えば、ユーザ・デバイス108のうちの少なくとも1つに近接しているときのみ、及び/又は近接ユーザ・デバイス108のうちの少なくとも1つがアップデートを受信するためにターゲットにされている、あるいは識別されているときのみ、アップデート・サービス212を選択的にブロードキャストしてもよい。これは、不必要なブロードキャストを取り除くことにより、プロキシ・デバイス102のバッテリ・パワーを節約する。
アップデート・データ112にアクセスすることは、ユーザ・デバイス108からリモートにあるアップデート・ソース106からアップデート・データ112を取得することを含む。いくつかの実施形態において、アップデート・データ112が、プロキシ・デバイス102にすでに存在する場合、又は、アップデート・ソース106におけるアップデート・データ112が、より古いバージョンである場合、アップデート・データ112は、リモートのアップデート・ソース106から取得されない。例えば、ユーザ・デバイス108は、アップデート・ソース106上で利用可能なものよりも新しいバージョンを有していることがある。例示的な実施形態において、アップデート・リクエストに対応するアップデート・データ112のバージョン・チェック及び/又はエラー・ハンドリングが、図4に示されるように、プロキシ・デバイス102、アップデート・ソース106、又はそれら両方で実行される。
別の実施形態において、アップデート・データ112は、プロキシ・デバイス102がアクセス可能なメモリ領域208を検索することによりアクセスされる。例えば、アップデート・ソース106は、アップデート・リクエストに対応するウェブ検索を実行することにより見つけることができる。いくつかの実施形態において、アップデート・ソース106は、プロキシ・デバイス102上で、予め定められ得る(例えば、予めロードされる、予め取得される、等)。いくつかの他の実施形態において、アップデート・ソース106は、プロキシ・デバイス102のユーザにより提供され得る。例えば、プロキシ・デバイス102のユーザは、アップデート・ソース106のURL(universal resource locator)を入力することができる。例示的な実施形態において、ユーザ・デバイス108からのアップデート・リクエストは、アップデート・ソース106も含む。例えば、アップデート・ソース106にアクセスするためのURLが、アップデート・リクエストとともに受信される(例えば、ユーザ・デバイス108の製造業者によりプログラムされている)。
アップデート・データ112は、任意のアップデートに対応する。このアップデートは、ユーザ・デバイス108上の、ソフトウェア・アップデート、アプリケーション・アップデート、及び/又は任意の他のコンポーネント・アップデートを含むが、これらに限定されるものではない。例示的な実施形態において、アップデート・データ112は、ユーザ・デバイス108が受信するよう構成される、ニュース・アップデート、ウェザー・アップデート、ストック・アップデート、及び任意の他のアップデートを提供することができる。
310において、プロキシ・デバイス102は、アクセスされたアップデート・データ112を、プロキシ・デバイス102からユーザ・デバイス108に送信する。いくつかの実施形態において、アップデート・データ112は、バージョン・チェック及び/又はエラー・ハンドリングが終了した後にのみ送信される。例えば、バージョン・チェックは、ユーザ・デバイス108上のバージョンをアップデート・ソース106上のバージョンと比較することにより実行され得るのに対し、エラー・ハンドリングは、アップデートのインストールが失敗した場合にユーザ・デバイス108のバックアップから以前の状態に戻すことにより実行され得る。バージョン・チェック及びエラー・ハンドリングは、プロキシ・デバイス102で実行されてもよいし、アップデート・ソース106で実行されてもよいし、それら両方で実行されてもよい。本明細書で説明しないバージョン・チェック及びエラー・ハンドリングを実行する他の方法も、本開示の範囲内である。
プロキシ・デバイス102は、例えば、ファイル転送プロトコル(FTP)、セキュア・シェア(secure share)、及び/又はハイパーテキスト転送プロトコル(HTTP)を介して、アクセスされたアップデート・データ112を送信する。プロキシ・デバイス102からユーザ・デバイス108にアップデート・データ112を送信する任意の他の手段も、本開示の範囲内である。
メモリ領域208は、ユーザ・デバイス状態のバックアップを記憶することができる。プロキシ・デバイス102は、取得されたアップデート・データ112を送信する前に、そのバックアップを受信することができる。いくつかの実施形態において、プロキシ・デバイス102は、アップデート・データ112を送信する前に、ユーザ・デバイス状態のバックアップを送信するユーザ・デバイス108に対してインジケーションを送信する。例示的な実施形態において、プロキシ・デバイス102は、アップデート・データ112をユーザ・デバイス状態のバックアップのコピーに適用し、コピーへのアップデート・データ112の適用が成功した後にのみ、アップデート・データ112をユーザ・デバイス108に送信する。
メモリ領域208は、図2に示される例示的なコンポーネントを記憶する。例えば、プロキシ・デバイス102のプロセッサ206により実行されたとき、通信インタフェース・コンポーネント218は、プロセッサ206に、プロキシ・デバイス102に近接する少なくとも1つのユーザ・デバイス108からのアップデート・リクエストを、プロキシ・デバイス102により受信させる。アップデート・リクエストは、ユーザ・デバイス識別子及びユーザ・デバイス状態を少なくとも含む。
通信インタフェース・コンポーネント218は、プロキシ・デバイス102のプロセッサ206に、プロキシ・デバイス102に近接して位置する少なくとも1つのユーザ・デバイス108にアップデート・サービス212をブロードキャストさせる命令を実行する。いくつかの実施形態において、ユーザ・デバイス108の近接領域は、プロキシ・デバイス102とユーザ・デバイス108との間の通信インタフェースに対応するレンジにより定められる(例えば、BLUETOOTH(登録商標)通信モジュールは、10メートルという例示的なレンジを提供する)。プロキシ・デバイス102は、異なる通信インタフェースを用いて、複数のユーザ・デバイス108から、アップデート・リクエストを受信することができる。アップデート・リクエストは、複数のユーザ・デバイス108から、プロキシ・デバイス102により同時に受信され得る。
いくつかの実施形態において、アップデート・リクエストは、プロキシ・デバイス102により、バッチ・モードで処理され得る。例えば、プロキシ・デバイス102のユーザは、地理的領域を歩き回り、ユーザ・デバイス108からのアップデート・リクエストを収集する。プロキシ・デバイス102は、次いで、後の時間上のポイントで、収集されたアップデート・リクエストに対してバッチ処理を実行することができる。例えば、プロキシ・デバイス102は、次いで、アップデート・リクエストが収集されるユーザ・デバイス108のうちの1以上に対応するアップデート・データ112を取得することができる。プロキシ・デバイス102のユーザは、再度地理的領域を歩き回り、ユーザ・デバイス108に対応する取得されたアップデート・データ112を送信することができる。いくつかの実施形態において、アップデート・データ112は、最後の使用から所定の時間後に削除されるまで、あるいはより最近要求されたアップデート・データ112を記憶するために追加のスペースが必要とされるまで、プロキシ・デバイス102のキャッシュに存在し続けることができる。
アップデート・リクエストは、ユーザ・デバイス識別子、ユーザ・デバイス状態、モバイル・デバイスの位置、及び/又はその位置でその時間にユーザ・デバイス108をアップデートすることに関連する使用料(usage charge)に基づいて、プロキシ・デバイス102により優先順位付けされ得る。使用料は、例えば、自宅位置の外でローミング中は高いこともあれば低いこともあるし、ピーク時間のアップデート又は非ピーク時間のアップデートでは、異なる使用料が存在し得る。
プロキシ・デバイス102は、周期的及び/又は間欠的に、アップデート・サービス212をブロードキャストすることができる。別の実施形態において、バッテリ・パワーを節約するために、プロキシ・デバイス102は、プロキシ・デバイス102のユーザからの入力に基づいて、アップデート・サービス212をユーザ・デバイス108にブロードキャストしてもよい。いくつかの実施形態において、ユーザ・デバイス108は、プロキシ・デバイス102からブロードキャストされるアップデート・サービス212を継続的にリスンする。
ユーザ・デバイス108は、特定のパラメータが満たされる場合、アップデート・リクエストをプロキシ・デバイス102に送信することができる。例示的なパラメータは、ユーザ・デバイス108がアップデート・ソース106に接続できないこと、ブロードキャストするプロキシ・デバイス102がアップデート・データ112をユーザ・デバイス108に渡すことを許可されること、及び/又は、周期的なアップデートの予め定められた時間間隔が過ぎること、を含むが、これらに限定されるものではない。
いくつかの実施形態において、通信インタフェース・コンポーネント218は、ネットワーク・インタフェース・カード及び/又はネットワーク・インタフェース・カードを動作させるためのコンピュータ実行可能命令(例えば、ドライバ)を含む。プロキシ・デバイス102とユーザ・デバイス108との間の通信は、任意の有線接続又は無線接続を介する任意のプロトコル又はメカニズムを用いて生じ得る。例えば、本開示の態様は、無線通信インタフェース及び/又は有線通信インタフェースの任意の組合せを介して動作可能である。そのような無線通信インタフェース及び/又は有線通信インタフェースは、WiFi(登録商標)、BLUETOOTH(登録商標)通信モジュール、IrDAプロトコル・セット、無線周波数(RF)通信、イーサネット(登録商標)、ユニバーサル・シリアル・バス(USB)、FireWire(登録商標)の通信モジュール等を含む。いくつかの実施形態において、通信インタフェースは、近距離通信(NFC)タグとともに動作可能である。例えば、プロキシ・デバイス102のユーザは、アップデート・プロセスを開始するために、プロキシ・デバイス102をユーザ・デバイス108にタップすることができる。
検索コンポーネント220は、実行されたとき、少なくとも1つのプロセッサ206に、受信されたアップデート・リクエストに応答して、ユーザ・デバイス識別子及びユーザ・デバイス状態に関連付けられたアップデート・データ112にアクセスさせる。通信インタフェース・コンポーネント218は、プロキシ・デバイス102からユーザ・デバイス108に、アクセスされたアップデート・データ112を送信する。例示的な実施形態において、アップデート・データ112は、プロキシ・デバイス102により、アップデート・ソース106から取得される。プロキシ・デバイス102は、(例えば、同じモデルの他のユーザ・デバイス108、同じデバイス状態を有する他のユーザ・デバイス108等に適用するために)予め定められた時間期間の間、アップデート・データ112を記憶することができる。アップデート・データ112は、予め定められた時間期間の満了又は経過後、プロキシ・デバイス102から除去され得る。別の実施形態において、プロキシ・デバイス102は、アップデート・リクエストが受信されるたびに、アップデート・データ112を取得してもよい。
統計コンポーネント222は、実行されたとき、少なくとも1つのプロセッサ206に、通信インタフェース・コンポーネント218による、アクセスされたアップデート・データ112の送信に少なくとも関連するアップデート・メトリックス(update metrics)を生成させる。アップデート・メトリックスは、受信されたアップデート・リクエストの数、送信されたアップデート・データ112の量、アップデート・データ112の各送信に関連する期間、アップデート成功率、及び/又はアップデート失敗率を含む。アップデート・メトリックスは、ユーザ・デバイス108をアップデートすることに関連する使用料、アップデート・リクエストのタイプ、未処理の(pending)アップデート・リクエストの数をさらに含んでもよい。プロキシ・デバイス102は、未処理のアップデート・リクエストのタイプの類似性に基づいて、アップデート・データ112を保持することを決定することができる。例えば、頻繁に送信されるアップデート・データ112又は人気のあるアップデート・データ112は、ネットワーク使用料を最小限にするため、将来の使用のためにプロキシ・デバイス102により記憶され得る。
使用料は、個々のアップデート、アップデート・タイプ及びバージョン、各ユーザ・デバイス108、ユーザ・デバイス108のユーザ、プロキシ・デバイス102、プロキシ・デバイス102の位置、アップデートの時間、及び/又はプロキシ・デバイス102のユーザに対応し得る。ユーザ・デバイス108のユーザ及びプロキシ・デバイス102のユーザは、アップデート・ソース106上に保持される使用料アカウント(usage charge account)を有することができる。これらのユーザは、アップデート・リクエストから識別可能である(例えば、認証情報に含まれる)。使用料は、ユーザが、アップデート・データを受信するか否かを選択することを決定するのを助け得る。
統計コンポーネント222は、データをユーザに表示しデータをユーザから受け取るためのグラフィックス・カードを含む。統計コンポーネント222はまた、グラフィックス・カードを動作させるためのコンピュータ実行可能命令(例えば、ドライバ)を含み得る。さらに、統計コンポーネント222は、ディスプレイ(例えば、タッチ・スクリーン・ディスプレイ又はナチュラル・ユーザ・インタフェース)及び/又はディスプレイを動作させるためのコンピュータ実行可能命令(例えば、ドライバ)を含み得る。統計コンポーネント222はまた、データをユーザに提供する、あるいはデータをユーザから受け取るための次のうちの1以上を含み得る:スピーカ、サウンド・カード、カメラ、マイクロフォン、振動モータ、1以上の加速度計、BLUETOOTH(登録商標)の通信モジュール、全地球測位システム(GPS)ハードウェア、及び/又は光受容光センサ。例えば、ユーザは、プロキシ・デバイス102を特定の方向に動かすことにより、コマンドを入力することができる、あるいはデータを操作することができる。
統計コンポーネント222は、例えば、アップデート・データ112の送信時間、アップデート・データ112の送信中のプロキシ・デバイス102の位置、及び/又はアクセスされたアップデート・データ112に関連付けられた識別子を示すデータを収集する。いくつかの実施形態において、統計コンポーネント222は、プロキシ・デバイス102のユーザからのリクエストに基づいて、生成されたアップデート・メトリックスをプロキシ・デバイス102に公開することができる。別の実施形態において、統計コンポーネント222は、生成されたアップデート・メトリックスをクラウド・サービスに公開する。生成されたアップデート・メトリックスから、統計コンポーネント222は、予め定められた閾値を超えるアップデート成功率を有するアップデート・データ112を識別することができる。アップデート成功率を使用して、将来のアップデートを実行するための特定の時間及び/又は位置を決定することができる。統計コンポーネント222は、各ユーザ・デバイス108についてのアップデート・メトリックスを公開してもよいし、複数のユーザ・デバイス108についての集約されたメトリックスを公開してもよい。
いくつかの実施形態において、通信インタフェース・コンポーネント218は、ユーザ・デバイス108の製造業者に、統計コンポーネント222により生成されたアップデート・メトリックスのうちの1以上を通知することができる。製造業者は、その通知に基づいて、是正措置又は予防措置を取ることができる。例えば、製造業者は、アップデート・メトリックスに基づいて、一部のユーザ・デバイス108をリコールすることができる。別の例として、製造業者は、アップデート成功率がより高い又はより低い特定の位置で、宣伝をすることができる。製造業者は、アップデート・サービス212をユーザ・デバイス108にブロードキャストするために、そのような位置でプロキシ・デバイス102を提供することさえできる。
次に図4を参照すると、シーケンス図は、データの受信/送信の例示的な時間を示している。図4は、いくつかの実施形態において実行され得る、あるいは実行され得ないいくつかのオペレーションを列挙している。さらに、そのようなオペレーションのいくつかは、列挙された時間とは異なる時間に実行されてもよい。図4に列挙されていないが、本開示のどこかで説明するいくつかの他のオペレーションもまた、本開示の範囲内である。
時間T1において、プロキシ・デバイス102は、近接ユーザ・デバイス108を検出しようと試みる。プロキシ・デバイス102が、アップデートを実行するのに利用可能な十分なリソースを有している場合、プロキシ・デバイス102は、多数のユーザ・デバイス108をアップデートすることを提供することができる。他のシナリオにおいて、例えば、ユーザ・デバイス108の数が、プロキシ・デバイス102のリソースを凌駕するとき、又はプロキシ・デバイス102の数を上回るとき、プロキシ・デバイス102は、ユーザ・デバイス108に提供されるアップデートの数を調整することができる。代替実施形態において、プロキシ・デバイス102は、時間T1において、ユーザ・デバイス108に遭遇し得る。例えば、ユーザ・デバイス108は、アップデート・リクエストを送信中であり得、プロキシ・デバイス102がユーザ・デバイス108の近くに移動したとき、プロキシ・デバイス102は、ユーザ・デバイス108に遭遇し得る。
時間T2において、プロキシ・デバイス102は、アップデート・サービス212をブロードキャストする。アップデート・サービス212の送信は、周期的に、間欠的に、且つ/あるいは、ユーザ・デバイス108のうちの少なくとも1つの検出時にのみ、行われ得る。いくつかの実施形態において、プロキシ・デバイス102が、すでにユーザ・デバイス108に遭遇していたとき等、プロキシ・デバイス102は、アップデート・サービス212をブロードキャストしなくてもよい。
時間T3において、プロキシ・デバイス102は、ユーザ・デバイス108から、アップデート・リクエストを受信する。代替実施形態において、ユーザ・デバイス108は、時間T1においてプロキシ・デバイス102がユーザ・デバイス108を検出することなく、且つ時間T2においてアップデート・サービス212をブロードキャストすることなく、プロキシ・デバイス102とのコンタクトを開始する。例えば、ユーザ・デバイス108は、プロキシ・デバイス102により受信されるアップデート・リクエストをブロードキャストすることにより、コンタクトを開始することができる。
時間T4において、プロキシ・デバイス102は、アップデート・ソース106からのアップデート・データ112にアクセスする、且つ/あるいはアップデート・ソース106からアップデート・データ112を取得する。時間T5において、バージョン・チェック及び/又はエラー・ハンドリングが、プロキシ・デバイス102、アップデート・ソース106、又はそれら両方で実行される。
いくつかの実施形態において、アップデート・データ112が、アップデート・ソース106から、プロキシ・デバイス102を介して、ユーザ・デバイス108にプッシュされるとき等、アップデート・リクエストは、プロキシ・デバイス102により受信されない。
時間T6において、プロキシ・デバイス102は、ユーザ・デバイス108のデータ・バックアップを受信することができる。時間T7において、プロキシ・デバイス102は、アップデート・データ112をユーザ・デバイス108に送信する。いくつかの実施形態において、プロキシ・デバイス102は、ユーザ・デバイス108からデータ・バックアップを受信することなく、時間T7において、アップデート・データ112を送信する。時間T8において、エラー・ハンドリングが、プロキシ・デバイス102により実行され得る。例えば、アップデート・プロセス中にエラーが検出された場合、ユーザ・デバイス108の修復が、データ・バックアップから実行される。
追加の例
本開示の態様は、次に説明するシナリオ等の追加のシナリオを可能にする。例示的なシナリオにおいて、携帯電話機は、アップデート・データ112をユーザ・デバイス108(例えば、車両内エンターテイメント・システム)に送信することができる。そのようなシナリオにおけるユーザ・デバイス108は、アップデート・ソース106との接続を有さなくてよい、あるいは、ユーザ・デバイス108は、いかなるアップデート・サービス又はアップデート・インタフェースも有さなくてよい。
ユーザ・デバイス108及びプロキシ・デバイス102は、互いに近くに位置し得る(例えば、家の中)。プロキシ・デバイス102とユーザ・デバイス108との間の通信のレンジは、アップデート・リクエストを受信する、あるいはアップデート・サービス212をブロードキャストするプロキシ・デバイス102により使用される通信インタフェースに依存し得る。プロキシ・デバイス102は、プロキシ・デバイス102上の複数の通信インタフェース(例えば、WiFi(登録商標)及びBLUETOOTH(登録商標))を介して、複数のアップデート・リクエストを同時に受信することができる。同様に、プロキシ・デバイス102は、複数の通信インタフェース上で、アップデート・サービス212を同時にブロードキャストすることができる。
ユーザ・デバイス108及びプロキシ・デバイス102は、ピア・ツー・ピア関係又はクライアント−サーバ関係で動作することができる。例えば、モバイル・サーバ・デバイス(例えば、プロキシ・デバイス102)は、大容量記憶デバイスとしてのクライアント・デバイス(例えば、ユーザ・デバイス108)に接続することができる。モバイル・サーバ・デバイスは、次いで、アップデート・データ112をクライアント・デバイス(例えば、ユーザ・デバイス108)に送信することができる。アップデート・データ112は、クライアント・デバイス上のデータを直接上書きし得る。
モバイル・サーバ・デバイスは、複数の異なる種類又はタイプのユーザ・デバイス108をアップデートすることができる。そのようなシナリオにおいて、プロキシ・デバイス102は、それら異なる種類のユーザ・デバイス108をカバーする複数の異なるアップデート・サービス212を同時にブロードキャストすることができる。
プロキシ・デバイス102は、プロキシ・デバイス102に関連するオペレーション及び機能を実装する命令(例えば、アプリケーション・プログラム、オペレーティング・システム機能、又はそれら両方としての)を実行する任意のコンピューティング・デバイスを表す。
いくつかの実施形態において、ユーザ・デバイス108は、ブロードキャストされたアップデート・サービス212に応答して、バーコード、アップデート・ステータス、ソフトウェア・ステータス、現在のソフトウェア・バージョン、ユーザ・デバイス108がフォールト・トレラントであるかどうかのインジケーション、及び/又はアップデートの前にユーザ・デバイス108のデータをバックアップするかどうかのインジケーション等の情報を送信することができる。プロキシ・デバイス102は、この情報を使用して、汎用アップデートを全てのユーザ・デバイス108に単にブロードキャストするのではなく、アップデート・プロセスを、特定のユーザ・デバイス108に固有のものにすることができる。例えば、プロキシ・デバイス102は、ユーザ・デバイス108から受信した情報に基づいて、アップデート・プロセス中にさらなるオペレーション又はより少ないオペレーションを実行することにより、アップデート・プロセスを、ユーザ・デバイス108に固有のものにする。
例示的なシナリオにおいて、アップデート・プロセスは、連合ユーザ・デバイス108のセットが、アップデートをリクエストすることを可能にし、対応するアップデート・データ112が、許可されたホスト・デバイス(例えば、プロキシ・デバイス102)から自動的に配信される。いくつかの実施形態において、プロキシ・デバイス102は、地理的領域をローミングし、プロキシ・デバイス102がアップデート権限及び/又は許可を有する、近接領域内のユーザ・デバイス108をアップデートする。例示的な実施形態において、ユーザ・デバイス108の各々は、アップデート権限及び/又は許可を有するプロキシ・デバイス102のセットを識別することができる。
プロキシ・デバイス102は、アップデート・サービス212のブロードキャストをいつ開始するかを構成するための設定を、プロキシ・デバイス102のユーザに提供することができる。アップデート許可が、ユーザ・デバイス108の特定のパラメータ(例えば、マシン・アクセス制御(MAC)アドレス)又は接続固有のパラメータ(例えば、インターネット・プロトコル(IP)アドレス)に基づくように望まれない場合、プロキシ・デバイス102のユーザは、アップデートを許可するのに使用されるアップデート・パスワードを定めることができる。
例示的な実施形態において、プロキシ・デバイス102は、ユーザ・デバイス識別子及びユーザ・デバイス状態に基づいてアップデート・ソース106を識別する検索エンジンに、アップデート・リクエストを渡す。
別の例示的な実施形態において、プロキシ・デバイス102が、第1のユーザ・デバイス108から受信したアップデート・リクエストを処理中であり、新たなアップデート・リクエストが、第2のユーザ・デバイス108から受信される場合、第2のユーザ・デバイス108からの新たなアップデート・リクエストは、その後の処理のために待ち行列に入れられてもよいし、新たなアップデート・リクエストは、進行中のアップデート・リクエストの処理と並行して処理されてもよい。さらに、プロキシ・デバイス102は、ユーザ・デバイス108とプロキシ・デバイス102との間の接続インタフェースが壊れた場合又はレンジ外である場合、アップデート・プロセスを中断する。そのようなシナリオにおいて、アップデートは、ユーザ・デバイス108上で行われない。
アップデートが、以前の試行中に成功しなかった場合、アップデート・プロセスは、アップデート・プロセスが中断されたポイントから再開することができる。アップデート・プロセスの再開は、プロキシ・デバイス102がユーザ・デバイス108の近くに再度移動したときに生じる。いくつかの実施形態において、アップデート・プロセスは、プロキシ・デバイス102が予め定められた時間期間の間(例えば、1分間)ユーザ・デバイス108に近接しているときに実行される。この予め定められた時間期間は、プロキシ・デバイス102とユーザ・デバイス108との間の接続が安定している可能性が高いこと、又はその接続が特定のサービス品質(例えば、接続速度)を確認するためにテストされることを判定することを助ける。
アップデート・データ112がプロキシ・デバイス102からユーザ・デバイス108に送信されると、アップデート・プロセスは終了する。アップデート・データ112が送信された後、ユーザ・デバイス108との接続インタフェースが壊れたとしても、あるいはユーザ・デバイス108がレンジ外になったとしても、ユーザ・デバイス108は、アップデート・データ112を適用することにより、それでもアップデートを完了させることができる。
図1及び図2の様々な要素の機能の少なくとも一部は、図1の他の要素、図2の他の要素、又は図1若しくは図2に示されていないエンティティ(例えば、プロセッサ、ウェブ・サービス、サーバ、アプリケーション・プログラム、コンピューティング・デバイス等)により実行されてもよい。
いくつかの実施形態において、図3及び図4に示したオペレーションは、コンピュータ読み取り可能媒体上に符号化されたソフトウェア命令として実装されてもよいし、オペレーションを実行するようプログラム又は設計されたハードウェアにより実装されてもよいし、それら両方であってもよい。例えば、本開示の態様は、システム・オン・チップ又は複数の相互接続された電気的導電性要素を含む他の回路として実装されてもよい。
本明細書で使用される用語「NFC」は、いくつかの実施形態において、短距離にわたるデータの交換のための短距離高周波数無線通信技術を指す。本明細書で使用される用語「Wi−Fi(登録商標)」は、いくつかの実施形態において、データの送信のための高周波数無線信号を用いる無線ローカル・エリア・ネットワークを指す。本明細書で使用される用語「BLUETOOTH(登録商標)」は、いくつかの実施形態において、短波長無線伝送を用いて短距離にわたってデータを交換するための無線技術標準を指す。
例示的な動作環境
例示的なコンピュータ読み取り可能媒体は、フラッシュ・メモリ・ドライブ、デジタル多用途ディスク(DVD)、コンパクト・ディスク(CD)、フロッピー(登録商標)・ディスク、及びテープ・カセットを含む。例えば、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体及び通信媒体を含むが、これらに限定されるものではない。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、又は他のデータ等の情報の記憶のために任意の方法又は技術により実装された、揮発性及び不揮発性の取り外し可能な媒体及び取り外し不可能な媒体を含む。コンピュータ記憶媒体は、有形であり、通信媒体とは相互に排他的である。いくつかの実施形態において、コンピュータ記憶媒体は、ハードウェアにより実装される。例示的なコンピュータ記憶媒体は、ハード・ディスク、フラッシュ・ドライブ、及び他のソリッド・ステート・メモリを含む。反対に、通信媒体は、通常、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、又は他のデータを、搬送波又は他の搬送メカニズム等の変調されたデータ信号内に具現化するものであり、任意の情報配信媒体を含む。
例示的なコンピューティング・システム環境に関連して説明するが、本開示の実施形態は、多数の他の汎用又は専用コンピューティング・システム環境、構成、又はデバイスとともに実装可能である。
本発明の態様とともに使用するのに適し得る周知のコンピューティング・システム、環境、及び/又は構成の例は、モバイル・コンピューティング・デバイス、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド・デバイス又はラップトップ・デバイス、マルチプロセッサ・システム、ゲーム・コンソール、マイクロプロセッサベースのシステム、セット・トップ・ボックス、プログラム可能な消費家電、携帯電話機、ウェアラブル・フォーム・ファクタ又はアクセサリ・フォーム・ファクタのモバイル・コンピューティング・デバイス及び/又はモバイル通信デバイス(例えば、時計、眼鏡、ヘッドセット、又はイヤフォン)、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ、上記システム又はデバイスのいずれかを含む分散コンピューティング環境等を含むが、これらに限定されるものではない。このようなシステム又はデバイスは、キーボード又はポインティング・デバイス等の入力デバイスから、ジェスチャ入力、近接入力(例えば、ホバリングにより)、及び/又は音声入力を介して等、形はどうであれ、ユーザから入力を受け取ることができる。
本発明の実施形態は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組合せにおいて、1以上のコンピュータ又は他のデバイスにより実行されるプログラム・モジュール等のコンピュータ実行可能命令の一般的なコンテキストにおいて説明され得る。コンピュータ実行可能命令は、1以上のコンピュータ実行可能コンポーネント又はモジュールに編成され得る。一般に、プログラム・モジュールは、特定のタスクを実行する、あるいは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、及びデータ構造を含むが、これらに限定されるものではない。本発明の態様は、任意の数及び編成のそのようなコンポーネント又はモジュールを用いて実装され得る。例えば、本発明の態様は、図に示し本明細書で説明した特定のコンピュータ実行可能命令又は特定のコンポーネント若しくはモジュールに限定されるものではない。本発明の他の実施形態は、図示し本明細書で説明した機能よりも多い又は少ない機能を有する異なるコンピュータ実行可能命令又はコンポーネントを含んでもよい。
本発明の態様は、本明細書で説明した命令を実行するよう構成されるとき、汎用コンピュータを専用コンピューティング・デバイスに変換する。
図示し本明細書で説明した実施形態に加えて、本明細書で具体的に説明していないが本発明の態様の範囲内である実施形態は、ユーザ・デバイス108を検出してアップデートするための例示的な手段を構成する。
図示し本明細書で説明した本発明の実施形態におけるオペレーションの実行の順番は、別途明示されない限り、必須ではない。すなわち、オペレーションは、別途明示されない限り、任意の順番で実行されてもよく、本発明の実施形態は、本明細書で開示したオペレーションよりも多い又は少ないオペレーションを含んでもよい。例えば、別のオペレーションより前に、別のオペレーションと同時に、あるいは別のオペレーションの後に特定のオペレーションを実行することも本発明の態様の範囲内であることが意図されている。
本発明又はその実施形態の態様の要素を導入するとき、品詞「a」、「an」、「the」、及び「said」は、それら要素の1以上が存在することを意味するよう意図されている。用語「備える」、用語「含む」、及び用語「有する」は、非排他的であり、列挙された要素以外の追加の要素が存在してもよいことを意味するよう意図されている。用語「例示的」は、「〜の一例」を意味するよう意図されている。語句「A、B、及びCのうちの1以上」は、「Aのうちの少なくとも1つ、及び/又は、Bのうちの少なくとも1つ、及び/又は、Cのうちの少なくとも1つ」を意味する。
本発明の態様を詳細に説明したが、添付の特許請求の範囲において定められるように、本発明の態様の範囲から逸脱することなく、修正及び変形が可能であることが明らかであろう。本発明の態様の範囲から逸脱することなく、上記構成、製品、及び方法において、様々な変更を施すことが可能であるので、上記説明に含まれ添付の図面に示された全ての事項は、限定ではなく、例示として解釈されるべきであることが意図されている。

Claims (9)

  1. 近接デバイスをアップデートするためのシステムであって、
    モバイル・プロキシ・デバイスに関連付けられ、アップデート・データを記憶しているメモリ領域と、
    プロセッサであって、
    前記モバイル・プロキシ・デバイスにより、前記モバイル・プロキシ・デバイスに近接する少なくとも1つのユーザ・デバイスからアップデート・リクエストを受信し、ここで、前記アップデート・リクエストは、ユーザ・デバイス識別子及びユーザ・デバイス状態を少なくとも含み、
    前記の受信されたアップデート・リクエストに応答して、前記ユーザ・デバイス識別子及び前記ユーザ・デバイス状態に関連付けられている前記アップデート・データにアクセスし、
    前記のアクセスされたアップデート・データを、前記モバイル・プロキシ・デバイスから前記ユーザ・デバイスに送信し、
    前記のアクセスされたアップデート・データの送信に少なくとも関連するアップデート・メトリックスを生成し、
    前記の生成されたアップデート・メトリックスをクラウド・サービスに公開する
    ようプログラムされているプロセッサと、
    を備えた、システム。
  2. 前記アップデート・メトリックスは、受信されたアップデート・リクエストの数、送信されたアップデート・データの量、前記アップデート・データの各送信に関連する期間、アップデート成功率、及びアップデート失敗率のうちの少なくとも1つを含む、請求項1記載のシステム。
  3. 前記プロセッサは、さらに、前記アップデート・データの送信時間、前記アップデート・データの送信中の前記モバイル・プロキシ・デバイスの位置、及び前記のアクセスされたアップデート・データに関連付けられている識別子のうちの少なくとも1つを示すデータを収集するようプログラムされている、請求項1又は2記載のシステム。
  4. 前記プロセッサは、さらに、前記の生成されたアップデート・メトリックスから、予め定められた閾値を超えるアップデート成功率を有する前記アップデート・データを識別するようプログラムされている、請求項1乃至いずれか一項記載のシステム。
  5. 前記プロセッサは、さらに、前記ユーザ・デバイスの製造業者に、前記の生成されたアップデート・メトリックスのうちの1以上を通知するようプログラムされている、請求項1乃至いずれか一項記載のシステム。
  6. 前記アップデート・データにアクセスすることは、前記モバイル・プロキシ・デバイスがアクセス可能な前記メモリ領域を検索することを含む、請求項1乃至いずれか一項記載のシステム。
  7. プロキシ・デバイスが、前記プロキシ・デバイスに近接する少なくとも1つのユーザ・デバイスから、アップデート・リクエストを受信するステップであって、前記アップデート・リクエストは、ユーザ・デバイス識別子及びユーザ・デバイス状態を少なくとも含む、ステップと、
    前記プロキシ・デバイスが、前記の受信されたアップデート・リクエストに応答して、前記ユーザ・デバイス識別子及び前記ユーザ・デバイス状態に関連付けられているアップデート・データにアクセスするステップと、
    前記プロキシ・デバイスが、前記ユーザ・デバイスに、前記のアクセスされたアップデート・データを送信するステップと、
    前記プロキシ・デバイスが、前記のアクセスされたアップデート・データの送信に少なくとも関連するアップデート・メトリックスを生成するステップと、
    前記プロキシ・デバイスが、前記の生成されたアップデート・メトリックスをクラウド・サービスに公開するステップと、
    を含む、方法。
  8. プロキシ・デバイスに請求項記載の方法を実行させるコンピュータ・プログラム。
  9. 請求項記載のコンピュータ・プログラムを記憶しているコンピュータ読み取り可能記憶媒体。
JP2015557041A 2013-02-08 2014-02-06 デバイス固有のアップデートを提供するパーベイシブ・サービス Active JP6396332B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/762,379 2013-02-08
US13/762,379 US9122554B2 (en) 2013-02-08 2013-02-08 Pervasive service providing device-specific updates
PCT/US2014/014970 WO2014124063A1 (en) 2013-02-08 2014-02-06 Pervasive service providing device-specific updates

Publications (3)

Publication Number Publication Date
JP2016511464A JP2016511464A (ja) 2016-04-14
JP2016511464A5 JP2016511464A5 (ja) 2017-02-16
JP6396332B2 true JP6396332B2 (ja) 2018-09-26

Family

ID=50231512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015557041A Active JP6396332B2 (ja) 2013-02-08 2014-02-06 デバイス固有のアップデートを提供するパーベイシブ・サービス

Country Status (5)

Country Link
US (1) US9122554B2 (ja)
EP (1) EP2954409A1 (ja)
JP (1) JP6396332B2 (ja)
KR (1) KR102208369B1 (ja)
CN (1) CN105074658B (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US8781502B1 (en) * 2013-02-01 2014-07-15 Swirl Networks, Inc. Systems and methods for display of supplemental content responsive to location
WO2014197521A1 (en) 2013-06-03 2014-12-11 Seven Networks, Inc. Blocking/unblocking algorithms for signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US20150149563A1 (en) * 2013-11-26 2015-05-28 At&T Intellectual Property I, L.P. Intelligent machine-to-machine (im2m) reserve
US20150223278A1 (en) * 2014-02-03 2015-08-06 Mary Reaston System and Method for Establishing a Wireless Connection
WO2015126974A1 (en) * 2014-02-18 2015-08-27 Seven Networks, Inc. Policy management for signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
JP6346478B2 (ja) * 2014-03-20 2018-06-20 キヤノン株式会社 中継装置、中継方法、中継システム、及びプログラム
US10084669B2 (en) 2014-04-09 2018-09-25 Centurylink Intellectual Property Llc System and method for cloud computing adaptive cloud services
US20150332357A1 (en) * 2014-05-16 2015-11-19 Centurylink Intellectual Property Llc System and Method for Service Provider Cloud Services
US20150332351A1 (en) 2014-05-16 2015-11-19 Centurylink Intellectual Property Llc System and Method for Service Provider Cloud Services - Cloud Marketplace
US9621422B2 (en) * 2014-06-24 2017-04-11 Google Technology Holdings LLC Device to device content upgrades
US9930098B2 (en) * 2015-01-23 2018-03-27 Hughes Network Systems, Llc Method and system for ISP network performance monitoring and fault detection
EP3062295B1 (en) * 2015-02-25 2021-11-10 Assa Abloy Ab Systems and methods for updating a mobile device
ES2964006T3 (es) * 2015-05-12 2024-04-03 Otis Elevator Co Método para actualizar software relacionado con la seguridad
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
BR102015014422B1 (pt) * 2015-06-17 2024-01-23 Samsung Eletrônica Da Amazônia Ltda Método para comunicação entre dispositivos eletrônicos através da interação de usuários com objetos
US10432461B2 (en) * 2015-12-04 2019-10-01 T-Mobile Usa, Inc. Peer-to-peer distribution of radio protocol data for software defined radio (SDR) updates
KR102405694B1 (ko) * 2015-12-23 2022-06-07 삼성전자주식회사 전자 장치의 동작 방법과 중계 장치와 이의 동작 방법
US10277283B2 (en) 2016-09-14 2019-04-30 Sony Corporation NFC device, reader/writer device and methods for authorizing and performing an update
US10764734B2 (en) * 2016-09-28 2020-09-01 Intel Corporation Service operation management using near-field communications
EP3532926A1 (en) * 2016-10-31 2019-09-04 Harman Becker Automotive Systems GmbH Software update mechanism for safety critical systems
US11379701B2 (en) 2016-12-01 2022-07-05 Brother Kogyo Kabushiki Kaisha Server and non-transitory computer-readable storage medium storing control program
US10362482B2 (en) 2016-12-21 2019-07-23 T-Mobile Usa, Inc. Network operation and trusted execution environment
CN106775898B (zh) * 2017-01-18 2018-11-30 维沃移动通信有限公司 一种应用程序的更新方法及移动终端
US10375530B2 (en) * 2017-06-09 2019-08-06 Blackberry Limited Providing data file updates using multimedia broadcast multicast services
EP3438032A1 (en) * 2017-07-31 2019-02-06 Inventio AG Method for updating software of an elevator system and updating system for updating a software of an elevator system
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
LT3770773T (lt) 2017-08-28 2024-03-12 Bright Data Ltd. Būdas pagerinti turinio parsisiuntimą, pasirenkant tunelinius įrenginius
US10657261B2 (en) 2017-11-30 2020-05-19 Mocana Corporation System and method for recording device lifecycle transactions as versioned blocks in a blockchain network using a transaction connector and broker service
US10505920B2 (en) 2017-11-30 2019-12-10 Mocana Corporation System and method of device identification for enrollment and registration of a connected endpoint device, and blockchain service
CN109947354A (zh) * 2017-12-20 2019-06-28 北京航天泰坦科技股份有限公司 一种基于Agent的无中心异构时空数据存储系统与方法
CN108664263B (zh) * 2018-05-11 2022-02-18 日立楼宇技术(广州)有限公司 一种电梯外召设备升级方法、装置、设备及存储介质
US10725766B2 (en) * 2018-05-14 2020-07-28 Dell Products, L.P. Systems and methods to assign variable delays for processing computer system updates
JP2021505981A (ja) 2018-11-02 2021-02-18 グーグル エルエルシーGoogle LLC マルチパート持続性コンテンツを提供するためのシステムおよび方法
IL283556B1 (en) * 2018-11-29 2024-05-01 Mocana Corp A system and method for protecting multi-part system applications that use a cryptographically protected packet, packet map, and object store for the packet for runtime decryption and verification on the target device platform.
WO2020117549A1 (en) 2018-12-06 2020-06-11 Mocana Corporation System and method for zero touch provisioning of iot devices
CN109831761A (zh) * 2018-12-17 2019-05-31 杭州追新科技有限公司 一种远程终端自动化升级装置
LT4075304T (lt) 2019-02-25 2023-07-25 Bright Data Ltd. Turinio parsisiuntimo, naudojant url bandymų mechanizmą, sistema ir būdas
EP4030318A1 (en) 2019-04-02 2022-07-20 Bright Data Ltd. System and method for managing non-direct url fetching service
US11119750B2 (en) * 2019-05-23 2021-09-14 International Business Machines Corporation Decentralized offline program updating
CN112288923B (zh) * 2019-07-22 2023-02-21 开利公司 用于访问系统的方法和系统
WO2021104969A1 (de) 2019-11-29 2021-06-03 Inventio Ag Verfahren zum durchführen von tests mit aufzügen eines aufzugnetzwerks
US11537383B2 (en) * 2020-10-13 2022-12-27 Argo AI, LLC Systems and methods for improved smart infrastructure data transfer
US11662994B1 (en) * 2020-10-20 2023-05-30 Metactix Llc System and method for updating an application for a population of computers
DE102020134096A1 (de) * 2020-12-18 2022-06-23 innogy eMobility Solutions GmbH Technik zur Übertragung eines Softwareupdatepakets für eine Software einer Ladestation für elektrisch betriebene Kraftfahrzeuge
US20230095852A1 (en) * 2021-09-29 2023-03-30 Amazon Technologies, Inc. Translating between versions of data object schemas for data producers and data consumers
US12008355B2 (en) * 2022-01-18 2024-06-11 Dell Products L.P. System and method for generating a specialized upgrade notification based on client intent for an application abstention

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477576B2 (en) * 1999-06-17 2002-11-05 International Business Machines Corporation Methods, systems and computer program products for the automated discovery of a services menu
US20020136214A1 (en) * 2000-08-14 2002-09-26 Consumer Direct Link Pervasive computing network architecture
US20020051200A1 (en) 2000-11-01 2002-05-02 Chang William Ho Controller for device-to-device pervasive digital output
AU2002239325A1 (en) * 2000-11-20 2002-05-27 Flexiworld Technologies, Inc. Systems and methods for mobile and pervasive output
US8126982B2 (en) * 2001-02-16 2012-02-28 International Business Machines Corporation Method, network device and computer program product for performing service discovery in a pervasive network
US20030203731A1 (en) * 2002-04-29 2003-10-30 Lavaflow, Llp Cellular telephone and method of displaying account information
CN1295917C (zh) * 2002-08-23 2007-01-17 国际商业机器公司 可以感知用户周围环境的消息传递系统和方法
US6909721B2 (en) * 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
CN1516432A (zh) * 2003-01-06 2004-07-28 国际商业机器公司 通信终端,通话转接服务器,通信服务提供系统和方法
KR20050083192A (ko) * 2003-07-01 2005-08-26 주식회사 커뮤시스 알에프신호를 이용한 차량용 단말기 업데이트 시스템
CN101015224B (zh) * 2004-05-18 2012-05-30 爱尔瓦纳股份有限公司 无线网络控制
US7853939B2 (en) * 2005-09-21 2010-12-14 Qwikker, Inc. Device-aware content delivery
US7734717B2 (en) * 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
JP2008181228A (ja) * 2007-01-23 2008-08-07 Sony Corp 管理システムおよび管理方法、端末装置、管理サーバ、並びにプログラム
US8081610B2 (en) * 2007-05-09 2011-12-20 Vlad Stirbu Modifying remote service discovery based on presence
US8463238B2 (en) * 2007-06-28 2013-06-11 Apple Inc. Mobile device base station
TWI363993B (en) * 2007-10-31 2012-05-11 Ibm Method for auto-deploying an application from a mobile device to a host in a pervasive computing environment and the mobile device implementing the method
TWI458316B (zh) * 2008-03-11 2014-10-21 Wistron Corp 通用隨插即用網路系統之裝置代理方法及其相關裝置
WO2010002400A1 (en) * 2008-07-01 2010-01-07 Hewlett-Packard Development Company, L.P. Remote computing services
JP5304670B2 (ja) * 2010-01-25 2013-10-02 富士通株式会社 携帯通信端末装置、近距離無線通信制御方法及び近距離無線通信制御プログラム
JP2012014444A (ja) * 2010-06-30 2012-01-19 Ntt Docomo Inc 配信サーバ、携帯端末装置、システム、及び方法
JP2012144444A (ja) * 2011-01-07 2012-08-02 Mikimoto Pharmaceut Co Ltd 油中水型乳化組成物または油中水中油型乳化組成物

Also Published As

Publication number Publication date
EP2954409A1 (en) 2015-12-16
US9122554B2 (en) 2015-09-01
CN105074658B (zh) 2018-12-28
KR102208369B1 (ko) 2021-01-26
KR20150119056A (ko) 2015-10-23
JP2016511464A (ja) 2016-04-14
US20140227976A1 (en) 2014-08-14
CN105074658A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
JP6396332B2 (ja) デバイス固有のアップデートを提供するパーベイシブ・サービス
WO2014124063A1 (en) Pervasive service providing device-specific updates
CN111615172B (zh) 网络配置方法、装置、设备和系统
US9906945B2 (en) Apparatus and methods for provisioning devices to utilize services of mobile network operators
US8649768B1 (en) Method of device authentication and application registration in a push communication framework
JP5237298B2 (ja) クライアント駆動サーバ側インストールのための装置及び方法
US20170118628A1 (en) Apparatus and methods for selecting services of mobile network operators
US9117191B2 (en) Automatic device inventory management for different types of devices
US10028131B2 (en) Apparatus and methods for distributing credentials of mobile network operators
JP6438031B2 (ja) クライアントのダウンロード及びインストール方法及び装置
CN107579966B (zh) 远程访问内网的控制方法、装置、系统和终端设备
KR20190067194A (ko) 계정 로그인을 위한 방법, 장치, 및 서버
KR20150087390A (ko) 광고 처리 방법 및 장치
CN105812435A (zh) 应用升级数据包处理方法、装置、电子设备及系统
JP6793667B2 (ja) アプリケーションダウンロード方法及び装置
EP3580946B1 (fr) Technique d'obtention d'un profil d'accès à un réseau
US20150011187A1 (en) Location based applications
US9319475B2 (en) Method, system and apparatus for management of push content when changing computing devices
WO2019037581A1 (zh) 一种用于对用户设备进行无线连接预授权的方法与设备
US20140242969A1 (en) Program expanding system, server for use therein, program expanding method and program managing program
EP3833153B1 (en) Network connection methods and devices
US20220224547A1 (en) Provisioning and authenticating device certificates
CN104751046B (zh) 一种应用程序的用户认证方法及移动终端设备
US10929891B2 (en) Content sponsorship based on internet protocol (IP) addresses
EP2997489B1 (en) Method and device for efficient mobile data transmission

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170106

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180829

R150 Certificate of patent or registration of utility model

Ref document number: 6396332

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