CN102685729A - 用于移动设备上的应用的后台传输服务 - Google Patents

用于移动设备上的应用的后台传输服务 Download PDF

Info

Publication number
CN102685729A
CN102685729A CN2012100316876A CN201210031687A CN102685729A CN 102685729 A CN102685729 A CN 102685729A CN 2012100316876 A CN2012100316876 A CN 2012100316876A CN 201210031687 A CN201210031687 A CN 201210031687A CN 102685729 A CN102685729 A CN 102685729A
Authority
CN
China
Prior art keywords
application
data
request
transmission
background transfer
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
Application number
CN2012100316876A
Other languages
English (en)
Other versions
CN102685729B (zh
Inventor
M·D·麦克卢尔
A·巴德热辛
C·P·苏巴拉曼
J·殷
J·I·拉斯特洛姆
Y·沙班
T·D·努南
R·江
P·J·托尔
V·戈特格
G·A·德索扎
P·R·胡卢曼
A·德拉戈米拉
D·米勒
M·G·多纳休
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 CN102685729A publication Critical patent/CN102685729A/zh
Application granted granted Critical
Publication of CN102685729B publication Critical patent/CN102685729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0264Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by selectively disabling software applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了用于移动设备上的应用的后台传输服务。本发明涉及后台传输服务,该后台传输服务为第三方应用提供了平台级支持以使数据传输排队以便在后台运行,包括当该应用并非在前台运行时。应用由此可以在后台执行下载和上传任务;然而,后台传输服务管理数据传输请求以限制每个后台应用的干扰前台应用操作的能力,即通过根据一个或多个策略来控制资源使用。

Description

用于移动设备上的应用的后台传输服务
技术领域
本发明涉及后台数据传输。
背景技术
允许应用(例如,第三方应用)在移动设备的后台运行并执行任务放任了恶意或设计糟糕的应用耗尽电池,消耗带宽,并减缓移动电话/设备性能。在其中系统资源受限并且期望前台体验以全保真度和响应性运行的移动设备上,这是个问题。一般而言,CPU、存储器和网络带宽是有限的系统资源;此外,带宽在特定网络条件下是高度可变的。
结果,在一种解决方案中,有效地禁用应用后台处理,这表现在当一应用被从后台移除时,该应用被“停用”。这意味着应用当前依靠用户将其保持在前台以继续这些任务,包括数据传输。该解决方案通常是不合乎需要的。
发明内容
提供本发明内容以便以简化形式介绍将在以下的具体实施例中进一步描述的一些代表性概念。本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在以限制所要求保护的主题的范围的任何方式来使用。
简而言之,此处描述的主题的各方面涉及用于将后台传输服务配置成在移动设备上运行以便控制用于应用的网络数据通信的传输的技术。后台传输服务基于一个或多个策略来管理应用对数据传输的请求,该一个或多个策略以限制干扰前台应用操作的方式控制后台应用数据传输的资源使用。在一个实现中,后台传输服务被耦合到下载管理器,该下载管理器被配置成进行远程连接以便向远程源传输数据或传输来自远程源的数据以满足传输请求。
在一方面,数据共享服务将传输(下载)自远程源的数据移动或复制到可由应用访问的本地存储中。数据共享服务移动或复制来自可由应用访问的存储的数据以便将数据传输(上传)至远程源。在一方面,应用实例管理器向后台传输服务提供与应用的卸载状态、许可证撤消或恢复状态相关的通知,后台传输服务可分别取消、暂停和/或继续该应用的每一个待决传输请求。
策略可涉及一次只允许最大数量的待办传输、基于数据大小的限制、连接规则(例如,Wi-Fi对比蜂窝)和/或带宽限制。策略可基于条件,诸如其他应用数据传输请求、可用蜂窝服务、Wi-Fi可用性、桌面浏览可用性、功率状态、电池电量水平和/或充电状态。
在一方面,代表一个或多个应用传输数据。这包括从每一个应用接收数据传输请求以及管理每一个应用的数据传输请求以便在为该应用传输数据时保留对资源使用的控制。数据传输请求的管理可包括确定是否满足一个或多个传输条件,并且如果否,则将请求移至等待状态直到满足该一个或多个传输条件。数据传输请求的管理还可包括基于要传输的数据的大小来确定是否允许请求,基于可用带宽和/或前台的正在流传输媒体的存在来对数据传输进行扼制,将前台应用数据传输的优先级排在后台应用数据传输之上,和/或通过检查传输速率是否低于阈值来检测缓慢传输状态,并且如果检测到,则在继续针对该应用的数据传输之前等待改变的条件。如果相关联的应用当前正在执行(在前台或在后台),则该应用经由通常被称为“事件”的通知来知晓当前传输状态并且还可查询传输服务以确定其请求(包括已经成功完成的或出错的那些请求)中的任一个的当前状态。
在一方面,当接收到指示正在卸载应用的信息(例如,通知)时,管理数据传输请求包括取消对应于该应用的每一个数据传输请求。当接收到指示应用的许可证已被撤消的信息时,管理数据传输请求包括暂停对应于该应用的每一个数据传输请求;当接收到指示应用的许可证已被恢复的信息时,管理数据传输请求包括继续对应于该应用的每一个暂停的数据传输请求。
当接收到指示应用已经从后台应用变成新的前台应用的信息时,管理数据传输请求包括重新确定该新前台应用的至少一个待决数据传输请求的优先级。当接收到指示应用已经从前台应用变成后台应用的信息时,管理数据传输请求包括重新确定该后台应用的至少一个待决数据传输请求的优先级。
在一个实现中,当接收到包括代表应用传输数据的请求的数据传输请求时,使对应于该请求的信息在请求队列中排队。处理来自该请求队列的信息,包括代表应用将数据下载到文件高速缓存中,包括当该应用是后台应用时。在下载时,使用具有对与应用相关联的存储的访问权的服务来将数据从文件高速缓存移动或复制到分离的存储。数据可以在传输正在进行中时增量式地移动或复制,或者一旦传输完成就在单个操作中移动或复制;在一个实现中,从请求存储到分离的存储的移动只在传输无差错地结束时才完成。上传类似地操作,例如,对上传请求进行排队和处理,包括与有权访问包括要上传的数据的应用存储的服务进行通信,以代表应用上传该数据。如果相关联的应用当前正在执行(在前台或在后台),则该应用经由通常被称为“事件”的通知来周期性地知晓传输进度并且还可向传输服务查询其请求中的任一个的当前进度。
结合附图阅读以下具体实施例,本发明的其他优点会变得显而易见。
附图说明
作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或相似的元素,附图中:
图1是表示用于经由后台传输服务来为应用执行后台数据传输的示例组件的框图。
图2是使用后台传输服务来下载内容的应用的示例。
图3是表示示例组件和在执行后台数据传输时传递的数据的数据流程图。
图4是示出应用如何建立到后台传输服务的连接的示例时序图/数据流程图。
图5是示出应用如何使后台传输请求入队的示例时序图/数据流程图。
图6A和6B包括示出用于检查条件并基于这些条件来延迟或请求数据传输的示例步骤的流程图。
图7是示出调用后台传输服务来注册进度/完成通知的示例时序图/数据流程图。
图8是示出涉及获取传输进度通知的示例操作的时序图/数据流程图。
图9是示出涉及获取完成通知的示例操作的时序图/数据流程图。
图10是示出涉及取消后台传输请求的示例操作的时序图/数据流程图。
图11是示出涉及查询后台传输请求状态的示例操作的时序图/数据流程图。
图12是示出涉及暂停后台传输的示例操作的时序图/数据流程图。
图13是示出涉及继续后台传输的示例操作的时序图/数据流程图。
图14是示出涉及查询后台传输服务状态的示例操作的时序图/数据流程图。
图15是示出后台传输服务中的传输请求的示例状态的状态图。
图16是表示其中可实现在此处所描述的各实施例的一个或多个方面的示例性、非限制性计算系统或操作环境的框图,例如,在移动电话设备的例子中。
具体实施方式
此处描述的技术的各方面一般涉及提供平台级支持以供应用使传输排队以便在后台运行的后台传输服务。这确保应用能够在后台执行适当的数据传输任务,而不向应用提供运行它们想运行的无论什么代码的全灵活性。后台传输服务允许应用在不在前台运行时使请求排队、取消请求、检查请求状态和继续传输(上传/下载)内容。
应用能够基本上并行地下载内容,例如经由以公平的方式向应用提供资源的循环公平机制。应用可指定传输偏好,然而,与后台传输服务相关联的策略控制应用能够做什么,例如应用一次只可具有某个最大数量的待办传输,在通过蜂窝且WiFi不可用时或者在缺少外部电源的情况下数据传输可被限于某一大小,后台应用可能不被允许使用2G/EDGE蜂窝连接,在依靠电池电量、低电量或在连接到AC/USB充电时可以采取不同的动作,等等。
提供平台级传输服务由此使得平台能够保持对什么传输相关任务应用能够在后台执行的控制,而不向应用提供运行任意代码的全灵活性。另外,后台传输服务允许第一和第三方应用对带宽量和/或正在使用的其他设备资源进行控制,以保护前台体验(其中如此处所使用的“第一方”指的是诸如由操作系统厂商提供的可信代码,而第三方指的是来自厂商的应用,而不管这些应用的来源或可信度)。前台应用可以在必要时为重度带宽利用活动请求额外带宽,并且后台传输(取决于环境)可以对带宽进行扼制以保护前台体验,以便限制(例如,减少或避免)对前台应用操作的干扰。
应当理解,此处的任何示例均是非限制性的。因此,本发明不限于在此描述的任何具体的实施例、方面、概念、结构、功能或示例。相反,此处所描述的任何一个实施例、方面、概念、结构、功能或示例都是非限制性的,可以以一般而言在计算和进行数据传输时提供好处和优点的各种方式来使用本发明。
在一个实现中,如图1大致表示的,后台传输服务102(BTS)根据与后台传输服务102相关联(例如,结合或外部地耦合)的一个或多个策略103来控制应用数据传输请求。后台传输服务102经由BTS客户机API 104来允许诸如应用106等应用从网络端点下载内容或将内容上传至网络端点,即使应用106不在前台(例如,在被停用或脱水(dehydrated))。当应用已休眠时(被移至后台而不是关闭,且操作系统为稍后该应用返回到前台维护状态信息),情况亦如此。
一般而言,前台应用可将请求添加至后台传输服务的请求队列;前台/后台应用可以在后台传输服务的请求队列中找到请求并且从后台传输服务的请求队列中移除请求。这些请求受到后台传输服务102根据一个或多个策略103的控制。可提供其他功能,诸如允许状态更新,如此处所描述的。还如图1所示,任务和/或服务107(例如,第一方应用)可经由在图1中所示出的被设置成API 105的相似(或相同)API来使用后台服务。
如下文中所描述的,出于安全和类似原因,每一应用具有其自己的本地存储108和109,该本地存储在一个实现中经由数据共享服务110来访问。注意在图1中,不同的组件具有由腔室(chamber)表示的不同访问权,例如,后台传输服务在标准权限腔室中运行,应用在低特权腔室中运行,数据共享服务110在标准腔室中运行,等等。数据共享服务110有权访问应用的本地存储108或109(被仅限于存储中的一个特定文件夹),并且后台传输服务102使用数据共享服务110来传入下载的数据,或者传出数据以供上传。使用数据共享服务110(具有提升的权限)来向分离的存储传输数据并传输来自该分离的存储的数据提供了附加安全性。
如图2大致表示的,从web 220或其他网络源进行后台传输的场景包括应用下载游戏的额外等级或游戏内容,诸如视频流传输(例如,应用206)、电子阅读器(例如,应用207)、全程导航程序等应用的媒体内容下载/上传。每一应用(例如206和207)可具有其自己的分离存储,在图2中分别被示为208和209。
应当注意,前台应用可使用后台传输服务102。在这种情况下,后台传输服务102可应用不同的策略或具有其他规则,例如将前台应用传输请求的优先级排在后台应用的传输请求之上,使用不同的限制(或甚至没有限制)等。在后台应用正在使用该服务并已经改变为前台应用时也应用策略或其他规则;提高其排队的请求的优先级(可暂停其他应用请求),改变或不实施限制,等等。
如将会理解的,通过后台传输服务102的传输能够以合理的公平性并行进行,且因为受服务102所控制,而不会使彼此缺乏资源。结果,大传输不会无限阻塞其他请求,且后台传输服务102可实施对传输的内容大小的硬限制,同时最小化对例如以下各操作的中断:后台音频流传输、前台视频流传输、游戏以及使用网络的前台活动。注意,音频流传输是对资源缺乏敏感的,并且后台传输服务尝试不中断该场景,同时既不使资源密集应用缺乏资源,也不使需要网络带宽的前台体验降级,例如,音乐流传输、多玩家游戏场景、游戏场景、视频流传输、浏览器、社交网络等。同时,服务可以自适应和/或以其他方式操作以便通过高效的资源使用(包括电池和带宽)来最大化电池寿命。成本意识可以是另一考虑事项,例如不允许流氓或编写糟糕的应用使用蜂窝连接上的用户的有限数据计划中的大多数。
返回到在图1中大致表示的示例实现/体系结构,后台传输服务102(BTS)可包括在标准权限腔室中的servicesd.exe的内部运行的
Figure BDA0000135411860000061
Phone服务。在该示例中,RPC(远程过程调用)用作后台传输服务客户机106、107和后台传输服务102之间的IPC(进程间通信)机制。服务102由此提供可由低特权腔室BTS知晓(例如,Yamanote)应用以及其他高特权进程可访问的RPC接口。注意,本地RPC、PSL(进程服务器库)和IPC机制在
Figure BDA0000135411860000062
Phone平台中是可用的。
RPC接口展示用于对单个传输的状态进行排队、取消和查询的API 104、105。RPC接口还展示API 104、105以供RPC客户机获取关于传输的进度和完成的通知。后台传输服务102将传输请求持久存储在其请求存储112中直到条件适于删除请求(例如,响应已被成功发送到请求者)。请求存储112包括文件系统中后台传输服务保存应用的传输请求的持久存储。
在一个实现中,后台传输服务102可使用娱乐下载管理器114(EDM)的服务来管理诸如启动、取消和暂停请求等http/https传输请求。虽然娱乐下载管理器114此处被例示为单独组件,但在一替换实现中,娱乐下载管理器114(例如,其功能)或其一部分可被结合到后台传输服务102中,反之亦然。因此,如此处所使用的,娱乐下载管理器114可以是单独组件(整体地或部分地),或者可以是后台传输服务102的子部分(或者相反)。
娱乐下载管理器114本质上是具有循环逻辑(例如,在一个或多个作出请求的应用中划分可用并行时隙)的直接排队服务,该服务处理请求,提供进度回调/通知等。娱乐下载管理器114具有其自己的文件高速缓存115和请求队列,并且通常维护状态数据以便处理以下操作:与端点进行通信以便将内容传输到端点或传输来自端点的内容、在需要时使用重试机制等等。娱乐下载管理器114还可监视来自资源管理器组件的通知以便在应用从后台变为前台时改变传输(例如,在一个实现中,暂停特定传输)。如后台传输服务102所指示的,数据共享服务110在适当时经由传输文件夹将数据从文件高速缓存115移动/复制到每一个应用的对应的分离存储或将数据移动/复制到文件高速缓存115。
另外,后台传输服务102使用应用实例管理器116(AIM)来接收关于应用卸载和许可证撤消和恢复的通知。为此,应用实例管理器116包括向后台传输服务102发送关于应用卸载和许可证撤消/恢复的通知。
如图1中大致表示的,BTS知晓(例如,第三方)应用106使用平台提供的托管API 104。任务/服务107可以是无头(headless)任务或作为平台的一部分的另一背景服务。在一个实现中,后台传输服务包括平台后台服务(例如,主存在servicesd.exe中,主存多个服务的平台组件进程),该平台后台服务包括实现传输API的RPC服务器侧组件。背景传输服务客户机API可以是展示使用本地RPC来与后台传输服务通信的本机后台传输服务API的平台本机DLL。
还如图1所示,在一个实现中,数据共享服务110包括用作访问低特权应用的分离存储108的平台组件的安全中介的平台后台服务。娱乐下载管理器114包括平台组件用来传输内容的后台服务。后台传输服务102的一种设计使用娱乐下载管理器114来与wininet接口和执行实际http文件传输。
对于后台传输服务的持久存储选择可包括任何合适的数据结构/机制,包括任何合适的数据库、寄存器或每个请求一个文件。在平台中,EDB(嵌入式数据库引擎)用于这一机制,这部分是因为EDB提供对很有可能的请求模式(例如,数百个请求、随时间创建/删除)的合理支持,并且因为它支持事务。
图3提供了系统概览以及编号的操作流程。后台传输服务客户机API 304包括应用306引用以获取对后台传输服务102的访问的库。客户机API 304为下载请求创建临时文件(在为方便起见在应用中示出的应用的分离存储308内),并且在下载完成时将该临时文件重命名为所需文件名或者将该临时文件移至所需文件名。注意,在一个实现中,移动不是对文件系统的双重写入,只要它不跨卷,并由此提高性能。可以启用P2高速缓存以避免转储清除到闪存/SD,除非需要。
如图3中由带标记的箭头一(1)和二(2)所表示的,应用306(经由客户机API 304)向数据共享服务110(经由RPC)请求给定文件句柄的权标,并且通过向后台传输服务(经由RPC)提供请求信息(文件句柄的权标、请求ID)来使请求入队(带标记的箭头三(3))或出队。
数据共享服务110提供用于以下操作的的机制:在应用的分离存储308中创建到文件的句柄,以及通过共享秘密(权标)的交换来向后台传输服务102授予对上述句柄的访问。这在图3中由带标记的箭头四(4)和五(5)来表示。
后台传输服务102负责管理应用请求队列,跨应用的生存期保存请求的状态(在设备上),管理队列优先级和管理,以及与数据共享服务110接口以便从应用存储复制文件或将文件移至应用存储(通过提供权标),如上所述。同样,后台传输服务102经由客户机API 304中继进度事件/查询,诸如完成和重大错误,如经由带标记的箭头六(6)所表示的。
应用实例管理器116提供用于获取关于任务实例的信息的API等,后台服务102可能需要确认任务实例的身份并做出关于是否接受请求的策略决定。后台传输服务120订阅并满足来自应用实例管理器116的对卸载和撤消以及其他应用生存期事件的请求。应用实例管理器116在由后台传输服务注册的应用被卸载,其许可证被撤消或恢复时通知后台传输服务102。后台传输服务102在应用正被卸载时取消该应用的待办请求,并且在该应用的许可证被撤消时暂停该应用做出的请求。后台传输服务102在应用许可证被恢复时继续这些请求。
在一个实现中,资源管理器可用于控制后台传输服务102的暂停和恢复。应用实例管理器116可禁用娱乐下载管理器114。因为请求是使用请求ID和应用ID的组合来查找的,所以为了确保请求查找的沙箱化并确保应用ID不由应用提供,后台传输服务具有确定该信息的一些手段。应用的产品id可通过在给定应用的进程ID的情况下调用安全系统来获取。
转向一个示例实现的附加细节,后台传输服务客户机采取的第一步骤是建立到后台传输服务服务器的RPC连接。这可使用图4中的序列来完成。假定请求ID对于系统是唯一的并且由后台传输服务102来实施。注意,调用者可指定请求ID是否是现有请求,在这种情况下后台传输服务将验证调用者的产品ID(使用从RPC运行时获取的调用者进程ID并使用该ID来从帐户数据库中检索产品ID),并且用现有请求ID的产品ID来对调用者的产品ID进行交叉检查。后台传输服务102还可使用API调用(例如,GetTaskInstanceInformation(获取任务实例信息)API)来从应用实例管理器获取RPC调用者的产品ID,然而这要求将客户机进程的任务ID传递给API。任务ID可以从后台传输服务客户机库经由对BtsCreateBackgroundTransferRequest(Bts创建后台传输请求)的RPC来传递。后台传输服务可通过将从GetTaskInstanceInformation获取的任务进程的进程ID与从RPC获取的调用者进程ID进行比较来独立验证任务ID的有效性。
使后台传输请求入队在图5中大致表示。在一个实现中,后台传输服务102支持应用使用唯一请求ID串、URI、传输文件名和HTTP动词的组合来使文件传输请求排队。所支持的动词包括GET(用于下载)和POST(用于上传)。另外,应用可指定将被添加到请求的一组允许的自定义HTTP首部。应用还可指定传输是否要求设备接通AC电源(包括USB充电)和/或Wi-Fi。
用于使请求入队的示例顺序图在图5中示出。另外,还示出了API的服务器侧流程。图中示出的不同组件已经在上文中描述。
注意,后台传输服务客户机API 104使用在图4中获取的RPC上下文句柄来与后台传输服务102通信。后台传输服务客户机API 104使用数据共享服务的API来将传输文件名转换成文件权标ID串,因为后台传输服务(在标准权限腔室中运行)无法直接访问应用的分离存储。后台传输服务API通过之前创建的RPC上下文句柄中的本地(同步)RPC传递以及上述包括文件权标ID的传输参数来调用后台传输服务102。
当后台传输服务102获取RPC调用时,该服务检查以查看条件是否适于向娱乐下载管理器114发送请求,或者代之以后台传输服务是否使请求入队并稍后在条件适当时将其发送到娱乐下载管理器114。
图6A和6B例示了可以检查的不同条件。例如,步骤602确认参数,并且仅当被确认时执行用于通知应用实例管理器116的步骤604。
为了帮助优化电池使用,后台传输服务允许应用指定延迟传输请求直到AC电源可用。在这种情况下,后台传输服务只在电话接通AC电源(例如,USB供电)时才用娱乐下载管理器114启动传输进程。另外,后台传输服务启动对电源状态改变的监视,并且如果电话转为电池,则可以在娱乐下载管理器114中暂停正在进行的传输,直到电话返回到AC电源时再继续。此外,后台传输服务监视低电池状态,以及在启动时检查电池状态。如果后台传输服务获得低电池状态通知,则该服务将暂停它用娱乐下载管理器114排队的传输。传输在电池状态从低状态转变时继续。
如经由步骤606、608、610和612表示的,如果请求未被延迟且存在低电池条件(还在“省电模式”为开时),或者请求被延迟且AC电源不可用,则该过程分叉到如下所述的图6B的步骤628(入口点EP2)。否则,步骤614表示准备下载管理器并继续至图6B的步骤620(入口点EP1)。
步骤628表示步骤624的成功的分叉或上述条件集(步骤606、608、610和612)中的一个的分叉。步骤628将请求入队至存储器中队列,并且持久存储该请求。
步骤628表示步骤624的成功的分叉或上述条件集(步骤606、608、610和612)中的一个的分叉。步骤628将请求入队至存储器中队列,保存该请求,并且持久存储该请求。
返回至图5,后台传输服务调用应用实例管理器116以便使用对应于图6A的步骤604的NotifyRequestCreated()来通知请求已被接受。该API还可通过调用娱乐下载管理器114来返回应用的许可证状态,该状态可用于确定是否能够启动传输。如果接下来后台传输服务API中存在失败,则使用对应于图6B的步骤626的NotifyRequestCompleted()来通知应用实例管理器116。
后台传输服务调用娱乐下载管理器114API,即DownloadManagerCreate(下载管理器创建),来创建下载ID。传输参数可被直接传递给娱乐下载管理器114,例如设置标志DM_TYPE_CONTENT|DM_PRIORITY_OPPORTUNISTIC|DM_PERSIST_LIBRARY|DM_FETCH_CACHED|DM_DONT_WANT_RESPONSE_STREAM。传输参数指定策略,即允许3G蜂窝传输和Wi-Fi传输或只允许Wi-Fi传输。传输参数还可指定传输方法,POST还是GET。另外,可指定应用产品ID(GUID)以及媒体密钥(与应用请求ID相同)。应用产品ID被娱乐下载管理器114用来跨应用循环传输以缓解资源缺乏。媒体密钥用于使娱乐下载管理器114将下载的文件作为唯一文件存储到娱乐下载管理器114持久高速缓存。后台传输服务102在传输成功时例如使用数据共享服务110中支持的MoveFile(移动文件)来将文件从高速缓存移至应用的存储。注意,MoveFile API在移动不跨越不同的逻辑卷时不复制数据。
响应于DownloadManagerCreate,娱乐下载管理器114返回下载ID,后台传输服务将该下载ID与其余传输请求参数一起保存在存储器中(下载ID在重启后失效)。后台传输服务然后调用娱乐下载管理器114,即DownloadManagerStart(下载管理器启动),并启动传输进程。
一旦用于启动传输的对娱乐下载管理器114的调用成功,后台传输服务就将包括与请求相关联的目标文件权标ID的请求保存到EDB(对应于步骤628)。注意,数据共享服务110支持跨重启持久存储文件权标ID。
还可存在每一个应用的待办请求的限制(例如,默认为五),并且如果该限制存在,则由后台传输服务实施。注册设置等可盖写默认限制。这防止一个应用耗费太多的系统资源,诸如网络带宽、电池、后台传输服务存储器、传输文件空间和持久存储空间。
后台传输服务客户机可任选地订阅接收传输进度通知,并且将在传输的特定完成时间点处做出应用回调。将做出回调的时间点取决于娱乐下载管理器114对后台传输服务的回调,对后台传输服务的回调取决于正在被传输的文件的大小而间隔出现。如图7所表示的,后台传输服务客户机可使用在创建步骤中获取的RPC上下文句柄来做出对后台传输服务的RPC调用以注册进度/完成通知。该RPC可以是异步RPC,因为使任何专用线程在客户机或服务器中阻塞是不合乎需要的。注意,通知可以在做出异步RPC调用后的稍后时间点到达。
图8和9分别表示传输进度和完成通知。注意,后台传输服务102监听来自娱乐下载管理器114的进度和完成通知。在完成情况下,后台传输服务使用数据共享服务110的服务来将传输文件移至下载情况下的应用的分离存储。一旦请求被传递至客户机,后台传输服务102还从其持久存储中删除该请求。还可通知应用实例管理器116请求已被删除,例如使用NotifyRequestDeleted()。
应用可在任何时间点取消它所排队的传输请求;取消操作的顺序图在图10中示出。请求使用作为创建步骤的一部分来接收的不透明的RPC上下文句柄来标识。一旦取消请求成功,就从存储器和持久存储中删除传输请求。还可使用NotifyRequestCompleted()通知应用实例管理器116请求已完成。
应用可使用在调用BtsCreateBackgroundTransferRequest(Bts创建后台传输请求)API后接收到的请求句柄来查询它所排队的传输请求(图11)的状态。以下信息可以从后台传输服务中的娱乐下载管理器114状态的最近高速缓存的结果中返回:
·请求状态
·传输的Hr状态
·传输的Http状态
·接收到的字节的数量
·预期接收到的字节的总数
·已发送字节的数量
·预期发送的字节的总数
应用可以在任何时间点关闭请求句柄。关闭请求句柄不取消请求,但会扯断客户机进程和服务器进程之间的RPC连接。如果客户机进程在未关闭句柄的情况下死亡,则RPC运行时使用上下文句柄用尽(rundown)回调来通知后台传输服务102。
应用可使用API(“BtsEnumBackgroundTransferRequests(Bts枚举后台传输请求”)来枚举迄今由其自己所排队的待办请求。当应用已经用后台传输服务来使少许请求排队,被停用并且稍后回来以查找它所排队的请求的状态时,枚举是有用的。该API只返回涉及调用者应用产品ID的请求信息。
图12涉及暂停后台传输服务102。诸如资源管理器等平台组件可请求暂停后台传输服务102(例如,如果它检测到一个或多个前台联网应用正在运行)。作为响应,后台传输服务使用DownloadManagerEnumDownloads(下载管理器枚举下载)API来枚举已经在娱乐下载管理器114中排队的传输,且任务ID作为每一DownloadManagerCreate调用的一部分来指定。一旦枚举传输,就可暂停它们,例如,通过调用DownloadManagerPause(下载管理器暂停)API来逐个暂停。可以在娱乐下载管理器114中提供DownloadManagerPauseTaskDownloads(下载管理器暂停任务下载)API以使得可以用一个API调用来做到上述序列。一旦已暂停后台传输服务,也暂停新入队请求。这些新入队请求只在来自平台组件的特定继续API调用后被继续。
在一个实现中,在后台传输服务102中无需存在用于从暂停自动继续的计时器。资源管理器确保应用在前台,仍旧运行,且不在锁屏下。资源管理器的崩溃重启移动设备,因为该资源管理器被主存在外壳程序中。后台传输服务102确保只有适当的腔室调用者才能调用暂停API。注意,有了计时器,应用能够重复调用API,由此计时器提供极少益处,但对电池寿命具有某些影响以及其他缺陷。
图13涉及继续后台传输服务102。这继续后台传输服务102早先暂停(例如,由于暂停API调用)的任何传输。后台传输服务102确保只有适当的腔室调用者才能调用继续API。继续次序与后台传输服务中的请求队列次序相同。这可使用DownloadManagerResume(下载管理器继续)API来完成;娱乐下载管理器114可提供使继续序列可以用一个API调用来做到的API。对于下载,娱乐下载管理器114将在服务器支持HTTP范围首部的情况下从最近暂停的时间点继续。
查询后台传输服务状态在图14中表示。后台传输服务状态可以是活动的(意味着它正在运行并且不需要传输)或已暂停,并且可使用API来查询。另外,后台传输服务还可返回处于正在传输和等待/已暂停状态的传输请求的数量的计数。
在一个实现中,传输请求在后台传输服务中经历以下状态,如图15所表示的:
状态1501。已创建:后台传输服务请求已由后台传输服务客户机使用BtsCreateBackgroundTransferRequest API来创建。
状态1502。正在传输:后台传输服务客户机已经通过后台传输服务使用BtsEnqueueBackgroundTransferRequest(Bts入队后台传输请求)API来使传输请求排队,并且后台传输服务已经将请求传递至娱乐下载管理器114。
状态1503。等待:传输请求正在后台传输服务队列中等待,因为尚未满足传输条件(例如,对于延迟的传输,电话未接通AC电源)。
状态1504。已暂停:后台传输服务已由第一方应用使用BtsPauseBackgroundTransferService(Bts暂停后台传输服务)API来暂停。由于应用实例管理器116通知后台传输服务102应用的许可证已被撤消,请求被暂停。这将暂停迄今在后台传输服务中排队的传输,包括等待、正在传输和已经创建的传输状态。与只使用等待状态形成对比,该状态可用于供应用区分传输的延迟是否是由于第一方应用(例如,资源管理器应用实例管理器116)已暂停传输而是故意的,或者是否由于未满足条件而是无意的。
状态1505。已完成:由于应用使用BtsCancelBackgroundTransferRequest(Bts取消后台传输请求)API来取消传输请求而使得其完成,或者该传输请求成功或错误地完成。为了优化网络带宽使用,娱乐下载管理器114可通过检查传输速率是否低于阈值来检测缓慢和被挂起的传输,以便将这些传输认为是失败的,并且对它们应用重试策略。例如,如果在Wi-Fi上传输速率落到x kbps以下,则传输将被暂停并且在稍后时间继续。在Wi-Fi由于特定错误而不可用的情况下,娱乐下载管理器114将使得超过20MB的传输失败。在这种情况下,后台传输服务将监视Wi-Fi连接,并且在支持Wi-Fi时用娱乐下载管理器114来使传输重新排队。
如果后台传输服务检测到预期文件大小太大并且传输请求未被指定为只在AC情况下传输,则后台传输服务可以用娱乐下载管理器114来取消该请求并向应用返回一错误。回调将携带预期总文件大小和当前传输的大小。娱乐下载管理器114只可允许最大数量的并发后台传输(例如,默认被限于两个或四个或类似限制)。
此外,娱乐下载管理器114可以在它检测到媒体栈正在流传输时扼制并发传输的最大数量(默认为一)。注意,当不存在展示给客户机(包括后台传输服务)以供使用的扼制支持时,后台传输服务102必须基于系统中的条件来自动暂停和继续传输。
在丢失连接时,娱乐下载管理器114将传输请求移至等待状态并且在连接恢复时开始传输。如果连接在一断开时间(timeout)内没有恢复,则由娱乐下载管理器114来取消传输并将连接超时错误报告给后台传输服务102。在这种情况下,后台传输服务将监视连接,并且在支持连接时用娱乐下载管理器114来使传输重新排队。连接管理器基于带宽来从可用连接中进行选择。因此,在缺少任何特定偏好或要求(或映射策略)的情况下,连接管理器将按以下顺序选择:DTPT(桌面穿过)、Wi-Fi和蜂窝。注意在一个实现中,一旦启动传输,连接的类型将不会改变。
后台传输服务102执行监视以使得请求在娱乐下载管理器114中排队,包括设备是否具有连接。这样做是因为娱乐下载管理器114在连接在特定时间(例如,默认1分钟)内不可用的情况下使传输失败。因此,后台传输服务监视连接可用性。后台传输服务还监视设备的电源状态(AC/电池、电池状态)。
后台传输服务可以用娱乐下载管理器114来使应用请求以相同的优先级排队,例如,三个娱乐下载管理器114优先级中的最低的后台优先级(DM_TYPE_CONTENT、DM_PRIORITY_OPPORTUNISTIC)。这是为了确保第三方传输不会太多地干扰诸如市场下载等第一方传输。
娱乐下载管理器114支持应用ID与作为传输参数的一部分的每一个DownloadManagerCreate调用一起传递。后台传输服务在其用娱乐下载管理器114来创建传输请求时将应用产品ID作为应用ID来传递。娱乐下载管理器114将使用应用ID来在每一队列中循环以使得来自一个应用ID的请求无法使其他应用请求缺少资源。由此,如果娱乐下载管理器114队列包含Appld0(0)、AppId0(1)、Appld1(0)、Appld2(0),则调度算法按以下次序选取这些请求:AppId(0)、AppId1(0)、AppId2(0)、AppId0(1),其中AppIdX(y)指示应用X的第y个请求。娱乐下载管理器114可限制并发传输的最大数量以获得可接受的设备性能。为了防止一个应用取得娱乐下载管理器114中的所有传输时隙和传输大型文件,娱乐下载管理器114可以在循环的基础上在应用之间进行时间切片(例如,两分钟),并且在需要时强制暂停传输。注意,娱乐下载管理器114市场下载可能花费一段时间来进入机会主义队列并且将与后台传输服务应用进行多路复用并且将被包括在循环中。
对于安全性,后台传输服务102可以在标准权限腔室中运行并且可以与servicesd.exe中的其他服务共同主存。可以为后台传输服务指定RPC安全策略以允许低特权腔室应用使用RPC来调用后台传输服务。在适当时,后台传输服务使用帐户数据库API来交叉检查做出调用的进程的产品ID,并且确保一个应用无法代表另一应用来调用后台传输服务API。注意,因为大多数后台传输服务第三方应用API使用RPC上下文句柄(并非直接但作为使用请求句柄的副作用是RPC上下文句柄的包装),所以应保护这些应用API以防哄骗,因为RPC运行时是针对该哄骗来加固的。然而,BtsCreateBackgroundTransferRequest未采用RPC上下文句柄而改为采用请求ID(优选地是GUID),因为创建上下文句柄的是API。该API可针对哄骗来加固。
后台传输服务102在应用做出对API的第一次调用时启动。该后台传输服务然后检查它是否需要继续它能够在引导时启动的任何先前未完成的传输。出于性能原因,可以延迟紧接在服务启动后的处理,例如使用RegisterDelayedBootWork(注册延迟引导工作)API。后台传输服务102检查持久存储以查找已经用正在传输、已暂停或等待状态来标记的请求项,并且然后将这些请求项发送到娱乐下载管理器114以启动传输进程,或使这些请求项在存储器中排队,以等待适于启动传输进程的条件(例如,电话当前接通电池的情况下的延迟的传输请求)。在这完成后,后台传输服务可启用其RPC接口并开始从客户机接收调用。后台传输服务还调用应用实例管理器116以指示使用NotifyBackgroundServiceStart()来启动,并且调用NotifyRequestCreated()以通知应用实例管理器116后台传输服务102已创建新请求。当使用BtsCreateBackgroundTransferRequest API来创建新请求时,后台传输服务102在每一请求仅使用一次NotifyRequestCreated来调用应用实例管理器116。
后台传输服务102还可检查其请求队列是否已经在多于某一时间(例如两分钟)内为空并且在空闲时自己停止。后台传输服务102可由后台传输服务客户机使用ActivateService()来重新激活。还将使用NotifyBackgroundServiceStop()来调用应用实例管理器116来指示停止。
对于可靠性和出错处理,后台传输服务102可依靠娱乐下载管理器114来向它呈现传输错误。一旦娱乐下载管理器114报告传输错误,或者存在阻止请求完成的其他后台传输服务错误,则娱乐下载管理器114将会将该请求移至已完成状态但将该已完成状态,迄今传输的字节、总预期字节和http状态连同该请求一起保存在持久存储中以使得应用能够稍后查询它。应用在其已经对传输结果采取适当动作时将请求从存储中删除。
对于应用卸载,后台传输服务102创作实现IBackgroundServiceProxy接口的进程中COM服务器,以使得应用实例管理器116可以在应用被卸载或其许可证被撤消/恢复时通知后台传输服务。只要在后台传输服务102已经启动并且准备好接受来自应用实例管理器116的通知时,后台传输服务就将每一请求的创建和删除通知给应用实例管理器116。
当应用被卸载时,后台传输服务删除对应于该应用的请求。当应用许可证被撤消时,后台传输服务将请求状态改为已暂停以及指示许可证已被撤消的状态。在该状态中,不做出改变传输请求状态的API(BtsEnqueueBackgroundTransferRequest等),并且这些API将失败且具有许可错误。当许可证被恢复时,请求将遵循“传输条件被满足”路径(图15中的状态1503到状态1502)。
每一个请求只有少量字节需要被保存在存储器中。候选列表(基于存取速率)包括:
1.固定长度请求ID
2.固定长度应用产品ID
3.请求状态
4.已传输字节的数量
5.字节总数
6.传输状态
如果与请求有关的数据不可用,则引用持久存储。在一个实现中,后台传输服务102不为罕见事件布置线程并且改为使用线程汇合(pooling)。
后台传输服务客户机可任选地订阅传输进度通知,并且将在传输的特定完成点处做出应用回调。做出回调的时间点取决于娱乐下载管理器114对后台传输服务的回调,该对后台传输服务的回调以任意间隔进行。后台传输服务客户机可使用在创建步骤中获取的RPC上下文句柄来做出对后台传输服务的RPC调用以注册进度/完成通知。
如可见的,后台传输服务向第三方应用提供服务以便,例如使用http/https协议,将文件传输到后台中的应用的分离存储或从后台中的应用的分离存储传输文件。后台传输服务向第三方应用提供用于以下操作的一组API:提交文件传输请求、检查请求状态、注册完成和进度通知或取消请求。后台传输服务即使在应用已经脱水、终止或遵循设备重启时也管理和处理请求。后台传输服务将状态报告回给应用。
示例性操作环境
图16示出可在其上实现此处所描述的主题的各方面的合适的移动设备1600的示例。移动设备1600仅为设备的一个示例,并非旨在对此处所描述的主题的各方面的使用范围或功能提出任何限制。移动设备1600也不应被解释成对于在示例性移动设备1600中所示出的任一组件或其组合有任何依赖或要求。
参考图16,用于实现此处所述的主题的各方面的示例性设备包括移动设备1600。在某些实施例中,移动设备1600包括蜂窝电话、允许与其他手持设备的语音通信的手持设备、某一其他语音通信设备等。在这些实施例中,移动设备1600可配备用于拍摄照片的照相机,虽然这在其他实施例中可能不是必需的。在其他实施例中,移动设备1600包括个人数字助理(PDA)、手持游戏设备、笔记本计算机、打印机、包括机顶盒、媒体中心等的装置、或其他装置、其他移动设备等。在又一些实施例中,移动设备1600可包括通常被认作非移动的设备,如个人计算机、服务器等。
移动设备1600的组件可以包括但不限于,处理单元1605、系统存储器1610和将包括系统存储器1610在内的各种系统组件耦合至处理单元1605的总线1615。总线1615可包括几种类型的总线结构中的任何一种,包括存储器总线、存储器控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线等。总线1615允许在移动设备1600的各种组件之间传送数据。
移动设备1600可以包括各种计算机可读介质。计算机可读介质可以是能由移动设备1600访问的任何可用介质,而且包含易失性和非易失性介质以及可移动、不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可用于存储所需信息并且可由移动设备1600访问的任何其他介质。
通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任何信息传送介质。术语“已调制数据信号”是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、蓝牙
Figure BDA0000135411860000191
无线USB、红外、Wi-Fi、WiMAX、和其它无线介质。上述的任意组合也应包含在计算机可读介质的范围内。
系统存储器1610包括易失性和/或非易失性存储器形式的计算机存储介质,且可包括只读存储器(ROM)和随机存取存储器(RAM)。在诸如蜂窝电话等移动设备上,操作系统代码1620有时被包括在ROM中,虽然在其他实施例中,这不是必需的。类似地,应用程序1625通常位于RAM中,虽然同样在其他实施例中,应用程序可位于ROM中或其他计算机可读存储器中。堆1630提供用于与操作系统1620和应用程序1625相关联的状态的存储器。例如,操作系统1620和应用程序1625可在其操作期间将变量和数据结构存储在堆1630中。
移动设备1600还可包括其他可移动/不可移动、易失性/非易失性存储器。作为示例,图16示出闪存卡1635、硬盘驱动器1636、以及记忆棒1637。例如,可小型化硬盘驱动器1636以适应存储器槽。移动设备1600可经由可移动存储器接口1631与这些类型的非易失性可移动存储器接口,或可经由通用串行总线(USB)、IEEE 16394、一个或多个有线端口1640、或天线1665连接。在这些实施例中,可移动存储器设备1635-1637可经由通信模块1632与移动设备接口。在某些实施例中,并非所有这些类型的存储器都可被包括在单个移动设备上。在其他实施例中,可将这些和其他类型的可移动存储器中的一个或多个包括在单个移动设备上。
在某些实施例中,可按更持久地附连到移动设备1600的方式连接硬盘驱动器1636。例如,硬盘驱动器1636可连接到诸如并行高级技术附件(PATA)、串行高级技术附件(SATA)或其他可连接到总线1615的附件等接口。在此类实施例中,移除硬盘驱动器可涉及移除移动设备1600的外壳并移除将硬盘驱动器1636连接到移动设备1600内的支承结构的螺丝钉或其他紧固件。
以上描述和在图16中示出的可移动存储设备1635-1637及其相关联的计算机存储介质提供对用于移动设备1600的计算机可读指令、程序模块、数据结构、和其他数据的存储。例如,可移动存储器设备1635-1637可存储由移动设备1600拍摄的图像、语音录音、联系人信息、程序、用于程序的数据等。
用户可通过诸如键盘1641和话筒1642等输入设备向移动设备1600中输入命令和信息。在某些实施例中,显示器1643可以是触敏屏幕并可允许用户在其上输入命令和信息。键盘1641和显示器1643可通过耦合到总线1615的用户输入接口1650连接到处理单元1605,但也可由其他接口和总线结构连接,如通信模块1632和有线端口1640。运动检测1652可用于确定对设备1600作出的姿势。
例如,用户可经由对话筒1642讲话以及经由在键盘1641或触敏显示器1643上输入的文本消息来与其他用户通信。音频单元1655可提供电信号以驱动扬声器1644以及接收并数字化接收自话筒1642的音频信号。
移动设备1600可包括提供信号以驱动照相机1661的视频单元1660。视频单元1660还可接收由相机1661获得的图像并将这些图像提供给包括在移动设备1600上的处理单元1605和/或存储器。由相机1661获得的图像可包括视频、不形成视频的一个或多个图像、或其某一组合。
通信模块1632可向一根或多根天线1665提供信号并从其接收信号。天线1665之一可发射并接收用于蜂窝电话网络的消息。另一天线可发射并接收蓝牙消息。又一天线(或共享天线)可经由无线以太网网络标准发射并接收网络消息。
更进一步,天线将例如GPS信号等基于位置的信息提供给GPS接口和机制1672。GPS机制1672又使相应的GPS数据(例如时间和坐标)可用于处理。
在某些实施例中,可使用单根天线来发射和/或接收用于超过一种类型的网络的消息。例如,单根天线可发射并接收语音和分组消息。
当在网络化环境中操作时,移动设备1600可连接到一个或多个远程设备。远程设备可包括个人计算机、服务器、路由器、网络PC、蜂窝电话、媒体回放设备、对等设备或其他常见的网络节点,并且一般包括上面相对于移动设备1600所述的许多或全部元件。
本文所描述的主题的各方面可与众多其他通用或专用计算系统环境或配置一起操作。适用于此处所描述的主题的各方面的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微控制器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括任意上述系统或设备的分布式计算环境等。
此处所描述的主题的各方面可在由移动设备执行的诸如程序模块等计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本文所描述的主题的各方面也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
此外,虽然此处频繁使用术语服务器,但可以认识到,该术语也可涵盖客户机、分布在一个或多个计算机上的一个或多个进程的集合、一个或多个独立的存储设备、一个或多个其他设备的集合、以上的一个或多个的组合,等等。
结论
尽管本发明易于作出各种修改和替换构造,但其某些说明性实施例在附图中示出并在上面被详细地描述。然而应当了解,这不旨在将本发明限于所公开的具体形式,而是相反地,旨在覆盖落入本发明的精神和范围之内的所有修改、替换构造和等效方案。

Claims (10)

1.一种包括后台传输服务(102)的系统,所述后台传输服务被配置成在移动设备上运行以便在应用(106)在后台时控制所述应用的网络通信的传输,所述后台传输服务被配置成基于控制后台应用数据传输的资源使用的一个后多个策略(103)来管理对数据传输的应用请求,以限制对前台应用操作的干扰。
2.如权利要求1所述的系统,其特征在于,还包括下载管理器,所述下载管理器被配置成进行远程连接以便与远程源进行数据传输以满足传输请求。
3.如权利要求2所述的系统,其特征在于,还包括数据共享服务,所述数据共享服务被配置成将传输自所述远程源的数据移动或复制到与所述应用相关联的分离存储中,或者移动或复制来自与所述应用相关联的分离存储的数据以便将所述数据传输到所述远程源,或两者兼而有之。
4.如权利要求1所述的系统,其特征在于,还包括应用实例管理器,所述应用实例管理器被配置成向所述后台传输服务提供关于以下内容的一个或多个通知:应用卸载状态、许可证撤销或恢复状态、或卸载状态、许可证撤消或恢复状态的任何组合。
5.一种计算环境中的至少部分地在至少一个处理器上执行的方法,所述方法包括
6.如权利要求5所述的方法,其特征在于,管理每一应用的所述数据传输请求包括为至少一个应用确定是否满足一个或多个传输条件,并且如果否,则将所述请求移至等待状态直到满足所述一个或多个传输条件。
7.如权利要求5所述的方法,其特征在于,管理每一应用的所述数据传输请求包括为至少一个应用基于可用带宽来扼制所述数据传输。
8.如权利要求5所述的方法,其特征在于,管理每一应用的所述数据传输请求包括为至少一个应用确定是否满足一个或多个传输条件,并且如果否,则将所述请求移至等待状态直到满足所述一个或多个传输条件;或者基于要传输的数据的大小来确定是否允许所述请求;或者基于可用带宽来扼制所述数据传输;或者是下述项的任何组合:确定是否满足一个或多个传输条件,并且如果否,则将所述请求移至等待状态直到满足所述一个或多个传输条件;基于要传输的数据的大小来确定是否允许所述请求;或者基于可用带宽来扼制所述数据传输。
9.一个或多个具有计算机可执行指令的计算机可读介质,所述计算机可执行指令在被执行时执行以下步骤,包括:
接收包括代表应用下载数据的请求的数据传输请求;
使对应于所述请求的信息在请求队列中排队(628);
处理来自所述请求队列的信息,包括代表所述应用将数据下载到请求存储(112)中(1502),包括当所述应用是后台应用时;以及
与具有将所述数据从所述请求存储移动或复制到与所述应用相关联的分离存储(108)的访问权的服务(110)进行通信。
10.如权利要求9所述的一个或多个计算机可读介质,其特征在于,还具有以下计算机可执行指令,包括从所述应用接收对与下载状态相关的状态信息的请求,并且响应于所述请求来返回状态信息。
CN201210031687.6A 2011-02-14 2012-02-13 用于移动设备上的应用的后台传输服务 Active CN102685729B (zh)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
US201161442701P 2011-02-14 2011-02-14
US201161442753P 2011-02-14 2011-02-14
US201161442740P 2011-02-14 2011-02-14
US201161442713P 2011-02-14 2011-02-14
US201161442735P 2011-02-14 2011-02-14
US61/442,713 2011-02-14
US61/442,740 2011-02-14
US61/442,753 2011-02-14
US61/442,701 2011-02-14
US61/442,735 2011-02-14
US13/164,678 2011-06-20
US13/164,678 US9560405B2 (en) 2011-02-14 2011-06-20 Background transfer service for applications on mobile devices

Publications (2)

Publication Number Publication Date
CN102685729A true CN102685729A (zh) 2012-09-19
CN102685729B CN102685729B (zh) 2018-05-04

Family

ID=46637513

Family Applications (3)

Application Number Title Priority Date Filing Date
CN2012100316306A Pending CN102779070A (zh) 2011-02-14 2012-02-13 移动设备上的后台音频
CN201210031687.6A Active CN102685729B (zh) 2011-02-14 2012-02-13 用于移动设备上的应用的后台传输服务
CN201210032726.4A Active CN102866913B (zh) 2011-02-14 2012-02-14 移动设备上的任务切换

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2012100316306A Pending CN102779070A (zh) 2011-02-14 2012-02-13 移动设备上的后台音频

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201210032726.4A Active CN102866913B (zh) 2011-02-14 2012-02-14 移动设备上的任务切换

Country Status (4)

Country Link
US (8) US10631246B2 (zh)
EP (1) EP2676206B1 (zh)
CN (3) CN102779070A (zh)
WO (2) WO2012112405A2 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973729A (zh) * 2013-01-28 2014-08-06 联想(北京)有限公司 信息处理方法和信息处理装置
CN104503740A (zh) * 2014-12-01 2015-04-08 小米科技有限责任公司 内存管理方法和装置
CN105446803A (zh) * 2014-08-18 2016-03-30 阿里巴巴集团控股有限公司 一种应用程序管理方法和装置
CN107634962A (zh) * 2017-10-11 2018-01-26 广东欧珀移动通信有限公司 网络带宽的管理方法及相关产品
CN107770381A (zh) * 2017-10-25 2018-03-06 广东欧珀移动通信有限公司 网络管理方法及相关产品
CN108885869A (zh) * 2016-03-16 2018-11-23 索尼移动通讯有限公司 控制包含语音的音频数据的回放
WO2019128540A1 (zh) * 2017-12-29 2019-07-04 Oppo广东移动通信有限公司 资源管理方法、移动终端及计算机可读存储介质
CN112042233A (zh) * 2018-04-06 2020-12-04 康维达无线有限责任公司 在5g网络中管理与局域数据网络(ladn)的连接的方法
CN114579201A (zh) * 2022-03-01 2022-06-03 支付宝(杭州)信息技术有限公司 一种窗口组件的执行方法、装置以及设备

Families Citing this family (287)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
TWI374382B (en) * 2008-09-01 2012-10-11 Htc Corp Icon operation method and icon operation module
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US9538003B2 (en) * 2009-09-18 2017-01-03 Audionow Ip Holdings, Llc System and method for interactive advertisement augmentation via a called voice connection
US20110099507A1 (en) 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
EP3306454B1 (en) * 2010-05-25 2019-04-03 Sony Mobile Communications Inc. A user interface for a touch sensitive display on an electronic device
US8886773B2 (en) 2010-08-14 2014-11-11 The Nielsen Company (Us), Llc Systems, methods, and apparatus to monitor mobile internet activity
US8910259B2 (en) 2010-08-14 2014-12-09 The Nielsen Company (Us), Llc Systems, methods, and apparatus to monitor mobile internet activity
US9110743B2 (en) 2010-12-21 2015-08-18 Microsoft Technology Licensing, Llc Extensible system action for sharing while remaining in context
US10631246B2 (en) 2011-02-14 2020-04-21 Microsoft Technology Licensing, Llc Task switching on mobile devices
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
JP5772132B2 (ja) * 2011-03-25 2015-09-02 富士通株式会社 データ転送装置、データ転送方法および情報処理装置
US9398103B2 (en) * 2011-04-15 2016-07-19 Qualcomm Incorporated Methods and apparatus for enhancing device performance through flow control
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US9069380B2 (en) 2011-06-10 2015-06-30 Aliphcom Media device, application, and content management using sensory input
US8594617B2 (en) 2011-06-30 2013-11-26 The Nielsen Company (Us), Llc Systems, methods, and apparatus to monitor mobile internet activity
US9201812B2 (en) * 2011-07-25 2015-12-01 Aliphcom Multiple logical representations of audio functions in a wireless audio transmitter that transmits audio data at different data rates
US20130054325A1 (en) * 2011-08-29 2013-02-28 Ebay Inc. Mobile platform for redeeming deals
US9032413B2 (en) * 2011-09-01 2015-05-12 Microsoft Technology Licensing, Llc Decoupling background work and foreground work
US20130060661A1 (en) * 2011-09-06 2013-03-07 Apple Inc. Managing access to digital content items
US8701125B2 (en) * 2011-09-06 2014-04-15 The Nielsen Company (Us), Llc Methods and apparatus to detect uninstallation of an on-device meter
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
KR102008495B1 (ko) * 2012-02-24 2019-08-08 삼성전자주식회사 데이터 공유 방법 및 이를 위한 이동 단말기
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US8681801B2 (en) * 2012-03-09 2014-03-25 Alcatel Lucent Method and apparatus for determining available bandwidth for wireless communication
US10528994B2 (en) * 2012-03-29 2020-01-07 International Business Machines Corporation Allocation of application licenses within cloud or infrastructure
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US8990534B2 (en) 2012-05-31 2015-03-24 Apple Inc. Adaptive resource management of a data processing system
US9164804B2 (en) 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9116820B2 (en) 2012-08-28 2015-08-25 Memory Technologies Llc Dynamic central cache memory
US9201693B2 (en) * 2012-09-04 2015-12-01 Microsoft Technology Licensing, Llc Quota-based resource management
US20140113616A1 (en) * 2012-10-19 2014-04-24 Sony Mobile Communications Ab Network initiated terminal background activity control
EP2728893B1 (en) * 2012-11-05 2020-04-22 Accenture Global Services Limited Controlling a data stream
US10194239B2 (en) * 2012-11-06 2019-01-29 Nokia Technologies Oy Multi-resolution audio signals
US11157436B2 (en) 2012-11-20 2021-10-26 Samsung Electronics Company, Ltd. Services associated with wearable electronic device
US9477313B2 (en) 2012-11-20 2016-10-25 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving outward-facing sensor of device
US8994827B2 (en) 2012-11-20 2015-03-31 Samsung Electronics Co., Ltd Wearable electronic device
US10551928B2 (en) 2012-11-20 2020-02-04 Samsung Electronics Company, Ltd. GUI transitions on wearable electronic device
US11372536B2 (en) * 2012-11-20 2022-06-28 Samsung Electronics Company, Ltd. Transition and interaction model for wearable electronic device
US10185416B2 (en) 2012-11-20 2019-01-22 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving movement of device
US11237719B2 (en) 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
US10423214B2 (en) 2012-11-20 2019-09-24 Samsung Electronics Company, Ltd Delegating processing from wearable electronic device
CN103076944A (zh) * 2013-01-05 2013-05-01 深圳市中兴移动通信有限公司 一种基于webos系统的应用切换方法、系统及移动手持终端
CN103915095B (zh) 2013-01-06 2017-05-31 华为技术有限公司 语音识别的方法、交互设备、服务器和系统
KR20240132105A (ko) 2013-02-07 2024-09-02 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10223450B1 (en) 2013-03-14 2019-03-05 Google Llc Data delivery
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10356579B2 (en) 2013-03-15 2019-07-16 The Nielsen Company (Us), Llc Methods and apparatus to credit usage of mobile devices
US9301173B2 (en) 2013-03-15 2016-03-29 The Nielsen Company (Us), Llc Methods and apparatus to credit internet usage
CN103176842B (zh) * 2013-03-15 2016-04-27 广东欧珀移动通信有限公司 后台进程管理方法及其移动终端
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014157897A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for switching tasks
WO2014157893A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for providing a private page
US9996246B2 (en) 2013-03-27 2018-06-12 Samsung Electronics Co., Ltd. Device and method for displaying execution result of application
WO2014157908A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Device and method for displaying execution result of application
WO2014157886A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for executing application
WO2014157885A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for providing menu interface
WO2014157894A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Display apparatus displaying user interface and method of providing the user interface
US10229258B2 (en) 2013-03-27 2019-03-12 Samsung Electronics Co., Ltd. Method and device for providing security content
KR102164454B1 (ko) * 2013-03-27 2020-10-13 삼성전자주식회사 개인 페이지 제공 방법 및 이를 위한 디바이스
KR20140123818A (ko) * 2013-04-15 2014-10-23 삼성전자주식회사 오디오 출력 제어 방법 및 이를 지원하는 장치
KR102083316B1 (ko) * 2013-04-24 2020-04-14 삼성전자주식회사 사용자 디바이스의 메모리 관리 방법 및 장치
US9955286B2 (en) * 2013-05-08 2018-04-24 Natalya Segal Smart wearable devices and system therefor
US20140359637A1 (en) * 2013-06-03 2014-12-04 Microsoft Corporation Task continuance across devices
KR20140142996A (ko) * 2013-06-05 2014-12-15 삼성전자주식회사 복수의 시큐어 엘리먼트에 구비된 애플릿의 데이터 처리 방법 및 장치
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101772152B1 (ko) 2013-06-09 2017-08-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
US8789040B1 (en) * 2013-07-16 2014-07-22 Appenity LLC Converting non-natively executable programs to downloadable executable programs
DE112014003653B4 (de) 2013-08-06 2024-04-18 Apple Inc. Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
KR20150020350A (ko) * 2013-08-12 2015-02-26 삼성전자주식회사 통신 시스템에서 멀티미디어 컨텐츠 위임 방법 및 장치
CN104424432B (zh) * 2013-08-26 2017-11-28 联想(北京)有限公司 一种信息处理方法及电子设备
CN103561299B (zh) * 2013-10-31 2017-09-08 宇龙计算机通信科技(深圳)有限公司 多媒体文件播放方法、移动终端及多媒体文件播放系统
CN104639721B (zh) * 2013-11-06 2018-11-27 阿里巴巴集团控股有限公司 在移动终端设备中提供应用程序信息的方法及装置
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
TWI616803B (zh) * 2013-12-27 2018-03-01 宏碁股份有限公司 螢幕畫面的縮放及操作方法、裝置與電腦程式產品
CN104750351A (zh) * 2013-12-30 2015-07-01 比亚迪股份有限公司 移动终端及其退回至桌面的方法和装置
CN103744671B (zh) * 2013-12-31 2017-06-27 联想(北京)有限公司 一种信息处理的方法及电子设备
US9558787B2 (en) 2014-01-29 2017-01-31 Google Inc. Media application backgrounding
US9473944B2 (en) 2014-02-24 2016-10-18 Microsoft Technology Licensing, Llc Local personal daemon
US9432472B2 (en) 2014-02-24 2016-08-30 Microsoft Technology Licensing, Llc Accelerated training of personal daemons
US9218497B2 (en) 2014-02-24 2015-12-22 Microsoft Technology Licensing, Llc Incentive-based app execution
US10691332B2 (en) 2014-02-28 2020-06-23 Samsung Electronics Company, Ltd. Text input on an interactive display
CN104899199B (zh) * 2014-03-04 2018-12-28 阿里巴巴集团控股有限公司 一种数据仓库数据处理方法和系统
US9871741B2 (en) 2014-03-10 2018-01-16 Microsoft Technology Licensing, Llc Resource management based on device-specific or user-specific resource usage profiles
US9760417B2 (en) 2014-03-10 2017-09-12 Microsoft Technology Licensing, Llc Application dehydration and rehydration during application-to-application calls
TWI602125B (zh) * 2014-04-17 2017-10-11 國立臺灣大學 資源分配方法
JP6399794B2 (ja) * 2014-04-25 2018-10-03 キヤノン株式会社 情報処理端末、制御方法及びプログラム
US9560055B2 (en) 2014-04-30 2017-01-31 Microsoft Technology Licensing, Llc Client-side integration framework of services
US10552179B2 (en) 2014-05-30 2020-02-04 Apple Inc. Resource management with dynamic resource policies
US9690685B2 (en) 2014-05-30 2017-06-27 Apple Inc. Performance management based on resource consumption
CN110797019B (zh) 2014-05-30 2023-08-29 苹果公司 多命令单一话语输入方法
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9432796B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
US9654536B2 (en) * 2014-06-04 2017-05-16 Sonos, Inc. Cloud queue playback policy
CN104038806B (zh) * 2014-06-11 2017-09-29 深圳市九洲电器有限公司 一种应用界面显示方法及机顶盒
CN104346560B (zh) * 2014-06-25 2017-06-16 腾讯科技(深圳)有限公司 一种安全验证方法及装置
CN104023147B (zh) * 2014-06-27 2016-05-11 广东欧珀移动通信有限公司 一种可使移动终端稳定休眠的方法及系统
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9665248B2 (en) 2014-07-15 2017-05-30 Google Inc. Adaptive background playback behavior
US11275861B2 (en) * 2014-07-25 2022-03-15 Fisher-Rosemount Systems, Inc. Process control software security architecture based on least privileges
CN105373419A (zh) 2014-08-26 2016-03-02 阿里巴巴集团控股有限公司 一种后台应用的操作方法及装置
US20160085840A1 (en) * 2014-09-22 2016-03-24 Microsoft Corporation Universal Interaction for Capturing Content to Persistent Storage
US9860306B2 (en) * 2014-09-24 2018-01-02 Microsoft Technology Licensing, Llc Component-specific application presentation histories
US10448111B2 (en) 2014-09-24 2019-10-15 Microsoft Technology Licensing, Llc Content projection
US9769227B2 (en) 2014-09-24 2017-09-19 Microsoft Technology Licensing, Llc Presentation of computing environment on multiple devices
US10635296B2 (en) 2014-09-24 2020-04-28 Microsoft Technology Licensing, Llc Partitioned application presentation across devices
US9678640B2 (en) 2014-09-24 2017-06-13 Microsoft Technology Licensing, Llc View management architecture
US10025684B2 (en) 2014-09-24 2018-07-17 Microsoft Technology Licensing, Llc Lending target device resources to host device computing environment
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
CN104407981B (zh) * 2014-10-28 2018-03-20 小米科技有限责任公司 内存管理方法和装置
US9762688B2 (en) 2014-10-31 2017-09-12 The Nielsen Company (Us), Llc Methods and apparatus to improve usage crediting in mobile devices
US10192549B2 (en) 2014-11-28 2019-01-29 Microsoft Technology Licensing, Llc Extending digital personal assistant action providers
US9959129B2 (en) 2015-01-09 2018-05-01 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants
US11423420B2 (en) 2015-02-06 2022-08-23 The Nielsen Company (Us), Llc Methods and apparatus to credit media presentations for online media distributions
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US20160291846A1 (en) * 2015-03-31 2016-10-06 Airwatch Llc Generating carousel user interface with graphics processing unit
CN104793846A (zh) * 2015-04-27 2015-07-22 小米科技有限责任公司 应用程序的界面展示方法及装置
US9405597B1 (en) 2015-05-01 2016-08-02 Salesforce.Com, Inc. Centralized throttling service
US20160335265A1 (en) * 2015-05-11 2016-11-17 Samsung Electronics Co., Ltd. User terminal apparatus and controlling method thereof
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9918114B2 (en) * 2015-06-01 2018-03-13 Comcast Cable Communications, Llc Transmission of applications with content
US10594835B2 (en) 2015-06-05 2020-03-17 Apple Inc. Efficient context monitoring
KR20160143429A (ko) * 2015-06-05 2016-12-14 엘지전자 주식회사 이동단말기 및 그 제어방법
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10069785B2 (en) 2015-06-05 2018-09-04 Apple Inc. Network messaging for paired devices
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10659845B2 (en) * 2015-08-06 2020-05-19 Google Llc Methods, systems, and media for providing video content suitable for audio-only playback
US10216694B2 (en) 2015-08-24 2019-02-26 Google Llc Generic scheduling
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) * 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
CN105335242B (zh) * 2015-11-02 2019-03-26 传线网络科技(上海)有限公司 Ios系统中后台下载视频文件的方法及系统
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10268254B2 (en) * 2016-01-15 2019-04-23 Google Llc Systems and methods for extending battery life by monitoring mobile application activity
US10462745B2 (en) 2016-01-15 2019-10-29 Google Llc Systems and methods for extending battery life by monitoring device activity
US11086418B2 (en) * 2016-02-04 2021-08-10 Douzen, Inc. Method and system for providing input to a device
KR102459031B1 (ko) * 2016-02-15 2022-10-26 삼성전자 주식회사 전자 장치 및 그 어플리케이션 표시 방법
CN105868624A (zh) * 2016-03-23 2016-08-17 北京小米移动软件有限公司 应用程序权限的管理方法及装置
US10216370B2 (en) 2016-03-29 2019-02-26 Microsoft Technology Licensing, Llc Tabs in system task switchers
CN105704239B (zh) * 2016-03-31 2018-08-24 广州指点网络科技有限公司 高速下载无线热点云终端及应用方法
CN107291549B (zh) * 2016-03-31 2020-11-24 阿里巴巴集团控股有限公司 一种管理应用程序的方法及装置
CN107912063B (zh) * 2016-04-27 2021-05-18 华为技术有限公司 一种内存回收方法及装置
US20170353603A1 (en) * 2016-06-03 2017-12-07 Facebook, Inc. Recommending applications using social networking information
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10747467B2 (en) 2016-06-10 2020-08-18 Apple Inc. Memory management for application loading
US10725761B2 (en) * 2016-06-10 2020-07-28 Apple Inc. Providing updated application data for previewing applications on a display
US10520979B2 (en) 2016-06-10 2019-12-31 Apple Inc. Enhanced application preview mode
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
CN105955701A (zh) * 2016-06-21 2016-09-21 深圳市金立通信设备有限公司 一种音量调节方法及终端
KR102691293B1 (ko) * 2016-07-29 2024-08-05 삼성전자 주식회사 전자 장치의 전력 소모 감소를 위한 방법 및 장치
US20180063670A1 (en) * 2016-08-26 2018-03-01 Microsoft Technology Licensing, Llc Background management of mobile applications
US11599383B2 (en) * 2016-08-30 2023-03-07 Microsoft Technology Licensing, Llc Concurrent execution of task instances relating to a plurality of applications
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
CN107968960A (zh) * 2016-10-20 2018-04-27 中兴通讯股份有限公司 一种后台音视频播放控制方法和装置
CN106559572B (zh) * 2016-11-15 2020-12-01 泾县谷声信息科技有限公司 杂音定位方法及装置
US10353686B1 (en) * 2016-12-28 2019-07-16 Facebook, Inc. Application installation system
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10666707B2 (en) * 2017-01-11 2020-05-26 Microsoft Technology Licensing, Llc Nonconsecutive file downloading
US10536322B2 (en) 2017-01-17 2020-01-14 Microsoft Technology Licensing, Llc Resource management for services
CN106897135A (zh) * 2017-02-28 2017-06-27 努比亚技术有限公司 一种应用中断后的恢复方法及装置
US10117083B1 (en) 2017-04-28 2018-10-30 Motorola Solutions, Inc. Method and apparatus for audio prioritization
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10528228B2 (en) 2017-06-21 2020-01-07 Microsoft Technology Licensing, Llc Interaction with notifications across devices with a digital assistant
WO2019028912A1 (zh) * 2017-08-11 2019-02-14 华为技术有限公司 一种应用切换方法及装置
US11196875B2 (en) * 2017-09-20 2021-12-07 Fujifilm Business Innovation Corp. Application apparatus, image processing apparatus, and non-transitory computer readable medium with plurality of recovery methods for applications switching to be in operation target state
CN107678817A (zh) * 2017-09-21 2018-02-09 北京三快在线科技有限公司 视图切换方法和装置以及计算设备
CN107678796A (zh) * 2017-09-28 2018-02-09 惠州Tcl移动通信有限公司 一种优化系统资源的方法、存储设备及移动终端
JP2020537211A (ja) * 2017-10-13 2020-12-17 ホアウェイ・テクノロジーズ・カンパニー・リミテッド アプリケーション管理方法および端末
CN109714640B (zh) * 2017-10-26 2022-01-21 创盛视联数码科技(北京)有限公司 播放直播视频的方法
US11068127B2 (en) * 2017-10-27 2021-07-20 Oracle International Corporation Springboard interface for quick task transitions
KR102477043B1 (ko) 2017-11-08 2022-12-14 삼성전자주식회사 전자 장치 및 그의 제어 방법
US10366766B2 (en) * 2017-12-12 2019-07-30 Western Digital Technologies, Inc. Power shaping and peak power reduction by data transfer throttling
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US11010498B1 (en) 2018-02-06 2021-05-18 Life360, Inc. App usage detection based on screen lock state
US11627215B1 (en) 2018-02-14 2023-04-11 Life360, Inc. Smart usage monitoring and access control of web and mobile applications
US10764143B2 (en) * 2018-02-26 2020-09-01 Verizon Patent And Licensing Inc. System and method for enforcing group policies for MTC devices to perform background data transfers
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
JP7041559B2 (ja) * 2018-03-14 2022-03-24 キヤノン株式会社 通信装置、データ転送装置およびそれらの制御方法、並びにプログラム
CN108600817B (zh) * 2018-03-15 2021-03-16 聚好看科技股份有限公司 智能电视以及便于浏览显示设备中应用安装进度的方法
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10713212B2 (en) 2018-05-21 2020-07-14 Microsoft Technology Licensing Llc Mobile remote direct memory access
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11076039B2 (en) 2018-06-03 2021-07-27 Apple Inc. Accelerated task performance
US11055110B2 (en) * 2018-06-05 2021-07-06 Microsoft Technology Licensing, Llc Operating system service for persistently executing programs
CN108882041B (zh) * 2018-07-09 2021-03-05 海信视像科技股份有限公司 播放器状态获取方法及装置
CN110806925B (zh) * 2018-08-06 2022-08-23 成都鼎桥通信技术有限公司 音频播放方法及设备
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
CN111045632B (zh) * 2018-10-11 2024-01-30 瑞昱半导体股份有限公司 音频播放装置及其运行方法
US11159601B1 (en) * 2018-10-16 2021-10-26 Amazon Technologies, Inc. Triggering a content-related action based on a network identifier
CN109634549A (zh) * 2018-10-23 2019-04-16 中国平安人寿保险股份有限公司 音频播放方法、音频播放器、计算机装置及可读存储介质
CN109088997B (zh) * 2018-10-26 2021-05-21 努比亚技术有限公司 一种游戏音频控制方法、终端及计算机可读存储介质
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
EP3984167B1 (en) 2019-06-17 2024-02-28 Telefonaktiebolaget LM Ericsson (publ) A method of updating a background data transfer policy negotiated between an application function and a core network, and a policy control function
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
CN112685167A (zh) * 2019-10-17 2021-04-20 伊姆西Ip控股有限责任公司 资源使用方法、电子设备和计算机程序产品
US11775362B2 (en) * 2019-10-22 2023-10-03 Vmware, Inc. Content provisioning to virtual machines
US11392422B1 (en) * 2019-11-27 2022-07-19 Amazon Technologies, Inc. Service-managed containers for container orchestration service
US11422844B1 (en) 2019-11-27 2022-08-23 Amazon Technologies, Inc. Client-specified network interface configuration for serverless container management service
CN111200753A (zh) * 2020-02-20 2020-05-26 四川长虹电器股份有限公司 提升Android电视网络视频播放流畅度的方法
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
GB2603228A (en) * 2020-06-22 2022-08-03 Audiomob Ltd Adding audio content to digital works
JP7503156B2 (ja) 2020-06-22 2024-06-19 オーディオモブ・リミテッド デジタル作品へのオーディオコンテンツの送信
US11403150B1 (en) 2020-06-23 2022-08-02 Amazon Technologies, Inc. Replenishment-aware resource usage management
US11573816B1 (en) 2020-06-26 2023-02-07 Amazon Technologies, Inc. Prefetching and managing container images using cluster manifest
US11487591B1 (en) 2020-06-29 2022-11-01 Amazon Technologies, Inc. Automatically configuring execution of a containerized application
CN111880875B (zh) * 2020-07-15 2023-12-22 百度在线网络技术(北京)有限公司 多媒体播放的控制方法、装置、设备、存储介质和系统
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11567800B2 (en) 2020-07-21 2023-01-31 Appnomic Systems Private Limited Early identification of problems in execution of background processes
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
WO2022018592A1 (en) * 2020-07-21 2022-01-27 Appnomic Systems Private Limited Early identification of problems in execution of background processes
US11853807B1 (en) 2020-12-01 2023-12-26 Amazon Technologies, Inc. Cluster scaling based on task state information
CN112650958B (zh) * 2020-12-28 2023-12-19 北京达佳互联信息技术有限公司 页面处理方法、装置、电子设备及计算机可读存储介质
US11797287B1 (en) 2021-03-17 2023-10-24 Amazon Technologies, Inc. Automatically terminating deployment of containerized applications
US11892418B1 (en) 2021-06-30 2024-02-06 Amazon Technologies, Inc. Container image inspection and optimization
US11995466B1 (en) 2021-06-30 2024-05-28 Amazon Technologies, Inc. Scaling down computing resource allocations for execution of containerized applications
US11989586B1 (en) 2021-06-30 2024-05-21 Amazon Technologies, Inc. Scaling up computing resource allocations for execution of containerized applications
CN116737104B (zh) * 2022-09-16 2024-07-30 荣耀终端有限公司 音量调节方法和相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115048A1 (en) * 2007-03-16 2010-05-06 Scahill Francis J Data transmission scheduler
CN101788926A (zh) * 2009-12-28 2010-07-28 中兴通讯股份有限公司 J2me应用前台切换的资源调配方法及装置
US20100262973A1 (en) * 2009-04-09 2010-10-14 Rolf Ernst Method For Operating a Multiprocessor Computer System
CN101911790A (zh) * 2008-01-11 2010-12-08 苹果公司 移动网络设备电池保存系统和方法

Family Cites Families (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03288934A (ja) 1990-04-05 1991-12-19 Fujitsu Ltd 仮想計算機システムにおけるデータ転送制御方式
IL97894A0 (en) 1991-04-17 1992-06-21 Ibm Multi-processor computer system
US5398723A (en) * 1994-02-28 1995-03-21 Aeroquip Corporation Fluid coupling with adjustable pressure relief valve
US5850518A (en) 1994-12-12 1998-12-15 Northrup; Charles J. Access-method-independent exchange
US5655081A (en) 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US5754776A (en) 1995-12-28 1998-05-19 Intel Corporation Re-prioritizing background data transfers in multipoint conferencing
US8120652B2 (en) * 1997-04-02 2012-02-21 Gentex Corporation System for controlling vehicle equipment
US6324411B1 (en) 1997-05-20 2001-11-27 Telefonaktiebolaget Lm Ericsson (Publ) Background software loading in cellular telecommunication systems
US6005488A (en) * 1997-12-03 1999-12-21 Ford Motor Company User control interface architecture for automotive electronic systems
US6874145B1 (en) 1999-07-13 2005-03-29 Sun Microsystems, Inc. Methods and apparatus for implementing an application lifecycle design for applications
US6957395B1 (en) * 2000-01-04 2005-10-18 Apple Computer, Inc. Computer interface having a single window mode of operation
US7275085B1 (en) 2000-04-14 2007-09-25 International Business Machines Corporation Method and apparatus for maintaining state information for web pages using a directory server
US7058947B1 (en) 2000-05-02 2006-06-06 Microsoft Corporation Resource manager architecture utilizing a policy manager
AU2001257510A1 (en) 2000-05-03 2001-11-12 Worldgate Service, Inc. System and method to control and distribute processing and memory resources among applications in a television terminal
US6629227B1 (en) 2000-05-04 2003-09-30 Scientific-Atlanta, Inc. System and method for a communication terminal to manage memory and maintain a current application version for multiple applications
US20020012329A1 (en) * 2000-06-02 2002-01-31 Timothy Atkinson Communications apparatus interface and method for discovery of remote devices
US7124424B2 (en) 2000-11-27 2006-10-17 Sedna Patent Services, Llc Method and apparatus for providing interactive program guide (IPG) and video-on-demand (VOD) user interfaces
US7512952B1 (en) 2001-04-06 2009-03-31 Palmsource, Inc. Task switching with state preservation for programs running on an electronic device
US7539483B2 (en) 2001-05-02 2009-05-26 Qualcomm Incorporated System and method for entering alphanumeric characters in a wireless communication device
US20050024341A1 (en) * 2001-05-16 2005-02-03 Synaptics, Inc. Touch screen with user interface enhancement
US7546602B2 (en) * 2001-07-10 2009-06-09 Microsoft Corporation Application program interface for network software platform
US6683938B1 (en) 2001-08-30 2004-01-27 At&T Corp. Method and system for transmitting background audio during a telephone call
US20030061260A1 (en) 2001-09-25 2003-03-27 Timesys Corporation Resource reservation and priority management
US7237240B1 (en) * 2001-10-30 2007-06-26 Microsoft Corporation Most used programs list
US7346855B2 (en) 2001-12-21 2008-03-18 Microsoft Corporation Method and system for switching between multiple computer applications
US20040153504A1 (en) * 2002-11-21 2004-08-05 Norman Hutchinson Method and system for enhancing collaboration using computers and networking
KR20040046483A (ko) * 2002-11-27 2004-06-05 삼성전자주식회사 컴퓨터시스템 및 그 제어방법
US20040194153A1 (en) 2003-03-24 2004-09-30 Sony Corporation And Sony Electronics Inc. Conservation of system resources by efficiently activating/de-activating applications
US7076616B2 (en) 2003-03-24 2006-07-11 Sony Corporation Application pre-launch to reduce user interface latency
GB0308991D0 (en) 2003-04-17 2003-05-28 Psion Digital Ltd A data access replication or communication system comprising a distributed software application
US7146439B1 (en) 2003-06-27 2006-12-05 Emc Corporation Management of background copy task for point-in-time copies
GB0315492D0 (en) 2003-07-02 2003-08-06 Symbian Ltd A method of enabling a multitasking wireless information device to conserve battery power
US8032890B2 (en) 2003-07-22 2011-10-04 Sap Ag Resources managing in isolated plurality of applications context using data slots to access application global data and specification of resources lifetime to access resources
US20050026654A1 (en) 2003-07-30 2005-02-03 Motorola, Inc. Dynamic application resource management
SG176315A1 (en) * 2003-12-01 2011-12-29 Research In Motion Ltd Previewing a new event on a small screen device
EP2341432A1 (en) 2004-03-13 2011-07-06 Adaptive Computing Enterprises, Inc. System and method of co-allocating a reservation spanning different compute resources types
JP2007535774A (ja) * 2004-04-30 2007-12-06 ヒルクレスト・ラボラトリーズ・インコーポレイテッド 自由空間ポインティングデバイスにおける意図的でない動きを除去するための方法およびデバイス
US20050278449A1 (en) 2004-05-28 2005-12-15 Moss Douglas G Method of restricting access to certain materials available on electronic devices
US20080154601A1 (en) 2004-09-29 2008-06-26 Microsoft Corporation Method and system for providing menu and other services for an information processing system using a telephone or other audio interface
EP1657888A1 (en) * 2004-11-16 2006-05-17 Abb Research Ltd. Reception of redundant and non-redundant frames
JP4611000B2 (ja) 2004-11-17 2011-01-12 パナソニック株式会社 携帯端末装置
US7668576B2 (en) * 2004-12-16 2010-02-23 Dashjack, Inc. Incorporating a portable digital music player into a vehicle audio system
US20060136882A1 (en) 2004-12-17 2006-06-22 Nokia Corporation System and method for background JAVA application resource control
US20060213754A1 (en) 2005-03-17 2006-09-28 Microsoft Corporation Method and system for computer application program task switching via a single hardware button
US7673255B2 (en) * 2005-04-22 2010-03-02 Microsoft Corporation Interface and system for manipulating thumbnails of live windows in a window manager
EP1724955A3 (en) 2005-05-17 2007-01-03 Samsung Electronics Co.,Ltd. Method for taking a telephone call while receiving a broadcast service, and digital multimedia broadcasting terminal using this method
US20060288336A1 (en) 2005-06-21 2006-12-21 Microsoft Corporation Module initialization
US20070036137A1 (en) * 2005-07-29 2007-02-15 Horner Richard M Indicating presence of a contact on a communication device
US7663045B2 (en) * 2005-09-20 2010-02-16 Microsoft Corporation Music replacement in a gaming system
CA2624671C (en) 2005-09-30 2012-01-03 Research In Motion Limited Methods and apparatus for dynamically adjusting a data packet window size for data packet transmission in a wireless communication network
US9274774B2 (en) * 2005-10-28 2016-03-01 Google Inc. Common installer server
US8082008B2 (en) 2006-02-10 2011-12-20 Access Co., Ltd. User-interface and architecture for portable processing device
JP4177873B2 (ja) 2006-03-13 2008-11-05 株式会社カシオ日立モバイルコミュニケーションズ 電子機器及びプログラム
US8745526B2 (en) 2006-03-14 2014-06-03 Blackberry Limited Screen display in application switching
US7706903B2 (en) * 2006-04-13 2010-04-27 International Business Machines Corporation Selective muting of applications
US20070294699A1 (en) 2006-06-16 2007-12-20 Microsoft Corporation Conditionally reserving resources in an operating system
KR100700951B1 (ko) 2006-08-23 2007-03-28 삼성전자주식회사 이동통신 시스템에서 다중 작업 관리를 위한 장치 및 방법
WO2008026252A1 (fr) * 2006-08-29 2008-03-06 Pioneer Corporation Dispositif et procédé d'enregistrement et de reproduction d'informations et programme informatique associé
KR100784973B1 (ko) 2006-09-11 2007-12-11 삼성전자주식회사 영상 데이터의 변조를 이용한 영역 표시 방법
US20080082936A1 (en) 2006-09-28 2008-04-03 Richard Eric Helvick Method and system for displaying alternative task data on mobile electronic device
US8245154B2 (en) * 2006-11-03 2012-08-14 International Business Machines Corporation Most-recently-used task switching among parent and child windows
TWI377813B (en) 2006-11-24 2012-11-21 Inst Information Industry Apparatus, method, computer program, and computer readable medium for transnitting data via a plurality of network interfaces
US8448067B2 (en) 2006-12-07 2013-05-21 Sony Computer Entertainment America, LLC Graphics command management tool and methods for analyzing performance for command changes before application modification
US7827358B2 (en) 2007-01-07 2010-11-02 Apple Inc. Memory management methods and systems
US20080172698A1 (en) 2007-01-12 2008-07-17 Berger Adam L Performing support functions on a portable device
KR20100014823A (ko) 2007-01-23 2010-02-11 에이저 시스템즈 인크 디바이스들을 위한 단일 스레드 아키텍쳐에서 애플리케이션 스위칭
US8499312B2 (en) 2007-03-09 2013-07-30 Microsoft Corporation Administrator level access to backend stores
US8185581B2 (en) * 2009-05-19 2012-05-22 Nholdings Sa Providing a local device with computing services from a remote host
US8261205B2 (en) * 2007-05-30 2012-09-04 Hewlett-Packard Development Company, L.P. User interface for presenting a list of thumbnail items associated with media items
JP5327497B2 (ja) * 2007-07-11 2013-10-30 日立オートモティブシステムズ株式会社 地図データ配信システム及び地図データ更新方法
US7823076B2 (en) * 2007-07-13 2010-10-26 Adobe Systems Incorporated Simplified user interface navigation
US20090028127A1 (en) 2007-07-26 2009-01-29 Gordon Kent Walker Methods and apparatus for providing computational load allocation in a network environment
WO2009037522A2 (en) 2007-08-30 2009-03-26 Nokia Corporation Mobile messaging
JP5184018B2 (ja) * 2007-09-14 2013-04-17 京セラ株式会社 電子機器
US8510743B2 (en) 2007-10-31 2013-08-13 Google Inc. Terminating computer applications
US8943520B1 (en) * 2007-11-28 2015-01-27 Sprint Communications Company L.P. Uniform resource locator application initiation
US9154606B2 (en) 2008-01-30 2015-10-06 Google Inc. Notification of mobile device events
US8555201B2 (en) 2008-06-05 2013-10-08 Qualcomm Incorporated Wireless communication device having deterministic control of foreground access of the user interface
US20090327953A1 (en) 2008-06-30 2009-12-31 Nokia Corporation Unified navigation model between multiple applications
US8255562B2 (en) 2008-06-30 2012-08-28 International Business Machines Corporation Adaptive data throttling for storage controllers
US8196213B2 (en) 2008-07-11 2012-06-05 Microsoft Corporation Verification of un-trusted code for consumption on an insecure device
US9542222B2 (en) * 2008-11-14 2017-01-10 Oracle International Corporation Resource broker system for dynamically deploying and managing software services in a virtual environment based on resource usage and service level agreement
US20100153877A1 (en) * 2008-12-11 2010-06-17 Mika Antero Rautava Task Switching
US8458498B2 (en) 2008-12-23 2013-06-04 Intel Corporation Method and apparatus of power management of processor
US8495403B2 (en) 2008-12-31 2013-07-23 Intel Corporation Platform and processor power management
US8190930B2 (en) 2009-03-30 2012-05-29 Intel Corporation Methods and apparatuses for controlling thread contention
US8175653B2 (en) * 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
US20100281481A1 (en) 2009-04-30 2010-11-04 Nokia Corporation Apparatus and method for providing a user interface within a computing device
US8340099B2 (en) * 2009-07-15 2012-12-25 Microsoft Corporation Control of background data transfers
WO2011040849A1 (en) 2009-10-01 2011-04-07 Telefonaktiebolaget L M Ericsson (Publ) A method and arrangement for managing persistent rich internet applications
US9152299B2 (en) * 2009-10-08 2015-10-06 Red Hat, Inc. Activity management tool
US9420602B2 (en) 2009-12-21 2016-08-16 At&T Intellectual Property I, L.P. Emergency and prioritized access to wireless resources
US8826141B2 (en) * 2010-02-12 2014-09-02 Blackberry Limited Image-based and predictive browsing
US20110252430A1 (en) 2010-04-07 2011-10-13 Apple Inc. Opportunistic Multitasking
US9052800B2 (en) * 2010-10-01 2015-06-09 Z124 User interface with stacked application management
US8856798B2 (en) 2010-10-21 2014-10-07 Qualcomm Incorporated Mobile computing device activity manager
US8635630B2 (en) 2010-10-25 2014-01-21 Microsoft Corporation Application lifetime management
US9763140B2 (en) 2010-11-02 2017-09-12 Cisco Technology, Inc. Resource reservation on networks comprising wireless and wired segments
US9600780B2 (en) 2010-11-29 2017-03-21 Nokia Technologies Oy Method and apparatus for sharing and managing resource availability
US9288230B2 (en) * 2010-12-20 2016-03-15 Qualcomm Incorporated Methods and apparatus for providing or receiving data connectivity
US20120158827A1 (en) 2010-12-21 2012-06-21 Verizon Patent And Licensing Inc. Active server system monitor
US8698822B1 (en) * 2010-12-30 2014-04-15 The Mathworks, Inc. Managing visual updates
US20120174020A1 (en) * 2010-12-31 2012-07-05 International Business Machines Corporation Indication of active window when switching tasks in a multi-monitor environment
US10631246B2 (en) 2011-02-14 2020-04-21 Microsoft Technology Licensing, Llc Task switching on mobile devices
US9104440B2 (en) * 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9439208B2 (en) 2011-11-04 2016-09-06 Intel Corporation Scheduling requests for wireless communication devices running background applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115048A1 (en) * 2007-03-16 2010-05-06 Scahill Francis J Data transmission scheduler
CN101911790A (zh) * 2008-01-11 2010-12-08 苹果公司 移动网络设备电池保存系统和方法
US20100262973A1 (en) * 2009-04-09 2010-10-14 Rolf Ernst Method For Operating a Multiprocessor Computer System
CN101788926A (zh) * 2009-12-28 2010-07-28 中兴通讯股份有限公司 J2me应用前台切换的资源调配方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973729A (zh) * 2013-01-28 2014-08-06 联想(北京)有限公司 信息处理方法和信息处理装置
CN103973729B (zh) * 2013-01-28 2018-07-03 联想(北京)有限公司 信息处理方法和信息处理装置
CN105446803A (zh) * 2014-08-18 2016-03-30 阿里巴巴集团控股有限公司 一种应用程序管理方法和装置
CN104503740A (zh) * 2014-12-01 2015-04-08 小米科技有限责任公司 内存管理方法和装置
CN108885869A (zh) * 2016-03-16 2018-11-23 索尼移动通讯有限公司 控制包含语音的音频数据的回放
CN108885869B (zh) * 2016-03-16 2023-07-18 索尼移动通讯有限公司 控制包含语音的音频数据的回放的方法、计算设备和介质
CN107634962A (zh) * 2017-10-11 2018-01-26 广东欧珀移动通信有限公司 网络带宽的管理方法及相关产品
CN107634962B (zh) * 2017-10-11 2019-06-18 Oppo广东移动通信有限公司 网络带宽的管理方法及相关产品
CN107770381B (zh) * 2017-10-25 2020-08-14 Oppo广东移动通信有限公司 网络管理方法及相关产品
CN107770381A (zh) * 2017-10-25 2018-03-06 广东欧珀移动通信有限公司 网络管理方法及相关产品
WO2019128540A1 (zh) * 2017-12-29 2019-07-04 Oppo广东移动通信有限公司 资源管理方法、移动终端及计算机可读存储介质
CN112042233A (zh) * 2018-04-06 2020-12-04 康维达无线有限责任公司 在5g网络中管理与局域数据网络(ladn)的连接的方法
CN112042233B (zh) * 2018-04-06 2024-07-12 交互数字专利控股公司 在5g网络中管理与局域数据网络(ladn)的连接的方法
CN114579201A (zh) * 2022-03-01 2022-06-03 支付宝(杭州)信息技术有限公司 一种窗口组件的执行方法、装置以及设备
CN114579201B (zh) * 2022-03-01 2024-05-31 支付宝(杭州)信息技术有限公司 一种窗口组件的执行方法、装置以及设备

Also Published As

Publication number Publication date
CN102866913B (zh) 2018-03-30
US9560405B2 (en) 2017-01-31
EP2676206B1 (en) 2017-08-16
US20200154360A1 (en) 2020-05-14
WO2012112405A2 (en) 2012-08-23
WO2012112405A3 (en) 2012-11-29
EP2676206A4 (en) 2016-08-03
US20180352516A1 (en) 2018-12-06
US10631246B2 (en) 2020-04-21
US20120210321A1 (en) 2012-08-16
US20180139700A9 (en) 2018-05-17
US20120209413A1 (en) 2012-08-16
US20120210326A1 (en) 2012-08-16
WO2012112404A2 (en) 2012-08-23
US20170238259A1 (en) 2017-08-17
CN102866913A (zh) 2013-01-09
US9060196B2 (en) 2015-06-16
EP2676206A2 (en) 2013-12-25
US11006369B2 (en) 2021-05-11
US20120209946A1 (en) 2012-08-16
CN102685729B (zh) 2018-05-04
US10542496B2 (en) 2020-01-21
US10009850B2 (en) 2018-06-26
CN102779070A (zh) 2012-11-14
US20120210266A1 (en) 2012-08-16
WO2012112404A3 (en) 2012-12-27

Similar Documents

Publication Publication Date Title
CN102685729A (zh) 用于移动设备上的应用的后台传输服务
US10853329B2 (en) Distributed file system
US10742750B2 (en) Managing a distributed network of function execution environments
CN108737468B (zh) 云平台服务集群、构建方法及装置
US8789043B2 (en) Optimized placement planning for virtual machines in a network by breaking relocation graph into one or more cores to apply different solutions
US20130074067A1 (en) Multimodal computing device
US20170177401A1 (en) Live migration for virtual computing resources utilizing network-based storage
US10469405B2 (en) Network-accessible data volume modification
US10187485B1 (en) Systems and methods for sending push notifications that include preferred data center routing information
US10075387B1 (en) Mobile server connection
US11861577B2 (en) System and method for distributed enforcement of configuration limitations
US11888690B2 (en) System and method for subscription limitation enforcement in distributed system
US8521902B2 (en) Shared buffer for connectionless transfer protocols
CN103559080B (zh) 移动设备上的后台应用代码的受约束执行
US11943093B1 (en) Network connection recovery after virtual machine transition in an on-demand network code execution system
TWI525544B (zh) 用於行動設備上的應用程式的背景傳輸服務
US20240022472A1 (en) Systems and methods for deploying third-party applications on a cluster of network switches
US10042682B2 (en) Copy message from application buffer to send buffer within kernel
US20230388369A1 (en) Techniques for overriding libraries for workloads in a cloud-computing environment
US20230385122A1 (en) Techniques for deploying workloads in a cloud-computing environment
US11323331B2 (en) Cloud server and operating method of the same
WO2024216621A1 (zh) 一种数据传输方法、装置、计算机设备和存储介质
CN117278539A (zh) 一种业务配置实现方法及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1176779

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150729

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

Effective date of registration: 20150729

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1176779

Country of ref document: HK