CN106233674B - 使用令牌桶的通信的电池高效同步 - Google Patents

使用令牌桶的通信的电池高效同步 Download PDF

Info

Publication number
CN106233674B
CN106233674B CN201580019923.4A CN201580019923A CN106233674B CN 106233674 B CN106233674 B CN 106233674B CN 201580019923 A CN201580019923 A CN 201580019923A CN 106233674 B CN106233674 B CN 106233674B
Authority
CN
China
Prior art keywords
token
email
token bucket
bucket
synchronous
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
CN201580019923.4A
Other languages
English (en)
Other versions
CN106233674A (zh
Inventor
H·格林
J·莫里斯
A·德塞
M·麦克卢尔
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
Publication of CN106233674A publication Critical patent/CN106233674A/zh
Application granted granted Critical
Publication of CN106233674B publication Critical patent/CN106233674B/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
    • 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
    • H04L67/62Establishing a time schedule for servicing the requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/226Delivery according to priorities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • 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/55Push-based network services
    • 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)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

用于电子邮件同步的系统和方法可包括具有令牌桶的计算设备。令牌桶允许临时存储令牌,每一令牌授权在该计算设备上运行的至少一个电子邮件应用程序的同步。该设备可确定与由该至少一个电子邮件应用程序管理并由电子邮件服务器主存的电子邮件帐户相关联的接收到的电子邮件通信的频率。该确定可基于与令牌桶相关联的一个或多个特性。所确定的频率可以与阈值进行比较。当所确定的频率等于或低于阈值时,可以与电子邮件服务器建立推送通信信道,该推送通信信道用于接收服务器发起的电子邮件推送通信。该至少一个电子邮件应用程序可通过使用该推送通信信道接收推送通信来与电子邮件帐户同步。

Description

使用令牌桶的通信的电池高效同步
技术领域
本发明涉及移动设备上的通信同步,尤其涉及电池高效的通信同步。
背景技术
随着计算技术的发展,越来越强大的移动设备已经变得可用。例如,智能电话已经变得普及。此类设备的移动性已导致开发出不同类型的功能性,诸如电子邮件相关功能性以及电池节省功能性。包括存储器和显示器的移动设备芯片组在过去若干年中已经显著地提升了效率。然而,电池技术没有跟上此类移动设备组件的发展。在具有越来越强大的芯片组和越来越大的屏幕的情况下,移动设备对能量的需求继续增长,而电池容量增长已经滞后。
在移动设备上使用电子邮件现在是与使用智能电话同义的。只要电子邮件到达服务器,用户就喜欢在他们的移动设备上接收他们的电子邮件。电子邮件相关功能性是对移动设备电池电量的主要电量耗用之一。在移动设备的寿命中,同步电子邮件始终是最大的基于应用程序的后台电池消耗。
可使用推送型通信(服务器向移动设备推送电子邮件)和轮询(或抓取)型通信(移动设备向服务器请求电子邮件)来从电子邮件服务器接收电子邮件。每一次推送或轮询操作都消耗来自设备电池的能量。在推送一个或若干个电子邮件时,单次推送操作消耗几乎相同的能量。类似地,在抓取一个或若干个电子邮件时,单次轮询操作消耗几乎相同的能量。
在轮询型通信中,移动设备周期性地向服务器请求电子邮件(例如,每5分钟)。就此,轮询在收到电子邮件的频率为高的情况下可能是高效的(例如,如果用户在5分钟内接收到10封邮件,则对服务器的单个请求将以接收1封电子邮件的能量成本抓取所有10封电子邮件)。然而,当电子邮件频率为低时轮询耗尽来自设备电池的能量(例如,如果用户一天接收10封电子邮件,则移动设备将一天请求电子邮件超过200次,但最多10个请求将抓取到电子邮件,其余请求将抓取不到电子邮件)。
在推送型通信中,只要电子邮件到达服务器,服务器就将该电子邮件推送给移动设备。这种类型的通信在接收到的电子邮件的频率为低时可以是高效的(例如,如果10封电子邮件到达电子邮件服务器,则移动设备将只被通知10次)。然而,推送型通信在接收到的电子邮件的频率为高的情况下可能是低效的并且耗用更多电池电量(例如,如果用户一天接收到50封电子邮件,则移动设备将使用大量电池电量来被通知500次)。
就此,设备电池寿命在推送或轮询型通信的情况下可能受到负面影响。存在确定对电池的负面影响程度的许多变数,除了用户接收到的电子邮件的量之外该负面影响程度直接与同电子邮件服务器的通信频率成比例。在这电子邮件始终最新的时期和时代,电子邮件可对移动设备的电池造成的负面影响可能是显著的。
发明内容
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
根据一个或多个方面,一种用于电子邮件同步的方法可包括具有令牌桶的计算设备。令牌桶允许临时存储令牌,每一令牌授权在该计算设备上运行的至少一个电子邮件应用程序的同步。该设备可确定与由该至少一个电子邮件应用程序管理并由电子邮件服务器主存的电子邮件帐户相关联的接收到的电子邮件通信的频率。该确定可基于与令牌桶相关联的一个或多个特性。所确定的频率可以与阈值进行比较。当所确定的频率等于或低于阈值时,可以与电子邮件服务器建立推送通信信道,该推送通信信道用于接收服务器发起的电子邮件推送通信。该至少一个电子邮件应用程序可通过使用该推送通信信道接收推送电子邮件通信来与电子邮件帐户同步。当所确定的频率大于阈值时,推送通信信道可被关闭。至少一个电子邮件应用程序然后可以使用该计算设备发起的电子邮件拉取请求来与电子邮件帐户同步。接收到的电子邮件的频率可被自动地监视(例如,由该设备或服务器)并且推送与轮询(或抓取)之间的切换可基于频率低于还是高于阈值来自动执行。
根据一个或多个方面,一种用于电子邮件同步的方法可包括具有令牌桶的计算设备。令牌桶可允许临时存储令牌,每一令牌授权在该计算设备上运行的至少一个电子邮件应用程序的同步。该设备可确定至少一个令牌是否在令牌桶中可用。当该至少一个令牌在令牌桶中可用时,可生成将至少一个电子邮件应用程序与相应的电子邮件帐户同步的请求。响应于该请求,可接收来自相应的电子邮件帐户的一个或多个电子邮件通信以用于同步该至少一个电子邮件应用程序。该同步请求可以与例如与主存该相应电子邮件帐户的电子邮件服务器的经调度电子邮件同步。
根据一个或多个方面,一种计算机可读存储介质可在其上存储有可操作用于使一计算设备执行一种用于电子邮件同步的方法的计算机可执行指令。该方法可包括在该计算设备处用初始令牌集重置令牌桶。每一令牌可授权在该计算设备上运行的至少一个电子邮件应用程序的同步。初始令牌集可基于与该计算设备相关联的一个或多个设备使用统计来确定。响应于该计算设备发起的电子邮件拉取请求,可验证与令牌桶相关联的为正的当前令牌计数(即,令牌桶不为空)。当当前令牌计数为正时,在该计算设备上运行的至少一个电子邮件应用程序可以与主存在电子邮件服务器处的电子邮件帐户同步。当前令牌计数然后可基于该同步来减小。
根据一个或多个方面,一种计算设备可包括处理器、存储器以及具有令牌桶的同步服务。令牌桶可允许临时存储令牌,每一令牌授权在该计算设备上运行的至少一个电子邮件应用程序的同步。同步服务可被配置成执行用于电子邮件同步的操作,包括用初始令牌集重置令牌桶。每一令牌可授权在该计算设备上运行的至少一个电子邮件应用程序与电子邮件服务器主存的相应电子邮件帐户的同步。可以与电子邮件服务器建立推送通信信道。推送通信信道可用于接收服务器发起的电子邮件推送通信(例如,在令牌桶不为空的情况下)。同步服务可确定至少一个令牌是否在令牌桶中可用。如果连至少一个令牌都在令牌桶中不可用,则推送通信信道可被关闭(并且随后可以在令牌桶中有至少一个令牌可用时被重新开启)。
如本文所述的,各种其它特征和优点可按照需要被结合到所述技术中。
附图说明
图1示出了根据本公开的示例实施例的其中可实现使用令牌桶的电子邮件同步的示例系统。
图2是根据本公开的示例实施例的令牌桶设置模块的框图,该模块可以与基于令牌桶的电子邮件同步联用。
图3是示出根据本公开的示例实施例的示例令牌桶设立过程的流程图。
图4是示出根据本公开的示例实施例的使用令牌桶的示例电子邮件同步过程的流程图。
图5是根据本公开的示例实施例的具有使用具有令牌桶的电子邮件同步服务的计算设备的示例系统的框图。
图6A-6B是示出根据本公开的示例实施例的使用令牌桶的电子邮件同步的示例过程的流程图。
图7是示出根据本公开的示例实施例的使用令牌桶的电子邮件同步的另一示例过程的流程图。
图8是示出根据本公开的示例实施例的使用令牌桶的电子邮件同步的又一示例过程的流程图。
图9是可用于实现所描述的一些实施例的示例计算系统的示图。
图10示出了其中可实现所描述的实施例、技巧和技术的合适的云支持环境的一般化示例。
图11是可以连同本文所述的技术被使用的示例移动设备。
具体实施方式
始终最新的电子邮件依靠电子邮件服务器来在有新消息时通知移动设备(例如,服务器发起的推送通信)。在这种类型的架构中,移动设备处于恒定的“收听”状态(例如,等待下一通知),并且每一传入通知都导致该设备无线电苏醒。就此,移动设备可能由于被用户的标准电子邮件通信导致的或者基于具有恶意意图的通信(例如,被入侵的电子邮件帐户)的新邮件通知淹没(例如,在数小时内每分钟数次)而从具有数天电池寿命快速退化到数小时电池寿命。
移动设备上的由于频繁更新的电子邮件而导致的功耗问题在没有主动用户干预的情况下尚未被成功解决。一种解决方案是提供用户可选设置以使得用户能够选择适当的同步参数,对随时间的能量使用有最大影响的参数是同步频率。然而,该设置对于大多数用户而言是不够的,因为贯穿一个人在例如工作日、晚上、通宵和周末期间的电子邮件使用该设置并非是最优的。大多数用户不频繁地更新同步设置,因为这可能变得难以确定针对其个体需求的适当设置。
如本文所描述的,各种技术和解决方案可适用于使用令牌桶的电池高效通信同步,这改进了常规同步(例如,电子邮件同步)的缺陷。更具体而言,可执行对电子邮件同步的基于令牌桶的抑制,由此以最有限的资源(即,电池电量)优化能量需求最多的设备应用程序(即,电子邮件同步),同时提供控制和管理电子邮件同步的用户友好体验。在一示例实施例中,电子邮件通信频率可使用令牌桶(即,令牌桶算法)来确定。电子邮件同步可通过自动地在推送和轮询型同步之间切换来执行。例如,推送型同步可以在电子邮件频率(即,用户电子邮件帐户的接收到的电子邮件的频率)为低(例如,低于预定频率阈值)时使用,而轮询型通信可以在电子邮件频率高于频率阈值时使用。移动设备以此在推送和轮询之间切换的频率阈值可基于与令牌桶算法相关联的一个或多个参数。
计算设备电子邮件同步服务可使用令牌桶算法来限制推送型电子邮件通知和/或设备发起的抓取型通知的“高峰使用”。单个令牌可以每隔单位时间T存放,且令牌可用于每一次电子邮件同步(抓取和/或推送型电子邮件通信),且每一次同步包括多个已发送和/或已接收电子邮件。该方法有效地允许基于电子邮件的帐户每时间段同步指定次数。未被使用的令牌可被收集并保存以供稍后使用,能收集的最大令牌数目取决于令牌桶“大小”。令牌可被回收以使得收集不是无界限的(例如,整个令牌桶可以每24小时用初始设置重置并重新初始化一次)。如果令牌由于短时间段内的太多电子邮件通知而被耗尽,则电子邮件同步可被挂起直到令牌在下一单位时间T变得可用。例如,当令牌计数掉至零时,电子邮件同步可以从使用基于推送的方法切换至使用基于轮询的方法。当令牌计数去往非零时,电子邮件同步可以从使用基于轮询的方法切换回基于推送的方法。
令牌桶还可允许“自由同步”,其中设备用户可以在不招致令牌成本的情况下同步其电子邮件。例如,可以在设备屏幕被开启并且用户正活动地将设备用于数据(即,设备无线电不处于低功率模式)时允许这一“自由同步”。
即使本文描述的技术使用电子邮件同步,但本公开可以不限于此,并且也可使用此类技术来同步其它类型的个人信息管理(PIM)数据。例如,其它PIM数据(诸如日历条目、来自联系人管理器的一个或多个联系人条目、web浏览器书签、笔记、来自消息收发应用程序的一个或多个消息等)也可使用如本文描述的令牌桶来同步。
如本文中所使用的,术语“令牌桶”指的是可被实现为设备操作系统的一部分或者被编码为专用模块的一部分的令牌桶算法。如应用于电子邮件同步的令牌桶的设置和使用在下文中讨论。
如本文中所使用的,术语“客户端发起的拉取”、“设备发起的拉取”、“电子邮件轮询”或者“设备发起的轮询”指的是使用抓取型通信的电子邮件同步。例如,计算设备(或另一电子邮件客户端)发起对友电子邮件服务器主存的电子邮件通信的“拉取”。换言之,该计算设备(例如,经由在该计算设备上运行的电子邮件应用程序)发起电子邮件同步并“抓取”与主存在电子邮件服务器处的电子邮件帐户相关联的电子邮件。
如在本文中所使用的,术语“服务器发起的推送”或“电子邮件推送”指的是使用推送型通信的电子邮件同步。例如,电子邮件通信信道可由计算设备建立(并控制)以便在通信上将该计算设备与电子邮件服务器耦合。该信道可由该设备保持活动,并且该服务器可通过在电子邮件通信到达该服务器时推送在该服务器所主存的用户帐户处接收到的这些电子邮件通信来发起电子邮件同步。
如在本文中所使用的,术语“同步”是与“同步”同义的且指代电子邮件同步。如在本文中所使用的,术语“应用”是与“应用程序”同义的,并且指代在计算设备处安装(并在其上运行)的一个或多个应用程序。
图1示出了根据本公开的示例实施例的其中可实现使用令牌桶的电子邮件同步的示例系统。参考图1,系统100可包括计算设备102和电子邮件服务器104。计算设备102可以是各种计算设备(移动的或其它)中的任一个,包括蜂窝电话、智能电话、手持式计算机、个人数字助理(PDA)、平板设备、台式计算机、膝上型计算机或笔记本等。服务器104可以是各种服务器计算机中的任一个,包括通信地耦合到计算设备102的专用电子邮件服务器计算机。即使图1只示出了计算设备102和电子邮件服务器104的若干组件,但其它组件也可被实现,如图5所示。
计算设备102可包括同步服务107,该同步服务可以是设备102的操作系统的一部分或者在设备102上运行的一个或多个应用程序(或应用)的一部分。同步服务107可包括合适的逻辑、电路系统、接口和/或代码,并且可操作用于与同设备102的用户相关联且由例如电子邮件服务器104主存的一个或多个用户电子邮件帐户134...135相结合地执行电子邮件同步。同步服务107还可包括可以与例如客户端发起的拉取和/或服务器发起的推送类型的电子邮件同步相结合地使用的令牌桶电子邮件同步(TBES)服务106。
TBES服务106可包括合适的逻辑、电路系统、接口和/或代码,并且可操作用于与客户端发起的拉取和/或服务器发起的推送类型的电子邮件同步相结合地实现令牌桶算法。更具体而言,TBES服务106可包括设置模块118、令牌生成器108、令牌桶110以及令牌消耗控制器112。设置模块118可包括与TBES服务106相关联的各种类型的设置,诸如令牌桶设立设置122、与令牌生成相关的设置120以及与令牌消耗相关的设置124。设置120-124可使用配置输入126来配置,如以下参考图2更详细地讨论的。
令牌生成器108可包括合适的逻辑、电路系统、接口和/或代码,并且可操作用于生成一个或多个令牌114以供存储在令牌桶110中。例如,令牌生成器可生成具有给定大小的令牌桶110,并且可周期性地、在所确定的时间段(例如,基于令牌桶设立设置122)生成并存放新令牌(例如,114)。
令牌消耗控制器112可包括合适的逻辑、电路系统、接口和/或代码,并且可操作用于在电子邮件同步进行时控制存储在令牌桶110中的令牌的令牌消耗。例如,在消耗令牌116时(例如,所消耗的每一令牌与对用户电子邮件帐户134...135中的一个或多个帐户中的电子邮件1...N中的一封或多封电子邮件的电子邮件同步128中的一相应电子邮件同步相关联),令牌消耗控制器112可将所消耗的令牌数从存储在令牌桶110中的令牌总数中减去。就此,令牌消耗控制器112可存储在令牌桶110中可用的令牌的当前令牌计数。另外,令牌消耗控制器112可基于令牌桶110中的可用令牌的当前计数来挂起或继续电子邮件同步。与令牌桶110相关联的令牌的生成和消耗可以进一步取决于令牌生成设置120和令牌消耗设置124。
在一示例客户端发起的拉取操作中,TBES服务106可验证在令牌桶110中存在至少一个令牌(即,令牌桶110中的当前令牌计数为正),并且可以在确认在令牌桶110中存在至少一个可用令牌后周期性地生成电子邮件同步请求130。电子邮件同步128随后可通过接收消耗来自令牌桶110的一个或多个令牌116的一个或多个电子邮件通信(例如,用户电子邮件帐户134中的一封或多封电子邮件)来进行。例如,用户帐户134中的电子邮件1和2可以是新电子邮件(例如,在一先前客户端发起的拉取后到达)。在电子邮件服务器104接收到下一电子邮件同步请求130后,电子邮件1和2的电子邮件同步128可进行,从而消耗一个令牌116(即,与电子邮件服务器104主存的一个或多个电子邮件帐户134...135的每次电子邮件同步消耗一个令牌)。
在一示例服务器发起的推送操作中,TBES服务106(或同步服务107)可生成电子邮件通信信道(ECC)132,该ECC可用于在服务器发起的推送(和/或客户端发起的拉取)型电子邮件同步期间的电子邮件通信。TBES服务106(或设备102内的另一服务)可使用ECC控制信号136来控制(例如,关闭/挂起或开启/重建)ECC 132。例如,TBES服务106(例如,令牌消耗控制器112)可检测到令牌桶110为空,并且可生成ECC控制信号136以关闭或挂起ECC信道132。就此,任何服务器发起的推送通信也将被挂起,因为ECC信道将不可用。在令牌生成器108生成被存放到令牌桶110中的一个或多个新令牌114之后,令牌消耗控制器可检测到当前令牌计数为正(即,存在至少一个可用令牌)并且可生成新ECC控制信号136以用于开启或重建ECC信道132。
根据本公开的一示例实施例,令牌桶110中的令牌计数可用于确定服务器发起的推送或设备发起的拉取是否可用于电子邮件同步。例如,如果令牌桶110为空(即,桶中的令牌计数为0),则不可允许推送或拉取通信。当令牌计数增加(例如,变为1)时,拉取可被禁用,而服务器发起的推送可被启用。服务器发起的推送可以在令牌桶110再次变空时被禁用。
图2是根据本公开的示例实施例的令牌桶设置模块的框图,该模块可以与基于令牌桶的电子邮件同步联用。参考图1-2,设置模块118可包括与TBES服务106相关联的各种类型的设置,诸如令牌桶设立设置122、与令牌生成相关的设置120以及与令牌消耗相关的设置124。
令牌桶设立设置122可包括初始令牌计数202、桶大小204、重填间隔时段(例如,以分钟计)206以及重填令牌计数208。设置值202-208全都可以是整数值,并且可被分别指定为例如InitialTokenCount(初始令牌计数),BucketSize(桶大小),RefillIntervalInMinutes(以分钟计的重填间隔)以及RefillTokenCount(重填令牌计数)。初始令牌计数202指示在初始化/重置令牌桶204时所存放的令牌的初始数量。桶大小204可指示令牌桶110可保存的令牌的最大数量。重填间隔时段(例如,以分钟计)206指示用于周期性地生成一个或多个新令牌的重填时间段。重填令牌计数208指示在每一重填时段生成的令牌数。
令牌生成设置120可指定与令牌生成器108生成令牌114相关联的一个或多个设置(或事件)。例如,令牌生成设置120可包括用户交互事件210、增大重填间隔事件212以及减小重填间隔事件214。用户交互事件210可指定一个或多个用户交互事件(例如,用户打开设备102,这也激活设备屏幕)。令牌生成器108对用户交互事件210的检测可导致发放/生成“自由令牌”(即,自由令牌的生成在成规/周期性重填间隔之外进行)。
增大重填间隔事件212可指定可导致重填间隔208增大的一个或多个事件。例如,此类事件可包括在非高峰时间操作设备102。减小重填间隔事件214可指定可导致减小重填间隔206的一个或多个事件。例如,此类事件可包括在设备正在充电时使用设备102。另外,重填间隔206可基于剩余电池电量或电池放电率、蜂窝信号强度、或者相对于与设备102的平均使用相关联的电池放电循环趋向于更快或更慢的电池放电循环的设备使用模式(其可作为设备使用统计226的一部分来获取)来变化。因此,用于增大或减小重填间隔206的此类事件可使用设备使用统计226来被分别包括(例如,自动地经由自动输入222或基于用户输入220)在事件212或214中。
令牌消耗设置124可指定与来自令牌桶110的令牌的消耗相关联的一个或多个设置(或事件)。例如,单帐户消耗设置216可指定哪一个电子邮件帐户(例如,选自电子邮件帐户134...135)与令牌桶110相关联。单帐户消耗设置216还可指定多少令牌被消耗用于每一同步。多帐户消耗设置218可指定多个电子邮件帐户(例如,选自电子邮件帐户134...135)与令牌桶110相关联。就此,一个令牌桶(例如,110)可用于每一个用户电子邮件帐户(134...135),或者一个令牌桶可以在多个用户电子邮件帐户之间共享。
如果多个桶用于多个电子邮件帐户,则每一个桶的令牌计数可以在用户设备必须被重新引导的情况下被存储(例如,作为用户电子邮件简档的一部分被存储在电子邮件服务器104处或者存储在设备片上存储器中)。另外,用户可被允许从一个桶“借取”令牌以使得电子邮件同步可使用当前为空的另一令牌桶来进行。对令牌的这一共享(或“借取”)可以自动地或者在用户指定(例如,经由用户输入220)之际进行。
配置输入126可用于配置/指定令牌桶设立设置122、与令牌生成相关的设置120以及与令牌消耗相关的设置124中的一者或多者。在一示例实施例中,配置输入126可由用户输入220提供。例如,一个或多个用户接口可由计算设备102提供以使得设备的用户能够输入配置输入126。在另一示例实施例中,配置输入126可例如由自动输入222来自动提供。自动输入222可以例如基于设备特性224(例如,剩余电池容量、总电池容量、电池放电率、剩余电池容量/寿命百分比、设备的当前地理位置等)或者设备使用统计226(例如,用户交互频率、在给定时辰或日子内接收到的电子邮件的总量、给定时间段中的打开设备屏幕的次数,等等)。
图3是示出根据本公开的示例实施例的示例令牌桶设立过程的流程图。参考图1-3,示例过程300可以开始于302,此时可重置令牌桶(例如,110)。在重置302期间,TBES服务106可生成具有等于N(其中N是大于0的整数)的InitialTokenCount、等于BucketSize(大于0的整数)的桶大小、等于RefillIntervalInMinutes的令牌重填间隔、以及在每一重填间隔增加至RefillTokenCount(大于0的整数)的令牌数量的令牌桶110。另外,当前令牌计数(C)可被设为N(初始令牌计数),且布尔值IsTokenAvailable(令牌是否可用)可被设为TRUE(即,指示令牌在令牌桶110中可用)。
在304,TBES服务106可通过设置令牌桶重填计时器(T)=0来重置T。在306,在过去一分钟后,可递增令牌桶重填计时器(即,T=T+1)。在308,可确定令牌桶重填计时器T是否等于RefillIntervalInMinutes。如果令牌桶重填计时器T不等于RefillIntervalInMinutes,则处理可以在306继续。如果令牌桶重填计时器T等于RefillIntervalInMinutes,则处理可以在310继续,此时可以用RefillTokenCount数量的令牌来重填令牌桶110(C=C+RefillTokenCount)。
在312,可以确定当前令牌计数C是否等于BucketSize。如果当前令牌计数C不等于BucketSize,则处理可以在306继续。如果当前令牌计数C等于BucketSize,则处理可以在314继续,此时可挂起重填计时器T(因为令牌桶110已填满至其容量/大小)。对重填计时器的这一挂起可以是临时的,且重填计时器可以在消耗来自令牌桶的令牌之际继续。令牌桶110也可以与重置时段(例如,24小时)相关联。在重置时段期满后,令牌桶中的令牌可被丢弃并且令牌桶110可被重置。在316,可以确定这一令牌桶重置时段(例如,自从创建令牌桶以来的24小时)是否期满。除非存在消耗令牌的任何电子邮件同步活动,否则令牌桶110可保持不活动直到令牌桶重置时段期满,此刻处理可以在302继续。
图4是示出根据本公开的示例实施例的使用令牌桶的示例电子邮件同步过程的流程图。参考图1-2和4,示例过程400可以在402开始,此时可以确定布尔值IsTokenAvailable是否为TRUE(即,令牌桶110是否不为空)。如果令牌桶110不为空且IsTokenAvailable为TRUE,则处理可以在416继续。如果令牌桶110为空(即,IsTokenAvailable为FALSE),则在404可关闭/挂起ECC 132。在414,可以确定是否已经向令牌桶110添加一令牌(即,“自由”令牌或在常规重填间隔期间添加的令牌)。在已经向令牌桶110添加一令牌后,处理可以在步骤402继续。
在416,可以确定通信信道(ECC)132是否开启。如果信道未开启,则在417可重新开启ECC 132。在406,令牌消耗控制器112可以从令牌桶110抓取一令牌以供在电子邮件同步期间使用(即,可调用函数FetchToken(抓取令牌)并且可将当前令牌计数C减1)。在408,电子邮件同步可以进行(例如,使用ECC 132的服务器发起的推送或者客户端发起的拉取电子邮件同步)。在410,可以确定当前令牌计数C是否等于0(即,令牌桶110是否为空)。如果当前令牌计数不为0,则处理可以在402继续。如果当前令牌计数等于零(即,令牌桶110为空),则可将布尔值IsTokenAvailable设为FALSE并且处理可以在402继续。
图5是根据本公开的示例实施例的具有使用具有令牌桶的电子邮件同步服务的计算设备的示例系统的框图。参考图5,示例架构500可包括计算设备102和电子邮件服务器104。
计算设备102可包括手机、智能电话、平板、膝上型计算机和/或另一手持式或便携式设备。另外,计算设备102可包括例如主处理器502a、系统存储器504a、通信子系统506a、传感子系统508a、输入/输出(I/O)子系统510a、操作系统501、在设备102上运行的一个或多个应用程序(或应用)520a...522a、具有TBES服务的同步服务512a、以及显示器517。
包括TBES服务的同步服务512a可具有与上述同步服务107(具有TBES服务106)的功能性类似的功能性。另外,同步服务512a(包括TBES服务)可被实现为操作系统501的一部分(例如,使用TBES代码503)。电子邮件应用程序(例如,520a)可用于实现电子邮件客户端以用于执行本文所公开的电子邮件同步功能性。
主处理器502a可包括合适的逻辑、电路系统、接口和/或代码,该合适的逻辑、电路系统、接口和/或代码可操作用于处理数据和/或控制和/或管理计算设备102的操作和/或其中与同步服务512a以及本文描述的相关联的令牌桶电子邮件同步功能性相结合地执行的任务和/或应用程序。就此,主处理器502a可操作用于通过利用例如一个或多个控制信号来配置和/或控制计算设备102的各种组件和/或子系统。主处理器502a使得能够运行和/或执行可被存储在例如系统存储器504a中的应用程序(例如,520a...522a)、程序和/或代码。在某些情况下,在计算设备102上运行和/或执行的应用程序520a...522a中的一者或多者可生成和/或更新可经由显示器517呈现的视频内容。另选地,一个或多个专用应用程处理器可用于运行和/或执行计算设备102中的应用程序(或程序)(例如,应用程序520a...522a中的一者或多者)。
系统存储器504a可包括可使得能够持久地和/或非持久地存储、缓冲和/或抓取可被使用、消费和/或处理的数据、代码和/或其它信息的合适的逻辑、电路系统、接口和/或代码。就此,系统存储器504a可包括不同的存储器技术,包括例如只读存储器(ROM)、随机存取存储器(RAM)、闪速存储器、固态驱动器(SSD)和/或现场可编程门阵列(FPGA)。系统存储器504a可存储例如配置数据,配置数据可包括参数和/或代码,代码包括软件和/或固件(例如,操作系统501和/或应用程序520a...522a中的一者或多者)。
通信子系统506a可包括可操作用于诸如经由一个或多个有线和/或无线连接514来传递来自和/或去往计算设备102的数据的合适的逻辑、电路系统、接口和/或代码。通信子系统506a可被配置成支持一个或多个有线协议(例如,以太网标准、MOCA等)和/或无线协议或接口(例如,CDMA,WCDMA,TDMA,GSM,GPRS,UMTS,EDGE,EGPRS,OFDM,TD-SCDMA,HSDPA,LTE,WiMAX,WiFi、蓝牙和/或任何其它可用无线协议/接口),以促成去往和/或来自计算设备102的信号的传送和/或接收,和/或根据适用的有线或无线协议的对所传送或接收到的信号的处理。就此,信号处理操作可包括对基带信号的滤波、放大、模数转换和/或数模转换、上转换/下转换、编码/解码、加密/解密、和/或调制/解调。
传感子系统508a可包括用于获取和/或生成可以与相应的计算设备102、其用户和/或其环境相关的的传感信息的合适的逻辑、电路系统、接口和/或代码。例如,传感子系统508a可包括位置或地点传感器(例如,GPS或其它基于GNSS的传感器)、环境状况(例如,温度、湿度或光)传感器、和/或运动相关传感器(例如,加速度计、陀螺仪、计步器和/或高度计)。
I/O系统510a可包括用于使得能够与计算设备102进行交互、使得能够从用户获取输入和/或向用户提供输出的合适的逻辑、电路系统、接口和/或代码。I/O子系统510a可支持各种类型的输入和/或输出,包括例如视频、音频和/或文本。就此,在计算设备102外部或集成在计算设备102内的专用I/O设备和/或组件可用于在I/O子系统510a的操作(例如,用于接收用户输入220)期间输入和/或输出数据。示例性I/O设备可包括一个或多个内置相机(例如,前置和/或后置相机)、一个或多个显示器、鼠标、键盘、触敏屏、语音输入接口以及其它输入/输出接口或设备。相对于视频输出,I/O子系统510a各自可操作用于生成和/或处理视频内容、图形和/或文本数据和/或基于此生成视频帧以供经由例如显示器517来显示。
显示器517可包括可使得能够显示可经由I/O子系统510a处置和/或处理的视频内容的合适的逻辑、电路系统、接口和/或代码。
电子邮件服务器104也可包括主处理器502b、系统存储器504b、通信子系统506b、传感子系统508b、输入/输出(I/O)子系统510b以及操作系统515,这些组件可具有与计算设备102中的相应模块的上述功能性类似的功能性。
即使具有TBES功能性的同步服务被描述为在计算设备中实现(即,电子邮件客户端),但本公开可以不限于此。根据本公开的一示例实施例,具有TBES功能性的同步服务也可被实现为电子邮件服务器104的一部分(例如,实现为512b)。另外,电子邮件服务器104也可实现可用于与本文描述的TBES功能性相结合地进行电子邮件同步的一个或多个用户电子邮件帐户513a...513n。
图6A-6B是示出根据本公开的示例实施例的使用令牌桶的电子邮件同步的示例过程的流程图。
参考图1-2、5和6A,用于电子邮件同步的示例方法600a可由例如具有具备令牌桶(例如,110)的TBES服务(例如,106)的计算设备(例如,102)来执行。令牌桶110可允许临时存储令牌(例如,由令牌生成器108生成的令牌114)。每一令牌可授权在该计算设备上运行的至少一个电子邮件应用程序(例如,520a)的同步。方法600a可开始于502a,此时计算设备102(例如,同步服务107)可确定与由至少一个电子邮件应用程序(520a)管理并由电子邮件服务器(104)主存的电子邮件帐户(134...135或者513a...513n)相关联的接收到的电子邮件通信的频率。该确定可基于与令牌桶相关联的一个或多个特性(例如,202-218)。在604a,所确定的频率可以与阈值进行比较。阈值可由设备的用户/管理员来设置,或者它可被自动设置(例如,基于设备使用统计)。
在606a,当所确定的频率等于或低于阈值时,可以与电子邮件服务器(104)建立推送通信信道,该推送通信信道用于接收服务器发起的电子邮件推送通信。该至少一个电子邮件应用程序然后可通过使用所建立的推送通信信道接收推送电子邮件通信来与电子邮件帐户同步。在608a,当所确定的频率大于阈值时,推送通信信道可被关闭。该至少一个电子邮件应用程序然后可以使用该计算设备(102)发起的电子邮件拉取请求来与电子邮件帐户(134...135或者513a...513n)同步。
参考图1-2、5和6B,用于电子邮件同步的示例方法600b可由例如具有具备令牌桶(例如,110)的TBES服务(例如,106)的计算设备(例如,102)来执行。令牌桶110可允许临时存储令牌(例如,由令牌生成器108生成的令牌114)。每一令牌可授权在该计算设备上运行的至少一个电子邮件应用程序(例如,520a)的同步。方法600b可开始于602b,此时计算设备102(例如,同步服务107)可确定至少一个令牌114是否在令牌桶110中可用。在604b,如果该至少一个令牌在令牌桶110中可用,则令牌生成器108(或同步服务107)可生成将该至少一个电子邮件应用程序520a与相应的电子邮件帐户(例如,134)同步的请求(例如,130)。
在606b,响应于该请求,TBES服务106可以从相应的电子邮件帐户接收一个或多个电子邮件通信(例如,128)(或者可发出一个或多个传出电子邮件通信)以用于同步该至少一个电子邮件应用程序520a。该同步请求130可以关联于与主存相应的电子邮件帐户134的电子邮件服务器104的经调度电子邮件同步。经调度电子邮件同步可基于计算设备102发起的电子邮件拉取请求(例如,130)。
如果令牌桶110为空,则生成同步请求130可被挂起。令牌消耗控制器112可检测至少另一个令牌是否在令牌桶110中可用。当该至少另一个令牌在令牌桶110中可用时,可继续将至少一个电子邮件应用程序与相应的电子邮件帐户同步的请求的周期性生成。
同步服务107(或设备102内的任何其它模块)可通过选择以下一者或多者来执行令牌桶110的初始设立:与令牌桶相关联的初始令牌计数值(202)、令牌桶大小值(204)、令牌桶重填间隔值(206)以及重填令牌计数值(208)。多个令牌可被周期性地存放在令牌桶110中,以具有等于令牌桶重填间隔值的历时的时间间隔,且所存放的令牌数等于重填令牌计数值。
同步服务107可接收选择以下一者或多者的用户输入(例如,220):初始令牌计数值、令牌桶大小值、令牌桶重填间隔值以及重填令牌计数值(如在图2中看到的)。令牌桶110的初始设立(例如,122)可基于计算设备的硬件特性(例如,设备特性224中的一者或多者)和/或与计算设备102相关联的使用统计(例如,226)。使用统计224可包括以下至少一者:与计算设备的用户交互的频率、时间段期间的接收到的电子邮件的数量、计算设备的屏幕被开启的次数、以及计算设备的地理位置。
图7是示出根据本公开的示例实施例的使用令牌桶的电子邮件同步的另一示例过程的流程图。参考图1-2和7,用于电子邮件同步的示例方法700可由例如具有具备令牌桶(例如,110)的TBES服务(例如,106)的计算设备(例如,102)来执行。令牌桶110可允许临时存储令牌(例如,由令牌生成器108生成的令牌114)。每一令牌可授权在该计算设备上运行的至少一个电子邮件应用程序(例如,520a)的同步。方法700可开始于702,此时可以用初始令牌集(例如,202)来重置令牌桶110。该初始令牌集可基于与该计算设备102相关联的一个或多个设备使用统计(例如,226)来确定。
在704,响应于计算设备102发起的电子邮件拉取请求(例如,130),令牌消耗控制器112(或设备102内的另一模块)可验证与令牌桶110相关联的当前令牌计数为正(即,令牌桶110不为空)。在706,如果当前令牌计数为正,则TBES服务106(或者同步服务107)可将在该计算设备上运行的至少一个电子邮件应用程序(例如,520a)与主存在电子邮件服务器处的电子邮件帐户(例如,134)同步(例如,电子邮件同步128)。在708,令牌消耗控制器112可基于该同步来减小当前令牌计数(例如,每次同步可以从当前令牌计数中减去一个令牌)。
令牌生成器108能够以周期性重填时间间隔(例如,206)自动地向令牌桶添加新令牌(例如,114)。如果令牌桶110的当前令牌计数等于与该令牌桶的当前大小(例如,204)相关联的最大令牌数,则可挂起自动令牌添加。周期性重填时间间隔206可基于例如以下一者或多者而变化:剩余电池电量、当前电池放电率、可用电池百分比、收到蜂窝信号强度、当前活动的充电状态、以及与计算设备102相关联的当前活动的Wi-Fi连接。
一个或多个使用统计226可包括以下至少一者:与计算设备的用户交互的频率、时间段期间的接收到的电子邮件的数量、计算设备的屏幕被开启的次数、和/或计算设备的地理位置。设备的地理位置可用于确定用户在家还是在工作位置,从而将这一位置与已知电子邮件使用模式和电子邮件同步(例如,在每一位置接收到的电子邮件数、设备在每一位置被激活的次数,等等)相关联。
如果令牌桶110中的当前令牌计数等于零(即,令牌桶为空),则可挂起基于电子邮件拉取请求的电子邮件同步。令牌消耗控制器112(或设备102内的另一模块)可确定新令牌是否被存放在令牌桶110中。如果新令牌被存放在令牌桶110中,则可使用电子邮件拉取请求(例如,130)来继续使用TBES服务106的电子邮件同步。
至少一个电子邮件应用程序(例如,520a)可以与一个或多个用户电子邮件帐户(例如,134...135中的一者或多者)相关联。令牌桶110可被共享以用于同步与多个电子邮件帐户相关联的电子邮件(即,令牌桶110可以在电子邮件帐户134...135之间共享)。令牌桶110也可在多个设备之间共享(即,用户可以在各自设备上使用电子邮件客户端来管理一个或多个用户电子邮件帐户)。就此,当一个用户设备被开启以检查一个用户电子邮件帐户时,其余用户电子邮件帐户各自可获得被存放在共享式令牌桶中的“自由”令牌,以允许其余用户电子邮件帐户中的每一个帐户的电子邮件同步。
令牌生成器108可以在电子邮件拉取请求由计算设备102的用户发起的情况下将新令牌(例如,114)存放在令牌桶110中(即,“自由”令牌在用户激活设备102并请求电子邮件同步的情况下被存放在令牌桶110中)。在计算设备上运行的至少一个电子邮件应用程序(例如,520a)可以至少基于新存放的令牌来与主存在电子邮件服务器104处的电子邮件帐户(例如,134...135中的一者或多者)同步(即,新存放的“自由”令牌可用于执行电子邮件同步)。
图8是示出根据本公开的示例实施例的使用令牌桶的电子邮件同步的又一示例过程的流程图。参考图1-2和8,用于电子邮件同步的示例方法800可由例如具有同步服务(例如,107)和TBES服务(例如,106)的计算设备(例如,102)来执行。令牌桶110可允许临时存储令牌(例如,由令牌生成器108生成的令牌114)。每一令牌可授权在该计算设备上运行的至少一个电子邮件应用程序(例如,520a)与电子邮件服务器(104)主存的相应电子邮件帐户(134...135中的一者或多者)的同步。同步服务107可被配置成执行用于电子邮件同步的方法(800)。方法800可开始于802,此时可以用初始令牌集来重置令牌桶110,其中令牌桶中的每一令牌可授权在计算设备102上运行的至少一个电子邮件应用程序520a的同步。
在804,可建立与电子邮件服务器104的推送通信信道(例如,132),该推送通信信道132被配置用于接收服务器发起的电子邮件推送通信(例如,由服务器104发起的推送通信)。在806,令牌消耗控制器112(或设备102内的另一模块)可确定至少一个令牌是否在令牌桶110中可用。如果至少一个令牌在令牌桶110中不可用,则推送通信信道132可被关闭(例如,通过使用ECC控制信号136)。如果至少一个令牌在令牌桶110中可用,则至少一个电子邮件应用程序520a可以通过使用推送通信信道132接收推送电子邮件通信(例如,128)来与相应的电子邮件帐户(例如,134...135中的一者或多者)同步。如果推送通信信道132被关闭,则令牌消耗控制器112(或设备102内的另一模块)可检测至少另一个令牌是否在令牌桶中可用(即,可检测何时存放新令牌以及令牌桶110不再为空)。如果至少另一个令牌在令牌桶中可用,则与电子邮件服务器的推送通信信道132可被重新开启/重建。
在一示例实施例中,可以与本文描述的令牌桶功能性相结合地使用通知服务(诸如Windows推送通知服务(WNS))以用于(例如,由计算设备102)接收服务器上的变更(例如,在电子邮件服务器104处接收到的新电子邮件)的通知。更具体而言,对于使用WNS的令牌桶实现,同步服务107可以在接收到WNS通知时执行与服务器104的设备发起的拉取型同步。如果令牌桶110为空,则同步服务107可以从WNS注销以停止接收通知。一旦一令牌被存放在令牌桶110中,同步服务107就可注册这些通知。
图9是可用于实现所描述的一些实施例的示例计算系统的示图。计算系统900并不旨对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或专用计算系统中实现。
参考图9,计算环境900包括一个或多个处理单元910、915和存储器920、925。在图9中,该基本配置930被包括在虚线内。处理单元910、915执行计算机可执行的指令。处理单元可以是通用中央处理单元(CPU)、专用集成电路(ASIC)中的处理器或任意其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图9示出中央处理单元910以及图形处理单元或协处理单元915。有形存储器920、925可以是可由(诸)处理单元存取的易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)或者两者的某一组合。存储器920、925以适合被(诸)处理单元执行的计算机可执行指令的形式,存储实现此处描述的一个或多个发明的软件980。
计算系统还可具有附加的特征。例如,计算环境900包括存储940、一个或多个输入设备950、一个或多个输出设备960以及一个或多个通信连接970。诸如总线、控制器或网络之类的互连机制(未示出)将计算系统900的各组件互连。通常,操作系统软件(未示出)为在计算系统900中执行的其它软件提供操作环境,并协调计算系统900的各组件的活动。
有形存储940可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、CD-ROM、DVD或可用于储存信息并可在计算系统900内访问的任何其他介质。存储器940存储用于软件980的指令,所述软件1080实现此处描述的一个或多个发明。
(一个或多个)输入设备950可以是触摸输入设备(诸如键盘、鼠标、笔或跟踪球)、语音输入设备、扫描设备或向计算系统900提供输入的另一设备。(一个或多个)输出设备960可以是显示器、打印机、扬声器、CD刻录机或提供来自计算系统900的输出的另一设备。
(诸)通信连接970允许在通信介质上到另一计算实体的通信。通信介质传达诸如计算机可执行指令、音频或视频输入或输出、或已调制数据信号中的其它数据之类的信息。已调制数据信号是使其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非限制,通信介质可以使用电的、光学的、RF或其它载体。
各创新可在计算机可执行指令(诸如包括在程序模块中的在目标现实或虚拟处理器上在计算系统中执行的那些计算机可执行指令)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。如各实施例中所描述的,这些程序模块的功能可以被组合,或者在这些程序模块之间拆分。针对各程序模块的计算机可执行指令可以在本地或分布式计算系统中执行。
术语“系统”和“设备”在此被互换地使用。除非上下文明确指示,否则,术语并不暗示对计算系统或计算设备的类型的任何限制。一般说来,计算系统或计算设备可以是本地的或分布式的,并且可以包括具有实现本文中描述的功能的软件的专用硬件和/或通用硬件的任意组合。
为了呈现起见,本详细描述使用了如“确定”和“使用”等术语来描述计算系统中的计算机操作。这些术语是对由计算机执行的操作的高级抽象,且不应与人类所执行的动作混淆。对应于这些术语的实际的计算机操作取决于实现而不同。
图10示出了其中可实现所描述的实施例、技巧和技术的合适的云支持环境1000的一般化示例。在示例环境1000中,由云1010提供各种类型的服务(例如,计算服务)。例如,云1010可以包括多个计算设备的集合,多个计算设备可以是中央式或分布式定位的,所述多个计算设备向经由诸如互联网这样的网络连接的各类用户和设备提供基于云的服务。实现方式环境1000可以不同方式被用来完成计算任务。例如,一些任务(例如,处理用户输入和呈现用户界面)可在本地计算设备(例如,连接的设备1030、1040、1050)上执行,而其它任务(例如,存储将在后继处理中使用的数据)可在云1010中执行。
在示例环境1000中,云1010为具有各种屏幕能力的所连接的设备1030、1040、1050提供服务。所连接的设备1030代表具有计算机屏幕1035(例如,中等尺寸屏幕)的设备。例如,所连接的设备1030可以是诸如台式计算机、膝上型电脑、笔记本、上网本等个人计算机。所连接的设备1040代表具有移动设备屏幕1045(例如,小尺寸屏幕)的设备。例如,连接的设备1040可以是移动电话、智能电话、个人数字助理、平板计算机等。所连接的设备1050代表具有大屏幕1055的设备。例如,所连接的设备1050可以是电视机屏幕(例如,智能电视机)或连至电视机的另一设备(例如,机顶盒或游戏控制台)等等。
相连接的设备1030、1040和/或1050中的一个或多个可包括触摸屏能力。触摸屏可以以不同方式接受输入。例如,电容式触摸屏在对象(例如,指尖或触笔)跨表面上流动的电流扭曲或中断时检测到触摸输入。举另一个示例,触摸屏可以使用光学传感器在来自光学传感器的波束被中断时检测到触摸输入。对于一些触摸屏所检测的输入而言,与屏幕表面的物理接触不是必要的。在示例环境1000中也可以使用没有屏幕能力的设备。例如,云1010可以为没有显示器的一个或多个计算机(例如,服务器计算机)提供服务。
服务可由云1010通过服务提供商1020提供、或通过其他在线服务提供商(未图示)而提供。例如,云服务可以被定制为特定的所连接设备(例如,所连接的设备1030、1040和/或1050)的屏幕大小、显示器能力和/或触摸屏能力。
在示例环境1000中,云1010使用服务提供商1020来向各种连接的设备1040、1040和/或1050提供此处描述的技术和方案中的一者或多者。例如,服务提供商1020可以为各种基于云的服务提供集中式解决方案。服务提供商1020可以管理对于各用户和/或设备(例如,对于所连接的设备1030、1040、1050和/或它们相应的用户)的服务预订。
图11是可以连同本文所述的技术被使用的示例移动设备。参考图11,示例移动设备1100可包括各种可选硬件和软件组件,这些硬件和软件组件在1102处概括地示出。该移动设备1100中的任何组件1102可与任何其他组件通信,但出于容易例示的目的而未示出所有连接。该移动设备1100可以是各种计算设备(例如,蜂窝电话、智能电话、手持式计算机、个人数字助理(PDA)等)中的任一个,并且可允许与诸如蜂窝、卫星或其他网络的一个或多个移动通信网络1104进行无线双向通信。
图示的移动设备1100可以包括用于执行任务的控制器或处理器1110(例如,信号处理器、微处理器、ASIC或者其他控制和处理逻辑电路),所述任务诸如信号编码、数据处理、输入/输出处理、功率控制、和/或其他功能。操作系统1112可以控制各组件1102的分配和使用,并且支持一个或多个应用程序1114。应用程序1114可包括公共移动计算应用(例如,电子邮件客户端应用程序、日历、联系人管理器、web浏览器、消息收发应用程序)、或任何其他计算应用程序。
操作系统1112还可实现如本文描述的具有TBES 1111的同步服务(例如,参考相对于图1-2描述的服务106和107)。另外,即使同步服务107和TBES服务106(在图11中被示为1111)在本文中是相对于电子邮件同步描述的,但本公开可以不限于此。如先前所提及的,在某些情况下,同步服务107和TBES服务106可用于执行PIM数据(诸如日历条目、来自联系人管理器的一个或多个联系人条目、web浏览器书签、笔记、来自消息收发应用程序的一个或多个消息等)的同步。
图示的移动设备1100可以包括存储器1120。存储器1120可以包括不可移动存储器1122和/或可移动存储器1124。不可移动存储器1122可以包括RAM、ROM、闪存、硬盘或者其他公知的存储器存储技术。可移动存储器1124可包括闪存或订户身份模块(SIM)卡,其在GSM通信系统中是众所周知的,或者其他众所周知的存储器存储技术,诸如“智能卡”。存储器1120可用于存储运行操作系统1112和应用程序1114的数据和/或代码。示例数据可以包括要经由一个或多个有线或无线网络被发送至和/或接收自一个或多个网络服务器或其他设备的网页、文本、图像、声音文件、视频数据或者其他数据集。存储器1120可用于存储订户标识符和设备标识符,所述订户标识符诸如国际移动订户身份(IMSI),所述设备标识符诸如国际移动设备标识符(IMEI)。这种标识符可以被发射至网络服务器以标识用户和设备。
移动设备可支持诸如触摸屏1132、话筒1134、相机1136、物理键盘1138、和/或跟踪球1140的一个或多个输入设备1130,以及诸如扬声器1152和显示器1154的一个或多个输出设备1150。其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。一些设备可以用于多于一个输入/输出功能。例如,触摸屏1132和显示器1154可以在单个输入/输出设备内被组合。
输入设备1130可以包括自然用户界面(NUI)。NUI是使得用户能够以“自然”方式与设备交互而无需由诸如鼠标、键盘、遥控等强加的人为约束的任何接口技术。NUI方法的示例包括依赖于语音识别、触摸和触笔识别、屏上及邻近屏的姿势识别、空中姿势、头部和眼部跟踪、说话和语音、视觉、触摸、姿势以及机器智能的那些方法。NUI的其他示例包括使用加速度计/陀螺仪、面部识别、3D显示器、头部、眼部和凝视跟踪的运动手势检测、沉浸式增强的现实和虚拟现实系统,这些中的全部都提供更自然的界面,还包括使用电场传感电极(EEG及相关方法)来感测脑部活动的技术。因此,在一个具体示例中,操作系统1112或应用程序1114可以包括语音识别软件作为语音用户界面的一部分,该语音用户界面允许用户经由语音命令来操作设备1100。此外,设备1100可包括允许经由用户的空间姿势进行用户交互(诸如检测和解释姿势以向游戏应用提供输入)的输入设备和软件。
无线调制解调器1160可被耦合到天线(未示出),并可支持处理器1110和外部设备之间的双向通信,如本领域中清楚理解的。调制解调器1160被一般性地示出,并且可以包括用于与移动通信网络1104的蜂窝调制解调器和/或其它基于无线电的调制解调器(例如蓝牙1164或Wi-Fi 1162)。无线调制解调器1160一般被配置成与一个或多个蜂窝网络(诸如GSM网络)通信,用于单个蜂窝网络内、多个蜂窝网络之间、或者在移动设备和公共交换电话网(PSTN)之间的数据和语音通信。
移动设备还可以包括至少一个输入/输出端口1180、电源1182、卫星导航系统接收机1184(诸如全球定位系统(GPS)接收机)、加速度计1186、和/或物理连接器1190,物理连接器1590可以是USB端口、IEEE 1394(火线)端口和/或RS-232端口。图示的组件1102不是必须的或全包含的,因为任何组件可以被删除且其他组件可以被添加。
尽管以特定的顺序次序描述所公开方法的一些的操作以便于方便呈现,但应当理解,这一描述方式包含重排,除非以下提出的具体语言要求特定的次序。例如,顺序描述的操作可以在一些情况下并行地重排或同时执行。此外,为简洁起见,附图可能不示出所公开的方法可以结合其他方法使用的各种方式。
所公开的方法中的任何方法可被实现为被存储在一个或多个计算机可读存储介质上并在计算设备(例如任何可用计算设备,包括智能电话或其他包括计算硬件的移动设备)上执行的计算机可执行指令或计算机程序产品。计算机可读存储介质是在计算环境内可访问的任何可用的有形介质(例如,诸如DVD或CD之类的一个或多个光学介质盘、易失性存储器组件(诸如DRAM或SRAM)或非易失性存储器组件(诸如闪存或硬件驱动器))。作为示例并参考图9,计算机可读存储介质包括存储器920和925以及存储940。作为示例并参考图11,计算机可读存储介质可包括存储器以及存储1120、1122和1124。术语“计算机可读存储介质”不包括信号和载波。此外,术语“计算机可读存储介质”不包括通信连接(例如,970、1160、1162和1164)。
根据本公开的一示例实施例,一种方法可使用具有令牌桶的计算设备。令牌桶可允许临时存储令牌,每一令牌授权在该计算设备上运行的至少一个电子邮件应用的同步。可以在该计算设备处接收将至少一个电子邮件应用程序与相应的电子邮件帐户同步的请求。该设备可确定至少一个令牌是否在令牌桶中可用。如果该至少一个令牌在令牌桶中可用,则该至少一个电子邮件应用可以与相应的电子邮件帐户同步。如果令牌桶为空,则可挂起将至少一个电子邮件应用程序与相应的电子邮件帐户同步。
根据本公开的另一示例实施例,一种计算机可读存储介质可在其上存储有可操作用于使一计算设备执行一种用于电子邮件同步的方法的计算机可执行指令。该方法可包括在该计算设备处用初始令牌集重置令牌桶。每一令牌可授权在该计算设备上运行的至少一个电子邮件应用的同步。初始令牌集可基于与该计算设备相关联的一个或多个设备使用统计来确定。响应于该计算设备发起的电子邮件拉取请求,可验证与令牌桶相关联的为正的当前令牌计数。如果当前令牌计数为正,则在该计算设备上运行的至少一个电子邮件应用可以与主存在电子邮件服务器处的电子邮件帐户同步。当前令牌计数然后可基于该同步来减小。
根据本公开的又一示例实施例,一种移动计算设备可包括处理器、存储器、显示器以及具有令牌桶的同步服务。令牌桶可允许临时存储令牌,每一令牌授权在该计算设备上运行的至少一个电子邮件应用的同步。同步服务可被配置成执行用于电子邮件同步的操作,包括用初始令牌集重置令牌桶。每一令牌可授权在该计算设备上运行的至少一个电子邮件应用与电子邮件服务器主存的相应电子邮件帐户的同步。可以与电子邮件服务器建立推送通信信道。推送通信信道可用于接收服务器发起的电子邮件推送通信。同步服务可确定至少一个令牌是否在令牌桶中可用。如果至少一个令牌在令牌桶中不可用,则推送通信信道可被关闭。
用于实现所公开技术的计算机可执行指令中的任一个以及在实现所公开的实施例期间创建和使用的任何数据可以被存储在一个或多个计算机可读存储介质上。计算机可执行指令可以是例如专用软件应用或者经由web浏览器或其他软件应用(诸如远程计算应用)访问和下载的软件应用的一部分。这种软件可以例如在单个本地计算机(例如,任何适当的商业可购买计算机)上或者使用一个或多个网络计算机在网络环境(例如,经由互联网、广域网、局域网、客户端-服务器网络(诸如云计算网络)、或者其他这样的网络)中执行。
为清楚起见,仅描述了基于软件的实现方式的特定所选方面。省略了本领域公知的其他细节。例如,应当理解,所公开的技术不限于任何具体的计算机语言或程序。例如,所公开的技术可以通过以C++、Java、Perl、JavaScript、Adobe Flash或者任何其他适当的编程语言编写的软件来实现。同样,所公开的技术不限于任何特定的计算机或硬件类型。适当计算机和硬件的特定细节是公知的,并且不需要在本公开中详细提出。
而且,基于软件的实施例(包括例如用于使计算机执行所公开方法的任一种的计算机可执行指令)中的任一者可以通过适当的通信手段被上载、下载或远程地访问。这种适当的通信手段包括例如互联网、万维网、内联网、软件应用、电缆(包括光纤电缆)、磁通信、电磁通信(包括RF、微波和红外通信)、电子通信或者其他这样的通信手段。
所公开的方法、装置和系统不应以任何方式被限制。相反,本公开针对各种公开的实施例(单独和彼此的各种组合和子组合)的所有新颖和非显而易见的特征和方面。所公开的方法、装置和系统不限于任何具体方面或特征或它们的组合,所公开的实施例也不要求存在任一个或多个具体优点或者解决问题。
来自任何示例的技术可以与在任何一个或多个其他示例中所描述的技术相组合。鉴于可应用所公开的本技术的原理的许多可能的实施例,应当认识到,所示实施例仅是所公开的技术的示例,并且不应被用作是对所公开的技术的范围的限制。相反,本公开的技术的范围由后续的权利要求书的范围和精神来覆盖。

Claims (10)

1.一种用于电子邮件同步的方法,所述方法包括:
由包括令牌桶的计算设备执行以下操作,所述令牌桶允许临时存储令牌,每一令牌授权在所述计算设备上运行的至少一个电子邮件应用程序的同步:
确定所述令牌桶中的令牌数目;
当确定所述令牌桶中至少一个令牌可用时:
与电子邮件服务器建立推送通信信道,所述推送通信信道用于接收服务器发起的电子邮件推送通信;以及
通过使用所述推送通信信道接收推送电子邮件通信来将所述至少一个电子邮件应用程序与由所述电子邮件服务器主存的电子邮件帐户同步;以及
当确定所述令牌桶为空时:
关闭所述推送通信信道;以及
使用所述计算设备发起的电子邮件拉取请求来将所述至少一个电子邮件应用程序与所述电子邮件帐户同步;
其中所述方法进一步包括:
对于所述推送电子邮件通信的每一次同步,从存储在所述令牌桶中的令牌中减去一个令牌;
响应于所述计算设备发起的电子邮件拉取请求,验证与所述令牌桶相关联的当前令牌计数为正;以及
当所述当前令牌计数为正时:
同步在所述计算设备上运行的至少一个电子邮件应用程序;以及
基于所述同步来减小所述当前令牌计数;以及
以周期性重填时间间隔自动地向所述令牌桶添加新令牌;以及
当所述令牌桶的所述当前令牌计数等于与所述令牌桶的当前大小相关联的最大令牌数时,停止令牌的自动添加。
2.根据权利要求1所述的方法,其特征在于,包括:
在所述计算设备处用初始令牌集来重置令牌桶,其中:
每一令牌授权在所述计算设备上运行的至少一个电子邮件应用程序的同步;并且
所述初始令牌集基于与所述计算设备相关联的一个或多个设备使用统计来确定。
3.如权利要求1所述的方法,其特征在于,包括:
基于以下一者或多者来验证所述周期性重填时间间隔:剩余电池电量、当前电池放电率、可用电池百分比、收到蜂窝信号强度、当前活动的充电状态、以及当前活动的Wi-Fi连接。
4.如权利要求1所述的方法,其特征在于,包括:
当所述令牌桶的所述当前令牌计数落到与所述令牌桶的当前大小相关联的最大令牌数之下时,继续令牌的自动添加。
5.如权利要求1所述的方法,其特征在于,包括:
当所述当前令牌计数等于零时,挂起基于所述电子邮件拉取请求的电子邮件同步。
6.如权利要求1所述的方法,其特征在于,包括:
确定新令牌是否被存放在所述令牌桶中;以及
当所述新令牌被存放在所述令牌桶中时,继续基于所述电子邮件拉取请求的电子邮件同步。
7.如权利要求1所述的方法,其特征在于:
所述至少一个电子邮件应用程序与由所述电子邮件服务器主存的多个用户电子邮件帐户相关联;并且
所述令牌桶被共享以用于同步与所述多个电子邮件帐户相关联的电子邮件。
8.如权利要求1所述的方法,其特征在于,包括:
如果所述电子邮件拉取请求由所述计算设备的用户发起,则将新令牌存放在所述令牌桶中;以及
至少基于新存放的令牌来将在所述计算设备上运行的所述至少一个电子邮件应用程序与主存在所述电子邮件服务器处的所述电子邮件帐户同步。
9.一种移动计算设备,包括:
处理器;
存储器;以及
具有令牌桶的同步服务,所述令牌桶允许临时存储令牌,每一令牌授权在所述计算设备上运行的至少一个电子邮件应用程序的同步,所述同步服务被配置成执行用于电子邮件同步的操作,所述操作包括:
确定所述令牌桶中的令牌数目;
当确定所述令牌桶中至少一个令牌可用时:
与电子邮件服务器建立推送通信信道,所述推送通信信道用于接收服务器发起的电子邮件推送通信;
通过使用所述推送通信信道接收推送电子邮件通信来将所述至少一个电子邮件应用程序与由所述电子邮件服务器主存的电子邮件帐户同步;以及
当确定所述令牌桶为空时:
关闭所述推送通信信道;以及
使用所述计算设备发起的电子邮件拉取请求来将所述至少一个电子邮件应用程序与所述电子邮件帐户同步;
其中所述同步操作进一步包括:
对于所述推送电子邮件通信的每一次同步,从存储在所述令牌桶中的令牌中减去一个令牌;
响应于所述计算设备发起的电子邮件拉取请求,验证与所述令牌桶相关联的当前令牌计数为正;以及
当所述当前令牌计数为正时:
同步在所述计算设备上运行的至少一个电子邮件应用程序;以及
基于所述同步来减小所述当前令牌计数;以及
以周期性重填时间间隔自动地向所述令牌桶添加新令牌;以及
当所述令牌桶的所述当前令牌计数等于与所述令牌桶的当前大小相关联的最大令牌数时,停止令牌的自动添加。
10.如权利要求9所述的移动计算设备,其特征在于,该操作还包括:
如果所述推送通信信道被关闭,则:
检测至少另一个令牌是否在所述令牌桶中可用;以及
如果至少另一个令牌在所述令牌桶中可用,则重新建立与所述电子邮件服务器的所述推送通信信道。
CN201580019923.4A 2014-04-14 2015-04-06 使用令牌桶的通信的电池高效同步 Active CN106233674B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/252,699 US9479610B2 (en) 2014-04-14 2014-04-14 Battery efficient synchronization of communications using a token bucket
US14/252,699 2014-04-14
PCT/US2015/024416 WO2015160543A1 (en) 2014-04-14 2015-04-06 Battery efficient synchronization of communications using a token bucket

Publications (2)

Publication Number Publication Date
CN106233674A CN106233674A (zh) 2016-12-14
CN106233674B true CN106233674B (zh) 2019-10-25

Family

ID=53039602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580019923.4A Active CN106233674B (zh) 2014-04-14 2015-04-06 使用令牌桶的通信的电池高效同步

Country Status (5)

Country Link
US (2) US9479610B2 (zh)
EP (1) EP3132328A1 (zh)
KR (1) KR102317693B1 (zh)
CN (1) CN106233674B (zh)
WO (1) WO2015160543A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016128885A1 (en) * 2015-02-09 2016-08-18 Laurus Labs Private Limited A process for preparation of cobicistat
US9407585B1 (en) * 2015-08-07 2016-08-02 Machine Zone, Inc. Scalable, real-time messaging system
JP6640776B2 (ja) 2017-03-17 2020-02-05 キオクシア株式会社 メモリシステム
WO2020204899A1 (en) 2019-03-29 2020-10-08 Hewlett-Packard Development Company, L.P. Separation of objects for additive manufacturing
CN112311597B (zh) * 2020-10-28 2023-01-31 南京尚网网络科技有限公司 消息推送方法和装置
US11868287B2 (en) 2020-12-17 2024-01-09 Micron Technology, Inc. Just-in-time (JIT) scheduler for memory subsystems
US20220197563A1 (en) * 2020-12-17 2022-06-23 Micron Technology, Inc. Qos traffic class latency model for just-in-time (jit) schedulers
CN114679469B (zh) * 2022-05-26 2022-09-02 天津联想协同科技有限公司 一种数据处理方法、装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101658004A (zh) * 2007-04-03 2010-02-24 西门子公司 用于提供rel令牌的方法和系统
CN102075451A (zh) * 2009-11-25 2011-05-25 Lg电子株式会社 提供电子邮件服务的移动终端和方法
CN102118314A (zh) * 2011-02-28 2011-07-06 华为技术有限公司 流量管理的方法和管理装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963859B2 (en) * 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
JPH08263438A (ja) * 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US7657628B1 (en) * 2000-11-28 2010-02-02 Verizon Business Global Llc External processor for a distributed network access system
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
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
RU2477018C2 (ru) 2008-02-01 2013-02-27 Интердиджитал Пэйтент Холдингз, Инк. Способ и устройство для инициализации, сохранения и реконфигурации бакетов с маркерами
US8441934B2 (en) 2008-11-11 2013-05-14 Qualcomm Incorporated Efficient UE QoS/UL packet build in LTE
JP5405870B2 (ja) 2009-03-26 2014-02-05 京セラ株式会社 通信機器
US8463859B2 (en) 2010-07-02 2013-06-11 Research In Motion Limited Email system including synchronization server(s) providing synchronization based upon synchronization indicators stored on mobile devices and related methods
US8676906B2 (en) * 2011-02-25 2014-03-18 Qualcomm Incorporated Email access manager for a wireless communication device
US20130205001A1 (en) 2012-02-02 2013-08-08 Motorola Mobility, Inc. Modifying application data synchronization based on application usage frequency
US9226230B2 (en) 2012-02-23 2015-12-29 Htc Corporation Handheld device and power saving control method thereof
US9143564B2 (en) * 2012-05-18 2015-09-22 Andrew Milburn Concert server incorporating front-end and back-end functions to cooperate with an app to provide synchronized messaging to multiple clients
AU2013206832A1 (en) 2012-07-12 2014-01-30 Samsung Electronics Co., Ltd. Smart scheduled sync method for sync applications
US20140289428A1 (en) * 2013-03-20 2014-09-25 Microsoft Corporation Dynamic Intervals for Synchronizing Data
US9787769B2 (en) * 2014-08-04 2017-10-10 Oracle International Corporation Power and network traffic optimization in communication synchronization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101658004A (zh) * 2007-04-03 2010-02-24 西门子公司 用于提供rel令牌的方法和系统
CN102075451A (zh) * 2009-11-25 2011-05-25 Lg电子株式会社 提供电子邮件服务的移动终端和方法
CN102118314A (zh) * 2011-02-28 2011-07-06 华为技术有限公司 流量管理的方法和管理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Push or poll? How email setup can save your battery life;Doug Sillars;《URL:https://www.business.att.com/learn/operational-effectiveness/push-or-poll--how-email-setup-can-save-your-battery-life.html》;20121211;第2页 *
基于修改频率的SQL Remote消息轮询策略;刘国强等;《计算机应用研究》;20060330;全文 *

Also Published As

Publication number Publication date
KR20160145116A (ko) 2016-12-19
KR102317693B1 (ko) 2021-10-25
US20170012918A1 (en) 2017-01-12
EP3132328A1 (en) 2017-02-22
CN106233674A (zh) 2016-12-14
US9479610B2 (en) 2016-10-25
WO2015160543A1 (en) 2015-10-22
US10356030B2 (en) 2019-07-16
US20150296049A1 (en) 2015-10-15

Similar Documents

Publication Publication Date Title
CN106233674B (zh) 使用令牌桶的通信的电池高效同步
US20200034725A1 (en) Methods and system for managing predictive models
KR101882469B1 (ko) 피어 이벤트 데이터에 기초한 모바일 디바이스의 동적 조정
CN105308568B (zh) 基于用户活动的移动设备的动态调节
CN106454720B (zh) 管理地理围栏的方法及其电子装置
TWI540426B (zh) 行動裝置基於熱條件之動態調整
CN106357808B (zh) 一种数据同步方法和装置
US10771854B2 (en) Video streaming apparatus and method in electronic device
KR20180041718A (ko) 전력 감지식 무선 통신 라디오 관리
KR102137097B1 (ko) 소모 전류 저감 방법 및 이를 지원하는 전자 장치
TW201502984A (zh) 基於使用者活動起始背景更新
EP3131317A1 (en) Method and apparatus for providing location information
CN109992393A (zh) 应用处理方法和装置、电子设备、计算机可读存储介质
US20200019560A1 (en) Systems and methods for providing predictions to applications executing on a computing device
CN108475181B (zh) 电子设备和用于操作电子设备的方法
CN114756312B (zh) 用于对本地服务进行远程协助优化的系统和方法
CN109992369A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
WO2015183442A1 (en) Methods and system for managing predictive models
Hao et al. Building a delay-tolerant cloud for mobile data
KR102673368B1 (ko) 네트워크 선택 방법 및 그 장치
CN117112243A (zh) 一种动态线程池管理方法和相关装置
KR20200036226A (ko) 서비스 사용 통계 데이터를 이용한 vmi 서비스 제공방법 및 장치

Legal Events

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