CN105144102B - 自适应数据同步 - Google Patents

自适应数据同步 Download PDF

Info

Publication number
CN105144102B
CN105144102B CN201480012764.0A CN201480012764A CN105144102B CN 105144102 B CN105144102 B CN 105144102B CN 201480012764 A CN201480012764 A CN 201480012764A CN 105144102 B CN105144102 B CN 105144102B
Authority
CN
China
Prior art keywords
application module
synchronous
distribution
calculating equipment
description
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480012764.0A
Other languages
English (en)
Other versions
CN105144102A (zh
Inventor
J·范图伦内特
J·瓦德斯沃思
Y·张
R·S·巴德
H·普拉帕卡
A·吉弗伦特
E·阿莱克斯洛德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN201910812852.3A priority Critical patent/CN110609738A/zh
Publication of CN105144102A publication Critical patent/CN105144102A/zh
Application granted granted Critical
Publication of CN105144102B publication Critical patent/CN105144102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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
    • 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
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Power Sources (AREA)
  • Computer And Data Communications (AREA)

Abstract

在一实施例中,应用模块可以基于计算设备的运行状态来调整同步方案。操作系统可以确定计算设备的运行状态。操作系统可以基于运行状态向应用模块指派同步分配。应用模块的同步引擎可以基于同步分配来实现同步方案。

Description

自适应数据同步
背景
随着更多用户开始使用云服务来存储随时间持续更新的数据,所存储的数据可以在多个设备上同步。用户可能正在使用智能电话、平板设备、膝上型计算机、台式计算机或其他计算设备。这些设备的每一个可能在变化的环境中工作,诸如功率电平、活动级别、网络连接及其他因素。用户可能想要无论工作条件中的这些变化而使数据同步。
概述
提供本概述是为了以精简的形式介绍将在以下详细描述中进一步描述的概念的选集。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
以下讨论的各实施例涉及基于计算设备的运行状态来调整同步方案。操作系统可以确定计算设备的运行状态。操作系统可以基于运行状态向应用模块指派同步分配。应用模块的同步引擎可以基于同步分配来实现同步方案。
附图简述
为了描述可获得以上记载的及其他优点和特征的方式,将参照各具体实施例提出且将呈现更具体描述,各具体实施例在附图中解说。理解这些附图仅描述典型的实施例,因此不应被视为限制本发明的范围,各实施方式将通过使用附图以附加的具体性和细节来描述和解释。
图1以框图解说了数据网络的一实施例。
图2以框图解说了计算设备的一实施例。
图3以框图解说了计算设备的软件体系结构的一实施例。
图4以流程图解说了用操作系统来确定计算设备的运行状态的方法的一实施例。
图5以流程图解说了为应用模块设置同步分配的方法的一实施例。
图6以流程图解说了用于为应用模块确定同步方案的方法的一实施例。
图7以流程图解说了用同步服务器建立同步方案的方法的一实施例。
详细描述
以下讨论了各实施例。尽管讨论了各具体实施方式,但是应当理解,这仅为解说目的而完成。相关领域的技术人员将认识到,可以使用其他组件和配置,而不背离本公开的主题的精神和范围。各实施方式可以是机器实现的方法、其上存储有针对至少一个处理器的方法的一组指令的有形机器可读介质、或者计算设备的同步管理器。
数据同步程序通常不具有基于不同设备形式因素和代码执行成本的而适配的行为,因而可能对用户体验产生负面影响。各数据同步实施方式可能倾向于是因设备而异的。如果数据同步实施方式跨多个设备类型,则该实施方式可以被设计成在资源最不稳健的平台上工作。通过使实施方式聚焦于最低的公共标准,用户可能无法获得更丰富的用户体验。
数据同步实施方式可以使用各计算资源来执行诸如处理、存储和网络能力。每个资源可以影响电池寿命和网络带宽。此外,计算设备的资源可用性可以随时间改变。根据总成本影响的自适应同步行为可允许单个同步实施方式跨多个设备类型和工作条件而缩放,向用户提供功能和资源使用两方面的最佳可用体验。
操作系统可以将各种运行状态因素映射至同步资源的同步分配中,从而使得应用能够使用有限的同步资源集合。操作系统的状态模块可以使用各种基于影响运行状态的各种输入来确定执行中的代码的运行状态的算法,所述各种输入诸如功率、网络连接、处理器使用及其他运行条件。每个运行状态因素可以被归类为各个级别。例如,功率状态可以被描述为在被插入至电网时的低成本、在用电池电力且屏幕开启时的中成本、以及用电池电力且屏幕关闭时的高成本。操作系统可以在各应用模块间区分,将不同的同步分配指派给不同的应用模块。
在操作系统级别定义运行状态可允许应用基于可用资源来确定最优同步方法。使资源确定集中在操作系统处可使应用不需要获知其他应用的动作。使资源确定集中也可以使应用不用跟踪各资源和特征以确定运行状态。
一旦应用已接收到来自操作系统的同步分配,应用于是就可以选择最优地使用可用同步资源的同步方案。同步方案描述了资源引擎为了基于同步期间的分配来缩放同步协议所要遵循的规程,诸如同步的定时、同步的频率、同步的范围以及同步的持续期。同步引擎可以实施同步方案,而不影响底层同步协议。同步协议是用于应用的同步的一组联网规则,诸如因特网消息接入协议(IMAP)、交换活动同步(EAS)或邮局协议版本3(POP3)。应用可以确定要被更频繁同步的数据的范围、通知的范围、或者同步会话的频率和持续期。例如,企业通信软件可以频繁同步日历模块和邮件模块,而同时较不频繁地同步联系人列表。邮件模块内的各种邮件文件夹可以比其他内容更频繁地同步。
而且,应用的同步引擎可以基于同步所使用的数据负载来调整同步方案。例如,如果计算设备处于对数据流量具有高成本的收费网络上,同步引擎可以推迟大数据同步,直到与较便宜网络建立连接。平板可以在移动且连至蜂窝数据网络时使用有限同步,然后在连至用户的局域网且被插入电网时提供更丰富的同步。
而且,应用可以针对设备运行状态中的变化而调整。操作系统可以监视设备运行状态并且在环境变化时调整应用的同步分配。然后,应用可以相应地调整同步方案。而且,应用和操作系统两者可监控应用状态,确定应用是在活动使用中、在后台执行、还是休眠。在应用状态变化时,同步分配和同步方案可以改变。
因此,在一实施例中,应用模块可以基于计算设备的运行状态来调整同步方案。操作系统可以确定计算设备的运行状态。操作系统可以基于运行状态向应用模块指派同步分配。应用模块的同步引擎可以基于同步分配来实现同步方案。
图1以框图解说了数据网络100的一实施例。计算设备110可以执行操作系统112。操作系统112是软件应用的集合,所述软件应用管理应用模块114对硬件资源的使用、以及各应用模块114间的交互。应用模块114是软件应用、或是软件应用的一方面。
应用模块114可以管理用户的本地数据集合,该本地数据集合可以与存储于云上的远程数据集合同步。应用模块114可以具有将本地数据集合与云数据集合同步的同步引擎(sync引擎)116。同步引擎116可经由数据网络连接130连接至同步服务器(sync服务器)120。同步服务器120可以指单个服务器或可接入云数据集合的分布式服务器集合。数据网络连接130可以是因特网连接、广域网连接、局域网连接或者其他类型的数据网络连接。同步引擎116可以针对对同步方案的任何调整而警告同步服务器、或者通过数据网络连接130接收任何同步。
图2解说可用作同步管理器的示例性计算设备200的框图。计算设备200可以组合硬件、软件、固件和片上系统技术中的一个或多个以实现同步管理器。计算设备200可以包括总线210、处理器220、存储器230、数据存储器240、输入/输出设备250以及通信接口260。总线210或其他组件互连可以允许计算设备200的各组件间的通信。
处理器220可包括解译和执行一组指令的至少一个常规处理器或微处理器。存储器230可以是存储供处理器220执行的信息和指令的随机存取存储器(RAM)或另一类型的动态数据存储器。存储器230也可存储在处理器220执行指令期间使用的临时变量或其他中间信息。数据存储器240可包括存储供处理器220执行的信息和指令的常规的ROM设备或另一类型的静态数据存储器。数据存储器240可以包括任何类型的有形机器可读介质,诸如例如磁性或光学记录介质及其相应的驱动器,磁性或光学记录介质诸如数字视频盘。有形机器可读介质是存储机器可读代码或指令而非信号的物理介质。此处描述的使指令存储于机器可读介质上可区别于使指令被传播或传送,因为传播传输机指令相对于存储指令诸如可以对于其上存储有指令的计算机可读介质而发生。因此,除非以其他方式注明,以该形式或类似形式对其上存储有指令的计算机可读媒介/介质的引用是指其上可存储或保持数据的有形介质。数据存储器240可以存储详细说明一种方法的一组指令,该组指令在由一个或多个处理器执行时使该一个或多个处理器执行该方法。
输入/输出设备250可以包括允许用户向计算设备200输入信息的一个或多个常规机制,诸如键盘、鼠标、语音识别设备、麦克风、耳机、手势识别设备、触摸屏等。输入/输出设备250可以包括向用户输出信息的一个或多个常规机制,包括显示器、打印机、一个或多个扬声器、耳机或介质,所述介质诸如存储器、或者磁盘或光盘及相应的盘驱动器。通信接口260可包括使计算设备200能与其他设备或网络通信的任何类收发机机制。通信接口260可包括网络接口或收发机接口。通信接口260可以是无线的、有线的或光学的接口。
计算设备200可响应于处理器执行包含在计算机可读介质中的指令序列而执行这样的功能,所述计算机可读介质诸如例如存储器230、磁盘或光盘。这种指令可以经由通信接口260从另一计算机可读介质(诸如数据存储器240)或从一分开的设备被读入存储器230。
图3以框图解说了计算设备110的软件体系结构300的一实施例。操作系统112可具有状态模块302,状态模块302确定计算设备110的运行状态。运行状态可计入功率状态、屏幕状态、网络状态、预算状态、处理状态或者计算设备110的其他描述符。功率状态描述计算设备110的功率源,诸如电网或电池。屏幕状态描述了计算设备110的显示屏的亮度级别,诸如高、低或关闭。网络状态描述了计算设备110至数据网络的连接性以及网络的类型。预算状态描述了计算设备的任一资源是否被编入预算,诸如电池预算或网络预算。处理状态描述了计算设备110的处理功率的使用。
状态模块302可以向应用模块114发送同步分配304。同步分配304向应用模块114警告关于可由应用模块114使用的同步资源的量。同步分配304可以被表示为梯度或各级别的分组化集合,诸如高级分配、中级分配或低级分配。
应用模块114的同步引擎116随后可以基于同步分配304来调整同步方案306。同步方案306描述了用于将本地数据集合与云数据集合同步的规则。同步方案306可以描述同步范围、同步时间表、同步持续期、同步数据配额或其他度量。同步范围可以描述要在同步会话期间同步的子模块。同步时间表可以描述同步的定时和频率。同步持续期描述了同步会话的时间长度。同步数据指标描述了在同步会话期间发送的数据量。同步服务器120可以基于同步引擎116所提供的同步方案306向同步引擎发送同步更新308。
图4以流程图解说了用操作系统112来确定计算设备110的运行状态的方法400的一实施例。操作系统112的状态模块302可以将功率状态计入运行状态(框402)。状态模块302可以将屏幕状态计入运行状态(框404)。状态模块302可以将网络状态计入屏幕状态(框406)。状态模块302可以将预算状态计入运行状态(框408)。状态模块302可以将处理状态计入运行状态(框410)。
图5以流程图解说了为应用模块114设置同步分配304的方法500的一实施例。操作系统112可以确定计算设备110的运行状态(框502)。操作系统112可以在各应用模块114之间区分各同步分配304,诸如将应用模块114的同步分配304区别于辅助应用模块114的辅助同步分配304(框504)。在区分时,辅助应用模块114可以接收较高或较低的同步分配304、而非应用模块114的同步分配304。操作系统112可以将同步分配304表示为高级分配、中级分配或低级分配中的至少一个(框506)。操作系统112可以为应用模块114设置优先级,描述哪个应用模块一般先接收同步(框508)。用户或开发者可以为应用模块114设置优先级。操作系统112可以为应用模块114确定应用(APP)状态(框510)。应用状态描述应用模块114的活动性级别,诸如活动、背景或休眠。操作系统112可以将应用状态计入同步分配304(框512)。操作系统112可以基于运行状态向应用模块114指派同步分配304(框514)。操作系统112可以将同步分配304传送至应用模块114(框516)。如果状态模块302标识运行状态的状态变化(框518),则操作系统112可以基于运行状态的状态变化来调整同步分配304(框520)。
图6以流程图解说了为应用模块114实现同步方案306的方法600的一实施例。应用模块114可以标识应用状态(框602)。应用模块114的同步引擎116可以基于自操作系统112接收到的同步分配304来实施同步方案306(框604)。应用模块114可以基于同步分配确定同步引擎116的同步范围(框606)。应用模块114可以基于同步分配确定同步引擎116的同步范围(框608)。应用模块114可以基于同步分配确定同步引擎116的同步持续期(框610)。应用模块114可以基于同步分配确定同步引擎116的同步数据指标(框612)。应用模块114可以为每个应用子模块114指派各同步子方案,诸如基于同步分配304来指派用于主应用子模块的主同步子方案和用于辅助子模块的辅助同步子方案(框614)。应用子模块是应用模块114的一方面,诸如用于企业通信程序的邮件功能和日历功能。例如,用于邮件功能的同步子方案可以不同于用于日历功能的同步子方案。应用模块114的同步引擎116可以基于同步分配来实现应用模块114的同步方案306(框616)。如果应用模块114的应用状态发生变化(框618),应用模块114可以基于应用状态的变化来调整主同步子方案和辅助同步子方案以反映新应用状态(框620)。
图7以流程图解说了用同步服务器120建立同步方案306的方法700的一实施例。应用模块114可以基于计算设备110的运行状态从操作系统112接收同步分配304(框702)。应用模块114可以确定应用模块的应用状态(框704)。应用模块114的同步引擎116可以基于同步分配304来实现应用模块114的同步方案306(框706)。应用模块114的同步引擎116可以将同步方案306发送至同步服务器120(框708)。如果应用模块114在运行状态的变化之际从操作系统112接收到经更新同步分配304(框710),应用模块114的同步引擎116可以基于经更新同步分配304来调整同步方案306(框712)。应用模块114的同步引擎116可以在调整同步方案306之际向同步服务器120警告经更新同步方案306(框714)。或者,应用模块114的同步引擎116可以执行怠惰同步方案更新,在自同步服务器120接收同步更新308之后向同步服务器120警告同步方案306(框716)。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
本发明范围内的各实施例还可以包括用于携带或存储有计算机可执行指令或数据结构的计算机可读存储介质。这种计算机可读存储介质可以是可由通用或专用计算机接入的任何可用介质。通过示例、但非限制,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁性数据存储器、或者可用于携带或存储形式为计算机可执行指令或数据结构的期望程序代码装置的任何其他介质。以上的组合也应被包括在计算机可读介质的范围内。
各实施例也可实现于分布式计算环境中,其中各任务由通过通信网络链接(诸如通过硬线链接、无线链接或通过硬线链接和无线链接的组合)的本地及远程处理设备执行。
计算机可执行指令包括例如使通用计算机、专用计算机或专用处理设备执行某一功能或一组功能的指令和数据。计算机可执行指令还包括由单机或网络环境中的计算机执行的各程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件及数据结构等。计算机可执行指令、相关联的数据结构及程序模块表示用于执行此处公开的方法的各步骤的程序代码装置的示例。这种可执行指令或相关联的数据结构的特定序列表示用于实现在这种步骤中所述的功能的相应动作的示例。
尽管以上描述可包含具体细节,但它们不应被视为以任何方式限制权利要求。所述实施例的其他配置是本公开的范围的一部分。例如,本公开的原理可应用于每个个别用户,其中每个用户可以个别地采用这一系统。这使每个用户即使在大量可能应用的任一个不使用此处描述的功能的情况下,也利用本公开的好处。各电子设备的多个实例的每一个可以以各种可行方式处理内容。各实施方式不必要在全部终端用户使用的一个系统中。相应地,所附权利要求及其法律等效物仅应定义本发明,而不是本发明给出的任何具体示例。

Claims (12)

1.一种具有显示屏和处理器的计算设备实现的方法,所述处理器执行指令以提供操作系统,所述方法包括:
使用所述操作系统来确定所述计算设备的运行状态,所述运行状态表示基于以下中的一个或多个的组合在所述计算设备处可用的同步资源的量:描述提供给所述计算设备的功率源的功率状态、描述所述显示屏的亮度级别的屏幕状态、描述所述计算设备到数据网络的连接类型的网络状态、或者描述所述计算设备的处理功率的使用的处理状态;
将所述同步资源的量的第一部分和第二部分映射到第一同步分配和第二同步分配,所述第二同步分配不同于所述第一同步分配;以及
基于与第一应用模块和第二应用模块相关联的第一优先级和第二优先级将所述第一同步分配和所述第二同步分配分别指派给所述第一应用模块和所述第二应用模块,指派的所述第一同步分配和所述第二同步分配分别警告所述第一应用模块和所述第二应用模块关于供所述第一应用模块和所述第二应用模块使用的可用的所述同步资源的量的所述第一部分和所述第二部分。
2.如权利要求1所述的方法,还包括:
为所述第一应用模块和所述第二应用模块设置所述第一优先级和所述第二优先级。
3.如权利要求1所述的方法,还包括:
确定所述第一应用模块和所述第二应用模块中的每个的应用状态;以及确定所述运行状态包括基于确定的与所述第一应用模块和所述第二应用模块相关联的应用状态来确定所述运行状态。
4.如权利要求1所述的方法,还包括:
将所述第一同步分配和所述第二同步分配分别传送至所述第一应用模块和所述第二应用模块。
5.如权利要求1所述的方法,还包括:
标识确定的所述运行状态的状态变化。
6.如权利要求1所述的方法,还包括:
标识确定的所述运行状态的状态变化;以及
基于标识的所述运行状态的状态变化来调整所述第一同步分配或所述第二同步分配中的至少一个。
7.如权利要求1所述的方法,还包括:
将所述第一同步分配或所述第二同步分配表示为高级分配或低级分配中的至少一个。
8.一种其上存储有一组指令的有形机器可读介质,所述一组指令在由一个或多个处理器执行时使所述一个或多个处理器执行方法,所述方法包括:
使用操作系统来确定计算设备的运行状态,所述运行状态表示基于以下中的一个或多个的组合在所述计算设备处可用的同步资源的量:描述提供给所述计算设备的功率源的功率状态、描述显示屏的亮度级别的屏幕状态、描述所述计算设备到数据网络的连接类型的网络状态、或者描述所述计算设备的处理功率的使用的处理状态;
将所述同步资源的量的第一部分和第二部分映射到第一同步分配和第二同步分配,所述第二同步分配不同于所述第一同步分配;以及
基于与第一应用模块和第二应用模块相关联的第一优先级和第二优先级将所述第一同步分配和所述第二同步分配分别指派给所述第一应用模块和所述第二应用模块,指派的所述第一同步分配和所述第二同步分配分别警告所述第一应用模块和所述第二应用模块关于供所述第一应用模块和所述第二应用模块使用的可用的所述同步资源的量的所述第一部分和所述第二部分。
9.一种具有显示屏和处理器的计算设备实现的方法,所述处理器执行指令以提供操作系统,所述方法包括:
从所述操作系统接收同步分配,所述同步分配指示允许由应用模块消费的同步资源的量,所述同步资源的量是基于以下中的一个或多个的组合在所述计算设备处可用的同步资源总量的一部分:描述提供给所述计算设备的功率源的功率状态、描述所述显示屏的亮度级别的屏幕状态、描述所述计算设备到数据网络的连接类型的网络状态、或者描述所述计算设备的处理功率的使用的处理状态;
根据接收的所述同步分配来缩放与所述应用模块相关联的同步协议,所述同步协议包括以下中的一个或多个:同步范围、同步时间表、同步持续期、或同步数据配额;以及
利用所述应用模块,基于缩放的同步协议经由计算机网络将所述计算设备处的数据与位于远程服务器中的数据进行同步,
其中,所述应用模块包括第一子模块和第二子模块,所述方法进一步包括:将接收的所述同步分配的第一部分指派给所述第一子模块,将接收的所述同步分配的第二部分指派给所述第二子模块,其中,所述第一部分不同于所述第二部分。
10.一种用于数据同步的装置,所述装置包括:
用于使用操作系统来确定计算设备的运行状态的单元,所述运行状态表示基于以下中的一个或多个的组合在所述计算设备处可用的同步资源的量:描述提供给所述计算设备的功率源的功率状态、描述显示屏的亮度级别的屏幕状态、描述所述计算设备到数据网络的连接类型的网络状态、或者描述所述计算设备的处理功率的使用的处理状态;
用于将所述同步资源的量的第一部分和第二部分映射到第一同步分配和第二同步分配的单元,所述第二同步分配不同于所述第一同步分配;以及
用于基于与第一应用模块和第二应用模块相关联的第一优先级和第二优先级将所述第一同步分配和所述第二同步分配分别指派给所述第一应用模块和所述第二应用模块的单元,指派的所述第一同步分配和所述第二同步分配分别警告所述第一应用模块和所述第二应用模块关于供所述第一应用模块和所述第二应用模块使用的可用的所述同步资源的量的所述第一部分和所述第二部分。
11.一种计算设备,包括:
处理器;
显示屏,其能够操作地耦合到所述处理器;以及
存储器,其包含能够由所述处理器执行的指令以使得所述处理器执行包括以下的过程:
监视以下中的一个或多个:描述提供给所述计算设备的功率源的功率状态、描述所述显示屏的亮度级别的屏幕状态、描述所述计算设备到数据网络的连接类型的网络状态、或者描述所述计算设备的处理功率的使用的处理状态;
基于监视的所述计算设备的功率状态、屏幕状态、网络状态或处理状态中的一个或多个来确定在所述计算设备处可用的同步资源的量;
将确定的所述同步资源的量分成第一同步分配和第二同步分配,所述第二同步分配不同于所述第一同步分配;以及
基于与第一应用模块和第二应用模块相关联的第一优先级和第二优先级将所述第一同步分配和所述第二同步分配分别指派给所述第一应用模块和所述第二应用模块,指派的所述第一同步分配和所述第二同步分配允许所述第一应用模块和所述第二应用模块消费在所述计算设备处可用的所述同步资源的量的对应部分。
12.如权利要求11所述的计算设备,其中,监视所述功率状态包括确定所述计算设备是用电池电力还是连入电网。
CN201480012764.0A 2013-03-07 2014-03-04 自适应数据同步 Active CN105144102B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910812852.3A CN110609738A (zh) 2013-03-07 2014-03-04 自适应数据同步

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/788,684 US9519490B2 (en) 2013-03-07 2013-03-07 Adaptive data synchronization
US13/788,684 2013-03-07
PCT/US2014/020059 WO2014137958A1 (en) 2013-03-07 2014-03-04 Adaptive data synchronization

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910812852.3A Division CN110609738A (zh) 2013-03-07 2014-03-04 自适应数据同步

Publications (2)

Publication Number Publication Date
CN105144102A CN105144102A (zh) 2015-12-09
CN105144102B true CN105144102B (zh) 2019-09-17

Family

ID=50389501

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480012764.0A Active CN105144102B (zh) 2013-03-07 2014-03-04 自适应数据同步
CN201910812852.3A Pending CN110609738A (zh) 2013-03-07 2014-03-04 自适应数据同步

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910812852.3A Pending CN110609738A (zh) 2013-03-07 2014-03-04 自适应数据同步

Country Status (5)

Country Link
US (2) US9519490B2 (zh)
EP (1) EP2965201A1 (zh)
KR (1) KR102180451B1 (zh)
CN (2) CN105144102B (zh)
WO (1) WO2014137958A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9519490B2 (en) 2013-03-07 2016-12-13 Microsoft Technology Licensing, Llc Adaptive data synchronization
KR102020358B1 (ko) * 2013-03-14 2019-11-05 삼성전자 주식회사 단말 및 그 단말에서 애플리케이션 동기화 방법
US9854035B2 (en) 2013-05-28 2017-12-26 International Business Machines Corporation Maintaining state synchronization of an application between computing devices as well as maintaining state synchronization of common information between different applications without requiring periodic synchronization
US10044799B2 (en) 2013-05-28 2018-08-07 International Business Machines Corporation Implementing synchronization of state information betweeen instances of an application as well as between different applications in an efficient, scalable manner
US10225810B2 (en) 2014-08-06 2019-03-05 Samsung Electronics Co., Ltd. Method and apparatus for transmitting/receiving synchronization signal in device-to-device communication system
WO2016048067A2 (en) * 2014-09-25 2016-03-31 Samsung Electronics Co., Ltd. Synchronization procedure and resource control method and apparatus for communication in d2d system
US10772078B2 (en) * 2017-06-08 2020-09-08 Qualcomm Incorporated Techniques and apparatuses for synchronization signal resource selection for a wireless backhaul network
CN107705541B (zh) * 2017-09-29 2020-06-09 北京盛世辉科技有限公司 遥控器控制方法、装置、设备及计算机可读存储介质
DE102018205392A1 (de) * 2018-04-10 2019-10-10 Robert Bosch Gmbh Verfahren und Vorrichtung zur Fehlerbehandlung in einer Kommunikation zwischen verteilten Software Komponenten
DE102018205390A1 (de) * 2018-04-10 2019-10-10 Robert Bosch Gmbh Verfahren und Vorrichtung zur Fehlerbehandlung in einer Kommunikation zwischen verteilten Software Komponenten
US11032367B2 (en) 2018-07-16 2021-06-08 Microsoft Technology Licensing, Llc Long upload time detection and management
CN111913735B (zh) * 2019-05-07 2022-06-14 成都鼎桥通信技术有限公司 属性同步方法及装置

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100201806B1 (ko) 1994-10-19 1999-06-15 윤종용 무선호출수신기의전원 절약장치 및 방법
JP3573546B2 (ja) 1995-10-27 2004-10-06 富士通株式会社 並列計算機における並列プロセススケジューリング方法および並列計算機用処理装置
US5768585A (en) 1995-11-21 1998-06-16 Intel Corporation System and method for synchronizing multiple processors during power-on self testing
US7594017B1 (en) 2000-05-25 2009-09-22 Palmsource Inc. Method and system for adaptive data synchronization and transport across multiple data transport infrastructures
US6601076B1 (en) 2001-01-17 2003-07-29 Palm Source, Inc. Method and apparatus for coordinated N-way synchronization between multiple database copies
US20030046448A1 (en) * 2001-06-06 2003-03-06 Claudius Fischer Application programming interface layer for a device
JP4588443B2 (ja) 2002-04-30 2010-12-01 ヴィスト・コーポレーション 適応性のあるサービスデータの同期
US7461163B2 (en) 2002-08-16 2008-12-02 Infrastructure Innovations Llc Real time mesh measurement system stream latency and jitter measurements
US7203853B2 (en) 2002-11-22 2007-04-10 Intel Corporation Apparatus and method for low latency power management on a serial data link
EP1555772A3 (en) * 2004-01-15 2013-07-17 Yamaha Corporation Remote control method of external devices
US7664788B2 (en) 2005-01-10 2010-02-16 Microsoft Corporation Method and system for synchronizing cached files
US20060242206A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation System and method for peer to peer synchronization of files
US7725093B2 (en) 2006-03-29 2010-05-25 Intel Corporation Method and apparatus for a power-efficient framework to maintain data synchronization of a mobile personal computer to simulate a connected scenario
US7710975B2 (en) 2006-05-12 2010-05-04 International Business Machines Corporation Synchronization technique for exchanging data with a mobile device that conserves the resources of the mobile device
US20080005249A1 (en) 2006-07-03 2008-01-03 Hart Matt E Method and apparatus for determining the importance of email messages
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
US8045977B2 (en) 2007-11-01 2011-10-25 Honeywell International Inc. Method for maintaining datalink network throughput by delaying lower priority messages
US20090282169A1 (en) 2008-05-09 2009-11-12 Avi Kumar Synchronization programs and methods for networked and mobile devices
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
US9027027B2 (en) * 2008-06-09 2015-05-05 Microsoft Technology Licensing, Llc Thread management based on device power state
US8112475B2 (en) 2008-06-27 2012-02-07 Microsoft Corporation Managing data delivery based on device state
US8095612B2 (en) 2008-09-19 2012-01-10 Mailrank, Inc. Ranking messages in an electronic messaging environment
JP5631887B2 (ja) 2008-10-21 2014-11-26 グーグル インコーポレイテッド データの同期のための検索ベースの仕様
JP5515331B2 (ja) 2009-03-09 2014-06-11 ソニー株式会社 情報提供サーバ、情報提供システム、情報提供方法及びプログラム
US8291036B2 (en) 2009-03-16 2012-10-16 Microsoft Corporation Datacenter synchronization
EP2466948A1 (en) * 2009-08-11 2012-06-20 Alcatel Lucent Method for trimming traffic in e-mbms system and bm-sc for implementing method
CN101635728B (zh) 2009-09-02 2012-09-26 中兴通讯股份有限公司 内容分发网络中数据同步的方法及系统
US8688826B2 (en) * 2009-11-30 2014-04-01 Motorola Mobility Llc Mobile computing device and method with intelligent pushing management
GB0921559D0 (en) 2009-12-09 2010-01-27 Omnifone Ltd Behaviour-adaptive intelligent synchronisation of media content files
US8904206B2 (en) * 2010-01-26 2014-12-02 Motorola Mobility Llc Mobile computing device and method for maintaining application continuity
WO2012024030A2 (en) 2010-07-26 2012-02-23 Seven Networks, Inc. Context aware traffic management for resource conservation in a wireless network
US8645574B2 (en) 2010-08-02 2014-02-04 Blackberry Limited Method and system for management of synchronization of a mobile electronic device
US8385314B1 (en) * 2010-10-04 2013-02-26 Sprint Spectrum L.P. Method and system for modifying a data-synchronization interval based on number of terminals being served in the coverage area
US8312096B2 (en) 2010-12-08 2012-11-13 Google Inc. Priority inbox notifications and synchronization for mobile messaging application
US20120173993A1 (en) 2010-12-30 2012-07-05 International Business Machines Corporation Point of interest preview for electronic mail
US20120179896A1 (en) 2011-01-10 2012-07-12 International Business Machines Corporation Method and apparatus for a hierarchical synchronization barrier in a multi-node system
US8676906B2 (en) * 2011-02-25 2014-03-18 Qualcomm Incorporated Email access manager for a wireless communication device
US8538926B2 (en) 2011-03-08 2013-09-17 Rackspace Us, Inc. Massively scalable object storage system for storing object replicas
US20130041761A1 (en) 2011-04-07 2013-02-14 Jeffrey Allen Voda Location based advertising asset tracking system and method
EP2624577B1 (en) 2012-02-01 2016-11-02 EchoStar UK Holdings Limited Remote viewing of media content using layered video encoding
US20130205001A1 (en) * 2012-02-02 2013-08-08 Motorola Mobility, Inc. Modifying application data synchronization based on application usage frequency
TWI497948B (zh) * 2012-02-14 2015-08-21 Htc Corp 行動裝置的動態郵件同步方法、系統及電腦程式產品
US8407306B1 (en) 2012-06-25 2013-03-26 Google Inc. Systems and methods for managing message delivery based on message priority
US9651672B2 (en) * 2012-09-25 2017-05-16 Intel Corporation Systems and methods for time synchronization
US20140092757A1 (en) * 2012-10-01 2014-04-03 Futurewei Technologies, Co. Controlling Data Synchronization and Backup Services
US9106721B2 (en) * 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9519490B2 (en) 2013-03-07 2016-12-13 Microsoft Technology Licensing, Llc Adaptive data synchronization
US9858052B2 (en) 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US9588983B2 (en) 2013-10-17 2017-03-07 Microsoft Technology Licensing, Llc Data classification for adaptive synchronization

Also Published As

Publication number Publication date
US20170048161A1 (en) 2017-02-16
US20140258703A1 (en) 2014-09-11
KR20150130384A (ko) 2015-11-23
WO2014137958A1 (en) 2014-09-12
EP2965201A1 (en) 2016-01-13
KR102180451B1 (ko) 2020-11-18
US9519490B2 (en) 2016-12-13
CN110609738A (zh) 2019-12-24
CN105144102A (zh) 2015-12-09
US10491535B2 (en) 2019-11-26

Similar Documents

Publication Publication Date Title
CN105144102B (zh) 自适应数据同步
US11847576B2 (en) Methods and system for managing predictive models
TWI441477B (zh) 行動裝置管理代理系統
CN107590001A (zh) 负载均衡方法及装置、存储介质、电子设备
Boloor et al. Dynamic request allocation and scheduling for context aware applications subject to a percentile response time SLA in a distributed cloud
CN106919445A (zh) 一种在集群中并行调度容器的方法和装置
CN105637841B (zh) 用于适应性同步的数据分类
JP6273033B2 (ja) ユーザの計画及び目標のコンテキスト理解に基づくリソースのプラットフォーム自己管理
US20160134573A1 (en) System and Method for Equitable Processing of Asynchronous Messages in a Multi-Tenant Platform
CN110781180B (zh) 一种数据筛选方法和数据筛选装置
US20200133691A1 (en) Modifying content interface based upon level of activity
CN110351366A (zh) 一种互联网应用的服务调度方法、系统及计算机可读存储介质
CN106104626A (zh) 基于分析的数字内容的更新
CN110019537A (zh) 本地缓存刷新方法、装置、计算机设备及存储介质
CN109656692B (zh) 一种大数据任务管理方法、装置、设备及存储介质
CN103270520A (zh) 基于重要性类的数据管理
CN114924851A (zh) 训练任务的调度方法、装置、电子设备和存储介质
CN102970355B (zh) 通过挂起承租人来管理数据中心的容量的方法和设备
JP2022130300A (ja) カスタマイズされたリマインダのためのシステムおよび方法
WO2017054125A1 (zh) 事件规划方法及终端
WO2019119951A1 (zh) 设备资源管理
US11681949B2 (en) Power awareness systems and processes
CN109117146A (zh) 云平台双机容灾系统的自动部署方法、装置、存储介质和计算机设备
CN115001692A (zh) 模型更新方法及装置、计算机可读存储介质和电子设备
CN112953993A (zh) 资源调度方法、设备、网络系统及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant