JP6047669B2 - データ同期化 - Google Patents

データ同期化 Download PDF

Info

Publication number
JP6047669B2
JP6047669B2 JP2015555140A JP2015555140A JP6047669B2 JP 6047669 B2 JP6047669 B2 JP 6047669B2 JP 2015555140 A JP2015555140 A JP 2015555140A JP 2015555140 A JP2015555140 A JP 2015555140A JP 6047669 B2 JP6047669 B2 JP 6047669B2
Authority
JP
Japan
Prior art keywords
queue
devices
synchronization
attributes
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015555140A
Other languages
English (en)
Other versions
JP2016508634A (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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2016508634A publication Critical patent/JP2016508634A/ja
Application granted granted Critical
Publication of JP6047669B2 publication Critical patent/JP6047669B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

背景
メディア・ファイル及び文書のようなコンテンツは、複数の装置を使用して、ユーザによって作成され、又は取得される場合がある。ユーザは時々、装置間でコンテンツを同期化し、又は、ある装置から別の装置へコンテンツを転送し、アップロードし若しくはその他送信することを望むことがある。コンテンツは、必要なときに直ぐに使用し又は編集することができるように、ネットワーク上のユーザの他の装置の間で共有される場合がある。例えばユーザは、より進んだ機能(例えば、写真編集、アドバンスト・ネットワーク設定など)を備えた新しい携帯電話を取得することを決定する場合があり、古い携帯電話から新しい携帯電話へ写真を転送することを望むことがある。別の例として、ユーザは、例えば、より大きな画面でビデオを見るために、自分の携帯電話上のビデオリンクを、自分のデスクトップコンピュータ上のビデオリンクと同期化することを望むことがある。
種々の装置及びネットワークによれば、情報の収集及び交換が可能となる。そのような装置の例には、ファイル、パッチ、及び/又は、グラフィックスのような種々のコンテンツの収集、同期化、転送、又は交換を行うために、取り付けられた周辺機器を含むパーソナル・コンピュータ、ハンドヘルド/パームトップ・デバイス、及び/又は、ポータブル・コンピュータなどが含まれ得る。例えば、ファイルは、ビデオ、写真、音楽、及び文書のような大量のコンテンツを含む場合がある。そうしたコンテンツは、ある装置上で作成され、又はある装置にダウンロードされた後、他の装置上にコピーされる場合がある。
同期化フレームワークによれば、種々の装置及びアプリケーションは、ある装置若しくは同期化サーバ、及び/又はパートナから、インターネットのようなネットワーク接続を介して、コンテンツを送信することが可能である。同期化は、ユーザの要求があったときに、周期的インターバルで、又はリアルタイムに、コンテンツの同期化を実施することによって達成される。例えば、同期化イベントは、提示されているコンテンツに関連する情報を同期化するために、ユーザによって発行された表現された命令、又はコマンド(例えば、自分が読んだ最後のページを記録するためのもの)に対応する場合がある。
種々の例は、下記の図面を参照して、以下の詳細な説明に記載される。
一実施形態による例示的システムを示す図である。 一実施形態による例示的システムのオブジェクト送信器を示す図である。 他の実施形態による例示的プロセスフロー図である。 一実施形態による例示的プロセスフロー図である。
詳細な説明
本開示の種々の態様は、概して、コンテンツの同期化に関する。より具体的には、本開示の種々の態様は、概して、種々の装置にわたるコンテンツを同期化する方法に関する。このアプローチによれば、コンテンツ同期化フレームワークによるコンテンツの同期化が可能となり、コンテンツ同期化フレームワークでは、パーソナル・コンピュータ(PC)、ポータブル・デバイス、携帯情報端末(PDA)、タブレット、スマートフォン、科学機器、店頭端末装置等のような任意の接続された装置又はアプライアンスが、有線接続と無線接続との両方を含む広く様々な通信ネットワーク技術を介して、文脈に応じた同期化を実施する。
本明細書に記載される本開示の種々の態様は、あるマシンから他のマシンへ送信すべき複数群のデータを予測する。また、本開示の他の態様は、各装置におけるユーザ活動及びシステム情報に基づいて、各送信の中で、データに優先順位を付ける。さらに、態様によっては、ユーザが所与の装置上のデータへの即座のアクセスを必要としていることを示すユーザ・アクションを識別し、それにしたがって、他の装置から入手可能な新たなデータ又は変更されたデータをその装置と同期化し、ユーザがそのデータを必要とするときにちょうど間に合うようにそのデータを入手できるようにする。
とりわけ、このアプローチは、バッテリーの枯渇やリソースの浪費を防止することの他に、データを同期化し、必要な時点におけるユーザ・データの入手困難性を防止するための効率的かつ有効な方法を提示する。このアプローチによれば、さらに、良好なユーザ経験を維持しつつ、ユーザが手動で同期化を行うことを必要とする手動ユーザ・トリガーの必要性が、排除される場合がある。
本開示による一例として、データを同期化する方法を提供する。この方法は、ネットワーク上の複数の装置において一組の属性を監視することと、監視された一組の属性に基づいて同期化のための一群のデータを選択することと、各選択されたデータ及び各装置に優先順位レベルを割り当てることと、優先順位レベルに基づいて、一群の選択されたデータに対して実施されるべき同期化処理に優先順位を付けることと、同期化の優先順位にしたがって、一群の選択されたデータを同期化することとを含む。
本開示による他の例として、システムを提供する。このシステムは、ネットワーク上の複数の装置において一組の属性を監視するための監視モジュールと、監視された一組の属性に基づいて同期化のための一群のデータを選択するとともに、各選択されたデータ及び各装置に優先順位レベルを割り当てるための予測モジュールと、優先順位レベルに基づいて、一群の選択されたデータに対して実施されるべき同期化処理に優先順位を付けるためのデータ・マネージャとを含む。データ・マネージャはさらに、同期化の優先順位にしたがって、一群の選択されたデータを同期化する。
本開示のさらに別の例として、非一時的コンピュータ読取可能媒体を提供する。この非一時的コンピュータ読取可能媒体は、種々の命令を含み、当該種々の命令が実行されたときに、装置に、(i)ネットワーク上の複数の装置において一組の属性を監視させ、(ii)監視された一組の属性に基づいて同期化のための一群のデータを選択させ、(iii)各選択されたデータ及び各装置に割り当てられた優先順位レベルに基づいて、一群の選択されたデータに対して実施されるべき同期化処理に優先順位を付けさせ、及び(iv)同期化の優先順位にしたがって、一群の選択されたデータを同期化させる。
図1は、一実施形態による例示的システム100を示している。システム100は、コンテンツ同期化システムである場合があり、クラウド・コンピューティング・システム又は他のネットワーク機構を介して接続された計算装置のような複数の装置を含む場合がある。システム100が一般化された例を表したものであり、本開示の範囲から外れることなく、他の要素が追加され、又は、既存の要素が取り除かれ、変更され若しくは配置変更される場合があることは、容易に明らかなはずである。例えば、システム100は、図1が装置110、120、及び130を含むことを示しているが、実際には、システムは、もっと少数又はもっと多数の装置を含む場合があり、3つの装置は、単純化のために図示され、説明されたものである。
システム100は、ピア・ツー・ピア共有環境であってもよく、ピア・ツー・ピア共有環境には、中央集中配置を必要としない分散アーキテクチャが存在する場合があり、ユーザ装置は、オブジェクトのサプライヤーとコンシューマーの両方に同時に存在する場合がある。他の例として、システム100は、クラウドベースの共有システムであってもよく、クラウドベースの共有システムは、ネットワーク(例えば、インターネット)を介してサービスとして伝送される計算リソース(ハードウェア及びソフトウェア)を使用する。クラウドベースのシステムは、ユーザ装置によってアクセスされるべきデータをネットワークを介してサービスとして公開する。それに応じて、ユーザ装置は、クラウドを通じて互いに接続される場合がある。クラウドは、図1に、クラウド105として示されている。クラウド105は、ローカルに実行されるアプリケーション及びソフトウェアによって提供される機能及び能力を置換し、それらを補い、又はそれらと混在する場合がある。アプリケーションには、例えば、識別及びディレクトリサービス、装置管理及びセキュリティ、複数の装置若しくはプラットフォームにわたる同期化ストレージ及びデータサービス、並びに、種々の活動及びニュースに関連するサービスなどが含まれ得る。クラウド105は、無料のモデル、広告宣伝によって支えられたモデル、及び参加型モデルを含む様々な異なるビジネスモデルに基づいて提供される場合がある。
代替又は追加として、ユーザ装置間における通信媒体には、限定はしないが、有線及び/又は無線リソースの任意の組み合わせが含まれ得る。通信媒体には、例えば、ケーブルテレビネットワーク、直接ビデオ放送ネットワーク、衛星ネットワーク、携帯電話網、有線電話網、及び/又はデータネットワーク、並びに無線データネットワーク(例えば、無線ローカル・エリア・ネットワーク、無線パーソナル・エリア・ネットワーク等)などが含まれ得る。
システム100は、装置110、120、及び130を含む。装置110は、監視エンジン(又は、監視モジュール)140、ログ・データベース150、予測エンジン(予測モジュール)160、オブジェクト受信器170、オブジェクト・データベース180、及びオブジェクト送信器190を含み、それらの各々が、以下でより詳しく説明される。一実施形態において、オブジェクト受信器及びオブジェクト送信器は、データモジュールであってもよい。他の実施形態において、システム100は、キュー・マネージャ、及び優先順位マネージャを含む場合がある(図1には示されていない)。
装置110、120、及び130は、有線装置及び無線装置を全て包含する場合がある。一実施形態において、装置110は、デスクトップ・コンピュータ、セットトップ・ボックス、ゲーム端末、ラップトップ・コンピュータ、ポケットPC、PDA、スマートフォン、携帯電話、タブレット、MP3プレイヤー(Moving Pictures Expert Group、MPEG−1、audio layer 3)のようなポータブル・メディア・プレイヤー、電子ブック・リーダー、ハンドヘルドゲーム機、ウルトラ・モバイル・コンピュータ、又はそれらによって提供される機能の組み合わせを有する装置を含む場合がある。
一実施形態において、ユーザは、装置110、装置120、及び装置130を有する場合があり、装置110は、パーソナル・コンピュータである場合があり、装置120は、ラップトップ・コンピュータである場合があり、装置130は、モバイル機器である場合がある。これらの装置は、メッシュ上のピア・デバイスのように見える場合があり、メッシュを通して、装置間でデータを移動させる(すなわち、フェッチする)ことができる場合がある。他の実施形態では、全ての装置が、クラウド105を通して互いに接続されるように構成される場合がある。実施形態によっては、ファイア・ウォール、ワンタイム・パスワード、暗号化プログラム、デジタル証明書、ユーザ・アプリケーション・セキュリティ等のような種々の手段により、セキュリティ機能/ツールが実施される場合がある。これらの、及び/又は他のセキュリティ機能の種々の組み合わせが使用される場合もある。一実施形態において、これらのセキュリティ・アプローチは、多層化され、ある装置が他の装置と情報を交換することが可能な高度に安全な環境を提供する場合がある。例えば、セキュリティ機能は、ある装置から他の装置へデータを転送する前に、ユーザがログインすることを要求する場合がある。他の実施形態として、セキュリティ機能は、クラウド105を介してデータを送信する場合に、ユーザが、クラウド105によって信用された自分の証明書又は識別情報を提供することを要求する場合がある。
装置110、120、及び130は、異なる機能及び能力を有する場合がある。例えば、デスクトップ・コンピュータとラップトップ・コンピュータは、Microsoft(登録商標) Windows(登録商標)オペレーティングシステム、及びApple(登録商標) Mac OS(登録商標)オペレーティングシステムのような異なるオペレーティングシステムをそれぞれ使用する場合がある。代替又は追加として、ある装置は、他の装置に比べて少ない数の、例えば処理能力、メモリ及びストレージのような、リソースを有するように構成される場合がある。
例示のために、装置110、120、及び130は、デスクトップ・コンピュータ、ラップトップ、及びモバイル機器に、それぞれ対応する場合がある。各装置は、種々のオブジェクト(例えば、コンテンツ)を記憶している。かかるオブジェクトには、ユーザが知覚可能な様々な形のコンテンツが含まれ得る。例示的オブジェクトは、ユーザによって直接的又は間接的にアクセスすること可能な任意のオブジェクトを意味する場合があり、オブジェクトには、例えば、限定はしないが、マルチメディア・データ、デジタル画像、デジタル・ビデオ(例えば、テレビ番組、及び映画)、表示可能なテキスト、オーディオデータ、電子文書、電子出版物、コンピュータ実行可能コード、及び/又は、上記例の種々の部分などが含まれ得る。さらに、コンテンツの表示は、装置110、120、及び130の能力及び構成(例えば、ポータブル電子ブックリーダーであるか、携帯電話であるか)、並びにコンテンツのフォーマット(例えば、デジタル出版物であるか、ビデオであるか)によって変わる場合がある。
一実施形態において、ユーザ又はユーザ・アカウントに関連する装置110、120、及び130は、種々のコンテンツ・プロバイダーによって提供された様々な表現のコンテンツへのアクセスを有する場合がある。例えば、装置110は、通信ネットワーク(例えば、無線通信ネットワーク)を介してデジタル表現のコンテンツ(例えば、コンピュータ上に表示することが可能なデジタル出版物)を取得したデスクトップ・コンピュータに対応する場合がある。装置120は、同じ又は異なる通信ネットワークを介して別の表現の同じコンテンツ(例えば、ラップトップ上に表示することが可能な前記デジタル出版物のコピー)を取得したラップトップに対応する場合がある。さらに、装置130は、同じ又は異なる通信ネットワークを介して別の表現の同じコンテンツ(例えば、モバイル機器上に表示することが可能な前記デジタル出版物のコピー)を同様に取得したモバイル機器に対応する場合がある。
他の実施形態において、装置110、120、及び130は、様々な表現の同じコンテンツを各装置に記憶している場合がある。例えば、装置110は、デジタル表現のコンテンツ(例えば、コンピュータ上に表示することが可能なデジタル写真)を有しているデスクトップ・コンピュータに対応する場合がある。装置120は、別の表現の同じコンテンツ(例えば、ラップトップ上に表示することが可能な前記デジタル写真のコピー)を有しているラップトップに対応する場合がある。さらに、装置130は、別の表現の同じコンテンツ(モバイル機器上に表示することが可能な前記写真のコピー)を有しているモバイル機器に対応する場合がある。
一実施形態において、装置110のユーザは、コンテンツを手動で選択する場合がある。この選択は、ユーザが、装置110に記憶されたコンテンツのリストをブラウジングすることを含む場合がある。代替又は追加として、装置110のユーザは、クラウド10を通して他の装置又はコンテンツ・プロバイダーからコンテンツを取得することを要求する場合がある。コンテンツ・プロバイダーには、ユーザ装置によって使用されるコンテンツを提供することが可能な任意のエンティティが含まれ得る。コンテンツ・プロバイダーには、(限定はしないが)、テレビ放送局、サーバ、及び/又は、ピア・ツー・ピア・ネットワーク・エンティティ(例えば、他のユーザ装置120、130)などが含まれ得る。さらに、コンテンツは、ファイル、パッチ、及び/又はグラフィックス等のような、様々なコンテンツであってよい。
監視エンジン140は、システムの動作及びアクションに関連するデータ、ネットワークにおけるユーザ活動を推測するために使用可能なデータ、並びに、活動を明示的に示すデータを収集することを含む場合がある。例えば、監視エンジン140は、ユーザによって出力されたコンテンツを監視する場合がある。さらに、監視エンジン140は、コンテンツの表現に関連するデータを装置110を介してユーザの所に収集する場合があり、及び/又は、ユーザが受信することを要求したコンテンツであって、出力(例えば、閲覧、及び/又は視聴)のために選択されたコンテンツを示すユーザコンテンツ選択を収集する場合がある。例えば、ユーザは、自分のデスクトップにある「My Project」フォルダにあるファイルをブラウズする場合がある。そして、ユーザは、ワード・プロセッシング・アプリケーションを起動し、そのフォルダにある特定のファイルの編集を開始する場合がある。監視エンジン140は、装置110におけるそのようなユーザ活動を監視する場合があり、そのような活動に基づいて、監視エンジン140は、ユーザ活動データを生成する場合がある。ユーザ活動データは、その後、ログ・データベース150に記憶され、予測エンジン160との間で共有される場合がある。
また、監視エンジン140は、アプリケーション・データを監視し、アプリケーションがアクセスしているデータを追跡する場合がある。アプリケーションには、生産性を向上させ(例えば、ワードプロセッシング、及びスプレッドシート)、通信を可能にし(例えば、電子メール、ウェブ・ブラウジング、及びインスタント・メッセージ)、及び/又は、エンターテイメントを提供するために(例えば、ゲーム、マルチメディアプレイヤー)装置上で実行されることがある種々の一般的アプリケーションの何れもが含まれ得る。
他の実施形態において、監視エンジン140は、装置110に関連するシステム情報を監視する場合がある。そのようなシステム情報には、装置110の種々の属性が含まれ得る。属性は、静的なものであっても、動的なものであってもよい。限定はしないが、動的属性には、例えば、バッテリーパワー情報、バッテリーパワー消費率、メモリ/ストレージ空間、無線信号強度、ネットワーク詳細、装置全体の健康状態情報、及び/又は、装置若しくは周囲の温度値等が含まれ得る。また、システム情報には、種々の入力装置若しくは出力装置の状態に関連する情報や、入力装置若しくは出力装置の状態の変化に関する情報も含まれ得る。例えば、装置情報には、装置110の他の装置との接続(例えば、ブルートゥース無線接続、又はハードウェア接続)を示すデータが含まれ得る。同様に、装置情報には、コンテンツをユーザに提示するための機能を備えた何らかのソフトウェア・アプリケーションの識別情報が含まれ得る。例示的実施形態として、装置情報は、装置110上のハードウェア・コンポーネント(例えば、センサー)、又はソフトウェア・コンポーネントによって生成される場合がある。さらに、装置情報は、取り付けられたハードウェア・コンポーネント、遠隔監視コンポーネント/サービス、又は、ネットワークデータソースのような外部リソースから、装置110によって取得される場合がある。
一実施形態において、装置情報は、グローバル・ポジショニング・システム(「GPS」)、又は携帯電話ポジショニングシステム(例えば、三角測量)から得られる(緯度・経度情報、又は他の地理的座標情報のような)情報に対応する場合がある。一実施形態において、GPSアンテナからのGPS受信信号は、GPS受信部によって処理され、監視エンジン140に入力される場合がある。装置110の位置情報は、ユーザ行動データに翻訳及び変換される場合があり、ユーザ行動データは、ユーザがその場所においてアクセスしなければならない場合がある一組のコンテンツを予測するために使用される場合がある。例えば、システムは、ユーザが図書館にいること、及び、過去のユーザの行動から、ユーザは図書館にいるときに、ユーザのラップトップの「My Photos」フォルダにある画像ファイルにアクセスしていることが分かること、を検出する場合がある。それに応じて、監視エンジン140は、ユーザの位置に関連するユーザの過去及び/又は現在の行動の他に、ユーザの位置に関する情報を収集する場合があり、それを予測エンジン160に送信する場合がある。情報を分析した後、予測エンジン160は、ユーザが図書館においてアクセスすることを選択する場合があるユーザのラップトップ上のオブジェクトを予測する場合がある。そのようなオブジェクトは、例えば、ユーザのラップトップの「My Photos」フォルダにある画像ファイルである場合がある。
他の実施形態において、監視されるデータのタイプは、装置タイプによって変わる場合がある。装置は、同期化イベントを判定するために、若しくは、同期化イベントを確立するための閾値を決定するために、又はそれら両方のために監視しなければならない特定タイプのデータを識別することができる。そのようなタイプのデータは、制約イベントとして分類される場合がある。例えば、監視エンジンは、そのようなタイプのデータに基づいて、ローカルリソースの激しい使用を示すパターン(例えば、低バッテリー、低ネットワーク帯域幅、高ネットワークトラフィック)を検出する場合がある。それに応じて、システムは、使用されるリソースを制限するために、リソース節約モードに切り替わり、データ送信及びデータ同期化を保留し、低減し、又は遮断する場合がある。例えば、ポータブル・デバイスのような一部の装置は、装置のバッテリー寿命を保つために、発生する同期化イベントの数をさらに制限する場合がある。他の実施形態において、システム100は、最小パワーレベルにしたがって、ポータブル・デバイスのための同期化イベントの仕様(とりわけ、例えば、装置が電源をオフにし、通信機能が失われる前に同期化情報を転送することなど)を定めている場合がある。さらに別の例として、システム100は、通信信号強度基準(最小持続通信信号強度)に基づいて、ポータブル・デバイスのための同期化イベントの仕様を定めている場合がある。
ログ・データベース150は、監視エンジン140から、収集されたデータを受信する場合があり、収集されたデータは、ユーザのネットワークにおけるどのオブジェクトがユーザによって現在使用され、又はアクセスされている場合があるかを暗示的に示す場合がある。また、ログ・データベース150は、例えば、装置110のユーザが装置110を使用してテレビシリーズの2つのエピソードを2週間続けて鑑賞したことを示す、ユーザ履歴を生成する場合がある。このデータは、ユーザ、及び装置110の他の現在及び過去の活動に関連するデータとともに、ログ・データベース150に記憶される場合がある。ログ・データベース150において、このデータは、クオリティのレベル(これは、正確さ、利用可能性、ユーザビリティ、及び弾力性の観点から測定される)として扱われる場合がある。追加又は代替として、この履歴統計データは、クラウド105上にある中央ログ・データベース115に記憶される場合があり、中央ログ・データベース115は、予測エンジン160を介して装置110に接続される場合がある。一実施形態において、中央ログ・データベースには、システム110内の複数の装置(例えば、装置120、及び/又は130)からのログが記憶される場合がある。実施形態によっては、中央ログ・データベースとログ・データベース150は単一のデータベースとして統合される場合があり、その単一のデータベースが、装置110に結合される場合がある。
一実施形態において、監視エンジン140、及びログ・データベース150は、装置110におけるユーザ活動及びシステム情報を監視するとともに、ユーザ活動及びシステム情報をログ・データベース150に記憶された履歴的統計情報の形で追跡することによって、予測エンジン160と同時に使用される場合がある。他の例示的システムとして、監視エンジン140、及び予測エンジン160は、相互に直接接続する機能を有している場合がある。代替又は追加として、予測エンジンは、中央予測エンジン125に接続される場合がある。
予測エンジン160は、装置110と、装置110のユーザに関連する他の装置(例えば、装置120及び130)との間における特定のオブジェクト(例えば、コンテンツ)の所望の同期化を予測する場合がある。一実施形態において、予測エンジン160は、種々の装置におけるユーザにとって望ましいであろうコンテンツの予測的選択を生成する場合がある。予測的選択の生成は、それらの装置に提供された以前のコンテンツ、及び/又は、システム100のステータス情報として得られる情報のような種々の要因に基づいて、推論を作成することを含む。さらに、そのような推論の作成は、1以上の経験則、及び/又は、データ・マイニング・アルゴリズムの使用を含む場合があり、1以上の経験則は、様々な方法で重み付けされる場合があり、データ・マイニング・アルゴリズムは、ログ・データベース150からのデータからデータ・マイニング・モデルを作成することが可能な一組の経験則及び計算である場合がある。モデルを作成するために、アルゴリズムはまず、ログ・データベース150により提供されたデータを分析し、特定タイプのパターン又は傾向を判定する場合がある。アルゴリズムは、この分析の結果を使用して、マイニング・モデルを作成するための最適なパラメタを定義する場合がある。その後、実用的なパターン及び詳細な統計情報を抽出するために、それらのパラメタは、データセット全体に適用される場合がある。また、予測エンジン160は、予測的に選択されたオブジェクト(例えば、コンテンツ)に対し、優先順位レベルを割り当てる場合がある。一部の実施形態において、予測エンジン160は、属性に基づいて動的に優先順位を割り当てる場合がある。
他の実施形態において、コンテンツの予測的選択の生成は、装置110における予測エンジン160の代替又は追加として、中央予測エンジン125において実施される場合がある。中央予測エンジン125は、ログ・データベース150及び中央ログ・データベース125から、全ての装置(例えば、装置110、120、130)及びシステム100におけるユーザ行動に関連するデータを受信し、コンテンツの予測的選択を生成する場合がある。コンテンツのそのような予測的選択は、予測エンジン160へ伝送される場合もあれば、他の関連ローカル予測エンジンへ伝送される場合もある。
一実施形態において、同期化情報は、予測エンジン160から他の装置へ伝搬される場合があり、例えばクラウド105のような中央ソースを通して、装置120及び130へ伝搬される場合がある。実施形態によっては、同期化情報は、中央ソースを必要とすることなく、装置110から、装置120及び/又は装置130へと直接伝搬される場合がある。
コンテンツの同期化の代替又は追加として、システム100は、ある装置から他の装置へデータを供給することにより、コンテンツを伝搬する場合がある。一実施形態において、そのような供給は、伝搬規則にしたがって管理される場合がある。
一実施形態において、予測は、特定の装置における出力習慣(例えば、閲覧習慣及び/又は聴取習慣)に基づくものである場合がある。例えば、特定の装置における特定のカテゴリ又はタイプのコンテンツの出力が増加すると、その結果、似たようなカテゴリ又はタイプの別のコンテンツが、その装置との同期化のために選択されることになる。例えば、装置120のユーザが、同じジャンル(例えば、シチュエーション・コメディ)の番組の3以上のエピソードを装置120上で鑑賞している場合、最近録画されたそのジャンルのエピソードが選択され、装置120との間で同期化される場合がある。
別の実施形態として、予測は、複数の装置における出力習慣(例えば、閲覧習慣、及び/又は聴取習慣)を含む場合がある。例えば、装置110のユーザによる特定のコンテンツの閲覧があった場合、その結果、装置110においてそのコンテンツの閲覧を開始したユーザは、装置120においてその特定のコンテンツの閲覧を継続することを選択することがあるという予測に基づいて、装置120との同期化のために、同じコンテンツが選択される場合がある。例えば、装置110(例えば、デスクトップ・コンピュータ)のユーザが、装置110において映画の鑑賞を開始したが、途中で中断した場合、予測エンジン160は、そのユーザが装置120(例えば、ラップトップ)においてその映画の鑑賞を継続する場合があることを結論付ける場合がある。それに応じて、その動画ファイルは、装置120との間で同期化されるべきものとして選択される場合がある。
別の例として、上記のように、装置110のユーザは、連続した2週間の間に、装置110を使用して、ポッドキャストシリーズの2つのポッドキャストを聴く場合がある。予測エンジン160は、そのようなユーザ行動に基づいて(ユーザ履歴に基づいて)、第3週目に装置110と同期化されるべき同じシリーズの第3のポッドキャストを選択する場合がある。さらに別の例として、ユーザは、装置110の「My Project」フォルダにある一組のワード・ファイルをブラウズする場合がある。ログ・データ150からこのユーザ活動データを受信することによって、予測エンジン160は、そのフォルダにある他のファイルもまた、そのユーザによってアクセスされ、及び/又は編集される場合があることを予測する場合がある。それに応じて、そのフォルダにあるファイルは、同期化されるべきものとして選択される場合がある。
さらに他の実施形態として、予測は、コンテンツのユーザ評価(これは、装置110、120、及び130のユーザから入力され、及び受信される場合がある)を明示的に示す場合がある。例えば、特定の装置上にある高いユーザ評価のコンテンツは、その特定の装置との同期化のために、似たようなコンテンツの選択を生じさせる場合がある。例えば、もしユーザが、装置110の「Books」フォルダにある2冊の本aを高く評価した場合、他の本は、同期化されるべきものとして選択される場合がある。
さらに別の実施形態として、予測は、以前の同期化活動に基づくものである場合がある。例えば、特定のカテゴリ及び/又は時間インターバル内において特定の装置と以前に同期化されたコンテンツは、その特定の装置との同期化のために、似たようなコンテンツの選択を生じさせる場合がある。一例として、もし装置120のユーザが、写真を装置110上にアップロードする二日間の間に、同じフォルダからの写真を明示的に3回同期化した場合、装置110のその同じフォルダへのその後の写真のアップロードは、同期化されるべきものとして選択される場合がある。
一部の実施形態において、予測は、ユーザの検索(サーチ)行為を含む場合がある。例えば、特定の装置におけるファイルの検索は、他の装置との同期化のために、検索結果のコンテンツの選択を生じさせる場合がある。もし装置110のユーザが、装置110の「My Pictures」フォルダにおいてウェディング写真を検索した場合、装置110は、「My Pictures」フォルダにおいてウェディング写真として識別されたファイルのリストを表示する場合がある。ユーザは、装置110において写真を見るためにそれらのファイルを開く場合もあれば、開かない場合もある。いずれであるかに関わらず、装置110において検索結果として識別されたウェディング写真は、ユーザが装置120において画像を見ることを望んでいる場合があるという予測に基づいて、装置120と同期化されるべきものとして選択される場合がある。
他の実施形態として、検索結果のリストは、装置におけるユーザの行動に関連するデータにより影響を受ける場合がある。例えば、ユーザの行動は、そのユーザが、装置110においてオーディオ・ファイルを頻繁に聴いていることを示す場合がある。それに応じて、予測エンジン160は、ユーザがそれらのファイルにアクセスしている場合があるという予測に基づいて、装置110にあるオーディオ・ファイルに対し、比較的高い優先順位を割り当てる場合がある。もしユーザが、装置120において検索キーワード「birthday」について検索を実行した場合、検索結果は、装置110においてオーディオ・ファイルに与えられたその比較的高い優先順位に基づいて、キーワード「birthday」に基づいて識別された画像又はワード文書の上に、キーワード「birthday」に基づいて識別されたオーディオ・ファイルを一覧表示するものとなる場合がある。予測エンジン160は、キーワード「birthday」に基づいて識別されたオーディオ・ファイルを、装置110と同期化されるべきものとして選択する。
上記の予測基準は、例として提供したものであり、制限ではない。したがって、任意数の基準、アルゴリズム又は任意の他の方法が、単独で、任意の組み合わせの形で、又は重み付けをした形で使用される場合がある。上で述べたように、コンテンツの予測的選択は、予測エンジン160、及び/又は中央予測エンジン125によって生成される場合がある。
他の実施形態において、同期化イベントは、装置に関連する1以上の入力(例えば、パワーレベル、無線通信ネットワーク強度、モーション・センサー、タイマー、ヘッドフォン/スピーカの有効化など)にさらに基づいて決定される場合がある。例えば、特定の装置におけるヘッドフォンの有効化は、同期化のためのオーディオ・コンテンツの選択を生じさせる場合がある。例えば、装置110のユーザが装置110においてヘッドフォンを有効化した場合、「My Music」フォルダにあるオーディオ・ファイルが、同期化されるべきものとして選択される場合がある。他の例において、ユーザは、計算に労力を要し、かつ、多量のディスクアクセス又はファイルシステム操作を行うことがある活動を実施している場合がある。例えば、ユーザは、1以上のアプリケーションを使用して、ビデオを編集し、又は大きなスプレッドシートを再計算している場合がある。その場合、予測エンジン160は、それらのオブジェクトの優先順位を低下させる場合があり、それによって、同期化処理が、既に高レベルで使用されているシステムリソースに対し、さらなる圧力を加えないようにする場合がある。
また、一実施形態において、装置110の予測エンジン160は、到来した同期化情報を受信したときに、その特定の装置において収集された追加の同期化情報であるフィルタ不適合情報を取り込む場合があり、及び/又は、他の競合解消を実施する場合がある。
オブジェクト受信器170は、装置120及び130のようなユーザのネットワークにおける種々の装置からの同期化情報に基づいてオブジェクトを取得するための個ポーネントであってもよい。他の実施形態として、オブジェクト受信器170は、通信媒体を通じて種々のコンテンツ・プロバイダーからオブジェクトを取得する場合がある。
オブジェクト・データベース180は、オブジェクト受信器170からオブジェクト(例えば、コンテンツ)を受信し、記憶する場合がある。例えば、装置110、120、及び130が互いに利用可能である場合、装置110、120、及び130の間で、同期化処理が行われる場合がある。これは、装置110によって記憶されたコンテンツを、装置120、及び/又は装置130内の記憶媒体にコピーすることを含む場合がある。また、それは、装置120によって記憶されたコンテンツを、装置110、及び/又は装置130内の記憶媒体(例えば、オブジェクト・データベース180)にコピーすることをさらに含む場合がある。最後に、それは、装置130によって記憶されたコンテンツを、装置110、及び/又は装置120内の記憶媒体(例えば、オブジェクト・データベース180)にコピーすることをさらに含む場合がある。
一実施形態では、上で述べたオブジェクトの他に、装置位置、装置タイプ、及び、中央基準点を有する任意の属性値のようなコンテキスト情報、又は動的属性もまた、オブジェクト・データベース180に記憶される場合がある。他の動的属性には、クライアント・オペレーティング・システム、クライアント・ロケール、クライアント・デバイス・タイプ、都市、州の略号、郵便番号、言語コード、国コード、エリア・コード、電話番号、又は電話の国アクセスコードなどが含まれ得る。
一実施形態において、オブジェクト・データベース180は、オブジェクトを削除する場合がある。そのような削除は、1以上の状況が発生したときに実施される場合がある。状況の例には、コンテンツが所定の時間閾値よりも長い時間にわたってオブジェクト・データベース180に記憶されている場合(例えば、ゴミ箱フォルダにある電子メール)、ユーザが削除すべきコンテンツを手動で選択している場合、コンテンツがユーザによって既に出力(例えば、閲覧)され終わっている場合、及び/又は、他の装置からコンテンツを削除するための命令を受信した場合などが含まれ得る。例は、これらの例に限定されない。
装置110に関連するオブジェクト送信器190は、装置110が知っている1以上の装置であって、かつ、同期化情報を受信する適格性を有している1以上の装置(例えば、装置120及び130)に、オブジェクトを送信する場合がある。例えば、同じユーザ又はユーザ・アカウントに関連するピア・デバイスは、コンテンツを受信する適格性を有しているとみなされる場合がある。一実施形態において、オブジェクト送信器190は、オブジェクトの送信をナビゲートする場合がある。一実施形態において、オブジェクト送信器190は、オブジェクトを装置120又は130のような受信装置に直接送信する場合がある。他の実施形態において、オブジェクト送信器190は、クラウド105を介してオブジェクトを受信装置に送信する場合がある。
オブジェクト送信は、オブジェクトが伝送されるべき宛先の装置に基づいて、キューに入れられる場合がある。各キューは、1つの装置に関連する場合があり、関連装置へ伝送されるべき1以上のオブジェクトを表す場合がある。そのようなキューは、ピア・キューと呼ばれる場合がある。一実施形態において、キューには、関連装置に割り当てられた同期化優先順位に基づく処理のためのサービスが提供される場合がある。装置番号は、例えば、1、2、・・・、Nのような数値で表される場合がある。同期化優先順位もまた、数値で表される場合があり、高い値ほど処理の高い優先順位を表し、低い値ほど低い優先順位を表す場合がある。例えば、装置の処理速度に基づいて、デスクトップ・コンピュータは、モバイル機器よりも高い優先順位を有する場合がある。それに応じて、高い方の優先順位を有する装置へ伝送されるべきオブジェクトは、低い方の優先順位を有する装置へ伝送されるべきオブジェクトよりも先に処理される場合がある。また、上で述べたように、各キューは、1以上のオブジェクトを含む。各キュー内のオブジェクトは、オブジェクトに関連する同期化優先順位に基づいてランク付けされる場合がある。例えば、画像ファイルは、予測エンジン160に関して上で詳しく述べた理由から、ビデオ・ファイルよりも高い優先順位を有する場合がある。
一部の実施形態において、優先順位マネージャは、各オブジェクト及び各装置に同期化優先順位(例えば、優先順位レベル)を割り当てる場合がある。また、優先順位マネージャは、監視エンジン140からの監視情報に基づいて、各オブジェクト及び各装置の優先順位レベルに変更を加える場合がある。
一実施形態において、システム100は、ネットワークベースのリソースから装置110、又は、装置120及び130のような選択された受信装置に関連するユーザに対応する情報のような外部情報を取得するために、外部データソース・インタフェース・コンポーネントを有する場合がある。代替又は追加として、上で詳しく説明したように、装置110は、他の装置から取得した同期化情報を処理するためのデータ処理コンポーネントを含む場合がある。データ処理コンポーネントはさらに、特定の同期化情報のための受信装置である場合がある1以上の装置を決定する場合があり、また、必要に応じて、各受信装置が受信することがある同期化情報の特定のサブセットを決定する場合がある。オブジェクト・データベース180に記憶されたオブジェクトは、データ処理コンポーネントによって使用される場合がある。
他の無線装置若しくは有線装置、及び/又はクラウド105との間の通信を可能にするために、システム100及び装置110は、多数の追加的コンポーネント、システム、及び/又はサブシステムを含む場合がある。追加的コンポーネントには、セルラー無線アクセス・ネットワーク、IEEE802.11技術規格(「WiFi」)のファミリーに基づく無線ネットワーク、IEEE802.16規格(「WiMax」)に基づく無線ネットワーク、及び他の無線ネットワークのような無線通信ネットワークを介して無線装置との間で通信を確立するための、1以上の移動通信交換局が含まれ得る。移動通信交換局は、一般に「ネットワーク」と呼ばれるインターネット、イントラネット、プライベート・ネットワーク、及びポイント・ツー・ポイントネットワークのような通信ネットワークを介して種々の通信を確立するためのインタフェースを含む場合がある。
装置110は、ハードウェア、及び/又はソフトウェアの任意の適当な組み合わせを使用して実施される場合がある。例えば、一実施形態において、装置110は、少なくとも処理装置、及びメモリを含む場合がある。処理装置は、メモリに記憶された種々の命令を一般に読み出し、実行する装置(例えば、中央演算処理装置(CPU)、プロセッサ、又はマイクロコントローラなど)に対応する場合がある。メモリは、コンピュータで実施される命令を記憶する任意の一般的記憶装置に対応する場合がある。装置110は、処理ユニット(複数可)を使用して、システムメモリによって与えられた種々の命令を実行することにより、種々の機能を実施する場合がある。また、メモリには、オペレーティング・システム・コンポーネント、種々のプログラム・モジュール、プログラム・データ、及び/又は他のコンポーネントを提供する情報が記憶される場合がある。他の実施形態において、装置110は、記憶媒体、又は機械読取可能な物品を含む場合があり、かかる記憶媒体、又は機械読取可能な物品には、例えば、任意の適当なタイプのメモリユニット、メモリデバイス、メモリ物品、メモリ媒体、記憶装置、記憶物品、記憶媒体、及び/又は記憶ユニットが含まれる場合があり、例えば、メモリ、リムーバブル媒体若しくは非リムーバブル媒体、消去可能媒体若しくは非消去可能媒体、書き込み可能媒体若しくは書き換え可能媒体、デジタル媒体若しくはアナログ媒体、ハードディスク、フロッピーディスク、コンパクト・ディスク・リードオンリー・メモリ(CD−ROM)、コンパクト・ディスク・レコーダブル(CD−R)、コンパクト・ディスク・リライタブル(CD−RW)、光学ディスク、磁気媒体、磁気光学媒体、リムーバブル・メモリ・カード若しくはディスク、種々のタイプのデジタル多用途ディスク(DVD)、テープ、カセットなどが含まれる場合がある。記憶媒体には、命令、又は一組の命令が記憶され、命令が機械によって実行されたとき、当該機械に、種々の実施形態による方法及び/又は動作を実施させる。命令には、任意の適当な高レベル、低レベル、オブジェクト指向の、仮想的な、コンパイルされた、及び/又はインタープリットされたプログラミング言語を使用して実施される、ソースコード、コンパイルされたコード、インタープリットされたコード、実行可能コード、静的コード、動的コード、暗号化されたコード等のような、任意の適当なタイプのコードが含まれ得る。装置110は、1以上の入力装置(キーボード、マウスデバイス、特殊な選択キーなど)、及び1以上の出力装置(ディスプレイ、プリンタ、オーディオ出力機構など)をさらに含む場合がある。
図2は、一実施形態によるシステム100の種々の例示的コンポーネントを示している。オブジェクト送信器190は、ピア−1キュー210、ピア−2キュー220、及びピア−Nキュー230を含み、各キューについては、以下でより詳しく説明される。各ピア・キューは、1つの関連装置に供給され、関連装置へ送信されるべき一群のオブジェクトを表している。例えば、ピア−1 240は、デスクトップ・コンピュータである場合があり、ピア−1キュー210は、そのデスクトップ・コンピュータへ送信されるべきものとして並べられた一群のオブジェクトである場合がある。そのようなオブジェクトには、ファイル、パッチ、及び/又はグラフィックス等のようなコンテンツが含まれ得る。ファイルには、ビデオ、オーディオ、及び/又はテキストが含まれ得る。図1を参照して上でより詳しく説明したように、オブジェクト送信は、オブジェクトが伝送されるべき宛先となる装置に基づいて、キューに入れられる場合があり、ピア・キューには、関連装置に割り当てられた同期化優先順位に基づく処理のためのサービスが提供される場合がある。代替又は追加として、図1を参照して上でより詳しく説明したように、オブジェクトは、オブジェクトに関連する同期化優先順位に基づいて並べられる。
一実施形態において、同期化優先順位の割り当ては、コンテンツ使用態様、ファイルタイプを識別するために装置上で使用されたアクティブ・アプリケーション、他の装置において最も最近閲覧されたコンテンツに関連する情報、及び同期化コンテンツに対する優先時間に基づいて実施される場合がある。
例えば、ピア−1 240はデスクトップ・コンピュータである場合があり、ピア−2 250はラップトップである場合があり、ピア−N 230はモバイル機器である場合がある。ピア−1 240は、そのプロセッサ速度に基づいて、ピア−2 250、及びピア−N 230よりも高い優先順位を有する場合がある。速い方のプロセッサを有するデスクトップ・コンピュータは、比較的高い優先順位を有する場合がある。なぜなら、ピア−1 240は、オブジェクトの大きな集合を同期化するだけの十分なリソースを有している場合があるからであり、このことは、ユーザにとってより望ましい場合がある。したがって、ピア−1キュー210は、ピア−2キュー220、及びピア−N230キューよりも先に処理される場合がある。
装置番号は、例えば、1、2、・・・、Nのような数値で表される場合がある。同期化優先順位(図2には示されていない)もまた、数値で表される場合があり、高い値ほど高い優先順位を示し、低い値ほど低い優先順位を示す場合がある。
図2に示したオブジェクト送信器190が、一般化された描写であり、本開示の範囲から外れることなく、他のコンポーネントが追加され、又は、既存のコンポーネントが取り除かれ、変更が加えられ、若しくは配置変更される場合があることは、容易に明らかなはずである。図2は、オブジェクト送信器190が、3つのキュー、すなわち、ピア−1キュー210、ピア−2キュー220、及びピア−Nキュー230を含むことを示しているが、実際には、システムは、ピア−1 240、ピア−2 250、及びピア−N 260よりも少数又は多数の装置を含む場合がある。図2における数Nは、一実施形態によれば、一連のキュー及び装置が、オブジェクト送信器に存在する場合があることを示している。
次に、システム100の動作に移ると、図3は、一実施形態による例示的処理フロー図300を示している。より具体的には、例示する処理は、オブジェクトの予測的選択を生成し、同期化優先順位に基づいてオブジェクトを送信するための「プッシュ」モデルを表している。図3に示した処理が、一般化された例を表すものであり、本発明の範囲及び思想から外れることなく、他の処理が追加され、又は既存の処理が取り除かれ、変更が加えられ、若しくは再配置される場合があることは、容易に明らかなはずである。また、処理は、メモリに記憶された種々の実行可能命令を表している場合があるものと理解すべきであり、かかる実行可能命令は、処理装置に応答させ、アクションを実施させ、状態を変更させ、及び/又は、決定を行わせる場合がある。したがって、記載した処理は、図1及び図2に示したような装置110のような計算装置に関連するメモリによって提供される種々の実行可能命令、及び/又は処理として実施される場合がある。さらに、図3は、説明した種々の実施形態の実施を制限することを意図するものではなく、むしろこの図は、当業者が、回路を設計/製造し、ソフトウェアを生成し、又はハードウェアとソフトウェアの組み合わせを使用して、例示した処理を実施する際に利用することができる基本的情報を示している。
処理300は、ブロック305から開始され、ここで、監視エンジン140は、装置110におけるユーザ活動、及びデバイス情報を監視する。この処理は、要求されたコンテンツ、受信したコンテンツ、出力されたコンテンツ、使用されたアプリケーション、利用可能な記憶容量、ネットワーク利用可能性、ネットワーク速度、ネットワーク・コスト、バッテリー容量、充電状態、装置の位置などに関連するデータを収集することを含む。一実施形態において、監視の処理は、全てのユーザ活動及び装置情報に関連するデータを収集することを必要とする場合がある。他の実施形態において、監視の処理は、データの事前に識別された状態又はカテゴリのような所定のプロトコルに基づいて実行される場合がある。例えば、監視エンジン140は、1分よりも長い持続時間にわたってユーザが実施する活動に関連するデータを収集するように構成される場合があり、1分未満の時間しか要しない活動に関連するデータは、いずれも破棄される場合がある。また、監視エンジン140は、収集されたデータのサブセットを識別し、ユーザが必要としている場合があるそのサブセットのみを得るために、アクションのフィルタリングを実施する場合がある。
ブロック310において、ユーザ活動及び装置情報に関連する収集されたデータは、ログ・データベース150に渡され、記録される場合がある。ログ・データベース150には、それらの記録(レコード)が記憶される場合があり、実施形態によっては、ログ・データベース150は、データを組織化し、種々のタイプのデータ間における相関を生成する場合がある。一実施形態では、データの組織化のために、リレーショナル・データベース構造が使用される場合がある。すなわち、データは、種々のテーブルの中に収集され、関連するデータ片は、単一の構造又はレコードとして1つにグループ化される場合があり、そうした構造及びレコード間の関係が定義される場合がある。そのような構造及びレコードは、予測エンジン160にとって利用可能にされる場合があり、予測エンジン160は、ログ・データベース150から記憶されたデータを引き出し、そのデータをさらなる分析のために検査する。図1に関連して上で説明したように、一実施形態において、ログ・データベースからのデータは、中央ログ・データベース115に送信される場合がある。中央ログ・データベース115は、ネットワーク上の装置(例えば、装置110、120、及び130)から受信した全てのデータを統合し、記憶する。
ブロック315において、予測エンジン160は、中央ログ・データベースから検討することが可能な他のデータがあるか否かを判定する場合がある。他のデータが識別された場合、ブロック320において、そのデータは取得される場合がある。ブロック325において、予測エンジンは、ユーザにとって望ましいと予測エンジンが判断するオブジェクト(例えば、コンテンツ)を予測し、それらのオブジェクトを予測的に選択する。この予測的選択の処理は、ログ・データベース150からデータを引き出し、そのデータを解釈するためのデータ分析を実施することを含む場合がある。図1に関連して上で説明したように、予測エンジンは、ユーザの履歴的データ使用パターンのような種々の要因に基づいて、オブジェクトに対する将来の要求を予測する予測ルールを作成する場合がある。
ブロック330において、予測的に選択されたオブジェクトは、オブジェクト・データベース180から取得される。ブロック335において、オブジェクト送信器190は、選択されたオブジェクトが送信されることになる宛先の装置に基づいて、当該オブジェクトを種々のキューにグループ分けすることによって、キューを生成する。例えば、オブジェクトaが(図2に示されているような)ピア−1 240へ送信されるべきものである場合、オブジェクトaは、ピア−1キュー210にグループ分けされる場合がある。同様に、オブジェクトbが(図2に示されているような)ピア−2 250へ送信されるべきものである場合、オブジェクトbは、ピア−2キュー220にグループ分けされる場合がある。一実施形態では、同じ装置へ送信されるべき複数のオブジェクトが存在する場合がある。例えば、オブジェクトaの他に、オブジェクトc及びdもまた、ピア−1 240へ送信されるべきものと判断される場合がある。それに応じて、オブジェクトc及びdは、オブジェクトaとともに、ピア−1キュー210にグループ分けされる場合がある。この状況では、ブロック340において、グループ分けの処理は、オブジェクトa、b及びcをそれらの同期化優先順位に基づいてランク付けすることをさらに含む場合がある。例えば、オブジェクトaは、オブジェクトb及びcよりも高い優先順位を有する場合がある。それに応じて、オブジェクトaは、最初に同期化され、オブジェクトb及びcよりも先にピア−1へ送信されるべきものと判断される場合がある。
ブロック345では、最も高い同期化優先順位を有するキューを処理することにより、オブジェクトを送信する処理が開始される場合がある。例えば、ピア−1キュー210は、ピア−2キュー220、及び/又はピア−Nキュー230よりも高い優先順位を有する場合がある。それに応じて、オブジェクト送信器190は、ピア−1キュー210を最初に処理することによって、オブジェクト送信の処理を開始する。図2に関連して上でより詳細に説明したように、各キューの同期化優先順位は、キューに関連する装置に割り当てられた同期化優先順位に基づいて決定される場合がある。例えば、ピア−1キュー210の同期化優先順位は、ピア−1 240の同期化優先順位に基づいて決定される場合がある。
一実施形態において、ピア・キューの同期化優先順位は、監視エンジン140により監視された特定のデータに基づいて調節される場合がある。図1に関連して上で詳しく説明したように、監視エンジン140は、バッテリーパワー情報、バッテリーパワー消費率、メモリ/ストレージ空間、無線信号強度、及び/又はネットワーク詳細等のような装置110の種々の属性を監視する場合がある。かかる属性に関連するデータに基づいて、予測エンジン160は、装置110のリソースが激しく使用されていることを結論付ける場合がある。例えば、監視エンジン140は、装置110のバッテリーが低下していること、ネットワーク帯域幅が制限されていること、及びネットワーク・トラフィックが課金(例えば、3G又はローミング)の影響を受けていること検出する場合がある。それに応じて、予測エンジン160は、リソースの使用を制限するために、オブジェクトの送信を保留し、低減し、又は遮断するためのコマンドを発行する場合がある。一実施形態において、予測エンジン160は、例えば、比較的多くのバッテリーパワー、ネットワーク帯域幅、及び/又はストレージ空間を必要とすることがあるピア・キュー、及び/又はそのようなキュー内のオブジェクトの同期化優先順位を低下させる場合がある。他の実施形態において、システムは、バッテリーパワー情報、バッテリーパワー消費率、ストレージ空間、無線信号強度、及びネットワーク詳細に基づく同期化を遮断するために、予測モジュール160からのコマンドにしたがって同期化処理を遮断する同期化マネージャを有する場合がある。
他の実施形態では、ピア−1キュー210のキューに関連するピア−1 240に基づいて、ピア−1キュー210が最高同期化優先順位を有している旨の判定がなされた後、装置110は、ピア−1 240が装置110にとって利用可能であるか否かを判定する場合がある。利用可能である場合、キューは処理され、オブジェクトは、ピア−1 240と同期化される(ピア−1 240にコピーされる)。一方、利用可能ではない場合、装置110は、ユーザに、利用可能な装置を作ることを促す場合がある。この促す動作は、装置のユーザ・インタフェース(例えば、ディスプレイ)を通して実施される場合があり、及び/又は、装置に接続された出力装置を通して実施される場合がある。ピア−1 240が利用可能になると、キューを処理することができる。
図4は、他の実施形態による他の例示的処理フロー図400を示している。より具体的には、例示した処理は、ネットワーク上の種々の装置から同期化のためにオブジェクトを受信するための「プル」モデルに対応している。例えば、装置110は、要求を送信し、又はトランザクションを開始することができ、それによって、オブジェクト(例えば、コンテンツ)は装置110へダウンロードされ、又はストリーム配信されることになる。一般的には、コンテンツを提供している装置は、装置110から要求を受信したときに転送を開始するであろう。図4に示した処理が、一般化された例を表すものであり、本開示の範囲及び思想を外れるこなく、他の処理が追加される場合があり、又は、既存の処理が取り除かれ、変更が加えられ、若しくは配置変更される場合があることは、容易に明らかなはずである。また、処理は、メモリに記憶された種々の実行可能命令を表している場合があるものと理解すべきであり、かかる実行可能命令は、処理装置に応答させ、アクションを実施させ、状態を変更させ、及び/又は、決定を行わせる場合がある。したがって、記載した処理は、図1及び図2に示したような装置110のような計算装置に関連するメモリによって提供される種々の実行可能命令、及び/又は処理として実施される場合がある。さらに、図4は、説明した種々の実施形態の実施を制限することを意図するものではなく、むしろこの図は、当業者が、回路を設計/製造し、ソフトウェアを生成し、又は、ハードウェアとソフトウェアの組み合わせを使用して、例示した処理を実施する際に利用することができる基本的情報を示している。
処理400は、ブロック405から開始され、ここで、監視エンジン140は、装置110におけるユーザ活動、及びデバイス情報を監視する。ブロック410において、監視エンジン140は、監視された活動又はシステム情報の中に、装置110のユーザが特定のオブジェクト(例えばコンテンツ)に対する即座のアクセスを必要としていることを示しているものがあるか否かを判定する。具体的には、この処理は、例えば発見プロセスを実施することを含む場合があり、当該発見プロセスの中で、監視装置は、一部のユーザ活動が、オブジェクト(これは、特定のファイル、又は一組のファイルであってもよい)に対する即座のアクセスの必要性を示していることを検出する場合がある。例えば、ユーザは、コンテンツの特定のフォルダへ移動する場合があり、その場合、監視エンジン140は、この活動を、その特定のフォルダ内のファイルにアクセスするために到来した要求のインジケーションとして解釈する場合がある。他の例には、限定はしないが、ユーザが特定のアプリケーションを開き、特定のLAN接続に接続し、特定のファイルを検索することが含まれ得る。
もし装置110のユーザが、オブジェクトに対する即座のアクセスを必要としている場合がある旨の判定がなされた場合、予測エンジン160によって同期化処理が開始される場合がある。ブロック420において、予測エンジン160は、同期化通知メッセージを作成する。同期化通知メッセージは、オブジェクト(例えば、特定のファイル、又は一組のファイル)を識別することができ、オブジェクトが、装置110と同期化されることを必要としていることを示すことができ、コンテンツを引き出すための要求を含む。また、同期化通知メッセージは、装置において変更が加えられるべきオブジェクトに関連する同期化優先順位を要求する場合がある。
ブロック425において、予測エンジン160は、同期化通知メッセージを、ユーザ又はユーザ・アカウントに関連する他の装置に送信する。具体的には、この処理は、ユーザ又はユーザ・アカウントに関連する如何なる装置をも識別すること、及び、関連装置の何れかがオブジェクトの新しいバージョンを有しているか否かを判定することを含む場合がある。例えば、同期化されるべきオブジェクトは、デジタル出版物ファイルである場合がある。予測エンジン160は、装置120及び130が装置110のユーザ又はユーザ・アカウントに関連していること、及び、装置120及び130がそのデジタル出版物ファイルに対応するオブジェクトのコピー(場合によっては、異なるフォーマット)を有しているかもしれないことを示す場合がある。それに応じて、予測エンジン160は、同期化通知メッセージを装置120及び130へ送信する場合がある。他の実施形態において、中央予測エンジン125は、ユーザ又はユーザ・アカウントに関連する装置に対し、オブジェクトが同期化されることを必要としていることを示す同期化通知メッセージを送信する場合がある。
一実施形態において、同期化通知メッセージが受信されると、好ましくは、要求が有効な装置から来たことを確認するために、要求は、中央基準点によって確認される。この検査は、好ましくは、メッセージヘッダ等に埋め込まれたセキュリティ情報の有効性を確認するものである。このセキュリティ情報は、有効な装置及びサーバのみが保有しているキーを使用して暗号化されることが好ましい。ただし、必要に応じて、公開鍵暗号、及び/又は、デジタル署名証明書等のような、任意数の確認技術を使用することができる。要求が有効なものでない場合、好ましくは、そのメッセージを送信した装置(例えば、装置110)に対し、その装置は同期化フレームワークを使用することが許可されていないことを示すエラー応答が返される。
同期化通知メッセージに応答して、装置120及び130は、その通知を処理する。この処理は、装置120及び130のオブジェクト・データベースにオブジェクトのコピーが存在するか否かを判定することを含む場合がある。オブジェクトが存在することが確認された場合、そのオブジェクトが存在する装置(例えば、装置120、若しくは装置130、又は両方の装置)におけるそのオブジェクトに関連する同期化優先順位は増加され、ブロック430において、その独自の構成設定及びネットワーク利用可能性にしたがって、装置はそのオブジェクトを装置110へ送信する。ブロック425において、オブジェクトは、装置110のオブジェクト受信器170によって受信される。実施形態によっては、送信は、ある装置から他の装置へ直接的に実施される場合がある。他の実施形態において、オブジェクトの送信は、クラウド105を通して実施される場合がある。
一実施形態において、装置110へのオブジェクトの送信は、監視エンジン140により監視された特定のデータに基づいて遮断され、又は保留される場合がある。図1に関連して上でより詳しく説明したように、監視エンジン140は、バッテリーパワー情報、バッテリーパワー消費率、メモリ/ストレージ空間、無線信号強度、及び/又は、ネットワーク詳細等を含む装置110の種々の属性を監視する場合がある。そのような属性に関連するデータに基づき、予測エンジン160は、装置10のリソースが激しく使用されていることを結論付ける場合がある。例えば、監視エンジン140は、装置110のバッテリーが低下していること、ネットワーク帯域幅が制限されていること、及び/又は、ネットワーク・トラフィックが課金(例えば、3G又はローミング)の影響を受けていることを検出する場合がある。それに応じて、予測エンジン160は、リソースの使用を制限するために、オブジェクトの送信を保留し、又は遮断するコマンドを発行する場合がある。
ブロック435において、オブジェクトは、装置110のオブジェクト・データベースに記憶される場合がある。一実施形態において、装置120及び130は、同期化通知メッセージを装置120及び130のログ・データベースに記憶する場合があり、そのような情報を使用して、各データベースにおける履歴的同期化データを改善する場合がある。また、他の実施形態において、装置110は、複数の装置から受信した同期化情報の競合解消を実施する場合がある。
上記の開示は、先の例を参照して図示説明されているが、下記の特許請求の範囲に規定される本開示の思想及び範囲から外れることなく、他の形態、詳細、及び実施形態を作成することも可能であると理解すべきである。

Claims (20)

  1. データを同期化する方法であって、
    プロセッサにより、ネットワーク上の複数の装置において一組の属性を監視することと、
    前記プロセッサにより、前記監視された一組の属性に基づいて同期化のためにある装置から他の装置へ送信すべき複数のオブジェクトを選択することと、
    前記プロセッサにより、前記監視された一組の属性に基づいて、前記選択されたオブジェクトの各々に同期化優先順位を割り当てることと、
    前記プロセッサにより、前記選択されたオブジェクトが送信されることになる宛先の前記他の装置に基づいて前記選択されたオブジェクトをキューにグループ分けすることによって、キューを生成し、前記キューの各々が、前記他の装置の各々に関連していることと、
    前記プロセッサにより、各キュー内の前記選択されたオブジェクトに割り当てられた前記同期化優先順位に基づいて、前記各キュー内の前記選択されたオブジェクトをランク付けすることと、
    前記プロセッサにより、前記キュー、及び各キュー内の前記選択されたオブジェクトの前記ランク付けに基づいて、前記ある装置から前記他の装置へ前記選択されたオブジェクトを送信することと
    を含む方法。
  2. データを同期化する方法であって、
    プロセッサにより、ネットワーク上の複数の装置において一組の属性を監視することと、
    前記プロセッサにより、前記監視された一組の属性に基づいて、同期化のためにある装置から他の装置へ送信すべき複数のオブジェクトを選択することと、
    前記プロセッサにより、前記監視された一組の属性に基づいて、前記選択されたオブジェクトの各々に同期化優先順位を割り当てることと、
    前記プロセッサにより、前記監視された一組の属性に基づいて、前記他の装置の各々に同期化優先順位を割り当てることと、
    前記プロセッサにより、前記選択されたオブジェクトが送信されることになる宛先の前記他の装置に基づいて前記選択されたオブジェクトをキューにグループ分けすることによって、キューを生成し、前記キューの各々が、前記他の装置の各々に関連していることと、
    前記プロセッサにより、各キュー内の前記選択されたオブジェクトに割り当てられた前記同期化優先順位に基づいて、前記各キュー内の前記選択されたオブジェクトをランク付けすることと、
    前記プロセッサにより、各キューに関連している前記他の装置の各々に割り当てられた前記同期化優先順位に基づく各キューの同期化優先順位、及び各キュー内の前記選択されたオブジェクトの前記ランク付けにしたがって、前記ある装置から前記他の装置へ前記選択されたオブジェクトを送信することと
    を含む方法。
  3. 前記一組の属性は、静的属性、及び/又は動的属性を含む、請求項1又は請求項2に記載の方法。
  4. 前記一組の属性は、ユーザ活動、システムの処理及び動作、バッテリーパワー情報、バッテリーパワー消費率、ストレージ空間、無線信号強度ネットワーク構成、装置全体の健康状態情報、装置又は周囲の温度値、種々の入力装置又は出力装置の状態、入力装置又は出力装置の状態の変化に関する情報、コンテンツをユーザに提示するための機能を備えたソフトウェア・アプリケーションの識別情報、装置の位置、装置タイプ、データのタイプ、装置の処理速度、装置のリソース、ネットワーク帯域幅、ネットワーク・トラフィック、全ての前記複数の装置及びシステムにおけるユーザ行動、特定の装置における出力習慣、複数の装置における出力習慣、ユーザ履歴、オブジェクトの明示的ユーザ評価、以前の同期化活動、ユーザの検索行為、並びに、装置に関連する入力の中から選択される、請求項1〜3の何れか一項に記載の方法。
  5. 同期化優先順位を割り当てることは、同期化優先順位を動的に割り当てることをさらに含む、請求項1〜4の何れか一項に記載の方法。
  6. 前記選択されたオブジェクトの各々、及び前記装置の各々の前記同期化優先順位は、前記監視された一組の属性に基づいて変更することができる、請求項2、及び請求項2に直接的又は間接的に従属する請求項3〜5のうちの何れか一項に記載の方法。
  7. バッテリーパワー情報、バッテリーパワー消費率、ストレージ空間、無線信号強度、及びネットワーク詳細のうちの少なくとも1つに少なくとも部分的に基づいて、前記同期化を遮断するためのコマンドを発行することをさらに含む、請求項1〜6の何れか一項に記載の方法。
  8. 前記ネットワーク上の前記複数の装置において前記一組の属性を監視することは、
    各群の情報前記複数の装置の各装置における属性に関連する情報に対応している、前記一組の属性に関連する複数群の情報を収集することと、
    前記収集された複数群の情報を分析することと
    さらに含む、請求項1〜7の何れか一項に記載の方法。
  9. 複数のオブジェクトを選択することは、ユーザによって要求される可能性がある一群のオブジェクトを予測することをさらに含む、請求項1〜8の何れか一項に記載の方法。
  10. 複数のオブジェクトを選択することは、
    履歴的ユーザ活動を受信することと、
    前記履歴的ユーザ活動を使用して、ユーザによって要求される可能性がある複数のオブジェクトを予測することと
    さらに含み、前記ユーザが、前記複数の装置に関連している、請求項1〜9の何れか一項に記載の方法。
  11. 前記選択されたオブジェクトをグループ分けすることによって、キューを生成することは、
    第1優先順位レベルを有する第1の装置に関連する第1のキューを生成することと、前記第1のキューが、前記第1の装置へ送信されるべき選択されたオブジェクトを含むことと、
    第2優先順位レベルを有する第2の装置に関連する第2のキューを生成することと、前記第2のキューが、前記第2の装置へ送信されるべき選択されたオブジェクトを含み、前記第2の優先順位レベルが、前記第1の優先順位レベルよりも高いこと
    をさらに含み、
    前記選択されたオブジェクトを送信することは、
    前記第2の優先順位レベルが前記第1の優先順位レベルよりも高いことに基づいて、前記第1のキュー内の前記選択されたオブジェクトを送信することよりも先に、前記第2のキュー内の前記選択されたオブジェクトを送信すること
    をさらに含む、請求項1〜10の何れか一項に記載の方法。
  12. データを同期化するシステムであって、
    ネットワーク上の複数の装置において一組の属性を監視するための監視モジュールと、
    前記監視された一組の属性に基づいて同期化のためにある装置から他の装置へ送信すべき複数のオブジェクトを選択し、前記監視された一組の属性に基づいて、前記選択されたオブジェクトの各々同期化優先順位を割り当てるための予測モジュールと、
    前記選択されたオブジェクトが送信されることになる宛先の前記他の装置に基づいて前記選択されたオブジェクトをキューにグループ分けすることによって、キューを生成し、前記キューの各々が、前記他の装置の各々に関連しており、各キュー内の前記選択されたオブジェクトに割り当てられた前記同期化優先順位に基づいて、前記各キュー内の前記選択されたオブジェクトをランク付けし、前記キュー、及び各キュー内の前記選択されたオブジェクトの前記ランク付けに基づいて、前記ある装置から前記他の装置へ前記選択されたオブジェクトを送信するためのオブジェクト送信器と
    を含むシステム。
  13. データを同期化するシステムであって、
    ネットワーク上の複数の装置において一組の属性を監視するための監視モジュールと、
    前記監視された一組の属性に基づいて、同期化のためにある装置から他の装置へ送信すべき複数のオブジェクトを選択し、前記監視された一組の属性に基づいて、前記選択されたオブジェクトの各々に同期化優先順位を割り当て、前記監視された一組の属性に基づいて、前記他の装置の各々に同期化優先順位を割り当てるための予測モジュールと、
    前記選択されたオブジェクトが送信されることになる宛先の前記他の装置に基づいて前記選択されたオブジェクトをキューにグループ分けすることによって、キューを生成し、前記キューの各々が、前記他の装置の各々に関連しており、各キュー内の前記選択されたオブジェクトに割り当てられた前記同期化優先順位に基づいて、前記各キュー内の前記選択されたオブジェクトをランク付けし、各キューに関連している前記他の装置の各々に割り当てられた前記同期化優先順位に基づく各キューの同期化優先順位、及び各キュー内の前記選択されたオブジェクトの前記ランク付けにしたがって、前記ある装置から前記他の装置へ前記選択されたオブジェクトを送信するためのオブジェクト送信器と
    を含むシステム。
  14. 前記一組の属性は、ユーザ活動、システムの処理及び動作、バッテリーパワー情報、バッテリーパワー消費率、ストレージ空間、無線信号強度、ネットワーク構成、装置全体の健康状態情報、装置又は周囲の温度値、種々の入力装置又は出力装置の状態、入力装置又は出力装置の状態の変化に関する情報、コンテンツをユーザに提示するための機能を備えたソフトウェア・アプリケーションの識別情報、装置の位置、装置タイプ、データのタイプ、装置の処理速度、装置のリソース、ネットワーク帯域幅、ネットワーク・トラフィック、全ての前記複数の装置及びシステムにおけるユーザ行動、特定の装置における出力習慣、複数の装置における出力習慣、ユーザ履歴、オブジェクトの明示的ユーザ評価、以前の同期化活動、ユーザの検索行為、並びに、装置に関連する入力の中から選択される請求項12又は請求項13に記載のシステム。
  15. ッテリーパワー情報、バッテリーパワー消費率、ストレージ空間、無線信号強度、及びネットワーク詳細のうちの少なくとも1つに少なくとも部分的に基づいて前記同期化を遮断するための、前記予測モジュールからのコマンドにしたがって、前記選択されたオブジェクトを送信する処理を遮断するように結合された同期化マネージャをさらに含む、請求項12〜14の何れか一項に記載のシステム。
  16. 前記監視モジュールは、各群の情報が前記複数の装置の各装置における属性に関連する情報に対応している、前記一組の属性に関連する複数群の情報を収集し収集された複数群の情報を分析する、請求項12〜15の何れか一項に記載のシステム。
  17. 種々の命令を含む非一時的コンピュータ読取可能記憶媒体であって、前記種々の命令が、実行されたときに、装置に、
    ネットワーク上の複数の装置において一組の属性を監視させ、
    前記監視された一組の属性に基づいて同期化のためにある装置から他の装置へ送信すべき複数のオブジェクトを選択させ、
    前記監視された一組の属性に基づいて、前記選択されたオブジェクトの各々に同期化優先順位を割り当てさせ、
    前記選択されたオブジェクトが送信されることになる宛先の前記他の装置に基づいて前記選択されたオブジェクトをキューにグループ分けすることによって、キューを生成させ、前記キューの各々が、前記他の装置の各々に関連しており、
    各キュー内の前記選択されたオブジェクトに割り当てられた前記同期化優先順位に基づいて、前記各キュー内の前記選択されたオブジェクトをランク付けさせ、
    前記キュー、及び各キュー内の前記選択されたオブジェクトの前記ランク付けに基づいて、前記ある装置から前記他の装置へ前記選択されたオブジェクトを送信させるように構成される、非一時的コンピュータ読取可能記憶媒体。
  18. 種々の命令を含む非一時的コンピュータ読取可能記憶媒体であって、前記種々の命令が、実行されたときに、装置に、
    ネットワーク上の複数の装置において一組の属性を監視させ、
    前記監視された一組の属性に基づいて、同期化のためにある装置から他の装置へ送信すべき複数のオブジェクトを選択させ、
    前記監視された一組の属性に基づいて、前記選択されたオブジェクトの各々に同期化優先順位を割り当てさせ、
    前記監視された一組の属性に基づいて、前記他の装置の各々に同期化優先順位を割り当てさせ、
    前記選択されたオブジェクトが送信されることになる宛先の前記他の装置に基づいて前記選択されたオブジェクトをキューにグループ分けすることによって、キューを生成させ、前記キューの各々が、前記他の装置の各々に関連しており、
    各キュー内の前記選択されたオブジェクトに割り当てられた前記同期化優先順位に基づいて、前記各キュー内の前記選択されたオブジェクトをランク付けさせ、
    各キューに関連している前記他の装置の各々に割り当てられた前記同期化優先順位に基づく各キューの同期化優先順位、及び各キュー内の前記選択されたオブジェクトの前記ランク付けにしたがって、前記ある装置から前記他の装置へ前記選択されたオブジェクトを送信させるように構成される、非一時的コンピュータ読取可能記憶媒体。
  19. 実行されたときに、前記装置に、バッテリーパワー情報、バッテリーパワー消費率、ストレージ空間、無線信号強度、及びネットワーク詳細のうちの少なくとも1つに少なくとも部分的に基づいて前記同期化を遮断するためのコマンドを発行させる命令をさらに含む、請求項17又は請求項18に記載の非一時的コンピュータ読取可能記憶媒体。
  20. 前記一組の属性は、ユーザ活動、システムの処理及び動作、バッテリーパワー情報、バッテリーパワー消費率、ストレージ空間、無線信号強度、ネットワーク構成、装置全体の健康状態情報、装置又は周囲の温度値、種々の入力装置又は出力装置の状態、入力装置又は出力装置の状態の変化に関する情報、コンテンツをユーザに提示するための機能を備えたソフトウェア・アプリケーションの識別情報、装置の位置、装置タイプ、データのタイプ、装置の処理速度、装置のリソース、ネットワーク帯域幅、ネットワーク・トラフィック、全ての前記複数の装置及びシステムにおけるユーザ行動、特定の装置における出力習慣、複数の装置における出力習慣、ユーザ履歴、オブジェクトの明示的ユーザ評価、以前の同期化活動、ユーザの検索行為、並びに、装置に関連する入力の中から選択される、請求項17〜19の何れか一項に記載の非一時的コンピュータ読取可能記憶媒体。
JP2015555140A 2013-02-27 2013-02-27 データ同期化 Expired - Fee Related JP6047669B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/027848 WO2014133489A1 (en) 2013-02-27 2013-02-27 Data synchronization

Publications (2)

Publication Number Publication Date
JP2016508634A JP2016508634A (ja) 2016-03-22
JP6047669B2 true JP6047669B2 (ja) 2016-12-21

Family

ID=51428616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015555140A Expired - Fee Related JP6047669B2 (ja) 2013-02-27 2013-02-27 データ同期化

Country Status (9)

Country Link
US (1) US9781203B2 (ja)
JP (1) JP6047669B2 (ja)
KR (1) KR101645149B1 (ja)
CN (1) CN104937582B (ja)
BR (1) BR112015018368B1 (ja)
DE (1) DE112013006371T5 (ja)
GB (1) GB2525788B (ja)
TW (1) TWI514132B (ja)
WO (1) WO2014133489A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006053019A2 (en) 2004-11-08 2006-05-18 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
US9344335B2 (en) 2011-09-09 2016-05-17 Microsoft Technology Licensing, Llc Network communication and cost awareness
US10057318B1 (en) 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US9635040B2 (en) * 2013-03-14 2017-04-25 Cybereason Inc. Method and apparatus for collecting information for identifying computer attack
US9998536B2 (en) * 2013-05-29 2018-06-12 Microsoft Technology Licensing, Llc Metered network synchronization
US9692822B1 (en) 2014-03-26 2017-06-27 AVAI Mobile Solutions, LLC System and method for optimized content synchronization for mobile devices
JP5783301B1 (ja) * 2014-06-11 2015-09-24 富士ゼロックス株式会社 通信端末、通信システム及びプログラム
JP6442915B2 (ja) * 2014-08-15 2018-12-26 富士ゼロックス株式会社 通信端末、通信システム及びプログラム
US11295291B2 (en) * 2014-12-24 2022-04-05 Paypal, Inc. Low battery and digital wallet
US20160198016A1 (en) * 2015-01-05 2016-07-07 Onavo Mobile Ltd. Techniques for network resource caching using partial updates
WO2016179502A1 (en) * 2015-05-07 2016-11-10 Kodiak Networks, Inc. System and method for data synchronization
US11023492B2 (en) * 2015-05-20 2021-06-01 Guidewire Software, Inc. Deferred synchronization for work unit-related data
TWI569165B (zh) * 2015-09-14 2017-02-01 Chunghwa Telecom Co Ltd The method of grouping external sites through proxy logs
CN106993010B (zh) 2016-01-21 2019-11-26 腾讯科技(深圳)有限公司 一种信息推送方法及装置
US9749412B1 (en) * 2016-09-21 2017-08-29 International Business Machines Corporation Predictive file synchronization
JP6852390B2 (ja) * 2016-12-27 2021-03-31 富士ゼロックス株式会社 情報管理装置及びプログラム
KR101929948B1 (ko) * 2017-04-07 2018-12-18 네이버 주식회사 데이터 타입 기반의 멀티 디바이스 데이터 동기화를 위한 방법 및 시스템
CN107402804B (zh) * 2017-07-31 2019-12-10 Oppo广东移动通信有限公司 后台进程管控方法、装置、存储介质及电子设备
CN108881357B (zh) * 2017-08-31 2019-11-12 视联动力信息技术股份有限公司 一种数据同步的方法和装置
EP4262153A3 (en) * 2017-09-29 2024-01-03 Apple Inc. Multi-device communication management
US11334596B2 (en) * 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
KR102133925B1 (ko) * 2018-07-30 2020-07-14 네이버 주식회사 데이터 동기화 트래픽을 최소화하기 위한 방법 및 시스템
US11042547B2 (en) * 2018-09-10 2021-06-22 Nuvolo Technologies Corporation Mobile data synchronization framework
CN109246244B (zh) * 2018-10-30 2021-06-15 北京网众共创科技有限公司 消息同步的检测方法、装置和系统
KR102084014B1 (ko) * 2018-12-11 2020-03-04 네이버 주식회사 데이터 타입 기반의 멀티 디바이스 데이터 동기화를 위한 방법 및 시스템
CN110263052B (zh) * 2019-06-25 2021-07-20 苏宁消费金融有限公司 一种基于大数据Hadoop平台ODS自动化同步技术创新方法
TWI712894B (zh) * 2019-09-09 2020-12-11 瑞昱半導體股份有限公司 訊息請求方法及其裝置
US11681826B2 (en) 2019-12-05 2023-06-20 Jpmorgan Chase Bank, N.A. Systems and methods for protection of data across multiple users and devices
TWI781400B (zh) * 2020-05-08 2022-10-21 台達電子工業股份有限公司 資料齊備度分析系統和資料齊備度分析方法
JP2022161746A (ja) * 2021-04-09 2022-10-21 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556573B1 (en) 1998-06-05 2003-04-29 Nokia Telecommunications Oy Synchronization of ATM-based network system using variable bit rate ATM adaptation layer protocols
US20020055351A1 (en) 1999-11-12 2002-05-09 Elsey Nicholas J. Technique for providing personalized information and communications services
KR20020084966A (ko) * 2001-05-03 2002-11-16 엘지전자 주식회사 우선 순위를 갖는 동기화 방법
JP2003030037A (ja) 2001-07-19 2003-01-31 Nec Corp 事前予測処理システム及び方法
JP3860098B2 (ja) 2002-08-30 2006-12-20 株式会社東芝 情報端末装置
US20050147130A1 (en) * 2003-12-23 2005-07-07 Intel Corporation Priority based synchronization of data in a personal area network
US20070174246A1 (en) 2006-01-25 2007-07-26 Sigurdsson Johann T Multiple client search method and system
US8121585B2 (en) 2006-08-25 2012-02-21 International Business Machines Corporation Technique for synchronizing data with a mobile device based on a synchronization context
US20080140941A1 (en) * 2006-12-07 2008-06-12 Dasgupta Gargi B Method and System for Hoarding Content on Mobile Clients
US20080147747A1 (en) * 2006-12-14 2008-06-19 Dan Cardamore Media system having synchronization with preemptive prioritization of synchronization order
JP2008282295A (ja) * 2007-05-14 2008-11-20 Casio Hitachi Mobile Communications Co Ltd コンテンツ配信システム、携帯端末装置及びプログラム
US8117303B2 (en) * 2007-06-29 2012-02-14 Nokia Corporation Systems, methods, devices, and computer program products for downloading content for offline browsing
WO2009063034A2 (en) 2007-11-15 2009-05-22 Desknet Sa Method enabling a computer apparatus run by an operating system to execute software modules
KR101430517B1 (ko) 2008-01-31 2014-08-19 삼성전자주식회사 복수의 데이터 통신장치들 간의 데이터 동기 방법
JP2009230207A (ja) 2008-03-19 2009-10-08 Konica Minolta Holdings Inc 共有データの同期方法、共有データを同期するためのプログラム、および共有データを同期して保持可能なネットワークシステム
US20090300169A1 (en) 2008-06-03 2009-12-03 Microsoft Corporation Synchronization throttling based on user activity
US7793002B2 (en) 2008-06-06 2010-09-07 Fisher-Rosemount Systems, Inc. Methods and apparatus for implementing a sequential synchronization hierarchy among networked devices
EP3399445B1 (en) * 2008-10-21 2020-08-12 Google LLC Always-ready client/server data synchronization
JP5515331B2 (ja) 2009-03-09 2014-06-11 ソニー株式会社 情報提供サーバ、情報提供システム、情報提供方法及びプログラム
US8887190B2 (en) 2009-05-28 2014-11-11 Harris Corporation Multimedia system generating audio trigger markers synchronized with video source data and related methods
US20110125924A1 (en) 2009-11-23 2011-05-26 Telefonaktiebolaget L M Ericsson (Publ) Method and system for synchronizing user content in a social network
JP5477097B2 (ja) 2010-03-19 2014-04-23 富士通株式会社 アプリケーション移行システム、移行支援装置、コンピュータ、アプリケーション移行方法、ファイル移行方法、およびコンピュータプログラム
EP2599001A4 (en) 2010-07-28 2013-07-31 Admiemobile Llc SYSTEMS AND METHODS FOR ESTABLISHING AND MAINTAINING VIRTUAL COMPUTER CLOUDS
US8312096B2 (en) 2010-12-08 2012-11-13 Google Inc. Priority inbox notifications and synchronization for mobile messaging application
CN102064932A (zh) 2010-12-30 2011-05-18 上海顶竹通讯技术有限公司 不同设备间数据同步的方法及装置
US8826313B2 (en) 2011-03-04 2014-09-02 CSC Holdings, LLC Predictive content placement on a managed services systems
US9448961B1 (en) * 2011-10-18 2016-09-20 Google Inc. Prioritized download of social network content

Also Published As

Publication number Publication date
GB2525788A (en) 2015-11-04
KR101645149B1 (ko) 2016-08-02
BR112015018368A2 (pt) 2017-07-18
TWI514132B (zh) 2015-12-21
US20150358406A1 (en) 2015-12-10
CN104937582A (zh) 2015-09-23
GB2525788B (en) 2020-07-15
BR112015018368B1 (pt) 2022-08-02
GB201513393D0 (en) 2015-09-16
US9781203B2 (en) 2017-10-03
JP2016508634A (ja) 2016-03-22
KR20150102115A (ko) 2015-09-04
WO2014133489A1 (en) 2014-09-04
DE112013006371T5 (de) 2015-10-08
TW201447570A (zh) 2014-12-16
CN104937582B (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
JP6047669B2 (ja) データ同期化
US9952753B2 (en) Predictive caching and fetch priority
US9396209B2 (en) Selecting storage cloud for storage of entity files from plurality of storage clouds
US9628582B2 (en) Social-driven precaching of accessible objects
US20170005809A1 (en) Intelligent Deletion of Revoked Data
CN105009121B (zh) 预测存储服务
CN108431779B (zh) 基于用户图将动作路由到用户设备
US10051045B2 (en) Searching content associated with multiple applications
US11868492B2 (en) Systems and methods for mediating permissions
US20090234902A1 (en) System, method and apparatus for making content available over multiple devices
KR100934989B1 (ko) 컨텐츠 관리 방법 및 장치
JP6224105B2 (ja) 情報管理方法
TWI602431B (zh) Method and device for transmitting information
JP2013196226A (ja) データ同期方法及びサーバ装置
CN118113674A (zh) 文件管理系统及其方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161021

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161121

R150 Certificate of patent or registration of utility model

Ref document number: 6047669

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

LAPS Cancellation because of no payment of annual fees