JP6293969B2 - 効率良いアプリケーション同期化をトリガするための方法およびシステム - Google Patents

効率良いアプリケーション同期化をトリガするための方法およびシステム Download PDF

Info

Publication number
JP6293969B2
JP6293969B2 JP2017503882A JP2017503882A JP6293969B2 JP 6293969 B2 JP6293969 B2 JP 6293969B2 JP 2017503882 A JP2017503882 A JP 2017503882A JP 2017503882 A JP2017503882 A JP 2017503882A JP 6293969 B2 JP6293969 B2 JP 6293969B2
Authority
JP
Japan
Prior art keywords
network
opportunity
mobile device
current
application data
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
JP2017503882A
Other languages
English (en)
Other versions
JP2017525295A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2017525295A publication Critical patent/JP2017525295A/ja
Application granted granted Critical
Publication of JP6293969B2 publication Critical patent/JP6293969B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/183Processing at user equipment or user record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/30Network data restoration; Network data reliability; Network data fault tolerance

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)

Description

関連出願の相互参照
[0001]
本願は、2014年7月25日に出願された米国仮特許出願シリアル番号第62/029,278号の利益を主張する、2014年8月21日に出願された米国特許出願シリアル番号第14/465,693号の利益を主張し、その両方は、参照によりその全体が組み込まれている。
開示の分野
[0002]
本願は一般的にネットワークを通したデータ送信に関連し、より具体的には、コンピューティングデバイス間でアプリケーションデータを同期化することに関連する。
背景
[0003]
移動体デバイスはユビキタスであり、スマートフォン、タブレット、ポータブルデジタルアシスタント(PDA)、ポータブルゲームコンソール、パームトップコンピュータ、および、他のポータブル電子デバイスを含んでいてもよい。これらのデバイスの主機能に加えて、多くのものが周辺機能を含んでいる。例えば、スマートフォンは、電話通話をする主機能と、ゲームで遊び、スチルカメラ、ビデオカメラ、グローバルポジショニングシステム(GPS)ナビゲーション、ウェブブラウジング、および、eメールを送受信する、周辺機能とを含んでいてもよい。
[0004]
アプリケーションを移動体デバイス上にインストールして、これらの周辺機能を提供してもよい。例では、アプリケーションは第三者によって提供され、ユーザは、移動体デバイス上にアプリケーションをダウンロードしてもよい。別の例では、ユーザは、移動体デバイス上に既にインストールされているアプリケーションを有する移動体デバイスを受け取る。移動体アプリケーションは、データを遠隔サーバに転送することにより、および/または、遠隔サーバからデータを受信することにより、遠隔サーバと同期化してもよい。例えば、ユーザは、移動体アプリケーションを使用して、写真またはビデオを遠隔サーバにアップロードしてもよい。このような例では、数百または数千メガバイトのデータがバックエンドサービスに転送されるかもしれない。データ転送はバックグラウンドで実行されるかもしれないが、データ転送はデータが重く、時間を消費するかもしれない。さらに、移動体アプリケーションを同期化するためにかかる時間が増加すると、このような機能性をサポートするために要求される処理電力も増加する。
概要
[0005]
本開示は、ネットワークを通したデータ送信に関連する。アプリケーションデータを同期化するための方法、システムおよび技術を提供する。
[0006]
いくつかの実施形態にしたがうと、移動体デバイスと遠隔コンピューティングデバイスとの間でアプリケーションデータを同期化する方法は、1つ以上のネットワークの各ネットワークに対して、それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータを収集することを含んでいる。移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含んでいる。方法は、移動体デバイスにおいて、現在のネットワークへの現在の接続を検出することも含んでいる。方法は、アプリケーションデータを同期化するための1つ以上の機会スコアを比較することをさらに含んでいる。1つ以上の機会スコアは、現在のネットワークに対する機会スコアを含んでいる。各機会スコアは特定のネットワークに関係付けられている。方法は、比較に基づいて、現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定することも含んでいる。
[0007]
いくつかの実施形態にしたがうと、移動体デバイスと遠隔コンピューティングデバイスとの間でアプリケーションデータを同期化するシステムは、移動体デバイスと現在のネットワークとの間の現在の接続を検出し、1つ以上のネットワークの各ネットワークに対して、それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータを収集するネットワークメトリックロガーを含んでいる。移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含んでいる。システムは、アプリケーションデータを同期化するための1つ以上の機会スコアを比較し、比較に基づいて、現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定する機会学習エンジンも含んでいる。1つ以上の機会スコアは、現在のネットワークに対する機会スコアを含んでいる。各機会スコアは特定のネットワークに関係付けられている。
[0008]
いくつかの実施形態にしたがうと、動作を実行するためのコンピュータ実行可能な命令をその上に記憶しているコンピュータ読取可能媒体において、動作は、1つ以上のネットワークの各ネットワークに対して、それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータを収集することと、移動体デバイスにおいて、現在のネットワークへの現在の接続を検出することと、アプリケーションデータを同期化するための1つ以上の機会スコアを比較することと、比較に基づいて、現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定することとを含み、移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含み、1つ以上の機会スコアは、現在のネットワークに対する機会スコアを含み、各機会スコアは特定のネットワークに関係付けられている。
[0009]
いくつかの実施形態にしたがうと、移動体デバイスと遠隔コンピューティングデバイスとの間でアプリケーションデータを同期化する装置は、1つ以上のネットワークの各ネットワークに対して、それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータを収集する手段を含み、移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含んでいる。装置は、移動体デバイスにおいて、現在のネットワークへの現在の接続を検出する手段も含んでいる。装置は、アプリケーションデータを同期化するための1つ以上の機会スコアを比較する手段をさらに含み、1つ以上の機会スコアは、現在のネットワークに対する機会スコアを含み、各機会スコアは特定のネットワークに関係付けられている。装置は、比較に基づいて、現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定する手段も含んでいる。
[0010]
いくつかの実施形態にしたがうと、移動体デバイスと遠隔コンピューティングデバイスとの間でアプリケーションデータを同期化する方法は、移動体デバイスの第1のネットワークへの現在の接続を通してアプリケーションデータを同期化するか否かを決定することを含んでいる。移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含んでいる。方法は、第1のネットワークに対する機会スコアと第2のネットワークに対する機会スコアとを含む、複数の機会スコアを比較することも含んでいる。移動体デバイスは、以前は第2のネットワークに接続されていた。各機会スコアは特定のネットワークに関係付けられており、特定のネットワークの1つ以上の特徴セットに基づいている。方法は、複数の機会スコアの比較に基づいて、移動体アプリケーションデータ同期化をスケジューリングするか否かを決定することをさらに含んでいる。
[0011]
例では、第1のネットワークは第1のタイプのものであり、第2のネットワークは第1のタイプとは異なる第2のタイプのものである。このような例では、第1のタイプの第1のネットワークに関係付けられている第1の機会スコアと、第2のタイプの第2のネットワークに関係付けられている第2の機械スコアとを比較してもよい。したがって、異なるネットワークタイプに関係付けられている機会スコアを比較してもよい。別の例では、第1のネットワークと第2のネットワークは共通のネットワークタイプのものであり、特徴セットに対して異なる特徴セット値を有している。このような例では、共通のネットワークタイプに関係付けられている第1の機会スコアと第2の機会スコアとが比較される。したがって、同じネットワークタイプに関係付けられている機会スコアを比較してもよい。
[0012]
いくつかの実施形態にしたがうと、移動体デバイスと遠隔コンピューティングデバイスとの間でアプリケーションデータを同期化するシステムは、移動体デバイスの第1のネットワークへの現在の接続を通してアプリケーションデータを同期化するか否かを決定する同期化マネージャーを含んでいる。移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含んでいる。同期化マネージャーは、第1のネットワークに対する機会スコアと第2のネットワークに対する機会スコアとを含む、複数の機会スコアを比較する。移動体デバイスは、以前は第2のネットワークに接続されていた。各機会スコアは特定のネットワークに関係付けられており、特定のネットワークの1つ以上の特徴セットに基づいている。同期化マネージャーは、複数の機会スコアの比較に基づいて、移動体アプリケーションデータ同期化をスケジューリングするか否かを決定する。
[0013]
明細書の一部を形成する添付の図面は、本発明の実施形態を図示し、説明とともに本実施形態の原理を説明するためにさらなる役割を果たす。図面において、同様の参照番号は、同一または機能的に類似する要素を示しているかもしれない。要素が最初に現れる図面は、対応する参照番号中の一番左の数字によって一般的に示される。
[0014] 図1は、いくつかの実施形態にしたがって、移動体デバイスと遠隔コンピューティングデバイスとの間で、アプリケーションデータを同期化するシステムを図示しているブロックダイヤグラムである。 [0015] 図2は、異なるWi−Fi(登録商標)ベースの接続に対するピクチャアップロード完了時間の例示的な棒グラフである。 [0016] 図3は、いくつかの実施形態にしたがって、移動体デバイスと遠隔コンピュータピューティングデバイスとの間で、アプリケーションデータを同期化する方法を図示しているフローチャートである。 [0017] 図4は、いくつかの実施形態にしたがって、移動体デバイスと遠隔コンピュータピューティングデバイスとの間で、アプリケーションデータを同期化する方法を図示しているフローチャートである。 [0018] 図5は、本開示の1つ以上の実施形態を実現するために適切なコンピュータシステムのブロックダイヤグラムである。
詳細な説明
I.全体像
II.例示的なシステムアーキテクチャ
A.ネットワークデータ収集
B.接続性履歴を介した学習
1.機会スコアを計算
2.良い機会ネットワークを識別するために機会スコアを比較
III.移動体アプリケーションを同期化するか否かを決定
A.移動体アプリケーションを同期化しない
B.移動体アプリケーションを同期化する
IV.ユーザ入力
V.例示的な方法
VI.例示的なコンピューティングシステム
I.全体像
[0019]
本開示の異なる特徴を実現するために、以下の開示は多くの異なる実施形態または例を提供すると理解すべきである。いくつかの実施形態は、これらの特定の詳細のうちのいくつかまたはすべてなしで、実施してもよい。本開示を簡略化するために、コンポーネント、モジュール、および、構成の特定の例を以下で説明する。これらは、もちろん、単なる例示であり、限定することを意図していない。
[0020]
クラウドに接続されている移動体アプリケーションは、ますます一般化している。移動体デバイスは、移動体デバイス上にインストールされている移動体アプリケーションを遠隔サーバと同期化する同期化マネージャーを含んでいてもよい。現在の同期化スケジュールは、大部分がネットワークに依存せず、移動体デバイスがWi−Fiまたはセルラネットワークに接続されているか否かだけをチェックする。Wi−Fiネットワークおよびセルラネットワークは、異なるタイプのネットワークである。
[0021]
例えば、移動体デバイスがWi−Fiネットワークに接続されているとき、同期化マネージャーは1つ以上の移動体アプリケーションを同期化してもよい。商標は、そのぞれぞれの所有者の財産である。同期化マネージャーは、セルラネットワークよりもむしろWi−Fiを通して移動体アプリケーションを同期化するためのオプションもユーザに提供してもよい。Wi−Fiを使用して移動体アプリケーションを同期化することにより、ユーザはユーザのデータプランをセーブできる。同期化マネージャーは、典型的に、Wi−Fi(例えば、Wi−Fiリンクのタイプ)またはセルラネットワーク接続の特定の特徴を考慮せず、これらの特徴は、アプリケーションデータを同期化するのによい時間であるか否かを決定するのに有用かもしれない。
[0022]
Wi−Fiおよびセルラ接続に対する移動体デバイスの接続性状態について経時的に学習することにより、アプリケーションデータ転送は改善する。例えば、移動体デバイスが接続するネットワークを特徴付け、ネットワーク(例えば、Wi−Fiまたはセルラネットワーク)の特定の特徴を考慮して、ネットワークを通して移動体アプリケーションを同期化するか否か、または、アプリケーションが別のネットワークに接続されるまで同期化を遅延するか否かを決定することが望ましいかもしれない。例えば、移動体アプリケーションを同期化するか否かを決定するときに、Wi−Fiリンクタイプ、Wi−Fiバックホール特性、セルラリンクタイプ、および、データプラン等を考慮することが有利かもしれない。
[0023]
さらに、いくつかのデータ転送(例えば、アプリケーションデータ同期化)をリアルタイムで実行をすることは不必要であるかもしれない。このようなデータ転送は、遅延を許容し(例えば、写真をウェブサイトにアップロードすること)、時間的に後の時点で実行されるかもしれない。良いネットワーク接続性の機会時間に、移動体デバイスと遠隔コンピューティングデバイスとの間で、移動体アプリケーションの同期化をスケジューリングすることが望ましいかもしれない。このような方法で、性能を向上させることができる。さらに、移動体アプリケーション同期化を実行する際に、消費される移動体デバイス電力を最適化することができる。このようなことから、良いネットワーク条件を活用する移動体アプリケーションを手助けすることは、データ転送の電力および性能に対して有益であるかもしれない。
[0024]
本開示は、移動体デバイスのネットワーク接続性状態について経時的に学習することにより、移動体アプリケーションデータ転送を改善させる技術を提供する。現在のネットワーク接続のみに基づいて、移動体アプリケーションを同期化するか否かを決定することよりもむしろ、経時的に収集された「長期間の」ネットワークデータを使用して、この決定をしてもよい。良いネットワーク接続性の機会時間において同期化をスケジューリングすることは、移動体デバイスの性能を向上させることを手助けし、電力を最適化し、したがって、同期化を実行する際の消費を減らすことができる。
II.例示的なシステムアーキテクチャ
[0025]
図1は、いくつかの実施形態にしたがって、移動体デバイスと1つ以上の遠隔コンピュ−ティングデバイスとの間でアプリケーションデータを同期化するシステムを図示している。図1は、クライアントアプリケーションを実行し、アプリケーションデータを記憶できる移動体デバイス102を含んでいる。移動体デバイスは、非静的コンピューティングデバイスを指してもよい。移動体デバイス102は、例えば、スマートフォン、タブレット、ラップトップ、または、パーソナルデジタルアシスタントであってもよい。例において、移動体デバイス102は、アンドロイド(登録商標)移動体オペレーティングシステムがインストールされているアンドロイドデバイスである。
[0026]
アプリケーションデータを含んでいてもよい1つ以上の移動体アプリケーションを、移動体デバイス102は含んでいてもよい。移動体デバイス102のユーザは、サービスプロバイダによって提供される1つ以上の移動体アプリケーションを、彼または彼女の移動体デバイス上にダウンロードしてもよい。移動体アプリケーションは、移動体デバイスを介して、ダウンロードされ、直接アクセスされてもよい、ソフトウェアプログラムである。移動体アプリケーションは、移動体デバイス102のディスプレイ上のアイコンによって表されていてもよく、アイコンをタッチする(例えば、アイコンをダブルタッピングする)ことによって、ユーザは移動体アプリケーションを選択し、移動体アプリケーションにアクセスし、移動体アプリケーションと対話してもよい。この例の移動体デバイス102は、移動体アプリケーション104と移動体アプリケーション106とを含んでいる。
[0027]
移動体アプリケーション104および106は、移動体デバイス102上で実行するクライアントアプリケーションであってもよい。移動体デバイス102は、ネットワーク108を通してサーバ114とサーバ116とに結合されている。サーバ114と116は、移動体デバイス102から遠隔にある。移動体デバイスがその関係付けられているサーバへの常時接続性を要求することは不必要であるかもしれない。例えば、移動体デバイス102がサーバ114に接続することなく、ユーザは移動体アプリケーション104と対話してもよく、移動体デバイス102がサーバ116に接続することなく、ユーザは移動体アプリケーション106と対話してもよい。アプリケーションは、サーバに配備され、その後、移動体デバイスへのダウンロードのために利用可能であってもよい。例では、移動体アプリケーション104は、移動体デバイス102上の小さな、ローカルデータベースを使用し、そのコンテンツは、サーバ114に記憶されているデータのサブセットであり、移動体アプリケーション106は、移動体デバイス102上の小さな、ローカルデータベースを使用し、そのコンテンツは、サーバ116に記憶されているデータのサブセットである。
[0028]
ネットワークを通して、データをサーバに転送することにより、および/または、サーバからデータを受信することにより、移動体アプリケーションは、その関係付けられているサーバと同期化してもよい。移動体デバイス102は、移動体アプリケーションの同期化を管理し、仲裁する、同期化マネージャー120を含んでいる。同期化マネージャー120は、システムレイヤにあってもよく、移動体アプリケーションから同期化要求を収集してもよい。同期化マネージャー120は、その後、移動体アプリケーションの同期化をスケジューリングしてもよい。
[0029]
以下は、サーバ114と対話する移動体アプリケーション104の説明である。この説明は、移動体アプリケーション106およびサーバ116にも適用される。移動体アプリケーション104は、任意の移動体アプリケーションであってもよい。例では、移動体アプリケーション104は、Facebook(登録商標)移動体アプリケーションであり、ユーザは、Facebook上に写真をアップロードすることを望むかもしれない。別の例では、移動体アプリケーション104は、音楽ストリーミングアプリケーションであり、ユーザは、プレイリストを同期化することを望むかもしれない。別の例では、移動体アプリケーション104は、カレンダーアプリケーションであり、ユーザは、カレンダーを同期化することを望むかもしれない。別の例では、移動体アプリケーション104は、ニュースアプリケーションであり、ユーザは、最新のニュースフィードアップデートを検索することを望むかもしれない。
[0030]
同期化マネージャー120は、移動体デバイス102と移動体アプリケーションデータに関係付けられているサーバとの間で移動体アプリケーションデータ同期化をスケジューリングしてもよい。例えば、移動体アプリケーション104は、ネットワーク108を通して、データをサーバ114に転送し、ネットワーク108を通して、サーバ114からデータを受信してもよい。例では、サーバ114におけるサーバデータが変化することに応答して、同期化マネージャー120は、移動体アプリケーション104とサーバ114との間の同期化をスケジューリングし、それゆえ、移動体アプリケーション104のアプリケーションデータは、サーバ114におけるサーバデータと同期化する。このような例では、移動体アプリケーション104は、記憶のために、ネットワーク108を通して、移動体アプリケーションデータをサーバ114に送ってもよい。
[0031]
別の例では、移動体アプリケーション104に対するアプリケーションデータへの変更に応答して、同期化マネージャー120は、移動体アプリケーション104とサーバ114との間の同期化をスケジューリングし、それゆえ、サーバ114におけるサーバデータは、移動体アプリケーション104のアプリケーションデータと同期化する。このような例では、サーバ114は、記憶のために、ネットワーク108を通して、アプリケーションデータを移動体デバイス104に送ってもよい。別の例では、移動体デバイス102が、ネットワークメッセージを送り出して、送信制御プロトコル(TCP)/インターネット−プロトコル(IP)接続を生かし続けることに応答して、同期化マネージャー120は、移動体アプリケーション104とサーバ114との間の同期化をスケジューリングする。このような例では、同期化は、TCP/IP接続上にピギーバックされてもよい。別の例では、同期化マネージャー120は、移動体アプリケーション104とサーバ114との間の同期化を周期的に(例えば、経過する時間期間に応答して)スケジューリングする。別の例では、同期化マネージャー120は、手動で移動体アプリケーションを同期化するユーザ要求に応答して、移動体アプリケーション104とサーバ114との間の同期化をスケジューリングする。
A.ネットワークデータ収集
[0032]
移動体デバイス102は、移動体デバイス102に関係付けられているネットワークデータをログ記録するネットワークメトリックロガー122を含んでいる。ネットワークメトリックロガー122は、移動体デバイス102の記憶装置中にネットワークデータベース128を生成させてもよい。ネットワークデータベース128は、移動体デバイス102に対してローカルであり、移動体デバイス102のネットワーク接続とその状態との履歴を記憶してもよい。
[0033]
ネットワークメトリックロガー122は、移動体デバイス102の現在のネットワーク接続性についてのデータを収集し、ネットワークデータベース128中にネットワークデータを記憶させてもよい。例では、移動体デバイス102が接続する1つ以上のネットワークに対して、ネットワークメトリックロガー122はネットワークへの現在の接続を検出し、移動体デバイスのネットワークへの現在の接続性状態についてのネットワークデータを収集する。ネットワークメトリックロガー122は、アプリケーションプログラミングインターフェース(API)を呼び出して、ネットワークデータを収集してもよい。例では、ネットワークメトリックロガー122は、周期的(例えば、1秒、5秒、10秒、または、それ以上の秒ごとに)にAPIを呼び出して、ネットワークデータを収集する。
[0034]
収集したネットワークデータは、1つ以上の特徴を含んでいてもよい。特徴は、ネットワークを特徴付けるために使用されるネットワークメトリックであってもよい。特徴セットは、ネットワークを分類するために使用してもよい異なる特徴の集合である。特徴セットは、ネットワークを特徴付ける1つ以上のメトリックを含んでいてもよい。特徴セットは、ネットワークが「良い機会」ネットワークまたは「悪い機会」ネットワークであるか否かを示す機会スコアを計算する際に使用してもよい。良い機会ネットワークは、ある例では、ネットワークが速いことから、ネットワークを通して、移動体アプリケーションを同期化するのに良い機会を提供できるネットワークである。悪い機会ネットワークは、別の例では、ネットワークが遅い、または、別のネットワークがより速いデータ転送を提供すると知られており、しきい値時間期間内(例えば、3時間内)に移動体デバイスに接続しそうであることから、ネットワークを通して、移動体アプリケーションを同期化するのに悪い機会を提供するかもしれないネットワークである。機会スコアは、ネットワークに関係付けられていてもよく、スコアは、機会スコアが割り当てられるネットワークを通して、アプリケーションデータを同期化するか否かを示す。機会スコアは、特定のネットワークの1つ以上の特徴セットに基づいていてもよい。
[0035]
異なるネットワークが互いに比較され、それらの同期化機会が1つのメトリック(例えば、機会スコア)に正規化されるように、特徴セットは、ネットワークタイプ(例えば、Wi−Fiネットワークまたはセルラネットワーク)を抽象化する。このようなことから、移動体デバイス102が、異なるネットワークメトリックを有する異なるネットワークに接続するとしても、移動体アプリケーションデータを同期化することに対して、機会スコアを使用して、1つのネットワークが別のネットワークよりも良いか否かを決定してもよい。
[0036]
簡潔さおよび簡略化のために、2つの「レベル」(例えば、良い機会ネットワークおよび悪い機会ネットワーク)の機会スコアを説明する。これは、限定することを意図しているのではなく、他の実施形態は、2より多いレベルの機会スコアを有していてもよい。例えば、別の実施形態では、ネットワークには、3つのレベルの機会スコアのうちの1つが割り当てられるかもしれない。このような例では、第1のレベルのネットワークは、「良い機会」ネットワークであり、第2のレベルのネットワークは、「並の機会」ネットワークであり、第3のレベルのネットワークは、「悪い機会」ネットワークであるかもしれない。機会スコアを以下でさらに議論する。
[0037]
例では、ネットワーク108はWi−Fiネットワークであり、ネットワークメトリックロガー122は、Wi−Fiネットワークへの現在のネットワーク接続を検出する。Wi−Fiネットワークの例示的な特徴は、Wi−Fiネットワークの信号強度、Wi−Fiネットワークのサービスセット識別子(SSID)、移動体デバイスがWi−Fiネットワークに接続できるようにするアクセスポイントの、媒体アクセス制御(MAC)アドレスおよびリンクスピードである。例では、Wi−Fiネットワークに対するネットワークデータは、Wi−FiネットワークのSSIDとアクセスポイントのMACアドレスとに基づいて、順序付けてもよい。複数のアクセスポイントが単一のSSID内に存在していてもよい。移動体デバイス102がWi−Fiネットワークに接続されている間、ネットワークメトリックロガー122は、ネットワークの、信号強度およびSSIDと、移動体デバイス102がWi−Fiネットワークに接続できるようにするアクセスポイントデバイスの、MACアドレスおよびリンクスピードとを、ネットワークデータベース128中にログ記録してもよい。例では、所定のMACアドレスおよびSSIDを有するアクセスポイントを分類する特徴セットは、所定のアクセスポイントのMACアドレスと、信号強度と、SSIDと、Wi−Fiネットワークの周波数帯域と、移動体デバイス102がWi−Fiネットワークに接続できるようにするアクセスポイントの、リンクスピードおよび信号レベルとを含んでいる。これは単なる例であり、他の特徴セットがWi−Fiネットワークを分類してもよい。
[0038]
別の例では、ネットワーク108はセルラネットワークであり、ネットワークメトリックロガー122はセルラネットワークへの現在のネットワーク接続を検出する。セルラネットワークの例示的な特徴は、セルラネットワークの信号強度、ネットワークタイプ(例えば、ロングタームエボリューション(LTE(登録商標))、第3世代(3G)、第4世代(4G)、エボリューションデータオプティマイズド(EDVO))、ネットワーク名(例えば、Verizon(登録商標)、Sprint(登録商標)、および、AT&T(登録商標))である。例では、セルラネットワークに対するネットワークデータは、ネットワークのタイプと信号強度とに基づいて、順序付けてもよい。移動体デバイス102がセルラネットワークに接続されている間、ネットワークメトリックロガー122は、セルラネットワークの、信号強度、ネットワークタイプ、ネットワーク名をネットワークデータベース128中にログ記録してもよい。例では、所定の地理的ロケーションとセルラネットワークとを分類する特徴セットは、接続の時間における移動体デバイスの地理的ロケーションと、セルラ信号強度と、ネットワーク名と、ネットワークタイプとを含んでいる。これは単なる例であり、他の特徴セットがセルラネットワークを分類してもよい。
[0039]
ネットワークメトリックロガー122は、(例えば、Wi−Fiまたはセルラネットワークへの)移動体デバイスの現在のネットワーク接続における時間的データおよび空間的データもログ記録してもよい。移動体デバイス102は、異なる地理的エリア中で異なる信号強度を有していてもよい。例では、ネットワークメトリックロガー122は、信号強度を正規化する。別の例では、ネットワークメトリックロガー122は、移動体デバイス102の地理的ロケーションとログの時間とをログ記録し、時間および空間に渡って、アクセスポイント接続とセルラネットワーク接続とを区別する。例では、ネットワークメトリックロガー122は、移動体デバイス102のアクセスポイントへの近接を考慮する。例えば、移動体デバイス102がアクセスポイントに近い場合、ネットワークメトリックロガー122は、信号強度メトリックによって捕捉される強い信号強度を認識するかもしれない。信号強度および信号範囲は、異なるアクセスポイントに渡って変化するかもしれず、ネットワークメトリックロガー122は、経時的に信号強度の状態を捕捉してもよい。このような例では、ユーザは、アクセスポイントについてローミングしてもよく、ネットワークメトリックロガー122は、ネットワークデータを収集することを継続して、その特定のアクセスポイントに接続できる範囲信号強度メトリックを理解してもよい。
[0040]
議論したように、機会は、ネットワーク内で、および、ネットワークに渡って相当変化するかもしれない。例えば、アクセスポイントは、異なる周波数帯域を有していてもよく、異なる機会に変換してもよい。例では、2.4GHz(ギガヘルツ)周波数帯域は、5.8GHz周波数帯域と比較して、比較的帯域幅がない。図2は、異なるWi−Fiベースの接続に対するピクチャアップロード完了時間の例示的な棒グラフ200である。棒グラフ200は、写真をバックエンドサーバにアップロードするのにかかる時間量を示している。棒グラフ200のx軸は、ピクチャをアップロードするのにかかる時間量(秒)を表し、棒グラフ200のy軸は、異なるタイプのWi−Fiネットワークを表している。
[0041]
棒は異なる機会を示しており、異なるWi−Fi標準規格(例えば、AC、N−1、N−2)を表してもよく、アクセスポイントは、異なる周波数帯域に渡るように構成されている。棒グラフ200の左のクラスタは、移動体デバイス102がアクセスポイントに近いとき、移動体デバイス102に関係付けられている機会を図示しており、棒グラフ200の右のクラスタは、移動体デバイス102がアクセスポイントから遠いとき、移動体デバイス102に関係付けられている機会を図示している。データ転送が低減される場合、その後、データ転送を実行する際に消費される総エネルギーは、ほぼ同様に低減される。例えば、棒グラフ200では、移動体デバイス102がアクセスポイントから遠いときと比較して、移動体デバイス102がアクセスポイントに近いとき、AC(80MHz)Wi−Fiインターフェースはピクチャアップロードをおおよそ50パーセントより速く完了する。このような例では、移動体デバイス102がアクセスポイントから遠いときと比較して、移動体デバイス102がアクセスポイント102に近いとき、移動体デバイス102は、移動体アプリケーションを同期化するためにおおよそ50パーセント少ないエネルギーを消費するかもしれない。
[0042]
さらに、ネットワークメトリックロガー122は、(例えば、パケットペアまたは他の何らかのルーチンを使用して)わずかな測定を処理して、現在のネットワーク状態の帯域幅を推定してもよく、または、リンク上に存在するデータ転送をスヌープして、ネットワーク帯域幅を推定してもよい。ネットワークメトリックロガー122は、機会学習エンジン124が分析するために、収集したネットワークデータをネットワークデータベース128中に記憶させる。
B.接続性履歴を介した学習
[0043]
いくつかの実施形態では、機会学習エンジン124は、移動体デバイス102が接続されていた、または、移動体デバイスが現在接続されている、1つ以上のネットワークを特徴付けて、ログ記録されたネットワークから移動体デバイス102の接続性挙動を学習する。
1.機会スコアの計算
[0044]
移動体デバイス102が接続する1つ以上のネットワークに対して、機会学習エンジン124は、ネットワークにしたがって特徴セットを識別し、ネットワークに対する機会スコアを計算してもよい。例では、機会学習エンジン124は、ネットワークを分類する識別した特徴セットに対して収集したネットワークデータに基づいて、ネットワークに対する機会スコアを計算する。機会学習エンジン124は、ネットワーク接続が外された後の、移動体デバイス102が、ネットワークに接続されている間の、ネットワークに対する機会スコアを計算してもよい。機会スコアは、時間期間(例えば、1週間または1か月)を通して収集したネットワークデータに基づいて計算してもよく、時間期間を通しての移動体デバイスのネットワーク接続性を反映するために、継続的に更新してもよい。機会学習エンジン124は、移動体デバイス102のネットワーク接続とその状態との履歴を記憶するネットワークデータベース128中に機会スコアを記憶させる。
[0045]
例では、所定のWi−Fiネットワークを分類する特徴セットは、アクセスポイントのMACアドレス、信号強度、SSID、Wi−Fiネットワークの周波数帯域、ならびに、移動体デバイス102がWi−Fiネットワークに接続できるようにするアクセスポイントのリンクスピードおよび信号レベルである。このような例では、機会学習エンジン124は、この特徴セットを分析して、所定のWi−Fiネットワークに対する機会スコアを計算してもよい。別の例では、セルラネットワークを分類する特徴セットは、セルラネットワークへの接続の時間における移動体デバイスの地理的ロケーション、セルラ信号強度、ネットワーク名、および、ネットワークタイプを含んでいる。このような例では、機会学習エンジン124は、この特徴セットを分析して、所定のセルラネットワークに対する機会スコアを計算してもよい。
[0046]
いくつかの実施形態では、機会学習エンジン124は、回帰分析を使用して、機会スコアを計算する。例では、機会スコアの計算は、移動体デバイスがネットワークに接続されているときの時間で収集されたネットワーク特徴セットの関数として、および、移動体デバイスがネットワークに接続されているときのロケーションの関数として、ネットワーク中の1つ以上のアプリケーションによって観測されるスループットおよび待ち時間に対するモデルを導出することを含んでいてもよい。別の例では、機会スコアは、クラスタリングおよびしきい値ベースの技術を通して導出してもよく、例えば、所定の信号強度で特定の周波数帯域(例えば、5GHz周波数帯域)を有するWi−Fiアクセスポイントは、それらが提供する異なるスループットにより、より低い周波数帯域(例えば、2.4GHz周波数帯域)アクセスポイントよりも、より良い機会スコアを有するだろう。
2.良い機会ネットワークを識別するための機会スコアの比較
[0047]
移動体デバイス102がネットワークに接続されている間に、機会学習エンジン124は、1つ以上の機会スコアを比較して、現在接続されているネットワークが良い機会ネットワークであるか否かを決定してもよい。機会学習エンジン124は、そのインテリジェンスを導出して、収集したネットワークデータから、良いまたは悪い機会を決定する。
[0048]
ネットワークメトリックロガー122は、移動体デバイス102が現在ネットワークに接続されていることを検出してもよい。例では、機会学習エンジン124は、現在接続されているネットワークのSSIDを識別して、SSIDを発見するためにネットワークデータベース128をサーチする。機会学習エンジン124は、SSIDによって識別された現在接続されているネットワークの機会スコアを、移動体デバイス102が以前に接続されていた1つ以上の他のネットワークに対する機会スコアと比較する。このような例では、機会学習エンジン124は、現在接続されているネットワークが良い機会ネットワークであるか否かを決定するために、移動体デバイス102が現在接続されているネットワークに対する機会スコアを、他のネットワークに対する機会スコアと比較してもよい。
[0049]
例では、比較した1つ以上の機会スコアは、現在のネットワーク接続に対する機会スコアと、移動体デバイス102が以前に接続されていた1つ以上の他のネットワークに対する機会スコアとを含んでいてもよい。本質的に、現在のネットワーク接続を通して移動体アプリケーションデータを同期化するための良いまたは悪い機会が存在するか否かを決定するためのメカニズムとして、異なるネットワークに対する機会スコアを使用することにより、機会学習エンジン124は、移動体デバイス102が接続されていた異なるネットワークを分類する特徴セットの異なる値を比較する。移動体デバイス120が接続されていたネットワークに対して収集された特徴セットの値から、機会学習エンジン124は、移動体デバイス102が移動体アプリケーションデータを同期化するために使用する、または、使用しないかもしれない、良いおよび悪い機会ネットワークを学習する。
[0050]
機会学習エンジン124は、1つ以上の機会スコアの比較に基づいて、現在のネットワーク接続が移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定してもよい。現在のネットワーク接続が移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという決定に応答して、機会学習エンジン124は、現在のネットワーク接続が移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャー120に送ってもよい。機会学習エンジン124は、通知を同期化マネージャー120に送るので、同期化マネージャー120はデータ転送のスケジューリングまたは実行(例えば、アプリケーションデータを同期化)をするために、良いネットワーク条件を活用できる。
[0051]
対照的に、現在のネットワーク接続が移動体アプリケーションデータを同期化するのに良い機会ネットワークではないと決定することに応答して、機会学習エンジン124は、現在のネットワーク接続は移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャー120に送らない決定をしてもよい。別の例では、機会学習エンジン124は、現在のネットワーク接続が移動体アプリケーションデータを同期化するのに良い機会ネットワークではないという通知を同期化マネージャー120に送ってもよい。このようなことから、同期化マネージャー120は、現在のネットワーク接続を通して、移動体アプリケーションデータを同期化しない決定をしてもよく、現在のネットワーク接続を通しての何らかの任意の移動体アプリケーション同期化を遅延させてもよい。
[0052]
良い機会は、例えば、良いまたは利用可能なアクセスポイント/セルラネットワーク状態の瞬間的な分類に基づいていてもよい。例えば、機会学習エンジン124は、しきい値を満たすアクセスポイントに対する、最大受信信号強度表示(RSSI)とリンクスピードとに依拠してもよい。このような例では、機会学習エンジン124が移動体デバイス102の接続履歴に依拠することは不必要かもしれず、機会学習エンジン124は、現在のネットワーク接続は移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャー120に送ってもよい。
[0053]
例では、機会学習エンジン124は、現在のネットワーク接続に対する機会スコアを含む1つ以上の機会スコアとしきい値機会スコアとを比較する。現在のネットワーク接続に対する機会スコアがしきい値機会スコアを満たす場合、機会学習エンジン124は、現在のネットワーク接続は移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャー120に送ってもよい。現在のネットワーク接続に対する機会スコアがしきい値機会スコアを満たさない場合、機会学習エンジン124は、現在のネットワーク接続を通してのデータの転送を遅延させることを望み、現在のネットワーク接続は移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャー120に送らないかもしれない。
[0054]
良い機会は、ネットワークインターフェースが実際に使用されたときにログ記録して、取得した性能を特徴付けることに、または、経時的に観測された時間期間(例えば、1日)中の以前のものと比較して比較的より良い機会を識別することに、基づいていてもよい。例では、良い機会は、ネットワーク状態の以前に記憶された履歴からの、「既知である」良い機会のアクセスポイント接続とセルラの接続の知識に基づいていてもよい。例えば、機会学習エンジン124は、良いアクセスポイントの以前の知識を活用してもよい。例では、移動体デバイス102のユーザは、家のWi−Fiネットワークと会社のWi−Fiネットワークとの間でシフトしてもよい。会社のWi−Fiネットワークは、家のWi−Fiネットワークより速いかもしれない。データ転送は、会社のWi−Fiネットワークを通しての方がより速いかもしれず、したがって、しかも、アプリケーションデータを同期化するために、家のWi−Fiネットワークを使用することと比較して、移動体デバイス102からより少ないエネルギーしか消費しないかもしれない。
[0055]
このような例では、会社のWi−Fiネットワークに対する第1の機会スコアは、会社のWi−Fiネットワークは良い機会ネットワークであることを示してもよく、家のWi−Fiネットワークに対する第2の機会スコアは、家のWi−Fiネットワークは悪い機会ネットワークであることを示してもよい。別の例では、会社のWi−Fiネットワークに対する第1の機会スコアと、家のWi−Fiネットワークに対する第2の機会スコアは、会社と家のWi−Fiネットワークの両方が良い機会ネットワークであるが、会社のWi−Fiネットワークが家のWi−Fiネットワークと比較してより良い機会ネットワークであることを示してもよい。例では、移動体デバイス102を会社のWi−Fiネットワークに接続するアクセスポイントは、家のWi−Fiネットワークに対する機会スコアと比較して、より良い機会ネットワーク(例えば、より速いネットワーク)であることを、会社のWi−Fiネットワークに対する機会スコアが示してもよい。
[0056]
ネットワークメトリックロガー122は、移動体デバイス102の会社のWi−Fiネットワークへの接続に基づいて、第1のネットワークデータを記憶させてもよく、移動体デバイス102の家のWi−Fiネットワークへの接続に基づいて、第2のネットワークデータを記憶させてもよい。機会学習エンジン124は、会社のWi−Fiネットワークおよび家のWi−Fiネットワークのそれぞれに対する機会スコアを計算してもよい。このような例では、機会学習エンジン124は、アクセスポイントに渡るネットワーク履歴知識を活用する。
[0057]
機会学習エンジン124は、1つ以上の機会スコアを比較して、より良い機会スコアを有するネットワークが将来移動体デバイス102に接続されるか否かを推測してもよい。例では、機会学習エンジン124は、複数の機会スコアを比較する。機会学習エンジン124は、どのくらいの頻度で移動体デバイス102が特定のネットワークに接続するかを考慮してもよい。例では、機会学習エンジン124は、アプリケーションデータを同期化するためのより良いネットワークが近い将来見られるであろう高い確率が存在する否かを決定してもよい。機会学習エンジン124は、移動体デバイス102がしきい値時間量内に特定のネットワークと接続するであろう高い確率が存在することを決定してもよく、したがって、現在のネットワーク接続が移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャー120に送らないことを決定してもよく、および/または、現在のネットワーク接続が移動体アプリケーションデータを同期化するのに良い機会ネットワークではないという通知を同期化マネージャー120に送ってもよい。機会学習エンジン124は、移動体デバイス102が特定のネットワークに接続されるまで、現在のネットワーク接続が移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャー120に送ることを遅延させてもよい。
[0058]
例では、平日(例えば、月曜日、火曜日、水曜日、木曜日、および、金曜日)の就業時間の間は、移動体デバイス102は典型的に会社のWi−Fiネットワークに接続し、週末(例えば、土曜日および日曜日)は家のWi−Fiネットワークに接続することを、機会学習エンジン124はログ記録されたネットワークデータから学習してもよい。例では、移動体デバイス102が火曜日の朝、午前7時にユーザの家にある場合、移動体デバイス102は家のWi−Fiネットワークに接続されてもよい。機会学習エンジン124は、家のWi−Fiネットワークに対する機会スコアを、他のネットワークに対する他の機会スコアと比較し、データ転送のために作業Wi−Fiネットワークを使用するより良い機会が存在することと、移動体デバイス102が2時間後の火曜日午前9時に会社のWi−Fiネットワークに接続されるであろう高い確率が存在することとを認識してもよい。このようなシナリオにおいて、機会学習エンジン124は、現在のネットワーク接続を通してのデータの転送を遅延させることを望み、現在のネットワーク接続は移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャーに送らないかもしれない。
[0059]
したがって、機会学習エンジン124は、現在のネットワーク接続は、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャー120に送らないことを決定してもよく、および/または、現在のネットワーク接続は、移動体アプリケーションデータを同期化するのに良い機会ネットワークではないという通知を同期化マネージャー120に送ってもよい。時間的により遅い点において、機会学習エンジン124は、移動体デバイス102が会社のWi−Fiネットワークに現在接続されていると認識し、比較した機会スコアに基づいて、現在接続されているネットワークは良い機会ネットワークであることを決定してもよい。したがって、機会学習エンジン124は、現在のネットワーク接続は移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャー120に送ってもよい。
[0060]
ネットワークに対する機会スコアは、移動体デバイス102はしきい値時間量内(例えば、4時間内)に特定のネットワークに接続されるだろうという可能性を計算に入れてもよく、ここで、特定のネットワークは良い機会ネットワークである。
[0061]
機会学習エンジン124は、データアップロードとデータダウンロードとの間で区別してもよい。データアップロードは、データが移動体デバイス102から遠隔コンピューティングデバイスに送られることを指す。データダウンロードは、データが遠隔コンピューティングデバイスから移動体デバイス102に送られることを指す。アップロード帯域幅は、キャップされ、または、ダウンロード帯域幅よりも低いかもしれないことから、機会学習エンジン124は、同期化マネージャー120に対して、これらの2つのデータ転送を区別してもよい。このように、機会は、データアップロードとデータダウンロードとに対して異なっていてもよい。現在のネットワーク接続が移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャー120に送るか否かを決定するために、機会学習エンジン124は、移動体デバイス102が移動体アプリケーションを同期化するためにデータをアップロードまたはダウンロードするであろうか否かを計算に入れてもよい。
[0062]
機会学習エンジン124はまた、移動体デバイス102の状態も考慮してもよい。例では、移動体デバイス102が充電している場合、機会学習エンジン124は、現在のネットワーク接続は移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャー120に送ってもよい。たとえ、ネットワークが移動体アプリケーションデータをアップロードするのに悪い機会ネットワークであるとして識別されたとしても、機会学習エンジン124は、通知を送ってもよい。例えば、移動体デバイス102がネットワークに接続されている場合、ネットワークは、移動体アプリケーションデータをダウンロードするのに良い機会ネットワークであるかもしれないが、移動体アプリケーションデータをアップロードするのに悪い機会ネットワークであるかもしれない。機会学習エンジン124は、移動体アプリケーションを同期化するために、ゼロ機会コストを決定してもよい。
[0063]
別の例では、移動体デバイス102のバッテリー寿命がしきい値バッテリー寿命を下回っている場合、機会学習エンジン124は、(たとえ、現在のネットワーク接続が良い機会ネットワークであるとして識別されたとしても)現在のネットワーク接続を通してのデータの転送を遅延させることを望み、バッテリー電力をセーブするかもしれない。このような例では、機会学習エンジン124は、現在のネットワーク接続を通して移動体アプリケーションを同期化しない通知を同期化マネージャー120に送ってもよく、および/または、現在のネットワーク接続は移動体アプリケーションデータを同期化するのに良い機会ネットワークではないという通知を同期化マネージャー120に送ってもよい。このような方法で、機会学習エンジン124は、移動体デバイス102がより多くの電力を消費することを回避してもよい。
[0064]
機会学習エンジン124は、同期化マネージャー120に通知を送るとして説明してきたが、機会学習エンジン124はまた、移動体デバイス102上にインストールされている1つ以上の移動体アプリケーションに通知を送ってもよいと理解すべきである。機会学習エンジン124は、例えば、同期化マネージャー120のみに、移動体デバイス102上にインストールされている1つ以上の移動体アプリケーションのみに、または、同期化マネージャー120と移動体デバイス102上にインストールされている1つ以上の移動体アプリケーションの両方に通知を送ってもよい。
III.移動体アプリケーションを同期化するか否かを決定
[0065]
同期化マネージャー120は、機会学習エンジン124から通知を受信して、移動体アプリケーションデータを同期化するか否かを決定してもよい。通知は、現在のネットワーク接続が、移動体アプリケーションデータを同期化するのに良い機会ネットワークである、または、悪い機会であることを示してもよい。同期化マネージャー120は、オペレーティングシステムにおいて、高レベルデータサービスまたはアプリケーションを提供してもよい。
[0066]
機会学習エンジン124は、さまざまな方法で、通知を同期化マネージャー120に送ってもよい。例では、機会学習エンジン124は、ブロードキャストメッセージを介して、良い機会ネットワークを同期化マネージャー120に通知してもよい。同期化マネージャー120は、ネットワークヒントブロードキャストを受信するように登録してもよい。例では、移動体デバイス102は、アンドロイドオペレーティングシステムを実行し、アンドロイドの「sendBroadcast(インテントネットワーク機会)」呼び出しを使用して、アンドロイドサービスを通知する。このような例では、アンドロイドサービスは、「registerReceiver(ブロードキャスト受信機、インテントフィルタ)」を使用して、ブロードキャストインテントを受信するように登録してもよい。ブロードキャストメッセージを受信すると、同期化マネージャー120のようなサービスは、ペンディングした同期化および/または他のデータ転送アクティビティを開始することを選んで、良いネットワーク条件を活用してもよい。
[0067]
条件が満たされることに応答して、同期化マネージャー120は、移動体アプリケーションデータを同期化するか否かを決定してもよい。例では、通知が受信されたとき、条件が満たされる。同期化マネージャー120は、例えば、機会学習エンジン124から通知を受信することに応答して、移動体アプリケーションデータを同期化するか否かの決定をしてもよい。別の例では、時間期間が経過したとき、条件が満たされる。同期化マネージャー120は、移動体アプリケーションデータの同期化をするか否かの決定を周期的にしてもよい。
A.移動体アプリケーションを同期化しない
[0068]
現在のネットワーク接続は移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を受信した後、同期化マネージャー120は移動体アプリケーションデータを同期化しないことを決定してもよい。移動体アプリケーションデータを同期化しないという決定に応答して、同期化マネージャー120は、さらに何もしないかもしれない。
[0069]
例えば、移動体アプリケーションが既にスケジューリングされた同期化を有する場合、同期化マネージャー120は、移動体アプリケーションのアプリケーションデータを同期化しないと決定してもよい。別の例では、移動体アプリケーションが既にスケジューリングされた同期化を有する場合、同期化マネージャー120は、移動体アプリケーションデータを同期化することを決定して、すぐに実行される同期化を再スケジューリングしてもよい。
B.移動体アプリケーションを同期化
[0070]
移動体アプリケーションデータを同期化すると決定することに応答して、同期化マネージャー120は、移動体アプリケーションに関係付けられているサーバにメッセージを送り、または、移動体デバイス102上にインストールされている移動体アプリケーションにメッセージを送り、移動体アプリケーションデータ同期化を開始してもよい。移動体アプリケーション104または同期化マネージャー120は、メッセージをサーバ114に送り、移動体アプリケーションデータ同期化を開始してもよい。
[0071]
同期化マネージャー120は、移動体デバイス102上にインストールされている移動体アプリケーションの同期化をスケジューリングしてもよい。いくつかの実施形態では、アプリケーションからのデータ送信は、遅延され、バッチ処理される。同期化マネージャー120は、アプリケーションデータ同期化要求を収集してもよい。例では、同期化マネージャー120は、移動体アプリケーションデータをひとまとめに同期化する。同期化マネージャー120は、ブロードキャスト通知を、同期化される1つ以上の移動体アプリケーションに、および/または、同期化される1つ以上の移動体アプリケーションに関係付けられているサーバに送り、移動体アプリケーションデータ同期化を開始してもよい。例では、通知は、移動体デバイス102上にインストールされているすべての移動体アプリケーションにはブロードキャストされない。このような例では、通知は、いくつかの優先の挙動に基づいて、特定の移動体アプリケーションに送られてもよい。
[0072]
いくつかの実施形態では、同期化マネージャー120は、優先度に基づいて、移動体アプリケーションの同期化をスケジューリングする。図1を参照すると、同期化マネージャー120は、移動体アプリケーション104の優先度と移動体アプリケーション106の優先度とを使用して、どちらの移動体アプリケーションを他の移動体アプリケーションの前に、同期化するかを決定してもよい。例えば、移動体アプリケーション104が、移動体アプリケーション106よりも同期化することに対してより高い優先度を有する場合、同期化マネージャー120は、移動体アプリケーション106のサーバ116との同期化の前に、移動体アプリケーション104のサーバ114との同期化をスケジューリングしてもよい。
[0073]
さまざまな方法で、移動体アプリケーションに優先度を割り当ててもよい。例では、移動体デバイス102のユーザが、移動体アプリケーションに優先度を割り当ててもよい。このような例では、移動体デバイス102上にインストールされている1つ以上の他の移動体アプリケーションと比較して、どの移動体アプリケーションが同期化することに対してより高い優先度を有しているかを示すようにユーザに要求するプロンプトを、同期化マネージャー120がユーザに提供してもよい。別の例では、同期化マネージャー120は、移動体デバイス102のユーザが移動体アプリケーション104および106とかかわる方法を監視し、監視に基づいて、移動体アプリケーションに優先度を割り当てる。例えば、どの移動体アプリケーションが最も頻繁に使用されるか、移動体アプリケーション同期化の間、移動体アプリケーションの関係付けられているサーバに対して、平均してどのくらいのデータが転送されているか、または、移動体アプリケーションが最も最近使用された移動体アプリケーションであるか否かに基づいて、同期化マネージャー120は、移動体アプリケーションに優先度を割り当ててもよい。
[0074]
いくつかの実施形態では、同期化マネージャー120は、時間期間の経過に基づいて、移動体デバイスの同期化をスケジューリングする。同期化マネージャー120は、移動体アプリケーションを、周期的に同期化するアプリケーションとして識別してもよい。このような例では、たとえ、現在のネットワーク接続が、移動体アプリケーション104の移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を、同期化マネージャー120が受信しなかったとしても、それでもなお同期化マネージャー120は、移動体アプリケーション104の同期化をスケジューリングしてもよい。
[0075]
いくつかの実施形態では、同期化マネージャー120は、同期化がアップロードまたはダウンロードのためのものであるか否かを認識し、それにしたがって機会通知を発行してもよい。同期化マネージャー120は、その後、同期化通知に基づいて、データアップロードまたはデータダウンロードをスケジューリングしてもよい。例では、これらの通知は、機会学習エンジン124とブロードキャスト通知に加入しているすべてのサービスプロセスとの間の共有メモリチャネル上で送られるブロードキャストメッセージである。例えば、機会学習エンジンが(以前に知った機会に基づいて)ネットワークに対する「最良の」機会スコアを知り、この知識を同期化マネージャーに伝えたいとき、通知をトリガしてもよい。
IV.ユーザ入力
[0076]
いくつかの実施形態において、ユーザオプションを機会学習エンジン124に追加して、機会学習エンジン124によってされた決定を無効にしてもよい。例では、現在のネットワークは移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を送ることを機会学習エンジン124が決定する場合、機会学習エンジン124は、この決定を無効にするオプションをユーザに提供してしてもよい。ユーザが決定を無効にする場合、機会学習エンジン124は、通知を送らない決定をしてもよい。
[0077]
別の例では、現在のネットワークは移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を送らないことを機会学習エンジン124が決定する場合、機会学習エンジン124は、この決定を無効にするオプションをユーザに提供してしてもよい。ユーザが決定を無効にする場合、機会学習エンジン124は、通知を送ってもよい。別の例では、現在のネットワークは移動体アプリケーションデータを同期化するのに良い機会ネットワークではないという通知を送ることを機会学習エンジン124が決定する場合、機会学習エンジン124は、この決定を無効にするオプションをユーザに提供してしてもよい。ユーザが決定を無効にする場合、機会学習エンジン124は、現在のネットワークは移動体アプリケーションデータを同期化するのに良い機会ネットワークである通知を送ってもよく、または、通知を送るべきではないと決定してもよい。
[0078]
例では、機会学習エンジン124は、移動体デバイス104上のディスプレイ上にプロンプトを提供してもよい。現在のネットワークが移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かの決定を無効にすることを移動体デバイス102のユーザが望むか否かをプロンプトは要求してもよい。決定は、例えば、現在のネットワークが移動体アプリケーションデータを同期化するのに良い機会ネットワークである、または、良い機会ネットワークではないというものであってもよい。
[0079]
例では、機会学習エンジン124は、プロンプトに応答したユーザ入力を受け取ってもよく、ユーザ入力は、現在のネットワークが移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという決定を無効にすることをユーザが望んでいることを示す。このような例では、ユーザ入力に応答して、機会学習エンジン124は、現在のネットワークが移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を送らないことを決定してもよい。別の例では、機会学習エンジン124は、プロンプトに応答したユーザ入力を受け取ってもよく、ユーザ入力は、現在のネットワークが移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという決定を無効にすることをユーザが望まないことを示す。このような例では、ユーザ入力に応答して、機会学習エンジン124は、現在のネットワークが移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を送ってもよい。
[0080]
別の例では、機会学習エンジン124は、プロンプトに応答したユーザ入力を受け取ってもよく、ユーザ入力は、現在のネットワークが移動体アプリケーションデータを同期化するのに良い機会ネットワークではないという決定を無効にすることをユーザが望んでいることを示す。このような例では、ユーザ入力に応答して、機会学習エンジン124は、現在のネットワークが移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を送ってもよい。別の例では、機会学習エンジン124は、プロンプトに応答したユーザ入力を受け取ってもよく、ユーザ入力は、現在のネットワークが移動体アプリケーションデータを同期化するのに良い機会ネットワークではないという決定を無効にすることをユーザが望まないことを示す。このような例では、ユーザ入力に応答して、機会学習エンジン124は、現在のネットワークが移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を送らないことを決定してもよい。
[0081]
機会学習エンジン124は、ユーザが無効にすることを監視して、ユーザが望むことについて学習してもよい。例では、ユーザが無効にすることは、機会学習エンジン124への入力であってもよく、それゆえ、例えば、機会学習エンジン124は、土曜日と日曜日には会社のWi−Fiネットワークを待たないことを知っている。
[0082]
いくつかの実施形態において、ユーザオプションを同期化マネージャー120に追加して、同期化マネージャー120によってされた決定を無効にしてもよい。例では、同期化マネージャー120は、移動体アプリケーションデータ同期化をスケジューリングすべきであると決定する場合、同期化マネージャー120が実際に移動体アプリケーションデータ同期化をスケジューリングする前に、ユーザには、移動体アプリケーションデータ同期化を無効にするオプションが提供されてもよい。ユーザが決定を無効にする場合、同期化マネージャー120は、移動体アプリケーション同期化をスケジューリングしないように決定してもよい。
[0083]
別の例では、同期化マネージャー120が、移動体アプリケーション同期化をスケジューリングすべきではないと決定する場合、同期化マネージャー120が移動体アプリケーション同期化をスケジューリングしないと決定する前に、ユーザには、同期化マネージャー120のこの決定を無効にするオプションが提供されてもよい。例えば、移動体デバイス102は、バッテリーが少ないかもしれず、同期化マネージャー120は、バッテリー電力を節約したいかもしれず、したがって、移動体アプリケーションデータ同期化を行うべきではないと決定するかもしれない。ユーザは、移動体アプリケーションデータ同期化をスケジューリングしないとの同期化マネージャー120の決定を無効にし、同期化マネージャー120に移動体アプリケーションデータ同期化をスケジューリングするように命令してもよい。
[0084]
上記で議論したように、および、ここでさらに強調するように、図1〜2は単なる例であり、特許請求の範囲を不当に制限すべきではない。例えば、移動体デバイス102は移動体デバイスとして説明したが、他の実施形態では、移動体デバイス102は静的デバイスであってもよいことも理解すべきである。
V.例示的な方法
[0085]
図3は、いくつかの実施形態にしたがって、移動体デバイスと遠隔コンピュータピューティングデバイスとの間でアプリケーションデータを同期化する方法300を図示したフローチャートである。方法300は、限定することを意図してはおらず、他のアプリケーションで使用してもよい。
[0086]
方法300は、ブロック302〜308を含んでいる。ブロック302では、1つ以上のネットワークの各ネットワークに対して、それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータが収集され、移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含んでいる。例では、1つ以上のネットワークの各ネットワークに対して、ネットワークメトリックロガー122は、それぞれのネットワークへの移動体デバイス102の現在の接続性状態に関するネットワークデータを収集し、移動体デバイス102は、移動体アプリケーション104および106を含み、各移動体アプリケーションはアプリケーションデータを含んでいる。
[0087]
ブロック304では、移動体デバイスにおいて、現在のネットワークへの現在の接続が検出される。例では、ネットワークメトリックロガー122は、移動体デバイス102における、ネットワーク108への現在の接続を検出する。
[0088]
ブロック306では、アプリケーションデータを同期化するための1つ以上の機会スコアを比較し、1つ以上の機会スコアは現在のネットワークに対する機会スコアを含み、各機会スコアは特定のネットワークに関係付けられている。例では、機械学習エンジン124は、アプリケーションデータを同期化するための1つ以上の機会スコアを比較し、1つ以上の機会スコアは、現在のネットワークに対する機会スコアを含み、各機会スコアは、特定のネットワークに関係付けられている。
[0089]
例では、現在のネットワークと(以前に移動体デバイスに接続されていた)第2のネットワークは、共通のネットワークタイプのものであり、特徴セットに対して異なる特徴セット値を有している。機械学習エンジン124は、共通のネットワークタイプ(例えば、セルラネットワーク、Wi−Fiネットワーク等)に関係付けられている機会スコアを比較してもよい。例では、1つ以上の機会スコアは、共通のネットワークタイプに関係付けられている、第1の機会スコアと第2の機会スコアとを含んでおり、機会学習エンジン124は、第1および第2の機会スコアを互いに比較する。
[0090]
別の例では、現在のネットワークは第1のタイプのものであり、(以前に移動体デバイスに接続されていた)第2のネットワークは、第1のタイプとは異なる第2のタイプのものである。機会学習エンジン124は、第1のタイプの現在のネットワークと第2のタイプの第2のネットワークとに関係付けられている機会スコアを比較してもよい。例では、1つ以上の機会スコアは、第1の機会スコアと第2の機会スコアとを含んでおり、第1の機会スコアは第1のタイプの現在のネットワーク(例えば、セルラネットワーク)に関係付けられ、機会スコアは、第2のタイプの第2のネットワーク(例えば、Wi−Fiネットワーク)に関係付けられている。このような例では、機械学習エンジン124は、異なるネットワークに関係付けられている機会スコアを比較する。
[0091]
ブロック308では、1つ以上の機会スコアの比較に基づいて、現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定する。例では、機会学習エンジン124は、1つ以上の機会スコアの比較に基づいて、ネットワーク108が、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定する。
[0092]
上記で議論したブロック302〜308の前、間、または後に、追加のプロセスを実行してもよいことも理解すべきである。所望のように、ここで説明した方法300のブロックのうちの1つ以上を省略し、組み合わせ、または、異なるシーケンスで実行してもよい。
[0093]
図4は、いくつかの実施形態にしたがって、移動体デバイスと遠隔コンピュータピューティングデバイスとの間でアプリケーションデータを同期化する方法400を図示したフローチャートである。方法400は、限定することを意図しておらず、他のアプリケーションで使用してもよい。
[0094]
方法400は、ブロック402〜406を含んでいる。ブロック402では、第1のネットワークへの移動体デバイスの現在の接続を通して、アプリケーションデータを同期化するか否かを決定し、移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含んでいる。例では、同期化マネージャー120は、移動体デバイス102の第1のネットワークへの現在の接続を通して、アプリケーションデータを同期化するか否かを決定し、移動体デバイス102は移動体アプリケーション104および106を含み、各移動体アプリケーションはアプリケーションデータを含んでいる。
[0095]
ブロック404では、第1のネットワークに対する機会スコアと第2のネットワークに対する機会スコアとを含む複数の機会スコアを比較し、移動体デバイスは以前は第2のネットワークに接続され、各機会スコアは、特定のネットワークに関係付けられ、特定のネットワークの1つ以上の特徴セットに基づいている。例では、同期化マネージャー120は、第1のネットワークに対する機会スコアと第2のネットワークに対する機会スコアとを含む複数の機会スコアを比較し、移動体デバイス104は、以前は第2のネットワークに接続され、各機会スコアは、特定のネットワークに関係付けられ、特定のネットワークの1つ以上の特徴セットに基づいている。
[0096]
例では、第1のネットワークは、第1のタイプのものであり、第2のネットワークは、第1のタイプとは異なる第2のタイプのものである。このような例では、第1のタイプの第1のネットワークに関係付けられている第1の機会スコアと、第2のタイプの第2のネットワークに関係付けられている第2の機会スコアとが比較されてもよい。したがって、異なるネットワークタイプに関係付けられている機会スコアが比較されてもよい。別の例では、第1のネットワークと第2のネットワークは共通のネットワークタイプのものであり、特徴セットに対して異なる特徴セット値を有している。このような例では、共通のネットワークタイプに関係付けられている、第1の機会スコアと第2の機会スコアとが比較される。したがって、同じネットワークタイプに関係付けられている機会スコアが比較されてもよい。
[0097]
ブロック406では、複数の機会スコアの比較に基づいて、移動体アプリケーションデータ同期化をスケジューリングするか否かを決定する。例では、同期化マネージャー120は、複数の機会スコアの比較に基づいて、移動体アプリケーションデータ同期化をスケジューリングするか否かを決定する。
[0098]
上記で議論したブロック402〜406の前、間、または後に、追加のプロセスを実行してもよいことも理解すべきである。所望のように、ここで説明した方法400のブロックのうちの1つ以上を、省略、組み合わせ、または、異なるシーケンスで実行してもよいことも理解すべきである。
VI.例示的なコンピューティングシステム
[0099]
図5は、ここで開示した実施形態の何れかを実現するために適切な、例示的なコンピュータシステム500のブロックダイヤグラムである。さまざまなインプリメンテーションにおいて、コンピュータシステム500は、移動体デバイス102、サーバ114、または、サーバ116であってもよい。図5において、コンピュータシステム500は、入力/出力(I/O)コンポーネント504に結合されている制御ユニット501を含んでいる。
[00100]
コンピュータシステム500は、1つ以上のプロセッサを含んでいてもよい。コンピュータシステム500は、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の何らかの磁気媒体、CD−ROM、他の何らかの光学媒体、RAM、PROM、EPROM、FLASH−EPROM、他の何らかのメモリチップまたはカートリッジ、および/または、プロセッサまたはコンピュータが読み取り用に適合されている他の何らかの媒体を含むグループからそれぞれ選択された、1つ以上の記憶デバイスをさらに含んでいてもよい。1つ以上の記憶デバイスは、1つ以上のコンピューティングデバイスに、および/または、(示していない)コンピュータネットワークを使用する、クライアントまたはサーバに結合されているコンピュータプログラム(例えば、クライアント)に利用可能であるかもしれない記憶された情報を含んでいてもよい。コンピュータネットワークは、LAN、WAN、イントラネット、インターネット、クラウドを含む任意のタイプのネットワークであってもよく、ならびに/あるいは、コンピュータピューティングデバイスおよび/またはシステム中のコンピュータプログラムを相互接続できるそれらのネットワークの任意の組み合わせであってもよい。
[00101]
コンピュータシステム500は、コンピュータシステム500のさまざまなコンポーネント間の、情報データ、信号、情報を通信するためのバス502または他の通信メカニズムを含んでいる。コンポーネントは、キーパッド/キーボードからのキーを選択すること、あるいは、1つ以上のボタンまたはリンクを選択すること等のような、ユーザアクションを処理し、対応する信号をバス502に送るためのI/Oコンポーネント504を含んでいる。例では、ユーザアクションは、機会学習エンジン124および/または同期化マネージャー120によってされた決定を無効にするユーザ入力であってもよい。
[00102]
I/Oコンポーネント504は、ディスプレイ511のような出力コンポーネントと、(キーボード、キーパッド、マウス等のような)カーソル制御513のような入力制御も含んでいてもよい。例では、ディスプレイ511はプロンプトをディスプレイ511上に表示し、現在のネットワークが移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かの決定を無効にすることを、移動体デバイス102のユーザが望むか否かをプロンプトは要求する。
[00103]
オーディオI/Oコンポーネント505も含み、ユーザが、オーディオ信号を情報信号に変換することによって、情報を入力するために音声を使用できるようにしてもよい。オーディオI/Oコンポーネント505は、ユーザがオーディオを聞けるようにしてもよい。トランシーバまたはネットワークインターフェース506は、通信リンク518を介して、コンピュータシステムと他のデバイスとの間でネットワークへの信号を送信および受信する。いくつかの実施形態では、送信はワイヤレスであるが、他の送信媒体および方法にも適していてもよい。
[00104]
マイクロ制御装置、デジタル信号プロセッサ(DSP)、または、他の処理コンポーネントであってもよいプロセッサ512は、コンピュータシステム500のディスプレイ511上の表示、または、通信リンク518を介した他のデバイスへの送信のように、これらのさまざまな信号を処理する。ネットワークメトリックロガー122、機会学習エンジン124、および、同期化マネージャー120は、プロセッサ512中で実行してもよい。プロセッサ512はまた、クッキーまたはIPアドレスのような情報の他のデバイスへの送信を制御してもよい。
[00105]
コンピュータシステム500のコンポーネントは、システムメモリコンポーネント514(例えば、RAM)、静的記憶コンポーネント516(例えば、ROM)、および/または、コンピュータ読取可能媒体517も含んでいる。コンピュータシステム500は、システムメモリコンポーネント514中に含まれる命令の1つ以上のシーケンスを実行することにより、プロセッサ512および他のコンポーネントによる特定の動作を実行する。例では、プロセッサ512は、図3にしたがった命令302〜308を処理し、および/または、図4にしたがった命令402〜406を処理する。
[00106]
実行のために、プロセッサ512に命令を提供することに関係する任意の媒体を指してもよい、コンピュータ読取可能媒体517中に、論理がエンコードされていてもよい。このような媒体は、不揮発性の媒体、揮発性の媒体、および、送信媒体を含む、多くの形態をとってもよいが、これらに限定されない。さまざまなインプリメンテーションにおいて、不揮発性の媒体は、光学、または、磁気ディスク、または、ソリッドステートドライブを含み、揮発性の媒体は、システムメモリコンポーネント514のようなダイナミックメモリを含み、送信媒体は、バス502を含む線を含む、同軸ケーブル、銅線、光ファイバを含む。いくつかの実施形態では、論理は、コンピュータ読取可能媒体517中にエンコードされている。コンピュータ読取可能媒体517は、プロセッサ512によってまたはプロセッサ512に関連して使用される命令を含み、記憶し、通信し、伝播し、または、伝送できる、任意の装置であってもよい。コンピュータ読取可能媒体517は、電子、磁気、光学、電磁、赤外線、あるいは、半導体デバイスまたは伝播媒体、あるいは、他の何らかのメモリチップまたはカートリッジ、あるいは、コンピュータが読み取るように適合されている他の何らかの媒体であってもよい。さらに、送信媒体は、無線波、光学、赤外線データ通信の間で発生させるような、音響または光波の形態をとってもよい。
[00107]
本開示のさまざまな実施形態において、本開示の実施のための命令シーケンスの実行は、コンピュータシステム500によって実行されてもよい。本開示のさまざまな他の実施形態において、通信リンク518によってネットワーク(例えば、LAN、WLAN、PTSN、ならびに/あるいは、電気通信、移動体、および、セルラ電話機ネットワークを含む、さまざまな他のワイヤードまたはワイヤレスネットワーク)に結合されている複数のコンピュータシステム500が、互いに共同で本開示を実施するために命令シーケンスを実行してもよい。
[00108]
適用可能な場合、本開示によって提供されるさまざまな実施形態は、ハードウェア、ソフトウェア、または、ハードウェアとソフトウェアの組み合わせを使用して実現してもよい。また、適用可能な場合、ここで述べたさまざまなハードウェアコンポーネントおよび/またはソフトウェアコンポーネントを、本開示の精神から逸脱することなく、ソフトウェア、ハードウェア、および/または、両方を含む複合コンポーネントに組み合わせてもよい。適用可能な場合、ここで述べたさまざまなハードウェアコンポーネントおよび/またはソフトウェアコンポーネントを、本開示の精神から逸脱することなく、ソフトウェア、ハードウェア、または、両方を含むサブコンポーネントに分離してもよい。さらに、適用可能な場合、ソフトウェアコンポーネントをハードウェアコンポーネントとして実現してもよく、逆もまた同じであると企図されていてもよい。
[00109]
本開示にしたがうアプリケーションソフトウェアは、1つ以上のコンピュータ読取可能媒体上に記憶されていてもよい。ここで識別されるアプリケーションソフトウェアは、ネットワーク化されているおよび/またはそうでない、1つ以上の汎用または専用コンピュータならびに/あるいはコンピュータシステムを使用して実現してもよいことも企図される。適用可能な場合、ここで説明したさまざまなステップの順序は、ここで説明された特徴を提供するために、変更され、複合ステップに組み合わされ、および/またはサブステップに分けられてもよい。
[00110]
上述の開示は、本開示を詳細な形態に、または、開示した使用の特定の分野に限定することを意図してはいない。このように、本開示へのさまざまな代替実施形態および/または修正が、ここで明示的に説明または意図されたか否かにかかわらず、本開示を考慮すると可能であることが企図されている。本開示の範囲から逸脱することなく、形態および詳細において変更が行われてもよい。したがって、本開示は特許請求の範囲のみによって限定される。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1] 移動体デバイスと遠隔コンピューティングデバイスとの間でアプリケーションデータを同期化する方法において、
1つ以上のネットワークの各ネットワークに対して、前記それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータを収集することと、
前記移動体デバイスにおいて、現在のネットワークへの現在の接続を検出することと、
アプリケーションデータを同期化するための1つ以上の機会スコアを比較することと、
前記比較に基づいて、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定することとを含み、
前記移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含み、
前記1つ以上の機会スコアは、前記現在のネットワークに対する機会スコアを含み、
各機会スコアは特定のネットワークに関係付けられている方法。
[2] 前記収集することは、前記1つ以上のネットワークの各ネットワークに対して、
前記移動体デバイスにおいて、前記それぞれのネットワークへの現在の接続を検出することと、
前記それぞれのネットワークにしたがって、特徴セットを識別することと、
前記識別した特徴セットに対して収集したネットワークデータに基づいて、前記それぞれのネットワークに対する機会スコアを計算することとを含み、
前記特徴セットは、前記それぞれのネットワークを特徴付ける1つ以上のメトリックを含む[1]記載の方法。
[3] 前記計算することは、前記識別した特徴セットにおいて回帰分析を実行することを含む[2]記載の方法。
[4] 前記ネットワークデータを収集することは、前記移動体デバイスの現在の接続における時間データと空間データとをログ記録することを含む[1]記載の方法。
[5] 前記1つ以上のネットワークの各ネットワークに対して、前記それぞれのネットワークに対する機会スコアを前記デバイスおいて記憶させることをさらに含む[1]記載の方法。
[6] 前記現在のネットワークは良い機会ネットワークであるという決定に応答して、前記現在のネットワークは移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャーに送ることをさらに含む[1]記載の方法。
[7] 条件が満たされていることに応答して、
前記現在のネットワークを通して、前記1つ以上の移動体アプリケーションのアプリケーションデータを同期化すべきと決定することと、
前記現在のネットワークを通して、前記1つ以上の移動体アプリケーションのアプリケーションデータを同期化することとをさらに含む[6]記載の方法。
[8] 通知が受信されたとき、前記条件が満たされる[7]記載の方法。
[9] 時間期間が経過したとき、前記条件が満たされる[7]記載の方法。
[10] 前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かの決定を無効にするか否かに関して、前記移動体デバイスのユーザを促進することをさらに含む[1]記載の方法。
[11] 前記促進に応答したユーザ入力を受け取ることと、
前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという決定を無視することとをさらに含み、
前記ユーザ入力は、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという決定を無効にする要望を示す[10]記載の方法。
[12] 前記促進に応答したユーザ入力を受け取ることと、
前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を送ることをさらに含み、
前記ユーザ入力は、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという決定を無効にしない要望を示す[10]記載の方法。
[13] 前記促進に応答したユーザ入力を受け取ることと、
前記ユーザ入力に応答して、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を送ることをさらに含み、
前記ユーザ入力は、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークではないという決定を無効にする要望を示す[10]記載の方法。
[14] 前記促進に応答したユーザ入力を受け取ることをさらに含み、
前記ユーザ入力は、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークでないという決定を無効にしない要望を示す[10]記載の方法。
[15] 前記1つ以上の機会スコアの第1の機会スコアと第2の機会スコアは共通ネットワークタイプに関係付けられており、前記比較することは、前記第1および第2の機会スコアを比較することを含む[1]記載の方法。
[16] 移動体デバイスと遠隔コンピューティングデバイスとの間でアプリケーションデータを同期化するシステムにおいて、
移動体デバイスと現在のネットワークとの間の現在の接続を検出し、1つ以上のネットワークの各ネットワークに対して、前記それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータを収集するネットワークメトリックロガーと、
アプリケーションデータを同期化するための1つ以上の機会スコアを比較し、前記比較に基づいて、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定する機会学習エンジンとを具備し、
前記移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含み、
前記1つ以上の機会スコアは、前記現在のネットワークに対する機会スコアを含み、
各機会スコアは特定のネットワークに関係付けられているシステム。
[17] 前記1つ以上の機会スコアは、以前に前記移動体デバイスに接続されていた第2のネットワークに対する機会スコアを含む[16]記載のシステム。
[18] 前記現在のネットワークは、第1のタイプのものであり、前記第2のネットワークは、前記第1のタイプとは異なる第2のタイプのものであり、前記機会学習エンジンは、前記第1のタイプの前記現在のネットワークに関係付けられている第1の機会スコアと、前記第2のタイプの前記第2のネットワークに関係付けられている第2の機会スコアとを比較する[17]記載のシステム。
[19] 前記現在のネットワークと前記第2のネットワークは共通のネットワークタイプであり、特徴セットに対して異なる特徴セット値を有し、
前記機会学習エンジンは、前記共通ネットワークタイプに関係付けられている機会スコアを比較する[17]記載のシステム。
[20] 前記1つ以上のネットワークの各ネットワークに対して、前記ネットワークメトリックロガーは、前記それぞれのネットワークに対する機会スコアを前記移動体デバイスにおいて記憶させる[16]記載のシステム。
[21] 前記1つ以上のネットワークの各ネットワークに対して、前記ネットワークメトリックロガーは、
前記移動体デバイスにおいて、前記それぞれのネットワークへの現在の接続を検出し、
前記それぞれのネットワークにしたがって、特徴セットを識別し、
前記識別した特徴セットに対して収集したネットワークデータに基づいて、前記それぞれのネットワークに対する機会スコアを計算し、
前記特徴セットは、前記それぞれのネットワークを特徴付ける1つ以上のメトリックを含む[16]記載のシステム。
[22] 前記ネットワークメトリックロガーは、前記移動体デバイスの現在の接続における時間データと空間データとをログ記録する[21]記載のシステム。
[23] 前記現在のネットワークは良い機会ネットワークであるという決定に応答して、前記機会学習エンジンは、前記現在のネットワークは移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャーに送る[16]記載のシステム。
[24] 動作を実行するためのコンピュータ実行可能な命令をその上に記憶しているコンピュータ読取可能媒体において、
前記動作は、
1つ以上のネットワークの各ネットワークに対して、前記それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータを収集することと、
前記移動体デバイスにおいて、現在のネットワークへの現在の接続を検出することと、
アプリケーションデータを同期化するための1つ以上の機会スコアを比較することと、
前記比較に基づいて、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定することとを含み、
前記移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含み、
前記1つ以上の機会スコアは、前記現在のネットワークに対する機会スコアを含み、
各機会スコアは特定のネットワークに関係付けられているコンピュータ読取可能媒体。
[25] 前記1つ以上の機会スコアの各機会スコアは、前記特定のネットワークの1つ以上の特徴セットに基づいている[24]記載のコンピュータ読取可能媒体。
[26] 前記現在のネットワークは良い機会ネットワークであるという決定に応答して、前記現在のネットワークは移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャーに送ることを前記動作はさらに含む[24]記載のコンピュータ読取可能媒体。
[27] 前記ネットワークデータを収集することは、前記移動体デバイスの現在の接続における時間データと空間データとをログ記録することを含む[24]記載のコンピュータ読取可能媒体。
[28] 少なくとも1つの中央処理ユニット(CPU)のCPU周波数をスケーリングする装置において、
1つ以上のネットワークの各ネットワークに対して、前記それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータを収集する手段と、
前記移動体デバイスにおいて、現在のネットワークへの現在の接続を検出する手段と、
アプリケーションデータを同期化するための1つ以上の機会スコアを比較する手段と、
前記比較に基づいて、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定する手段とを具備し、
前記移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含み、
前記1つ以上の機会スコアは、前記現在のネットワークに対する機会スコアを含み、
各機会スコアは特定のネットワークに関係付けられている装置。
[29] 前記1つ以上の機会スコアの各機会スコアは、前記特定のネットワークの1つ以上の特徴セットに基づいている[28]記載の装置。
[30] 前記現在のネットワークは良い機会ネットワークであるという決定に応答して、前記現在のネットワークは移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を同期化マネージャーに送る手段を前記装置はさらに具備する[28]記載の装置。

Claims (27)

  1. 移動体デバイスと遠隔コンピューティングデバイスとの間でアプリケーションデータを同期化する方法において、
    1つ以上のネットワークの各ネットワークに対して、
    前記それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータを収集し、前記移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含むことと、
    前記ネットワークデータに基づいて、前記それぞれのネットワークに対する機会スコアを計算することと、
    前記移動体デバイスにおいて、現在のネットワークへの現在の接続を検出することと、
    アプリケーションデータを同期化するために、1つ以上の機会スコアを比較することと、
    前記比較に基づいて、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定することと、
    前記現在のネットワークが、良い機会ネットワークであるという決定に応答して、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を前記移動体デバイス内の同期化マネージャーと前記1つ以上の移動体アプリケーションとのうちの少なくとも1つに送ることとを含み、
    記1つ以上の機会スコアは、前記現在のネットワークに対する第1の機会スコアと、前記移動体デバイスに以前接続されていた第2のネットワークに対する第2の機会スコアとを含み、
    各機会スコアは特定のネットワークに関係付けられている方法。
  2. 前記収集することは、前記1つ以上のネットワークの各ネットワークに対して、
    前記移動体デバイスにおいて、前記それぞれのネットワークへの現在の接続を検出することと、
    前記それぞれのネットワークにしたがって、特徴セットを識別することとを含み、
    前記特徴セットは、前記それぞれのネットワークを特徴付ける1つ以上のメトリックを含み、
    前記計算することは、前記識別した特徴セットに対して収集したネットワークデータに基づいて、前記それぞれのネットワークに対する機会スコアを計算することを含む請求項1記載の方法。
  3. 前記計算することは、前記識別した特徴セットにおいて回帰分析を実行することを含む請求項2記載の方法。
  4. 前記ネットワークデータを収集することは、前記移動体デバイスの現在の接続に関する時間データと空間データとをログ記録することを含む請求項1記載の方法。
  5. 前記1つ以上のネットワークの各ネットワークに対して、前記それぞれのネットワークに対する機会スコアを前記移動体デバイスおいて記憶させることをさらに含む請求項1記載の方法。
  6. 条件が満たされていることに応答して、
    前記現在のネットワークを通して、前記1つ以上の移動体アプリケーションのアプリケーションデータを同期化すべきと決定することと、
    前記現在のネットワークを通して、前記1つ以上の移動体アプリケーションのアプリケーションデータを同期化することとをさらに含む請求項記載の方法。
  7. 前記通知が受信されたとき、前記条件が満たされる請求項記載の方法。
  8. 時間期間が経過したとき、前記条件が満たされる請求項記載の方法。
  9. 前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かの決定を無効にするか否かに関して、前記移動体デバイスのユーザを促ことをさらに含む請求項1記載の方法。
  10. 前記促すことに応答したユーザ入力を受け取ることと、
    前記ユーザ入力に応答して、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという前記通知を廃棄するメッセージを前記同期化マネージャーに送ることとをさらに含み、
    前記ユーザ入力は、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという決定を無効にする要望を示す請求項記載の方法。
  11. 前記促すことに応答したユーザ入力を受け取ることをさらに含み、
    前記ユーザ入力は、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという決定を無効にしない要望を示し、
    前記通知を送ることは、前記ユーザ入力を受け取ることに応答して、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を送ることを含む請求項記載の方法。
  12. 前記促すことに応答したユーザ入力を受け取ることと、
    前記ユーザ入力に応答して、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を送ることをさらに含み、
    前記ユーザ入力は、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークではないという決定を無効にする要望を示す請求項記載の方法。
  13. 前記促すことに応答したユーザ入力を受け取ることをさらに含み、
    前記ユーザ入力は、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークでないという決定を無効にしない要望を示す請求項記載の方法。
  14. 前記1つ以上の機会スコアの前記第1の機会スコアと前記第2の機会スコアは共通ネットワークタイプに関係付けられており、前記比較することは、前記第1および第2の機会スコアを比較することを含む請求項1記載の方法。
  15. 移動体デバイスと遠隔コンピューティングデバイスとの間でアプリケーションデータを同期化するシステムにおいて、
    移動体デバイスと現在のネットワークとの間の現在の接続を検出するネットワークメトリックロガーと、
    アプリケーションデータを同期化するために、1つ以上の機会スコアを比較し、前記比較に基づいて、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定する機会学習エンジンとを具備し、
    1つ以上のネットワークの各ネットワークに対して、前記ネットワークメトリックロガーは、前記それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータを収集し、前記ネットワークデータに基づいて、前記それぞれのネットワークに対する機会スコアを計算し、
    前記移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含み、
    前記1つ以上の機会スコアは、前記現在のネットワークに対する第1の機会スコアと、前記移動体デバイスに以前接続されていた第2のネットワークに対する第2の機会スコアとを含み、
    各機会スコアは特定のネットワークに関係付けられ、
    前記現在のネットワークが、良い機会ネットワークであるという決定に応答して、前記機会学習エンジンは、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を前記移動体デバイス内の同期化マネージャーと前記1つ以上の移動体アプリケーションとのうちの少なくとも1つに送るシステム。
  16. 前記現在のネットワークは、第1のタイプのものであり、前記第2のネットワークは、前記第1のタイプとは異なる第2のタイプのものであり、前記機会学習エンジンは、前記第1のタイプの前記現在のネットワークに関係付けられている前記第1の機会スコアと、前記第2のタイプの前記第2のネットワークに関係付けられている前記第2の機会スコアとを比較する請求項15記載のシステム。
  17. 前記現在のネットワークと前記第2のネットワークは共通ネットワークタイプであり、特徴セットに対して異なる特徴セット値を有し、
    前記機会学習エンジンは、前記共通ネットワークタイプに関係付けられている機会スコアを比較する請求項15記載のシステム。
  18. 前記1つ以上のネットワークの各ネットワークに対して、前記ネットワークメトリックロガーは、前記それぞれのネットワークに対する機会スコアを前記移動体デバイスにおいて記憶させる請求項15記載のシステム。
  19. 前記1つ以上のネットワークの各ネットワークに対して、前記ネットワークメトリックロガーは、
    前記移動体デバイスにおいて、前記それぞれのネットワークへの現在の接続を検出し、
    前記それぞれのネットワークにしたがって、特徴セットを識別し、
    前記識別した特徴セットに対して収集したネットワークデータに基づいて、前記それぞれのネットワークに対する機会スコアを計算し、
    前記特徴セットは、前記それぞれのネットワークを特徴付ける1つ以上のメトリックを含む請求項15記載のシステム。
  20. 前記ネットワークメトリックロガーは、前記移動体デバイスの現在の接続における時間データと空間データとをログ記録する請求項19記載のシステム。
  21. 動作を実行するためのコンピュータ実行可能な命令をその上に記憶している非一時的コンピュータ読取可能媒体において、
    前記動作は、
    1つ以上のネットワークの各ネットワークに対して、
    前記それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータを収集し、前記移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含むことと、
    前記ネットワークデータに基づいて、前記それぞれのネットワークに対する機会スコアを計算することと、
    前記移動体デバイスにおいて、現在のネットワークへの現在の接続を検出することと、
    アプリケーションデータを同期化するために、1つ以上の機会スコアを比較することと、
    前記比較に基づいて、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定することと、
    前記現在のネットワークが、良い機会ネットワークであるという決定に応答して、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を前記移動体デバイス内の同期化マネージャーと前記1つ以上の移動体アプリケーションとのうちの少なくとも1つに送ることとを含み、
    記1つ以上の機会スコアは、前記現在のネットワークに対する第1の機会スコアと、前記移動体デバイスに以前接続されていた第2のネットワークに対する第2の機会スコアとを含み、
    各機会スコアは特定のネットワークに関係付けられているコンピュータ読取可能媒体。
  22. 前記1つ以上の機会スコアの各機会スコアは、前記特定のネットワークの1つ以上の特徴セットに基づいている請求項21記載のコンピュータ読取可能媒体。
  23. 前記ネットワークデータを収集することは、前記移動体デバイスの現在の接続における時間データと空間データとをログ記録することを含む請求項21記載のコンピュータ読取可能媒体。
  24. 移動体デバイスと遠隔コンピューティングデバイスとの間でアプリケーションデータを同期化する装置において、
    1つ以上のネットワークの各ネットワークに対して、前記それぞれのネットワークへの移動体デバイスの現在の接続性状態に関するネットワークデータを収集し、前記移動体デバイスは、アプリケーションデータを含む1つ以上の移動体アプリケーションを含む手段と、
    前記1つ以上のネットワークの各ネットワークに対して、前記それぞれのネットワークに対する機会スコアを計算する手段と、
    前記移動体デバイスにおいて、現在のネットワークへの現在の接続を検出する手段と、
    アプリケーションデータを同期化するために、1つ以上の機会スコアを比較する手段と、
    前記比較に基づいて、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かを決定する手段と、
    前記現在のネットワークが、良い機会ネットワークであるという決定に応答して、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を前記移動体デバイス内の同期化マネージャーと前記1つ以上の移動体アプリケーションとのうちの少なくとも1つに送る手段とを具備し、
    記機会スコアは、前記ネットワークデータに基づいており、
    前記1つ以上の機会スコアは、前記現在のネットワークに対する第1の機会スコアと、前記移動体デバイスに以前接続されていた第2のネットワークに対する第2の機会スコアとを含み、
    各機会スコアは特定のネットワークに関係付けられている装置。
  25. 前記1つ以上の機会スコアの各機会スコアは、前記特定のネットワークの1つ以上の特徴セットに基づいている請求項24記載の装置。
  26. 前記機会学習エンジンは、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるか否かの決定を無効にするか否かに関して、前記移動体デバイスのユーザを促し、前記促に応答してユーザ入力を受け取り、
    前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという決定を無効にする要望を前記ユーザ入力が示す場合、前記機会学習エンジンは、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を廃棄するメッセージを前記同期化マネージャーに送り、
    前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという決定を無効にしない要望を前記ユーザ入力が示す場合、前記機会学習エンジンは、前記現在のネットワークが、移動体アプリケーションデータを同期化するのに良い機会ネットワークであるという通知を前記同期化マネージャーに送る請求項15記載のシステム。
  27. 前記特徴セットは、1つ以上のネットワークタイプを抽象化し、前記第1の機会スコアと前記第2の機会スコアは、単一のメトリックに正規化される請求項2記載の方法。
JP2017503882A 2014-07-25 2015-06-26 効率良いアプリケーション同期化をトリガするための方法およびシステム Expired - Fee Related JP6293969B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462029278P 2014-07-25 2014-07-25
US62/029,278 2014-07-25
US14/465,693 2014-08-21
US14/465,693 US9661440B2 (en) 2014-07-25 2014-08-21 Methods and systems for triggering efficient application synchronization
PCT/US2015/038081 WO2016014214A1 (en) 2014-07-25 2015-06-26 Methods and systems for triggering efficient application synchronization

Publications (2)

Publication Number Publication Date
JP2017525295A JP2017525295A (ja) 2017-08-31
JP6293969B2 true JP6293969B2 (ja) 2018-03-14

Family

ID=53546263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017503882A Expired - Fee Related JP6293969B2 (ja) 2014-07-25 2015-06-26 効率良いアプリケーション同期化をトリガするための方法およびシステム

Country Status (7)

Country Link
US (1) US9661440B2 (ja)
EP (1) EP3172888B1 (ja)
JP (1) JP6293969B2 (ja)
KR (1) KR101825536B1 (ja)
CN (1) CN106537883A (ja)
BR (1) BR112017000698A2 (ja)
WO (1) WO2016014214A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10705701B2 (en) 2009-03-16 2020-07-07 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
CN110072131A (zh) 2014-09-02 2019-07-30 苹果公司 音乐用户界面
US10595169B2 (en) 2016-06-12 2020-03-17 Apple Inc. Message extension app store
US10852912B2 (en) 2016-06-12 2020-12-01 Apple Inc. Image creation app in messaging app
US10785175B2 (en) * 2016-06-12 2020-09-22 Apple Inc. Polling extension application for interacting with a messaging application
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
CN107465737A (zh) * 2017-07-31 2017-12-12 广东欧珀移动通信有限公司 数据同步方法、装置、存储介质以及电子设备
US10972358B2 (en) * 2017-08-30 2021-04-06 Citrix Systems, Inc. Inferring congestion and signal quality
CN108259566A (zh) * 2017-12-22 2018-07-06 浪潮通用软件有限公司 一种应用的数据同步方法及装置
KR102582483B1 (ko) 2018-08-23 2023-09-26 삼성전자주식회사 무선 통신 방법 및 이를 지원하는 전자 장치
KR102582479B1 (ko) * 2019-01-03 2023-09-25 삼성전자주식회사 무선 주파수 신호를 처리하는 모듈을 조절하기 위한 전자 장치
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
DK201970533A1 (en) 2019-05-31 2021-02-15 Apple Inc Methods and user interfaces for sharing audio
US11620103B2 (en) 2019-05-31 2023-04-04 Apple Inc. User interfaces for audio media control
CN110365694B (zh) * 2019-07-23 2022-07-05 中国工商银行股份有限公司 虚拟主机与真实主机间数据同步处理的系统及方法
US11079913B1 (en) 2020-05-11 2021-08-03 Apple Inc. User interface for status indicators
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US20230224794A1 (en) * 2022-01-10 2023-07-13 Motional Ad Llc Proactive Transceiver and Carrier Automated Arbitration

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024214B2 (en) * 2002-02-26 2006-04-04 Microsoft Corporation Synchronizing over a number of synchronization mechanisms using flexible rules
US7417624B2 (en) * 2003-02-14 2008-08-26 Duff Michael J Zero-force key activation keyboard with dynamic individual key illumination
JP2005198082A (ja) * 2004-01-08 2005-07-21 Hitachi Kokusai Electric Inc 移動通信端末
US7526768B2 (en) 2004-02-04 2009-04-28 Microsoft Corporation Cross-pollination of multiple sync sources
US8724615B1 (en) 2005-10-11 2014-05-13 Atmel Corporation Method and apparatus for generation of a system master timebase of a computing device using indirect signalling of timing information
US8565766B2 (en) 2007-02-05 2013-10-22 Wefi Inc. Dynamic network connection system and method
US8032150B2 (en) 2006-09-29 2011-10-04 Globalfoundries Inc. Connection manager with location learning
US20080080458A1 (en) * 2006-09-29 2008-04-03 Cole Terry L Connection manager with deferred configuration
US7987471B2 (en) 2007-01-26 2011-07-26 Microsoft Corporation Mobile device management proxy system
US8626141B2 (en) * 2009-07-30 2014-01-07 Qualcomm Incorporated Method and apparatus for customizing a user interface menu
GB2481254B (en) * 2010-06-18 2017-07-12 Skype Determining network quality
US8626906B1 (en) 2010-08-10 2014-01-07 Google Inc. Scheduling data pushes to a mobile device based on usage and applications thereof
JP2013128237A (ja) * 2011-12-19 2013-06-27 Nec Casio Mobile Communications Ltd 通信システム、及び携帯端末装置の通信回線選択方法
TWI571166B (zh) 2012-01-13 2017-02-11 蘋果公司 在點對點網路環境中同步站台之選擇
EP2862336B1 (en) 2012-06-13 2016-09-28 Nokia Technologies Oy Cloud services in mobile heterogeneous networks
US8976695B2 (en) 2012-08-23 2015-03-10 Harris Corporation Wireless communications system having selective wireless communications network and related methods
US9807653B2 (en) 2014-05-30 2017-10-31 Apple Inc. Device and method for basic service set transition management

Also Published As

Publication number Publication date
BR112017000698A2 (pt) 2017-11-14
EP3172888B1 (en) 2020-10-21
KR101825536B1 (ko) 2018-02-05
KR20170037606A (ko) 2017-04-04
US20160029146A1 (en) 2016-01-28
US9661440B2 (en) 2017-05-23
CN106537883A (zh) 2017-03-22
WO2016014214A1 (en) 2016-01-28
EP3172888A1 (en) 2017-05-31
JP2017525295A (ja) 2017-08-31

Similar Documents

Publication Publication Date Title
JP6293969B2 (ja) 効率良いアプリケーション同期化をトリガするための方法およびシステム
US10972372B2 (en) Scheduling processing tasks based on predicted context
US11758014B2 (en) Scheduling of application preloading in user devices
US20230359645A1 (en) Multi-device context store
US9955290B2 (en) Opportunistic offloading of tasks between nearby computing devices
US9042289B2 (en) Methods and devices for power-aware data synchronization in wireless devices
US11483415B2 (en) Background pre-rendering of user applications
US10897493B2 (en) Systems and methods for predictive user location and content replication
US8028060B1 (en) Background task execution over a network based on network activity idle time
US20240031452A1 (en) Scheduling of Application Preloading in User Devices
US9237460B2 (en) Traffic control method and device
US20200380984A1 (en) Synchronization of remote context data
US20140082057A1 (en) Data transfer method and system
KR101723203B1 (ko) 통신 네트워크 내의 모바일 디바이스로의 애플리케이션 데이터의 전송 제어를 위한 장치 및 방법
WO2015073449A1 (en) Internet protocol communication accessibility improvement
JP2015201698A (ja) 通信装置、通信方法、及び、プログラム
WO2017142773A1 (en) User presence prediction driven device management
US20240097470A1 (en) Optimizing battery charging with synchronized context data
US20240078165A1 (en) Multi-device context synchronization and applications thereof
US11855859B1 (en) Computerized systems and methods for application prioritization during runtime
US20240214123A1 (en) Dynamically configuring retry policies of network functions
WO2024054395A1 (en) Multi-device context synchronization and applications thereof
WO2024054396A1 (en) Energy saving for battery powered devices

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170626

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170626

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170626

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180214

R150 Certificate of patent or registration of utility model

Ref document number: 6293969

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees