CN104937582A - 数据同步 - Google Patents
数据同步 Download PDFInfo
- Publication number
- CN104937582A CN104937582A CN201380072015.2A CN201380072015A CN104937582A CN 104937582 A CN104937582 A CN 104937582A CN 201380072015 A CN201380072015 A CN 201380072015A CN 104937582 A CN104937582 A CN 104937582A
- Authority
- CN
- China
- Prior art keywords
- equipment
- data
- priority
- group
- attribute
- 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.)
- Granted
Links
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 230000001360 synchronised effect Effects 0.000 claims description 71
- 238000000034 method Methods 0.000 claims description 57
- 230000000694 effects Effects 0.000 claims description 25
- 230000009471 action Effects 0.000 claims description 9
- 230000000903 blocking effect Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 6
- 238000013523 data management Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 3
- 238000012913 prioritisation Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 35
- 238000004891 communication Methods 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000006399 behavior Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3438—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
用于根据本公开的方面同步数据的示例包括监视在网络上的多个设备处的属性的集合,基于所监视的属性的集合选择数据组用于同步,将优先级级别分派给每个所选择的数据和每个设备,基于优先级级别按优先序排列将对所选择的数据的组执行的同步操作,以及根据同步的优先序排列来同步所选择的数据的组。
Description
背景技术
可以由用户使用多个设备创建或者获得诸如媒体文件和文档之类的内容。有时,用户可能期望将内容从一个设备同步、传送、上传或者以其他方式发送到另一设备。内容可以在网络中的用户的其他设备之间共享,以便在需要时被容易地消耗或编辑。例如,用户可以决定获得具有更多高级的特征(例如,照片编辑、高级网络设置等)的新的移动电话,并且期望将照片从旧的移动电话传送到新的移动电话。在另一示例中,用户可能期望将在他的移动电话上的视频链接与在他的台式计算机上的视频链接同步,以便例如在较大的屏幕上观看视频。
设备和通信网络促进信息的收集和交换。这样的设备可以包括个人计算机,所述个人计算机包括附接的外围设备、手持式/掌上型设备、便携式计算机和/或等等,以收集、同步、传送或交换各种内容,诸如文件、补丁(patch)、图形和/或等等。例如,文件可以包含大量内容,诸如视频、照片、音乐和文档。可以在一个设备上创建这样的内容或者将这样的内容下载到一个设备上,并且然后将这样的内容复制到其他设备。
同步框架允许各种设备或装置从设备或同步服务器和/或外部伙伴通过网络连接(诸如经由因特网)发送内容。可以通过在用户的请求时、在周期的间隔时或者实时地触发内容的同步来完成同步。例如,同步事件可以对应于由用户发布的明确的指令或命令来同步涉及正在被呈现的内容的信息(例如,“记录我最后阅读的页面”)。
附图说明
在以下的详细描述中并且参考附图描述示例,在附图中:
图1图示了根据一实施方式的示例系统;
图2图示了根据一实施方式的示例系统的对象发送器;
图3图示了根据另一实施方式的示例过程流程图;以及
图4图示了根据一实施方式的示例过程流程图。
具体实施方式
本公开的各种方面一般针对内容同步。更具体地,本公开的各种方面一般针对通过其跨各种设备同步内容的方式。该方法虑及由内容同步框架进行的内容的同步,其中诸如个人计算机(PC)、便携式设备、个人数字助理(PDA)、平板计算机、智能电话、科学仪器、销售点设备等等之类的任何连接的设备或装置执行在很多种通信网络拓扑之上的上下文同步,所述各种通信网络拓扑包括有线和无线连接两者。
本文描述的本公开的方面预测将被从一个机器传输到另一机器的数据组。此外,本公开的其他方面基于在每个设备处的用户活动和系统信息,按优先序排列在每个传输之内的数据。进一步地,其他方面标识用户动作,所述用户动作指示用户要求立即对给定设备上的数据进行访问,并且相应地要求将在其他设备上可用的新的或经修改的数据同步到该设备,以便使得当用户需要所述新的或经修改的数据时,该数据恰巧可用。
除其他之外,本方法可以提出同步数据并且除了防止电池的损耗和资源的浪费之外还防止用户数据在需要时的不可用性的高效和有效的方式。本方法还可以消除对于要求用户手动地同步的手动用户触发的需求,同时维持优良的用户体验。
在根据本公开的一个示例中,提供了一种用于同步数据的方法。该方法包括监视在网络上的多个设备处的属性的集合,基于所监视的属性的集合选择数据组用于同步,将优先级级别分派给每个所选择的数据和每个设备,基于优先级级别按优先序排列将对所选择的数据的组执行的同步操作,以及根据同步的优先序排列(prioritization)同步所选择的数据的组。
在根据本公开的另一示例中,提供了一种系统。该系统包括:监视模块,用来监视在网络上的多个设备处的属性的集合;预测模块,用来基于所监视的属性的集合选择数据组用于同步,并且将优先级级别分派给每个所选择的数据和每个设备;数据管理器,用来基于优先级级别按优先序排列将对所选择的数据的组执行的同步操作。数据管理器还根据同步的优先序排列同步所选择的数据的组。
在根据本公开的又一示例中,提供了一种非瞬时型计算机可读介质。非瞬时型计算机可读介质包括当被执行时使得设备进行以下操作的指令:(i)监视在网络上的多个设备处的属性的集合;(ii)基于所监视的属性的集合选择数据组用于同步;(iii)基于被分派给每个所选择的数据和每个设备的优先级级别,按优先序排列将对所选择的数据的组执行的同步操作;以及(iv)根据同步的优先序排列同步所选择的数据的组。
图1图示了根据一实施方式的示例系统100。系统100可以是内容同步系统,并且可以包括诸如计算设备之类的多个设备,所述设备跨云计算系统或另一网络设置(set-up)连接。应该显而易见的是,系统100表示一般化的说明,并且可以添加其他元件或者可以移除、修改或重新布置现有元件,而不脱离本公开的范围。例如,虽然系统100图示了图1包括设备110、120和130,但是系统可以实际上包括更少或更多数量的设备,并且为了简单示出和描述了三个设备。
系统100可以是对等共享环境,在其中可以存在分布式架构,而不需要中央协调,其中用户设备同时是对象的供应者和消耗者两者。在另一实施方式中,系统100可以是基于云的共享系统,其使用被递送作网络(例如,因特网)上的服务的计算资源(硬件和软件)。基于云的系统把将要被用户设备访问的数据暴露为网络上的服务,并且相应地,用户设备可以通过云彼此连接。在图1中由云105指示云。云105可以替换、补充或者与由本地运行的应用和软件提供的特征和能力混合。应用可以包括例如以下内容中的一个或多个:标识和目录服务、设备管理和安全、跨多个设备或平台的同步的存储和数据服务以及与活动和新闻有关的服务。可以在各种不同的商业模式下提供云105,所述商业模式包括免费的、支持广告的以及基于订购的模式。
替代地或者附加地,在用户设备之间的通信介质可以包括但不限于有线和/或无线资源的任何组合。例如,通信介质可以包括由以下内容的任何组合提供的资源:有线电视网络、直接视频广播网络、卫星网络、蜂窝网络、有线电话网络和/或数据网络、无线数据网络(例如,无线局域网、无线个人区域网络等)等等。
系统100包括设备110、120和130。设备110包括监视引擎(或者监视模块)140、日志数据库150、预测引擎(预测模块)160、对象接收器170、对象数据库180以及对象发送器190,以下更详细地描述其中的每一个。在一个实施方式中,对象接收器和对象发送器可以是数据模块。在另一实施方式中,系统100可以包括队列管理器和优先序排列管理器(未在图1中示出)。
设备110、120和130可以笼括所有有线设备和无线设备。在一个实施方式中,设备110可以包括台式计算机、机顶盒、游戏控制台、膝上型计算机、口袋电脑、PDA、智能电话、移动电话、平板计算机、诸如MP3播放器(移动图像专家组,MPEG-1,音频第3层)之类的便携式媒体播放器、电子书阅读器、手持式游戏设备、超移动计算机(ultra-mobile computer)或者包括从其中提供的特征的组合的设备。
在一个实施方式中,用户可以具有设备110、设备120和设备130,所述设备110可以是个人计算机,所述设备120可以是膝上型计算机,所述设备130可以是移动设备。设备可以被视为在网格上的同等(peer)设备,在所述网格处,可以跨设备移动数据(即,被读取)。在另一实施方式中,所有的设备可以被布置成通过云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的用户可以请求从另一设备或内容提供者通过云105获得内容。内容提供者可以包括可以提供用于被用户设备消耗的内容的任何实体。内容提供者的示例可以包括(但不限于)电视广播台、服务器、对等联网实体(例如,其他用户设备120、130)和/或等等。进一步地,内容可以是各种内容,诸如文件、补丁、图形和/或等等。文件可以包括视频、音频和/或文本。
监视引擎140可以包括收集与系统的操作和动作相关的数据、可以被用于推断网络中的用户活动的数据以及明确地指示活动的数据。例如,监视引擎140可以监视被用户输出的内容。进一步地,监视引擎140可以收集与经由设备110给用户的内容呈现和/或用户内容选择相关的数据,所述用户内容选择指示用户已经请求接收并且选择用于输出(例如,观看和/或收听)的内容。例如,用户可以浏览在他的桌面上的“我的项目”文件夹中的文件。然后用户可以启动文字处理应用,并且开始对文件夹中的特定文件进行编辑。监视引擎140可以监视设备110上的这样的用户活动,并且基于这样的活动,监视引擎140可以生成用户活动数据,其可以然后被存储在日志数据库150中并且与预测引擎160共享。
此外,监视引擎140可以监视应用数据并且跟踪应用访问的数据。应用可以包括可以在设备上运行以提高生产率(例如,文字处理、电子数据表)、支持通信(例如,电子邮件、web浏览以及即时消息)、提供娱乐(例如,游戏、多媒体播放器)和/或等等的各种典型应用中的任何应用。
在另一实施方式中,监视引擎140可以监视与设备110相关的系统信息。这样的系统信息可以包括设备110的各种属性,包括。属性可以是静态的或者是动态的。例如,动态属性可以包括但不限于,电池电力信息、电池电力消耗率、存储器/存储装置空间、无线信号强度、网络细节、整体设备健康信息、设备或周围温度值和/或等等。信息还可以包括与各种输入或输出设备的状态相关的信息,或者关于输入或输出设备的状态方面的改变的信息。例如,设备信息可以包括指示设备110到另一设备的连接(例如,经由蓝牙无线连接或者硬连线连接)的数据。类似地,设备信息可以包括具有向用户呈现内容的功能的任何软件应用的标识。在说明性实施方式中,设备信息可以由设备110上的硬件部件(例如,传感器)或软件部件生成。附加地,可以由设备110从诸如附接的硬件部件、远程监视部件/服务或者网络数据源之类的外部资源获得设备信息。
在一个实施方式中,设备信息可以对应于来自全球定位系统(“GPS”)或者蜂窝式定位系统(例如,三角测量)的信息(诸如纬度和经度信息或者其他地理坐标信息)。在一个实施方式中,来自GPS天线的GPS接收信号可以被GPS接收部处理并且可以被输入到监视引擎140中。设备110的位置信息可以被解释并翻译成可以被用于预测在该位置处用户可能需要访问的内容的集合的用户行为数据。例如,系统可以检测用户处于图书馆处,并且过去的用户行为示出当用户处于图书馆时,用户访问在用户的膝上型计算机中的“我的照片”文件夹中的图像文件。相应地,除了与位置相关联的用户过去的和/或现在的行为之外,监视引擎140还可以收集关于用户的位置的信息,并且将其递送到预测引擎160。在分析该信息之后,预测引擎160可以预测用户可能选择在图书馆处在用户的膝上型计算机上访问的对象,所述对象例如可以是在用户的膝上型计算机中的“我的照片”文件夹中的图像文件。
在另一实施方式中,被监视的数据的类型可以基于设备类型而变化。设备可以标识应该被监视的数据的具体类型以便确定同步事件或者建立用于建立同步事件的阈值或者两者都有。数据的这些类型可以被分类为限制事件。例如,基于数据的这些类型,监视引擎可以检测指示本地资源的繁重使用的图案(例如,低电池、低网络带宽、高网络业务量)。相应地,系统可以切换到资源节省模式并且保持、减少或者阻塞数据传输和数据同步以限制正在被利用的资源。例如,诸如便携式设备之类的某些设备可以进一步限制发生的同步事件的数量以保存设备电池寿命。在另一示例中,系统100可以根据最小功率级别指定针对便携式设备的同步事件(例如,在设备断电、丢失通信能力连同其他可能性之前传送同步信息)。在又一示例中,系统100可以基于通信信号强度准则(承受得住的最小通信信号强度)指定针对便携式设备的同步事件。
日志数据库150可以从监视引擎140接收收集的数据,所述数据可以隐含地指示在用户的网络中的哪个对象可能当前正在被用户使用或访问。此外,日志数据库150可以开发用户历史,所述用户历史例如指示设备110的用户已经连续两周使用设备110观看了两集电视连续剧。该数据可以连同与用户和设备110的其他当前和过去的活动相关的数据一起被存储在日志数据库150中。在日志数据库150中,数据可以被管理到质量的级别(根据准确度、可用性、可使用性和恢复性(resilience)测量)。替代地或者附加地,历史统计数据可以被存储在云105中的中央日志数据库115中,所述中央日志数据库115可以经由预测引擎160连接到设备110。在一个实施方式中,中央日志数据库可以存储来自系统100中的多个设备(例如,设备120和/或设备130)的日志。在某些实施方式中,中央日志数据库和日志数据库150可以被集成到单个数据库中,所述单个数据库可以与设备110组合。
在一个实施方式中,通过监视在设备110处的用户活动和系统信息以及跟踪具有历史统计资料(其被存储在日志数据库150中)的形式的用户活动和系统信息,监视引擎140和日志数据库150可以与预测引擎160交互操作。在另一示例系统中,监视引擎140和预测引擎160可以能够彼此直接连接。替代地或者附加地,预测引擎可以连接到中央预测引擎125。
预测引擎160可以预期在设备110和与设备110的用户相关联的其他设备(例如,设备120和130)之间的某些对象(例如,内容)的期望的同步。在一个实施方式中,预测引擎160可以生成对在各种设备处的用户而言将是可期望的内容的预测性选择。预测性选择的生成可以涉及基于各种因素做出推断,所述各种因素诸如曾被提供到设备的先前的内容和/或在系统100的状态信息中提供的信息。进一步地,做出这样的推断可以涉及采用一个或多个试探(heuristics),可以以各种方式和/或数据挖掘算法对所述一个或多个试探进行加权,所述数据挖掘算法可以是试探和计算的集合,所述试探和计算可以根据从日志数据库150接收的数据创建数据挖掘模型。为创建模型,该算法可以首先分析由日志数据库150提供的数据,并且确定模式或趋势的具体类型。该算法可以使用该分析的结果以限定用于创建挖掘模型的最优参数。然后可以跨整个数据集合应用这些参数以提取可行动的模式以及详细的统计资料。此外,预测引擎160可以将优先级级别分派给被预测性地选择的对象(例如,内容)。在某些实施方式中,预测引擎160可以基于属性动态地分派优先级级别。
在另一实施方式中,可以在中央预测引擎125处执行内容的预测性选择的生成,作为对在设备110中的预测引擎160的替代或附加。中央预测引擎125可以从日志数据库150和中央日志数据库115接收与跨所有设备(例如,设备110、120和130)和系统100的用户行为相关的数据,并且生成内容的预测性选择。内容的这样的预测性选择可以被传送到预测引擎160或者其他相关联的本地预测引擎。
在一个实施方式中,同步信息可以从预测引擎160通过例如云105的中央源传播到例如设备120和130的其他设备。在其他实施方式中,同步信息可以从设备110直接传播到设备120和/或设备130而不需中央源。
对内容的同步替代地或者附加地,系统100可以通过将数据从一个设备分发到另一设备来传播内容。在一个实施方式中,可以根据传播规则管理这样的分发。
在一个实施方式中,预测可以基于在具体设备上的输出习惯(例如,观看和/或收听习惯)。例如,在特定设备处的特定种类或类型中的内容的增加的输出可以导致选择类似种类或类型的更多的内容以用于与该设备同步。例如,如果设备120用户在设备120上观看相同流派(例如,情景喜剧)的三集或更多集的表演,则在该流派中的新近记录的剧集可以被选择并且被同步到设备120。
在另一实施方式中,预测可以涉及跨设备的输出(例如,观看和/或收听)习惯。例如,由设备110的用户进行的特定内容的观看可以导致相同内容的选择以用于与设备120同步,所述选择基于在设备110处开始观看该内容的用户可能选择在设备120处继续观看该特定内容的预测。例如,如果设备110(例如,台式计算机)的用户开始在设备110上观看电影但是中途暂停,则预测引擎160可以推断出该用户可能在设备120(例如,膝上型计算机)处继续观看所述电影。相应地,该电影文件可以被选择以被同步到设备120。
作为另一示例,如上文所讨论的那样,设备110的用户可以连续两周使用设备110收听一个播客系列中的两个播客。基于这样的用户行为,预测引擎160(基于用户历史)可以选择相同系列的第三个播客以在第三周同步到设备110。作为另一示例,用户可以浏览在设备110中的“我的项目”文件夹中的文字文件的集合。然后用户可以启动文字处理应用并且开始对文件夹中的特定文件进行编辑。通过从日志数据150接收该用户活动数据,预测引擎160可以推断所述文件夹中的其他文件也可能被用户访问和/或编辑。相应地,在所述文件夹中的文件可以被选择以被同步。
在进一步的实施方式中,预测可以明确内容的用户评级(其可以被输入,并且可以从设备110、120和130的用户接收)。例如,在具体设备上的内容的高用户评级可以引起选择类似内容用于与该具体设备同步。例如,如果用户对在设备110处的“书籍”文件夹中的两本书进行高度评级,则其他书籍可以被选择以被同步。
在更进一步的实施方式中,预测可以基于先前的同步活动。例如,在特定种类和/或时间间隔之内与具体设备先前同步的内容可以引起选择类似的内容用于与该具体设备同步。作为示例,如果设备120用户在将照片上传到设备110上的两天之内已经从相同的文件夹三次明确地同步照片,则到设备110处的该相同文件夹上的照片的后续上传可以被选择以被同步。
在某些实施方式中,预测可以涉及用户的搜索行为。例如,搜索具体设备处的文件可以导致选择搜索结果的内容用于同步到另一设备。如果设备110的用户搜索设备110处的“我的图片”文件夹中的婚礼图片,则设备110可以显示在“我的图片”文件夹中的、被标识为婚礼图片的文件的列表。用户可以或者可以不打开这些文件以在设备110处观看所述图片。无论如何,基于用户可能想要在设备120处观看图像的预测,在设备110处被标识为搜索结果的婚礼图片可以被选择以被同步到设备120。
在另一实施方式中,搜索结果的列表可以受与设备处的用户的行为相关的数据影响。例如,用户的行为可以示出用户在设备110处频繁地收听音频文件。相应地,预测引擎160可以基于用户可能访问那些文件的预测,将较高的优先级分派给设备110处的音频文件。如果用户在设备120处运行针对搜索关键词“生日”的搜索,则基于给予设备110处的音频文件的较高的优先级,搜索结果可以把被标识在关键词“生日”之下的音频文件列在被标识在关键词“生日”之下的图像或文字文档之上。预测引擎160选择被标识在关键词“生日”之下的音频文件以同步到设备110。
上述预测准则被提供作为示例而不是限制。相应地,可以单独地或者以任何组合或加权地采用任何数量的准则、算法或任何其他的方法。如上文讨论的那样,可以由预测引擎160和/或中央预测引擎125生成内容的预测性选择。
在其他实施方式中,还可以基于与设备相关联的一个或多个输入(例如,功率级别、无线通信网络强度、运动传感器、定时器、耳机/扬声器的激活等)来确定同步事件。例如,在具体设备上的耳机的激活可以导致选择音频内容用于同步。例如,如果设备110用户已经激活了设备110上的耳机,则在“我的音乐”文件夹中的音频文件可以被选择以被同步。作为另一示例,用户可以执行下述活动,所述活动可以是计算上昂贵的,并且可以进行占很多盘访问或者文件系统操作。例如,用户可以使用一个或多个应用编辑视频或者重新计算大的电子数据表。预测引擎160然后可以降低那些对象的优先级,使得同步操作不对可能早已被高度消耗的系统资源施加附加的压力。
此外,在一个实施方式中,在收到传入的同步信息时,设备110中的预测引擎160可以合并在该具体设备上收集的附加的同步信息,过滤不一致的信息和/或执行其他冲突解决。
对象接收器170可以是用于基于来自用户的网络中的各种设备(诸如设备120和130之类)的同步信息来获得对象的部件。在另一实施方式中,对象接收器170可以从各种内容提供者处通过通信介质获得对象。
对象数据库180可以接收和存储来自对象接收器170的对象(例如,内容)。例如,当设备110、120和130彼此可用时,同步操作可以在设备110、120和130之间发生。这可以包括由设备110存储的内容被复制到设备120和/或设备130之内的存储介质中。此外,其还可以包括由设备120存储的内容被复制到设备110和/或设备130之内的存储介质中,设备110之内的存储介质例如对象数据库180。最后,其还可以包括由设备130存储的内容被复制到设备110和/或设备120之内的存储介质中,设备110之内的存储介质例如对象数据库180。
在一个实施方式中,除了上文讨论的对象之外,诸如设备位置、设备类型以及采用中央参考点的任何任意的属性值之类的上下文信息或动态属性也可以被存储在对象数据库180中。其他动态属性可以包括客户操作系统、客户场所、客户设备类型、城市、州的缩写、邮编、语言代码、国家代码、地区代码、电话号码、电话国家访问代码等等。
在一个实施方式中,对象数据库180可以删除对象。可以在发生一个或多个条件时执行这样的删除。示例性条件包括:内容被存储在对象数据库180中比预定的时间阈值久(例如,垃圾文件夹中的电子邮件);用户手动地选择将被删除的内容;内容早已被用户输出(例如,观看);和/或从另一设备收到指令以删除内容。示例不限于这些示例。
与设备110相关联的对象发送器190可以将对象传输到一个或多个设备(例如,设备120和130),所述一个或多个设备对设备110而言是已知的并且符合条件(eligible)接收同步信息。例如,与相同的用户或用户账户相关联的同等设备可以被视为符合条件以接收内容。在一个实施方式中,对象发送器190可以对对象的传输进行导航。在一个实施方式中,对象发送器190可以将对象直接地传输到诸如设备120或130之类的接收设备。在另一实施方式中,对象发送器190可以将对象经由云105传输到接收设备。
对象传输可以基于对象将被递送到的设备进行排队。每个队列可以与设备相关联并且表示将被递送到相关联的设备的一个或多个对象。这样的队列可以被称为同等队列。在一个实施方式中,基于被分派给相关联的设备的同步优先级,队列可以被服务以用于处理。可以例如由诸如1、2、…N的数值表示设备号码。也可以由数值表示同步优先级,其中较高的值指示针对处理的较高优先级,并且较低的值指示较低的优先级。例如,基于例如设备的处理速度,台式计算机可以具有比移动设备高的优先级。因此,将被递送到具有较高优先级的设备的对象可以在将被递送到具有较低优先级的设备的对象之前得到处理。此外,如上文所提及的那样,每个队列包含一个或多个对象。基于与对象相关联的同步优先级,可以将每个队列之内的对象进行分级。例如,出于上文关于预测引擎160详细讨论的原因,图像文件可以具有比视频文件高的优先级。
在某些实施方式中,优先序排列管理器可以将同步优先级(例如,优先级级别)分派给每个对象和每个设备。此外,优先序排列管理器可以基于来自监视引擎140的监视信息,修改每个对象和每个设备的优先级级别。
在一个实施方式中,系统100可以包括外部数据源接口部件,用于从基于网络的资源获得外部信息,诸如对应于与设备110或者诸如设备120和130之类的所选择的接收设备相关联的用户的信息。替代地或者附加地,如上文更详细地讨论的那样,设备110可以包括数据处理部件,用于处理从其他设备获得的同步信息。数据处理部件还可以确定可以是针对具体同步信息的接收设备的一个或多个设备,并且酌情确定每个接收设备可以接收的同步信息的具体子集。由对象数据库180存储的对象可以被数据处理部件利用。
系统100和设备110可以包括多个附加部件、系统和/或子系统以用于促进与其他无线或有线设备和/或云105的通信。附加部件可以包括一个或多个移动交换中心,以用于建立与无线设备的、经由无线通信网络的通信,所述无线通信网络诸如蜂窝无线电访问网络、基于IEEE 802.11技术标准族(“WiFi”)的无线网络、基于IEEE 802.16标准(“WiMax”)的无线网络以及其他无线网络。移动交换中心可以包括用于建立经由通信网络的各种通信的接口,所述通信网络诸如因特网、内联网、私有网络和点对点网络,一般地称为“网络”。
可以使用硬件和/或软件的任何适合的组合实现设备110。例如,在一个实施方式中,设备110可以至少包括处理设备和存储器。处理设备可以对应于通常检索和执行被存储在存储器中的指令的设备(例如,中央处理单元(CPU)、处理器、微控制器等)。存储器可以对应于存储计算机实现的指令的任何典型的存储设备。设备110可以通过使用(一个或多个)处理单元以执行由系统存储器提供的指令来执行功能。进一步地,存储器可以存储下述信息,所述信息提供操作系统部件、各种程序模块、程序数据和/或其他部件。在另一实施方式中,设备110可以包括存储介质或机器可读的物品,其可以包括例如任何适合的类型的存储器单元、存储器设备、存储器物品、存储器介质、存储设备、存储物品、存储介质和/或存储单元,例如存储器、可移除或不可移除介质、可擦除或不可擦除介质、可写或不可写的介质、数字或模拟介质、硬盘、软盘、压缩盘只读存储器(CD-ROM)、可记录压缩盘(CD-R)、可重写压缩盘(CD-RW)、光盘、磁介质、磁光介质、可移除存储器卡或盘、各种类型的数字通用盘(DVD)、磁带、盒式磁带等等。存储介质可以存储指令或者指令的集合,如果所述指令或者指令的集合由机器执行,则可以使得机器执行根据所述实施方式的方法和/或操作。指令可以包括任何适合的类型的代码,诸如使用任何适合的高级别、低级别、面向对象的、视觉的、编译的和/或解释的编程语言实现的源代码、编译的代码、解释的代码、可执行代码、静态代码、动态代码、加密的代码等等。设备110还可以包括一个或多个输入设备(键盘、鼠标设备、专用选择键等)以及一个或多个输出设备(显示器、打印机、音频输出机构等)。
图2图示了根据一实施方式的系统100的示例部件。对象发送器190包括同等(peer)-1队列210、同等-2队列220以及同等-N队列230,以下更详细地描述其中的每个。每个同等队列被馈送到相关联的设备中,并且表示将被传输到相关联的设备的对象组。例如,同等-1 240可以是台式计算机,并且同等-1队列210可以是排列起来将被传输到台式计算机的对象组。这样的对象可以包括诸如文件、补丁、图形和/或等等之类的内容。文件可以包括视频、音频和/或文本。如上文关于图1更详细地描述的那样,对象传输可以基于对象将被递送到的设备进行排队,并且基于被分派给相关联的设备的同步优先级,同等队列可以被服务以用于处理。替代地或者附加地,也如上文关于图1更详细地描述的那样,对象基于与对象相关联的同步优先级而排列起来。
在一个实施方式中,同步优先级分派可以基于内容消耗行为、用以标识文件类型的在设备上使用的活动的应用、与在另一设备上最新近回顾的内容相关的信息、针对同步内容的优先级时间。
例如,同等-1 240可以是台式计算机,并且同等-2 250可以是膝上型计算机,并且同等-N 230可以是移动设备。基于其处理器的速度,同等-1 240可以具有比同等-2 250和同等-N 230高的优先级。具有较快处理器的台式计算机可以具有较高的优先级,因为同等-1 240可以具有足够的资源以同步对象的大的集合,其对用户而言可能是更期望的。相应地,可以在同等-2队列220和同等-N 230队列之前处理同等-1队列210。
可以例如由诸如1、2、…N之类的数值表示设备号码。也可以由数值表示同步优先级(未在图2中示出),其中较高的值指示针对处理而言的较高优先级,并且较低的值指示较低的优先级。
应该显而易见的是,在图2中图示的对象发送器190表示一般化的描绘,并且可以添加其他的部件,或者可以移除、修改或重新布置现有的部件,而不脱离本公开的范围。虽然图2图示了对象发送器190包括三个队列,同等-1队列210、同等-2队列220和同等-N队列230,但是系统可以实际上包括更少或更多数量的队列。三个队列已经被示出并且被描述为示例实施方式。此外,虽然图2图示了对象发送器190包括三个设备,同等-1队列210、同等-2队列220和同等-N队列230,但是系统可以实际上包括更少或更多数量的设备同等-1 240、同等-2 250和同等-N 260。图2中的数字N图示了在根据实施方式的对象发送器中可以存在一系列队列和设备。
现在转向系统100的操作,图3图示了根据一实施方式的示例过程流程图300。更具体地,说明性过程呈现了用于生成对象的预测性选择并且基于同步优先级传输对象的“推送”模型。应该显而易见的是,在图3中描绘的过程表示一般化的说明,并且可以添加其他的过程,或者可以移除、修改或重新布置现有的过程,而不脱离本公开的范围和精神。进一步地,应理解,该过程可以表示被存储在存储器上的可执行指令,所述可执行指令可以使得处理设备响应、执行动作、改变状态和/或做出决定。因此,该被描述的过程可以被实现为由与诸如在图1和2中图示的设备110之类的计算设备相关联的存储器提供的可执行指令和/或操作。此外,图3不意图限制所描述的实施方式的实施,反而,所述图图示了本领域技术人员可以用以设计/制作电路、生成软件或者使用硬件和软件的组合来执行所图示的过程的功能信息。
过程300可以在框305处开始,在框305处监视引擎140监视在设备110处的用户活动和设备信息。该过程可以包括收集下述数据,所述数据与请求的内容、接收的内容、输出的内容、利用的应用、可用的存储容量、网络可用性、网络速度、网络成本、电池容量、充电状态、设备的位置等等相关。在一个实施方式中,监视的过程可能需要收集与所有用户活动和设备信息相关的数据。在另一实施方式中,可以基于诸如预先标识的条件或数据的种类之类的预定协议来执行监视的过程。例如,监视引擎140可以被设置成收集下述数据,所述数据与用户执行达多于一分钟的持续时间的活动相关,并且可以忽视用户花费了少于一分钟上的任何活动。此外,监视引擎140可以执行过滤动作以标识所收集的数据的子集,并且仅提供用户可能需要的子集。
在框310处,与用户活动和设备信息相关的收集的数据可以被提供到日志数据库150以被记录。日志数据库150可以存储记录,并且根据所述实施方式,日志数据库150可以组织数据并且生成在各种类型的数据之间的相关性。在一个实施方式中,可以使用关系数据库结构用于组织数据。即,数据被收集到表格中,并且相关的数据片可以被一起分组在单个结构或记录中,并且可以在这些结构和记录之间定义关系。可以使得这样的结构和记录对预测引擎160可用,所述预测引擎160从日志数据库150拉取(pull)所存储的数据并且检验该数据以用于进一步的分析。如上文关于图1讨论的那样,在一个实施方式中,来自日志数据库的数据可以被传输到中央日志数据库115。中央日志数据库115合并(consolidate)并且存储从网络中的设备(例如,设备110、120和130)接收的所有数据。
在框315处,预测引擎160可以确定是否存在可以从中央日志数据库考虑的附加数据。如果标识了附加数据,则在框320处,可以获得这样的数据。在框325处,预测引擎预期并且预测性地选择下述对象(例如,内容),预测引擎160确定所述对象(例如,内容)对用户而言是期望的。预测性选择的过程可以涉及从日志数据库150拉取数据并且执行数据分析以解释数据。如上文关于图1描述的那样,预测引擎可以基于诸如用户的历史的数据消耗模式之类的各种因素来创建预测规则,所述预测规则预测针对对象的未来需求。
在框330处,从对象数据库180获得预测性地选择的对象。在框335处,对象发送器190通过基于对象正被传输到的设备而将选择的对象分组在队列中来生成队列。例如,如果对象a将被传输到同等-1 240(如在图2中图示的那样),则对象a可以被分组在同等-1队列210中。类似地,如果对象b将被传输到同等-2 250(如在图2中图示的那样),则对象b可以被分组在同等-2队列220中。在一个实施方式中,可以存在将被传输到相同的设备的多个对象。例如,除了对象a之外,对象c和d也可以被设置成将被传输到同等-1 240。相应地,对象c和d可以连同对象a一起被分组在同等-1队列210中。在该情况下,在框340处,分组的过程还可以包括基于对象a、b和c的同步优先级对对象a、b和c进行分级。例如,对象a可以具有比对象b和c高的优先级。相应地,对象a可以被设置成在对象b和c之前首先被同步并被传输到同等-1。
在框345处,传输对象的过程可以通过处理具有最高的同步优先级的队列开始。例如,同等-1队列210可以具有比同等-2队列220和/或同等-N队列230高的优先级。相应地,对象发送器190通过首先处理同等-1队列210来发起对象传输的过程。如上文关于图2更详细地讨论的那样,每个队列的同步优先级可以基于被分派给与所述队列相关联的设备的同步优先级。例如,可以基于同等-1 240的同步优先级确定同等-1队列210的同步优先级。
在一个实施方式中,可以基于由监视引擎140监视的某数据调整同等队列的同步优先级。如上文关于图1详细讨论的那样,监视引擎140可以监视设备110的各种属性,所述各种属性包括电池电力信息、电池电力消耗率、存储器/存储装置空间、无线信号强度、网络细节和/或等等。基于与这样的属性相关的数据,预测引擎160可以推断设备110的资源正在被繁重地利用。例如,监视引擎140可以检测设备110的电池低,网络带宽受限以及网络业务量经受记账(billing)(例如,3G或者漫游)。相应地,预测引擎160可以发布命令以保持、减少或阻塞对象的传输以限制资源的使用。在一个实施方式中,预测引擎160可以降低同等队列和/或这样的队列之内的对象的同步优先级,所述对象可能要求例如更多的电池电力、网络带宽和/或存储装置空间。在另一实施方式中,根据来自预测模块160的命令,系统可以使得同步管理器阻塞同步操作,以基于电池电力信息、电池电力消耗率、存储装置空间、无线信号强度和网络细节而阻塞同步。
在另一实施方式中,在基于与该队列相关联的同等-1 240确定同等-1队列210具有最高的同步优先级之后,设备110可以确定同等-1 240对于设备110是否可用。如果是这样的话,则队列可以被处理并且对象被同步(例如,复制)到同等-1 240。然而,如果设备不可用,则设备110可以提示用户使得设备可用。可以通过设备的用户接口(例如,显示器)和/或连接到设备的输出设备执行该提示。一旦同等-1 240可用,就可以处理队列。
图4图示了根据另一实施方式的另一示例过程流程图400。更具体地,说明性过程对应于用于从网络中的设备接收对象以用于同步的“拉取”模型。例如,设备110可以传输请求或者发起事务,其导致对象(例如,内容)到设备110的下载或流动。通常,内容提供设备将在从设备110收到请求时发起传送。应该显而易见的是,在图4中描绘的过程表示一般化的说明,并且可以添加其他的过程,或者可以移除、修改或重新布置现有的过程,而不脱离本公开的范围和精神。进一步地,应理解,该过程可以表示被存储在存储器上的可执行指令,所述可执行指令可以使得处理设备响应、执行动作、改变状态和/或做出决定。因此,该被描述的过程可以被实现为由与诸如在图1和2中图示的设备110之类的计算设备相关联的存储器提供的可执行指令和/或操作。此外,图4不意图限制所描述的实施方式的实施,反而,所述图图示了本领域技术人员可以用以设计/制作电路、生成软件或者使用硬件和软件的组合来执行所图示的过程的功能信息。
过程400可以在框405处开始,在框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执行。
在一个实施方式中,可以基于由监视引擎140监视的某数据阻塞或暂停对象到设备110的传输。如上文关于图1更详细地讨论的那样,监视引擎140可以监视设备110的各种属性,所述各种属性包括电池电力信息、电池电力消耗率、存储器/存储装置空间、无线信号强度、网络细节和/或等等。基于与这样的属性相关的数据,预测引擎160可以推断设备110的资源正在被繁重地利用。例如,监视引擎140可以检测设备110的电池低,网络带宽受限和/或网络业务量经受记账(例如,3G或者漫游)。相应地,预测引擎160可以发布命令以保持或阻塞对象的传输以限制资源的使用。
在框435处,对象可以被存储在设备110的对象数据库中。在一个实施方式中,设备120和130可以将同步通知消息存储在设备120和130中的日志数据库中,并且可以使用这样的信息来改进在每个数据库中的历史同步数据。此外,在另一实施方式中,设备110可以执行从多个设备接收的同步信息的冲突解决。
虽然以上公开已经被示出并且已经参考前述示例加以描述,但是应理解,可以做出其他形式、细节和实施而不脱离在以下权利要求书中限定的本公开的精神和范围。
Claims (20)
1.一种用于同步数据的方法,其包括:
由处理器监视在网络上的多个设备处的属性的集合;
由处理器基于所监视的属性的集合选择数据组用于同步;
由处理器将优先级级别分派给每个所选择的数据和每个设备;
由处理器基于优先级级别按优先序排列将对所选择的数据的组执行的同步操作;以及
由处理器根据同步的优先序排列来同步所选择的数据的组。
2.如权利要求1所述的方法,其中属性的集合包括静态和动态属性。
3.如权利要求2所述的方法,其中动态属性包括用户活动、系统的操作和动作、电池电力信息、电池电力消耗率、存储装置空间、无线信号强度以及网络配置。
4.如权利要求1所述的方法,其中将优先级级别分派给每个所选择的数据和每个设备进一步包括基于所监视的属性的集合来动态地分派优先级级别。
5.如权利要求1所述的方法,其中可以基于所监视的属性的集合来改变每个所选择的数据和每个设备的优先级级别。
6.如权利要求1所述的方法,进一步包括至少部分地基于以下内容中的至少一个来发布命令以阻塞同步:电池电力信息、电池电力消耗率、存储装置空间、无线信号强度以及网络细节。
7.如权利要求1所述的方法,其中所选择的数据的每个组与网络上的一设备相关联,并且每个组中的数据标识将与相关联的设备同步的数据。
8.如权利要求1所述的方法,其中监视在网络上的多个设备处的属性的集合进一步包括:
收集与属性的集合相关联的信息组,每个组标识网络上的一设备;以及
分析所收集的信息组。
9.如权利要求1所述的方法,其中基于所监视的属性的集合选择数据组用于同步进一步包括预测具有被用户请求的可能性的数据组。
10.如权利要求1所述的方法,其中基于所监视的属性的集合选择数据组用于同步进一步包括:
接收历史的用户活动;以及
使用历史的用户活动来预测具有被用户请求的可能性的数据组,其中该用户与所述多个设备相关联。
11.如权利要求1所述的方法,其中基于被分派给每个所选择的数据和每个设备的优先级级别按优先序排列将对所选择的数据的组执行的同步操作进一步包括:
生成与具有第一优先级级别的第一设备相关联的第一队列,其中第一队列包括所选择的将被传输到第一设备的数据;
生成与具有第二优先级级别的第二设备相关联的第二队列,其中第二队列包括所选择的将被传输到第二设备的数据,并且第二优先级级别高于第一优先级级别;以及
基于第二优先级级别高于第一优先级级别,将第二队列的同步操作按优先序排列在第一队列之上。
12.如权利要求1所述的方法,其中属性的集合指示对访问某个设备上的某数据的立即请求。
13.一种用于同步数据的系统,其包括:
监视模块,其监视在网络上的多个设备处的属性的集合;
预测模块,其基于所监视的属性的集合选择数据组用于同步,并且将优先级级别分派给每个所选择的数据和每个设备;
数据管理器,其基于优先级级别按优先序排列将对所选择的数据的组执行的同步操作;以及
数据管理器,其根据同步的优先序排列同步所选择的数据的组。
14.如权利要求13所述的系统,进一步包括数据库以存储所监视的属性的集合。
15.如权利要求13所述的系统,进一步包括耦合到数据管理器的优先序排列管理器,优先序排列管理器将优先级级别分派给每个所选择的数据和每个设备。
16.如权利要求13所述的系统,进一步包括耦合到数据管理器的同步管理器,同步管理器根据来自预测模块的命令阻塞同步操作以至少部分地基于以下内容中的至少一个来阻塞同步:电池电力信息、电池电力消耗率、存储装置空间、无线信号强度和网络细节。
17.如权利要求13所述的系统,
其中监视模块收集与属性的集合相关联的信息组,每个组标识网络上的一设备,并且分析所收集的信息组;以及
其中属性的集合包括用户活动、系统的操作与动作、电池电力信息、电池电力消耗率、存储装置空间、无线信号强度和网络细节。
18.一种非瞬时型计算机可读介质,其包括指令,当所述指令被执行时使得设备进行以下操作:
监视在网络上的多个设备处的属性的集合;
基于所监视的属性的集合选择数据组用于同步;
基于被分派给每个所选择的数据和每个设备的优先级级别,按优先序排列将对所选择的数据的组执行的同步操作;以及
根据优先序排列来同步所选择的数据的组。
19.如权利要求18所述的非瞬时型计算机可读介质,包括进一步的指令,当所述指令被执行时,使得设备至少部分地基于以下内容中的至少一个来发布命令以阻塞同步:电池电力信息、电池电力消耗率、存储装置空间、无线信号强度和网络细节。
20.如权利要求18所述的非瞬时型计算机可读介质,其中基于所监视的属性的集合动态地分派每个所选择的数据和每个设备的优先级级别。
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 |
---|---|
CN104937582A true CN104937582A (zh) | 2015-09-23 |
CN104937582B CN104937582B (zh) | 2018-11-06 |
Family
ID=51428616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380072015.2A Expired - Fee Related CN104937582B (zh) | 2013-02-27 | 2013-02-27 | 数据同步 |
Country Status (9)
Country | Link |
---|---|
US (1) | US9781203B2 (zh) |
JP (1) | JP6047669B2 (zh) |
KR (1) | KR101645149B1 (zh) |
CN (1) | CN104937582B (zh) |
BR (1) | BR112015018368B1 (zh) |
DE (1) | DE112013006371T5 (zh) |
GB (1) | GB2525788B (zh) |
TW (1) | TWI514132B (zh) |
WO (1) | WO2014133489A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402804A (zh) * | 2017-07-31 | 2017-11-28 | 广东欧珀移动通信有限公司 | 后台进程管控方法、装置、存储介质及电子设备 |
CN108881357A (zh) * | 2017-08-31 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种数据同步的方法和装置 |
CN110263052A (zh) * | 2019-06-25 | 2019-09-20 | 苏宁消费金融有限公司 | 一种基于大数据Hadoop平台ODS自动化同步技术创新方法 |
CN109246244B (zh) * | 2018-10-30 | 2021-06-15 | 北京网众共创科技有限公司 | 消息同步的检测方法、装置和系统 |
Families Citing this family (26)
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 |
US20160198014A1 (en) * | 2015-01-05 | 2016-07-07 | Onavo Mobile Ltd. | Techniques for predictive network resource caching |
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 | 네이버 주식회사 | 데이터 타입 기반의 멀티 디바이스 데이터 동기화를 위한 방법 및 시스템 |
KR102460523B1 (ko) | 2017-09-29 | 2022-10-28 | 애플 인크. | 다중-디바이스 통신 관리 |
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 |
KR102084014B1 (ko) * | 2018-12-11 | 2020-03-04 | 네이버 주식회사 | 데이터 타입 기반의 멀티 디바이스 데이터 동기화를 위한 방법 및 시스템 |
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 | 富士通株式会社 | 情報処理プログラム、情報処理方法、および情報処理装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009063034A2 (en) * | 2007-11-15 | 2009-05-22 | Desknet Sa | Method enabling a computer apparatus run by an operating system to execute software modules |
CN101500208A (zh) * | 2008-01-31 | 2009-08-05 | 三星电子株式会社 | 设备间数据同步的方法和系统 |
CN101833562A (zh) * | 2009-03-09 | 2010-09-15 | 索尼公司 | 信息提供服务器、信息提供系统、信息提供方法及程序 |
CN101933013A (zh) * | 2006-01-25 | 2010-12-29 | 谷歌公司 | 多客户端搜索方法和系统 |
CN102064932A (zh) * | 2010-12-30 | 2011-05-18 | 上海顶竹通讯技术有限公司 | 不同设备间数据同步的方法及装置 |
Family Cites Families (22)
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 |
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 |
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 |
KR101559046B1 (ko) * | 2008-10-21 | 2015-10-08 | 구글 인코포레이티드 | 항상 준비된 클라이언트/서버 데이터 동기화 방법 |
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 | 富士通株式会社 | アプリケーション移行システム、移行支援装置、コンピュータ、アプリケーション移行方法、ファイル移行方法、およびコンピュータプログラム |
US8880580B2 (en) | 2010-07-28 | 2014-11-04 | Admiemobile Llc | Systems and methods for establishing and maintaining virtual computing clouds |
US8312096B2 (en) * | 2010-12-08 | 2012-11-13 | Google Inc. | Priority inbox notifications and synchronization for mobile messaging application |
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 |
-
2013
- 2013-02-27 CN CN201380072015.2A patent/CN104937582B/zh not_active Expired - Fee Related
- 2013-02-27 US US14/763,458 patent/US9781203B2/en active Active
- 2013-02-27 BR BR112015018368-9A patent/BR112015018368B1/pt not_active IP Right Cessation
- 2013-02-27 KR KR1020157020693A patent/KR101645149B1/ko active IP Right Grant
- 2013-02-27 GB GB1513393.7A patent/GB2525788B/en not_active Expired - Fee Related
- 2013-02-27 WO PCT/US2013/027848 patent/WO2014133489A1/en active Application Filing
- 2013-02-27 JP JP2015555140A patent/JP6047669B2/ja not_active Expired - Fee Related
- 2013-02-27 DE DE112013006371.9T patent/DE112013006371T5/de not_active Withdrawn
-
2014
- 2014-02-24 TW TW103106077A patent/TWI514132B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101933013A (zh) * | 2006-01-25 | 2010-12-29 | 谷歌公司 | 多客户端搜索方法和系统 |
WO2009063034A2 (en) * | 2007-11-15 | 2009-05-22 | Desknet Sa | Method enabling a computer apparatus run by an operating system to execute software modules |
CN101500208A (zh) * | 2008-01-31 | 2009-08-05 | 三星电子株式会社 | 设备间数据同步的方法和系统 |
CN101833562A (zh) * | 2009-03-09 | 2010-09-15 | 索尼公司 | 信息提供服务器、信息提供系统、信息提供方法及程序 |
CN102064932A (zh) * | 2010-12-30 | 2011-05-18 | 上海顶竹通讯技术有限公司 | 不同设备间数据同步的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402804A (zh) * | 2017-07-31 | 2017-11-28 | 广东欧珀移动通信有限公司 | 后台进程管控方法、装置、存储介质及电子设备 |
CN107402804B (zh) * | 2017-07-31 | 2019-12-10 | Oppo广东移动通信有限公司 | 后台进程管控方法、装置、存储介质及电子设备 |
CN108881357A (zh) * | 2017-08-31 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种数据同步的方法和装置 |
CN108881357B (zh) * | 2017-08-31 | 2019-11-12 | 视联动力信息技术股份有限公司 | 一种数据同步的方法和装置 |
CN109246244B (zh) * | 2018-10-30 | 2021-06-15 | 北京网众共创科技有限公司 | 消息同步的检测方法、装置和系统 |
CN110263052A (zh) * | 2019-06-25 | 2019-09-20 | 苏宁消费金融有限公司 | 一种基于大数据Hadoop平台ODS自动化同步技术创新方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI514132B (zh) | 2015-12-21 |
DE112013006371T5 (de) | 2015-10-08 |
US9781203B2 (en) | 2017-10-03 |
JP2016508634A (ja) | 2016-03-22 |
BR112015018368A2 (pt) | 2017-07-18 |
WO2014133489A1 (en) | 2014-09-04 |
GB2525788A (en) | 2015-11-04 |
GB201513393D0 (en) | 2015-09-16 |
JP6047669B2 (ja) | 2016-12-21 |
KR101645149B1 (ko) | 2016-08-02 |
US20150358406A1 (en) | 2015-12-10 |
KR20150102115A (ko) | 2015-09-04 |
CN104937582B (zh) | 2018-11-06 |
GB2525788B (en) | 2020-07-15 |
BR112015018368B1 (pt) | 2022-08-02 |
TW201447570A (zh) | 2014-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104937582A (zh) | 数据同步 | |
CN111615712B (zh) | 多日历协调 | |
US9396209B2 (en) | Selecting storage cloud for storage of entity files from plurality of storage clouds | |
US10462242B2 (en) | Recommendations for shareable links to content items stored in an online content management service | |
US8204870B2 (en) | Unwired enterprise platform | |
Stuedi et al. | Wherestore: Location-based data storage for mobile devices interacting with the cloud | |
CA2901677C (en) | Predictive storage service | |
US10262265B2 (en) | Systems and methods for generating and communicating application recommendations at uninstall time | |
JP6352514B2 (ja) | 情報管理方法 | |
CN110266505A (zh) | 一种管理会话群的方法与设备 | |
EP2765552A1 (en) | System and method of providing object for service of service provider | |
US8880595B2 (en) | Asynchronous, passive knowledge sharing system and method | |
US20130135323A1 (en) | Method and device for providing information | |
CN109492200A (zh) | 协同文档还原方法、装置、存储介质及电子设备 | |
CN113805777A (zh) | 业务系统最优操作路径生成方法及系统 | |
CN104317558B (zh) | 用于提供通过其使用服务的对象的系统和方法 | |
JP2012014518A (ja) | コンテンツ間類似度算出装置及びコンテンツ間類似度算出方法 | |
KR102161051B1 (ko) | 서비스 제공자의 서비스에 관한 객체를 제공하는 시스템 및 방법 | |
Kang et al. | CloudIoT-based Jukebox Platform: A Music Player for Mobile Users in Café | |
KR100591546B1 (ko) | 이벤트 브로커에 의한 과금 검증 방법 및 장치 | |
CN117938945A (zh) | 话题推送处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181106 |
|
CF01 | Termination of patent right due to non-payment of annual fee |