CN103858137A - 远程预配置计算装置 - Google Patents

远程预配置计算装置 Download PDF

Info

Publication number
CN103858137A
CN103858137A CN201280037516.2A CN201280037516A CN103858137A CN 103858137 A CN103858137 A CN 103858137A CN 201280037516 A CN201280037516 A CN 201280037516A CN 103858137 A CN103858137 A CN 103858137A
Authority
CN
China
Prior art keywords
calculation element
application
configuration
client
user
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.)
Pending
Application number
CN201280037516.2A
Other languages
English (en)
Inventor
E.Z.埃文斯
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN103858137A publication Critical patent/CN103858137A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Signal Processing (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

所公开的为用于远程预配置计算装置的各种实施方案。计算装置的虚拟化版本可由用户远程执行和预配置。然后,可将所述计算装置的所述虚拟化版本的所述配置复制到所述计算装置的物理版本。或者,所述计算装置的所述物理版本可由所述用户远程执行和直接预配置。

Description

远程预配置计算装置
相关申请的交叉引用
本申请要求2011年7月27日提交的和分配的序列号为13/191,585的标题为“REMOTELY PRECONFIGURING ACOMPUTING DEVICE”的共同待决的美国非临时申请的优先权,其整体在此通过引用并入本文。
背景
计算装置(诸如,台式计算机、膝上型计算机、平板计算机、电子书阅读器、智能电话等)通常与默认配置一起装运。在一些情况下,客户可选择各种硬件和软件选项,其随后用于产生用于所购买的计算装置的自定义的默认配置。虽然如此,但是客户常常在拥有计算装置之后花费时间来自定义和个性化其计算装置。
附图简述
参考下列附图可以更好的理解本公开的许多方面。附图中的部件未必按比例绘制,重点反而放在了清楚地说明本公开的原理上。此外,附图中相同的参考数字标示贯穿几个视图的对应的零件。
图1为根据本公开的各种实施方案的网络化环境的图。
图2为根据本公开的各种实施方案的在图1的网络化环境中由客户端呈现的用户接口的示例的图。
图3为图示根据本公开的各种实施方案的被实施为在图1的网络化环境中的计算装置中执行的电子商务应用的部分的功能的一个示例的流程图。
图4A和图4B示出根据本公开的各种实施方案的图示被实施为在图1的网络化环境中的计算装置中执行的服务器应用的部分的功能的一个示例的流程图。
图5为图示根据本公开的各种实施方案的被实施为在图1的网络化环境中的计算装置中执行的远程访问应用的部分的功能的一个示例的流程图。
图6为根据本公开的各种实施方案的提供了在图1的网络化环境中采用的计算装置的一个示例图示的示意框图。
详述
本公开涉及预配置所购买的计算装置。现今在所购买的计算装置上安装的自定义软件和数据的可用选项是受限的。客户常常在计算装置到达之后花费时间来自定义和个性化计算装置。这类配置在客户没有与计算装置实际上互动时是不可能的。本公开的各种实施方案使计算装置能够被远程交互预配置。在一个实施方案中,促进了到实际计算装置的远程交互访问。在另一个实施方案中,促进了到虚拟计算装置的远程交互访问以允许客户个性化和配置虚拟计算装置。随后,根据虚拟计算装置的自定义配置预配置实际计算装置。在下列论述中,提供了系统及其部件的一般描述,接着为其操作的论述。
参考图1,所示出的为根据各种实施方案的网络化环境100。网络化环境100包括经由网络109与一个或多个客户端106数据通信的一个或多个计算装置103。在一些实施方案中,计算装置103和客户端106也可经由网络109与一个或多个计算装置112数据通信。网络109包括例如互联网、内联网、外联网、广域网(WAN)、局域网(LAN)、有线网、无线网或其它合适的网络等或者两个或多个这类网络的任何组合。
计算装置103可包括例如服务器计算机或提供计算能力的任何其它系统。或者,可采用被布置在例如一个或多个服务器组或计算机组或其它布置中的多个计算装置103。例如,多个计算装置103一起可包括云计算资源、网格计算资源和/或任何其它分布式的计算布置。这类计算装置103可位于单个安装中或者可分布在许多不同的地理位置中。为了方便性的目的,本文中计算装置103被指作单数。尽管计算装置103被指作单数,但是应理解在上述各种布置中可采用多个计算装置103。
根据各种实施方案,可在计算装置103中执行各种应用和/或其它功能性。此外,在可访问计算装置103的数据存储区113中存储各种数据。如可以了解的,数据存储区113可表示多个数据存储区113。例如,数据存储区113中存储的数据与下面描述的各种应用和/或功能实体的操作相关。
计算装置103上执行的部件例如包括服务器应用115、装置配置应用116、电子商务应用117、多个虚拟装置实例118a...118N、多个媒体编码器120a...120N以及没有在本文中详细描述的其它应用、服务、处理、系统、引擎或功能性。在一些实施方案中,执行服务器应用115以促进对已经购买或可购买的计算装置112的交互远程访问。远程访问可允许用户预配置计算装置112和/或测试计算装置112的操作。
在其它实施方案中,执行服务器应用115以促进对对应于已经购买或可购买的计算装置112的虚拟化形式的虚拟装置实例118的交互远程访问。同样地,用户可预配置虚拟装置实例118,并且可在装运计算装置112之前,将配置改变复制到实际计算装置112。也可执行服务器应用115以从客户端106获得装置输入数据122并且将装置输入数据122提供给相应的虚拟装置实例118或计算装置112。
也可执行服务器应用115以将从计算装置112或虚拟装置实例118捕获的装置输出数据123发送至客户端106。服务器应用115可通过各种协议(诸如,例如超文本转移协议(HTTP)、简单对象访问协议(SOAP)、表征状态转移(REST)、实时传输协议(RTP)、实时流传输协议(RTSP)、实时消息传送协议(RTMP)、用户数据包协议(UDP)、传输控制协议(TCP)和/或用于通过网络109传递数据的其它协议)与客户端106通信。服务器应用115被配置成维持与执行虚拟装置实例118和/或计算装置112相关的输入队列125。
在各种实施方案中,服务器应用115可被配置成产生使用一页或多页网页的用户接口。网页可包括由虚拟装置实例118产生的流视频和/或流音频。在各种实施方案中,虚拟输入装置的图像可结合流视频和/或流音频一起呈现。例如,可在网页中包括用于虚拟装置实例118或计算装置112的虚拟键盘。在计算装置112为例如移动计算装置的情况下,可在网页中包括移动计算装置的图像。服务器应用115可促进与虚拟装置实例118和/或计算装置112结合的移动计算装置的交互。在计算装置112对应于例如有屏幕的移动计算装置的情况下,从虚拟装置实例118或计算装置112捕获的视频可被移动计算装置的图像围绕,如同在移动计算装置的屏幕上示出视频。
执行装置配置应用116以实施对计算装置112和/或虚拟装置实例118的配置改变。在一个方面,可执行装置配置应用116以提供用于计算装置112和/或虚拟装置实例118的默认配置。在用户与虚拟装置实例118交互的情况下,可执行装置配置应用116以存储虚拟装置实例118的所修改的配置并且将所修改的配置复制到已经被用户购买的计算装置112。在用户直接与计算装置112交互的情况下,可执行装置配置应用116以将一个计算装置112的所修改的配置复制到另一个计算装置112。接受方计算装置112从而采用所修改的配置。
执行电子商务应用117以便促进从网络109上的批发商处线上购买物品,诸如计算装置112、计算装置112的应用等。电子商务应用117也进行与批发商的线上存在相关的各种后端功能,以便促进线上购买物品。例如,电子商务应用117可为了选择用于购买、租用、下载、租借或其它消费形式的物品的目的而产生提供给客户端106的网页或其部分。在一些实施方案中,电子商务应用117与包括多个批发商参与的电子市场的网站相关。
虚拟装置实例118对应于计算装置112的虚拟化形式。虚拟装置实例118被预加载默认的配置,然后其可被用户修改。在各种实施方案中,虚拟装置实例118可被配置成通过虚拟化应用期望访问的一个或多个资源而提供用于应用的虚拟化环境。这类资源可包括键盘、鼠标、操作杆、视频装置、声音装置、全球定位系统(GPS)装置、加速计、触控屏幕、内置按钮、文件系统、内置电池等。在该方式中,如果虚拟装置实例118仿真键盘、鼠标或另一类型的硬件装置,那么虚拟装置实例118能够将输入命令和其它数据提供给应用。
此外,虚拟装置实例118能够获得由操作系统应用或其它应用产生的视频信号和/或音频信号,如同虚拟装置实例仿真或模拟显示装置、音频装置或另一类型的输出装置。虽然本文描述的许多示例涉及仿真或模拟有显示器的计算装置,但是仿真或模拟的计算装置也可包括例如机顶盒、音频播放器和/或没有集成显示屏幕的其它装置。
如非限制性示例,虚拟装置实例118可支持使用不同的应用编程接口(API)(诸如,图形设备接口(GDI)等)的应用。在应用被配置用于在特殊化的装置或另一类型的计算装置中执行的情况下,虚拟装置实例118可包括仿真该装置的仿真应用。例如,应用的输出可由虚拟装置实例118通过截取系统调用(诸如,图形API下的绘图调用或其它系统调用)来捕获。
一个或多个媒体编码器120能够将从虚拟装置实例118产生的视频信号和/或音频信号编码成媒体流。可使用各种类型的媒体编码器120,诸如,例如动态图像专家组(MPEG)编码器、H.264编码器、
Figure BDA0000462918340000052
视频编码器等。可根据诸如例如数据减少、编码质量、潜伏期等的因素来选择这类媒体编码器120。在一些实施方案中,虚拟装置实例118可直接与客户端106通信以获得装置输入数据122并且提供装置输出数据123。
输入队列125可从装置输入数据122收集用于虚拟装置实例118的输入命令。可将输入命令重新排序成正确的序列,以及可在命令之间插入延迟以确保当将输入命令呈递给对应的虚拟装置实例118时输入命令被正确地解释。
存储在数据存储区113中的数据包括例如媒体编码器129、装置接口133、装置配置135、用户数据137和潜在地其它数据。媒体编码器129对应于计算装置103和/或计算装置112中可采用的各种类型的媒体编码器120。一些媒体编码器129可对应于具体格式,诸如,例如H.264、MPEG-4、MPEG-2和/或其它格式。
装置接口133对应于图像、动画、代码、超文本标记语言(HTML)、可扩展标记语言(XML)、层叠样式表(CSS)和/或可用于产生虚拟化计算装置的图形表示的其它数据。值得注意的是特定计算装置平台可与多数装置接口133相关。如非限制性示例,用于智能电话的
Figure BDA0000462918340000062
平台可由多数不同型号的智能电话支持。一些型号可具有触控屏幕的迷你键盘,然而其它可仅具有触控屏幕而没有物理迷你键盘。该型号可具有不同的控制件和外壳。因此,可提供不同的装置接口133用于不同型号的
Figure BDA0000462918340000061
智能电话。
在计算装置112不包括集成显示器的情况下,装置接口133可包括外部显示装置的表示,其示出由计算装置112或虚拟装置实例118产生的视频。类似地,可连接到计算装置112的其它非集成外部装置(例如,键盘、鼠标等)可由装置接口133表示。
装置配置135对应于用于计算装置112的默认配置和用户修改的配置。这类配置可包括用于计算装置112的应用和数据。在一个实施方案中,装置配置135对应于用于计算装置112的机器图像。在一个实施方案中,加载到虚拟装置实例118并且由其修改的装置配置135可接着被加载到一个或多个计算装置112。在一些情况下,可提供特殊化的默认装置配置135。如非限制性示例,有阅读清单的学校老师可建立用于预加载有阅读清单上的所有书的电子书阅读器的默认配置。学生可能够单独配置其电子书阅读器以采用该配置,或老师可能够促使一次性将默认配置大量复制到许多电子书阅读器(例如,由学校拥有并且可供学生使用的100个电子书阅读器)。
用户数据137可包括涉及用户偏好、订购历史、用户账户信息和其它数据的各种数据。例如,用户数据137可指示用于计算装置112的订单的状态。此外,用户数据137可指示将计算装置112装运到的装运地址。如果将计算装置112装运到礼品接受方,那么用户数据137可指示礼品接受方的地址。
计算装置112可包括例如基于处理器的系统(诸如,计算机系统)。这类计算机系统可以以台式计算机、膝上型计算机、个人数字助理、蜂窝电话、智能电话、机顶盒、执行应用并且可以访问网络109的电视、音乐播放器、便携式互联网接入设备(web pad)、平板计算机系统、游戏机、电子书阅读器或有相似能力的其它装置的形式实施。在一个实施方案中,可将计算装置112耦合到网络化环境100中的网络109,使得远程访问可被提供给已经购买或考虑购买计算装置112的用户。可在网络化环境100中将计算装置112维持在材料处理设施中,诸如履行中心或另一设施。或者,可将计算装置112耦合到网络化环境100以仅在装运计算装置112之前复制存储的装置配置135。最终,从网络109断开计算装置112并且装运计算装置112给客户以履行订单。
计算装置112可包括显示器142。显示器142可包括例如一个或多个装置,诸如阴极射线管(CRT)、液晶显示器(LCD)屏幕、基于气体等离子体的平板显示器、LCD投影仪或其它类型的显示装置等。显示器142包括对应于计算装置112中可被用户观看的图形输出的屏幕145。计算装置112可包括一个或多个输入装置148。输入装置148可包括例如装置,诸如键盘、鼠标、操纵杆、加速计、光笔、游戏控制器、触控板、触控棒、按钮、光学传感器、麦可风、网络摄像头和/或可以提供用户输入的任何其它装置。另外,各种输入装置148可并入触感技术,以便将反馈提供给用户。计算装置112也可具有各种输出装置151,诸如,例如音频装置、指示灯、振动装置、触感装置等。
根据各种实施方案,可在计算装置112中执行各种应用和/或其它功能性。在计算装置112上执行的部件例如包括应用154、远程访问应用157以及未在本文详细论述的其它应用、服务、处理、系统、引擎或功能性。
应用154对应于可在计算装置112中执行的各种应用。应用154可对应于例如游戏或其它类型的应用。如非限制性示例,应用154可对应于第一人称射击游戏、动作游戏、冒险游戏、社交聚会游戏、角色扮演游戏、模拟游戏、策略游戏、车辆模拟游戏和/或其它类型的游戏。可设计应用154用于在通用计算装置或特殊化的装置(诸如,例如智能电话、视频游戏机、手持游戏装置、街机游戏装置等)中执行。应用154也可对应于移动电话应用、计算机辅助设计(CAD)应用、计算机辅助制造(CAM)应用、照片处理应用、视频编辑应用、办公生产力应用、操作系统及相关应用、用于在消费者装置上不存在的操作系统、结构和能力的仿真器以及其它应用和应用的组合。
在一些实施方案中,执行远程访问应用157以促进经由网络109对计算装置112的远程访问。为此,远程访问应用157可捕获对应于屏幕145的视频信号和音频信号,并且将信号传输至计算装置103和/或客户端106。在一些实施方案中,计算装置112的输出可由计算装置103的媒体编码器120在装置级别捕获。例如,计算装置112的视频输出可经由视频图形阵列(VGA)连接、高清晰度多媒体接口(HDMI)连接、分量视频连接、国家电视系统委员会(NTSC)电视连接和/或其它连接捕获。在其它实施方案中,远程访问应用157包括一个或多个媒体编码器120以将软件所捕获的视频信号和/或音频信号编码成媒体流。
远程访问应用157可将呈装置输出数据123的媒体流发送至客户端106和/或计算装置103。远程访问应用157也可从客户端106和/或计算装置103获得呈装置输入数据122的各种数据。装置输入数据122可对应于音频信号、输入命令、文本输入和/或其它形式的输入数据。计算装置112也可将各种数据存储为装置数据160。装置数据160可包括例如存储的应用154、照片、视频、音频文件、联系数据、电子书、保存的文本消息、保存的语音信箱和/或其它数据。
客户端106为可耦合到网络109的多个客户端装置的表示。客户端106可为地理多样化的。客户端106可包括例如基于处理器的系统,诸如计算机系统。这类计算机系统可以以台式计算机、膝上型计算机、个人数字助理、蜂窝电话、智能电话、机顶盒、执行应用并且可以访问网络109的电视、音乐播放器、便携式互联网接入设备(web pad)、平板计算机系统、游戏机、电子书阅读器或有相似能力的其它装置的形式实施。
客户端106可包括显示器163。显示器163可包括例如一个或多个装置,诸如阴极射线管(CRT)、液晶显示器(LCD)屏幕、基于气体等离子体的平板显示器、LCD投影仪或其它类型的显示装置等。客户端106可包括一个或多个输入装置166。输入装置166可包括例如装置,诸如键盘、鼠标、操纵杆、加速计、光笔、游戏控制器、触控板、触控棒、按钮、光学传感器、麦可风、网络摄像头和/或可以提供用户输入的任何其它装置。另外,各种输入装置166可并入触感技术,以便将反馈提供给用户。客户端106也可具有各种输出装置169,诸如,例如音频装置、指示灯、振动装置、触感装置等。
客户端106可被配置成执行各种应用,诸如客户端应用172和/或其它应用。客户端应用172可对应于从计算装置103获得和呈现一个或多个网页的浏览器以促进计算装置112和/或其它物品的选择和购买。此外,执行客户端应用172以允许用户与计算装置112或虚拟装置实例118交互。为此,客户端应用172被配置成捕获由用户通过输入装置166中的一个或多个提供的输入命令,并且在网络109上将该输入发送至计算装置103作为装置输入数据122。装置输入数据122也可并入由客户端106产生的其它数据(例如,GPS数据、音频数据等),以供计算装置112或虚拟装置实例118使用。
客户端应用172也被配置成通过网络109从计算装置103获得装置输出数据123,并且在显示器163上呈现屏幕175。为此,客户端应用172可包括一个或多个视频和音频播放器以播放出对应于虚拟装置实例118或计算装置112的媒体流。在一个实施方案中,客户端应用172包括在浏览器应用内执行的插入代码或其它客户端代码。客户端106可被配置成执行客户端应用172以外的应用,诸如,例如浏览器应用、电子邮件应用、即时消息应用和/或其它应用。在一些实施方案中,对于一个或多个用户,可采用多个客户端106来与虚拟装置实例118或计算装置112互动。如非限制性示例,可在显示器输出时特殊化一些客户端106,然而可在获得用户输入时特殊化其它客户端106。值得注意的是不同的客户端106可与不同的潜伏期要求相关,不同的潜伏期要求可影响在将输入命令提供给虚拟装置实例118或计算装置112之前采用的延迟。
接下来提供了网络化环境100的各种部件操作的一般描述。首先,在客户端106的客户浏览由电子商务应用117提供的网站。客户可例如导航于目录分类、执行搜索查询、选择链接和/或执行其它导航功能。客户可到达描述计算装置112的特征的详细网页或另一类似的网页以进行购买。或者,客户可能已经选择了计算装置112并且可能正寻求购买将预加载到计算装置112上的应用154、媒体文件等。
可通过模拟接口给予客户使用计算装置112和/或应用127的机会。为此,在客户端106的客户发送请求以发起到服务器应用115的交互远程访问会话。服务器应用115使用装置配置应用116用默认装置配置135配置计算装置112或虚拟装置实例118。或者,客户可能够返回至计算装置112或虚拟装置实例118中先前使用的装置配置135。
虚拟装置实例118可提供主机环境用于应用154的执行。在一些实施方案中,主机环境可包括将计算装置103的一个或多个资源虚拟化的虚拟化环境。这类资源可包括专属资源,即应用154请求专属访问的资源。例如,应用154可从视频装置请求全屏访问;因为通常仅一个应用可以具有全屏访问,所以所述视频装置为专属资源。此外,虚拟装置实例118或远程访问应用154可虚拟化输入装置,诸如,例如键盘、鼠标、GPS装置、加速计等,其实际上在计算装置103或计算装置112中可能不存在。虚拟装置实例118也可将虚拟文件系统访问提供给应用154。在各种实施方案中,虚拟装置实例118可对应于虚拟机器和/或虚拟装置实例118可在虚拟机器内执行。
在客户端106的用户通过使用客户端106的输入装置166而键入用于虚拟装置实例118或远程访问应用157的输入命令。如非限制性示例,用户可按下左鼠标按钮。因此,客户端应用172行使功能以将输入命令编码成装置输入数据122内可在网络109上传输的格式。服务器应用115接收输入命令,将其添加至用于虚拟装置实例118的输入队列125或远程访问应用157的输入队列,并且最终将其传递至虚拟装置实例118或远程访问应用157。然后,虚拟装置实例118或远程访问应用157经由虚拟化的鼠标或API调用将左鼠标按钮按下提供给应用154。
值得注意的是如果一接收输入命令就将其提供给应用154,那么网络109的可变潜伏期特性可使一些输入命令被应用154误解。如非限制性示例,如果第一次单击被网络109延迟比起第二次单击更大的量,那么鼠标按钮的两次单击可被误解为双击。类似地,如果没有保持某些输入命令之间的相关时间关系,那么鼠标点击和鼠标拖动可被误解。
如另一非限制性示例,假定应用154对应于在格斗游戏题材内(例如,真人快打(Mortal Kombat)、街头霸王(Street Fighter)等)的游戏应用。在客户端106的用户可通过输入命令的快速序列进行一系列复杂的移动。如果输入命令受制于网络109上的可变潜伏期,那么一系列移动可被应用154误解,从而导致用户控制的角色不进行意欲的移动。例如,可能需要在某一时期内按下两个按钮以成功地进行用拳猛击的移动。如果网络109延迟第二输入命令而没有延迟第一输入命令,那么用户没有任何失误但是动作可能不成功。为了纠正该问题,服务器应用154可延迟第一输入命令以保持第一输入命令与第二输入命令之间的相关时间关系。这样做时为应用154保持了由用户进行的姿势或命令序列。
虽然可预定所使用的额外的延迟,但是也可基于在客户端106中产生命令时的命令之间的时期与在由服务器应用115接收命令的时间之间的时期之间的差异来计算。在客户端106中产生命令时的命令之间的时期可通过参考与命令相关的元数据中的时戳来确定。值得注意的是在系统中的各种固定的潜伏期(例如,视频编码延迟、最小化的网络潜伏期)不会不利地影响应用154的功能性。
在一些情况下,将输入命令提供给应用154中的延迟可至少部分取决于与输入命令相关的视频帧区域。如非限制性示例,如果应用154为游戏,那么延迟涉及游戏比赛的输入命令以保持输入命令的意义可是重要的。然而,游戏屏幕145也可包括聊天窗口,并且输入命令可包括经由聊天窗口发送至游戏中的另一比赛者的文本。如果输入命令涉及聊天窗口,那么虚拟装置实例118或远程访问应用157可被配置成将输入命令提供给应用154而没有额外的延迟。即,将文本尽可能快地发送至其它用户可是优选的。因此,延迟可取决于输入命令是否涉及屏幕145上为聊天窗口的区域。此外,应理解应用154可具有多个模式,其中一个模式与提供输入命令中的延迟相关而另一个则没有。
当用户在客户端106产生输入命令时,确保输入命令与在屏幕145上呈递给用户的视频帧同步也可是重要的。如非限制性示例,由于系统的各种潜伏期,格斗游戏中被用户控制的角色意欲扔出的火球可能比起所意欲的要晚扔出。在一些情况下,这可能不重要。例如,用户可仅仅想要扔出火球,并且用户可完全接受扔出火球中的短延迟。然而,为了更精确,应用154可支持允许虚拟装置实例118或远程访问应用157将帧数或其它时间标识符与输入命令关联的API。因此,应用154可以精确知道何时进行输入命令并且相应地反应。可将帧数或其它时间标识符作为用于输入命令的元数据由客户端应用172发送至服务器应用115。
在一些实施方案中,可将从客户端106产生的那些不同的输入命令呈递至应用154。如非限制性示例,如果用户发送鼠标向下命令而客户端应用172失去焦点,那么虚拟装置实例118或远程访问应用157可被配置成发送鼠标向下命令,接着鼠标向上命令。在各种实施方案中,可尽可能快地将输入命令中继到虚拟装置实例118或远程访问应用157,或者根据另一方式可由虚拟装置实例118或远程访问应用157将输入命令排队在输入队列125中并且随后将其从队列中继到应用154。
同时,虚拟装置实例118或远程访问应用157的图形输出被捕获并且被编码成媒体流。图形输出可对应于视频信号或另一类型的视觉显示。例如,视觉显示可对应于关于图标和其被布置所在的坐标的信息。在另一示例中,图形输出对应于图像的顺序,其可被编码成联合图像专家小组(JPEG)媒体流。另外,可捕获虚拟装置实例118或远程访问应用157的音频输出并且将其多路复用成媒体流。在一些实施方案中,可由计算装置103或计算装置112的硬件装置捕获图形输出和/或音频输出。媒体流作为装置输出数据123在网络109上由服务器应用115(或远程访问应用157)传输至客户端106。客户端应用172获得装置输出数据123并且在用户接口中的显示器142上呈现屏幕145。屏幕145可由从促进计算装置112的输入和输出的对应装置接口133产生的装置接口133围绕。
在一些实施方案中,客户可在一个客户端106开始交互远程访问会话并且在另一客户端106继续会话。此外,在不同位置的多个用户可参与交互远程访问会话。各种实施方案使通过客户端106中的一种类型的输入装置166产生的输入能够由虚拟装置实例118或远程访问应用157转化成通过完全不同类型的虚拟输入装置提供给应用154的输入命令。如非限制性示例,由客户端106中的加速计产生的输入可由虚拟装置实例118或远程访问应用157翻译成通过虚拟鼠标提供的输入。
在输入装置148并入触感技术和装置的情况下,可将装置输出数据123内的力反馈提供给输出装置169。如非限制性示例,可通过力反馈编程模拟的汽车方向盘以给予用户道路的感觉。在用户转弯或加速时,方向盘可抵抗转弯或打滑失控。如另一非限制性示例,输入装置148的温度可被配置成根据力反馈而改变。在一个实施方案中,可在发送至另一客户端106的装置输出数据123中包括从一个客户端106的装置输入数据122产生的力反馈。
已经用类似实际计算装置112的接口彻底地测试和/或配置计算装置112,客户做好准备来购买计算装置112。客户可在任何时间通过在网页中选择各种购买部件来选择购买、租借和/或下载各种应用154到计算装置112。在一些情况下,客户可选择可加载到计算装置112上的应用154或其它内容的预配置束。可由电子商务应用117对所选择的和所加载的应用154或其它内容的每个给客户开具账单。或者,可在潜在地加载许多应用154或其它内容并且最后完成或复制装置配置135之后给客户开具账单。
客户可能够保存装置配置135并且在随后的交互远程访问会话中修改所保存的装置配置135。装置配置应用116可在所修改的装置配置135上进行误差检查以确保其是有效的。一旦客户已经结束交互远程访问会话,就可将虚拟装置实例118的装置配置135拷贝至物理版本的计算装置112。或者,如果远程访问物理计算装置112,那么可将该计算装置112的改变保持和/或复制到其它计算装置112。此后,可将包括潜在修改的装置配置135的计算装置112装运至客户以履行订单。在一些情况下,可将所修改的装置配置135在网络109上复制到已经由客户拥有的(例如,在家中或其它环境)一个或多个物理计算装置112。
涉及将输入命令提供给被远程执行的应用154的各种技术被描述在2010年12月15日提交的和分配的申请号为12/968,845的标题为“Sending Application Input Commands over a Network”的美国专利申请以及2011年5月24日提交的和分配的申请号为13/114,534的标题为“Remotely Emulating Computing Devices”的美国专利申请中,这两者整体都通过引用并入本文。
接下来移到图2,所示的为在网络化的环境100(图1)中的客户端106(图1)中呈现的用户接口200的示例。用户接口200包括由客户端应用172(图1)对应于浏览器呈现的网页203。网页203包括用于交互远程访问会话的计算装置112(图1)的图形表示206。图形表示206包括示出屏幕145的显示器142。屏幕145对应于由在实际计算装置112中的远程访问应用157(图1)或者从由在计算装置103(图1)中的虚拟装置实例118(图1)产生的视觉显示和/或音频信号而产生的媒体流。在其它实施方案中,呈现没有图形表示206围绕的屏幕145。
各种输入装置148诸如输入按钮由图形表示206表示。显示器142可对应于触控屏幕。当用户与图形表示206交互时,将输入数据发送至服务器应用115(图1)。可将输入数据翻译成用于虚拟装置实例118的虚拟化的输入装置的输入或者用于计算装置112的实际输入装置148或虚拟输入装置的输入。可提供额外的控制件209以通过进行与计算装置112的图形表示206相关的行动(例如,旋转图形表示206)来产生输入命令,然后这可致动加速计或另一类型的输入装置148。
屏幕145描绘用于个性化计算装置112的应用154(图1)的图形输出,计算装置112在该情况下为智能电话。可进行各种行动,诸如,例如添加或移除应用154、管理电子邮件账户、管理联系人、配置安全与隐私设置、配置触控屏幕、配置用户接口的外形和感觉、设置壁纸、安装应用154束或程序组(诸如生产力程序组)等。在一个示例中,用户可能希望从默认装置配置135移除不想要的应用154。用户能够与计算装置112(或其虚拟版本)交互,这导致改变的装置配置135。换句话说,应用154可被配置或被安装,文件可被上载或修改等。虽然屏幕145描绘特定的个性化应用154,但是应理解的是客户可以通过操作系统或其它应用154的任何方式与计算装置112交互。
可提供会话结束控制件212以结束会话和/或继续购买预配置的计算装置112。在该示例中,标记会话结束控制件212为“装运智能电话”。当选择会话结束控制件212时,与计算装置112的交互用户会话结束,并且有修改的配置的计算装置112准备好用于装运。
接下来参考图3,所示出的为根据各种实施方案提供了操作电子商务应用117的一部分的一个示例的流程图。应理解的是图3的流程图仅提供可用于实施操作本文所述的电子商务应用117的部分的许多不同类型的功能布置的示例。作为替代,可将图3的流程图看成描绘根据一个或多个实施方案在计算装置103(图1)中实施的方法的步骤的示例。
起始于框303,电子商务应用117从在客户端106(图1)的用户获得计算装置112(图1)的订单。在框306中,电子商务应用117准许用户的访问以预配置或以其它方式使用计算装置112或对应于计算装置112的虚拟化版本的虚拟装置实例118(图1)。在其它实施方案中,可在用户下订单之前,给予用户到计算装置112或虚拟装置实例118的访问。作为准许访问的部分,计算装置112或虚拟装置实例118可由装置配置应用116(图1)预配置默认配置。随后,用户可经由由服务器应用115(图1)提供的用户接口访问虚拟装置实例118或计算装置112。
在框309中,电子商务应用117确定是否已经预配置虚拟装置实例118。如果已经预配置虚拟装置实例118,那么在框312中,电子商务应用117开始将虚拟装置实例118的装置配置135(图1)拷贝或复制到物理计算装置112。然后,电子商务应用117继续进行到框315。如果还没有预配置虚拟装置实例118,那么可将由用户预配置的相同的计算装置112装运给用户。或者,可将预配置的计算装置112的装置配置135拷贝至另一计算装置112。此后,电子商务应用117也从框309继续进行至框315。
在框315中,电子商务应用117开始履行用户对预配置的计算装置112的订单。例如,可使预配置的计算装置112与网络109断开连接并且进行物理包装用于装运。在框318中,电子商务应用117确定预配置的计算装置112是否为礼品。如果预配置的计算装置112是礼品,那么电子商务应用117继续至框321并且开始将订单装运至由用户在用户数据137(图1)中指定的礼品接受方的地址。此后,电子商务应用117的部分结束。否则,如果预配置的计算装置112不是礼品,那么电子商务应用117继续进行至框324并且开始将订单装运至在用户数据137中指定的用户的地址。此后,电子商务应用117的部分结束。
虽然图3涉及预配置的计算装置112的装运,但是应理解的是可在客户接受之后,用根据本公开的原理创建的自定义装置配置135来更新计算装置112。例如,可经由网络109(图1)下载装置配置135,并且然后由计算装置112采用装置配置135。在一个实施方案中,当计算装置112第一次接通电源并且连接到网络109时,可自动采取这类行动。此外,可将自定义的装置配置135复制到如期望的任何数量的计算装置112。
现在转到图4A和图4B,所示出的为根据各种实施方案提供了操作服务器应用115的一部分的一个示例的流程图。应理解的是图4A和图4B的流程图仅提供可用于实施操作本文所述的服务器应用115的部分的许多不同类型的功能布置的示例。作为替代,可将图4A和图4B的流程图看成描绘根据一个或多个实施方案在计算装置103(图1)中实施的方法的步骤的示例。
起始于图4A的框403,服务器应用115从在客户端106(图1)的用户获得配置计算装置112(图1)的请求。用户可能已经购买了被预配置的计算装置112,或用户可能在考虑购买时想要测试计算装置112。可基于用户是否具有授权而接受或拒绝请求。在框406中,服务器应用115确定是否采用虚拟装置实例118(图1)用于用户访问。如果否,那么服务器应用115继续进行至图4B。如果采用虚拟装置实例118,那么服务器应用115代替地从框406继续至框409。
在框409中,服务器应用115执行具有默认装置配置135(图1)的虚拟装置实例118。在框412中,服务器应用115产生用于与虚拟装置实例118交互的用户接口。然后,服务器应用115将用户接口发送至客户端106。在一个实施方案中,用户接口包括计算装置112的如从装置接口133(图1)产生的图形表示。在框415中,服务器应用115使用媒体编码器120(图1)将由虚拟装置实例118产生的视频信号和/或音频信号编码成媒体流。
在框418中,服务器应用115通过网络109(图1)将媒体流发送至客户端106。在框421中,服务器应用115从客户端106获得输入数据。在框424中,服务器应用115将输入数据提供给虚拟装置实例118。输入数据的至少一部分导致虚拟装置实例118的装置配置135的改变。在框427中,服务器应用115确定是否更多输入数据即将从客户端106到来。如果更多输入数据即将到来,那么服务器应用115返回至框421并且从客户端106获得输入数据。
如果没有更多输入数据即将到来,那么服务器应用115代替地继续进行至框430并且确定会话是否结束。如果会话没有结束,那么服务器应用115返回至框415并且继续编码媒体流。如果会话结束,那么服务器应用115从框430继续进行至框433。在框433中,服务器应用115存储虚拟装置实例118中的已经由用户预配置的、自定义的和个性化的装置配置135。此后,服务器应用115的部分结束。
如果不采用虚拟装置实例118,那么服务器应用115从框406继续进行至图4B的框450。在框450中,服务器应用115标识在网络化环境100中的具有默认装置配置135的计算装置112。如果没有计算装置112具有默认配置,那么服务器应用115可通过装置配置应用116(图1)开始将默认装置配置135拷贝至计算装置112中的一个。
在框453中,服务器应用115产生用于与计算装置112交互的用户接口。然后,服务器应用115将用户接口发送至客户端106。在一个实施方案中,用户接口包括计算装置112的如从装置接口133产生的图形表示。在框456中,服务器应用115从计算装置112获得媒体流。
在框459中,服务器应用115通过网络109将媒体流发送至客户端106。在框462中,服务器应用115从客户端106获得输入数据。在框465中,服务器应用115将输入数据提供给计算装置112。输入数据的至少一部分导致计算装置112的装置配置135的改变。在框468中,服务器应用115确定是否更多输入数据即将从客户端106到来。如果更多输入数据即将到来,那么服务器应用115返回至框462并且从客户端106获得输入数据。
如果没有更多输入数据即将到来,那么服务器应用115代替地继续进行至框471并且确定会话是否结束。如果会话没有结束,那么服务器应用115返回至框456并且继续获得媒体流。如果会话结束,那么服务器应用115从框471继续进行至框474。在框474中,服务器应用115准备计算装置112用于装运。例如,服务器应用115可和缓地关闭计算装置112。此后,服务器应用115的部分结束。
继续至图5,所示出的为根据各种实施方案提供了操作远程访问应用157的一部分的一个示例的流程图。应理解的是图5的流程图仅提供可用于实施操作本文所述的远程访问应用157的部分的许多不同类型的功能布置的示例。作为替代,可将图5的流程图看成描绘根据一个或多个实施方案在计算装置112(图1)中实施的方法的步骤的示例。
起始于框503,远程访问应用157开始与在客户端106(图1)的用户交互会话。在一个实施方案中,远程访问应用157直接与客户端106通信。在另一实施方案中,远程访问应用157经由服务器应用115与客户端106通信。在框506中,远程访问应用157获得由计算装置112产生的视频信号和/或音频信号。在框509中,远程访问应用157使用媒体编码器120(图1)将视频信号和/或音频信号编码成媒体流。在框512中,远程访问应用157将媒体流发送至客户端106.
在框515中,远程访问应用157从客户端106获得输入数据。在框518中,远程访问应用157将输入数据提供给在计算装置112中执行的一个或多个应用154(图1)。输入数据的至少一部分可使计算装置112的装置配置135(图1)发生改变。在框521中,远程访问应用157确定是否将获得更多输入数据。
如果将获得更多输入数据,那么远程访问应用157返回至框515并且从客户端106获得输入数据。如果不将获得更多输入数据,那么远程访问应用157继续至框524。在框524中,远程访问应用157确定是否将结束会话。如果会话没有结束,那么远程访问应用157返回至框506并且继续获得视频信号和/或音频信号。否则,远程访问应用157的部分结束。
参考图6,所示的为根据本公开的实施方案的计算装置103的示意框图。计算装置103包括至少一个处理器电路,例如,具有处理器603、存储器606以及一个或多个图形装置607,所有这些都耦合到本地接口609。为此,计算装置103可包括例如至少一个服务器计算机或类似装置。本地接口609可包括例如附有地址的数据总线/控制总线或如可以了解的其它总线结构。图形装置607可对应于高性能图形硬件,包括一个或多个图形处理器612。图形装置607被配置成呈现对应于在计算装置103中执行的虚拟装置实例118的图形。
在存储器606中存储的均为可由处理器603执行的数据和几个部件。具体而言,在存储器606中存储的以及可由处理器603执行的为服务器应用115、装置配置应用116、电子商务应用117、虚拟装置实例118、媒体编码器120和潜在地其它应用。在存储器606中存储的也可为数据存储区113和其它数据。另外,操作系统可被存储在存储器606中并且可由处理器603执行。
应理解的是可能有其它应用被存储在存储器606中并且可如可以了解的由处理器603执行。在本文所述的任何部件以软件的形式实施的情况下,可采用许多编程语言的任何一个,诸如,例如C、C++、C#、Objective C、
Figure BDA0000462918340000211
Perl、PHP、Visual
Figure BDA0000462918340000212
Figure BDA0000462918340000213
Ruby、
Figure BDA0000462918340000214
或其它编程语言。
许多软件部件被存储在存储器606中并且可由处理器603执行。在该方面,术语“可执行的(executable)”意指呈最终可由处理器603运行的形式的程序文件。可执行的程序的示例可为例如可以被翻译成以可以被加载到存储器606的随机访问部分并且由处理器603运行的形式的机器代码、可用能够被加载到存储器606的随机访问部分并且由处理器603执行的合适格式(诸如,目标代码)表达的源代码或者可由另一可执行的程序解释以在存储器606的随机访问部分产生且由处理器603执行的指令的源代码等的编译程序。可执行的程序可被存储在存储器606的任何部分或部件,包括例如随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态硬盘驱动器、USB闪存驱动器、存储器卡、光盘(诸如激光磁盘(CD)或数字化通用磁盘(DVD))、软盘、磁带或其它存储器部件。
本文将存储器606限定为包括易失性的和非易失性的存储器和数据存储部件。易失性的部件为在失去电源时不保留数据值的那些部件。非易失性的部件为在失去电源时保留数据值的那些部件。由此,存储器606可包括例如随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态硬盘驱动器、USB闪存驱动器、经存储器读卡器访问的存储器卡、经相关的软盘驱动器访问的软盘、经光盘驱动器访问的光盘、经适当的磁带驱动器访问的磁带和/或其它存储器部件、或者这些存储器部件中的任何两个或更多个的组合。另外,RAM可包括例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或磁随机存取存储器(MRAM)以及其它这类装置。ROM可包括例如可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)或其它类似存储器装置。
此外,处理器603可表示多个处理器603,以及存储器606可表示分别在并行处理电路中操作的多个存储器606。在这类情况下,本地接口609可为适当的网络109(图1),其促进多个处理器603的任何两个之间、任何处理器603与任何存储器606之间或任何两个存储器606之间等的通信。本地接口609可包括被设计以协调该通信(包括例如进行负载平衡)的额外的系统。处理器603可为电构造或某种其它可用的构造。
虽然服务器应用115、装置配置应用116、电子商务应用117、虚拟装置实例118、媒体编码器120、应用154(图1)、远程访问应用157(图1)、客户端应用172(图1)和本文所述的其它各种系统可在由上述通用硬件执行的软件或代码中实施,但是作为替代其也可同样在专用硬件或软件/通用硬件的组合与专用硬件中实施。如果在专用硬件中实施,那么每个可以被实施为采用许多技术的任何一个或其组合的电路或状态机器。这些技术可包括但不受限于具有用于在施加一个或多个数据信号时实施各种逻辑功能的逻辑门的离散逻辑电路、具有适当逻辑门的专用集成电路或其它部件等。这类技术对于本领域的那些技术人员而言一般是熟知的,并且因此不在本文中详细描述。
图3-图5的流程图示出电子商务应用117、服务器应用115和远程访问应用157的部分的实施的功能性和操作。如果在软件中实施,那么每个框可表示包括程序指令以实施指定逻辑功能的代码的模块、段或部分。程序指令可以用包括用编程语言写的人类可读的语句的源代码或包括可由适合的执行系统(诸如,在计算机系统或其它系统中的处理器603)识别的数字指令的机器代码的形式实施。机器代码可从源代码等进行转换。如果在硬件中实施,那么每个框可表示电路或许多互连电路以实施指定的逻辑功能。
虽然图3-图5的流程图示出执行的指定顺序,但是应理解的是执行顺序可与所描绘的不同。例如,可相对于所示的顺序打乱两个或多个框的执行顺序。此外,可同时或部分同时执行在图3-图5中接连示出的两个或多个框。此外,在一些实施方案中,可跳过或省略在图3-图5中所示的框中的一个或多个。另外,为了增强的实用性、会计、性能测量或提供故障排除辅助等的目的,可将任何数量的计数器、状态变量、警示信号或消息添加到本文所述的逻辑流程。应理解,所有这类变化在本公开的范围内。
此外,包括软件或代码的本文所述的任何逻辑或应用(包括服务器应用115、装置配置应用116、电子商务应用117、虚拟装置实例118、媒体编码器120、应用154、远程访问应用157、客户端应用172)可以在任何非暂时性计算机可读介质中实施以供指令执行系统(诸如,例如在计算机系统或其它系统中的处理器603)使用或与指令执行系统连接。在该意义下,逻辑可包括例如包括可以取自计算机可读介质并且由指令执行系统执行的指令和声明的语句。在本公开的上下文中,“计算机可读介质”可以为可以包含、存储或维持本文所述的逻辑或应用以供指令执行系统使用或与指令执行系统连接的任何介质。计算机可读介质可以包括许多物理媒体(诸如,例如磁、光或半导体媒体)的任何一个。合适的计算机可读介质的更具体的示例将包括但不受限于磁带、磁软盘、磁硬盘、存储器卡、固态硬盘驱动器、USB闪存驱动器或光盘。此外,计算机可读介质可为随机访问存储器(RAM),其包括例如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)或磁随机存取存储器(MRAM)。另外,计算机可读存储介质可为只读存储器(ROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)或其它类型的存储器装置。
条款
1.一种非暂时性计算机可读介质,其实施在计算装置中可执行的程序,所述程序包括:
执行计算装置的虚拟化版本的代码;
将由所述计算装置的所述虚拟化版本产生的视频信号和音频信号编码成媒体流的代码;
产生包括所述计算装置的图形表示的用户接口的代码,其中所述图形表示的屏幕被配置成示出所述媒体流的所述视频信号;以及
将所述用户接口和所述媒体流发送至所述客户端的代码;
从在所述客户端的用户获得输入数据并且将所述输入数据提供给所述计算装置的所述虚拟化版本的代码,其中所述输入数据的至少一部分使所述计算装置的所述虚拟化版本的配置发生改变;
从在所述客户端的所述用户获得所述计算装置的所述物理版本的订单的代码;
开始将所述计算装置的所述虚拟化版本的所述配置拷贝至所述计算装置的所述物理版本的代码,所述配置由所述计算装置的所述物理版本采用;以及
开始将所述计算装置的所述物理版本装运至与所述用户相关的地址的代码。
2.一种系统,其包括:
至少一个计算装置;以及
可在所述至少一个计算装置中执行的至少一个应用,所述至少一个应用包括:
执行计算装置的虚拟化版本的逻辑;
将由所述计算装置的所述虚拟化版本产生的视觉显示编码成媒体流并且将所述媒体流发送至客户端的逻辑;
从所述客户端获得输入数据并且将所述输入数据提供给所述计算装置的所述虚拟化版本的逻辑,其中所述输入数据的至少一部分使所述计算装置的所述虚拟化版本的配置发生改变;以及
开始将所述计算装置的所述虚拟化版本的所述配置拷贝至所述计算装置的物理版本的逻辑,所述配置由所述计算装置的所述物理版本采用。
3.根据权利要求2所述的系统,其中所述视觉显示为视频信号。
4.根据权利要求2所述的系统,其中至少一个应用还包括将由所述计算装置的所述虚拟化版本产生的音频信号编码成所述媒体流的逻辑。
5.根据权利要求2所述的系统,其中所述配置的所述改变对应于所述计算装置的所述虚拟化版本中执行的应用的配置的改变。
6.根据权利要求2所述的系统,其中所述配置的所述改变对应于所述计算装置的所述虚拟化版本中的应用的安装。
7.根据权利要求6所述的系统,其中所述至少一个应用还包括促进相对于所述安装的所述应用的购买的逻辑。
8.根据权利要求2所述的系统,其中所述配置的所述改变对应于所述计算装置的所述虚拟化版本中的一组应用的安装。
9.根据权利要求2所述的系统,其中所述配置的所述改变对应于所述计算装置的所述虚拟化版本中的应用的移除。
10.根据权利要求2所述的系统,其中所述配置的所述改变对应于将至少一个文件上载至所述计算装置的所述虚拟化版本。
11.根据权利要求2所述的系统,其中所述至少一个应用还包括:
从用户获得所述计算装置的所述物理版本的订单的逻辑;以及
响应于所述订单而促进由所述用户到所述计算装置的所述虚拟化版本的访问的逻辑。
12.根据权利要求2所述的系统,其中所述至少一个应用还包括:
在所述客户端的用户已经使所述计算装置的所述虚拟化版本的所述配置发生所述改变之后从所述用户获得所述计算装置的所述物理版本的订单的逻辑;并且
其中开始的所述逻辑被配置成响应于所述订单而开始所述配置的所述拷贝。
13.根据权利要求2所述的系统,其中所述至少一个应用还包括开始履行由用户对所述计算装置的所述物理版本的订单的逻辑。
14.根据权利要求2所述的系统,其中所述至少一个应用还包括:
产生包括所述计算装置的图形表示的用户接口的逻辑,其中所述图形表示的屏幕被配置成示出所述媒体流的所述视觉显示;以及
将所述用户接口发送至所述客户端的逻辑。
15.一种方法,其包括以下步骤:
在至少一个计算装置中获得对应于计算装置的屏幕的由所述计算装置产生的视觉显示;
在至少一个计算装置中将所述视觉显示编码成媒体流;
在至少一个计算装置中将所述媒体流发送至客户端;
在至少一个计算装置中从在所述客户端的用户获得输入数据;
在至少一个计算装置中将所述输入数据提供给所述计算装置,所述输入数据的至少一部分使所述计算装置的配置发生改变;以及
在至少一个计算装置中开始履行由所述用户对具有被改变的所述配置的所述计算装置的订单。
16.根据权利要求15所述的方法,其中所述改变对应于应用的安装。
17.根据权利要求15所述的方法,其还包括在所述至少一个计算装置中将多个所述计算装置维持在网络化环境中的所述步骤。
18.根据权利要求15所述的方法,其还包括以下步骤:
在所述至少一个计算装置中产生包括所述计算装置的图形表示的用户接口,其中所述图形表示的屏幕被配置成示出所述媒体流的所述视觉显示;以及
在所述至少一个计算装置中将所述用户接口发送至所述客户端;
19.根据权利要求18所述的方法,其中所述计算装置的所述图形表示包括输入装置的图形表示,所述输入装置的所述图形表示被配置成响应于由在客户端的用户图形化地选择所述输入装置的所述图形表示而产生所述输入数据的至少一部分。
20.根据权利要求15所述的方法,其还包括在所述至少一个计算装置中将被改变的所述配置复制到另一个计算装置的所述步骤,其中被改变的所述配置由所述另一计算装置采用。
21.根据权利要求15所述的方法,其中在所述至少一个计算装置中开始履行订单的步骤还包括在所述至少一个计算装置中开始将具有被改变的所述配置的所述计算装置装运至与所述用户相关的地址的步骤。
22.根据权利要求21所述的方法,其中所述订单对应于至礼品接受方的所述用户的礼品,并且所述地址对应于所述礼品接受方。
23.根据权利要求15所述的方法,其还包括在所述至少一个计算装置中将默认配置拷贝至所述计算装置的步骤。
24.根据权利要求15所述的方法,其还包括以下步骤:
在所述至少一个计算装置中从所述用户获得所述订单;以及
在所述至少一个计算装置中响应于所述订单而准许所述用户至所述计算装置的远程访问。
25.根据权利要求15所述的方法,其还包括以下步骤:
在所述至少一个计算装置中在获得所述订单之前准许所述用户至所述计算装置的远程访问;
在所述至少一个计算装置中从所述用户获得所述订单;以及
其中响应于获得所述订单而开始履行所述订单。
应强调的是本公开的上述实施方案仅为清楚理解本公开的原理而陈述的实施的可能的示例。可在基本上不脱离本公开的主旨和原理的情况下对上述实施方案进行许多变化和修改。本文意欲将所有这类修改和变化包括在本公开的范围内,并且通过下列权利要求对其进行保护。

Claims (15)

1.一种非暂时性计算机可读介质,其包含在计算装置中可执行的程序,所述程序包括:
执行计算装置的虚拟化版本的代码;
将由所述计算装置的所述虚拟化版本产生的视频信号和音频信号编码成媒体流的代码;
产生包括所述计算装置的图形表示的用户接口的代码,其中所述图形表示的屏幕被配置成示出所述媒体流的所述视频信号;以及
将所述用户接口和所述媒体流发送至所述客户端的代码;
从在所述客户端处的用户获得输入数据并且将所述输入数据提供给所述计算装置的所述虚拟化版本的代码,其中所述输入数据的至少一部分使所述计算装置的所述虚拟化版本的配置发生改变;
从在所述客户端处的所述用户获得所述计算装置的所述物理版本的订单的代码;
开始将所述计算装置的所述虚拟化版本的所述配置拷贝至所述计算装置的所述物理版本的代码,所述配置由所述计算装置的所述物理版本采用;以及
开始将所述计算装置的所述物理版本装运至与所述用户相关的地址的代码。
2.一种系统,其包括:
至少一个计算装置;以及
可在所述至少一个计算装置中执行的至少一个应用,所述至少一个应用包括:
执行计算装置的虚拟化版本的逻辑;
将由所述计算装置的所述虚拟化版本产生的视觉显示编码成媒体流并且将所述媒体流发送至客户端的逻辑;
从所述客户端获得输入数据并且将所述输入数据提供给所述计算装置的所述虚拟化版本的逻辑,其中所述输入数据的至少一部分使所述计算装置的所述虚拟化版本的配置发生改变;以及
开始将所述计算装置的所述虚拟化版本的所述配置拷贝至所述计算装置的物理版本的逻辑,所述配置由所述计算装置的所述物理版本采用。
3.根据权利要求2所述的系统,其中所述视觉显示为视频信号。
4.根据权利要求2所述的系统,其中所述至少一个应用还包括将由所述计算装置的所述虚拟化版本产生的音频信号编码成所述媒体流的逻辑。
5.根据权利要求2所述的系统,其中所述配置的所述改变对应于所述计算装置的所述虚拟化版本中执行的应用的配置的改变。
6.根据权利要求2所述的系统,其中所述配置的所述改变对应于所述计算装置的所述虚拟化版本中的应用的安装。
7.根据权利要求6所述的系统,其中所述至少一个应用还包括促进与所述安装相关的所述应用的购买的逻辑。
8.根据权利要求2所述的系统,其中所述配置的所述改变对应于所述计算装置的所述虚拟化版本中的一组应用的安装。
9.根据权利要求2所述的系统,其中所述配置的所述改变对应于所述计算装置的所述虚拟化版本中的应用的移除。
10.根据权利要求2所述的系统,其中所述配置的所述改变对应于将至少一个文件上载至所述计算装置的所述虚拟化版本。
11.根据权利要求2所述的系统,其中所述至少一个应用还包括:
从用户获得所述计算装置的所述物理版本的订单的逻辑;以及
响应于所述订单而促进由所述用户到所述计算装置的所述虚拟化版本的访问的逻辑。
12.根据权利要求2所述的系统,其中所述至少一个应用还包括:
在所述客户端处的用户已经使所述计算装置的所述虚拟化版本的所述配置发生所述改变之后,从所述用户获得所述计算装置的所述物理版本的订单的逻辑;并且
其中开始的所述逻辑被配置成响应于所述订单而开始所述配置的所述拷贝。
13.根据权利要求2所述的系统,其中所述至少一个应用还包括开始履行由用户针对所述计算装置的所述物理版本的订单的逻辑。
14.根据权利要求2所述的系统,其中所述至少一个应用还包括:
产生包括所述计算装置的图形表示的用户接口的逻辑,其中所述图形表示的屏幕被配置成示出所述媒体流的所述视觉显示;以及
将所述用户接口发送至所述客户端的逻辑。
15.一种方法,其包括以下步骤:
在至少一个计算装置中获得对应于计算装置的屏幕的由所述计算装置产生的视觉显示;
在所述至少一个计算装置中将所述视觉显示编码成媒体流;
在所述至少一个计算装置中将所述媒体流发送至客户端;
在所述至少一个计算装置中从在所述客户端处的用户获得输入数据;
在所述至少一个计算装置中将所述输入数据提供给所述计算装置,所述输入数据的至少一部分使所述计算装置的配置发生改变;以及
在所述至少一个计算装置中开始履行由所述用户针对具有被改变的所述配置的所述计算装置的订单。
CN201280037516.2A 2011-07-27 2012-07-23 远程预配置计算装置 Pending CN103858137A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/191,585 2011-07-27
US13/191,585 US20130031225A1 (en) 2011-07-27 2011-07-27 Remotely preconfiguring a computing device
PCT/US2012/047797 WO2013016259A1 (en) 2011-07-27 2012-07-23 Remotely preconfiguring a computing device

Publications (1)

Publication Number Publication Date
CN103858137A true CN103858137A (zh) 2014-06-11

Family

ID=47598193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280037516.2A Pending CN103858137A (zh) 2011-07-27 2012-07-23 远程预配置计算装置

Country Status (6)

Country Link
US (1) US20130031225A1 (zh)
EP (1) EP2737446A4 (zh)
JP (1) JP6104246B2 (zh)
CN (1) CN103858137A (zh)
CA (1) CA2843152C (zh)
WO (1) WO2013016259A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017000815A1 (zh) * 2015-06-30 2017-01-05 芋头科技(杭州)有限公司 一种预配置用户信息系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9553832B2 (en) * 2013-08-13 2017-01-24 Facebook, Inc. Techniques to interact with an application via messaging
CN103458087A (zh) * 2013-08-30 2013-12-18 华南理工大学 一种基于rtmp的远程手机测试体验方法
US9747097B2 (en) * 2014-09-30 2017-08-29 Qardio, Inc. Devices, systems and methods for segmented device behavior
US9396015B2 (en) * 2014-10-27 2016-07-19 Ayla Networks, Inc. Flexible device templates for connected consumer devices
US20160342434A1 (en) * 2015-05-20 2016-11-24 Blackberry Limited Methods and systems for virtualization of portable electronic devices
US9507626B1 (en) * 2015-07-20 2016-11-29 Red Had Israel, Ltd. Virtual device backend recovery
US9756450B1 (en) * 2015-08-26 2017-09-05 Quantenna Communications, Inc. Automated setup of a station on a wireless home network
US20170154364A1 (en) * 2015-11-30 2017-06-01 Warren Struhl Method and system for ecommerce customized photo fulfillment
CN109885336B (zh) * 2019-01-24 2022-01-07 欧普照明股份有限公司 一种智能设备的离线配置方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3812005B2 (ja) * 1995-10-20 2006-08-23 富士ゼロックス株式会社 商品シミュレータシステムのサーバ、商品シミュレータ装置および方法
US8434113B1 (en) * 1999-10-06 2013-04-30 Tvworks, Llc Electronic commerce using streaming media
US7328171B2 (en) * 1999-11-12 2008-02-05 Hewlett-Packard Development Company, L.P. System and method for ordering consumer items in electronic commerce
US6985876B1 (en) * 2000-02-07 2006-01-10 National Instruments Corporation System and method for enabling a user of an E-commerce system to visually view and/or configure a product for purchase
US6714937B1 (en) * 2000-08-11 2004-03-30 Dell Products L.P. System and method for virtual setup and configuration for a build-to-order computer
JP2002135461A (ja) * 2000-10-20 2002-05-10 Pikuso Kk 端末毎に個性化された携帯情報端末
JP2003085414A (ja) * 2001-09-13 2003-03-20 Konica Corp 電子機器発注装置、電子機器受注システム、電子機器受注方法、電子機器受注プログラム及び電子機器受注記録媒体
JP3941591B2 (ja) * 2002-05-31 2007-07-04 カシオ計算機株式会社 電子辞書受注サーバおよび電子辞書受注処理プログラム
US20040140987A1 (en) * 2003-01-17 2004-07-22 Howell James A. Process for controlling out of box experience customization
JP2004226279A (ja) * 2003-01-24 2004-08-12 It Gem:Kk 液晶時計のダウンロードシステム
US20050144528A1 (en) * 2003-08-29 2005-06-30 Tim Bucher Computing device configuration manager
US20050172284A1 (en) * 2004-01-30 2005-08-04 Dandekar Shree A. Method and system for automated generation of customized factory installable software
JP2006284365A (ja) * 2005-03-31 2006-10-19 Casio Comput Co Ltd 腕時計、腕時計デザインプログラム及び腕時計デザイン方法、並びに腕時計デザインシステム
US20080034408A1 (en) * 2007-04-23 2008-02-07 Sachin Duggal Network-Based Computing Service On A Streamed Virtual Computer
US8793305B2 (en) * 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
JP2009232359A (ja) * 2008-03-25 2009-10-08 Fujitsu Ltd 携帯電話の操作支援装置
US8224712B2 (en) * 2008-04-14 2012-07-17 Dell Products L.P. Point of sale personalization of an information handling system
US20100169154A1 (en) * 2008-12-29 2010-07-01 Nokia Corporation System and associated method for product selection
US8261983B2 (en) * 2009-12-17 2012-09-11 Amazon Technologies, Inc. Generating customized packaging

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017000815A1 (zh) * 2015-06-30 2017-01-05 芋头科技(杭州)有限公司 一种预配置用户信息系统

Also Published As

Publication number Publication date
JP2014529116A (ja) 2014-10-30
JP6104246B2 (ja) 2017-03-29
US20130031225A1 (en) 2013-01-31
WO2013016259A1 (en) 2013-01-31
EP2737446A4 (en) 2015-03-25
CA2843152A1 (en) 2013-01-31
CA2843152C (en) 2019-06-11
EP2737446A1 (en) 2014-06-04

Similar Documents

Publication Publication Date Title
US11403124B2 (en) Remotely emulating computing devices
US10673916B1 (en) Executing applications in remotely emulated computing devices
CN103858137A (zh) 远程预配置计算装置
US10320880B2 (en) Data locker synchronization
US8668591B2 (en) Data locker management
US20140047413A1 (en) Developing, Modifying, and Using Applications
US9586144B2 (en) Contents providing system and operating method thereof
JP2011501266A (ja) 映像広告を作成するためのテンプレートベースの方法
CN104737126B (zh) 对装置履行应用
US20170131851A1 (en) Integrated media display and content integration system
US9392047B1 (en) Facilitating application compatibility across devices
CA2838691C (en) Data locker synchronization
Percival HTML5 advertising
CN102930076A (zh) 虚拟物体实时三维数据的交互方法
KR101869247B1 (ko) 동영상 스팟 이미지에 기초한 객체정보 제공서비스를 이용한 컨텐츠 경매 제공방법 및 시스템
Magazine The Mobile Book
CN115623270A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20140611

RJ01 Rejection of invention patent application after publication