CN108605292B - 电力知悉式网络通信 - Google Patents
电力知悉式网络通信 Download PDFInfo
- Publication number
- CN108605292B CN108605292B CN201780011167.XA CN201780011167A CN108605292B CN 108605292 B CN108605292 B CN 108605292B CN 201780011167 A CN201780011167 A CN 201780011167A CN 108605292 B CN108605292 B CN 108605292B
- Authority
- CN
- China
- Prior art keywords
- application
- network
- traffic
- priority
- power
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- 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/0261—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- 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
-
- 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)
- Telephonic Communication Services (AREA)
Abstract
此申请描述了基于电力状态来控制网络传输的客户端设备。客户端设备确定计算设备的电力状态和在计算设备上执行的应用的优先级。该客户端设备至少基于应用的优先级和计算设备的电力状态来确定是否允许应用经由网络通信硬件与远程网络可访问设备通信。还描述了电力状态服务,其基于客户端设备的电力状态选择要向其提供通知的客户端设备。
Description
背景技术
当设备处于低电力状态时,诸如无线电芯片组之类的设备硬件组件可能被断电或置于降低电力状态。在低电力状态中,可能难以正确管理网络连接性以避免不必要的电力使用。过于严格的网络策略可能导致高优先级应用(诸如后台更新或IP语音(VoIP)呼叫)不能可靠地操作。过于宽松的网络策略可能意味着应用持续传送非关键数据,从而不必要地使用电力。存在一些处置这些问题的解决方案。支持InstantGo(以前称为Connected Standby(已连接待机))的硬件和软件已被集成到通用接口中,并与操作系统联网栈和应用编程接口(API)集成。已实施和部署中央通知服务(诸如通知服务),以在低电力场景期间同步多个应用的网络连接性。此外,连接管理器在激活网络连接或在可用网络之间进行选择时考虑网络连接性的成本。
在Connected Standby中,网络通信硬件(诸如移动宽带或Wi-Fi芯片组)维持其与处于较低电力状态的网络的连接,并且如果它断开连接,则搜索并连接到已知网络。当处于Connected Standby时,设备(包括处理器,例如片上系统(SoC))也处于较低电力状态(例如,已连接睡眠状态)。模式匹配唤醒是与Connected Standby结合使用的特征,其允许操作系统配置网络通信硬件以在网络通信硬件(例如,WiFi)检测到与存储的模式匹配的模式时唤醒设备。忽略所有其他分组。当检测到具有匹配模式的分组时,网络通信硬件向SoC发送中断以将其唤醒。然后将该分组传递给正在监听的应用,并且该应用能够快速地对数据进行操作(例如,接收VoIP电话呼叫)。
简要概述
提供本概述是为了介绍在以下详细描述中进一步描述的本公开的简化概念。本概述并不旨在标识所要求保护的主题的必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本公开的示例提供了一种网络电力模块,其控制在设备的各种电力状态期间对联网硬件的使用。网络电力模块访问策略存储以确定尝试通信、或者注册以接收推送通知的应用的优先级。网络电力模块还确定设备的电力状态。基于设备的电力状态和应用优先级,网络电力模块使网络通信硬件能够被上电以接收和传送数据。
附图简述
参考附图阐述详细描述。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记指示相似或相同的项。
图1是解说用于电力知悉式联网的示例环境的框图。
图2是解说用于电力知悉式联网的示例客户端设备的框图。
图3是解说具有示例电力知悉式在场设备的环境的框图。
图4解说示出用于电力知悉式联网的示例过程的流程图。
图5解说示出用于使应用能够基于客户端设备的电力状态接收推送通知的示例过程的流程图。
图6解说示出用于使应用能够基于客户端设备的电力状态传送数据的示例过程的流程图。
图7解说示出用于提供电力知悉式通知服务的示例过程的流程图。
图8解说被使能以提供电力状态服务的示例主机计算系统的框图。
详细描述
本申请的实施例包括集成在操作系统内的网络电力模块,其控制在设备的各种电力状态期间对联网硬件的使用。应用向网络电力模块注册。网络电力模块访问策略存储以确定应用的优先级。应用的优先级可以是静态的或可配置的。网络电力模块还确定设备的电力状态,该电力状态可以各种方式来定义而不脱离实施例的范围。网络电力模块——基于电力状态、应用优先级或其他因素(诸如剩余电池电量、应用状态、设备用户界面(UI)状态)——使网络通信硬件能够被上电以接收和传送数据。
在一些实施例中,网络电力模块在某些电力状态中–诸如在低电力状态中设置定时器。定时器建立可适配的超时时段,在超时时段期间设备和/或网络通信硬件保持被上电并且话务可被发送。在定时器期满之后,设备和/或网络通信硬件恢复到低电力状态。附加高优先级话务的到达可导致当前正在运行的定时器增加剩余时间或被重置,以便为要被传送的话务提供更多时间。在定时器时段期间可传送或接收低优先级话务。可将低优先级话务排队等待传送,直到通信硬件被激活。在一些实施例中,如果阈值量的较低优先级加我排队等待传送,则较低优先级话务可使网络电力模块激活网络通信硬件。
在推送通知(例如,接收传入分组的请求)的情况下,应用可向网络电力模块注册以接收推送通知。网络电力模块基于应用的优先级确定是否建立传送和接收队列,以及在网络通信硬件中注册唤醒模式。网络通信硬件使用唤醒模式来标识导致网络通信硬件将设备从低电力状态唤醒的的分组并在应用的接收队列上提供该分组。一旦与唤醒设备的分组相关联的话务流完成,电力模块使设备和/或网络通信硬件返回到低电力状态。网络电力模块可利用如上所讨论的定时器,该定时器的期满使得设备和/或网络通信硬件恢复到低电力状态。当定时器正在运行时,低优先级话务也可能被传送(尽管也可能不被传送)。只要与高优先级应用相关联的话务流保持活动,接收和传送队列就可保持活动。网络电力模块可取决于设备的电力状态确定不为注册以接收推送通知的低优先级应用设置唤醒模式。
在要传送的数据的情况下,应用可向网络电力模块注册。当应用有数据要传送时,网络电力模块取决于客户端设备的电力状态和应用的优先级,可为应用建立接收队列和传送队列,并使设备(包括网络通信硬件)进入更活跃的电力状态。定时器可被用于确定接收和传送队列以及网络通信硬件保持活动多久。当定时器正在运行时,低优先级话务也可能被传送(尽管也可能不被传送)。只要与高优先级应用相关联的话务流保持活动,接收和传送队列就可保持活动。一旦应用和远程设备之间的连接被拆除,网络电力模块可将设备置于低电力状态并使任何低电力应用话务排队,直到网络通信硬件被重新激活。
在一些实施例中,网络电力模块包括代理服务或与代理服务相关联。当设备处于低电力状态时,代理服务管理应用流和连接性。例如,如果用户将网络从WiFi更改为以太网,则代理服务将重新建立某些应用的连接性。使用代理服务将应用管理与电力状态管理分离。这可简化应用的编程并确保与现有应用的兼容性。
在一些实施例中,客户端设备向远程的、网络可访问的设备电力状态服务提供电力状态信息。设备电力状态服务使得具有要向与客户端设备相关联的用户传送的数据的应用服务器能够使用电力状态信息从客户端设备中进行选择以发送数据。在一个示例中,用户可具有与他或她相关联的三个设备,包括膝上型计算机、移动电话和平板计算机。设备电力状态服务可从所有这三个设备接收电力状态更新,并将该信息提供给应用服务器。具有要发送给用户的推送通知的应用服务器可基于设备电力状态选择三个设备中的一个来传送推送通知(诸如处于活动模式或空闲连接模式的设备,而不是处于已连接睡眠模式或断开连接睡眠模式的设备)。多设备选择可包括其他输入,诸如电池供电设备上剩余多少电力以及设备最近使用的时间。
如本文所使用的,“流”指的是数据通信话务,包括双向话务,其由两个网络连接的端点(诸如在用户设备上执行的应用和应用服务器)之间的应用通信会话(或仅“应用会话”)定义。一些示例应用包括web浏览器、电子邮件客户端、文件传输协议客户端、文件服务器、媒体播放器应用、移动电话应用等等。应用服务器可包括web服务器,电子邮件服务器,FTP服务器,媒体服务器,文件服务器等。应用通信会话包括应用和应用服务器之间的通信会话,尽管通信会话可在两个客户端设备之间或两个服务器设备之间。通信会话也可以是多点的。单个应用通信会话可由源地址、目的地地址、协议、源端口和目的地端口的5元组中的一些或全部来定义或确定。源和目的地地址可包括互联网协议(IP)地址,诸如IP版本4(IPv4)或IP版本6(IPv6)地址。可使用其他源和目的地地址类型,诸如媒体访问控制(MAC)地址或其他。
5元组中的协议可包括传输控制协议(TCP)、用户数据报协议(UDP)、流传输控制协议(SCTP)、数据报拥塞控制协议(DCCP)或其他协议。这些协议通常可属于或者可被称为属于开放系统互连模型(OSI模型)的“传输层”,尽管这些协议可能不严格地符合OSI模型为传输层协议提供的定义。就本文使用“传输层”或其他OSI模型术语(诸如应用层、网络层、“层2”等)来描述协议或其他概念而言,这些OSI术语的使用并不意味着暗示任何此类协议或概念严格符合OSI模型中的定义,尽管这些协议或概念可能的确满足这些定义。
5元组中的目的地端口信息可指示各种更高层协议(例如,开放系统互连模型(OSI模型)下的应用层协议)。在一些实施例中,这种更高层协议包括超文本传输协议(HTTP)(通常但不一定由TCP或UDP端口80指示)、HTTP安全(HTTPS)(通常但不一定由TCP或UDP端口443指示)、FTP(通常但不一定由TCP或UDP端口20(用于数据传输)和端口21(用于FTP控制)指示)、安全外壳(SSH)(通常但不一定由TCP或UDP端口22指示)、实时传输协议(RTP)(通常但不一定由TCP或UDP端口5004指示)。更高层协议可包括各种基于电子邮件的协议,诸如各种版本的邮局协议(POP,诸如POP2、POP3)(通常但不一定由TCP或UDP端口109(POP2)或端口110(POP3)指示)、各种版本的因特网消息访问协议(IMAP,诸如IMAP4)(通常但不一定由TCP端口143指示)、消息收发应用编程接口(MAPI)(通常但不一定由TCP或UDP端口135指示)、简单邮件传输协议(SMTP)(通常但不一定由TCP或UDP端口25指示),等等。在不脱离实施例的范围的情况下,可使用其他示例目的地端口和相关联的更高层协议。数万个正式的、注册的和非官方的TCP和UDP端口被定义和使用,并且实施例不限于它们中的一个或多个。此外,尽管端口号可以是特定协议的官方端口(如由例如该互联网号码分配机构(IANA)定义的),其他端口可能与特定协议相关联。例如,虽然端口443可以是HTTPS的官方端口,但是客户端和应用服务器可被配置为利用一些其他端口号来指示HTTPS连接。
5元组中的源端口信息可以是与分组相关联的任何端口号。客户端和应用服务器经常使用源端口来区分来自多个应用请求的话务。因此,在相同客户端设备发送具有相同源地址、目的地地址、协议和目的地端口的多个分组但是分组具有不同源端口的情况下,不同的源端口可指示分组与该相同客户端或客户端应用和应用服务器之间的不同通信会话相关联。例如,客户端设备上的web浏览器客户端软件可建立到该相同应用服务器的两个HTTP连接,诸如在两个不同的浏览器窗口中,以获得不同的网页,且这可能(尽管可能不会)导致多个源端口被使用,且从而导致两个应用通信会话。在实施例中,5元组数据中的一个或多个可用于定义或确定应用通信会话,使得具有相同的5元组元素(相同的源和目的地地址,协议以及相同的源和目的地端口)的所有分组被视为属于同一通信会话,且因而属于同一“流”。
可基于除了上述5元组之外的其他数据(诸如更高层协议数据流数据)来确定或定义通信会话。在一些实施例中,可根据在更高层话务流中找到的状态信息来确定连接。仅将HTTP用作一个示例,可基于客户端和HTTP服务器来定义HTTP会话,该客户端和HTTP服务器交换SYN、SYN_ACK和ACK命令以请求和接受要在客户端和服务器之间建立的TCP会话。这些交换之后可以是客户端对来自服务器的数据的请求的交换,诸如通过发出HTTP_GET命令和HTTP_200_OK应答,以及其他类型的HTTP交换通信。HTTP会话可以结束于FIN命令和ACK应答的发出。因此,实施例可基于这样的更高层协议流来确定应用通信——或即“流”。
这些示例通信组——无论是基于地址/协议/端口五元组、更高层状态信息(诸如HTTP或如上所述的其他状态数据)、5元组和更高层协议数据的某种组合、可能适当的其他数据中的部分还是全部来定义或确定——表示通信会话,也称为“流”。
下面参考附图描述各种示例。这些示例仅仅是示例性的,并且本公开的实施例不限于下面描述的并且在附图中解说的示例。
图1是解说用于电力知悉式联网的示例环境100的框图。客户端设备102被配置为与远程网络连接设备(诸如应用服务器104、应用服务器106和电力状态服务108)通信。客户端设备102通过接入网络110与远程网络连接的设备通信。客户端设备102可利用各种有线或无线通信技术中的任何一种来访问这些网络。接入网络110可以是各种无线网络中的任何一种,诸如但不限于各种IEEE 802.11无线LAN兼容网络、移动通信网络,诸如全球移动通信系统(GSM)、长期演进(LTE)网络等中的任何一种。接入网络110可包括各种个域网中的任何一种,包括但不限于IEEE 802.15、等。接入网络110可包括有线连接,包括但不限于有线以太网网络,诸如由IEEE802.3定义的那些网络、光纤网络等。接入网络110可提供对公共互联网或其他广域网、校园区域网络、城域网和局域网等的访问。连接到接入网络110的服务器和服务可直接连接或经由诸如公共互联网的其他网络连接。在不脱离实施例的范围的情况下,可使用其他类型的网络和网络拓扑(例如,多址网络)。
客户端设备102包括策略存储112,其存储客户端设备上的一个或多个应用114的优先级信息。优先级信息可以是静态的或可配置的。在可配置的情况下,优先级可通过用户(诸如在安装期间或安装之后)、通过组策略或通过某种其他机制来配置。某些应用可能具有静态分配的优先级,诸如关键应用,包括增强型911(E911)调用。应用114中的一个或多个可使用通知服务122。
客户端设备102包括网络电力模块116。网络电力模块116至少基于客户端设备102的电力状态118并基于存储在策略存储112中的应用的优先级允许应用114与远程网络连接的设备通信。在一些实施例中,客户端设备102的电力状态118可包括设备电力管理模式,诸如活动模式、连接空闲模式、连接睡眠模式、断开连接睡眠模式、无线电关闭模式等。对于用户,一个或多个电力模式可看起来像设备“开启”、“唤醒”、“睡眠”、“断电”等等。电力状态118还可包括电池电平、插入主电源或电网电源(例如,插入家庭或建筑物电源)的状态、在电池电力下操作的状态等。电力状态118可包括设备的硬件状态,诸如客户端设备102的网络通信硬件被上电、断电或降低电力,处理器被上电、断电或降低电力,存储器在低电力模式下操作等等。设备的电力状态118可包括设备的软件状态,诸如某些软件模块或组件(包括操作系统组件或模块)被停止、挂起、可操作等。实施例不限于任何一个或多个特定类型的电力状态118。
代理服务120也可包括在客户端设备102中。代理服务120可代理应用114和远程网络连接设备之间的通信。代理服务120可在一些但不是所有电力状态期间(诸如在一个或多个“低”电力状态118期间)管理应用114和远程服务器(例如,应用服务器104和106)之间的通信流。代理服务120还可代表应用114管理客户端设备102内的电力管理功能,诸如在一个或多个电力状态118期间。示例电力管理功能包括使用电力管理应用编程接口(API)或其他操作系统或网络驱动器特征为网络通信硬件供电。
如本文所使用的,“代理”是充当客户端(例如,应用114之一)和服务器(例如,应用服务器104和106)之间的中介的软件或硬件元件。代理服务120可与应用114通信,就好像代理服务120是应用114试图访问的资源一样。在从应用114接收到连接尝试(例如,HTTP SYN)以访问资源之际,代理服务120可就好像它是资源一样应答(例如,将HTTP SYN ACK发送回应用114)。然后,代理服务120可至少取决于应用114的电力状态和优先级,启用设备102的网络通信硬件并向服务118发送HTTP SYN。代理服务102的其它示例也是可能的,而不偏离各实施例的范围。
如下面更详细讨论的,网络电力模块116从应用114接收传送数据或从远程网络连接设备接收推送通知和/或后台传输的尝试或请求。这些请求经由API或类似的软件构造被捕获。在这些示例中,应用114被配置为对网络电力模块116做出API调用。在一些实施例中,这样的请求可由网络电力模块116拦截,诸如由网络电力模块116的代理服务120拦截。例如,代理服务120可拦截来自应用114的HTTP SYN或其他通信。
基于策略存储112中的应用优先级和设备的电力状态118,网络电力模块116可响应于来自应用114的要进行通信的请求或尝试来创建传送队列和接收队列,并设置用于应用114通信的控制信道。网络电力模块116可向控制信道提供访问控制列表(ACL)或其他过滤器数据,其允许控制信道允许将在接收队列上接收的流量提供给应用114。
网络电力模块116在确定允许应用114传送或接收之际设置定时器。网络电力模块116和/或代理服务120可维护关于应用114和远程网络连接设备之间的应用流的状态信息。客户端设备102可传送与高优先级应用的特定通信流相关联的分组。客户端设备102可在定时器期满之前的时间期间传送来自高优先级应用和/或来自低优先级应用的分组。来自相同或不同的高优先级应用的要进行通信的进一步请求可导致定时器值增加。其它示例也是可能的,而不偏离各实施例的范围。下面在图2中解说了客户端设备102的更具体的一组示例。
图2是解说用于电力知悉式联网的示例客户端设备102的框图。网络电力模块116建立接收队列202和传送队列204以处理来自应用114-1到114-N的每应用话务。网络电力模块116基于客户端设备102的给定电力状态118来配置传送队列204以管理每应用话务。传送队列204被配置为在给定电力状态118的情况下确定哪个设备驱动器206以及在什么时间区间期间传送与应用话务相关联的分组。传送队列204接收与应用话务相关联的分组,并取决于电力状态118并基于策略存储112中的优先级信息采取若干动作之一。网络通信硬件208可具有多于一个相关联的设备驱动器206。注意,在一些实施例中,一个设备驱动器可管理网络适配器的多个实例,其可包括多个物理和/或虚拟网络适配器,包括例如网络通信硬件208。网络通信硬件是物理网络适配器的示例。为简单起见,我们将这些实例中的每一个称为设备驱动器206。
网络电力模块116配置接收队列202以从设备驱动器206和网络通信硬件208接收来自应用114-1到114-N之一的话务,并确定其间将应用话务沿网络栈向上提供至代理服务118和/或应用114-1到114-N的时间窗口。接收队列202接收与应用话务相关联的分组,并取决于电力状态118并基于策略存储112中的优先级信息采取若干动作之一。接收队列202可将设备驱动器206配置为将侦听将网络话务匹配到硬件(例如,网络通信硬件208)卸载。例如,网络电力模块116可使网络通信硬件208被配置为侦听与应用114-1到114-N相关联的高优先级话务匹配的网络话务,并向接收队列202提供匹配的话务。接收队列202将匹配的话务传递给应用114-1到114-N和/或代理服务120(诸如在代理服务120代表应用114管理应用流的情况下)。网络通信硬件208可基于访问控制列表来匹配话务,访问控制列表例如基于优先级和电力状态标识被允许接收的、与应用114-1到114-N相关联的话务的5元组。
网络电力模块116基于尝试传送或接收的应用114-1到114-N的优先级并基于客户端设备102的电力状态118来配置传送队列204以向设备驱动器206提供话务。更一般而言,传送队列204基于设备的电力状态118和应用114-1到114-N的优先级确定其间传输应用话务的时间窗口。基于电力状态118和应用114-1到114-N中的不同应用的优先级,传送队列204可通过将数据提供给设备驱动器206来引起当前时间的数据传输,或者使其排队以供稍后传输。
存储在策略存储112中的示例应用优先级表在表1中示出如下:
应用 | 优先级 |
A | 高 |
B | 中 |
C | 低 |
表1
与应用优先级表相关联的可以是电力状态表,其示例在表2中示出如下:
表2
在上面示出的示例中,应用A具有高优先级,应用B具有中优先级,而应用C具有低优先级。这些优先级指定仅是示例,并且在不脱离实施例的范围的情况下可做出其他指定。例如,优先级可被指定为数字或编号、字母,并且通常是任何机器可读代码。表2示出了五个不同的示例电力状态,但是示例策略存储112中可包括其他电力状态。这些策略可包括电池电力电平(电池电力的百分比、电池电力的范围等),设备是否附连到电网或主电力、硬件电力状态(CPU断电、在低电力模式下的存储器、在低电力模式下的网络硬件)等等。这些电力电平可由诸如高级配置和电力接口(ACPI)之类的规范来定义,或者是专有的。仅为解说目的,表2中示出了特定电力状态的指定。
其他策略可被存储在策略存储112中。例如,策略表可指示一些应用具有针对推送通知和后台传输的第一优先级(例如,高优先级),以及针对传输的第二优先级(例如,低优先级)。在一些实施例中,可基于应用的执行状态将应用视为具有更高优先级。例如,处于前台状态的应用可被视为具有比在后台状态中执行的应用更高的优先级。一个示例是浏览器。在用户正在用户界面216的前台查看浏览器的情况下,来自浏览器的请求导致网络电力模块116允许话务,而在浏览器未在前台执行时来自浏览器的请求(诸如周期性刷新)可被拒绝并排队等待以供稍后传送。其它示例也是可能的,而不偏离各实施例的范围。
接收队列202可从设备驱动器206接收网络通信硬件208已经接收到针对应用114-1到114-N中的一个特定应用(例如,应用A、B或C之一)的一个或多个分组的指示。基于客户端设备102的电力状态和应用114-1到114-N的所述一个应用的优先级,接收队列可将分组提供给应用114-1到114-N和/或代理服务120。类似地,传送队列204可从应用114-1到114-N中的一个特定应用和/或代理服务120接收一个或多个分组。基于客户端设备102的电力状态和应用114-1到114-N中的一个特定应用的优先级,传送队列204可将分组提供给设备驱动器206以经由网络通信硬件208进行传送。
除了提供用于基于电力状态118和应用优先级来允许或拒绝传送和接收分组的访问列表之外,策略存储112中的优先级表还可由网络电力模块116使用以使网络通信硬件208被启用。例如,对于表2指示“允许”话务的应用话务,网络电力模块116可在接收到来自应用114的要进行传送或接收的请求之际使网络通信硬件208从无线电关闭状态转换到活动状态并被启用。在表2指示“拒绝”话务的情况下,网络电力模块116可拒绝启用网络通信硬件208。
在一些实施例中,网络电力模块116可从应用114-1到114-N接收要进行传送或接收的请求,并且基于策略存储112拒绝那些请求。在这种情况下,网络电力模块116仍然可为来自应用114-1到114-N中的被拒绝应用的网络话务建立接收队列202和传送队列204。来自应用114-1到114-N中的低优先级应用的话务排队等待。在某个稍后的时刻,可传送经排队的话务。存在可能发生这种情况的若干情形。
例如,可累积供传输的足够大量的低优先级话务。网络电力模块116可确定针对低优先级应用(在各种实施例中传送话务或接收话务)排队等待的阈值话务量-阈值数据量、阈值分组数量等。网络电力模块116可导致经排队的话务经由网络通信硬件208和设备驱动器206的传输。网络电力模块可将经排队的低优先级话务提供到应用114-1到114-N。网络电力模块116可使网络通信硬件208上电,或以其他方式转换到不同的电力状态,以便可接收和/或传送数据。网络电力模块116可向设备驱动器206提供传送话务。可传送和接收低优先级话务(例如,提供给应用114-1到114-N,直到由网络电力模块116设置的定时器期满)。
在第二示例中,高优先级话务可激活经由设备驱动器206和网络通信硬件208的传输。如果发生这种情况,则网络电力模块116还可允许经排队的低优先级话务——以及从应用114-1到114-N接收和经由网络通信硬件208接收的任何附加的低优先级话务。高优先级话务可经由设备驱动器206和网络通信硬件208以比更低优先级话务更高的优先级来传送。经由网络通信硬件208接收的高优先级话务可以比向应用114-1到114-N提供的更低优先级话务更高的优先级被提供给应用114-1到114-N。低优先级话务可被传送和接收(例如,被提供给应用114-1到114-N,直到由网络电力模块116设置的定时器期满)。
在第三示例中,至少基于网络电力模块116检测到设备102的电力状态118的变化,经排队的低优先级话务可经由网络通信硬件208传送和/或提供给应用114-1到114-N。基于用户唤醒设备,将设备102插入电源,电力状态118中的手动(用户发起的)改变,预编程的改变(诸如,发生在一天的预编程时间的电力状态118改变)等等,可发生电力状态118改变。网络电力模块116可配置控制信道过滤器210以启用应用114-1到114-N和/或代理服务120和设备驱动器206之间的选择性通信。在传统操作中,控制信道使应用能够与设备驱动器206通信以被通知针对其接收了数据(诸如在应用未作为前台应用运行时)。在本公开的实施例中,控制信道过滤器210基于电力状态选择性地将这些通知提供给应用114。因此,网络电力模块116可在电力状态118改变时和/或在应用114-1到114-N请求传送或接收通信时配置控制信道过滤器210。控制信道过滤器210可包括访问控制列表,其诸如通过使用5元组来标识要提供给应用114-1到114-N的分组。由网络电力模块116从设备驱动器206接收的与访问控制列表匹配的数据分组由控制信道过滤器210提供,导致网络电力模块116向应用114-1到114-N通知网络话务。随着电力状态改变,和/或当应用请求传输和接收数据时,网络电力模块116重新配置控制信道过滤器210。
控制信道过滤器210可设置其间客户端设备102传送或接收话务的定时器。在一些实施例中,控制信道过滤器210使用自适应方法计算定时器的期满值,其中一个或多个参数作为系数馈入控制信道过滤器210。控制信道过滤器210产生期满值。所述一个或多个参数可包括以下中的一个或多个:网络性能,包括网络上的等待时间(例如,往返时间),抖动(延迟的可变性),吞吐量(例如,每秒的分组,每秒的比特等),具有套接字打开的应用114-1到114-N(例如,通过打开网络适配器的Winsock套接字指示它们处于通信状态的那些应用)的数量,应用114-1到114-N的优先级,网络通信硬件208的接口类型(例如,802.3,无线LAN(例如,Wi-Fi),无线WAN(例如,移动宽带等),客户端设备的位置,客户端设备102的电力状态118,请求传送或接收数据的应用的数量,诸如应用114传送和/或接收数据的典型时长量的历史数据,等等。在仅一个示例中,网络上经历的更长的延迟时间和/或更小的吞吐量值可能会导致更长的超时时段。
在一些实施例中,客户端设备102包括跟踪应用114-1到114-N的历史数据的日志记录系统212。控制信道过滤器210利用历史数据来设置定时器的期满值,或用于其他目的。
在一些实施例中,客户端设备102包括电力协调器214,其可以是操作系统的内核组件。电力协调器214跨设备的各个方面(包括计算(CPU)、图形、存储、网络通信硬件208和其他外围设备)协调电力策略。具体地,当客户端设备102进入低电力状态时,电力协调器214向外围设备通知即将发生的变化并指示它们也进入低电力状态。在一些实施例中,网络电力模块116向电力协调器214通知客户端设备102的电力状态118的变化。
在一些实施例中,网络电力模块116预期应用114-1到114-N的请求。例如,用户与用户界面216的交互可指示一个或多个应用114-1到114-N很快将传送。将统一资源定位符(URL)键入浏览器窗口的用户可指示传输尝试即将到来。网络电力模块116确定传输被预期,基于应用114(在这种情况下是浏览器)的优先级和设备102的电力状态118唤醒网络通信硬件208,并建立接收队列202和传送队列204,以及控制信道过滤器210。其它示例也是可能的,而不偏离各实施例的范围。
客户端设备200包括存储器216和处理器218,其在本详细描述中的别处被更详细地描述。
图3是解说具有示例电力知悉式在场服务的环境300的框图。环境300包括客户端设备302、客户端设备304和客户端设备306,所有客户端设备都与单个用户或用户帐户相关联。在图3所解说的示例中,客户端设备302是手持移动设备,诸如智能电话、个人媒体播放器或手持游戏设备。客户端设备304是平板计算机,客户端设备306是膝上型计算机、上网本或类似设备。一般而言,根据实施例的客户端设备可以是服务器、平板计算机、膝上型计算机、台式计算机、游戏控制台、媒体播放器、移动电话、手持式计算机、可穿戴设备、智能电器等。实施例不限于任何一种或多种类型的客户端设备。
客户端设备302-306分别包括应用308-312,以及分别包括网络电力模块314-318。应用308-312可与应用114-1到114-N相同或相似。网络电力模块314-318可与网络电力模块116相同或相似。因此,网络电力模块314-318可被配置为使得网络通信硬件能够基于电力状态、应用优先级或诸如应用状态、设备用户界面(UI)状态之类的其他因素被上电以接收和传送数据,如在本详细描述中的别处所描述的。
网络电力模块314-318被配置为向电力状态服务108提供包括其相应设备的电力状态320-324的在场信息。在一些实施例中,网络电力模块314-318将它们各自的电力状态320-324提供给一个或多个应用服务器,诸如应用服务器104和106。电力状态服务108可作为服务在与应用服务器104和106中的一个或两个相同的服务器设备上运行。
电力状态服务108可将电力状态320-324传达到应用服务器104和106。应用服务器104-106可将电力状态320-324传达给彼此,或者传达到其他应用服务器,诸如在对等(peer-to-peer)布置中。
应用服务器104和106可提供通知服务,例如推送通知服务,或以其他方式发起与客户端设备302-306的通信。一个示例可以是应用服务器104和106是IP电话服务器,其被配置为向客户端设备302-306提供存在呼入IP电话呼叫的指示。应用308-312可以是例如接收呼入呼叫通知的IP电话客户端。除了IP电话之外,实施例可包括其他示例应用。实施例不限于任何一种或多种类型的应用或通知服务。
由于客户端设备302-306与共同的用户或用户帐户相关联,因此与该共同的用户或用户帐户相关联的传入推送通知可由客户端设备302-306中的任一者接收。为了使用上面的IP电话示例,用户可接收至客户端设备302、306和308中的任一者的呼入呼叫通知。在传统系统中,如果所有三个都已经向应用服务器104和/或106登记了其在线在场状态,则它们都可接收到呼入呼叫通知。因此,客户端设备302-306可全部“响铃”以指示呼入呼叫。在客户端设备302-306中的一些处于低电力状态的情况下,呼入呼叫可能不一定唤醒客户端设备302-306中处于低电力状态的一些客户端设备。例如,用户的膝上型计算机(客户端设备306)可能唤醒,但是移动电话(客户端设备302)和平板计算机(客户端设备304)可处于低电力模式。因此,可能不必通过向客户端设备302和304发送呼入呼叫通知来唤醒客户端设备302和304。
在一些实施例中,应用服务器104和106选择向其提供通知的客户端设备302-306的子集。在一些实施例中,应用服务器104和106基于电力状态信息320-326选择客户端设备302-306的子集。应用服务器104和106还可基于可配置信息选择要通知的客户端设备,可配置信息包括例如客户端设备302-306的优先级列表。优先级列表可以是可配置的,例如经由应用308-312,通过操作系统配置特征,通过组策略,或以其他方式。优先级列表可指示客户端设备302-306将被通知的次序。因此,如果多于一个客户端设备302-306处于“开启”或活动状态(例如),则优先级列表可用于选择特定的(一个或多个)上电客户端设备以接收通知。可如以下表3和4中所示实现策略。
客户端设备 | 优先级 |
A | 高 |
B | 中 |
C | 低 |
表3
与应用优先级表相关联的可以是电力状态表,其示例在表4中示出如下:
表4
在表4中描述的示例策略中,应用服务器104和106向处于活动和已连接-空闲电力状态中的高优先级客户端设备通知传入通知。在表4中动作是“允许”通知的情况下,这可能意味着在一些实施例中可在该电力状态下向设备发送通知。应用服务器104和106可向处于具有策略中的相应允许或总是动作的电力状态的、具有最高优先级的客户端设备传送通知。在一些示例中,应用服务器104和106可将通知传送到多于一个客户端设备,诸如处于根据策略具有总是或允许动作的电力状态的所有客户端设备。其它示例也是可能的,而不偏离各实施例的范围。
表4中使用的电力状态仅是示例电力状态。客户端设备302-306可向电力状态服务108和应用104和106报告其他电力状态。并且在一些实施例中电力状态服务108和应用104和106可使用这样的其他电力状态来确定要向其提供通知的一个或多个客户端设备302-306。此外,可被报告并用于选择向其提供通知的客户端设备的其他信息,诸如UI状态(例如,UI的前台状态中的应用的通知),电池电力电平(例如,如果电力电平高于第一电平或百分比则视为高,如果介于两个电平或百分比之间则视为中等,并且以此类推),自上次用户活动以来的时间(例如,如果用户活动在特定阈值时间段内则视为高,否则视为中等或低,等等)。其它示例也是可能的,而不偏离各实施例的范围。
图3示出了客户端设备302-306经由网络328与应用服务器104和106以及电力状态服务108通信。但是在一些实施例中可使用更多网络。例如,客户端设备302可经由第一网络(例如,Wi-Fi网络)进行通信,而客户端设备304和306经由第二网络(例如,LTE网络)进行通信。其它示例也是可能的,而不偏离各实施例的范围。
图4-7描绘了示出根据各示例的示例过程的流程图。这些过程的操作在单独的框中解说出,并且参考这些框来概括。这些过程被解说为各逻辑流程图,其每一操作可表示可用硬件、软件或其组合实现的操作集合。在软件的上下文中,这些操作表示存储在一个或多个计算机存储介质上的计算机可执行指令,这些指令在由一个或多个处理器执行时使得一个或多个处理器能执行所叙述的操作。一般而言,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的次序并不旨在被解释为限制,并且任何数量的所述操作可以按任何次序组合、分开成子操作、和/或并行地执行以实现该过程。根据本公开的各示例的过程可包括逻辑流程图中描绘的操作中的仅一些或全部。
图4解说示出用于电力知悉式联网的示例过程400的流程图。在402,网络电力模块(诸如网络电力模块116、314、316和318)注册应用。应用可通过调用API,打开通信套接字以尝试使用网络适配器进行通信,或以某种其他方式向网络电力模块注册。在一些实施例中,网络电力模块是计算设备的操作系统的组件。应用可注册以接收推送通知(以接收由远程网络可访问设备发起的通信)或传送数据(例如,发起通信流)。
在404,网络电力模块确定应用的优先级。网络电力模块可通过访问存储优先级信息的策略存储(诸如在策略存储112中的)来确定应用的优先级。在一些实施例中,应用的优先级可以是固定的或可配置的。例如,可给予E911应用高优先级,这可能是不可配置的。本文包括的示例将应用描述为具有“高”、“中”和“低”优先级。但是可使用基本上任何机器可读代码(诸如字母数字优先级指示符或其他)来指定或指示应用优先级。
在406,网络电力模块确定计算设备的电力状态。电力状态可包括设备电力管理模式,诸如活动模式、已连接-空闲模式、已连接-睡眠模式、断开连接-睡眠模式、无线电-关闭模式等。对于用户,一个或多个电力模式可看起来像设备“开启”、“唤醒”、“睡眠”、“断电”等等。电力状态还可包括电池电平、插入主电源或电网电源(例如,插入家庭或建筑物电源)的状态、在电池电力下操作的状态等。电力状态可包括设备的硬件状态,诸如客户端设备的网络通信硬件被上电、断电或降低电力,处理器被上电、断电或降低电力,存储器在低电力模式下操作。设备的电力状态可包括设备的软件状态,诸如某些软件模块或组件(包括操作系统组件或模块)被停止、挂起、可操作等。实施例不限于任何一个或多个特定类型的电力状态。
在408,网络电力模块至少基于应用的优先级和计算设备的电力状态允许应用经由网络通信硬件与远程网络可访问设备通信。这可包括,例如,打开或使客户端设备的通信硬件上电。这可包括设置定时器,允许应用话务被传送直到定时器期满,允许接收的话务被提供给应用直到定时器期满,等等。网络电力模块在定时器的时间段期满后阻止应用与远程网络可访问设备通信。网络电力模块可至少基于与该应用或者与具有足够高优先级的另一应用相关联的附加话务的接收来增加定时器的时间量。
图5解说示出用于使应用能够基于客户端设备的电力状态接收推送通知的示例过程500的流程图。在502,客户端设备向网络电力模块(诸如网络电力模块116、314、316和318)注册推送通知和后台传输。网络电力模块存储注册请求(诸如在策略存储中),并向设备电力协调器通知该客户端设备。设备电力协调器跨设备的所有方面(包括计算(CPU)、图形、存储、网络和其他外围设备)协调电力策略。
在504,网络电力模块为应用创建接收队列和传送队列,并设置电力敏感的控制信道过滤器。基于应用的优先级,网络电力模块在处于各种电力状态(诸如低电力状态)时更新网络适配器中的硬件卸载以“侦听”后台中的推送通知。例如,网络电力模块可向网络适配器提供与高优先级话务匹配的唤醒掩码或类似物。然后将(一个或多个)唤醒模式应用于网络通信硬件。
在506,远程网络可访问设备与应用建立通信流。通信流是基于将与应用的注册推送通知匹配的数据分组的接收通知给接收队列并将数据分组提供给应用来建立的。
在508,代理服务管理通信流。代理服务可管理各种电力状态下的通信流,诸如在所有电力状态或仅电力状态的子集中,诸如在低电力状态下。一旦通信流被终止或者定时器期满,网络硬件或客户端设备的电力状态可恢复到先前的电力状态(例如,低电力状态)。
图6解说示出用于使应用能够基于客户端设备的电力状态传送数据的示例过程600的流程图。在602,应用向策略存储注册其优先级,诸如当应用被安装时,当作为通信初始化的一部分应用打开通信套接字时,通过调用网络电力模块的API,在组策略更新期间等等。策略存储可具有针对特定应用的预定义优先级或者被应用于新注册并被记录在策略存储中的默认优先级。网络电力模块为通信创建接收队列和传送队列,并设置电力敏感的控制信道过滤器。
在604,应用开始传送数据。应用可尝试通过打开通信套接字、调用API或采取某个其它动作来传送数据。
在606,网络电力模块检查策略存储和电力状态,以确定应用的优先级和客户端设备的当前电力状态。基于应用的优先级和电力状态,网络电力模块确定分组现在是要传送还是排队等待稍后传输。网络电力模块利用策略存储,诸如表2中描述的示例策略。如果网络电力模块确定不允许传输,则可将话务排队等待稍后传输,尽管在一些实施例中可丢弃该话务。
在608,网络电力模块允许取决于分组的电力优先级在特定传送队列中传送该分组。允许传输可包括使网络通信硬件进入更高电力状态(如果它例如处于低电力状态)。在一些实施例中,设置定时器。在定时器期满之后,网络通信硬件可再次被置于低电力状态。如果附加分组从应用到达,则可增加或重置定时器的时间段。当定时器运行时,网络电力模块可允许传送其他传送队列中的分组(例如,来自不具有足够高的优先级的低优先级应用的分组或已存在足够的数量以使得它们自己能够进行通信的分组)。在这种实例中,可在任何低电力话务之前传送高优先级应用话务,或者以其他方式给予传输和接收优先级。如在此详细描述中的别处所述,定时器的超时期满值可通过自适应方法计算,其中不同的参数作为系数馈入过滤器,得到将更接近理想值的超时。
在610,代理服务管理通信流。代理服务可管理各种电力状态下的通信流,诸如在所有电力状态或仅电力状态的子集中,诸如在低电力状态下。一旦通信流被终止或者定时器期满,网络硬件或客户端设备的电力状态可恢复到先前的电力状态(例如,低电力状态)。
图7解说示出用于提供电力知悉式通知服务的示例过程700的流程图。在702,与用户或用户帐户相关联的多个客户端设备(诸如客户端设备102、302、304和306)利用诸如电力状态服务108的电力状态服务来传送指示其电力状态的信息。电力状态服务可在应用服务器(诸如应用服务器104和106)上执行,或者可在单独的计算系统上托管。
在704,电力状态服务将电力状态信息提供给一个或多个应用服务器,诸如应用服务器104和106。应用服务器可彼此共享电力状态信息。
在706,应用服务器至少基于客户端设备的电力状态来确定要向其提供通信(例如,推送通知)的一个或多个客户端设备。除了电力状态之外,应用服务器还可基于客户端设备的优先级列表,基于设备的UI状态,基于在客户端设备上执行的应用的应用状态(例如,基于哪个客户端设备当前正在执行与应用服务器相关联的应用),等等来选择客户端设备。
在708,应用服务器将通信传送到所选择的(一个或多个)客户端设备。在一个示例中,应用服务器104和106是VoIP服务器,并且应用服务器104可接收与多个客户端设备相关联的用户账户的VoIP呼叫。客户端设备中的一个具有“临界”(或其他低)电力电平,且因此应用服务器可将呼入VoIP呼叫重定向到另一个客户端设备。在一些实施例中重定向VoIP呼叫(或其他通知)可包括通过不同的应用服务器重定向通信。
图8解说被使能以提供电力状态服务的示例主机计算系统800的框图。主机计算系统800包括处理器802和存储器804。在存储器804上存储应用服务器104、应用服务器106和电力状态服务108中的一个或多个。主机计算系统可包括一个或多个硬件设备、盒或机架,且可托管在网络数据中心中。可将应用服务器104和106以及电力状态服务108中的一个或多个实例化为虚拟机、应用容器或类似的虚拟化计算资源。
根据各种非限制性示例,本文描述的计算系统(诸如客户端设备102、302、304和306,以及主机计算系统800)包括一个或多个设备,诸如服务器、存储设备、平板计算机、膝上型计算机、台式计算机、游戏控制台、媒体播放器、移动电话、手持计算机、可穿戴设备、智能电器、联网设备、自助服务终端设备等等。在一个示例配置中,计算系统包括至少一个处理器。计算系统还包含允许与各其他系统的通信的(一个或多个)通信连接。计算系统还包括经由诸如总线等连接通信地耦合到(诸)处理器和计算机可读介质的一个或多个输入设备(诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等)以及一个或多个输出设备(诸如,显示器(包括触摸屏显示器)、扬声器、打印机等)。
存储器216和804是计算机可读介质的示例。计算机可读介质存储可加载到一个或多个处理器并可由一个或多个处理器执行的计算机可执行指令,以及在这些程序的执行期间生成和/或可结合这些程序一起使用的数据。在所解说的示例中,计算机可读介质存储操作系统实例,操作系统实例向应用114、308、310和312,策略存储112,网络电力模块116,代理服务120,设备驱动器206,用户界面216,电力协调器214,日志记录系统212,应用服务器104,应用服务器106,电力状态服务108等提供基本系统功能性。这些组件中的一个或多个(包括操作系统)可以被实例化为虚拟机、应用容器或某个其他类型的虚拟化实例。
处理器218和802可包括一个或多个单核处理单元、多核处理单元、中央处理单元(CPU)、图形处理单元(GPU)、通用图形处理单元(GPGPU)或例如经由来自模块或应用编程接口(API)的专门编程来配置以执行本文描述的功能的硬件逻辑组件。在替换示例中,本公开的一个或多个功能可由而不限于硬件逻辑组件来执行或进行,硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统系统(SOC)、复杂可编程逻辑器件(CPLD)、数字信号处理单元(DSP)以及其它类型的定制处理单元。例如,被配置成执行本文中描述的功能中的一者或多者的处理单元可表示包括集成在FPGA结构中CPU核的混合设备。这些或其他硬件逻辑组件可独立地操作,或在一些实例中,可由CPU驱动。在一些示例中,计算系统的各示例可包括多个类型的多个处理单元。例如,处理单元可以是一个或多个GPGPU和一个或多个FPGA的组合。不同的处理单元可具有不同的执行模型,例如,如在用于图形处理单元(GPU)和中央处理单元(CPU)的情况下。
取决于所使用的计算设备的配置和类型,计算机可读介质(例如存储器216和804)包括易失性存储器(诸如随机存取存储器(RAM))和/或非易失性存储器(诸如只读存储器(ROM)、闪存、3D XPoint(X点)、电阻式RAM等)。计算机可读介质还可包括可提供对计算机可执行指令、数据结构、程序模块和计算系统的其他数据的非易失性存储的附加可移动存储和/或不可移动存储,包括但不限于,SSD(例如,闪存)、HDD(硬盘驱动器)存储或其他类型的磁性存储、光学存储和/或其它存储。
计算机可读介质可例如表示为计算机存储介质的形式的计算机存储器。计算机可读介质包括至少两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质包括以存储如计算机可读指令、数据结构、编程模块或其他数据之类信息的任何过程或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,相变存储器(PRAM)、电阻式RAM、3D Xpoint非易失性存储器、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、紧致盘只读存储器(CD-ROM)、数字通用盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或可用于存储由计算设备访问和检索的信息的任何其他介质。作为对比,通信介质可将计算机可读指令、数据结构、程序模块或其他数据具体化为已调制数据信号(诸如载波)或其他传输机制。如本文所定义的,计算机存储介质不包括通信介质。
本文描述的各种过程作为结合联网功能的计算功能来执行。例如,一个计算设备或系统可使得经由网络通信硬件将消息传送到另一计算设备。这可包括,例如,通过软件模块将指针、自变量或其他数据传递给联网模块。指针、自变量或其他数据可标识存储在存储器中或寄存器中的、要传送到另一计算设备的数据。联网模块可包括协议栈,并且可读取由指针、自变量或其他数据标识的数据。协议栈可将数据封装在一个或多个帧、分组、信元或其他数据联网协议结构中。协议栈(诸如在网络电力模块内或别处)可调用网络接口设备驱动器,以引起电信号、磁信号或光信号沿通信介质物理传送到网络元件,诸如网关、路由器、开关、集线器等。底层网络可将数据路由或切换到目的地。目的地计算设备可经由网络接口卡接收数据,这导致中断被呈现给设备驱动器或网络适配器。目的地计算设备的处理器向设备驱动器传递执行线程,该执行线程使协议栈将数据在其中被接收的分组、帧和信元中的数据解封装。协议栈使接收的数据被存储在存储器、寄存器或其他位置中。协议栈可传递标识所接收的数据存储到在目的地计算设备上执行的目的地软件模块的何处的指针、自变量或其他数据。软件模块接收执行线程以及自变量、指针或其他数据,并从所标识的位置读取数据。
示例条款
条款A。一种计算设备,包括被配置为通过一个或多个接入网络进行传送和接收的网络通信硬件、一个或多个处理器以及存储器。存储在所述存储器中并且能够由所述一个或多个处理器执行以至少实现设备驱动器和网络电力模块的多个编程指令。所述设备驱动器被配置为与所述网络通信硬件对接。所述网络电力模块被配置为:确定所述计算设备的电力状态;确定在所述计算设备上执行的应用的优先级;以及至少基于所述计算设备的电力状态和所述应用的优先级,建立被配置为使用所述网络通信硬件经由所述设备驱动器传送来自所述应用的话务的传送队列。所述网络电力模块被进一步配置为建立被配置为经由所述设备驱动器从所述网络通信硬件接收话务的接收队列,以及配置控制信道过滤器以至少基于所述应用的优先级和所述计算设备的电力状态,向所述应用提供所述接收队列接收的话务的通知。
条款B。条款A的计算设备,其中所述传送队列被进一步配置为允许所述应用在预定时间段期间传送话务。
条款C。条款B的计算设备,其中所述传送队列阻止所述应用在所述预定时间段期满之后传送话务。
条款D。条款B的计算设备,其中所述网络电力模块被进一步配置为至少基于与所述应用或者与满足或超过阈值优先级水平的另一应用相关联的附加话务的接收来增加所述预定时间段的剩余时间量。
条款E。条款B的计算设备,其中所述控制信道过滤器被进一步配置为至少基于与网络性能相关的一个或多个参数来确定所述预定时间段。
条款F。条款A到E中任一者的计算设备,其中所述网络电力模块被进一步配置为基于标识与所述应用相关联的数据分组的访问控制列表来适配所述控制信道过滤器以向所述应用提供通知。
条款G。条款F的计算设备,其中所述网络电力模块被进一步配置为在所述计算设备中的电力状态改变之际适配所述控制信道过滤器。
条款H。条款A到G中任一者的计算设备,其中所述应用是第一应用,所述第一应用的优先级是第一优先级,且所述远程网络可访问设备是第一远程网络可访问设备。所述传送队列在所述第一应用被准许经由所述网络通信硬件与所述第一远程网络可访问设备通信的时间段期间准许来自具有第二优先级的第二应用的话务经由所述网络通信硬件被传送到第二远程网络可访问设备。
条款I。条款A到H中任一者的计算设备,其中所述网络电力模块被进一步配置为在预定时间段期满之后阻止所述应用从所述远程网络可访问设备接收话务。
条款J。条款A到I中任一者的计算设备,其中所述网络电力模块包括管理所述应用和所述网络通信硬件之间的话务流的代理服务。
条款K。一种方法,包括通过由计算设备执行的操作系统的网络电力模块来注册应用,确定所述应用的优先级。所述方法包括建立所述计算设备的电力状态连同被配置为传送来自所述应用的话务的传送队列。所述方法包括至少基于所述计算设备的电力状态和所述应用的优先级,经由设备驱动器使用所述网络通信硬件。所述方法包括建立被配置为经由所述设备驱动器从所述网络通信硬件接收话务的接收队列,以及建立控制信道过滤器以至少基于所述应用的优先级和所述计算设备的电力状态,向所述应用提供所述接收队列接收的话务的通知。
条款L。条款K的方法,进一步包括将关于所述电力状态的信息提供给设备电力状态服务,所述设备电力状态服务从与用户相关联的、包括所述计算设备在内的多个设备中进行选择以接收推送通知。
条款M。条款K或L中任一者的方法,进一步包括建立传送队列以在预定时间段期间使用所述网络通信硬件经由所述设备驱动器传送来自所述应用的话务。
条款N。条款K到M中任一者的方法,进一步包括从低优先级应用接收应用话务,以及配置所述传送队列以至少基于所述计算设备的电力状态和所述低优先级应用为低优先级来阻止来自所述低优先级应用的话务经由所述计算设备的所述网络通信硬件的传输。
条款O。条款K到N中任一者的方法,进一步包括从低优先级应用接收应用话务,以及配置所述传送队列以在所述应用被准许经由所述网络通信硬件与所述远程网络可访问设备通信的时间段期间实现来自所述低优先级应用的话务到另一远程网络可访问设备的传输。
条款P。条款K到O中任一者的方法,进一步包括准许所述应用进一步基于所述计算设备的用户界面状态经由所述设备驱动器使用所述计算设备的所述网络通信硬件与所述远程网络可访问设备通信。
条款Q。条款K到P中任一者的方法,进一步包括向所述应用提供代理服务,所述代理服务管理所述应用和所述网络通信硬件之间的话务流。
条款R。一种实现设备电力状态服务的计算系统。所述计算系统包括一个或多个处理器、存储器以及存储在所述存储器上的多个编程指令。所述多个编程指令能够由所述一个或多个处理器执行以从与用户相关联的第一设备接收指示第一电力状态信息的第一数据,从与所述用户相关联的第二设备接收指示第二电力状态信息的第二数据,以及至少基于所述第一电力状态信息和所述第二电力状态信息,使至少一个传输被发送到所述第一设备或所述第二设备之一。
条款S。条款R的计算系统,其中所述多个编程指令进一步能够由所述一个或多个处理器执行,以进一步基于与所述第一设备和所述第二设备相关联的可配置信息使得传输被发送到所述第一设备或所述第二设备之一。
条款T。条款R或S中任一者的计算系统,其中所述多个编程指令进一步能够由所述一个或多个处理器执行,以通过至少向向所述用户传送数据的应用服务器提供关于所述第一设备或所述第二设备之一的电力状态信息来使得所述至少一个传输被发送。
条款U。一种计算系统,包括用于通过由计算设备执行的操作系统的网络电力模块来注册应用的装置和用于确定所述应用的优先级的装置。所述系统包括用于建立所述计算设备的电力状态的装置以及用于建立被配置为传送来自所述应用的话务的传送队列的装置。所述系统包括用于至少基于所述计算设备的电力状态和所述应用的优先级,经由设备驱动器使用所述网络通信硬件的装置。所述系统包括用于建立被配置为经由所述设备驱动器从所述网络通信硬件接收话务的接收队列的装置,以及用于建立控制信道过滤器以至少基于所述应用的优先级和所述计算设备的电力状态,向所述应用提供所述接收队列接收的话务的通知的装置。
条款V。条款U的计算系统,进一步包括用于将关于所述电力状态的信息提供给设备电力状态服务的装置,所述设备电力状态服务从与用户相关联的、包括所述计算设备在内的多个设备中进行选择以接收推送通知。
条款W。条款U或V中任一者的计算系统,进一步包括用于建立传送队列以在预定时间段期间使用所述网络通信硬件经由所述设备驱动器传送来自所述应用的话务的装置。
条款X。条款U到W中任一者的计算系统,进一步包括用于从低优先级应用接收应用话务的装置,以及用于配置所述传送队列以至少基于所述计算设备的电力状态和所述低优先级应用为低优先级来阻止来自所述低优先级应用的话务经由所述计算设备的所述网络通信硬件的传输的装置。
条款Y。条款U到X中任一者的计算系统,进一步包括用于从低优先级应用接收应用话务的装置,以及用于配置所述传送队列以在所述应用被逐匈奴经由所述网络通信硬件与所述远程网络可访问设备通信的时间段期间实现来自所述低优先级应用的话务到另一远程网络可访问设备的传输的装置。
条款Z。条款U到Y中任一者的计算系统,进一步包括用于准许所述应用进一步基于所述计算设备的用户界面状态经由所述设备驱动器使用所述计算设备的所述网络通信硬件与所述远程网络可访问设备通信的装置。
条款AA。条款U到Z中任一者的计算系统,进一步包括用于向所述应用提供代理服务的装置,所述代理服务管理所述应用和所述网络通信硬件之间的话务流。
条款AB。一种实现设备电力状态服务的计算系统。所述计算系统包括用于从与用户相关联的第一设备接收指示第一电力状态信息的第一数据的装置,用于从与所述用户相关联的第二设备接收指示第二电力状态信息的第二数据的装置,以及用于至少基于所述第一电力状态信息和所述第二电力状态信息,使至少一个传输被发送到所述第一设备或所述第二设备之一的装置。
条款AC。条款AB的计算系统,进一步包括用于进一步基于与所述第一设备和所述第二设备相关联的可配置信息使得传输被发送到所述第一设备或所述第二设备之一的装置。
条款AD。条款AB或AC中任一者的计算系统,进一步包括用于通过至少向向所述用户传送数据的应用服务器提供关于所述第一设备或所述第二设备之一的电力状态信息来使得所述至少一个传输被发送的装置。
条款AE。一种用于实现设备电力状态服务的方法。所述方法包括从与用户相关联的第一设备接收指示第一电力状态信息的第一数据,从与所述用户相关联的第二设备接收指示第二电力状态信息的第二数据,以及至少基于所述第一电力状态信息和所述第二电力状态信息,使至少一个传输被发送到所述第一设备或所述第二设备之一。
条款AF。条款AE的方法,进一步包括进一步基于与所述第一设备和所述第二设备相关联的可配置信息使得传输被发送到所述第一设备或所述第二设备之一。
条款AG。条款AE或AF中任一者的方法,进一步包括通过至少向向所述用户传送数据的应用服务器提供关于所述第一设备或所述第二设备之一的电力状态信息来使得所述至少一个传输被发送。
结语
虽然已经用对结构特征和/或方法动作专用的语言描述了各项技术,但是应该理解,所附权利要求不必限于所述的特征或动作。相反,这些特征和动作是作为示例实现来描述的。
上述所有方法和过程可以用由一个或多个通用计算机或处理器执行的软件代码模块来具体化,并且可经由这些软件代码模块来完全自动化。这些代码模块可以储存在任何类型的计算机可执行存储介质或其他计算机存储设备中。这些方法中的某些或全部可替代地用专用计算机硬件来具体化。
除非另外具体声明,否则在上下文中可以理解条件语言(诸如“能”、“能够”、“可能”或“可以”)表示特定示例包括而其他示例不包括特定特征、元素和/或步骤。因此,这样的条件语言一般并非旨在暗示某些特征、元素和/或步骤以任何方式对于一个或多个示例是必需的,或者一个或多个示例必然包括用于在有或没有用户输入或提示的情况下决定某些特征、元素和/或步骤是否包括在任何特定示例中或将在任何特定示例中被执行的逻辑。除非另外具体声明,应理解联合语言(诸如短语“X、Y或Z中至少一个”)表示项、词语等可以是X、Y或Z中的任一者、或其组合。
本文所述和/或附图中描述的流程图中任何例程描述、元素或框应当被理解成潜在地表示包括用于实现该例程中具体逻辑功能或元素的一个或多个可执行指令的代码的模块、片段或部分。替换实现被包括在本文描述的示例的范围内,其中各元素或功能可被删除,或与所示出或讨论的顺序不一致地执行,包括基本上同步地执行或按相反顺序执行,这取决于所涉及的功能,如本领域技术人也将理解的。所有这样的修改和变型在本公开的范围内并且由所附权利要求书保护。
Claims (14)
1.一种计算设备,包括:
被配置为通过一个或多个接入网络进行传送和接收的网络通信硬件;
一个或多个处理器;
存储器;以及
存储在所述存储器上并且能够由所述一个或多个处理器执行以至少实现设备驱动器和网络电力模块的多个编程指令,所述设备驱动器被配置为与所述网络通信硬件对接,所述网络电力模块被配置为:
确定所述计算设备的电力状态;
确定在所述计算设备上执行的应用的优先级;
建立被配置为使用所述网络通信硬件经由所述设备驱动器传送来自所述应用的话务的传送队列,其中所述传送队列还被配置为准许所述应用在至少基于所述计算设备的电力状态和所述应用的优先级设立的预定时间段期间传送话务,并阻止所述应用在所述预定时间段期满之后传送来自所述应用的话务;
建立被配置为经由所述设备驱动器从所述网络通信硬件接收话务的接收队列;以及
配置控制信道过滤器以至少基于所述应用的优先级和所述计算设备的电力状态,向所述应用提供所述接收队列接收的话务的通知。
2.根据权利要求1所述的计算设备,其特征在于,所述网络电力模块被进一步配置为至少基于与所述应用或者与满足或超过阈值优先级水平的另一应用相关联的附加话务的接收来增加所述预定时间段的剩余时间量。
3.根据权利要求1所述的计算设备,其特征在于,所述控制信道过滤器被进一步配置为至少基于与网络性能相关的一个或多个参数来确定所述预定时间段。
4.根据权利要求1所述的计算设备,其特征在于,所述网络电力模块被进一步配置为:
将所述控制信道过滤器适配为基于标识与所述应用相关联的数据分组的访问控制列表向所述应用提供通知。
5.根据权利要求4所述的计算设备,其特征在于,在所述计算设备中的电力状态改变之际适配所述控制信道过滤器。
6.根据权利要求1所述的计算设备,其特征在于,所述应用是被配置为将来自所述应用的话务传送给第一远程网络可访问设备的第一应用,所述第一应用的优先级是第一优先级,并且所述传送队列在所述第一应用被准许经由所述网络通信硬件与所述第一远程网络可访问设备通信的时间段期间准许来自具有第二优先级的第二应用的话务经由所述网络通信硬件被传送到第二远程网络可访问设备。
7.根据权利要求1所述的计算设备,其特征在于,所述网络电力模块被进一步配置为在预定时间段期满之后阻止所述应用从远程网络可访问设备接收话务。
8.根据权利要求1所述的计算设备,其特征在于,所述网络电力模块包括管理所述应用和所述网络通信硬件之间的话务流的代理服务。
9.一种用于电力知悉式联网的方法,包括:
通过由计算设备执行的操作系统的网络电力模块来注册应用;
确定所述应用的优先级;
确定所述计算设备的电力状态;
至少基于所述计算设备的电力状态和所述应用的优先级,建立被配置为使用所述网络通信硬件经由设备驱动器传送来自所述应用的话务的传送队列,其中所述传送队列还被配置为准许所述应用在至少基于所述计算设备的电力状态和所述应用的优先级设立的预定时间段期间传送话务,并阻止所述应用在所述预定时间段期满之后传送来自所述应用的话务;
建立被配置为经由所述设备驱动器从所述网络通信硬件接收话务的接收队列;以及
配置控制信道过滤器以至少基于所述应用的优先级和所述计算设备的电力状态,向所述应用提供所述接收队列接收的话务的通知。
10.根据权利要求9所述的方法,其特征在于,进一步包括将关于所述电力状态的信息提供给设备电力状态服务,所述设备电力状态服务从与用户相关联的、包括所述计算设备在内的多个设备中进行选择以接收推送通知。
11.根据权利要求9所述的方法,其特征在于,进一步包括:
从低优先级应用接收应用话务;以及
配置所述传送队列以至少基于所述计算设备的电力状态和所述低优先级应用为低优先级来阻止来自所述低优先级应用的话务经由所述计算设备的所述网络通信硬件的传输。
12.根据权利要求9所述的方法,其特征在于,进一步包括:
从低优先级应用接收应用话务;以及
配置所述传送队列以在所述应用被准许经由所述网络通信硬件与一远程网络可访问设备通信的时间段期间实现来自所述低优先级应用的话务到另一远程网络可访问设备的传输。
13.根据权利要求9所述的方法,其特征在于,进一步包括准许所述应用进一步基于所述计算设备的用户界面状态经由所述设备驱动器使用所述计算设备的所述网络通信硬件与远程网络可访问设备通信。
14.根据权利要求9所述的方法,其特征在于,进一步包括向所述应用提供代理服务,所述代理服务管理所述应用和所述网络通信硬件之间的话务流。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/042,571 US10728164B2 (en) | 2016-02-12 | 2016-02-12 | Power-aware network communication |
US15/042,571 | 2016-02-12 | ||
PCT/US2017/016319 WO2017139182A1 (en) | 2016-02-12 | 2017-02-03 | Power-aware network communication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108605292A CN108605292A (zh) | 2018-09-28 |
CN108605292B true CN108605292B (zh) | 2021-04-27 |
Family
ID=58044208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780011167.XA Active CN108605292B (zh) | 2016-02-12 | 2017-02-03 | 电力知悉式网络通信 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10728164B2 (zh) |
EP (1) | EP3414952B1 (zh) |
CN (1) | CN108605292B (zh) |
WO (1) | WO2017139182A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018186430A (ja) * | 2017-04-27 | 2018-11-22 | レノボ・シンガポール・プライベート・リミテッド | 携帯端末装置の可用性を確保する方法、および情報処理装置 |
WO2019149990A1 (en) * | 2018-02-03 | 2019-08-08 | Nokia Technologies Oy | Application based routing of data packets in multi-access communication networks |
US10693793B2 (en) * | 2018-09-12 | 2020-06-23 | International Business Machines Corporation | Mitigating network saturation following periods of device disconnection and subsequent reconnection |
CN112448429B (zh) * | 2019-08-30 | 2022-11-04 | Oppo广东移动通信有限公司 | 一种控制方法、终端及计算机存储介质 |
US11675635B2 (en) * | 2020-10-14 | 2023-06-13 | Dell Products L.P. | System and method for power management for a universal serial bus type C device used by virtualized and containerized applications |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388539A (zh) * | 2007-09-13 | 2009-03-18 | 株式会社东芝 | 保护控制计测系统 |
CN101864785A (zh) * | 2009-04-20 | 2010-10-20 | 住友重机械工业株式会社 | 混合式工作机械 |
CN101872185A (zh) * | 2010-06-14 | 2010-10-27 | 香港应用科技研究院有限公司 | 智能矩阵式电能控制系统 |
US8255716B2 (en) * | 2009-08-27 | 2012-08-28 | Qualcomm Incorporated | Power optimization for data services |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6122514A (en) | 1997-01-03 | 2000-09-19 | Cellport Systems, Inc. | Communications channel selection |
US6643293B1 (en) | 1997-09-05 | 2003-11-04 | Alcatel Canada Inc. | Virtual connection shaping with hierarchial arbitration |
US20020091826A1 (en) | 2000-10-13 | 2002-07-11 | Guillaume Comeau | Method and apparatus for interprocessor communication and peripheral sharing |
US6928051B2 (en) | 2000-12-18 | 2005-08-09 | Intel Corporation | Application based bandwidth limiting proxies |
GB0204530D0 (en) | 2002-02-27 | 2002-04-10 | Eastman Kodak Co | Method and system for client-based adaptive networking system |
US7065367B2 (en) | 2002-07-11 | 2006-06-20 | Oliver Michaelis | Interface selection in a wireless communication network |
US7340615B2 (en) | 2003-01-31 | 2008-03-04 | Microsoft Corporation | Method and apparatus for managing power in network interface modules |
US7581224B2 (en) | 2003-07-10 | 2009-08-25 | Hewlett-Packard Development Company, L.P. | Systems and methods for monitoring resource utilization and application performance |
DE602004020329D1 (de) | 2004-07-01 | 2009-05-14 | Alcatel Lucent | Verfahren zur Auswahl zwischen Netzwerkschnittstellen, Gerät mit mehreren Netzwerkschnittstellen und Verarbeitungsschicht |
US20060221998A1 (en) | 2005-03-31 | 2006-10-05 | Interdigital Technology Corporation | Method and apparatus for performing dynamic link selection |
US7861099B2 (en) | 2006-06-30 | 2010-12-28 | Intel Corporation | Method and apparatus for user-activity-based dynamic power management and policy creation for mobile platforms |
US8290433B2 (en) * | 2007-11-14 | 2012-10-16 | Blaze Mobile, Inc. | Method and system for securing transactions made through a mobile communication device |
US8295275B2 (en) | 2006-03-20 | 2012-10-23 | Intel Corporation | Tagging network I/O transactions in a virtual machine run-time environment |
US8875135B2 (en) | 2006-04-17 | 2014-10-28 | Cisco Systems, Inc. | Assigning component operations of a task to multiple servers using orchestrated web service proxy |
US8160000B2 (en) * | 2006-06-08 | 2012-04-17 | Qualcomm Incorporated | Achieving power savings through packet grouping |
US8135443B2 (en) * | 2006-08-31 | 2012-03-13 | Qualcomm Incorporated | Portable device with priority based power savings control and method thereof |
US7961661B2 (en) | 2007-03-14 | 2011-06-14 | Amx, Llc | System, method and computer readable medium for re-connecting to a Zigbee network |
US8762984B2 (en) | 2007-05-31 | 2014-06-24 | Microsoft Corporation | Content distribution infrastructure |
US20090010189A1 (en) * | 2007-07-07 | 2009-01-08 | Nagra Sundeep S | Network with remaining battery life routing metric |
US8250197B2 (en) * | 2008-10-28 | 2012-08-21 | Vmware, Inc. | Quality of service management |
US8018961B2 (en) | 2009-06-22 | 2011-09-13 | Citrix Systems, Inc. | Systems and methods for receive and transmission queue processing in a multi-core architecture |
CN102960033B (zh) | 2009-08-24 | 2015-12-09 | 英特尔公司 | 低功率且快速的应用服务传输 |
US8155625B2 (en) * | 2009-12-22 | 2012-04-10 | Motorola Mobility, Inc. | Methods and apparatus for conserving energy used by a mobile device |
KR101949998B1 (ko) | 2010-11-18 | 2019-04-22 | 구글 엘엘씨 | 컴퓨팅 객체의 콘텍스트 히스토리 |
US8943335B2 (en) | 2010-12-22 | 2015-01-27 | Atmel Corporation | Battery management and protection system using a module in a sleepwalking mode to monitor operational characteristics of a battery |
US8924489B2 (en) | 2011-01-05 | 2014-12-30 | Apple Inc. | Message push notification client improvements for multi-user devices |
US10554426B2 (en) | 2011-01-20 | 2020-02-04 | Box, Inc. | Real time notification of activities that occur in a web-based collaboration environment |
US8856364B2 (en) * | 2011-03-11 | 2014-10-07 | Google Inc. | Conducting opportunistic network updates on a mobile device |
US20120236834A1 (en) * | 2011-03-17 | 2012-09-20 | Qualcomm Incorporated | Power optimization for smart phone applications |
JP5763760B2 (ja) * | 2011-05-27 | 2015-08-12 | 京セラ株式会社 | 通信制御方法、基地局、無線端末、及びプロセッサ |
US9015601B2 (en) | 2011-06-21 | 2015-04-21 | Box, Inc. | Batch uploading of content to a web-based collaboration environment |
US8621026B2 (en) | 2011-09-11 | 2013-12-31 | Microsoft Corporation | Batching notifications to optimize for battery life |
US8780722B2 (en) * | 2012-02-03 | 2014-07-15 | Apple Inc. | Scheduling packet transmission on a client device using packet classifications including high priority network control packets |
IN2015DN02440A (zh) * | 2012-10-15 | 2015-09-04 | Ericsson Telefon Ab L M | |
US20150193241A1 (en) * | 2012-10-24 | 2015-07-09 | OpenMobile World Wide, Inc. | Multi-operating system mobile and other computing devices with proxy applications running under a browser |
US9723554B2 (en) | 2012-11-07 | 2017-08-01 | At&T Mobility Ii Llc | Collaborative power conscious utilization of equipment in a network |
EP2768270A1 (en) * | 2013-02-14 | 2014-08-20 | Alcatel Lucent | A method for establishing a network assisted device-to-device direct communication, and base stations, a gateway and a device therefor |
US9065765B2 (en) | 2013-07-22 | 2015-06-23 | Seven Networks, Inc. | Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network |
US10356710B2 (en) * | 2015-05-01 | 2019-07-16 | Huawei Technologies Co., Ltd. | Method and system for mobile device to utilize channels with low power consumption |
US20170373522A1 (en) * | 2016-06-23 | 2017-12-28 | Apple Inc. | Charging System |
-
2016
- 2016-02-12 US US15/042,571 patent/US10728164B2/en active Active
-
2017
- 2017-02-03 CN CN201780011167.XA patent/CN108605292B/zh active Active
- 2017-02-03 WO PCT/US2017/016319 patent/WO2017139182A1/en active Application Filing
- 2017-02-03 EP EP17705266.9A patent/EP3414952B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388539A (zh) * | 2007-09-13 | 2009-03-18 | 株式会社东芝 | 保护控制计测系统 |
CN101864785A (zh) * | 2009-04-20 | 2010-10-20 | 住友重机械工业株式会社 | 混合式工作机械 |
US8255716B2 (en) * | 2009-08-27 | 2012-08-28 | Qualcomm Incorporated | Power optimization for data services |
CN101872185A (zh) * | 2010-06-14 | 2010-10-27 | 香港应用科技研究院有限公司 | 智能矩阵式电能控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108605292A (zh) | 2018-09-28 |
US10728164B2 (en) | 2020-07-28 |
EP3414952A1 (en) | 2018-12-19 |
EP3414952B1 (en) | 2020-07-01 |
WO2017139182A1 (en) | 2017-08-17 |
US20170237675A1 (en) | 2017-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108605292B (zh) | 电力知悉式网络通信 | |
EP3469835B1 (en) | Multi-interface power-aware networking | |
US8498229B2 (en) | Reduced power state network processing | |
EP2215781B1 (en) | Low power operation of networked devices | |
US20100332212A1 (en) | Method and apparatus for sleep and wake of computer devices | |
CN107749797B (zh) | 一种计算设备及其实施方法 | |
CN103748934B (zh) | 用于确定传送频率以维持远程应用服务器连通性的系统和方法 | |
US8898493B2 (en) | Architecture to enable energy savings in networked computers | |
US8327002B1 (en) | BGP peer prioritization in networks | |
US8081569B2 (en) | Dynamic adjustment of connection setup request parameters | |
US20110029659A1 (en) | Method and System for Network Proxy Services for Energy Efficient Networking | |
EP2479925B1 (en) | Dynamic power management in a communications device | |
EP2856698B1 (en) | Network presence offload | |
CN113992588B (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
WO2018113630A1 (zh) | Bras的管理方法及报文转发方法、报文转发控制器及bras | |
WO2013184748A1 (en) | Performing packet filtering and adjusting radio dormancies based on unsolicited incoming packets to electronic devices | |
KR20170040089A (ko) | 인프라스트럭처-리스 환경에서 IoT 장치들의 자율 네트워킹 방법 | |
US20150156166A1 (en) | Communication method and mobile electronic device using the same | |
WO2024069219A1 (en) | Receive side application auto-scaling | |
TWI502930B (zh) | 通訊方法及其行動電子裝置 | |
TW201513610A (zh) | 在一資訊設備叢集中依後端應用系統之資源利用狀態處理輸入異動之協商方法、裝置與電腦程式產品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |