CN101601028B - 主机和移动设备之间的任务的双向动态卸载 - Google Patents
主机和移动设备之间的任务的双向动态卸载 Download PDFInfo
- Publication number
- CN101601028B CN101601028B CN2008800039004A CN200880003900A CN101601028B CN 101601028 B CN101601028 B CN 101601028B CN 2008800039004 A CN2008800039004 A CN 2008800039004A CN 200880003900 A CN200880003900 A CN 200880003900A CN 101601028 B CN101601028 B CN 101601028B
- Authority
- CN
- China
- Prior art keywords
- mobile device
- host
- task
- main frame
- function
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
移动设备向连接到该移动设备的主机展示一个或多个功能。响应于来自主机的请求,在移动设备处执行一个或多个功能中的一个功能,其中该功能与一主机任务相关联。该功能的结果被返回给主机。
Description
背景
当今的移动设备通常拥有先进的处理能力和专用电路。这类专用电路的示例包括移动电话中的数字信号处理器(DSP)。移动设备可以连接到诸如个人计算机等主机,以在移动设备和主机之间交换数据。然而,现有的设计无法始终允许主机工作流由连接的移动设备的计算资源来执行,并且在传统上受约束的设备(比如闪存驱动器)的情况下使得这样的执行几乎是不可能的。
概述
下面提供本发明的简化概要以便为读者提供基本的理解。本概要不是本发明的详尽概观,并且既不标识本发明的关键/决定性要素也不描绘本发明的范围。其唯一目的是以简化形式提供在此公开一些概念作为稍后提供的更详细描述的序言。
本发明的各实施例提供了主机和移动设备间的任务的卸载。在一个实施例中,主机可使用移动设备的功能来执行主机任务分配。连接的移动设备的处理能力和专用电路可以被主机系统充分利用来优化主机系统的工作流。在另一个实施例中,移动设备可以将设备任务分配卸载到主机。
许多附带特征将随着参考下面的详细描述并结合附图进行理解而得到更好的认识。
附图简述
附图中使用相同的附图标记来指代相同的部分。
图1是根据本发明的一个实施例的连接到移动设备的主机的框图。
图2是根据本发明的一个实施例的移动设备的框图。
图3是示出根据本发明的一个实施例的主机将任务卸载到移动设备的逻辑与操作的流程图。
图4是根据本发明的一个实施例的展示设备功能的框图。
图5是根据本发明的一个实施例的展示设备功能的框图。
图6是根据本发明的一个实施例的展示设备功能的框图。
图7是根据本发明的一个实施例的用于展示设备功能的数组。
图8是示出根据本发明的一个实施例的移动设备将设备任务卸载到主机的逻辑与操作的流程图。
图9是用于实现本发明的各实施例的示例计算设备的框图。
详细描述
下面结合附图提供的详细描述旨在作为对本发明各示例的描述,而非表示用于解释或利用本发明各示例的唯一形式。本说明书阐述各示例的功能以及用于构造和操作各示例的步骤序列。然而,相同或等价的功能与序列可由不同的示例来实现。
图1及以下讨论旨在提供对实现本发明的各实施例的合适的计算环境的简要概括描述。图1的操作环境只是合适的操作环境的一个示例,并不旨在对该操作环境的使用范围或功能提出任何局限。尽管并非必需,但本发明的各实施例将在由一个或多个计算设备执行的“计算机可读指令”的一般上下文中描述。计算机可读指令可通过计算机可读介质来分发。计算机可读指令可被实现为执行特定任务或实现特定抽象数据类型的程序模块,如函数、对象、应用程序编程接口(API)、数据结构等等。通常,计算机可读指令的功能可按需在各个环境中组合或分布。
图1示出了通过连接108连接到移动设备110的主机102。主机102可以包括任何计算设备,诸如台式机、膝上型计算机等等。主机102可以包括其它计算设备,诸如照相机、媒体播放器、移动电话等等。在一个实施例中,移动设备110可以包括独立式移动设备,诸如移动电话、媒体播放器等等。在另一实施例中,移动设备110可以包括依赖主机的移动设备,诸如通用串行总线(USB)闪速驱动器、存储卡、安全卡等等。如此处所使用的,“依赖主机的”指的是除非连接到主机否则就无法使用的移动设备如此处所使用的,“主机”指的是管理另一计算设备的计算设备。“主机”所控制的计算设备被称为设备。这一主机/设备的关系也可以被称为主/从关系。
本发明的各实施例可被用于按需调用的短寿命任务。在一个示例中,个人计算机(主机)可以将复杂的密码学计算卸载到具有密码学专用电路的存储设备。一般而言,密码学在硬件中可以比由处理器执行的软件指令执行得更快。此外,用专用电路执行的密码学通常比软件指令更安全,并且可能需要专用电路来使用某些密码学算法(比如政府用)。
在另一示例中,个人计算机(主机)可以将数字权限管理计算或媒体内容加水印卸载到连接的设备(比如数字照相机)。数字照相机可以包括能比个人计算机更高效地执行这些媒体相关任务的专用电路或特殊例程。
连接108可以包括在接口107处的主机102和在接口116处的移动设备110之间的有线或无线连接。在一个实施例中,主机102和移动设备110作为用户的个人区域网(PAN)的一部分彼此非常接近。连接108的示例包括USB(有线或无线)、火线(IEEE-1394)、射频(例如,蓝牙、Wi-Fi等等)、红外线等等。
在一个实施例中,移动设备在某些情形中可以有主机能力充当主机。例如,移动电话可以担当连接到担当主机102的膝上型计算机计算机的移动设备110。在另一示例中,同一移动电话可以担当连接到担当移动设备110的存储卡的主机102。在该示例中,存储卡是依赖主机的移动设备。
主机102可以包括处理单元104和存储器106。主机102还包括用于从主机102输入/输出数据的接口107。主机102还可以包括存储设备,比如硬盘驱动器或闪存(未示出)。
移动设备110可以包括耦合到存储114的控制器112。控制器112可以管理存储114上数据的读/写以及执行其它功能。存储114可以包括磁盘驱动器、光驱、诸如闪存等非易失性存储等等。
从主机102的观点来看,移动设备110被认作是瞬时设备。移动设备110可以在不警告主机102的情况下从主机102上连接/断开连接。应该理解,移动设备110可以在不重启主机102的情况下从主机102上连接/断开连接。在此,移动设备110的瞬时本质导致了此处的各实施例的动态方面。主机102可以在移动设备110存在时利用移动设备110的处理能力,但是当移动设备110被断开连接时,主机102只需注意到设备对于完成主机任务的不可用性。在移动设备110在完成卸载的任务前就从主机102上断开连接情况下的故障切换处理在下文中讨论。同样,在某些实施例中,移动设备110的任务可以卸载到主机102来完成。因此,主机102和移动设备110之间的任务的卸载可以是双向的。
转向图2,示出了移动设备110的一个实施例。移动设备110可以包括智能存储设备,比如USB闪速设备(UFD)、存储卡等等。在一个实施例中,智能存储设备依赖于主机来进行操作。移动设备110还可以包括独立式设备,诸如媒体播放器、移动电话、个人数字助理(PDA)等等。
控制器112可以包括处理单元206和非易失性存储(NVS)210。处理单元206可以包括一般的处理器,比如32位精简指令集计算(RSIC)处理器。尽管示出了单个处理单元206,但移动设备110的各实施例可以包括多个处理单元,比如多个处理器、多个核等等。
在一个实施例中,NVS 210存储了可以由处理单元206执行的固件212。固件212可以包括用于移动设备110的操作系统(比如实时操作系统(RTOS))、一个或多个应用程序等等。固件212还可以包括用于执行本发明的各实施例的指令。
在图2的实施例中,控制器112包括专用电路208。专用电路208包括可以执行专门的操作的硬件。专用电路208的示例包括专用集成电路(ASIC)、现场可编程逻辑阵列(FPLA)、现场可编程门阵列(FPGA)等等。专用电路208所执行的功能可以包括密码学、数字信号处理、数字权限管理等等。此处的实施例使主机102能使用专用电路208的功能来更高效地完成主机工作流。
转向图3,流程图300示出了根据本发明的一个实施例的将任务从主机卸载到移动设备的逻辑与操作。图8的流程图800(将在下文讨论)示出了其中设备任务被卸载到主机以供主机完成的实施例。应该理解,流程图300和800的逻辑中的至少某一些可以同时发生。换言之,在某些情况下,主机102可以将任务卸载到移动设备110,而同时移动设备110也将任务卸载到主机102。因此,主机102和移动设备110之间的任务的卸载可以是双向的。
在一个实施例中,流程图300的逻辑在移动设备被连接到主机的会话期间发生。单个会话在移动设备被连接到主机时开始,并在移动设备从主机上断开连接时结束。从主机的角度来看,移动设备是瞬时的,并且移动设备的存在是不可预测的。此外,与移动设备的任何会话的长度是不可预测的,并且会话之间的时间也是不可预测的。如下面所讨论的,本发明的各实施例在卸载主机任务时能应付移动设备的瞬时本质。
从框302开始,移动设备连接到主机。该连接可以通过有线连接或无线连接。在本发明的一个实施例中,主机不需要关于移动设备或任务卸载的先验知识来实现本发明的各实施例。这可以是主机第一次看见移动设备。移动设备可以向主机提供用于将任务卸载到移动设备的手段。在一个实施例中,设置连接可以包括建立主机与移动设备之间的安全通信会话。
在一个示例中,移动设备可以与如电话亭处的公用计算机等公用主机一起使用。例如,用户希望使用机场的公用计算机来检查用户的公司网络上的电子邮件。然而,该连接需要该公用计算机不支持的某种特定密码学算法,或可能花费太长时间来由公用计算机的有限处理能力执行。用户可以将其USB闪速驱动器(UFD)(含有专用密码学电路)连接到公用计算机上。采用此处的实施例,该公用计算机可以使用UFD的专用密码学电路来连接用户的公司网络。在该示例中,与公用主机的会话的所有痕迹可在会话结束时被移除。
前进到框304,移动设备将其功能展示给主机。在一个实施例中,移动设备功能被展示为可以被主机使用的接口。例如,移动设备可以展示将为主机加密数据的加密(ENCRYPT)接口。展示设备功能的各实施例在下文中结合图4-7来讨论。
继续到框306,移动设备将主机策略上传到主机来卸载主机任务。在一个实施例中,这可以是主机与移动设备之间的第一次连接,并且主机可能未存储主机策略。同样的,通过向主机提供默认主机策略,不需要主机关于任务卸载的先验知识来实施本发明的各实施例。
继续到框308,主机应用主机策略。在一个实施例中,主机如框306所述从移动设备处接收到策略。在另一实施例中,主机可以已经存储了主机策略,或者从与移动设备的上一次会话中存储了主机策略。在又一实施例中,主机可以从受管网络中的中央服务器获取主机策略(并且之后将其与已存储在主机上的任何策略合并)。例如,受管网络可能想将同一策略推送到所有受管主机(或其分组)。或者,中央服务器处存储的策略可以为每一特定主机定制。同样的,在中央服务器位置处更新策略的能力会方便管制网络的系统管理。
如此处所使用到的,“主机任务”指的是要由主机执行的计算任务。当连接了移动设备时,主机策略判断主机任务的执行是否可以由移动设备所展示的功能来进行。通常,可以使用一个或多个设备功能来完成主机任务。
例如,主机任务可以是使用加密算法A来加密500KB的文本文档。移动设备已经展示了采用专用电路,使用加密算法A来加密100KB数据块的功能。主机可以通过5次调用该设备功能以完成主机任务,来完成加密文本文档的主机任务分配。
在一个实施例中,可以使用移动设备可执行的脚本语言来以批的形式调用多个功能。移动设备会具有批语言的知识,并且能够执行批语言来执行多个功能。
主机策略控制任务向移动设备的卸载。例如,主机策略可以是“如果有具备加密算法A的设备存在,那么将算法A加密任务卸载到该设备。”主机策略可以由用户或系统管理员来修改。在一个实施例中,主机策略可以与诸如安全性等管理策略相关联。例如,主机不可以卸载任务,直到移动设备能够被认证为止。
在另一实施例,主机策略可以与主机性能问题相关联。例如,任务将在期望性能有显著提高(例如超过某一阈值)时卸载。在另一示例中,被接下去一长串任务所依赖的任务可以不需要卸载。这是由于移动设备的预期的瞬时本质。如果移动设备在其仍在执行任务时被断开连接,则主机不会接收到卸载的任务的结果。在这种情况下,主机可能不得不从头开始自己执行任务,并且因此浪费时间。
在另一实施例,主机策略可以监视移动设备的健康状况。主机可以监视移动设备的性能要素,比如处理器负载、可用存储器空间等等。另一个移动设备健康状况指标可以包括卸载的任务的执行时间。主机策略可以挂起主机任务卸载,直到移动设备健康状况改善。
前进到流程图300的框310,主机通过调用如框304所述的一个或多个所展示的移动设备功能来将任务卸载到移动设备。如下文中进一步讨论的,在一个实施例中,这些功能可以被展示为诸如API等对应用程序和操作系统的接口。
在一替换实施例中,主机可以通过将可执行映像或中间语言下载到移动设备上来卸载任务。例如,被卸载的任务可以包括以平台中立语言编写的可执行例程。移动设备可以在连接握手期间通告对该平台中立语言的支持。主机上的设备驱动程序可以在需要时(即,在进行中)将该可执行例程下载到移动设备。完成的任务的返回也可以由设备驱动程序来处理。在另一示例中,中间语言可以包括可以使用主机上的解释器或移动设备上的兼容解释器来运行的解释语言。
尽管流程图300示出了从主机卸载一个任务的实施例,但应该理解,一个以上的任务可以同时被卸载到移动设备。还应该理解,一个或多个任务可以在不同时刻卸载到移动设备,而不用考虑任务结果于何时被返回给主机。这些实施例(以及其它实施例)可以通过主机策略来实现。例如,任务A可以在T1时刻卸载,而任务B可以在T2时刻卸载。任务A和任务B的执行可以不考虑对方就开始。同样的,任务A和任务B甚至可以互相不关联。例如,任务A可以与加密数据以存储在移动设备上有关,而任务B可以与移动设备的DSP对Wi-Fi信号的信号处理有关。
继续到框312,移动设备按照移动设备策略来执行功能。移动设备的策略可以和安全性、管理性项目等等有关。例如,移动设备在执行任何卸载的任务请求前,可能需要认证主机。在另一示例,UFD可以包括供政府机构使用的密码硬件。主机可以请求使用密码硬件来加密从用户的个人非政府电子邮件(例如,Hotmail帐户)发送的电子邮件。因为加密算法被分类,所以移动设备可以具有只加密从政府电子邮件地址发送(或发往该地址)的电子邮件的策略。由于该策略,移动设备可以拒绝为用户的个人电子邮件执行加密。在一个实施例中,设备策略可以在连接到诸如管理性主机等主机时更新。经更新的设备策略然后可由设备在将来从当前连接的主机或其它主机卸载任务时实施。
移动设备策略还可以指示同特定移动设备活动是否优先于主机任务卸载。例如,如果设备是移动电话,则当一呼叫到达该移动电话时,主机的任何DSP活动都被挂起,直到对该移动电话的电话呼叫完成为止。
继续到框314,主机从移动设备接收功能的结果。结果可以是任何合适的形式,比如布尔数、整数、浮点整数、串等等。例如,移动设备可以展示具有以下两个参数的加密功能:需要加密的100KB数据块和密钥。移动设备执行加密并将加密的数据块返回给主机。主机然后可以如希望的那样使用该加密的数据块(例如,在本地存储上保存、发送到网络存储、作为电子邮件发送等等)。
前进到判定框316,流程图300的逻辑判断移动设备是否断开了连接。在一个实施例中,在移动设备使用公知方式被移除时,主机OS提醒流程图300的逻辑。如果对判定框316的回答是“否”,则该逻辑返回到框308以将另一任务从主机卸载到移动设备。流程图300可以通过框308到316重复循环将任务从主机卸载到移动设备,直到移动设备从主机上断开连接为止。
如果对判定框316的回答是“是”,则逻辑继续到判定框318。在判定框318,该逻辑判断主机是否接收到来自所有调用的功能到结果。因为移动设备的本质是瞬时的,所以移动设备可以在主机仍在运行的任何时间被移除。因此,移动设备可以在主机仍然在等待卸载的任务的结果的时候被移除。
如果对判定框318的回答是“是”,则流程图300结束。如果对判定框318的回答是“否”,则该逻辑前进到框320来由主机执行故障切换处理。在一个实施例中,主机盘点在移动设备断开连接前未完成的任务。与这些未完成任务相关联的功能接着由主机来完成。这些任务可以由主机重新启动并执行,或者可以卸载到连接到主机并支持此处所述的任务卸载的移动设备。在框320后,流程图300结束。
转向图4,示出了移动设备向主机展示功能的一个实施例。在图4中,主机402连接到移动设备401。为了展示其可用的功能,移动设备404将储存在移动设备404上的软件模块406(可在主机上执行)发送给主机402。
在一个实施例中。软件模块406包括诸如API等一个或多个可以被主机402使用的接口。在一个实施例中,该API可以作为组件对象模型(COM)对象库来展示给主机402公开,以供主机402上的应用程序和/或OS使用。使用移动设备来执行该API对该应用程序和/或操作系统可以是透明的。该API会将计算转移到移动设备。在其它实施例中,软件模块406可以包括语言中立对象,诸如对象、公共语言运行时环境(CLR)对象等等。
在一个实施例中,当移动设备404从主机402断开连接时,软件模块406的API被标记为不可从主机402获得。以此方式,在主机402上执行的软件将不会试图调用因移动设备404断开连接而不再可用的API。在替换实施例中,在移动设备404断开连接后,上传的软件模块406从主机402上被清除。
在一个实施例中,主机402可以认证软件模块406。这类认证技术可以包括使用整数、签名等等。在其它实施例中,根据主机策略,软件模块406可能需要数字地签署以便被识别和加载。
图5示出了认证软件模块406的一个实施例。在图5中,主机402可以通过网络502来联系更新管理器504。更新管理器504可以认证软件模块406并将对软件模块406的更新提供给主机402。在一个实施例中,主机402接收到的对软件模块406的更新还可以用于更新移动设备404上储存的软件模块406。在一个实施例中,更新管理器504可以包括微软更新。
转向图6,示出了移动设备展示功能的另一实施例。图6示出连接到主机402的移动设备404。主机402包括OS 604所支持的应用程序602。OS 604包括用于与移动设备404通信的设备驱动程序606。移动设备404可以向驱动程序606报告,移动设备404具有可用功能。这些功能可以使用自描述语言来表达。设备驱动程序606知晓自描述语言。例如,可应用web服务描述语言(WSDL)的概念来将功能展示给主机驱动程序栈中的驱动程序606。NV 608可以已经存储了使用自描述语言提供给驱动程序606的一组接口610(与移动设备功能相对应)。驱动程序606可以接口来请求移动设备404执行相应功能。在该示例中,移动设备所支持的具体接口不需要事先(即,在移动设备的连接之前)被主机OS或主机应用程序知道。这些接口可以在移动设备连接时被发现,然后绑定到主机。该示例与其它实现的不同之处在于主机或者必须拥有与移动设备兼容的预加载的库,或者在连接到移动设备时上传整个库(比如在图4-5中所讨论的那样)。
在一个实施例中,主机402和移动设备404可以扩展公知协议来展示和调用设备功能。例如,在存储设备的情况下,可以为此处的实施例扩展小型计算机系统接口(SCSI)协议。可以扩展该SCSI协议以使移动设备能使用自描述语言来将功能描述符报告给主机。可以扩展SCSI主机驱动程序来理解这些功能描述符。扩展的SCSI主机驱动程序将使用自描述语言来将这些能力展示给主机OS和主机应用程序,从而使其能使用设备功能。扩展的SCSI主机驱动程序将连接的移动设备报告给OS 604,并且将可用功能展示给OS 604和应用程序602。当一个功能被OS 604或应用程序602请求时,则SCSI主机驱动程序可以管理移动设备上该功能的调用。
可以由移动设备404提供的描述符数组700的一个实施例在图7中示出。数组700包括功能名702、输入自变量704、和返回值706。例如,功能加密1(ENCRYPT 1)使用所提供的128位密钥来加密从0KB到100KB的数据块。该功能返回0到100KB数据块中的加密形式的数据。
应该理解,在图6和图7的实施例中,功能的执行代码不被插入到主机系统中。功能的代码被保存在移动设备上并在移动设备上执行。同样的,功能的调用和返回被保存在主机402的驱动程序层。
还应该理解,主机设备驱动程序不必被更新来使用移动设备的功能。扩展的主机设备驱动程序可以向移动设备查询其功能。因为移动设备功能是用自描述语言来表达的,因此扩展的主机设备驱动程序不需要关于移动设备功能的先验知识来使用这些移动设备功能。该自描述特征可以将本发明的各实施例与当今需要在主机上加载新驱动程序来使用移动设备的移动设备区别开来。
本发明的各实施例也可与即插即用(PNP)相区别。在PnP中,主机OS必须在本地存储或者网络存储中找到匹配的设备驱动程序来充分使用移动设备。在此处的各实施例中,移动设备向主机提供了使用移动设备的功能的能力。不要求主机为移动设备功能提供专门的设备驱动程序。
转向图8,流程图800示出了根据本发明的一个实施例的将任务从移动设备卸载到主机的逻辑与操作。与流程图300类似,流程图800示出了单个任务的卸载,但是得益于本说明书的本领域技术人员会理解,可以同时从移动设备卸载一个以上的任务到主机。同样的,多个移动设备任务不一定要在同时卸载。此外,多个设备任务可以由主机使用批程序设计来执行。
从框802开始,移动设备连接到主机。继续到框804,移动设备应用设备策略。移动设备可以包括关于哪些任务可以卸载以及何时可以卸载任务的可修改策略。例如,设备策略可以要求移动设备在将任何任务卸载到主机之前先认证主机。在另一示例中,设备策略可允许在主机满足比如主机处理器速度等特定性能阈值时卸载设备任务。
前进到框806,移动设备将设备任务卸载到主机。在一个实施例中,移动设备在主机存储器中加载可执行代码以在主机处理器上执行。主机可执行映像可被储存在移动设备上。主机要进行操作的任何数据也可以被卸载到主机。
在一个实施例中,如果被卸载的任务是先前卸载的设备任务的延续,则被卸载的设备任务可以从由所保存的状态信息指示的位置处继续(在下文中进一步讨论)。
接着,在框808中,主机执行设备任务。例如,移动设备可以已经存储了多个需要索引的音乐文件。尽管移动设备可以具有自行索引音乐文件的能力,但如果主机具有更快的处理器,则移动设备可以利用主机的处理能力。在该示例中,该移动设备可以包括媒体播放器、具有媒体播放器能力的移动电话等等。在另一示例中,移动设备可以使用主机来对储存在移动设备上的媒体内容进行译码。通常,译码(即,重新格式化媒体内容以便与各种应用程序和平台一起使用)是一种计算上昂贵的操作。有了此处的实施例,移动设备可以在连接到主机时使用主机的计算能力来进行译码。
在框810中,移动设备可以周期性地存储正由主机执行的设备任务的状态。因为移动设备的本质是瞬时的,因此移动设备保存任务状态以使任务可以被卸载并在与主机(或另一主机)的后续会话中继续。在一替换实施例中,移动设备能够通过从所保存的任务状态继续而在无主机的情况下完成任务。
前进到框812,移动设备从主机接收任务的结果。在判定框814,该逻辑判断移动设备是否断开连接。如果对判定框814的回答是“否”,则该逻辑返回到框804以卸载另一任务。如果对判定框的回答是“是”,则该逻辑继续到判定框816。
在判定框816,该逻辑确定移动设备是否接收到所有卸载的任务的结果。如果对判定框816的回答是“是”,则流程图800结束。如果对判定框816的回答是“否”,则该逻辑继续到框818,在那里移动设备执行故障切换处理。在一个实施例中,移动设备可以保留所保存的任务状态,以便下次该移动设备连接到主机时,该移动设备可以卸载该任务来完成。在另一实施例中,移动设备如果是独立的,可以通过从所保存的任务状态继续来自行完成该任务。在又一实施例中,移动设备可以忽略所保存的任务状态。在该实施例中,任务可以在下次移动设备连接到主机时从头开始重新启动。
本发明的各实施例允许在主机和移动设备之间卸载任务。在一个实施例中,当连接到主机时,移动设备向主机展示主机可以利用的功能。以此方式,主机可以利用移动设备的处理能力和/或专门硬件来更高效地完成主机工作流。类似地,移动设备可以将任务卸载到主机以供主机执行。
图9示出了用于实现本发明的一个或多个实施例的计算设备900的示例。例如,主机102或者移动设备110可以是计算设备900的实现。在一种配置中,计算设备900包括至少一个处理单元902和存储器904。取决于计算设备的确切配置和类型,存储器904可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。该配置在图9中由虚线906来例示。
在其它实施例中,设备900可以包括附加特征和/或功能。例如,设备900还可以包括附加存储(例如,可移动和/或不可移动),其中包括但不限于磁存储、光存储等等。这样的附加存储在图9中由存储908示出。在一个实施例中,用于实现本发明各实施例的计算机可读指令可以储存在存储908中。存储908还可以储存实现操作系统,应用程序等的其它计算机可读指令。
此处所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其它数据这样的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。存储器904和存储908都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或者可用于存储所需信息并且可由设备900访问的任何其它介质。任何这样的计算机存储介质都可以是设备900的一部分。
设备900还可包括允许该设备900与其它设备进行通信的通信连接912。通信连接912可以包括但不限于,调制解调器、网络接口卡(NIC)、或其它用于将计算设备900连接到其它计算设备的接口。通信连接912可以包括有线连接或无线连接。通信连接912可以发送和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质通常以诸如载波或其它传输机制等“已调制数据信号”来体现计算机可读指令或其它数据,并包括任何信息传送介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,如有线网络或直接线连接,以及无线介质,如声学、射频、红外、近场通信(NFC)和其它无线介质。
设备900可以包括输入设备914,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外照相机、视频输入设备和/或任何其它输入设备。还可以在设备900中包括诸如一个或更多显示器、扬声器、打印机、和/或任何其它输出设备等的输出设备916。输入设备914和输出设备916可以通过有线连接、无线连接或其任何组合来连接到设备900。在一个实施例中,来自另一计算设备的输入设备或输出设备可被用作计算设备900的输入设备914或输出设备916。
计算设备900的组件可以通过诸如总线的各种互连来连接。这类互连可以包括诸如快速PCI(PCI Express)等外围部件互连(PCI)、通用串行总线(USB)、火线(IEEE 1394)、光学总线结构等等。在另一实施例中,计算设备900的组件可以通过网络互连。例如,存储器904可以由位于通过网络互连的不同物理位置的多个物理存储单元组成。
本领域技术人员会认识到,用于存储计算机可读指令的存储设备可分布在网络上。例如,可以通过网络920访问的计算设备930可以储存实现本发明的一个或多个实施例的计算机可读指令。计算设备900可以访问计算设备930并下载部分或全部计算机可读指令来执行。或者,计算设备900可以按需下载计算机可读指令的片断,或者某些指令可以在计算设备900处执行而某些则在计算设备930处执行。本领域的技术人员还可认识到,所有或部分计算机可读指令可以由诸如数字信号处理器(DSP)、可编程逻辑阵列等专用电路来实现。
此处描述了本发明各实施例的各种操作。在一个实施例中,所描述的操作中的一个或多个可以组成储存在一个或更多计算机可读介质上的计算机可读指令,这些指令如果被计算设备执行则使得计算设备执行所描述的操作。描述一些或全部操作的顺序不应被解释为暗示了这些操作必须要依赖于顺序。从本说明书获益的本领域技术人员应理解替换的排序。此外,应该理解并非所有的操作都必须存在于本发明的每一实施例中。
本发明各实施例的以上描述,包括在摘要中所描述的内容,不旨在是穷举将各实施例限于所公开的精确形式。尽管本发明的具体实施例和示例此处是为了说明的目的而描述的,但如相关领域的技术人员鉴于以上详细描述所能认识到的,各种等效技术方案和修改都是可能的。在所附权利要求书中所使用的术语不应被解释为将本发明限于说明书中所公开的具体实施例。相反,所附权利要求书应该根据所确立的权利要求解释原则来解释。
Claims (15)
1.一种将主机任务从主机卸载到移动设备的方法,所述主机任务是要由主机执行的计算任务,其中,所述主机应用主机策略将主机任务卸载到移动设备,当卸载所述主机任务被所述主机策略禁止时,不将所述主机任务卸载到所述移动设备,所述方法包括:
由移动设备向连接到所述移动设备的主机展示一个或多个功能(304),其中展示一个或多个功能包括向所述主机提供对应于所述一个或多个功能的一个或多个功能描述符,其中所述一个或多个功能描述符是自描述的,从而使所述主机能够在没有关于所述一个或多个功能的先验知识的情况下使用所述一个或多个功能;
由所述移动设备应用移动设备策略来响应于来自所述主机的请求在所述移动设备处执行所述一个或多个功能中的一个功能而不将该功能的执行代码插入到所述主机,其中所述功能与一主机任务相关联(312),其中当执行所述功能被所述移动设备策略禁止时,所述移动设备不执行所述功能;
在所述移动设备处执行所述功能;以及
将所述功能的执行结果返回给所述主机(314)。
2.如权利要求1所述的方法,其特征在于,展示所述一个或多个功能包括将来自所述移动设备的软件模块上传到所述主机,其中所述软件模块包括用于调用所述一个或多个功能的接口。
3.如权利要求2所述的方法,其特征在于,还包括由所述主机认证所述软件模块。
4.如权利要求1所述的方法,其特征在于,还包括当所述移动设备在所述移动设备向所述主机发送了所述功能的执行结果之前从所述主机断开连接时,由所述主机来完成所述主机任务。
5.如权利要求1所述的方法,其特征在于,所述移动设备通过以下的至少一个来执行所述功能:执行与所述功能相关联的指令的处理单元,或执行与所述功能相关联的逻辑的专用电路。
6.一种将主机任务从主机卸载到移动设备的系统,所述主机任务是要由主机执行的计算任务,其中,所述主机应用主机策略将主机任务卸载到移动设备,当卸载所述主机任务被所述主机策略禁止时,不将所述主机任务卸载到所述移动设备,所述系统包括:
用于由移动设备向连接到所述移动设备的主机展示一个或多个功能(304)的装置,其中展示一个或多个功能的装置包括向所述主机提供对应于所述一个或多个功能的一个或多个功能描述符的装置,其中所述一个或多个功能描述符是自描述的,从而使所述主机能够在没有关于所述一个或多个功能的先验知识的情况下使用所述一个或多个功能;
用于由所述移动设备应用移动设备策略来响应于来自所述主机的请求在所述移动设备处执行所述一个或多个功能中的一个功能而不将该功能的执行代码插入到所述主机的装置,其中所述功能与一主机任务相关联(312),其中当执行所述功能被所述移动设备策略禁止时,所述移动设备不执行所述功能;
用于在所述移动设备处执行所述功能的装置;以及
用于将所述功能的执行结果返回给所述主机(314)的装置。
7.一种将移动设备任务从移动设备卸载到主机的方法,包括:
由所述移动设备应用用于确定要将哪一个移动设备任务卸载到主机以及何时将所述移动设备任务卸载到主机的移动设备策略,所述移动设备策略与主机性能阈值相关联;
将所述移动设备任务卸载到所述主机(806);以及
从所述主机接收所述主机对所卸载的移动设备任务的执行的结果(812)。
8.如权利要求7所述的方法,其特征在于,卸载所述移动设备任务包括将储存在所述移动设备上的主机可执行映像发送到所述主机,其中所述主机可执行映像与所述移动设备任务相关联。
9.如权利要求7所述的方法,其特征在于,卸载所述移动设备任务包括从保存在所述移动设备处的任务状态信息所指示的状态开始所述移动设备任务,其中所述任务状态信息是来自所述移动设备任务的先前未完成的执行。
10.如权利要求7所述的方法,其特征在于,还包括在所述主机处执行所述移动设备任务期间周期性地在所述移动设备处保存所述移动设备任务的状态。
11.如权利要求10所述的方法,其特征在于,还包括当所述移动设备从所述主机断开连接时由所述移动设备完成所述移动设备任务的执行,其中所述移动设备从最后保存的任务状态开始完成所述移动设备任务。
12.如权利要求10所述的方法,其特征在于,还包括当所述移动设备从所述主机断开连接时,所述移动设备等待完成所述移动设备任务,直到所述移动设备连接到一主机。
13.一种将移动设备任务从移动设备卸载到主机的系统,包括:
由所述移动设备应用用于确定要将哪一个移动设备任务卸载到主机以及何时将所述移动设备任务卸载到主机的移动设备策略的装置,所述移动设备策略与主机性能阈值相关联;
用于将所述移动设备任务卸载到所述主机的装置;以及
用于从所述主机接收所述主机对所卸载的移动设备任务的执行的结果的装置。
14.一种用于主机和移动设备之间的任务的双向动态卸载的方法,包括:
由所述移动设备向所述主机展示一个或多个功能(304),其中展示一个或多个功能包括向所述主机提供对应于所述一个或多个功能的一个或多个功能描述符,其中所述一个或多个功能描述符是自描述的,从而使所述主机可以在没有关于所述一个或多个功能的先验知识的情况下使用所述一个或多个功能;
由所述主机应用主机策略来将主机任务卸载到移动设备,其中当卸载所述主机任务被所述主机策略禁止时,不将所述主机任务卸载到所述移动设备;
由所述移动设备应用移动设备策略来响应于来自所述主机的请求执行所述一个或多个功能中的一个功能而不将该功能的执行代码插入到所述主机,其中所述功能与一主机任务相关联(312),所述主机任务是要由所述主机执行的计算任务,其中当执行所述功能被所述移动设备策略禁止时,所述移动设备不执行所述功能;
将所述功能的执行结果返回给所述主机(314);
由所述移动设备应用与主机性能阈值相关联的移动设备策略来确定要将哪一个移动设备任务卸载到所述主机以及何时将该移动设备任务卸载到所述主机;
将所述移动设备的移动设备任务卸载到所述主机(806)供所述主机执行;以及
从所述主机接收对所卸载的移动设备任务的执行的结果(812)。
15.如权利要求14所述的方法,其特征在于,在所述主机上执行的主机操作系统不知道所述主机任务的至少一部分是在所述移动设备上执行的。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/670,891 US7966039B2 (en) | 2007-02-02 | 2007-02-02 | Bidirectional dynamic offloading of tasks between a host and a mobile device |
| US11/670,891 | 2007-02-02 | ||
| PCT/US2008/050866 WO2008094742A1 (en) | 2007-02-02 | 2008-01-11 | Bidirectional dynamic offloading of tasks between a host and a mobile device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101601028A CN101601028A (zh) | 2009-12-09 |
| CN101601028B true CN101601028B (zh) | 2012-04-25 |
Family
ID=39674455
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2008800039004A Expired - Fee Related CN101601028B (zh) | 2007-02-02 | 2008-01-11 | 主机和移动设备之间的任务的双向动态卸载 |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US7966039B2 (zh) |
| EP (2) | EP2122476B1 (zh) |
| CN (1) | CN101601028B (zh) |
| TW (3) | TWI540443B (zh) |
| WO (1) | WO2008094742A1 (zh) |
Families Citing this family (58)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2891931B1 (fr) * | 2005-10-10 | 2008-02-22 | Wavecom Sa | Dispositif de radiocommunication comprenant au moins un module de radiocommunication et une carte sim, module de radiocommunication et carte sim correspondant |
| US20110096174A1 (en) * | 2006-02-28 | 2011-04-28 | King Martin T | Accessing resources based on capturing information from a rendered document |
| KR100823171B1 (ko) * | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
| US7966039B2 (en) * | 2007-02-02 | 2011-06-21 | Microsoft Corporation | Bidirectional dynamic offloading of tasks between a host and a mobile device |
| US8694776B2 (en) | 2007-12-21 | 2014-04-08 | Spansion Llc | Authenticated memory and controller slave |
| GB2463110B (en) * | 2008-09-05 | 2013-01-16 | Skype | Communication system and method |
| GB2463124B (en) * | 2008-09-05 | 2012-06-20 | Skype Ltd | A peripheral device for communication over a communications sytem |
| GB2463104A (en) | 2008-09-05 | 2010-03-10 | Skype Ltd | Thumbnail selection of telephone contact using zooming |
| GB2463108B (en) * | 2008-09-05 | 2012-08-29 | Skype | Communication system and method |
| GB2463105A (en) * | 2008-09-05 | 2010-03-10 | Skype Ltd | Viewer activity dependent video telephone call ringing |
| GB2463107A (en) * | 2008-09-05 | 2010-03-10 | Skype Ltd | A remote control unit of a media device for placing/receiving calls, comprising activating one of the two wireless transceivers when needed. |
| GB2463103A (en) * | 2008-09-05 | 2010-03-10 | Skype Ltd | Video telephone call using a television receiver |
| GB2463109B (en) * | 2008-09-05 | 2013-03-13 | Skype | Communication system and method |
| US9734356B2 (en) * | 2009-06-29 | 2017-08-15 | Clevx, Llc | Encrypting portable media system and method of operation thereof |
| US8161494B2 (en) * | 2009-12-21 | 2012-04-17 | Unisys Corporation | Method and system for offloading processing tasks to a foreign computing environment |
| US8473949B2 (en) | 2010-07-08 | 2013-06-25 | Microsoft Corporation | Methods for supporting users with task continuity and completion across devices and time |
| WO2012065273A1 (en) * | 2010-11-19 | 2012-05-24 | Research In Motion Limited | Offloading tasks for energy efficient execution |
| US9054874B2 (en) | 2011-12-01 | 2015-06-09 | Htc Corporation | System and method for data authentication among processors |
| US8934389B2 (en) | 2012-01-18 | 2015-01-13 | Microsoft Corporation | Mechanism for connecting a mobile device to a network |
| US9483344B2 (en) * | 2012-04-05 | 2016-11-01 | Assurant, Inc. | System, method, apparatus, and computer program product for providing mobile device support services |
| US9413893B2 (en) | 2012-04-05 | 2016-08-09 | Assurant, Inc. | System, method, apparatus, and computer program product for providing mobile device support services |
| EP2839689B1 (en) * | 2012-04-16 | 2019-06-05 | Intel Corporation | Scalable secure execution |
| 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 |
| US11237719B2 (en) | 2012-11-20 | 2022-02-01 | Samsung Electronics Company, Ltd. | Controlling remote electronic device with wearable electronic device |
| US11157436B2 (en) | 2012-11-20 | 2021-10-26 | Samsung Electronics Company, Ltd. | Services associated with 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 |
| US10423214B2 (en) * | 2012-11-20 | 2019-09-24 | Samsung Electronics Company, Ltd | Delegating processing from wearable electronic device |
| US11372536B2 (en) | 2012-11-20 | 2022-06-28 | Samsung Electronics Company, Ltd. | Transition and interaction model for wearable electronic device |
| US10551928B2 (en) | 2012-11-20 | 2020-02-04 | Samsung Electronics Company, Ltd. | GUI transitions on wearable electronic device |
| US9992306B2 (en) * | 2012-12-21 | 2018-06-05 | E*Trade Financial Corporation | Dynamic execution |
| US10097989B2 (en) | 2012-12-21 | 2018-10-09 | E*Trade Financial Corporation | Dynamic communication |
| EP2767905A1 (en) * | 2013-02-15 | 2014-08-20 | Samsung Electronics Co., Ltd | Terminal apparatus, server, browser of terminal apparatus operating system and method of operating browser |
| US10073754B2 (en) | 2013-09-13 | 2018-09-11 | Assurant, Inc. | Systems and methods for collecting, tracking, and storing system performance and event data for computing devices |
| US9378063B2 (en) * | 2013-10-15 | 2016-06-28 | Qualcomm Incorporated | Mobile coprocessor system and methods |
| US9516006B2 (en) * | 2013-10-23 | 2016-12-06 | Google Inc. | Re-programmable secure cryptographic device |
| JP6404347B2 (ja) * | 2013-12-20 | 2018-10-10 | インテル・コーポレーション | 実行オフロード |
| US10691332B2 (en) | 2014-02-28 | 2020-06-23 | Samsung Electronics Company, Ltd. | Text input on an interactive display |
| CN105849734B (zh) | 2014-07-31 | 2020-09-11 | 华为技术有限公司 | 一种可携带式设备的控制方法和设备 |
| US10754328B2 (en) * | 2014-09-05 | 2020-08-25 | Accenture Global Solutions Limited | Self-adaptive device intelligence as a service enterprise infrastructure for sensor-rich environments |
| US20160103708A1 (en) * | 2014-10-09 | 2016-04-14 | Profoundis Labs Pvt Ltd | System and method for task execution in data processing |
| KR102280543B1 (ko) * | 2014-12-01 | 2021-07-26 | 삼성전자주식회사 | 전자 디바이스의 작업 수행 장치 및 방법 |
| US10305976B2 (en) * | 2015-09-21 | 2019-05-28 | Intel Corporation | Method and apparatus for dynamically offloading execution of machine code in an application to a virtual machine |
| US9679611B2 (en) | 2015-09-28 | 2017-06-13 | Mitac Computing Technology Corporation | Method for displaying status associated with a storage device, computer system and status-monitoring device thereof |
| US10228930B2 (en) * | 2016-01-28 | 2019-03-12 | Microsoft Technology Licensing, Llc | Offloading network connectivity and execution tasks to an assistant device |
| CN105843685A (zh) * | 2016-03-17 | 2016-08-10 | 哈尔滨理工大学 | 基于任务分配的移动终端计算卸载方法 |
| US20170353397A1 (en) * | 2016-06-06 | 2017-12-07 | Advanced Micro Devices, Inc. | Offloading Execution of an Application by a Network Connected Device |
| US11032357B2 (en) * | 2017-03-30 | 2021-06-08 | Intel Corporation | Data processing offload |
| US10057373B1 (en) * | 2017-05-15 | 2018-08-21 | Palantir Technologies Inc. | Adaptive computation and faster computer operation |
| US10951521B2 (en) * | 2017-09-01 | 2021-03-16 | Maxlinear, Inc. | Method for scheduling a computational task, a method for processing a computational task, a computer readable storage medium, a computer program, a residential gateway, and a server |
| US10616340B2 (en) * | 2018-02-23 | 2020-04-07 | Standard Cognition, Corp. | Distributed computing of large data by selecting a computational resource of a remote server based on selection policies and data information wherein the selections policies are associated with location constraints, time constraints, and data type constraints |
| US10855753B2 (en) * | 2018-02-23 | 2020-12-01 | Standard Cognition, Corp. | Distributed computing of vehicle data by selecting a computation resource of a remote server that satisfies a selection policy for meeting resource requirements according to capability information |
| US11689637B2 (en) * | 2019-10-14 | 2023-06-27 | Qualcomm Incorporated | Local cache management in edge networks |
| US11099838B1 (en) * | 2020-02-26 | 2021-08-24 | Quanta Computer Inc. | Method and system for recovery for custom integrated circuit |
| US11252226B2 (en) * | 2020-03-05 | 2022-02-15 | Qualcomm Incorporated | Methods and apparatus for distribution of application computations |
| US12210893B2 (en) * | 2021-07-29 | 2025-01-28 | Red Hat, Inc. | Establishing process connections utilizing an intermediary broker |
| US11960376B1 (en) * | 2022-12-05 | 2024-04-16 | Dish Wireless L.L.C. | Virtualization of community-based networking and crypto mining hardware |
| EP4492235A1 (en) * | 2023-07-13 | 2025-01-15 | Ntt Docomo, Inc. | Method for providing a communication and computing service session |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1424658A (zh) * | 2003-01-06 | 2003-06-18 | 曹爱国 | 一种移动存储装置及其设计方法 |
| CN1790263A (zh) * | 2004-12-13 | 2006-06-21 | 深圳市朗科科技有限公司 | 移动存储设备及其图标变更方法 |
Family Cites Families (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5319754A (en) * | 1991-10-03 | 1994-06-07 | Compaq Computer Corporation | Data transfer system between a computer and a host adapter using multiple arrays |
| US5222062A (en) * | 1991-10-03 | 1993-06-22 | Compaq Computer Corporation | Expandable communication system with automatic data concentrator detection |
| US5280586A (en) * | 1991-10-03 | 1994-01-18 | Compaq Computer Corp. | Expandable communication system using data concentration |
| US5469545A (en) * | 1991-10-03 | 1995-11-21 | Compaq Computer Corp. | Expandable communication system with data flow control |
| US5566326A (en) * | 1993-09-28 | 1996-10-15 | Bull Hn Information Systems Inc. | Copy file mechanism for transferring files between a host system and an emulated file system |
| US5664098A (en) * | 1993-09-28 | 1997-09-02 | Bull Hn Information Systems Inc. | Dual decor capability for a host system which runs emulated application programs to enable direct access to host facilities for executing emulated system operations |
| US5572711A (en) * | 1993-09-28 | 1996-11-05 | Bull Hn Information Systems Inc. | Mechanism for linking together the files of emulated and host system for access by emulated system users |
| US5546538A (en) | 1993-12-14 | 1996-08-13 | Intel Corporation | System for processing handwriting written by user of portable computer by server or processing by the computer when the computer no longer communicate with server |
| US5964855A (en) * | 1997-04-07 | 1999-10-12 | International Business Machines Corporation | Method and system for enabling nondisruptive live insertion and removal of feature cards in a computer system |
| US5943692A (en) * | 1997-04-30 | 1999-08-24 | International Business Machines Corporation | Mobile client computer system with flash memory management utilizing a virtual address map and variable length data |
| JPH1115761A (ja) * | 1997-06-02 | 1999-01-22 | Internatl Business Mach Corp <Ibm> | 赤外線通信機能を持つ情報処理装置及びその制御方法 |
| US6434620B1 (en) | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
| JPH11143827A (ja) | 1997-11-04 | 1999-05-28 | Toshiba Corp | 計算機資源割り当てシステム、携帯端末及び計算機資源管理方法 |
| US6151709A (en) * | 1998-02-13 | 2000-11-21 | Novell, Inc. | Processes and apparatuses for uploading instructions to a computer |
| US20010054115A1 (en) | 1998-05-29 | 2001-12-20 | Tabitha Ferguson | System and method for bundling information |
| US6141705A (en) * | 1998-06-12 | 2000-10-31 | Microsoft Corporation | System for querying a peripheral device to determine its processing capabilities and then offloading specific processing tasks from a host to the peripheral device when needed |
| US6904519B2 (en) | 1998-06-12 | 2005-06-07 | Microsoft Corporation | Method and computer program product for offloading processing tasks from software to hardware |
| US20020152060A1 (en) * | 1998-08-31 | 2002-10-17 | Tseng Ping-Sheng | Inter-chip communication system |
| US6314447B1 (en) | 1999-10-04 | 2001-11-06 | Sony Corporation | System uses local registry and load balancing procedure for identifying processing capabilities of a remote device to perform a processing task |
| AU1471101A (en) * | 1999-11-10 | 2001-06-06 | Unisys Corporation | Method and apparatus for providing redundant and resilient cryptographic services |
| US20060271441A1 (en) * | 2000-11-14 | 2006-11-30 | Mueller Raymond J | Method and apparatus for dynamic rule and/or offer generation |
| DE60117676T2 (de) * | 2000-12-29 | 2006-11-16 | Stmicroelectronics S.R.L., Agrate Brianza | Verfahren zur einfachen Ausdehnung der Funktionalität eines tragbaren elektronischen Geräts und zugehöriges, tragbares elektronisches Gerät |
| WO2003009539A1 (en) * | 2001-07-10 | 2003-01-30 | Fujitsu Limited | Mobile machine communication system and communication method |
| GB2377587B (en) * | 2001-07-11 | 2005-03-30 | Vodafone Plc | Interconnection of mobile telecommunications terminals |
| US7418344B2 (en) * | 2001-08-02 | 2008-08-26 | Sandisk Corporation | Removable computer with mass storage |
| US20030046330A1 (en) | 2001-09-04 | 2003-03-06 | Hayes John W. | Selective offloading of protocol processing |
| US6990662B2 (en) * | 2001-10-31 | 2006-01-24 | Hewlett-Packard Development Company, L.P. | Method and system for offloading execution and resources for resource-constrained networked devices |
| JP4076954B2 (ja) | 2002-01-28 | 2008-04-16 | 富士通株式会社 | 取引方法及びそれを実行するための取引システム |
| US7644188B2 (en) | 2002-02-25 | 2010-01-05 | Intel Corporation | Distributing tasks in data communications |
| US7007103B2 (en) * | 2002-04-30 | 2006-02-28 | Microsoft Corporation | Method to offload a network stack |
| US9886309B2 (en) | 2002-06-28 | 2018-02-06 | Microsoft Technology Licensing, Llc | Identity-based distributed computing for device resources |
| WO2004064481A2 (en) * | 2003-01-23 | 2004-08-05 | Dexterra, Inc. | System and method for mobile data update |
| US8250412B2 (en) * | 2003-09-26 | 2012-08-21 | Ati Technologies Ulc | Method and apparatus for monitoring and resetting a co-processor |
| WO2005050372A2 (en) | 2003-11-13 | 2005-06-02 | The Board Of Governors For Higher Education State Of Rhode Island : Providence Plantation | Hardware environment for low-overhead profiling |
| JP4064914B2 (ja) * | 2003-12-02 | 2008-03-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム |
| FR2870990B1 (fr) * | 2004-05-26 | 2006-08-11 | St Microelectronics Sa | Protection d'un circuit integre contre des decharges electrostatiques |
| US20060080389A1 (en) | 2004-10-06 | 2006-04-13 | Digipede Technologies, Llc | Distributed processing system |
| US9032192B2 (en) * | 2004-10-28 | 2015-05-12 | Broadcom Corporation | Method and system for policy based authentication |
| US20060161563A1 (en) | 2004-11-18 | 2006-07-20 | Besbris David G | Service discovery |
| US20060235998A1 (en) | 2005-04-19 | 2006-10-19 | International Business Machines Corporation | Off-loading data formatting to a communicatively coupled client |
| KR100642998B1 (ko) | 2005-06-07 | 2006-11-10 | 주식회사 인티큐브 | 단말의 정책을 업그레이드하기 위한 정책메시지 전송방법 |
| US7567553B2 (en) * | 2005-06-10 | 2009-07-28 | Swift Creek Systems, Llc | Method, system, and data structure for providing a general request/response messaging protocol using a presence protocol |
| US7623717B2 (en) | 2005-08-31 | 2009-11-24 | Microsoft Corporation | Capturing device for embedding software into raw sensor data |
| US20070143851A1 (en) * | 2005-12-21 | 2007-06-21 | Fiberlink | Method and systems for controlling access to computing resources based on known security vulnerabilities |
| US20080052770A1 (en) * | 2006-03-31 | 2008-02-28 | Axalto Inc | Method and system of providing security services using a secure device |
| US7966039B2 (en) | 2007-02-02 | 2011-06-21 | Microsoft Corporation | Bidirectional dynamic offloading of tasks between a host and a mobile device |
-
2007
- 2007-02-02 US US11/670,891 patent/US7966039B2/en active Active
-
2008
- 2008-01-11 EP EP08713721.2A patent/EP2122476B1/en active Active
- 2008-01-11 WO PCT/US2008/050866 patent/WO2008094742A1/en not_active Ceased
- 2008-01-11 EP EP19180991.2A patent/EP3582110B1/en active Active
- 2008-01-11 CN CN2008800039004A patent/CN101601028B/zh not_active Expired - Fee Related
- 2008-02-01 TW TW103145028A patent/TWI540443B/zh not_active IP Right Cessation
- 2008-02-01 TW TW097104034A patent/TWI498744B/zh active
- 2008-02-01 TW TW103145027A patent/TWI557572B/zh not_active IP Right Cessation
-
2011
- 2011-05-11 US US13/105,788 patent/US8112116B2/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1424658A (zh) * | 2003-01-06 | 2003-06-18 | 曹爱国 | 一种移动存储装置及其设计方法 |
| CN1790263A (zh) * | 2004-12-13 | 2006-06-21 | 深圳市朗科科技有限公司 | 移动存储设备及其图标变更方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101601028A (zh) | 2009-12-09 |
| EP2122476A4 (en) | 2013-07-10 |
| TW201512850A (zh) | 2015-04-01 |
| TW200841187A (en) | 2008-10-16 |
| US8112116B2 (en) | 2012-02-07 |
| EP3582110A1 (en) | 2019-12-18 |
| EP2122476B1 (en) | 2019-06-19 |
| US7966039B2 (en) | 2011-06-21 |
| US20110214126A1 (en) | 2011-09-01 |
| TWI557572B (zh) | 2016-11-11 |
| WO2008094742A1 (en) | 2008-08-07 |
| EP3582110B1 (en) | 2022-05-11 |
| TW201512851A (zh) | 2015-04-01 |
| TWI498744B (zh) | 2015-09-01 |
| US20100272258A1 (en) | 2010-10-28 |
| TWI540443B (zh) | 2016-07-01 |
| EP2122476A1 (en) | 2009-11-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101601028B (zh) | 主机和移动设备之间的任务的双向动态卸载 | |
| JP4738534B2 (ja) | 複数のブート可能装置間のブートネゴシエーション | |
| CN103095544B (zh) | 虚拟交换机的可扩展性 | |
| JP5293580B2 (ja) | ウェブサービスシステム、ウェブサービス方法及びプログラム | |
| TWI496023B (zh) | 用於部分保全記憶體處理的軟體修改技術 | |
| JP2019522282A (ja) | クラウドコンピューティングノードのセキュアな設定 | |
| US10554690B2 (en) | Security policy inclusion with container deployment | |
| JP6018316B2 (ja) | 端末認証登録システム、端末認証登録方法およびプログラム | |
| US20230221784A1 (en) | System and method for power state enforced subscription management | |
| US20240380791A1 (en) | Connection management device and common api | |
| US20110161404A1 (en) | Systems and methods for communicating data between a server and a device on a virtual desktop | |
| JPWO2009122526A1 (ja) | シンクライアントの実現方法、そのためのクライアント端末およびサーバ | |
| EP4154106B1 (en) | Configuration techniques for managed host operating systems and containerized applications instantiated thereby | |
| CN118568743B (zh) | 基于硬件加密卡的数据加解密方法、装置、介质及设备 | |
| CN115885260A (zh) | 管理虚拟机的配置技术 | |
| CN114731326B (zh) | 区块链系统、程序及网络连接装置 | |
| US12019489B1 (en) | System and method for provisioning free standing modules | |
| US9021157B2 (en) | Reliable socket transfer based on initializing and re-initializing a communication link and retaining a connected state | |
| US20200287981A1 (en) | System and Method for Providing UEFI Protocol Access Control | |
| CN119512579A (zh) | 裸金属服务器部署方法、装置、计算机设备和存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| 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: 20150507 |
|
| C41 | Transfer of patent application or patent right or utility model | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20150507 Address after: Washington State Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC Address before: Washington State Patentee before: Microsoft Corp. |
|
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120425 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |