CN105229989A - 针对移动设备的节能数据处理 - Google Patents
针对移动设备的节能数据处理 Download PDFInfo
- Publication number
- CN105229989A CN105229989A CN201380075570.0A CN201380075570A CN105229989A CN 105229989 A CN105229989 A CN 105229989A CN 201380075570 A CN201380075570 A CN 201380075570A CN 105229989 A CN105229989 A CN 105229989A
- Authority
- CN
- China
- Prior art keywords
- data
- mobile device
- event
- data event
- long
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0225—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3209—Monitoring remote activity, e.g. over telephone lines or network connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3278—Power saving in modem or I/O interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- 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/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0212—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
- H04W52/0216—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0225—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
- H04W52/0229—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a wanted signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0251—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
Abstract
此处所描述的技术降低了移动设备在接收、处理和存储数据事件(例如,电子邮件、即时消息、社交网络消息和通知等)时消耗能量的速率。在各个实施例中,本技术可根据移动设备的连接待机模式操作来实施。因此,本技术可在连接待机模式下交互数据事件时将数据接收和数据处理解耦。在各个实施例中,本技术可将多个数据事件的持久存储器操作存储在临时高速缓存中并且将所存储的持久存储器操作作为一批进行处理(例如,一起执行这些持久存储器操作)。在各个实施例中,本技术可将移动设备上分配给数据通信应用的数据存储空间进行划分。
Description
背景
如今,诸如智能手机之类的移动设备被用来通过网络交换大量数据。移动设备可被预配置有数据通信应用(例如,语音和消息收发)和/或移动设备的用户可发起附加数据通信应用(诸如电子邮件客户端或其它类型的消息收发客户端)的安装。某些类型的数据通信应用可被配置成从网络服务器接收数据,处理数据并且将数据存储在移动设备上以供立即或将来的用户访问。数据可包括但不限于电子邮件、即时消息、社交应用消息或通知、游戏消息或通知、短消息、和/或其它数据。
然而,现有移动设备消耗大量能量来接收并处理传入的数据。移动设备包括用于接收数据的数据网络接口以及用于帮助处理数据的操作系统。当数据网络接口和/或操作系统工作以接收并处理数据时,移动设备消耗大量的能量,这可能耗尽来自移动设备的电池的电量。例如,现有移动设备将数据处理与数据接收耦合在一起。这不必要地拖延了移动设备在接收数据之后能够将数据网络接口置于较低的能耗状态。在另一示例中,现有的移动设备不能优化存储器管理,因此当处理和存储所接收的数据时,移动设备的操作系统在高能耗状态下工作更长的时间段。
概述
此处所描述的技术降低了移动设备在接收、处理和存储数据事件(例如,电子邮件、即时消息、社交网络消息和通知等)时消耗能量的速度。在各个实施例中,本技术可根据移动设备的连接待机模式操作来实施。因此,本技术可在连接待机模式下交互数据事件时将数据接收和数据处理解耦。在各个实施例中,本技术可将多个数据事件的持久存储器操作存储在临时高速缓存中并且将所存储的持久存储器操作作为一批进行处理(例如,一起执行这些持久存储器操作)。在各个实施例中,本技术可将移动设备上分配给数据通信应用的数据存储空间进行划分。
提供该概述以便以简化形式介绍概念的选集,所述概念在以下详细描述中被进一步描述。本发明内容不旨在标识所要求保护的主题的关键或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。例如,术语“技术”可表示上述上下文和通篇文档中所准许的系统、方法、计算机可读指令、算法、组件、模块和/或技术。
附图说明
参考附图来描述具体实施方式。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记指示相似或相同的项。
图1解说了根据各实施例的配置有用于以节能方式处理数据事件的模块的移动设备的示例概览。
图2解说了根据各实施例的用于以节能方式处理数据事件的附加模块。
图3解说了根据各实施例的示出移动设备通过将数据接收与数据处理解耦来处理多个数据事件的时序图。
图4解说了根据各实施例的将数据接收与数据处理解耦的示例过程。
图5解说了根据各实施例的批量处理多个数据事件的持久存储器操作的示例过程。
图6解说了根据各个实施例的将数据事件的存储在小分区和大分区之间进行划分的示例过程。
详细描述
此处所描述的技术实现了在以连接待机模式运行的移动设备上的节能数据处理。如此处所使用的,由移动设备接收并处理的数据可与电子邮件、即时消息、社交应用消息或通知、游戏消息或通知、短消息、和/或可被传递给移动设备的任何其它数据消息或通知相关联。在数据服务器和移动设备之间交换的数据的每一实例可被称为数据事件(例如,单封电子邮件、单条消息、单个通知、电子邮件的一部分等)。移动设备可在确定数据已准备好从网络服务器传递或下载至移动设备之后(例如在收到推送通知、抽取(pull)事件、轮询数据服务器等之际)开始接收和处理数据事件。
随着移动设备持续地演进,移动设备的用户变得更为依赖于移动设备功能。因此,数据的及时交换是重要的。例如,移动设备的用户可依赖于电子邮件客户端来与电子邮件交换服务器同步以接收与工作或就业有关的重要消息。在另一实例中,移动设备的用户可能喜欢使用社交网络应用来接收消息和通知(例如,消息板帖文、签到、个人消息等)。为了节省能量,移动设备可被配置成以连接待机模式工作。连接待机模式是移动设备的一种工作模式,其中用户并不在与移动设备进行交互(例如,不在拨打电话、不在键入消息、不在浏览信息、不在玩游戏)。因此,通常消耗大量能量的显式屏和其它移动设备功能可在连接待机模式下被关闭,但移动设备仍然能够在后台接收和处理数据事件。
移动设备被配置成在连接待机模式下维持对于数据网络的持久连接,诸如传输控制协议(TCP)连接。此外,连接待机模式具有低能耗状态和高能耗状态。在连接待机模式的低能耗状态下,移动设备将数据网络接口置于具有有限功能的睡眠状态下。然而,当在连接待机模式的低能耗状态下睡眠时,数据网络接口能够接收各种传入的数据事件(例如,来自网络服务器的“推送”通知)。当移动设备在工作在连接待机模式的低能耗状态下接收到数据事件要被传递的通知时,移动设备切换到功能更强的数据接收和处理模式。该功能更强的数据接收和处理模式是连接待机模式的较高的能耗状态,因为数据网络接口被完全激活以接收与数据事件相关联的数据并且数据网络接口唤醒操作系统使得数据可在后台被处理,即使用户仍然不在活跃地交互或使用移动设备(例如,显式屏仍然被关闭)。
在一些实施例中,移动设备可使用预定义的定时器来自动唤醒操作系统,使得操作系统可指令数据网络接口在移动设备工作在连接待机模式的低能耗状态下时轮询网络服务器以确定数据事件是否准备好被传递(例如,“抽取”事件)。
在各个实施例中,此处所讨论的技术通过在移动设备工作在连接待机模式下时将移动设备上的数据处理与数据接收解耦来节省移动设备的能量或者降低移动设备的能量消耗速率。传统地,当移动设备工作在连接待机模式下时,移动设备上的数据接收和数据处理彼此耦合。例如,移动设备首先接收数据(例如,第一数据事件),处理该第一数据,并且随后在移动设备能够开始接收和处理下一数据事件之前向网络服务器发送指示数据处理的成功完成的处理确认。在处理第一数据期间,尽管网络通信可能空闲(例如网络数据接口并没有在传送或接收数据),数据网络接口仍可能不必要地工作在连接待机模式的高能耗状态下,从而将电源能量浪费在运行移动设备上。
通过将数据接收与数据处理解耦,移动设备可在接收所有数据之后完成网络传输,而无需等待数据事件被完全处理和完成。因此,移动设备可被配置成在下载所有相关数据之后立即终止对于活跃的网络连接的维持,并且在网络连接被终止并且数据网络接口被置于连接待机模式的低能耗状态(例如睡眠状态)下之后,移动设备可保留“未处理”数据供稍后处理。随后当数据网络接口工作在睡眠状态下时,移动设备的操作系统可完成对于未处理数据的处理。这一场景提高了移动设备的能效,因为当数据网络接口不在交换数据时,数据网络接口不工作在连接待机模式的高能耗状态下。
在各个实施例中,本技术通过以下来节省运行移动设备的电源的能量:临时存储与在移动设备工作在连接待机模式下时已经被接收和处理的数据事件相关联的持久存储器操作(例如,闪存盘写入),并且随后在稍后的时间一起执行持久存储器操作(例如,批处理)。现有移动设备上的数据通信应用通常在每一个单个数据事件被接收和处理之后立即将数据写入持久存储器。换言之,现有的移动设备通常执行数据事件的写入而不管写入数据的量(例如,即使当写入与小数据量(诸如电子邮件标题和电子邮件主体的有限的文本内容)相关联时)。实验显示,由于对操作系统和/或其它设备资源的延长使用,这些单个的持久存储器操作的每一个消耗大量的能量。相应地,此处所讨论的技术可临时地将持久存储器操作以及这些持久存储器操作中涉及的数据存储在高速缓存中,直到触发提供执行这些持久存储器操作的指示(例如,将作为一组的写入提交或排出到持久存储器)。触发可以与预定义的数据阈值(例如,50k字节、100k字节、500k字节等)、预定的持久存储器操作次数(例如,10次盘写入)相关联,或者触发可标识移动设备上执行的其它耗能活动并且将这些持久存储器操作的批处理装载到这些其它活动上。因此,本技术可一起执行多个数据事件的持久存储器操作,从而节省操作移动设备的电源的能量。
在各个实施例中,本技术通过将对分配给特定应用或其它通信功能的数据存储空间进行划分来节省操作移动设备的电源的能量。实验显示,处理特定应用(例如电子邮件应用)的数据事件所需的数据处理的量取决于数据存储空间(例如电子邮件收件箱)的大小。例如,由于更长的处理时间,与较小的电子邮件收件箱(例如,200封电子邮件)相比,移动设备在将数据事件存储在较大的电子邮件收件箱(例如,10000封电子邮件)时可能消耗更多的能量。这一现象的一个原因是因为执行在移动设备上的操作系统和应用可能不得不为所存储的数据事件分析、搜索、和/或更新大量的元数据(例如,线程或对话匹配、组织信息、时序信息、单词搜索等)。在一些实施例中,即使在源数据正被分析、搜索、和/或更新时没有数据在网络上交换,数据网络接口也可处于连接待机模式的高能耗状态下。此处所讨论的技术通过允许数据事件的更快处理以及数据事件的搜索消除了这一问题,其中数据事件的更快处理和搜索是通过将数据存储空间划分为针对最近接收的数据事件的小分区区域和针对较老数据事件的大分区区域来实现的。
因此,此处所讨论的技术能够通过将数据接收与数据处理解耦、批处理持久存储器操作、和/或对分配给移动数据上的数据通信应用(例如,电子邮件应用、社交网络应用等)的数据存储空间进行划分来降低在连接待机模式下接收和处理数据事件时移动设备消耗能量的速率。
图1解说了示例环境100,其中移动设备102可通过移动电话网络(MTN)108与一个或多个服务器106(例如,Web服务器、数据服务器、电子邮件服务器、游戏服务器、社交网络服务器、云服务器、文件传输服务器等)交换数据事件104。如以上所讨论的,每个数据事件104可包括未处理数据,一旦数据网络接口被从连接待机模式的低能耗状态(例如,睡眠状态)中唤醒后,该未处理数据将由移动设备102来接收。移动设备102可包括但不限于智能手机、移动电话、蜂窝电话、平板计算机、便携式计算机、膝上型计算机、个人数字助理(PDA)、电子书设备、游戏主机、个人媒体播放器设备、或可通过MTN108交换(例如,接收和/或传送)数据的任何其它便携式电子设备。
在各个实施例中,移动设备102可包括一个或多个处理器110和存储器112。存储器112可包括操作系统114和节能数据交换模块116。操作系统114可包括被配置成操作移动设备102的任何已知的移动操作系统。
节能数据交换模块116被配置成当移动设备102工作在连接待机模式下时高效地处理移动设备102上的数据通信应用的数据事件104。被预配置在移动设备上和/或安装在移动设备102上的数据通信应用可包括电子邮件应用118、即时消息收发应用120、社交网络应用122、游戏应用124、和/或被配置成接收和/或存储从数据服务器106接收的数据事件104的其它数据交换应用。
在各个实施例中,移动设备102还可包括用于向用户显示与移动设备102以及用于接收来自用户的输入(例如,触摸输入、按钮、按键、麦克风、传感器等)的功能相关联的数据的用户接口126、被配置成从数据服务器106接收数据和/或向数据服务器106传送数据的数据网络接口128、以及电源单元130。电源单元130可以是电池或可能在移动设备102的操作期间被耗尽的任何其它可再充电功率源。
处理器110可以是单个处理单元或多个单元,它们都可包括多个计算单元。处理器110可被实现为一个或多个微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路、片上系统(SoC)和/或基于操作指令来操纵信号的任何其他设备。在诸多能力中,处理器110尤其可被配置成取回并执行存储在存储器112中的计算机可读指令。
存储器112可包括计算机可读介质。如此处所使用的,“计算机可读介质”包括计算机存储介质和通信介质。
计算机存储介质包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程存储器(EEPROM)、闪存或其他存储器技术、紧致盘ROM(CD-ROM)、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或者可用于存储信息以供计算设备访问的任何其他非传输介质。
相反,通信介质可在诸如载波的已调制数据信号中具体化计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机存储介质不包括通信介质。
MTN108可被配置成实现第二、第三、以及第四代(2G、3G和4G)蜂窝无线接入技术中的一个或多个,它们可以是相互兼容的并且可共同地用于提供数据通信服务。全球移动通信系统(GSM)是2G通信技术的一个示例;通用移动通信系统(UMTS)是3G通信技术的一个示例;而长期演进技术(LTE)(包括LTEAdvanced)是4G通信技术的一个示例。构成MTN108的基础架构可包括多个不同组件或设备(也被称为节点),这些组件或设备被配置成生成、传送、接收、中继、和/或路由数据,使得数据服务可被移动设备102请求并提供给移动设备102。此外,移动设备102可订阅由实施电信网络的一个或多个服务运营商或网络通信运营商所提供的数据套餐。GSM、UMTS、LTE、LTEAdvanced、和/或HSPA+通信技术中的不同类型的MTN节点可包括但不限于以下的组合:基地收发台BTS(例如,B节点、增强型B节点)、无线电网络控制器(RNC)、GPRS服务支持节点(SGSN)、GPRS网关支持节点(GGSN)、代理服务器、移动交换中心(MSC)、移动管理实体(MME)、服务网关(SGW)、辅助数据网络(PDN)网关(PGW)、演进型分组数据网关(e-PDG)、或被配置成在客户端设备102和数据服务器106之间传递和/或路由数据分组的任何其它数据话务控制实体。虽然图1解说了MTN108,但是从本文的上下文中可以理解,在其它实施例中,此处所讨论的技术可被实施在其它网络技术中,诸如广域网(WAN)、城域网(MAN)、局域网(LAN)、领域网(NAN)、个人网(PAN)、或诸如此类。
图2进一步解说了可实施此处所描述的技术的与节能数据交换模块116相关联的模块和组件。如上所述的,节能数据交换模块116可包括用于以节能方式处理数据事件的逻辑和指令。因此,图2中所解说的与节能数据交换模块116相关联的模块和组件可以是被配置成处理图1中的各种通信应用的数据事件的单独的模块的一部分,可以是操作系统114的一部分,可以是各种通信应用中的各个通信应用的一部分(例如,修改应用的源代码),或者是以上的组合。为此,节能数据交换模块116所执行的功能可针对不同网络通信协议和/或针对移动设备102上的各种通信应用的每一个来实现。此外,节能数据交换模块116所执行的功能可与被配置成管理所接收的数据事件的存储的数据库管理器相关联地实现。
在各个实施例中,节能数据交换模块116可包括数据事件接收批量收集模块202。数据事件接收批量收集模块202被配置成将多个数据事件的未处理数据批量收集(例如,保持、存储、维护等)在一起。换言之,数据事件接收批量收集模块202可接收移动设备102处接收的后续数据事件的未处理数据,即使第一数据事件的处理可能还未完成。例如,在操作系统114和电子邮件应用118完成对单个数据事件的未处理数据的处理之前,数据事件接收批量收集模块202可批量收集由数据网络接口128从交换服务器接收的多封不同电子邮件。在一些实施例中,数据事件接收批量收集模块202可在操作系统114和电子邮件应用118开始对单个数据事件的未处理数据进行处理之前批量收集由数据网络接口128所接收的多个不同数据事件(例如临时地存储未处理数据直到操作系统114和电子邮件应用118开始批量处理数据事件)。
一些用来交换数据事件的网络协议可能要求移动设备102在交换服务器传送第二数据事件之前向例如交换服务器发送第一数据事件(例如第一未处理数据)已被成功处理的通知。换言之,用来交换数据事件的网络协议可能在数据接收能恢复之前依赖于数据处理的结果,而这可能为数据事件接收批量收集模块202批量收集多个数据事件时造成了障碍。例如,电子邮件交换服务器可要求电子邮件客户端指示对前一封电子邮件或者电子邮件的前一部分(例如第一数据事件)的处理已结束和/或成功,然后电子邮件客户端才能够开始接收下一封电子邮件或者电子邮件的下一部分(例如第二数据事件)。
因此,在各个实施例中,节能数据交换模块116可包括数据事件结果预测模块204。数据事件结果预测模块204被配置成预测单个数据事件的数据处理的结果。一旦数据事件结果预测模块204预测到成功的处理结果,数据事件通知模块206被配置成向对应的数据服务器106发送移动设备102的数据网络接口128准备好接收下一数据事件的指示。该指示可包括数据事件的预测结果。在接收到指示和/或预测结果之际,数据服务器106可随即开始传送第二数据事件,并且数据事件接收批量收集模块202可随后批量收集多个事件的未处理数据,而无需等待每个数据事件的处理完成。
在一些实施例中,网络协议可不要求对于数据事件的成功处理结果的通知。因此,数据事件通知模块206可被配置成向数据服务器发送数据网络接口128和移动设备102已接收前一数据事件并且准备好接收下一数据事件的指示。如上所讨论的,数据事件通知模块206在前一数据事件的处理完成之前或者在开始处理前一数据事件之前发送该指示。
在各个实施例中,节能数据交换模块116可包括数据事件处理模块208。数据事件处理模块208被配置成处理批量收集的数据事件的未处理数据。在各个实施例中,数据事件处理模块208可等待直到在移动设备102处接收到所有的数据事件(例如,所有的电子邮件或者大电子邮件的所有部分已由数据服务器106推送到移动设备102或者已由移动设备102从数据服务器106抽取)才处理批量收集的数据事件。在其他实施例中,数据事件处理模块208可在数据事件被接收时开始处理数据事件,即使后续数据事件的接收不依赖于处理前一数据事件的完成或者不与处理前一数据事件的完成耦合。
此处进一步参照图4来讨论数据事件接收批量收集模块202、数据事件结果预测模块204、数据事件通知模块206、以及数据事件处理模块208。
在各个实施例中,节能数据交换模块116可包括持久存储器操作批量收集模块210。持久存储器操作批量收集模块210被配置成在非持久存储器高速缓存214中批量收集(例如,临时地存储或保存)持久存储器操作(诸如持久存储器写入)以及数据212,直到触发提供一起执行批量收集的持久存储器操作(例如将作为一批的数据提交或排出到持久存储器)的指示。例如,替代电子邮件应用118在每个单个电子邮件被接收和处理之后发出对于持久存储器216的单个小写入操作,电子邮件应用118可将多个小写入和数据一起批量收集在非持久存储器高速缓存214中,随后在稍后时间将作为一组的批次提交或排出到持久存储器216。持久存储器216的示例可包括基于闪存的或者其它的固态存储设备、盘、或存储卡。
在至少一个实现中,触发在满足预定义的数据阈值时提供执行批量收集的持久存储器操作的指示。预定义的数据阈值可以是写入次数(例如,三次、五次、七次、十次等)或者要写入的数据总量(例如,50k字节、100k字节、500k字节等)。在一替代实现中,触发可在应用执行对数据存储空间的自动更新(例如更新电子邮件收件箱)或者用户通过与应用交互或请求更新来发起对数据存储空间的更新时提供执行批量收集的持久存储器操作的指示。
持久存储器操作批量收集模块210能够节省能量(例如,延长电源单元130的寿命),因为在非持久存储器高速缓存214中批量收集存储器操作和数据212而不是在接收和处理每一个数据事件后立即将单个数据事件写入持久存储器216(这是耗时和高耗能的)是高能效的。对持久存储器操作的批量收集在单个持久存储器操作涉及小量的写入数据(例如,电子邮件标题和电子邮件的主体中的小部分文本)时特别有用。此外,实验已显示,与小量数据(例如单个数据事件写入)相关联的单个持久存储器操作和与大量数据(例如多个数据事件写入)相关联的批量收集的持久存储器操作具有类似的能量消耗速率。
此处进一步参照图5来讨论持久存储器操作批量收集模块210。
在各个实施例中,节能数据交换模块116可包括数据存储划分模块218。数据存储划分模块218被配置成将分配给应用的数据存储空间分隔为小分区220和大分区222。在各个实施例中,数据存储空间被分配给特定通信应用,诸如图1中解说的那些,并且数据存储空间可位于持久存储器216中。相应地,在各个实施例中,每个应用可具有其自己的被分配的数据存储空间(例如,消息或通知收件箱)。
如以上所提到的,当分配的数据存储空间(例如电子邮件收件箱)的量具有大尺寸时,移动设备102用来接收数据事件或者搜索数据事件(例如电子邮件)的能量的量显著增加。移动设备102使用更多能量的一个原因是因为现有的移动设备能够存储大量的电子邮件(例如10000封电子邮件),因而操作系统和其他设备资源耗费更多时间来更新或搜索与大量电子邮件相关联的元数据信息。例如,电子邮件客户端可能搜索整个电子邮件收件箱来确保最近接收的电子邮件与正确的会话线程或电子邮件串相关联。相应地,当分配的数据存储空间存储大量数据(例如10000封电子邮件)时,移动设备102花费大量的能量来恰当地存储新电子邮件并且更新大数据存储空间的元数据。此外,当分配的数据存储空间存储大量数据时,移动设备102在用户搜索电子邮件收件箱以寻找特定电子邮件时可能花费更多能量。
因此,为了减少与接收和存储新数据事件或者搜索数据事件相关联的能量消耗,数据存储划分模块218使用小分区220来存储在预定时间段内收到的数据事件(例如最近两天、最近一周、最近两周等中收到的“近期”电子邮件),并使用大分区222来存储不在该预定时间段中收到的更老的数据事件。在一个实现中,数据存储划分模块218可使用小分区220来存储阈值数目个较近的数据事件(例如,五十封最近的电子邮件)。
因此,数据存储划分模块218使用小分区220来处理最近收到的数据事件。例如,电子邮件应用118可将刚收到的电子邮件插入到小分区220中并更新小分区220中的元数据,而无需非得更新与存储在大分区222中的更老的电子邮件相关联的元数据。因此,如果移动设备102被配置成存储大量电子邮件(例如10000封电子邮件),则移动设备102能够节省能量。
数据存储空间的划分提供了一种高效的节省能量的方式,因为用户最可能使用移动设备102来访问(例如读取)最近收到的数据事件。因此,移动设备102可不需要那么频繁地更新较老的数据事件的元数据。如果用户想要访问较老的数据事件(例如,搜索电子邮件收件箱以寻找较老的电子邮件),则移动设备102上的应用能够搜索小分区220和大分区222两者并返回组合的结果。此外,数据存储划分模块218可确定或标识将小分区220中的数据事件移动到大分区222并相应更新元数据的时机(例如时间)。由于用户通常访问(例如搜索)较老的数据事件没有最近接收的数据事件那么频繁,因此数据划分能够节省电源单元130的能量。
此处进一步参照图6来讨论数据存储划分模块218。
如以上所讨论的,现有移动设备在工作在连接待机模式下时在发起接收下一数据事件之前等待对第一数据事件的处理完成(例如,数据处理与数据接收耦合)。然而,在移动设备处理数据事件的时间段期间,数据网络接口以高能耗状态等待处理的完成,尽管没有数据正在交换(例如,网络是空闲的)。没有数据正在交换是因为数据服务器106正在等待现有移动设备处理第一数据事件,然后才会发送下一数据事件。一旦数据服务器106接收到指示第一数据事件已被处理并且移动设备准备好在连接待机模式下接收下一数据事件的通知(例如,处理确认或PING分组),数据服务器106可随后开始发送第二数据事件。
这一过程可对于更多准备要从数据服务器106传递到现有移动设备的数据事件而重复。相应地,现有移动设备上的数据网络接口即使在网络通信空闲时也不必要地工作在高能耗状态下并消耗大量能量,并且随着要从数据服务器106传递给移动设备移动设备的数据事件的数目增加,这一时间量也增加。在一些实例中,数据网络接口可被配置成在网络空闲时间期间保持高能耗状态,因为数据网络接口被配置成根据拖尾阶段(例如3G拖尾定时器)来工作以减少或避免网络延迟,该网络延迟与将数据网络接口从睡眠状态唤醒以开始接收数据所花费的时间量相关联。每次第二或后续数据事件传输可重置拖尾定时器,这将数据网络接口维持在高能耗状态达更长的时间段,并因此消耗更多的能量。
图3解说了配备有此处所讨论的节能数据交换模块116的移动设备102如何在连接待机模式下接收和处理多个数据事件104的实例定时图300。此外,图3解说了将数据处理和数据接收解耦是如何允许移动设备102能够将数据网络接口128更快地置于低能耗状态(例如睡眠状态),并因此消除了数据网络接口不必要地工作在高能耗状态下时的网络空闲时间中的一些。因此,图3解说了移动设备102和数据服务器106的时间轴。图3显示了作为示例的两个数据事件的传递。然而,此处所讨论的技术适用于其中更多个数据事件要从数据服务器106传递给移动设备102(例如,三个、四个、五个、十个、二十个等)的场景。
在从t0到t1的第一时间段期间,移动设备102和数据服务器106可确定有至少一个数据事件待交换302。在各个实施例中,确定待交换的数据事件302可涉及从数据服务器106发送到移动设备102的推送通知、从移动设备102发送到数据服务器106的抽取请求(例如,电子邮件同步请求)、安全套接字层(SSL)和/或TCP握手、或用于建立连接或标识现有连接的任何其它通信协议。
在从t1到t2的第二时间段期间,移动设备102可完全激活数据网络接口128并且接收第一数据事件304或者抓取第一数据事件,并且相反地,数据服务器106发送第一数据事件306。在时间t2(大致的),移动设备102向数据服务器106发送下一数据指示308,使得数据服务器106知晓移动设备102准备好接收下一数据事件,即使第一数据事件可能还未在移动设备102处被完全处理。因此,在第三时间段t2到t3期间,数据服务器106可立即开始发送第二数据事件310给移动设备102,并且相反地,移动设备102接收第二数据事件312并随后在接收第二数据事件之后发送另一个下一数据指示314。如果第二数据事件是等待被传递的最后一个数据事件,则移动设备102可将数据网络接口128置于睡眠状态,如所指示的(例如,从连接待机模式的高能耗状态切换到连接待机模式的低能耗状态)。在将数据网络接口128置于睡眠状态下之后,移动设备102在第四时间段t3到t4的期间致力于完成对多个数据事件的处理316。
将数据接收与数据处理相耦合的现有移动设备与图3中的解说之间的区别在于如果数据接收不依赖于或者不耦合于前一数据事件的已完成的处理,则图3中的移动设备102能够更快地将数据网络接口128置于睡眠状态。相反,如图3中所示,移动设备102能够在无需等待对单个数据事件的处理结束或完成的情况下抓取和下载多个或全部数据事件。因此,配备有节能数据交换模块116的移动设备102能够通过消除移动设备处理单个事件时的多个网络空闲时间并转而更高能效地接收和/或处理数据事件来更高能效地接收和/或处理数据事件。
在各个实施例中,图3中的下一数据指示可传递移动设备102准备好接收下一数据事件的指示。该指示可包括预测的处理结果,如以上所讨论的。此外,在各个实施例中,图1中解说的操作系统114、各个应用、和/或与节能数据交换模块116相关联的模块和组件可使用例如远程过程调用(RPC)来通信以处理、存储和管理数据事件。
在此参照图4-6来描述各示例操作。这些过程被示为逻辑流程图,这表示可用硬件、软件或其组合实现的一系列操作。在软件的上下文中,操作表示当由一个或多个处理器执行时完成所述操作的计算机可执行指令。一般而言,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的次序并不旨在被解释为限制,并且所述操作中任何数量的操作可以按任何次序和/或并行地组合以实现该过程。此外,图4-6中的示例操作可参照图1-3中解说的特征和/或元素来描述。
图4解说了在连接待机模式下将数据接收与数据处理解耦的示例过程400。在框402,移动设备102确定针对被配置或安装在移动设备102上的各种通信应用中的一个或多个通信应用的数据已准备好或等待被交换。例如,可响应于接收到来自数据服务器106的推送通知、周期性的电子邮件同步请求(例如,抽取请求)、用户发起的电子邮件同步请求等等来作出该确定。
在框404,移动设备102将数据网络接口128和/或操作系统114从睡眠状态下唤醒。为此,移动设备102被激活到能够接收和处理数据事件104的功能状态。
在框406,数据网络接口128和/或通信应用建立或标识用于与数据服务器交换数据的连接。例如,数据网络接口128和/或通信应用可实施旨在对用于数据事件104的传输的连接进行保护的特定数据通信协议。
在框408,数据网络接口128和数据事件接收批量收集模块202开始接收数据事件(例如,电子邮件的未处理数据)。例如,数据事件可以是电子邮件、电子邮件的第一部分、即时消息、社交网络消息或通知、游戏消息或通知等等。
在框404,数据事件接收批量收集模块202在接收到数据事件时或接收到数据事件之后批量收集(例如,临时地存储、保存、维持等)未处理数据。在各个实施例中,操作系统114和通信应用可在此时开始对未处理数据的实际处理。然而,如此处所讨论的,对下一数据事件的接收不依赖于或耦合于对未处理数据的处理的成功完成。在替代实施例中,数据事件接收批量收集模块202可批量收集未处理数据直到数据服务器106将要传递的所有的数据事件已在移动设备102处被接收。随后,对批量收集的未处理数据(例如,与一个或多个数据事件相关联的数据)的实际处理可开始。
在各个实施例中,在框412,数据事件结果预测模块204可预测数据事件的处理结果。数据事件结果预测模块204可按与对未处理数据的实际处理相比更快和更高能效的方式预测处理结果。因此,当通信应用和/或相应的数据服务器106要求在传递下一数据事件之前的“成功”处理通知时,节能数据交换模块116可使用数据事件结果预测模块204。
在框414,数据事件通知模块206可向数据服务器106发送指示移动设备102准备好接收下一数据事件的指示。如上所讨论的,数据事件通知模块206可在第一数据事件被接收并且第一数据事件的未处理数据被批量收集之后立即发送该指示。因此,移动设备102不需要非得在开始接收下一数据事件之前等待第一数据事件的处理完成。
在框416,数据事件接收批量收集模块202可与数据服务器106通信以确定数据服务器106是否具有另一数据事件待通过所建立的连接传递给移动设备102。如果对于框416的回答是“是”,则过程返回到框408并且数据事件接收批量收集模块202接收下一数据事件、批量收集该数据事件、如此等等。在一个实现中,数据事件接收批量收集模块202可基于所传递的初始通知(例如,数据服务器106告诉移动设备102排队并准备好传递的数据事件的数目)来确定数据服务器106是否具有另一数据事件待传递。在另一实现中,移动设备102可在接收每一个数据事件之后轮询数据服务器以确定是否另一数据事件正等待被传递。在又一实现中,移动设备102可在预定的时间量过期后确定没有更多数据事件待传递,因而不会有更多的数据事件由数据服务器106传递。
如果对于框416的回答是“否”,则过程移动至框418,在此移动设备102将数据网络接口128置于睡眠状态,因为没有更多的数据要与数据服务器106交换(例如,移动设备从连接待机模式的高能耗状态切换到连接待机模式的低能耗状态)。如以上所讨论的,当数据网络接口128切换到睡眠状态时,对一个或多个数据事件的处理可能尚未完成。因此,此处所讨论的技术实现了将数据处理与数据接收解耦的方法,使得移动设备102能够更快地将数据网络接口128置于睡眠状态,因而能量可被节省。
在数据网络接口128被置于睡眠状态之后,在框420,数据事件处理模块208可完成对批量收集的数据事件的处理(例如,对多个数据事件的未处理数据进行批处理)。如以上所提到的,在一些实现中,对批量收集的数据事件的处理可在数据网络接口128仍然在接收后续的数据事件、但处理可能尚未完成时开始。在替代实现中,对批量收集的数据事件的处理在接收和批量收集所有的数据事件之后开始。
示例过程400可在每次针对移动设备102上的通信应用的数据事件在对应的数据服务器106上排队、并且准备好由对应的数据服务器106传送给移动设备102时在移动设备102上执行,此时移动设备工作在连接待机模式下。
图5解说了批量收集(例如,临时地存储、保存、或维持)多个数据事件的持久存储器操作的示例过程500。在至少一个实现中,持久存储器操作是与图4有关的发生在数据事件在连接待机模式下被接收和/或处理之后的持久存储器写入。如以上所讨论的,为每个数据事件执行单个持久存储器写入消耗大量能量(例如,处理器和操作系统使用)。因此,示例过程500通过批量收集多个写入并随后在稍后时间在单个操作中将它们提交或排出到持久存储器而节省了能量。
在框502,持久存储器操作批量收集模块210确定与准备好被执行的数据事件相关联的持久存储器操作。例如,电子邮件消息可能已在移动设备处被接收和处理,如以上结合图4讨论的。因此,电子邮件消息可能已准备好被写入到持久存储器216(例如,要由移动设备102存储)。
在框504,持久存储器操作批量收集模块210在非持久存储器高速缓存214(例如,临时高速缓冲等)中批量收集持久存储器操作(例如写入)以及待写入的数据。
在批量收集了存储器操作之后,在框506,持久存储器操作批量收集模块210确定是否接收到将批量收集的持久存储器操作和数据提交或排出到持久存储器的触发。在一个实施例中,触发可以是预定义的数据阈值(例如,50k字节、100k字节、500k字节)。在另一实施例中,触发可以是预确定的持久存储器操作的次数(例如,对于十个数据事件的十次写入)。在又一实施例中,触发可以是在移动设备102上执行的标识或其它功率消耗活动。例如,持久存储器操作批量收集模块210可在用户启动移动设备102或与之交互以访问电子邮件时执行批量收集的持久存储器操作。与这些其它活动同时执行持久存储器操作可能对基线功率消耗不具有或具有最小的影响,因为移动设备102可能已经处于高能耗状态下。
如果对于框506的答案是“否”,则过程返回到框502,在此持久存储器操作批量收集模块510确定与另一数据事件相关联的另一持久存储器操作准备好被执行,随后持久存储器操作批量收集模块510将添加该持久存储器操作到非持久存储器高速缓存214中的当前批次。
如果对于框506的答案是“是”,则过程移动至框508,在此持久存储器操作批量收集模块510一起执行批量收集的持久存储器操作(例如,批处理多个持久存储器写入)。例如,持久存储器操作批量收集模块510可将非持久存储器高速缓存214中的多个数据事件一起或作为一组写入到持久存储器216(例如,提交或排出该批次)。
图6解说了将数据事件的存储在小分区和大分区之间进行划分的示例过程600。在至少一个实现中,在图4的连接待机模式下接收和处理数据事件之后和/或与结合图5所讨论的存储器操作批量收集相关联地存储数据事件。如以上所讨论的,通过将针对特定通信应用的存储空间分隔为小分区和大分区,示例过程600节省了能量,因为不需要更新和/或搜索大量的元数据。在一些实施例中,划分可应用于多个通信应用的数据事件。
在框602,数据存储划分模块218创建小分区220和大分区222。在各个实施例中,小分区220和大分区222中的每一个都是持久存储器216中被分配给或关联于特定通信应用或多个通信应用的存储空间。因此,小分区220和大分区222可包括例如电子邮件收件箱或合并在一起的多个电子邮件收件箱。数据存储划分模块218可通过基于数据事件是何时从数据服务器106接收到移动设备102上的来分隔数据事件来创建小分区220和大分区222。因此,小分区220是用于最近数据事件(例如,最近接收到的电子邮件)的存储空间,而大分区222是用于较老的数据事件的存储空间。
在各个实施例中,数据存储划分模块218可将小分区220配置成存储阈值数目个数据事件(例如,二十封最新的电子邮件、五十封最新的电子邮件、一百封最新的电子邮件)或者存储阈值数据量(例如,对于任意数量个最近数据事件存储500k字节)。相应地,大分区222可存储数据事件的剩余部分,这可能是一个与小分区220中的数据事件的量相比大得多的量的数据事件(例如10000封电子邮件)。
在框604,数据存储划分模块218接收为新数据事件(例如,在移动设备102处最近接收的数据事件)存储信息的指示。
在框606,数据存储划分模块218将该新数据事件存储在小分区220中并且基于该新数据事件更新针对小分区220的元数据信息,而无需访问大分区222和/或更新针对大分区222的元数据信息。元数据信息可包括对于消息的发送方、消息的大小范围、经标记的消息(诸如“高”重要性)、是否有附件、或可被用于将数据事件组织或分组在各分区中的任何其它信息的标识。如以上所讨论的,移动设备102能够在存储新数据事件时节省能量,因为它不用非得处理大分区222。
在框608,数据存储划分模块218确定将数据事件从小分区220移动至大分区222的时机。例如,数据存储划分模块218可周期性地(例如,每天、每星期等)将小分区220中的数据事件移动至大分区。在另一示例中,数据存储划分模块218可在用户在移动设备102上发起对数据事件的搜索时移动数据事件。
在框610,数据存储划分模块218在确定时机后用小分区220中的数据事件中的至少一些来更新大分区222中的信息(例如,元数据、数据事件)。
结语
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式而呈现的。
Claims (10)
1.一种方法,包括:
确定与第一数据事件相关联的第一数据正等待从数据服务器传递至在连接待机模式下操作的移动设备;
将所述移动设备上的网络接口从所述连接待机模式的低能耗状态切换至所述连接待机模式的高能耗状态;
由所述移动设备上的所述网络接口从所述数据服务器接收与所述第一数据事件相关联的所述第一数据;
从所述移动设备向所述数据服务器发送所述移动设备已准备好从所述数据服务器接收第二数据事件的指示,其中所述移动设备在完成对所述第一数据的处理之前发送所述指示;
由所述移动设备上的所述网络接口从所述数据服务器接收与所述第二数据事件相关联的第二数据;
在接收到与所述第二数据事件相关联的所述第二数据之后将所述网络接口从所述连接待机模式的高能耗状态切换至所述连接待机模式的低能耗状态;以及
在所述网络接口从所述连接待机模式的高能耗状态切换至所述连接待机模式的低能耗状态之后完成对至少所述第一数据的处理。
2.如权利要求1所述的方法,其特征在于,所述第一数据事件和所述第二数据事件各自包括电子邮件消息、即时消息、社交网络消息或通知、或者游戏消息或通知中的至少一者。
3.如权利要求1所述的方法,其特征在于,还包括:
预测所述第一数据的处理结果;以及
将所预测的处理结果与所述指示一起发送给所述数据服务器以致使所述数据服务器传送所述第二数据。
4.如权利要求1所述的方法,其特征在于,所述确定基于推送通知、抽取请求或同步请求中的至少一者。
5.如权利要求1所述的方法,其特征在于,还包括在将所述网络接口从所述连接待机模式的高能耗状态切换至所述连接待机模式的低能耗状态之后开始对所述第一数据和所述第二数据的批处理。
6.如权利要求1所述的方法,其特征在于,还包括:
将与所述第一数据事件和所述第二数据事件中的每一个相关联的持久存储器写入操作存储在临时的高速缓存中;
接收执行所述持久存储器写入操作的触发,其中所述触发是在预定义的数据阈值被达到或超过之后或者在预确定的持久存储器写入操作次数被达到或超过之后接收的;以及
在接收到所述触发之后将所述第一数据和所述第二数据写入持久存储器。
7.如权利要求1所述的方法,其特征在于,还包括:
将所述第一数据和所述第二数据存储在存储通信应用的第一部分数据事件的第一部分持久存储器中;以及
更新存储所述第一部分数据事件的所述第一部分持久存储器的元数据而不更新存储通信应用的第二部分数据事件的第二部分持久存储器的元数据。
8.如权利要求7所述的方法,其特征在于,所述第一部分持久存储器存储在移动设备处在阈值时间量内接收到的数据事件,而所述第二部分持久存储器存储在移动设备处在所述阈值时间量之前接收到的较老的数据事件。
9.一个或多个存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被执行时执行操作,操作包括:
在工作在连接待机模式下的移动设备处从数据服务器接收与第一数据事件相关联的第一数据;
发送所述移动设备已准备好从所述数据服务器接收第二数据事件的指示,其中所述移动设备在完成对所述第一数据的处理之前发送所述指示;
在所述移动设备处从所述数据服务器接收与所述第二数据事件相关联的第二数据;
在接收与所述第二数据事件相关联的第二数据之后将所述移动设备的网络接口置于睡眠状态;以及
在所述网络接口被置于睡眠状态之后完成对至少所述第一数据的处理。
10.一种系统,包括:
一个或多个处理器;
一个或多个计算机存储器;
网络接口;
存储在所述一个或多个存储器上并且可运行在所述一个或多个处理器上的数据事件接收批量收集模块,用于批量收集在连接待机模式下经由所述网络接口接收的多个数据事件的未处理数据;
存储在所述一个或多个存储器上并且可运行在所述一个或多个处理器上的数据事件通知模块,用于在所述数据事件接收模块批量收集前一数据事件的未处理数据之后,向数据服务器发送表达所述网络接口已准备好接收下一数据事件的指示,其中所述数据事件通知模块在对前一数据事件的未处理数据的处理完成之前发送所述指示;以及
存储在所述一个或多个存储器上并且可运行在所述一个或多个处理器上的数据事件处理模块,用于在所述网络接口被置于低能耗状态下之后完成对前一数据事件的未处理数据的处理。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/074133 WO2014166103A1 (en) | 2013-04-12 | 2013-04-12 | Energy efficient data handling for mobile devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105229989A true CN105229989A (zh) | 2016-01-06 |
CN105229989B CN105229989B (zh) | 2019-01-22 |
Family
ID=51688874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380075570.0A Active CN105229989B (zh) | 2013-04-12 | 2013-04-12 | 针对移动设备的节能数据处理方法、存储介质和系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9681378B2 (zh) |
EP (1) | EP2984810B1 (zh) |
CN (1) | CN105229989B (zh) |
WO (1) | WO2014166103A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844532A (zh) * | 2016-03-23 | 2016-08-10 | 努比亚技术有限公司 | 一种处理订阅信息的方法及服务器 |
CN106921725A (zh) * | 2014-12-24 | 2017-07-04 | 联发科技股份有限公司 | 用于控制用户端装置与服务器之间数据传输的方法及装置 |
CN108260191A (zh) * | 2016-12-29 | 2018-07-06 | 展讯通信(上海)有限公司 | 移动终端及其睡眠状态的控制方法 |
CN112883184A (zh) * | 2021-03-22 | 2021-06-01 | 深圳前海微众银行股份有限公司 | 对话管理方法、设备、计算机可读存储介质及程序产品 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105229989B (zh) * | 2013-04-12 | 2019-01-22 | 微软技术许可有限责任公司 | 针对移动设备的节能数据处理方法、存储介质和系统 |
US10089458B2 (en) * | 2013-09-26 | 2018-10-02 | Citrix Systems, Inc. | Separate, disposable execution environment for accessing unverified content |
JP6491326B2 (ja) * | 2014-09-19 | 2019-03-27 | 華為技術有限公司Huawei Technologies Co.,Ltd. | アプリケーションプログラムを実行するための方法および装置 |
US10025625B2 (en) | 2016-03-31 | 2018-07-17 | Microsoft Technology Licensing, Llc | Batched tasks |
CN114928877B (zh) * | 2017-12-06 | 2024-04-16 | 荣耀终端有限公司 | 一种降低耗电的方法和设备 |
CN109918352B (zh) * | 2019-03-04 | 2021-11-05 | 北京百度网讯科技有限公司 | 存储器系统和存储数据的方法 |
US20230128077A1 (en) * | 2021-10-22 | 2023-04-27 | EMC IP Holding Company, LLC | System and Method for Aggregation of Write Commits To Control Written Block Size |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6236194B1 (en) * | 1999-08-06 | 2001-05-22 | Ricoh Company, Ltd. | Constant voltage power supply with normal and standby modes |
US20010032300A1 (en) * | 2000-04-14 | 2001-10-18 | Thomas Olson | Method and apparatus for storing transactional information in persistent memory |
CN101411135A (zh) * | 2006-03-27 | 2009-04-15 | 松下电器产业株式会社 | 移动终端的睡眠状态和服务启动 |
US20100125744A1 (en) * | 2008-11-20 | 2010-05-20 | Samsung Electronics Co., Ltd. | Method and system for providing presence service |
US20110145598A1 (en) * | 2009-12-16 | 2011-06-16 | Smith Ned M | Providing Integrity Verification And Attestation In A Hidden Execution Environment |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6260150B1 (en) | 1998-03-10 | 2001-07-10 | Agere Systems Guardian Corp. | Foreground and background context controller setting processor to power saving mode when all contexts are inactive |
US7032119B2 (en) | 2000-09-27 | 2006-04-18 | Amphus, Inc. | Dynamic power and workload management for multi-server system |
US7408506B2 (en) | 2004-11-19 | 2008-08-05 | Intel Corporation | Method and apparatus for conserving power on a mobile device through motion awareness |
KR100797121B1 (ko) | 2006-10-02 | 2008-01-22 | 삼성전자주식회사 | 멀티 스탠바이 휴대 단말기의 파워 세이빙 방법 및 그 장치 |
US9215082B2 (en) * | 2009-10-06 | 2015-12-15 | Thomson Licensing | Method and apparatus for hop-by-hop reliable multicast in wireless networks |
JP5470590B2 (ja) * | 2011-04-14 | 2014-04-16 | 株式会社日立製作所 | 通信装置及びハンドオーバの制御方法 |
US8935697B2 (en) * | 2011-08-10 | 2015-01-13 | Microsoft Corporation | Suspension and/or throttling of processes for connected standby |
US8788863B2 (en) * | 2011-08-10 | 2014-07-22 | Microsoft Corporation | System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state |
US8713256B2 (en) | 2011-12-23 | 2014-04-29 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including dynamic cache sizing and cache operating voltage management for optimal power performance |
US8230247B2 (en) | 2011-12-30 | 2012-07-24 | Intel Corporation | Transferring architectural functions of a processor to a platform control hub responsive to the processor entering a deep sleep state |
WO2013122598A1 (en) * | 2012-02-17 | 2013-08-22 | Intel Corporation | Wireless network connectivity enhancements |
US9063864B2 (en) * | 2012-07-16 | 2015-06-23 | Hewlett-Packard Development Company, L.P. | Storing data in presistent hybrid memory |
US9037799B2 (en) | 2013-02-11 | 2015-05-19 | Avago Technologies General Ip (Singapore) Pte Ltd | Rebuild of redundant secondary storage cache |
CN105229989B (zh) * | 2013-04-12 | 2019-01-22 | 微软技术许可有限责任公司 | 针对移动设备的节能数据处理方法、存储介质和系统 |
-
2013
- 2013-04-12 CN CN201380075570.0A patent/CN105229989B/zh active Active
- 2013-04-12 US US14/351,548 patent/US9681378B2/en active Active
- 2013-04-12 EP EP13881886.9A patent/EP2984810B1/en active Active
- 2013-04-12 WO PCT/CN2013/074133 patent/WO2014166103A1/en active Application Filing
-
2017
- 2017-05-05 US US15/588,115 patent/US10455509B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6236194B1 (en) * | 1999-08-06 | 2001-05-22 | Ricoh Company, Ltd. | Constant voltage power supply with normal and standby modes |
US20010032300A1 (en) * | 2000-04-14 | 2001-10-18 | Thomas Olson | Method and apparatus for storing transactional information in persistent memory |
CN101411135A (zh) * | 2006-03-27 | 2009-04-15 | 松下电器产业株式会社 | 移动终端的睡眠状态和服务启动 |
US20100125744A1 (en) * | 2008-11-20 | 2010-05-20 | Samsung Electronics Co., Ltd. | Method and system for providing presence service |
US20110145598A1 (en) * | 2009-12-16 | 2011-06-16 | Smith Ned M | Providing Integrity Verification And Attestation In A Hidden Execution Environment |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106921725A (zh) * | 2014-12-24 | 2017-07-04 | 联发科技股份有限公司 | 用于控制用户端装置与服务器之间数据传输的方法及装置 |
CN105844532A (zh) * | 2016-03-23 | 2016-08-10 | 努比亚技术有限公司 | 一种处理订阅信息的方法及服务器 |
CN108260191A (zh) * | 2016-12-29 | 2018-07-06 | 展讯通信(上海)有限公司 | 移动终端及其睡眠状态的控制方法 |
CN112883184A (zh) * | 2021-03-22 | 2021-06-01 | 深圳前海微众银行股份有限公司 | 对话管理方法、设备、计算机可读存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
EP2984810B1 (en) | 2018-10-17 |
US20160021614A1 (en) | 2016-01-21 |
US20170245214A1 (en) | 2017-08-24 |
US10455509B2 (en) | 2019-10-22 |
US9681378B2 (en) | 2017-06-13 |
WO2014166103A1 (en) | 2014-10-16 |
EP2984810A1 (en) | 2016-02-17 |
CN105229989B (zh) | 2019-01-22 |
EP2984810A4 (en) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105229989A (zh) | 针对移动设备的节能数据处理 | |
US9832275B2 (en) | Message processing method, device and system for internet of things | |
CN103425225B (zh) | 便携数据设备操作系统中的应用程序装置及其运行方法 | |
GB2504634A (en) | Adjusting a polling interval for a first service based on a polling interval of a second service to align traffic received from distinct hosts | |
KR20110076954A (ko) | 저자원 장치에서의 최적화 폴링 | |
EP2896168B1 (en) | Apparatus and method for delivery control of application data to a mobile device in a communication network | |
WO2005112294A2 (en) | Message aggregation system and method for a mobile communication device | |
CN107613529B (zh) | 消息处理方法以及基站 | |
US20100195548A1 (en) | Network assisted power management | |
CN105429859A (zh) | 用于管理移动设备中空闲状态活动的技术 | |
EP3418892B1 (en) | Method and device for managing and controlling broadcast, and terminal | |
EP1896980A2 (en) | Preserving sessions in a wireless network | |
CN111782414A (zh) | 一种延时消息处理方法及系统 | |
US9104488B2 (en) | Support server for redirecting task results to a wake-up server | |
EP3926467A1 (en) | Application control method and apparatus, terminal, and computer-readable storage medium | |
CN111221662B (zh) | 任务调度方法、系统及装置 | |
CN110740145A (zh) | 消息消费方法、装置、存储介质及电子设备 | |
WO2019128586A1 (zh) | 应用程序处理方法、电子设备、计算机可读存储介质 | |
US20130041935A1 (en) | Expediting the distribution of data files between a server and a set of clients | |
US7924844B1 (en) | System and method for communicating messages among components in a computing environment | |
US20140245050A1 (en) | Power management for host with devices assigned to virtual machines | |
US11283876B2 (en) | Systems and methods for end-to-end request-response flow routing for geographically distributed client devices | |
EP3378216B1 (en) | Enhanced mode control of cached data | |
CN105009097A (zh) | 消息发射装置、消息发射方法和消息发射程序 | |
WO2023185845A1 (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 |