CN102165818B - 使用时间建议来协调数据传递 - Google Patents

使用时间建议来协调数据传递 Download PDF

Info

Publication number
CN102165818B
CN102165818B CN200980138071.5A CN200980138071A CN102165818B CN 102165818 B CN102165818 B CN 102165818B CN 200980138071 A CN200980138071 A CN 200980138071A CN 102165818 B CN102165818 B CN 102165818B
Authority
CN
China
Prior art keywords
time
computing equipment
passing time
passing
data
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
CN200980138071.5A
Other languages
English (en)
Other versions
CN102165818A (zh
Inventor
A·P·特兰
K·雷斯尼克
S·A·洛尔
M·S·拉森
A·刘
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN102165818A publication Critical patent/CN102165818A/zh
Application granted granted Critical
Publication of CN102165818B publication Critical patent/CN102165818B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling

Abstract

基于与第一计算设备相关联的资源的已知电源开启时间来协调从多个第二计算设备到第一计算设备的数据传递。第二计算设备中的一个请求用于数据传递的时间间隔。第一计算设备将所请求的时间间隔与已知电源开启时间进行比较来确定传递时间。例如,将所请求的时间间隔对照使用资源的循环时间表的激活时间并且对照先前确定的传递时间来进行比较。第二计算设备在所确定的传递时间传递数据以保存资源。在某些实施例中,出于处理延时和网络等待时间来调整传递时间。

Description

使用时间建议来协调数据传递
背景
近年来,诸如移动电话和个人数字助理(PDA)等移动计算设备已经变得日益流行。随着设备不断变小,在诸如存储器、存储、带宽和电池电量等资源方面存在日益增长的限制。另外,更多的应用程序现在正以日益增长的水平消耗着这些资源。例如,许多应用程序执行诸如与需要频繁使用无线电的服务器同步等的循环任务。在打开移动计算设备上的无线电的电源来发送数据之后,无线电需要花几秒钟来关闭电源(例如,在2.5G网络上大约3秒而在3G网络上大约20秒)。该无线电“尾”吸收电能并减短了移动计算设备上的电池寿命。此外,在自旋无线电和关闭无线电时存在其他的能源低效性。
移动用户正广泛地采用带有实时数据推送或更新的连接的应用程序。这些应用程序包括电子邮件、个人信息管理、在场信息和其他web应用程序。服务器用未经协调的方式来推送数据,从而使得移动计算设备上的电池寿命降级而负面地影响用户体验。
概述
本发明的各实施例协调从多个第二计算设备到至少一个第一计算设备的数据传递。该第二计算设备中的一个请求用于数据传递的时间间隔。第一计算设备将所请求的时间间隔与同第一计算设备相关联的通信资源的多个已知电源开启时间进行比较。确定传递时间并将传递时间提供给第二计算设备。协调数据传递保留了第一计算设备上的通信资源。在某些实施例中,出于处理延时和网络等待时间来调整所确定的传递时间。
提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一些概念。本概述并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
图1是示出第一计算设备从多个第二计算设备接收数据的示例性框图。
图2是示出用于存储资源的已知电源开启时间的计算设备以及用于实现本发明各方面的计算机可执行组件的示例性框图。
图3是示出将所请求的时间间隔与循环时间表的激活时间以及先前建议的传递时间进行比较来确定传递时间以向服务器提出建议的示例性流程图。
图4是示出确定数据传递时间并基于处理延时和网络等待时间来调整所确定的传递时间的示例性流程图。
图5是示出基于与移动计算设备相关联的通信资源的已知电源开启时间来确定数据传递时间的示例性流程图。
图6是示出从两个服务器到移动计算设备的数据传递的调度的示例性序列图。
在附图中,对应的附图标记指示对应的部分。
详细描述
参考附图,本发明的各实施例协调从多个第二计算设备104到至少一个第一计算设备102的数据传递以降低第一计算设备102上的通信资源的消耗。在某些实施例中,第一计算设备102向第二计算设备104提供传递时间的提示、建议、推荐或分配(例如,最优传递时间)从而使得多个第二计算设备104在同一时间或大约同一时间向第一计算设备102发送数据。在第一计算设备102是移动计算设备602的示例中,经协调的数据传递充分利用一个或多个蜂窝无线电的已知电源开启时间(例如,无线电自旋)来保存移动计算设备602上的电池寿命。然而,在其他示例中,本发明的各方面可用于保存第一计算设备102上的任何资源、降低其消耗、延长其寿命或对其进行优化。
在某些实施例中,移动计算设备602利用已知的调度数据来标识下一个排定的无线电时间,预留网络等待时间214,随后将该时间发布给感兴趣的应用程序或服务器。在一个示例中,所发布的时间稍早于下一个排定的无线电时间从而使得服务器通信和设备时间表两者都能充分利用同一个无线电自旋。例如,设备时间表是在上午9点激活,则所发布的时间是上午8:59:45。随后唤起无线电的服务器通信在上午8:59:45发生。
在有“模糊”或容限因子与时间表208中的每一个相关联的实施例中,容限因子向目标提供较大的时间窗口并协调第二计算设备104联系第一计算设备102的时间。在带有具有50%的容限因子的十分钟间隔时间表的示例中,第二计算设备104可以在时刻5和时刻10之间的任意时间联系第一计算设备102来充分利用无线电自旋。容限因子提高了充分利用无线电自旋的可能性。
再次参考图1,示例性框图示出第一计算设备102从多个第二计算设备104接收数据,该多个第二计算设备诸如第二计算设备#1到第二计算设备#N,其中N是正整数。第二计算设备104经由诸如例如因特网等网络106被连接到第一计算设备102。在某些实施例中,调度器108或其他组件、指令或逻辑对第一计算设备102执行诸如图3、图4和图5所示的操作。
第二计算设备104执行服务来周期性地(例如,定期地或间歇地)向第一计算设备发送数据。在某些实施例中,第二计算设备104向第一计算设备102提供实时内容更新(例如,push mail(推送邮件)、日历、联系人、即时消息收发和社交网络数据)。第二计算设备104还可以发送或接收心跳查验来保持第二计算设备104和第一计算设备102之间的连接畅通。
第二计算设备104包括但不限于,服务器、代理服务器、企业服务器、或将数据发送给第一计算设备102的任何其他设备。此外,虽然在某些实施例中参考包括移动计算设备602的第一计算设备102来进行描述,但本发明的各方面可用于诸如膝上型计算机、游戏控制台、手持式导航设备等其他设备、或与第二计算设备104进行通信的任何其他设备。另外,虽然本发明的各实施例参考将数据发送给移动计算设备602的服务器来进行描述,但本发明的各方面可在诸如第一计算设备102和第二计算设备104之间的对等连接等其他环境中操作。
接着参考图2,示例性框图示出用于存储资源的已知电源开启时间的计算设备202以及用于实现本发明各方面的计算机可执行组件,所述计算设备202诸如第一计算设备102。计算设备202包括处理器204和存储器区域206或其他计算机可读介质。存储器区域206存储多个时间表208,诸如时间表#1到时间表#M,其中M是正整数。时间表208与第二计算设备104相关联并由第二计算设备104提供来将数据发送给计算设备202。应用程序执行相应的时间表208来将数据发送至诸如相关联的第二计算设备104等设备或从所述设备中接收数据,这使得诸如计算设备202上的蜂窝无线电等通信接口的电源开启。例如,应用程序由计算设备202主存。时间表208中的每一个具有激活时间210,并且每一个时间表208与第二计算设备104中的至少一个相关联。在某些实施例中,时间表208具有循环激活时间210。
时间表208的执行包括在激活时间210完成或执行与时间表208相关联的一个或多个动作。例如,激活时间210将相关联的第二计算设备104要向计算设备202发送数据的时间表示为绝对值或偏移量。数据的传输使用计算设备202上的耗电资源(例如,诸如一个或多个蜂窝无线电等的通信资源或无线电资源)。虽然时间表208表示期间要使用通信资源的已知将来时间,但存储器区域206可以另选地或另外地显式地存储通信资源的一个或多个已知电源开启时间。
在某些实施例中,存储在存储器区域206中的时间表208包括条件时间表208、无条件时间表208、消耗通信资源的时间表208以及不消耗通信资源(或要被优化的其他资源)的时间表208。在这些实施例中,计算设备202在确定传递时间时过滤、搜索或以其他方式生成时间表208的子集。例如,无条件时间表208与条件时间表208相比具有较大的被执行的可能性(例如,最大执行可能性),并且由此,在确定传递时间时,与无条件时间表208相关联的激活时间210被赋予比与条件时间表208相关联的激活时间210更高的优先级或偏好。
在其他实施例中,对时间表208进行预先排序、预先过滤或以其他方式进行分组。例如,存储器区域可以存储分开的条件、无条件、资源消耗和无资源消耗的时间表208的各组,以加快传递时间的确定。
存储器区域206还存储处理延时212和网络等待时间214。处理延时212表示由于计算设备202上的处理而导致的延时。网络等待时间214表示由于数据到计算设备202的网络106传输而导致的延时。在某些实施例中,处理延时212和网络等待时间214中的任一个或两者被表达为偏移量。计算设备202使用处理延时212和网络等待时间214来提供更准确的传递时间。在某些实施例中,处理延时212和网络等待时间214由计算设备202确定(例如,测量在处理或网络传输期间的时间差)。在其他实施例中,将网络等待时间214提供给计算设备202(例如,通过用设备将数据发送给计算设备202)。
存储器区域206还存储一个或多个先前确定的传递时间216。先前确定的传递时间216表示用于向计算设备202传递数据的提示时间或建议时间。先前确定的传递时间216表示在将来发生的时间。在当前时间是下午12:30的示例中,计算设备202确定传递时间为下午12:40并将该传递时间提供给第一应用程序。在从第二应用程序接收到传递时间的请求之后,计算设备202知晓先前确定的传递时间为下午12:40并能够考虑将该时间提供给第二计算设备104来协调计算设备202上的通信资源的使用,如以下参考图3更详细地描述的。
存储器区域206还存储一个或多个计算机可执行组件,诸如接口组件218、高速缓存组件220、提示组件222和发布组件224。这些组件的操作在下文中参考图5来描述。
接着参考图3,示例性流程图示出将所请求的时间间隔与时间表208的激活时间210以及先前建议的传递时间216进行比较来确定传递时间以向服务器提出建议。在302处,诸如第一计算设备102等的计算设备从诸如服务器或第二计算设备104等的另一计算设备接收所请求的时间值。在某些实施例中,时间值包括指定最小时间值和最大时间值的时间间隔或范围。时间值可以是绝对时间或离当前时间(例如,第一计算设备102所接收的时间)的偏移量。在附录A中示出用于指定时间间隔的示例手段。
在接收到所请求的时间值之后,第一计算设备102在304处标识与时间表208相关联的一个或多个即将到来的激活时间210。例如,第一计算设备102标识与消耗通信资源(或要被优化的其他资源)的时间表208相关联的激活时间210。第一计算设备102随后标识与无条件时间表208相关联的那些激活时间210。如果没有这样的时间表208可用,则第一计算设备102标识与条件时间表208相关联的那些激活时间210。
同样在304,第一计算设备102标识一个或多个先前确定的传递时间216。例如,第一计算设备102访问存储在存储器区域206中的先前确定的传递时间216。在306处,将所请求的时间值与所标识的激活时间210以及先前确定的传递时间216进行比较。同样在306,基于该比较,第一计算设备102确定传递时间。在所请求的时间值是间隔的示例中,所确定的传递时间表示该间隔内的时间。另选地或另外地,所确定的传递时间表示与即将到来的激活时间210中的一个或者与先前确定的传递时间216中的一个相对应的时间。在这些实施例中,因为在通信资源的电源开启的同时多个服务器将使用该通信资源,所以优化了通信资源的使用。
在308,将所确定的传递时间提供给服务器。服务器在所提供的传递时间将数据发送给第一计算设备102。在某些实施例中,所请求的时间值是从在第一计算设备102上执行的但与服务器相关联的应用程序接收的。在这些实施例中,将所确定的传递时间提供给该应用程序。该应用程序将所确定的传递时间传达给服务器,并且服务器在所确定的传递时间将数据发送给第一计算设备102。
在多个服务器企图向第一计算设备102发送数据的实施例中,该多个服务器中的每一个具有与其相关联的优先级。第一计算设备102在确定传递时间时使用所分配的优先级。例如,如果通信资源在特定时间间隔可用,则提出传递时间请求的具有高优先级的服务器将在特定时间间隔的较早时刻接收到所确定的传递时间。具有较低优先级的服务器将在特定时间间隔的较晚时刻接收到所确定的传递时间。
接着参考图4,示例性流程图示出确定数据传递时间并基于处理延时212和网络等待时间214来调整所确定的传递时间。在402处,访问由服务器或其他第二计算设备104请求的时间间隔(例如,由第一计算设备102访问)。所请求的时间间隔表示期间服务器想要向第一计算设备102发送数据的时间范围。在404处,搜索激活时间210(在某些实施例中,连同先前确定的传递时间216)来标识在所请求的时间间隔内的激活时间210的子集。在406处,基于所标识的激活时间210的子集来确定传递时间以协调通信资源的消耗。在408处,基于与处理延时212和/或网络等待时间214相对应的偏移量来调整所确定的传递时间。在410处,将所确定的传递时间发布给服务器。
在附录B中描述了用于确定传递时间的示例性指令或操作。
接着参考图5,示例性流程图示出基于与移动计算设备602相关联的通信资源的已知电源开启时间来确定数据传递时间。在图5的示例中,接口组件218、高速缓存组件220、提示组件222或发布组件224在移动计算设备602上执行。在502处,接口组件218接收或访问所请求的时间间隔或值。该时间间隔与从服务器到移动计算设备602的预期数据传输相关联。在504处,高速缓存组件220标识移动计算设备602上的通信资源的一个或多个预期电源开启时间。该预期电源开启时间表示,例如在移动计算设备602上执行的消耗通信资源的时间表208的即将到来的激活时间210或先前确定的传递时间216。
在506处,提示组件222基于由接口组件218接收的所请求的时间间隔与由高速缓存组件220标识的预期电源开启时间的比较来确定传递时间。例如,提示组件222将传递时间设为与预期电源开启时间中的一个相对应的时间间隔的起点。在某些实施例中,接口组件218所接收的请求包括表示数据传输的预期大小的有效负载值。在这些实施例中,提示组件222基于所接收的有效负载值来确定传递时间以管理移动计算设备602上的带宽(例如,为了避免使通信资源发生颠簸)。例如,带有小有效负载的数据包被排定为首先发送的优先级,接着是带有大有效负载的数据包。作为有效负载大小的替代或除了有效负载大小之外,对于遍历某些接口的有效负载赋予优先级并按照优先级降序来发送。
在508处,发布组件224将由提示组件222确定的传递时间提供给服务器。服务器在所提供的传递时间将数据发送给移动计算设备602。
在某些实施例中,移动计算设备602具有多个蜂窝无线电。在这些实施例中,接口组件218所接收的请求包括该多个蜂窝无线电中的一个的标识。在其他实施例中,移动计算设备602将请求分配给该蜂窝无线电中的一个。在另一些实施例中,跟踪时间表208中具有持久连接的每一个时间表所使用的无线电。所标识的蜂窝无线电变为提示组件222用来确定传递时间的另一变量。在这些实施例中,存储在存储器区域206中的先前确定的传递时间216中的每一个包括相关联的蜂窝无线电的标识。提示组件222在确定传递时间时对具有相同所标识的蜂窝无线电的时间表208排定优先级。
接着参考图6,示例性序列图示出从两个服务器到移动计算设备602的数据传递的调度。在移动设备上执行的两个应用程序604、606请求到移动计算设备602的数据传递的提示。在从调度器108接收到提示之后,应用程序604、606将提示提供给相关联的服务器610、612。服务器610、612随后试图在所提示的时间将数据发送给移动计算设备602。
在图6的示例中,已知电源开启时间(例如,即将到来的激活时间210或先前确定的传递时间216)的列表被称为ServerSendTime(服务器发送时间)列表。在调度器108或其他服务的启动期间创建ServerSendTime列表并且当调度器108结束处理时将其清除。ServerSendTime列表作为高速缓存来对待从而使得如果高速缓存条目落在所请求的时间间隔之间,则在确定另一传递时间时将该高速缓存条目认为是候选。在某些实施例中,高速缓存被表示为带有<key,value>=<ServerSendTime,frequency>(<关键字,值>=<服务器发送时间,频率>)的散列映射。<ServerSendTime,frequency>的映射按照关键字(ServerSendTime)来排序。在该示例中,映射加快了最接近结束时间的ServerSendTime的标识。
在某些实施例中,时间表208中的每一个的激活时间210被存储为按激活时间210(例如,升序)排序的高速缓存。高速缓存存储所有活动时间表208的激活时间210。用每一个从服务器接收的要传递数据的请求来创建或更新高速缓存。在某些实施例中,调度器108简单地提供或发布该高速缓存以使服务器能够选择合适的传递时间。
在图6的示例中,在接收到所请求的时间间隔之后,调度器108在高速缓存中迭代并删除已经到期(例如,具有早于当前时间的激活时间210)的所有条目。调度器108在时间表208中迭代来标识使用移动计算设备602上的通信资源的活动且循环的时间表208的子集。计算时间表208子集中每一时间表208的下一个激活时间210。从时间表208的该子集中,调度器108标识落在服务器所请求的时间间隔内的激活时间210。调度器108对与具有高执行确定性的时间表208相关联的激活时间210赋予偏好。例如,带有无条件执行的时间表208具有高执行确定性。调度器108基于所标识的时间表208子集来更新激活时间210的高速缓存。
调度器108基于激活时间210的高速缓存和ServerSendTime列表来确定传递时间或其他提示时间。如果激活时间210中的一个落在所请求的时间间隔内,则将该激活时间210添加到ServerSendTime列表,并且将频率设为一。如果在激活时间210的高速缓存中没有满足的激活时间210,则调度器108扫描ServerSendTime列表。如果ServerSendTime中的一个落在所请求的时间间隔内,则将该ServerSendTime提供给提出请求的服务器并且在列表中递增该ServerSendTime的频率。如果一个以上的ServerSendTime落在间隔内,则选择具有最高频率的ServerSendTime。如果没有一个ServerSendTime落在所请求的时间间隔内,则选择最接近的ServerSendTime(例如,基于定义的容限或增量区域)。将传递时间设为最接近的ServerSendTime的起点。如果没有ServerSendTime落在时间间隔内,则将所请求的时间间隔的结束时间设为ServerSendTime。随后将结束时间输入到ServerSendTime列表中,其频率为一(1)。
虽然图6的示例示出示例性的传递时间确定,但其他选择方法也在本发明各方面的范围之内。此外,选择方法可以动态地改变。
在某些实施例中,最小时间值是当前时间而最大时间值表示最大心跳间隔(例如,移动计算设备602和服务器在不传输数据但仍然保持连接的情况下所能持续的最长时间段)。
在一实施例(未示出)中,服务器是集结来自一个或多个服务器的数据的代理服务器。代理服务器在将数据发送给移动计算设备602之前集结数据。代理服务器向数据包(或向服务器)分配优先级。优先级表示将该数据包发送给移动计算设备602的紧急度(例如,与延时该包的容忍度相对)。代理服务器用在发送数据之前等待的意愿(例如,按分钟)来量化优先级。在移动计算设备602上,应用程序提供最小时间(例如,当前时间)以及和发送该数据包的服务器愿意延迟数据传递的时间段相等的最大时间。当移动计算设备602应用程序将心跳查验发送给服务器时,它包括所确定的传递时间或对于服务器发送数据的最优将来时间的提示。
ServerSendTime表示服务器发送数据的开始时间。在已知ServerSendTime之后的某时间段资源可用(例如,蜂窝无线电尾)的实施例中,调度器108考虑该时间段。例如,基于已知蜂窝无线电尾来设置容限或增量区域。
示例
在一示例中,邮件服务器要求提示并提供12:00和12:20作为最小和最大时间。调度器108具有带有在12:20的10分钟间隔时间段时间表的活动连接的活动时间表。调度器108标识活动时间表,调整传递时间以考虑网络等待时间214和/或处理延时212(例如,三十秒),确定传递时间为12:19:30,并且将所确定的传递时间提供给服务器。
在上述示例的变型中,没有激活时间210落在所请求的时间间隔内。在该示例中,调度器108将12:20的最大时间设为所确定的传递时间(例如,ServerSendTime)。
在上述示例的延续中,另一服务器提供了12:15和12:30作为最小和最大时间。ServerSendTime等于12:20,落在所请求的时间间隔内。在调整了网络等待时间214之后,调度器108提供12:19:30作为所确定的传递时间。
示例性操作环境
作为示例而非限制,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
尽管结合示例性计算系统环境进行了描述,但本发明的各实施例可用于众多其它通用或专用计算系统环境或配置。适用于本发明各方面的公知的计算系统、环境和/或配置的示例包括,但不限于:移动计算设备、个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、游戏控制台、基于微处理器的系统、机顶盒、可编程消费电子产品、移动电话、网络PC、小型机、大型计算机、包括上述系统或设备中的任一个的分布式计算机环境等等。
可以在由一台或多台计算机或其他设备执行的诸如程序模块之类的计算机可执行的指令的一般上下文中来描述本发明的各实施例。计算机可执行指令可以被组织成一个或多个计算机可执行组件或模块。一般而言,程序模块包括,但不限于,执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件,以及数据结构。可以利用任何数量的这样的组件或模块及其组织来实现本发明的各方面。例如,本发明的各方面不仅限于附图中所示出并且在此处所描述的特定计算机可执行指令或特定组件或模块。本发明的其他实施例可以包括具有比此处所示出和描述的功能更多或更少功能的不同的计算机可执行指令或组件。
此处所示和所描述的各实施例以及此处未具体描述的、但落在本发明的各方面的范围内的各实施例构成用于基于所请求的时间间隔内的无线电资源的已知电源开启时间来确定传递时间的示例性手段,以及用于基于处理延时212和等待时间来调整传递时间的示例性手段。
此处所示出和描述的本发明的各实施例中的操作的执行或实现的顺序不是必需的,除非另外指定。即,除非另外指定,否则操作可以按任何顺序执行,且本发明的各实施例可以包括比此处所公开的操作更多或更少的操作。例如,构想了在一个操作之前、同时或之后执行另一个操作是在本发明的各方面的范围之内的。
当介绍本发明的各方面的元素或其实施例时,冠词“一”、“一个”、“该”、“所述”旨在表示有元素中的一个或多个。术语“包括”、“包含”以及“具有”旨在是包含性的,并意味着除所列出的元素以外还可以有额外的元素。
已经详细地描述了本发明的各方面,显然,在不偏离所附权利要求书所定义的本发明的各方面的范围的情况下,可以进行各种修改和变化。在不偏离本发明的各方面的范围的情况下,可以对上面的构造、产品以及方法作出各种更改,上面的描述中所包含的和各个附图中所示出的所有主题应该解释为说明性的,而不是限制性的。
附录A
以下所示的应用程序编程接口(API)使得应用程序能够提供最小时间和最大时间间隔。在第一计算设备上执行的调度器返回落在两个间隔之间的提示(例如,用统一时间代码格式)。API签名如下所示。
//先决条件:-
//   startTime<=endTime(开始时间<=结束时间)
//   CurrentTime<=endTime(当前时间<=结束时间)
//后置条件:-
//   startTime<=serverSendTime and serverSendTime<=endTime(开始时间<=服务器发送时间并且服务器发送时间<=结束时间)
HRESULT TaskSchedulerGetBestNetworkTimeInRange(__in const FILETIME*startTime,__in const FILETIME*endTime,__out FILETIME*serverSendTime);
该API获得提示时间以便服务器在startTime(开始时间)和endTime(结束时间)之间将数据发送给设备。
参数
    startTime
        [输入]间隔的开始时间。
    endTime
        [输入]间隔的结束时间。
    serverSendTime
        [输出]服务器需要将数据发送给设备的提示时间。
返回值
  S_OK
  如果成功则返回的值。
  E_INVALIDARG
  如果任何先决条件失败或者对于无效自变量返回的值。
  E_FAIL
如果不成功则返回的值。
以下示出用于取消先前由TaskSchedulerGetBestNetworkTimeInRange()返回的提示的示例性API。该API由最终未使用提示的任何请求者使用。至少因为在发布时所提示的时间具有较高的权重,所以该API提高了本发明的各方面的准确性和有效性。有了该API函数调用,调度器紧密地跟踪提示时间值的使用并且改进在稍后分发提示时间时调度器内部使用的试探法。在以下示例中,使用TaskSchedulerCancelBestNetworkTime(任务调度器取消最佳网络时间)来取消现有提示的调用者(帐户)和使用TaskSchedulerGetBestNetworkTimeInRange(任务调度器获得范围内最佳网络时间)来获得提示的调用者(帐户)是同一个。
HRESULT TaskSchedulerCancelBestNetworkTime(__in const FILETIME*serverSendTime);
参数
    serverSendTime
      [输入]先前由TaskSchedulerGetBestNetworkTimeInRange返回的提示时间。
返回值
    S_OK
    提示时间的发布已被跟踪。
    S_FALSE
    提示时间未被识别(值已经“到期”或者值不是由TaskSchedulerGetBestNetworkTimeInRange先前返回的)。
    E_*
    在处理请求时遭遇其他失败。
附录B
以下示出了用于确定传递时间的示例性指令或操作。
在服务启动期间创建ServerSendTime列表并且当服务停止时将其清除。该列表作为高速缓存来对待从而使得如果高速缓存条目落在间隔之间,则该高速缓存条目可以被认为是ServerSendTime的候选而不必在所有时间表中迭代并再次计算ServerSendTime。高速缓存可以内部地被表示为带有<key,value>=<ServerSendTime,mapAcctIdtoFreq>(<关键字,值>=<服务器发送时间,帐户Id到频率的映射>)的散列映射,其中mapAcctIdtoFreq是所有者帐户id到频率的散列映射,并且可以被定义为:
map<ACCTID,DWORD>mapAcctIdtoFreq;
<ServerSendTime mapAcctIdtoFreq>的映射按照关键字(ServerSendTime)来排序。
还维护按NRT(下一运行时)来排序的<NRT>列表。该列表在每次调用API时创建。该列表存储所有活动时间表的NRT。
接着描述用于确定传递时间的示例性算法。
1.在高速缓存中迭代并删除已经到期的所有条目(例如,NRT<CurrentTime(下一运行时<当前时间)的那些条目)。
2.如果starttime==endTime(开始时间==结束时间),如果该值不存在高速缓存<ServerSendTime,mapAcctIdtoFreq>中,则将该值添加到该高速缓存,否则如果ServerSendTime已经存在于高速缓存中,则添加/递增mapAcctIdtoFreq中的频率。
3.如果在注册表中定义了ShrinkFactor(收缩因子),则基于收缩因子来缩减(starttime-endTime)间隔。将Starttime推送为newStartTime(新的开始时间)并且间隔变为(newStartTime-endTime)。
如果未定义,则newStartTime=starttime。
这么做是为了使得hinttime(提示时间)总是接近结束时间。
4.在组集合中迭代。
5.在每一组中的所有时间表中迭代。
6.只考虑满足以下条件的时间表。
a)Recurrence!=BOOTUP(循环!=引导)
b)Network Connectivity=TRUE(网络连接=真)(不带有网络连接的时间表不被认为是SendServerTime,因为它们也许能或也许不能帮助缩减无线电自旋)
c)如果IsCellularPreferred=1(蜂窝被优选=1),则只考虑带有CELLULAR=ON(蜂窝=开启)的时间表。如果IsCellularPreferred=0(蜂窝被优选=0),则不考虑CELLULAR(蜂窝)条件。
d)Active=TRUE(活动=真)。所考虑的时间表包括当前活动的并且在给定newStartTime-endtime且满足MaxRuncounts(最大运行计数)条件时将来将保持活动的时间表。
7.如接下来所述地从在步骤6中创建的列表中创建ServerSendTime。
对于列表(例如,在步骤6中创建的)中选择的每一个时间表,计算第N个运行时。使用公式来计算第N个运行时。
对于循环平均
NRT(N)=NRT(N-1)+CurrentIntervalDuration(当前间隔持续时间)
对于循环间隔
NRT(N)=NRT(N-1)+CurrentIntervalDuration(当前间隔持续时间)
其中NRT(0)=组活动时间表的下一运行时。
只考虑属于以下两种类别的时间表。
a)无条件且是组中仅有时间表的时间表
b)无条件时间表且组中的所有其他时间表也都无条件。
如果组中存在至少一个带有某些条件的时间表,则不将该组考虑为ServerSendTime。
8.这得到<NRT>列表和<ServerSendTimes,mapAcctIdtoFreq>的高速缓存。接着,选择间隔<newStartTime,endTime>中的“最佳”提示时间。基于注册表设置IsPreferredCache(高速缓存被优选),至少两种排列是可能的
a)如果IsPreferredCache=1(高级缓存被优选=1),则首先在高
  速缓存<ServerSendTimes,mapAcctIdtoFreq>中查找
  ServerSendTime。
  如果只找到一个ServerSendTime,则转到步骤10。
  如果找到多个ServerSendTime值,则查找带有最大频率的
  ServerSendTime并转到步骤10。
  如果找到多个ServerSendTime值且两个或更多ServerSendTime
  带有相同的最大值,则选择基于UseEndtime(使用结束时间)
  注册表值的那个值。
  如果UseEndTime=1
       则选择接近结束间隔的值
  如果UseEndTime=1
       则选择接近开始间隔的值
  否则,如果在高速缓存中未找到,则查看列表<NRT>
b)如果IsPreferredCache=0(高速缓存被优选=0),则首先在列
  表<NRT>中查找ServerSendTime。如果找到ServerSendTime,
  则转到步骤10。
  如果找到多个NRT,则选择基于UseEndTime注册表值的那个
  值
  如果UseEndTime=1
       则选择接近结束间隔的值
  如果UseEndTime=1
       则选择接近开始间隔的值
  否则,如果在列表<NRT>中未找到,则查看高速缓存
  <ServerSendTime,mapAcctIdToFreq>
9.如果从步骤8未找到ServerSendTime,则
如果ShrinkFactor=0
        计算增量区域并在增量区域中从高速缓存
        <ServerSendTime,mapAcctIdtoFreq>查找
        ServerSendTime。增量区域可以被认为是
        Starttime-增量到Starttime
        如果在增量区域中也没有找到ServerSendTime,则基于
        UsedEndTime注册表值来赋值ServerSendTime
            如果UseEndTime=1
                  则ServerSendTime=Endtime
            如果UsedEndTime=0
        则ServerSendTime=StartTime
如果ShrinkFactor=1
        因为starttime已经被推送为新的值,所以在这种情况下
        无法检查增量区域。
        将ServerSendTime赋值为EndTime。
        ServerSendTime=Endtime
10.如果从步骤8找到了ServerSendTime,则
a.用NetworkLatencyAdjustment(网络等待时间调整)来调整
  ServerSendTime
  ServerSendTime=ServerSendTime-NetworkLatencyAdjustment
  检查是否新的ServerSendTime>StartTime。(未应用ShrinkFactor
  的StartTime)
  如果否,则赋值ServersendTime=StartTime。(未应用ShrinkFactor
  的StartTime)
11.现在计算ServerSendTime,在高速缓存<ServerSendTimes,mapAcctIdtoFreq>中查找该ServerSendTime值。
a.如果在高速缓存中未找到,则添加该值以及所有者帐户id的值并且频率=1
b.如果在高速缓存中找到,则查找帐户id。如果帐户id也存在,则递增频率。如果帐户Id不存在,则添加该帐户id并且频率=1。
12.如果用某一时间值来调用TaskSchedulerCancelBestNetworkTime,则将在高速缓存<ServerSendTimes,mapAcctIdtoFreq>中搜索该值。如果在高速缓存中找到该值,则在相应的mapAcctIdtoFreq中搜索所有者帐户id。如果在mapAcctIdtoFreq中找到某一值,则递减频率。
当频率=0时,将该条目从mapAcctIdtoFreq中移除。
同样,如果mapAcctIdtoFreq为空,则将ServerSendTime值从高速缓存<ServerSendTimes,mapAcctIdtoFreq>中移除。
注意:
1)NetworkLatencyAdjustment是使用网络等待时间和处理延时来确定的值。这是考虑网络等待时间的可配置注册表条目。每次返回ServerSendTime时,应该用NetworkLatencyAdjustment来设置偏移量。
2)如果设备的绝对时间改变,则需要基于该时间改变来调整高速缓存<ServerSendTime,frequency>中的时间值。这可以通过用时间改变事件的通知注册来完成。
3)可能存在用将来太过遥远的开始/结束时间(例如,间隔是10年以后)调用API的场景。在这种情况下,在API中执行边界检查(例如,间隔是在从当前时间起的24小时之内)而非计算NRT<N>。
4)包括StarttimePreferred/EndtimePreferred(开始时间优选/结束时间优选)和FrequencyPreferred(频率优选)的注册表值是可配置注册表条目。基于这些注册表值,可以动态地改变选择算法。

Claims (20)

1.一种用于建议经由网络从服务器将数据发送给移动计算设备的时间的系统,所述系统包括:
用于访问所述服务器所请求的用于将数据发送给所述移动计算设备的时间间隔的装置;
用于基于所请求的时间间隔来搜索存储在存储器区域中的多个激活时间来标识所述多个激活时间的子集的装置,所述激活时间与多个时间表相关联,其中所述多个时间表的激活消耗所述移动计算设备上的无线电资源,所述存储器区域还存储表示所述移动计算设备上的处理延时和与所述网络相关联的等待时间的偏移量;
用于基于所标识的所述多个激活时间的子集来确定传递时间的装置;
用于基于存储在所述存储器区域中的偏移量来调整所确定的传递时间的装置;以及
用于发布经调整的传递时间的装置,其中所述服务器基于所发布的经调整的传递时间来将数据发送给所述移动计算设备。
2.如权利要求1所述的系统,其特征在于,所确定的传递时间包括离当前时间的偏移量。
3.如权利要求1所述的系统,其特征在于,还包括用于从在所述移动计算设备上执行的、与服务器相关联的应用程序接收所述时间间隔的装置。
4.如权利要求1所述的系统,其特征在于,所述服务器在所发布的激活时间将数据发送给所述移动计算设备。
5.如权利要求1所述的系统,其特征在于,还包括用于通过标识具有最大执行可能性的时间表来选择所述子集中的一个的装置。
6.如权利要求1所述的系统,其特征在于,所述移动计算设备包括多个无线电,所述系统包括用于从所述服务器接收对所述时间间隔的请求的装置,所述请求标识所述无线电中的一个,以及用于基于所请求的时间间隔和所标识的无线电来搜索所存储的多个激活时间的装置。
7.如权利要求1所述的系统,其特征在于,还包括:
用于基于所请求的时间间隔内的所述无线电资源的已知电源开启时间来确定所述传递时间的装置;以及
用于基于所述处理延时和等待时间来调整所述传递时间的装置。
8.一种用于向服务器建议传递时间的方法,包括:
第一计算设备从第二计算设备接收所请求的时间值;
标识与多个时间表相关联的多个激活时间,其中所述多个时间表的激活消耗所述第一计算设备上的资源,
标识一个或多个先前确定的传递时间;
将所请求的时间值与所标识的多个激活时间以及所标识的所述先前确定的传递时间进行比较;
基于所述比较来确定传递时间;以及
将所确定的传递时间提供给所述第二计算设备,其中所述第二计算设备在所提供的所确定的传递时间将数据发送给所述第一计算设备。
9.如权利要求8所述的方法,其特征在于,接收所请求的时间值包括接收最小时间值和最大时间值。
10.如权利要求8所述的方法,其特征在于,接收所请求的时间值包括从与所述第二计算设备相关联的应用程序接收所请求的时间值,所述第一计算设备主存所述应用程序的执行,并且还包括将所确定的传递时间提供给所述应用程序以便传送至第二计算设备。
11.如权利要求8所述的方法,其特征在于,所述第二计算设备是多个计算设备中的一个,其中所述多个计算设备中的每一个具有与其相关联的优先级,并且确定所述传递时间包括基于与所述第二计算设备相关联的优先级来确定所述传递时间。
12.如权利要求8所述的方法,其特征在于,标识所述多个激活时间包括标识与无条件时间表相关联的多个激活时间。
13.如权利要求8所述的方法,其特征在于,所述时间值包括时间间隔,并且确定所述传递时间包括确定所述时间间隔内的、且和所述先前确定的传递时间中的一个相对应的传递时间。
14.如权利要求8所述的方法,其特征在于,所述时间值包括时间间隔,并且确定所述传递时间包括确定所述时间间隔内的、且和所述多个激活时间中的一个相对应的传递时间。
15.如权利要求8所述的方法,其特征在于,所述时间值包括时间间隔,并且确定所述传递时间包括确定所述时间间隔内的传递时间,其中所确定的传递时间稍早于所述多个激活时间中的一个。
16.如权利要求8所述的方法,其特征在于,还包括:
确定与所述第一计算设备相关联的处理延迟;以及
基于所确定的处理延迟来调整所确定的传递时间。
17.一种用于管理到第一计算设备的数据传递的系统,所述系统包括:
用于接收所请求的时间间隔的接口模块,所述所请求的时间间隔与从第二计算设备到所述第一计算设备的预期数据传输相关联;
用于标识与所述第一计算设备上的通信资源相关联的多个预期电源开启时间的高速缓存模块,
用于基于由所述接口模块接收的时间间隔与由所述高速缓存模块标识的多个预期电源开启时间的比较来确定传递时间的提示模块;以及
用于将由所述提示模块确定的传递时间提供给所述第二计算设备的发布模块,其中所述第二计算设备在所提供的传递时间将数据发送给所述第一计算设备。
18.如权利要求17所述的系统,其特征在于,所述接口模块、高速缓存模块、提示模块和发布模块在所述第一计算设备上执行。
19.如权利要求17所述的系统,其特征在于,所述通信资源包括蜂窝无线电,且其中所述提示模块通过将所述传递时间设为所请求的时间间隔内所述蜂窝无线电的所述预期电源开启时间中的一个的起点来确定所述传递时间。
20.如权利要求17所述的系统,其特征在于,所述接口模块还接收表示所述预期数据传输的预期大小的有效负载值,且其中所述提示模块基于所接收的有效负载值来确定所述传递时间以管理所述第一计算设备上的带宽。
CN200980138071.5A 2008-09-25 2009-09-24 使用时间建议来协调数据传递 Active CN102165818B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/237,797 2008-09-25
US12/237,797 US7966410B2 (en) 2008-09-25 2008-09-25 Coordinating data delivery using time suggestions
PCT/US2009/058166 WO2010036768A2 (en) 2008-09-25 2009-09-24 Coordinating data delivery using time suggestions

Publications (2)

Publication Number Publication Date
CN102165818A CN102165818A (zh) 2011-08-24
CN102165818B true CN102165818B (zh) 2014-12-31

Family

ID=42038744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980138071.5A Active CN102165818B (zh) 2008-09-25 2009-09-24 使用时间建议来协调数据传递

Country Status (6)

Country Link
US (1) US7966410B2 (zh)
EP (1) EP2340673B1 (zh)
JP (1) JP5592380B2 (zh)
KR (1) KR101617057B1 (zh)
CN (1) CN102165818B (zh)
WO (1) WO2010036768A2 (zh)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305700B2 (en) 2002-01-08 2007-12-04 Seven Networks, Inc. Secure transport for mobile communication network
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US8468126B2 (en) * 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US8010082B2 (en) * 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
US7441271B2 (en) 2004-10-20 2008-10-21 Seven Networks Method and apparatus for intercepting events in a communication system
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US7752633B1 (en) 2005-03-14 2010-07-06 Seven Networks, Inc. Cross-platform event engine
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US8793305B2 (en) * 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
EP2417285B1 (en) * 2009-04-07 2014-07-16 Basf Se Composition for metal plating comprising suppressing agent for void free submicron feature filling
US8166203B1 (en) * 2009-05-29 2012-04-24 Google Inc. Server selection based upon time and query dependent hashing
EP3651028A1 (en) * 2010-07-26 2020-05-13 Seven Networks, LLC Mobile network traffic coordination across multiple applications
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
GB2495877B (en) 2010-07-26 2013-10-02 Seven Networks Inc Distributed implementation of dynamic wireless traffic policy
WO2012018556A2 (en) 2010-07-26 2012-02-09 Ari Backholm Mobile application traffic optimization
US9118611B2 (en) * 2010-08-20 2015-08-25 Mosys, Inc. Data synchronization for circuit resources without using a resource buffer
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
WO2012061437A1 (en) 2010-11-01 2012-05-10 Michael Luna Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
EP2635973A4 (en) 2010-11-01 2014-01-15 Seven Networks Inc TO THE BEHAVIOR OF A MOBILE APPLICATION AND INTERMEDIATE STORAGE TAILORED TO NETWORK CONDITIONS
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
CN103404193B (zh) 2010-11-22 2018-06-05 七网络有限责任公司 调校数据传输以优化为通过无线网络的传输建立的连接
EP2661697B1 (en) 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
US8316098B2 (en) 2011-04-19 2012-11-20 Seven Networks Inc. Social caching for device resource sharing and management
EP2702827A4 (en) 2011-04-27 2014-10-22 Seven Networks Inc MOBILE DEVICE DISCHARGING REQUESTS MOBILE APPLICATION TO REMOTE ENTITY TO KEEP MOBILE DEVICE RESOURCES AND NETWORK RESOURCES AND RELATED METHODS
GB2505585B (en) 2011-04-27 2015-08-12 Seven Networks Inc Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US8984581B2 (en) 2011-07-27 2015-03-17 Seven Networks, Inc. Monitoring mobile application activities for malicious traffic on a mobile device
US8868753B2 (en) 2011-12-06 2014-10-21 Seven Networks, Inc. System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
WO2013086447A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9380110B2 (en) 2011-12-09 2016-06-28 Google Technology Holdings LLC Adaptive data synchronization based on data plan or network usage
WO2013090821A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US20130159511A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. System and method for generating a report to a network operator by distributing aggregation of data
WO2013090834A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US8909202B2 (en) 2012-01-05 2014-12-09 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
WO2013116856A1 (en) 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
US9326189B2 (en) 2012-02-03 2016-04-26 Seven Networks, Llc User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2013155208A1 (en) 2012-04-10 2013-10-17 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9307493B2 (en) 2012-12-20 2016-04-05 Seven Networks, Llc Systems and methods for application management of mobile device radio state promotion and demotion
US9271238B2 (en) 2013-01-23 2016-02-23 Seven Networks, Llc Application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9326185B2 (en) 2013-03-11 2016-04-26 Seven Networks, Llc Mobile network congestion recognition for optimization of mobile traffic
US9736222B1 (en) * 2013-04-28 2017-08-15 Amdocs Software Systems Limited System, method, and computer program for automatically exposing application programming interfaces (APIS) associated with an application server to one or more client devices
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
CN103647727B (zh) * 2013-11-29 2017-01-18 福建星网锐捷网络有限公司 音视频传输控制方法和装置
US9906977B2 (en) 2014-04-18 2018-02-27 Apple Inc. Deterministic RRC connections
US10375646B2 (en) * 2014-04-18 2019-08-06 Apple Inc. Coordination between application and baseband layer operation
US9497771B2 (en) 2014-04-18 2016-11-15 Apple Inc. Deterministic RRC connections
US20150341280A1 (en) * 2014-05-22 2015-11-26 Toshiba Tec Kabushiki Kaisha Method to diffuse cloud peak load by dynamically adjusting communication schedules
US20160150006A1 (en) * 2014-11-21 2016-05-26 At&T Intellectual Property I, L.P. Device data transfer via a wireless interface
US10383055B2 (en) 2015-01-26 2019-08-13 Hewlett Packard Enterprise Development Lp Regulating a power consumption state of a cellular radio

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1460354A (zh) * 2000-12-20 2003-12-03 高通股份有限公司 蜂窝网装置中的时间同步

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7924783B1 (en) 1994-05-06 2011-04-12 Broadcom Corporation Hierarchical communications system
US6694146B1 (en) 1995-09-25 2004-02-17 Pacific Comm Sciences Inc Method for reducing time required to receive and decode a temporary equipment identifier message
US5867657A (en) 1996-06-06 1999-02-02 Microsoft Corporation Distributed scheduling in a multiple data server system
US7209949B2 (en) 1998-05-29 2007-04-24 Research In Motion Limited System and method for synchronizing information between a host system and a mobile data communication device
US7305475B2 (en) 1999-10-12 2007-12-04 Webmd Health System and method for enabling a client application to operate offline from a server
US7155487B2 (en) 2000-11-30 2006-12-26 Intel Corporation Method, system and article of manufacture for data distribution over a network
FI20012256A0 (fi) 2001-11-20 2001-11-20 Nokia Corp Matkaviestintäverkot ja digitaaliset yleislähetyspalvelut
US7299304B2 (en) 2001-11-20 2007-11-20 Intel Corporation Method and architecture to support interaction between a host computer and remote devices
JP2003162470A (ja) * 2001-11-27 2003-06-06 Fujitsu Ltd 配信制御プログラムおよび方法
JP2003230121A (ja) * 2001-11-30 2003-08-15 Fujitsu Ltd コンテンツ配信方法、コンテンツ視聴方法、サーバ装置、および端末装置
JP2003223385A (ja) * 2002-01-31 2003-08-08 Matsushita Electric Ind Co Ltd データ配信システム及びにデータ配信方法
US7130313B2 (en) 2002-02-14 2006-10-31 Nokia Corporation Time-slice signaling for broadband digital broadcasting
CN100359512C (zh) 2002-03-11 2008-01-02 捷讯研究有限公司 用于将数据推到移动设备的系统和方法
US7110783B2 (en) * 2002-04-17 2006-09-19 Microsoft Corporation Power efficient channel scheduling in a wireless network
US8271971B2 (en) 2002-11-26 2012-09-18 Hewlett-Packard Development Company, L.P. System and method for automated program updating in a remote appliance
US7693117B2 (en) * 2002-12-16 2010-04-06 Avaya Inc. Power-saving mechanism for periodic traffic streams in wireless local-area networks
CN1324858C (zh) * 2003-01-13 2007-07-04 三星电子株式会社 利用节能轮询表来减少功耗的设备和方法
US20040225525A1 (en) 2003-05-05 2004-11-11 Weitzman Vernon L. Automatic contacts replication system and software
CA2524789C (en) 2003-05-06 2010-09-28 Research In Motion Limited System and method of wireless device activity messaging
US7286845B2 (en) * 2003-06-30 2007-10-23 Nokia Corporation System, and associated method, for scheduling weighted transmissions from multiple antennas
US7069303B2 (en) 2003-08-21 2006-06-27 Par3 Communications, Inc. Method and system for regulating the dispatching of messages for requestors
KR101015642B1 (ko) 2003-09-19 2011-02-22 삼성전자주식회사 헤테로지니어스 네트워크를 통한 데이터 푸쉬 서비스시스템 및 방법
US20050071419A1 (en) 2003-09-26 2005-03-31 Lewontin Stephen Paul System, apparatus, and method for providing Web services using wireless push
US7324474B2 (en) 2003-10-21 2008-01-29 Qualcomm Incorporated Methods and apparatus for Network Initiated Data Services
JP4367090B2 (ja) 2003-10-31 2009-11-18 日本電気株式会社 観測結果通信端末および情報収集システム
GB2415335B (en) 2004-06-15 2007-09-26 Toshiba Res Europ Ltd Wireless terminal dynamically programmable proxies
US20060248197A1 (en) 2005-04-27 2006-11-02 Evans Scott C Adaptive connectionless scheduling protocol
WO2006110994A1 (en) 2005-04-18 2006-10-26 Research In Motion Limited System and method for enabling asynchronous push-based applications on a wireless device
ATE395778T1 (de) 2005-04-18 2008-05-15 Research In Motion Ltd Realisierung eines push-dienstens für ein drahtloses endgerät mit hilfe eines push-proxies, der den funkbedeckungszustand des endgerätes überwacht
WO2007007330A2 (en) 2005-07-11 2007-01-18 Yossi Glazer System and method for scheduling and receiving reminder messages
CN1794708A (zh) 2005-07-29 2006-06-28 华为技术有限公司 呈现业务系统及发布呈现信息的方法
US8600336B2 (en) * 2005-09-12 2013-12-03 Qualcomm Incorporated Scheduling with reverse direction grant in wireless communication systems
US20070074217A1 (en) 2005-09-26 2007-03-29 Ryan Rakvic Scheduling optimizations for user-level threads
FR2893476B1 (fr) 2005-11-14 2008-01-25 Radiotelephone Sfr Procede et systeme de simulation et de gestion des ressources d'un reseau de telephonie mobile.
JP5138609B2 (ja) 2006-01-11 2013-02-06 フィッシャー−ローズマウント システムズ, インコーポレイテッド 無線アドレスドメインとフィールドデバイスアドレスのドメインとの変換を用いる制御システム
US7647037B2 (en) 2006-01-31 2010-01-12 International Business Machines Corporation Location aware, on demand, media delivery to remote devices
JP4699279B2 (ja) * 2006-05-18 2011-06-08 株式会社エヌ・ティ・ティ・ドコモ 移動通信端末、配信サーバ、更新通知配信システム及び更新通知制御方法
US20080113656A1 (en) 2006-11-15 2008-05-15 Lg Telecom Ltd. System and method for updating contents
US20080126751A1 (en) 2006-11-27 2008-05-29 Shay Mizrachi Scheduler hint method and system to improve network interface controller (nic) receive (rx) processing cache performance
US7944868B2 (en) * 2006-12-04 2011-05-17 Nec Laboratories America, Inc. Method and system for dynamic power management in wireless local area networks
US20080170526A1 (en) * 2007-01-12 2008-07-17 Qualcomm Incorporated Method and apparatus for extending standby battery life of a wireless device
US8230436B2 (en) 2008-01-10 2012-07-24 Microsoft Corporation Aggregating recurrent schedules to optimize resource consumption
US20090182802A1 (en) 2008-01-10 2009-07-16 Microsoft Corporation Mobile device management scheduling
US8166145B2 (en) 2008-01-10 2012-04-24 Microsoft Corporation Managing event-based conditional recurrent schedules
US8020025B2 (en) * 2008-06-04 2011-09-13 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
US8090826B2 (en) * 2008-06-27 2012-01-03 Microsoft Corporation Scheduling data delivery to manage device resources
US8112475B2 (en) 2008-06-27 2012-02-07 Microsoft Corporation Managing data delivery based on device state
US7945206B2 (en) * 2009-02-04 2011-05-17 Telefonaktiebolaget L M Ericsson (Publ) Data packet transmission scheduling in a mobile communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1460354A (zh) * 2000-12-20 2003-12-03 高通股份有限公司 蜂窝网装置中的时间同步

Also Published As

Publication number Publication date
JP2012503952A (ja) 2012-02-09
EP2340673B1 (en) 2017-04-26
KR20110061578A (ko) 2011-06-09
KR101617057B1 (ko) 2016-04-29
EP2340673A2 (en) 2011-07-06
WO2010036768A3 (en) 2010-06-17
US20100077083A1 (en) 2010-03-25
EP2340673A4 (en) 2014-07-23
JP5592380B2 (ja) 2014-09-17
CN102165818A (zh) 2011-08-24
WO2010036768A2 (en) 2010-04-01
US7966410B2 (en) 2011-06-21

Similar Documents

Publication Publication Date Title
CN102165818B (zh) 使用时间建议来协调数据传递
US9432796B2 (en) Dynamic adjustment of mobile device based on peer event data
CN101981531B (zh) 聚集循环调度以优化资源消耗
US8090826B2 (en) Scheduling data delivery to manage device resources
TWI540426B (zh) 行動裝置基於熱條件之動態調整
CN108156265B (zh) 一种应用程序控制方法及移动设备
US7319908B2 (en) Multi-modal device power/mode management
US9871756B1 (en) Methods for displaying notifications
CN103404193B (zh) 调校数据传输以优化为通过无线网络的传输建立的连接
EP3231199B1 (en) Notifications on mobile devices
US20100082247A1 (en) Methods, apparatuses, and computer program products for providing user location information
CN102474527A (zh) 基于预测性来适应推送的内容递送
EP3201805A1 (en) Methods and systems for regulating communications at a mobile communications device
US9167404B1 (en) Anticipating data use in a wireless device
US20150112924A1 (en) Data classification for adaptive synchronization
US8370422B2 (en) Establishing common interest negotiation links between consumers and suppliers to facilitate solving a resource allocation problem
US20120151489A1 (en) Architecture for providing on-demand and background processing
La et al. An Efficient Context Acquisition for'n'Mobile Apps
WO2015059434A1 (en) A system and method for providing data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150423

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150423

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.