CN108139933B - 优化物理和虚拟电话移动性的方法、设备、系统和介质 - Google Patents

优化物理和虚拟电话移动性的方法、设备、系统和介质 Download PDF

Info

Publication number
CN108139933B
CN108139933B CN201680061544.6A CN201680061544A CN108139933B CN 108139933 B CN108139933 B CN 108139933B CN 201680061544 A CN201680061544 A CN 201680061544A CN 108139933 B CN108139933 B CN 108139933B
Authority
CN
China
Prior art keywords
mobile device
desktop
application
user
physical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680061544.6A
Other languages
English (en)
Other versions
CN108139933A (zh
Inventor
M·A·塔尔顿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108139933A publication Critical patent/CN108139933A/zh
Application granted granted Critical
Publication of CN108139933B publication Critical patent/CN108139933B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

物理和虚拟电话移动性系统使得能够通过在移动设备被确定为在台式设备的预定邻近度内时将虚拟移动设备主存在该台式设备上来在该移动设备与台式设备之间共享应用任务和资源。将对移动设备可用的通常被用来执行给定应用任务的本地资源与对台式设备可用的资源相比较。基于该比较的结果,根据一个或多个转移规则来将应用的至少部分执行(在一些情形中连同一些状态信息一起)从移动设备转移至台式设备。

Description

优化物理和虚拟电话移动性的方法、设备、系统和介质
技术领域
本申请涉及物理和虚拟电话的移动性,尤其是涉及对物理和虚拟电话移动性进行优化的方案。
背景技术
智能手机、平板计算机和其它移动小形状因子设备通常被用作用于进行电话呼叫和发送消息的通信设备以及应用平台。然而,甚至在用户坐在台式个人计算机(PC)前时,他们经常使用他们的移动设备来执行任务或者运行他们的台式PC能够主存的应用。
发明内容
物理和虚拟电话移动性系统使得能够通过在移动设备被确定为在台式设备的预定邻近度内时将虚拟移动设备主存在该台式设备上来在该移动设备与台式设备之间共享应用任务和资源。对移动设备可用的通常被用来执行给定应用任务的本地资源与对台式设备可用的资源相比较。基于该比较的结果,根据一个或多个转移规则来将应用的至少部分执行(在一些情形中连同一些状态信息一起)从移动设备转移至台式设备。
规则可被制定成使得特定应用任务例如在台式设备具有对其可用的、可使得能够相比于只使用对移动设备可用的本地资源来执行这些任务更优地执行这些任务和/或提高与设备的用户交互效率时被转移。所比较的设备资源可包括例如外设(诸如输入和输出设备(键盘、音频扬声器、话筒、显示屏等))的配置和可用性、外部通信链路提供的服务质量(QoS)、带宽和/或安全等级、处理器能力、存储器和/或存储可用性、数据和内容的可用性、以及电源的配置和容量。
物理和虚拟电话移动性系统能优化对共同可用设备资源的使用以提高移动设备和台式设备中的任一者或两者的操作效率,同时还保留有限资源,诸如电池电量和网络带宽。与设备的用户交互的有效性还可通过能减少用户错误并提高用户体验的质量的去往和来自设备的更高效的输入和输出来提高。
转移规则可计及用户行为和偏好。例如,物理和虚拟电话移动性系统能支持用户对任务转移的手动发起并使得用户能够指示关于转移哪些应用任务、在什么时间以及在什么情况或情境下转移的偏好。系统还可以在移动设备被确定为在台式设备的阈值邻近度内时给用户生成建议某些应用任务的转移的通知。系统可利用用户偏好、手动激活历史和/或用户对通知的响应来在一些情形中自动转移应用任务。
在一说明性示例中,虚拟机电话(VMPhone)被配置成在台式设备(诸如个人计算机(PC))上操作,其中当物理移动设备(诸如移动电话)被确定为在该台式设备的阈值邻近度内时,该PC用作该移动设备的代理或替身。电话应用的操作可以部分地或完全从移动设备转移至台式设备上的VMPhone。这一转移可凭借经常作为用户接口(UI)外设对台式设备可用的通常更大的显示屏和键盘来提高交互效率并减少用户错误。对VMPhone的使用能提供与移动电话应用的外观和感觉一致的用户体验,同时使得能够在一些情形中降低移动设备处的功耗。呼入呼叫可以在VMPhone上响铃,且来自VMPhone的呼出呼叫可显示与移动设备相关联的呼叫方ID。来自移动设备的诸如联系人列表、语音邮件、呼叫历史、操作状态和参数等数据和状态信息在台式设备上的VMPhone上可以是可用的并被利用,就像数据是本地资源一样。
在其他情形中,物理和虚拟电话移动性系统可确定物理电话和VMPhone之间的更优任务分配是由VMPhone支持UI操作,同时在移动设备上支持网络操作。例如,移动设备上的蜂窝连接的QoS可大于当前对台式设备可用的Wi-Fi连接的QoS,Wi-Fi连接可能较不安全,或者用户可能在某些情况和情境下优选利用蜂窝连接。由此,台式设备上的VMPhone能够以自立模式与移动设备分开操作,或者以配对模式与移动设备相组合地操作。在这两个操作模式中,应用任务、数据和/或状态信息可以动态地在移动设备与台式设备上的VMPhone之间移动。例如,应用任务可以动态地随着情况和情境的变化而在移动设备与VMPhone之间重新分配以维持一个或两个设备的更优操作状态和/或改善用户体验。任务和状态的转移可以在移动设备与台式设备之间无缝地执行以使得应用无需维持对它们正在其上运行的特定计算平台的任何知晓。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。应当理解,上述主题可被实现为计算机控制的装置、计算机进程、计算系统或诸如一个或多个计算机可读存储介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
附图说明
图1是说明性移动设备的功能框图;
图2是可被用作台式设备的说明性计算机系统的功能框图;
图3示出了能够执行用于提供本发明中的物理和虚拟电话移动性的各种组件的设备的说明性架构;
图4示出了被配置成用于物理和虚拟电话移动性的系统的说明性用例;
图5示出了用于在移动设备与台式设备之间共享任务和应用的说明性系统;以及
图6-8示出了说明性方法。
各附图中相同的附图标记指示相同的元素。除非另外指明否则各元素不是按比例绘制的。
具体实施方式
图1是说明性移动设备100的功能框图,该移动设备100包括在102概括示出的各种可任选硬件和软件组件。移动设备中的任何组件102通常可与任何其他组件通信,但出于容易阐示的目的而未示出所有连接。在以下讨论中,术语“移动设备”指的是配置有通信能力且能够与诸如蜂窝、短程、Wi-Fi或卫星网络等一个或多个通信网络104进行无线双向通信的便携式设备。移动设备通常是轻量级的,并且用可充电电池供电,并且这些设备一般足够小以适合在口袋、手提包、背包等内。因此,移动设备100可涵盖各种计算设备,诸如蜂窝电话、智能手机、手持式计算机、PDA(个人数字助理)和平板计算机。其它说明性移动设备可以不同地包括便携式媒体播放器、平板手机设备(即,组合式智能手机/平板设备)、可穿戴计算机、诸如GPS(全球定位系统)等导航设备系统、便携式游戏系统,等等。
移动设备100可包括用于执行如信号编码、数据处理、输入/输出处理、电源控制和/或其他功能等各种任务的控制器或处理器110(例如,信号处理器、微处理器、微控制器、ASIC(专用集成电路)、或其他控制和处理逻辑电路)。操作系统112可控制对组件102的分配和使用(包括功率状态、上锁状态、以及解锁状态),并提供对一个或多个应用程序114的支持。应用程序可包括公共移动计算应用(例如,图像捕捉应用、电子邮件应用、日历、联系人管理器、web浏览器、消息收发应用)、或其他计算应用。
移动设备100可以包括存储器120。存储器120可以包括不可移动存储器122和/或可移动存储器124。不可移动存储器122可以包括RAM、ROM、闪存、硬盘或者其他公知的存储器存储技术。可移动存储器124可包括闪存或订户身份模块(SIM)卡,其在GSM(全球移动通信系统)系统中是众所周知的,或者其他众所周知的存储器存储技术,诸如“智能卡”。存储器120可用于存储数据和/或用于运行操作系统112和应用程序114的代码。示例数据可以包括要经由一个或多个有线或无线网络被发送至和/或接收自一个或多个网络服务器或其他设备的网页、文本、图像、声音文件、视频数据或者其他数据集。
存储器120还可被布置为或包括以任何用于诸如计算机可读指令、数据结构、程序模块或其它数据子类的信息的存储的方法或技术实现的一个或多个计算机可读存储介质。例如,计算机可读介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM(紧凑盘ROM)、DVD(数字多功能盘)、HD-DVD(高清晰度DVD)、蓝光或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由移动设备100访问的任何其他介质。
存储器120可被用来储存订户标识符和设备标识符,所述订户标识符诸如国际移动订户身份(IMSI),所述设备标识符诸如国际移动设备标识符(IMEI)。这种标识符可以被发射至网络服务器以标识用户和设备。移动设备100可支持一个或多个输入设备130,诸如触摸屏132;用于实现用于语音识别、语音命令等的语音输入的话筒134;相机136;物理键盘138;轨迹球140;和/或邻近度传感器142;以及一个或多个输出设备150,诸如扬声器152、一个或多个显示器154、或者用于触觉输出的触觉输出设备156(作为示例而非限制,具有偏心配重轴的旋转电机)。在一些情况下,还可采用使用姿势识别的其它的输入设备(未示出)。其它可能的输出设备(未示出)可包括压电制动器或者采用压电效应的其它合适的组件。一些设备可供应多于一个输入/输出功能。例如,触摸屏132和显示器154可被组合在单个输入/输出设备内。
无线调制解调器160可被耦合到天线(未示出),并可支持处理器110和外部设备之间的双向通信,如本领域中清楚理解的。调制解调器160被一般性地示出,并且可以包括用于与移动通信网络104通信的蜂窝调制解调器和/或其他基于无线电的调制解调器(例如蓝牙164、Wi-Fi 162和/或近场通信(NFC)166)。无线调制解调器160一般被配置成与一个或多个蜂窝网络(诸如GSM网络)通信,用于单个蜂窝网络内、多个蜂窝网络之间、或者在移动设备和公共交换电话网(PSTN)之间的数据和语音通信。
移动设备100可进一步包括至少一个输入/输出端口180、电源182、卫星导航系统接收机184,诸如GPS接收机、加速计186、陀螺仪(未示出)和/或物理连接器190,它可以是USB端口、IEEE 1394(火线)端口、和/或RS-232端口。图示的组件102不是必须的或全包含的,因为任何组件可以被删除且其他组件可以被添加。
图2是诸如PC、客户机或服务器等可用作可用于实现本发明的物理和虚拟电话移动性的台式设备的说明性计算机系统200的简化框图。如此处所使用的,术语“台式设备”指的是物理上比移动设备更大并且可以在其中设备在半永久或固定的基础上(诸如在家庭办公室、企业或商业环境等中)安装的使用场景中使用的计算平台和系统。台式设备还可包括膝上型计算机和笔记本计算机以及是便携式的并且电池供电、但通常在物理上比移动设备更大的类似设备。
计算机系统200包括处理器205、系统存储器211以及将包括系统存储器211的各种系统组件耦合至处理器205的系统总线214。系统总线214可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、或局部总线。系统存储器211包括只读存储器(ROM)217和随机存取存储器(RAM)221。基本输入/输出系统(BIOS)225被存储在ROM 217中,该基本输入/输出系统包含诸如在启动期间帮助在计算机系统200内的元件之间传输信息的基本例程。计算机系统200还可包括对内置硬盘(未示出)读写的硬盘驱动器228、对可移动磁盘233(例如,软盘)读写的磁盘驱动器230、以及对诸如CD(压缩盘)、DVD(数字多功能盘)或其他光学介质之类的可移动光盘243读写的光盘驱动器238。硬盘驱动器228、磁盘驱动器230,以及光盘驱动器238分别通过硬盘驱动器接口246、磁盘驱动器接口249,以及光盘驱动器接口252连接到系统总线214。驱动器及其相关联的计算机可读存储介质为计算机系统200提供了对计算机可读指令、数据结构、程序模块,及其他数据的非易失性存储。虽然这个说明性的示例包括硬盘、可移动磁盘233以及可移动光盘243,但是可存储可被计算机访问的数据的其它类型的计算机可读存储介质(诸如磁带盒、闪存卡、数字视频卡、数据磁带、随机存取存储器(RAM)、只读存储器(ROM)等)也可在本发明的物理和虚拟电话移动性的一些应用中使用。此外,如在此使用的,术语计算机可读介质包括媒体类型的一个或多个实例(例如,一个或多个磁盘、一个或多个CD等)。出于本说明书和权利要求书的目的,短语“计算机可读存储介质”及其变型不包括波、信号和/或其他瞬态和/或无形通信介质。
若干个程序模块可被储存在硬盘、磁盘233、光盘243、ROM 217,或者RAM 221上,包括操作系统255、一个或多个应用程序257、其他程序模块260,以及程序数据263。用户可通过诸如键盘266和定点设备268(诸如鼠标)之类的输入设备向计算机系统200中输入命令和信息。其它输入设备(未显示)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、跟踪球、触摸垫、触摸屏、触敏设备、语音命令模块或设备、用户运动或用户姿势捕捉设备等。这些及其他输入设备常常通过耦合到系统总线214的串行端口接口271连接到处理器205,但是,但也可以通过其他接口,如并行端口、游戏端口或通用串行总线(USB)端口、来进行连接。监视器273或其他类型的显示设备也可经由诸如视频适配器275之类的接口被连接到系统总线214。除监视器273以外,个人计算机通常包括诸如扬声器和打印机之类的其他外围输出设备(未示出)。图2中显示的说明性示例还包括主机适配器278、小型计算机系统接口(SCSI)总线283以及连接到SCSI总线283的外置存储设备276。
计算机系统200可使用到诸如远程计算机288之类的一个或多个远程计算机的逻辑连接来在联网环境中操作。远程计算机288可被选择为另一台个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且通常包括本文关于计算机系统200所描述的许多或所有元件,尽管在图2中仅示出单个代表性远程存储器/存储设备290。图2中所描绘的逻辑连接包括局域网(LAN)293和广域网(WAN)295。此类联网环境通常被部署在例如办公室、企业范围的计算机网络、内联网和互联网中。
当在LAN联网环境中使用时,计算机系统200通过网络接口或适配器296被连接到局域网293。当在WAN联网环境中使用时,计算机系统200通常包括宽带调制解调器298、网络网关或用于通过诸如互联网之类的广域网295建立通信的其他装置。内置或者外置的宽带调制解调器298经由串行端口接口271被连接到系统总线214。在联网环境中,与计算机系统200相关的程序模块或其部分可被储存在远程存储器存储设备290中。
注意,图2中显示的网络连接是说明性的,并且取决于本发明的物理和虚拟电话移动性的应用的具体要求,用于建立计算机之间的通信链路的其它手段可被使用。例如,计算机之间的通信链路可包括Wi-Fi连通性和/或诸如蓝牙无线和NFC等短程通信。
图3示出能够执行此处所描述的用于提供本发明的物理和虚拟电话移动性的各个组件的设备的说明性架构300。因此,图3所示的架构300可被适配成用于:服务器计算机、移动电话、PDA、智能手机、台式计算机、上网本计算机、平板计算机、GPS设备、游戏控制台和/或膝上型计算机。架构300可被用来执行本文所呈现的组件的任何方面。
图3中所示的架构300包括CPU(中央处理单元)302、包括RAM 306和ROM 308的系统存储器304,以及将存储器304耦合至CPU 302的系统总线310。基本输入/输出系统被储存在ROM 308中,该系统包含帮助诸如在启动期间在架构300中的元件之间传递信息的基本例程。架构300还包括用于储存被用来实现应用、文件系统和操作系统的软件代码或其他被计算机执行的代码的大容量存储设备312。
大容量存储设备312通过被连接到总线310的大容量存储控制器(未示出)被连接到CPU 302。大容量存储设备312及其相关联的计算机可读存储介质为架构300提供非易失性存储。
虽然本文所包含的对计算机可读存储介质的描述是指诸如硬盘或CD-ROM驱动之类的大容量存储设备,但本领域的技术人员可以理解,计算机可读存储介质可以是可由架构300访问的任何可用的存储介质。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,RAM、ROM、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、闪存或其他固态存储器技术,CD-ROM、DVD、HD-DVD(高清晰度DVD)、蓝光或其他光学存储,磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可由架构300访问的任何其他介质。
架构300可以通过网络使用至远程计算机的逻辑连接来在联网环境中操作。架构300可以通过连接至总线310的网络接口单元316来连接到网络。网络接口单元316还可以被用来连接到其他类型的网络和远程计算机系统。架构300可以包括用于接收和处理来自数个其他设备的输入的输入/输出控制器318,这些设备包括键盘、鼠标或者电子触控笔(未在图3中示出)。类似地,输入/输出控制器318可向显示屏、打印机,或者其他类型的输出设备(在图3中也未示出)提供输出。
可以理解,本文所描述的软件组件在被加载到CPU 302中并被执行时可以将CPU302和总体架构300从通用计算系统变换成为方便本文所提出的功能而定制的专用计算系统。CPU 302可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)来构建。更具体而言,CPU 302可响应于被包含在本文所公开的软件模块中的可执行指令而作为有限状态机来操作。这些计算机可执行指令可以通过指定CPU302如何在各状态之间转换来变换CPU 302,由此变换了构成CPU 302的晶体管或其他分立硬件元件。
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读存储介质的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这样的因素的示例可以包括,但不限于:被用来实现计算机可读存储介质的技术、计算机可读存储介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读存储介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读存储介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
作为另一示例,本文所公开的计算机可读存储介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或性质来改变这些位置的光学性质。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可以的,前面提供的示例只是为了便于此讨论。
鉴于以上内容,可以理解,在架构300中发生许多类型的物理变换以便储存并执行本文所提出的软件组件。还应理解,架构300可包括其它类型的计算设备,包括手持计算机、嵌入式计算机系统、智能电话、PDA、以及本领域技术人员已知的其它类型的计算设备。还构想了架构300可不包括图3中示出的全部组件,可包括图3中没明确示出的其它组件、或者可包括与图3中所示的完全不同的体系结构。
以上讨论的说明性计算硬件和架构可用于支持被配置成主存仿真物理硬件的虚拟机的平台。例如,在虚拟机中运行的应用可以在不同的物理设备之间无缝迁移。与移动设备的操作和/或应用的执行有关的任务以及资源可以从移动设备迁移或转移至台式设备,反之亦然。在一些情形中,设备状态数据可以在迁移过程转移。
在一说明性示例中,软件、硬件、固件或其组合或子组合可用于实现诸如PC等台式设备上的“虚拟机电话(VMPhone)”,其中台式设备用作支持语音电话或通信的移动设备的替身或代理。例如,当向移动设备的电话号码做出呼叫时,移动设备或VMPhone或两者能响铃。例如出于呼叫方ID目的,来自VMPhone的呼出呼叫对于电话网络可以看上去就像它们源自移动设备。安装在移动设备上的应用可以在VMPhone上执行-以自立模式完全执行或者以配对模式部分执行-同时看上去且表现得就像它们是在移动设备上运行那样。
对VMPhone的使用可提供多个技术优点。台式设备可具有可用于以改进设备操作和/或保留有限资源的更高效和/或更优的方式执行与安装在移动设备上的给定应用相关联的任务的硬件和/或软件资源。例如,在自立模式和配对模式两者中,移动设备的有限资源(例如,电池容量、存储器、网络带宽、或处理器周期)上的负载可通过将任务从移动设备转移到台式设备来减少。在配对模式中,可通过移动设备所支持的在一些情形中可以更稳定或更安全的蜂窝连接来向台式设备提供附加通信链路。在与虚拟化的电话应用交互时的用户效率还可凭借台式设备的包括显示器和键盘的通常更大的用户接口来提高。由此,移动设备的电话应用到台式设备上的VMPhone的迁移在改善用户体验并增加不必为了做出和接收呼叫而物理地访问设备的便利度的情况下向用户提供对移动设备的完整的电话呼入呼出管理。
图4示出了被配置成用于物理和虚拟电话移动性的系统400的说明性用例。用户402可将移动设备404携带至台式设备406附近。移动设备404可以与蜂窝发射机410进行无线电通信408。蜂窝发射机410进而与一个或多个广域网(由附图标记414代表性地指示)通信412以访问数据源和其它资源并进行电话通信,该一个或多个广域网可包括例如因特网的各部分。台式设备406还包括与网络414的通信链路422。
移动设备404与台式设备406的在某一预定阈值内的邻近度可用作对移动设备和台式设备共享应用任务、资源和/或状态的触发。在一些实现中,术语邻近度包括“物理邻近度”的概念并且指的是设备相对于彼此的基于距离尺度的相对物理位置。在其他实现中,邻近度可以被描述为具有不基于距离的尺度和/或构造。例如,用户可以用一个或多个服务器以及多个连接网络的设备(每一设备支持用户交互)来访问家庭联网环境。由于相距各种距离的多个设备能支持与移动设备的交互,因此不一定存在用于确定距离的单个显式桌面。在此类环境中,“逻辑邻近度”的概念可用于描述移动设备与联网设备的关系,其中适用于或描述逻辑上邻近的元素的参数可因实现而异。物理邻近度和逻辑邻近度中的一者或两者可用作共享触发,并且适用的特定类型的邻近度通常将根据手头的使用场景而显而易见。
确定移动设备404与台式设备406的邻近度能够以各种方式完成。在一个说明性实现中,移动设备404和台式设备406可通过短程通信链路416来直接彼此通信。例如,NFC在相对有限的射程内通常是有效的。因此,在其中台式设备406和移动设备404配备用于NFC的情形中,移动设备404和台式设备406的参与NFC接触的能力可指示其相对邻近度。类似的邻近度确定还可使用Wi-Fi通信、蓝牙通信或者任何其它合适的短程通信技术来完成。
在物理和虚拟电话移动性的其它实现中,移动设备404与台式设备406之间的邻近度可通过一个或两个设备的地理位置来确立。在某些情况下,台式设备406具有已注册的位置。在其它情形中,台式设备可通过对与其IP地址相关联的位置的引用来定位。替换地,移动设备404可使用从全球导航卫星系统(GNSS)418接收到的信号来确定其位置,GNSS可包括全球定位系统(GPS)、GLONASS、伽利略或北斗中的一者或多者。此后,移动设备404和台式设备406可通过局部和直接通信链路416或者通过使用网络414的通信来彼此通信,以比较其位置以确定相对邻近度。
在另一说明性实现中,对移动设备404和台式设备406之间的任务的共享和转移的控制可驻留在远程服务器420。该服务器420可以与使用网络414来分别与移动设备404和台式设备406通信。在该实现中,服务器420接收关于移动设备404和台式设备406的位置的信息。使用接收到的信息,服务器420可决定移动设备404和台式设备406是否在阈值邻近度内以共享和/或转移任务和应用,并且分别向移动设备404和台式设备406传递执行这一共享和/或转移的指令。
移动设备404和台式设备406之间的功能转移和/或共享在一些实现中还可由用户402手动发起。用户402可通过与移动设备404和台式设备406中的一者或两者交互来发起功能转移和/或共享。
一旦移动设备404和台式设备406之间的功能转移和/或共享被发起,通常对对移动设备404和台式设备406中的每一者可用的相对设备能力和资源做出比较性评估。例如,移动设备404和台式设备406中的每一者可具有指示用于各种外围设备(作为示例而非限制,诸如键盘、鼠标或触摸屏/触控板等输入设备以及诸如可视显示器、发声器等输出设备)的驱动程序的注册表或类似的构造。移动设备404或台式设备406的每一个外围设备或组件通常将具有与其相关联的驱动程序以准许操作系统与该外围设备对接并利用该外围设备。驱动程序文件的存在可以是对移动设备404和台式设备406中的每一者可用的外围设备的一个指示符。
对可用资源的比较性评估不一定需要在每一次发起任务共享时执行。例如,当做出比较时,结果可被存储(例如使用本地高速缓存或使用诸如企业或基于云的服务器之类的远程资源)并且跨多个共享会话持久存储。在一些情形中,可以例如在改变的设备状态和/或在环境或情境中发声事件或改变使得有必要更新所存储的结果时在部分的基础上执行比较或评估。在一些情形中,可以完全或部分地跳过比较,并且可以从远程资源访问可用于补充或替换本地信息的适当的评估信息。
系统400的决策制定和控制功能可以在移动设备404、台式设备406、远程服务器设备420中的任一者中实例化或者以各种组合或子组合分布在各设备中。在某些实施例中,系统400并非是完全自动化的,而是利用来自用户402的输入。例如,可以向用户提供系统400对在移动设备404和台式设备406之间转移一个或多个功能的建议或推荐的通信424或其它合适的通知。例如,通信可以是视觉、听觉、触觉或使用这些元素的某一组合。用户可以用用于接受或拒绝所建议的转移的输入来显式地响应。在一些实施例中,在逝去预定时间段后,系统400可基于没有来自用户402的动作而假定转移被接受。在其它实施例中,系统400只在用户显式地批准的情况下才完成转移。在所描绘的实施例中,通信424是从移动设备404发起的。在其它实现中,该通信可来自台式设备406或服务器设备420。在其它实现中,远程服务器设备420可提供用于在设备之间共享任务和应用的另一资源池。
图5示出了用于在移动设备502和台式设备504之间的共享任务和应用的说明性系统500。移动设备502和台式设备504可利用通信链路506来直接或间接通信,如上所述。台式设备403可包括一个或多个硬件组件,诸如但不限于可包括触摸屏的可视显示器508、键盘510以及可包括鼠标、触控板、轨迹板、轨迹球或支持对触摸交互的合适仿真的其它组件或设备的指针设备512。台式设备504可包括壳体514(例如,外壳)、处理器或CPU 516以及存储设备518,诸如RAM、ROM、硬盘驱动器、可移动介质等。壳体514通常还将容纳耦合到AC电源以便为台式设备504供电的电源520。台式设备504可包括例如用于参与网络电话呼叫(IMS、VOIP等)的台式电话522。台式设备504还可包括与台式电话522相连接或者直接与台式设备504相连接的用于输入和/或输出的音频耳机524。台式设备504还可包括音频扬声器系统526。
在发起移动设备502与台式设备504之间的功能转移或共享之际,台式设备504可使得在显示器508上显示移动设备的虚拟实例528。在一些情形中,移动设备502通过触摸屏显示器来提供用户交互。对于台式设备上所支持的移动设备的虚拟实例528,也可以在显示器508支持触敏输入的情况下使用触摸屏来执行用户交互。替换地,可使用指针设备512来支持交互,该指针设备相对于移动设备的虚拟实例528控制显示器508上的指针530或光标。
图6示出了用于优化移动设备中的操作的说明性方法600。方法600可由例如诸如PC或可用作台式设备的类似计算平台等系统来执行。除非明确说明,否则流程图中所示并且在伴随的文本中描述的方法或步骤不限于特定的次序或顺序。此外,一些方法或其步骤可同时发生或被执行,并且取决于给定实现的要求,在此类实现中不是所有方法或步骤均需要被执行,并且一些方法或步骤可任选地被使用。
在步骤605中,确定物理移动设备的位置。该系统可使用以上讨论的各种方式之一来做出位置确定。在一些情形中,该系统可以与位置知晓式移动设备通信以做出该位置确定。在其它情形中,该系统可以自己做出该确定,或者与能够确定物理移动设备与该系统的邻近度的外部服务或资源通信。
在步骤610中,当物理移动设备被确定为在预定邻近度内时,评估对物理移动设备和该系统可用的资源。预定邻近度可以因实现而异,并且可以部分地取决于用于确定位置的方法的分辨率。在典型情形中,物理移动设备将例如在用户坐在台式PC前且移动设备在口袋里或者在附近的钱包或背包里时相对较接近该系统。评估可包括对物理移动设备和系统可用的所有资源,但在一些实现中也可以是更有限的,并且包括与安装在物理移动设备上的特定可执行应用相关联的资源子集。例如,该特定应用可包括电话应用。
在步骤615中,将物理移动设备的特性仿真为该系统上的虚拟移动设备。所仿真的特性不一定需要等同地与物理移动设备的实际特性相对应。其实,相比于物理移动设备,虚拟移动设备可仿真不同的模型和/或制造商,支持不同操作系统,并提供不同特征集。在步骤620中,基于对物理移动设备和系统上的相应资源的评估,可将与可执行应用相关联的任务从物理移动设备迁移至虚拟移动设备。在一些实现中,还可转移设备和/或数据。
在步骤625中,可根据转移规则来执行任务迁移。转移规则可以在该系统、物理移动设备或远程服务器或这些组件中的两者或更多者的组合上实例化。转移规则可计及各种因素,诸如用户偏好、用户行为(其中用户行为通常在通知用户且用户同意的情况下跟踪)、可用资源的能力和/或特性(诸如处理器速度、存储器和电量的可用容量)、外部电话链路的QoS/带宽/安全性、外围设备(显示监视器、扬声器、话筒、键盘等)的可用性,等等。在一些情形中,在被应用时转移规则将有助于优化资源和应用任务分配以使得例如改善用户体验,同时保留诸如物理移动设备的电池水平等稀缺资源。
转移规则的应用可取决于手头的特定任务而利用一个设备资源,而不是另一个。在一说明性示例中,在电话通信的情形中,与VoIP(网际协议语音)或可以对台式设备可用的其它类似服务的服务质量(QoS)相比,移动设备可通过蜂窝通信连接提供提高的QoS。因此,在该情形中,对于电话通信,使用移动设备网络连接提供最佳呼叫质量和用户体验。相比于与移动设备集成的音频硬件提供提高的性能的音频硬件也可对台式设备可用。在此类情形中,音频输入和输出任务的一部分可被转移至台式设备,同时网络通信功能保持在移动设备。
在另一说明性示例中,一些应用可要求用户输入文本。与如与移动设备一起提供的小型化和/或虚拟触摸屏键盘相比,全尺寸键盘通常提供更高效的文本输入以及更大的舒适度和减少的错误。在此类情形中,要求文本输入的应用将在全尺寸键盘外设对台式设备可用的情况下具有对该台式设备的基于任务的偏好。
利用一个资源而不是另一个在一些实现中可由应用自身规定并且反映在转移规则中。例如,安装在移动设备上的应用可被设计成利用移动设备显示器的触摸响应输入。将输入任务转移至未配备触敏显示器的台式设备(其中与移动设备的虚拟实例的交互通过例如鼠标或轨迹球指针完成)可能是次优的。在该情形中,应用自身可存储对触敏显示器接口的设备偏好,并且转移规则可以在转移应用任务时计及该基于应用的偏好。
图7示出了用于在移动设备与台式设备之间共享应用和资源的说明性方法700。在步骤705中,确定移动设备是否存在于台式设备的预定邻近度内。在步骤710中,响应于所确定的邻近度,比较可以在应用操作期间使用的对相应设备可用的资源。在步骤715中,根据转移规则来动态地转移应用任务以基于任务类型来优化对所比较的资源的利用。由此,例如,诸如键盘输入等涉及UI的一些任务可被转移,而诸如蜂窝网络接入等涉及设备操作的其它任务可以不被转移。转移可被动态执行以使得可以在给定会话的过程中取决于资源可用性和利用率以及其它情况和情境来在设备之间来回转移任务、数据和状态。
在步骤720中,可以在被显现在移动设备和台式设备中的一者或两者上的通知中包括待决应用转移。在一些实现中,转移可以在用户显式地批准的情况下完成,或者在其它实现中,除非用户响应于通知显式地拒绝转移,否则可实现转移。在步骤725中,用户还可手动发起应用和/或任务从移动设备到台式设备的转移。在步骤730中,可以在移动设备和台式设备中的任一者或两者上显现使用户能够表达关于应用转移的偏好的各种控件。例如,用户可偏好在VoIP连接在台式设备上可用的情况下不使用移动设备上所支持的蜂窝连接。用户的手动激活历史和用户偏好在一些实现中可被用来使得自动化应用转移更准确地反映用户意图。
图8示出了可以在移动设备上实现的说明性方法800。在步骤805中,检测到移动设备的位置在与台式设备的预定邻近度内。例如,移动设备可以配置有用于做出相对位置确定的GNSS接收机或短程无线或其它合适的基于无线电的技术。在步骤810中,比较对相应的移动设备和台式设备可用的、将被用来执行与移动设备上的应用相关联的任务的资源。在步骤815中,当资源比较指示,相比于移动设备,在执行应用任务时更有利地利用的资源对台式设备可用时,执行应用从移动设备到台式设备的至少一部分转移。该应用转移实现的特定优点可包括例如以下技术优点:改进设备操作、降低有限资源的利用率、提高用户体验的质量、或者提高与设备交互时的用户效率。在步骤820中,当应用的操作被转移至台式设备时,可跟踪(通常在向用户通知此类跟踪且用户同意的情况下)用户行为和交互以便改进后续自动化应用转移以更好地满足用户需求和期望。
本发明的物理和虚拟电话移动性的各种示例性实施例现在是出于说明的目的被呈现的,并不是作为所有实施例的穷尽性列表。示例包括一种用于优化移动设备中的操作的系统,所述系统包括:
一个或多个处理器;以及
一个或多个其上存储指令程序的机器可读存储器设备,所述指令程序供所述一个或多个处理器执行以由此将所述系统配置成
确定物理移动设备的位置是否在所述系统的预定邻近度内,
当所述物理移动设备在所述系统的预定邻近度内时,评估所述物理移动设备的用于执行与所述物理移动设备上的可执行应用相关联的一个或多个任务的资源以及所述系统的用于执行所述一个或多个任务的资源,
基于所述评估,将所述物理移动设备的一个或多个特性仿真为所述系统上的虚拟移动设备,以及
将与所述可执行应用相关联的一个或多个任务从所述物理移动设备迁移至所述系统上的所述虚拟移动设备。
在另一示例中,所述系统被具体化为台式设备并且被进一步配置成在所述虚拟移动设备上仿真所述物理移动设备上不支持的一个或多个特性。在另一示例中,所述系统被进一步配置成将设备状态或数据之一从所述移动设备转移至所述系统。在另一示例中,所述应用支持电话,并且所述物理移动设备的所仿真的特性包括电话特性。在另一示例中,转移规则使用所述评估来管控所述一个或多个任务的迁移。在另一示例中,所述转移规则在所述系统、所述物理移动设备或远程服务器之一上实例化,并且所述系统包括用于与所述远程服务器通信的网络接口。在另一示例中,所述转移规则计及对所述系统或者所述物理移动设备可用的电话连接的服务质量或安全性。在另一示例中,所述转移规则计及用户偏好、用户行为历史或者所评估的资源的能力中的至少一者。在另一示例中,所述系统被配置成存储评估的至少一部分或者被配置成从远程资源访问评估信息。
附加示例包括一种用于在移动设备和台式设备之间共享应用任务的方法,所述方法包括:
确定移动设备是否存在于台式设备的预定物理或逻辑邻近度内;
响应于所述确定,将对所述移动设备可用的用于执行与在所述移动设备上实例化的应用相关联的任务的资源与对所述台式设备可用的相应资源相比较;以及
根据一个或多个转移规则来将所述应用的至少一部分操作从所述移动设备转移至所述台式设备,所述转移被动态地实现以基于任务类型来优化所述移动设备和所述台式设备的资源利用。
在另一个示例中,所述方法进一步包括:
向所述移动设备的用户传递应用操作从所述移动设备到所述台式设备的待决转移的通知;
接收对所述通知的用户响应;以及
基于所述用户响应来将所述应用的至少一部分操作从所述移动设备转移至所述台式设备。在另一示例中,在所述移动设备上实例化的应用支持电话通信,并且所述比较包括比较以下一者或多者:被启用以用于音频输入的外设、被启用以用于音频输出的外设、支持图形用户界面的外设、支持用户输入的外设、支持基于文本的输入的外设、外部电话通信链路的服务质量(QoS)、所述外部电话链路的安全等级、或者所述外部电话通信链路的可用带宽。在另一示例中,所述比较包括比较以下一者或多者:所述移动设备和所述台式设备中的相应处理器的速度、所述移动设备和所述台式设备中的相应存储设备的可用容量、或者所述移动设备和所述台式设备中的相应电源的可用容量。在另一示例中,所述应用的至少一部分操作的转移包括转移一个或多个应用任务。在另一个示例中,所述方法进一步包括:
当所述移动设备被确定为存在于所述台式设备的预定邻近度内时,向用户提供用于手动将所述应用的至少一部分操作从所述移动设备转移至所述台式设备的控件,所述控件响应于手势、语音或者对所述移动设备或所述台式设备上所支持的用户接口的输入之一。在另一示例中,所述方法进一步包括向所述用户展示用于表达与应用操作从所述移动设备到所述台式设备的转移有关的偏好的一个或多个控件。
附加示例包括一种移动设备,包括:
至少一个处理器;
至少一个机器可读存储器设备,其上存储供所述至少一个处理器执行的指令程序;
至少一个无线通信调制解调器;
其中所述指令程序在由所述至少一个处理器执行时使所述移动设备
检测到所述移动设备的位置在台式设备的预定邻近度内;
将所述移动设备的用于执行与所述移动设备上的应用有关的一个或多个任务的资源与所述台式设备的相应资源相比较;以及
响应于指示,相比于所述移动设备,所述台式设备具有用于执行与所述应用相关的所述一个或多个任务的更有利地利用的资源的资源比较,将所述应用的至少一部分操作从所述移动设备转移至所述台式设备。
在另一示例中,所述移动设备进一步包括:全球导航卫星系统(GNSS)接收机,其中所述指令程序在由所述至少一个处理器执行时进一步使得所述移动设备使用从所述GNSS接收机导出的所述移动设备的位置来确定所述移动设备的位置是否在台式设备的预定邻近度内。在另一示例中,所述移动设备进一步包括:与所述无线通信调制解调器一起操作的短程无线通信系统,其中所述指令程序在由所述处理器执行时进一步使得所述移动设备使用所述短程无线通信系统来确定所述移动设备的位置在所述台式设备的预定邻近度内。在另一示例中,在由所述至少一个处理器执行时,所述指令程序进一步使得所述移动设备
跟踪与利用所述台式设备来操作所转移的应用相关的用户行为;以及
在所述移动设备被确定为在所述台式设备的预定邻近度内时使用所跟踪的行为来自动化所述应用的至少一部分操作的转移。
基于上述内容,可以领会用于实现物理和虚拟电话移动性的技术已经在本文中公开。虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读存储介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的本发明不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。
以上所述的主题仅作为说明提供,并且不应被解释为限制。在不背离所附权利要求中阐述的本发明的真实精神和范围的情况下,可以对本文所描述的主题作出各种修改和改变,而不必遵循所例示和描述的示例实施例及应用。

Claims (20)

1.一种用于优化移动设备中的操作的系统,所述系统包括:
一个或多个处理器;以及
一个或多个其上存储指令程序的机器可读存储器设备,所述指令程序供所述一个或多个处理器执行以由此将所述系统配置成
确定物理移动设备的位置是否在所述系统的预定邻近度内,
当所述物理移动设备被确定为存在于所述系统的预定邻近度内时,在所述物理移动设备或所述系统的用户界面上向用户提供用于手动将应用的至少一部分操作从所述物理移动设备转移至所述系统的一个或多个控件,所述一个或多个控件响应于手势、语音或者对所述物理移动设备或所述系统上所支持的所述用户界面的输入之一,
向所述用户展示所述一个或多个控件,以表达与所述应用的操作从所述物理移动设备到所述系统的转移有关的偏好,以及
将与所述应用相关联的一个或多个任务从所述物理移动设备迁移至所述系统。
2.如权利要求1所述的系统,其特征在于,所述系统被具体化为台式设备并且被进一步配置成仿真所述物理移动设备的一个或多个特性,并进一步在所述系统的虚拟移动设备上仿真所述物理移动设备上不支持的一个或多个特性。
3.如权利要求1所述的系统,其特征在于,所述系统被进一步配置成将设备状态或数据之一从所述移动设备转移至所述系统。
4.如权利要求2所述的系统,其特征在于,所述应用支持电话,并且所述物理移动设备的所仿真的特性包括电话特性。
5.如权利要求1所述的系统,其特征在于,转移规则管控所述一个或多个任务的迁移。
6.如权利要求5所述的系统,其特征在于,所述转移规则在所述系统、所述物理移动设备或远程服务器之一上实例化,并且所述系统包括用于与所述远程服务器通信的网络接口。
7.如权利要求5所述的系统,其特征在于,所述转移规则计及对所述系统或者所述物理移动设备可用的电话连接的服务质量或安全性。
8.如权利要求5所述的系统,其特征在于,所述转移规则计及用户偏好、用户行为历史或者所评估的资源的能力中的至少一者。
9.如权利要求1所述的系统,其特征在于,进一步包括将所述系统配置成存储评估的至少一部分或者将所述系统配置成从远程资源访问评估信息。
10.一种用于在移动设备和台式设备之间共享应用任务的方法,所述方法包括:
确定移动设备是否存在于台式设备的预定物理或逻辑邻近度内;
响应于所述确定,将对所述移动设备可用的用于执行与在所述移动设备上实例化的应用相关联的任务的资源与对所述台式设备可用的相应资源相比较;
当所述移动设备被确定为存在于所述台式设备的预定邻近度内时,在所述移动设备或所述台式设备的用户界面上向用户提供用于手动将所述应用的至少一部分操作从所述移动设备转移至所述台式设备的一个或多个控件,所述一个或多个控件响应于手势、语音或者对所述移动设备或所述台式设备上所支持的所述用户界面的输入之一,
向所述用户展示所述一个或多个控件,以表达与所述应用的操作从所述移动设备到所述台式设备的转移有关的偏好;以及
根据一个或多个转移规则来将所述应用的至少一部分操作从所述移动设备转移至所述台式设备,所述转移被动态地实现以基于任务类型来优化所述移动设备和所述台式设备的资源利用。
11.如权利要求10所述的方法,其特征在于,进一步包括:
向所述移动设备的所述用户传递应用操作从所述移动设备到所述台式设备的待决转移的通知;
接收对所述通知的用户响应;以及
基于所述用户响应来将所述应用的至少一部分操作从所述移动设备转移至所述台式设备。
12.如权利要求10所述的方法,其特征在于,在所述移动设备上实例化的应用支持电话通信,并且所述比较包括比较以下一者或多者:被启用以用于音频输入的外设、被启用以用于音频输出的外设、支持图形用户界面的外设、支持用户输入的外设、支持基于文本的输入的外设、外部电话通信链路的服务质量(QoS)、所述外部电话通信链路的安全等级、或者所述外部电话通信链路的可用带宽。
13.如权利要求10所述的方法,其特征在于,所述比较包括比较以下一者或多者:所述移动设备和所述台式设备中的相应处理器的速度、所述移动设备和所述台式设备中的相应存储设备的可用容量、或者所述移动设备和所述台式设备中的相应电源的可用容量。
14.如权利要求10所述的方法,其特征在于,所述应用的至少一部分操作的转移包括转移一个或多个应用任务。
15.一种移动设备,包括:
至少一个处理器;
至少一个机器可读存储器设备,其上存储供所述至少一个处理器执行的指令程序;以及
至少一个无线通信调制解调器;
其中所述指令程序在由所述至少一个处理器执行时使所述移动设备检测到所述移动设备的位置在台式设备的预定邻近度内;
将所述移动设备的用于执行与所述移动设备上的应用有关的一个或多个任务的资源与所述台式设备的相应资源相比较;
当所述移动设备被确定为存在于所述台式设备的预定邻近度内时,在所述移动设备的用户界面上向用户提供用于手动将所述应用的至少一部分操作从所述移动设备转移至所述台式设备的一个或多个控件,所述一个或多个控件响应于手势、语音或者对所述移动设备上所支持的所述用户界面的输入之一,
向所述用户展示所述一个或多个控件,以表达与所述应用的操作从所述移动设备到所述台式设备的转移有关的偏好以及
响应于资源比较,将所述应用的至少一部分操作从所述移动设备转移至所述台式设备,所述资源比较指示了相比于所述移动设备而言,所述台式设备具有用于执行与所述应用相关的所述一个或多个任务的更有利地利用的资源。
16.如权利要求15所述的移动设备,其特征在于,进一步包括:
全球导航卫星系统GNSS接收机,
其中所述指令程序在由所述至少一个处理器执行时进一步使所述移动设备
使用从所述GNSS接收机导出的所述移动设备的位置来确定所述移动设备的位置在所述台式设备的预定邻近度内。
17.如权利要求15所述的移动设备,其特征在于,进一步包括:
与所述无线通信调制解调器一起操作的短程无线通信系统,
其中所述指令程序在由所述处理器执行时进一步使得所述移动设备使用所述短程无线通信系统来确定所述移动设备的位置是否在所述台式设备的预定邻近度内。
18.如权利要求15所述的移动设备,其特征在于,所述指令程序在由所述至少一个处理器执行时,进一步使所述移动设备
跟踪与利用所述台式设备来操作所转移的应用相关的用户行为;以及
在所述移动设备被确定为在所述台式设备的预定邻近度内时使用所跟踪的行为来自动化所述应用的至少一部分操作的转移。
19.一种包括用于执行如权利要求10-14中的任一项所述的方法的装置的计算机系统。
20.一种具有指令的计算机可读存储介质,所述指令在被执行时使机器执行如权利要求10-14中的任一项所述的方法。
CN201680061544.6A 2015-10-20 2016-10-13 优化物理和虚拟电话移动性的方法、设备、系统和介质 Active CN108139933B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/918,101 US10136247B2 (en) 2015-10-20 2015-10-20 Physical and virtual phone mobility
US14/918,101 2015-10-20
PCT/US2016/056697 WO2017069983A1 (en) 2015-10-20 2016-10-13 Physical and virtual phone mobility

Publications (2)

Publication Number Publication Date
CN108139933A CN108139933A (zh) 2018-06-08
CN108139933B true CN108139933B (zh) 2021-12-07

Family

ID=57178556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680061544.6A Active CN108139933B (zh) 2015-10-20 2016-10-13 优化物理和虚拟电话移动性的方法、设备、系统和介质

Country Status (4)

Country Link
US (2) US10136247B2 (zh)
EP (1) EP3365777B1 (zh)
CN (1) CN108139933B (zh)
WO (1) WO2017069983A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180074843A1 (en) * 2011-03-31 2018-03-15 P4tents1, LLC System, method, and computer program product for linking devices for coordinated operation
US10057325B2 (en) * 2014-03-31 2018-08-21 Nuvestack, Inc. Remote desktop infrastructure
US10237309B2 (en) * 2015-11-25 2019-03-19 International Business Machines Corporation Managing virtual desktop infrastructure data sharing
US10552219B2 (en) * 2016-02-19 2020-02-04 Microsoft Technology Licensing, Llc Computing resource management of computing devices
WO2019067170A1 (en) 2017-09-29 2019-04-04 Apple Inc. MULTI-DEVICE COMMUNICATION MANAGEMENT
US10848972B2 (en) * 2017-10-18 2020-11-24 Microsoft Technology Licensing, Llc Mobile device wireless restricted peripheral sessions
US11057442B2 (en) 2018-01-27 2021-07-06 Vmware, Inc. System and method for workspace sharing
CN115421939A (zh) * 2018-03-29 2022-12-02 华为技术有限公司 一种设备间的数据迁移的方法和设备
US10200237B1 (en) * 2018-05-09 2019-02-05 Microsoft Technology Licensing, Llc Contextual state-based user interface notification triggering
EP3815322A4 (en) * 2018-06-29 2022-01-19 Citrix Systems, Inc. USE OF IDENTITY DATA ASSOCIATED WITH A DEVICE TO ROUTING COMMUNICATIONS TO ANOTHER DEVICE
US10254945B1 (en) 2018-07-02 2019-04-09 Microsoft Technology Licensing, Llc Contextual state-based user interface format adaptation
CN112788081A (zh) * 2019-11-08 2021-05-11 内江市下一代互联网数据处理技术研究所 一种可定制的云服务系统
KR20220099730A (ko) * 2021-01-07 2022-07-14 삼성전자주식회사 요청된 기능을 수행하는 외부 전자 장치를 관리하기 위한 전자 장치 및 그 작동 방법
US20220283857A1 (en) * 2021-03-03 2022-09-08 Lenovo (Singapore) Pte. Ltd. Enabling dynamic mobile device usage suggestions

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206587A (zh) * 2006-12-19 2008-06-25 国际商业机器公司 用于单根无状态虚拟功能迁移的系统和方法
CN102063463A (zh) * 2009-11-11 2011-05-18 索尼公司 便携式设备和计算机之间的用户接口系统和方法
CN102223610A (zh) * 2011-06-15 2011-10-19 Tcl集团股份有限公司 在移动设备间进行数据交换的方法及移动设备
EP2575044A1 (en) * 2011-09-30 2013-04-03 Deutsche Telekom AG Method and system of using networked virtual machines of mobile devices in the cloud to provide mobile applications and services
EP2693336A1 (en) * 2011-03-28 2014-02-05 Nec Corporation Virtual machine administration system, and virtual machine administration method
WO2014120218A1 (en) * 2013-01-31 2014-08-07 Hewlett-Packard Development Company, L.P. Determining transferability of a computing resource to a cloud computing environment
CN104270336A (zh) * 2014-07-30 2015-01-07 深圳市深信服电子科技有限公司 远程应用运行终端的迁移方法、装置及系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2575044A (en) * 1950-09-13 1951-11-13 Ferris H Caldwell Detachable fishhook connector
US6208724B1 (en) 1998-04-09 2001-03-27 Dialogic Corporation Virtual telephone
US20130024778A1 (en) * 2011-07-13 2013-01-24 Z124 Dynamic cross-environment application configuration/orientation
WO2005109829A1 (en) 2004-05-06 2005-11-17 Koninklijke Philips Electronics N.V. Method device and program for seamlessly transferring the execution of a software application from a first to a second device
US7383405B2 (en) 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
US8108201B2 (en) 2005-11-17 2012-01-31 International Business Machines Corporation Method for emulating a native device on a host computer system
US7788665B2 (en) * 2006-02-28 2010-08-31 Microsoft Corporation Migrating a virtual machine that owns a resource such as a hardware device
US7987471B2 (en) * 2007-01-26 2011-07-26 Microsoft Corporation Mobile device management proxy system
US8060074B2 (en) 2007-07-30 2011-11-15 Mobile Iron, Inc. Virtual instance architecture for mobile device management systems
WO2010048623A2 (en) * 2008-10-26 2010-04-29 Board Of Regents, The University Of Texas Systems Medical and imaging nanoclusters
US20100186074A1 (en) * 2009-01-16 2010-07-22 Angelos Stavrou Authentication Using Graphical Passwords
US8438256B2 (en) 2009-06-26 2013-05-07 Vmware, Inc. Migrating functionality in virtualized mobile devices
US20110202765A1 (en) * 2010-02-17 2011-08-18 Microsoft Corporation Securely move virtual machines between host servers
US20110257958A1 (en) 2010-04-15 2011-10-20 Michael Rogler Kildevaeld Virtual smart phone
EP2397938A1 (en) * 2010-06-15 2011-12-21 France Telecom Data storage management method, device and user interface
US8423646B2 (en) * 2010-07-09 2013-04-16 International Business Machines Corporation Network-aware virtual machine migration in datacenters
US8171137B1 (en) 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices
CN103176899B (zh) 2011-12-26 2017-08-25 希姆通信息技术(上海)有限公司 手机模拟器及在宿主机上模拟手机功能的方法
US9936329B2 (en) 2012-03-09 2018-04-03 Nokia Technologies Oy Methods, apparatuses, and computer program products for operational routing between proximate devices
US9480039B2 (en) 2012-06-30 2016-10-25 Hewlett Pakard Enterprise Development LP System and method for virtual replication of a mobile phone
US9917881B2 (en) * 2012-10-22 2018-03-13 Samsung Electronics Co., Ltd. Apparatus, system, and method for transferring data across mobile terminals paired using near field communication (NFC)
US10108758B2 (en) 2012-11-13 2018-10-23 Aetherpal Inc. Virtual mobile management for device simulation
US9549316B2 (en) 2013-03-14 2017-01-17 Mce-Sys Ltd. Host device coupled to a mobile phone and method of operating the same
CN103345406A (zh) 2013-06-21 2013-10-09 中国科学院深圳先进技术研究院 一种实现智能移动终端的云端虚拟移动终端的系统和方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206587A (zh) * 2006-12-19 2008-06-25 国际商业机器公司 用于单根无状态虚拟功能迁移的系统和方法
CN102063463A (zh) * 2009-11-11 2011-05-18 索尼公司 便携式设备和计算机之间的用户接口系统和方法
EP2693336A1 (en) * 2011-03-28 2014-02-05 Nec Corporation Virtual machine administration system, and virtual machine administration method
CN102223610A (zh) * 2011-06-15 2011-10-19 Tcl集团股份有限公司 在移动设备间进行数据交换的方法及移动设备
EP2575044A1 (en) * 2011-09-30 2013-04-03 Deutsche Telekom AG Method and system of using networked virtual machines of mobile devices in the cloud to provide mobile applications and services
WO2014120218A1 (en) * 2013-01-31 2014-08-07 Hewlett-Packard Development Company, L.P. Determining transferability of a computing resource to a cloud computing environment
CN104270336A (zh) * 2014-07-30 2015-01-07 深圳市深信服电子科技有限公司 远程应用运行终端的迁移方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CloneCloud: elastic execution between mobile device and cloud;Byung-Gon Chun 等;《EuroSys "11: Proceedings of the sixth conference on Computer systems》;20110430;第301-314页 *

Also Published As

Publication number Publication date
US20190052998A1 (en) 2019-02-14
CN108139933A (zh) 2018-06-08
WO2017069983A1 (en) 2017-04-27
US10368190B2 (en) 2019-07-30
EP3365777A1 (en) 2018-08-29
EP3365777B1 (en) 2023-01-25
US10136247B2 (en) 2018-11-20
US20170111761A1 (en) 2017-04-20

Similar Documents

Publication Publication Date Title
CN108139933B (zh) 优化物理和虚拟电话移动性的方法、设备、系统和介质
US10715381B2 (en) Intelligent role selection for dual-role devices
US10182018B2 (en) Resource management based on device-specific or user-specific resource usage profiles
US9678797B2 (en) Dynamic resource management for multi-process applications
US10212103B2 (en) Smart automatic composition of short messaging responses
KR101530104B1 (ko) 모바일 장치를 통한 다중-os(운영 체제) 부팅
EP3192289B1 (en) Real-time location sharing to facilitate a physical meet-up
US20160379105A1 (en) Behavior recognition and automation using a mobile device
US20170103753A1 (en) Flexible schema for language model customization
US10117047B1 (en) Location and time based application management
EP3220347A1 (en) Sharing user information with proximate devices
EP3685628A1 (en) Intelligent connection management for multiple interfaces
KR20130128416A (ko) 모바일 기기를 사용한 사용자 상태표시 향상
KR102245098B1 (ko) 휴대 단말 및 그 제어 방법
US20150326727A1 (en) Delivery of visual voicemail over multimedia messaging service

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant