跨多个系统的应用安装/卸载的制作方法

文档序号:11450247阅读:332来源:国知局
跨多个系统的应用安装/卸载的制造方法与工艺

背景

在电子设备中,通常需要安装和/或卸载各种应用。如所知的,由不同制造商提供的电子设备可以运行不同操作系统。相应地,软件开发者可开发一应用的多个安装程序,每一安装程序专用于相应操作系统,使得该应用被正确地安装在目标设备上。

一些电子设备可包括一个以上操作系统,从而允许它们在多个操作系统环境中操作。多个操作系统可被同时物理地安装在该电子设备上;或者只有操作系统中的一些被物理地安装,而其他由部署在该设备使得虚拟机来提供。如本文所使用的,在电子设备上运行的系统可以指物理地安装在该设备上的真实操作系统(os)或者在该设备上的虚拟机上运行的虚拟操作系统。

概述

当前,在具有多个系统(例如,os)的电子设备中,用户必须下载、购买或以其他方式获得单个应用的不同安装程序,以使得能在不同系统上安装并使用该应用。这一麻烦且耗时的过程增加了最终用户的负担。

根据本文描述的主题的各实施例,在具有至少两个系统的设备中,当在该设备上运行的一个系统上安装或卸载应用时,可以确定是否要在第二系统上安装或卸载该应用。在一个实施例中,可在第一系统正在运行时设置指示,该指示使得在第二系统上安装或卸载该应用。当第二系统正在运行时,如果该指示指示该应用要在第二系统上被安装或卸载,则可以在第二系统上发起该应用的安装或卸载。以此方式,该应用的安装或卸载可以在具有多个操作系统的环境中方便地完成,而无需用户给出任何进一步手动指令。

提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。

附图简述

图1解说了其中可实现本文所描述的主题的一个或多个实施例的电子设备的示例;

图2解说了根据本文描述的主题的一个实施例的电子设备的示例;

图3解说了根据本文描述的主题的一个实施例的用于应用安装的方法的流程图;以及

图4解说了根据本文描述的主题的一个实施例的用于应用安装的方法的流程图。

详细描述

现将参考若干示例实施例讨论本文中描述的主题。应当理解,这些实施例仅是出于使得本领域的技术人员能够更好地理解并由此实现本文中描述的主题的目的来讨论的,而不对该主题的范围提出任何限制。

如本文所使用的,术语“包括”及其变体被当作开放术语,表示“包括但不限于”。除非上下文另外清楚地指示出,否则术语“或”要被当作“和/或”。术语“基于”被当作“至少部分地基于”。术语“一个实施例”和“一实施例”被当作“至少一个实施例”。术语“另一实施例”被当作“至少一个其他实施例”。术语“第一”、“第二”、“第三”等等可被用来指不同或相同对象。其他显式或隐式的定义可被包括在下文中。

图1解说了其中可实现本文所描述的主题的一个或多个实施例的电子设备100的示例。电子设备100不旨在对本文描述的主题的使用范围或功能提出任何限制,因为各实施例可以在各种各样的通用或专用电子设备中实现。电子设备100的示例包括但不限于服务器、台式计算机、膝上型计算机、平板、智能电话、移动电话、个人数字助理(pda)等等。

参考图1,电子设备100包括至少一个处理单元(或处理器)110和一个或多个存储器120。处理单元110执行计算机可执行指令,并且可以是真实或虚拟处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。存储器120可以是易失性存储器(例如,寄存器、高速缓存、ram)、非易失性存储器(例如,rom、eeprom、闪存)或两者的某一组合。

存储器120存储操作系统170的至少一部分。如本文所使用的,术语“操作系统”指的是用于操纵和控制机器的硬件和软件资源的计算机程序。一般而言,操作系统是直接在机器上运行的基础系统软件,且各应用需要分开地实现在每一操作系统下。根据本文描述的主题的各实施例,操作系统170可以向在电子设备100中执行的其他软件提供操作环境,并协调电子设备100的各组件的活动。作为示例而非限制,操作系统170可包括用于各种电子设备的任何操作系统,诸如microsoftwindows、unix、linux、windowsphone、symbian,等等。

在一个实施例中,一个或多个虚拟机可被部署在电子设备100中,每一虚拟机主存相应的操作系统170。结果,操作系统170可包括在电子设备上运行的真实操作系统和在虚拟机上运行的虚拟操作系统。另外,操作系统170还可包括许多虚拟机的系统管理程序。如本文是使用的,术语“系统管理程序”指的是管理各虚拟机上的各虚拟操作系统的程序或软件。

电子设备100可具有附加组件或特征。在图1所示的示例中,电子设备100包括存储130、一个或多个输入设备140、一个或多个输出设备150以及一个或多个通信连接160。诸如总线、控制器或网络之类的互连机制(未示出)将电子设备100的各组件互连。

存储130可以是可移动或不可移动的,并可包括诸如闪存驱动器、磁盘、磁带或磁带盒、cd-rom、cd-rw、dvd之类的计算机可读存储介质,或者可用于储存信息并可在电子设备100内访问的任何其它介质。存储130可存储操作系统170的至少一部分。

输入设备140可以是各种不同输入设备中的一者或多者。例如,输入设备140可包括诸如鼠标、键盘、轨迹球等用户设备。输入设备140可实现一个或多个自然用户界面技术,诸如语音识别、触摸和指示笔识别、与输入设备140接触和邻近该输入设备140的姿势的识别、头和眼睛跟踪、语音和话音识别、感测用户脑部活动以及机器智能。作为其它示例,输入设备140可包括扫描设备;网络适配器;cd/dvd读取器;或向电子设备100提供输入的另一设备。输出设备150可以是显示器、打印机、扬声器、cd/dvd刻录机、网络适配器、或从电子设备100提供输出的另一设备。输入设备140和输出设备150可被结合在单个系统或设备中,诸如触摸屏或虚拟现实系统。

(诸)通信连接160允许在通信介质上到另一计算实体的通信。此外,电子设备100的各组件的功能可被实现在单个计算机器中或能够通过通信连接通信的多个计算机器中。因此,电子设备100可使用通往诸如手持计算设备、个人计算机、服务器、路由器、网络pc、对等设备或另一常见网络节点等一个或多个远程计算设备的逻辑连接而工作在联网环境中。通信介质传达诸如数据或计算机可执行指令之类的信息、或者已调数据信号形式的请求。已调制数据信号是使其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非局限,通信介质包括以电、光、rf、红外、声学或其他载波实现的有线或无线技术。

可在可以是存储介质或通信介质的计算机可读介质的一般上下文中描述本主题的各实施例。计算机可读存储介质可以是可在电子设备100内访问的任何可用存储介质,但是术语计算机可读存储介质不指传播的信号本身。作为示例而非局限,对于电子设备100,计算机可读介质包括存储器120、存储130、及其组合。

本主题的各实施例可在计算机可执行指令(诸如包括在程序模块中的在电子设备100中的目标现实或虚拟处理器上在设备中执行的那些计算机可执行指令)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等等。如各实施例中描述的,这些程序模块的功能可以被组合,或者在这些程序模块之间拆分。针对各程序模块的计算机可执行指令可以在本地或按分布式模式来执行。例如,程序模块可位于本地和远程存储介质两者中。

图2解说了根据本文描述的主题的一个实施例的电子设备100的示例。在图2所示的示例中,电子设备100包括两个不同的系统,即第一系统210和第二系统220。第一和第二系统210和220可由上述操作系统170来实现。在本公开的上下文中,在此描述的第一和第二系统210和220可包括电子设备100上的真实操作系统、部署在电子设备100上的虚拟机上的虚拟操作系统、以及电子设备100上的许多虚拟机的系统管理程序。在这一示例中,两个系统210和220被示出在电子设备100上。将理解,这只是出于解说的目的,而没有对系统的数目提出任何限制。电子设备100上可存在任何合适数目的系统。

如图2所示,第一系统210包括两个模块,即安装确定模块230和指示设置模块240。在一个实施例中,安装/卸载确定模块230被配置成响应于在电子设备100上运行的第一系统210上安装或卸载应用,确定是否要在第二系统220上安装或卸载该应用。

如本文是使用的,术语“应用”指的是可被安装在物理或虚拟机(诸如电子设备100)上并且完成特定任务的任何计算机程序或软件产品。一般而言,应用通过对应的安装程序被安装在机器的操作系统上,诸如电子设备100的第一或第二系统210或220。

如本文所使用的,术语“安装”指的是应用在操作系统上的部署以及该应用在该操作系统上的执行的过程。在一个实施例中,安装过程可包括将该应用向电子设备100以及第一和第二系统210和220注册,其中该注册可以例如通过创建和/或修改注册表项来实现。作为替换或补充,安装过程还可包括将与该应用相关的文档简单地下载或解压到指定位置。如本文所使用的,术语“卸载”指的是移除与已安装应用相关的数据的过程。

在该实施例中,如果安装/卸载确定模块230确定该应用要在第二系统220上被安装或卸载,则指示设置模块240可以设置针对第二系统220的指示或标志以使得在第二系统220上安装或卸载该应用。如本文所使用的,术语“指示”或“标志”指的是用于指示是否安装或卸载该应用的状态指示。该指示的示例包括但不限于一个或多个位的序列。例如,该指示可由一个位来表示,其中“1”指示要在第二系统上安装或从第二系统卸载该应用,而“0”指示不要在第二系统上安装或从第二系统卸载该应用。这只是出于解说的目的,而不对本文描述的主题的范围提出任何限制。本文描述的主题可以用任何形式的指示来实现。安装/卸载确定模块230和指示设置模块240的功能将在下文详细描述,例如参考图3。

仍然参考图2,一般而言,第二系统220包括两个模块:指示确定模块250和安装/卸载模块260。在一个实施例中,指示确定模块250被配置成响应于第二系统220的运行,确定在第一系统210正在运行时是否设置了指示,其中该指示指示要在第二系统220上安装或卸载该应用。如上所述,在应用的安装的情形中,该指示可由一个位来表示,其中“1”指示要安装或卸载该应用,而“0”指示不要安装或卸载该应用。在这一情形中,如果指示确定模块250确定该指示被设置成“1”,则确定要在第二系统220上安装或卸载该应用;如果指示确定模块250确定该指示被设置成“0”,则确定不要在第二系统220上安装或卸载该应用。

在该实施例中,如果确定要在第二系统220上安装或卸载该应用,则安装/卸载模块260可以发起该应用在第二系统220上的安装或卸载。指示确定模块250和安装/卸载模块260的功能将在下文详细描述,例如参考图4。

现在参考图3,图3示出了根据本文描述的主题的一个实施例的用于应用安装或卸载的方法300的流程图。方法300可由上述电子设备100中的第一系统210实现。

如图所示,在步骤310进入方法300,在此在运行于电子设备100上的第一系统210上安装或卸载应用时,确定是否要在第二系统220上安装或卸载该应用。

根据本文描述的主题的各实施例,该确定可以在第一系统210上安装或卸载该应用期间的任何时间且与用户的指令相关联地执行。该指令可由用户主动给出或响应于来自电子设备100的询问来给出。

具体而言,例如,在一个实施例中,在用户请求在第一系统210上安装或卸载应用时,用户还可给出是否在第二系统220上安装或卸载该应用的指令。作为替换或补充,在另一实施例中,用户可以响应于来自电子设备100的提示来给出指令。例如,在一个实施例中,响应于用户请求在第一系统210上发起应用的安装或卸载时,是否在第二系统220上安装或卸载该应用的提示可被呈现给用户。如果用户响应于该提示指令安装或卸载该应用,则可以确定要在第二系统220上安装或卸载该应用。

根据本文描述的主题的各实施例,提示的呈现可由安装或卸载期间的任何适当的触发事件来触发。另选地,在一个实施例中,该提示可响应于该应用的安装或卸载完成来被呈现。根据本文描述的主题的各实施例,该提示可被实现成任何适当的形式。该提示的示例包括但不限于对话框、文本、音频或视觉消息、振动、或其任何合适组合。

作为示例,假定第一os正在移动电话上运行。用户可例如通过点击对应的安装或卸载程序的图标来请求安装或卸载应用。响应于该请求,可以在第一os上发起该应用的安装或卸载。在安装或卸载期间,具有选项“是”或“否”的对话框可被呈现给用户以询问是否在也被部署在该移动电话上的第二os上安装或卸载该应用。如果用户选择“是”,则确定要在第二os上安装或卸载该应用;否则,确定不要安装或卸载该应用。

仍然参考图3,如果在步骤310确定要在第二系统220上安装/卸载该应用,则方法300随后进至步骤320,在此设置触发在第二系统220上安装或卸载该应用的指示。在一个实施例中,该指示可以造成在第二系统220运行之际发起该应用在第二系统220上的安装或卸载。即,在第二系统220启动时,可在第二系统220上安装或卸载该应用。

将理解,在替换实施例中,安装或卸载可以在任何合适的定时来发起。例如,在一个实施例中,如果安装或卸载需要具有网络接入,则该应用可以在设备100连接到网络时被安装或卸载。作为另一示例,在cpu或存储器利用低于预定水平时,安装或卸载可以被发起。

应当明白,如果在步骤320确定不要在第二系统220上安装或卸载该应用,则后续动作属于正常动作,并且其细节将被省略。如上所述,该指示可以由一个或多个位的序列来表示。使用该指示,第二系统220可以发起该应用的安装或卸载。

根据本文描述的主题的各实施例,该指示可被存储在第二系统220可访问的共享存储器区。如本文所使用的,术语“共享存储区”指的是第一系统210可以写入数据且第二系统220可以读出数据的存储区,或者第一和第二系统210和220两者都可写入和读取数据的存储区。共享存储区可以是能由第一和第二系统210和220访问的任何合适位置处的存储区。共享存储区的示例包括但不限于电子设备100上的本地存储区以及位于电子设备100远程的网络存储区。

具体而言,在一个实施例中,共享存储区可以是与电子设备100的存储器120和/或存储130分开的存储区。这样的存储区的示例是存储器120或存储130的一部分,它可被称为公共用户数据配置存储(cudcs)。作为替换或补充,共享存储区可以是存储器120的一部分和存储130的一部分的组合。

作为替换或补充,在另一实施例中,共享存储区可以是位于电子设备100远程的存储区。相应地,两个系统210和220可具有通过网络对该存储区的访问权。例如,共享存储区可以是云存储区。

根据本文描述的主题的各实施例,响应于该指示指示该应用的安装或卸载,在系统220启动并在电子设备100上运行之后,可在第二系统220上发起安装或卸载过程。在一个实施例中,安装或卸载过程可响应于第二系统220的运行在第二系统220上自动地执行。

在本公开的上下文中,自动安装包括全自动或半自动安装。如本文所使用的,术语“全自动安装”指的是无需来自用户的任何输入的自动安装过程。术语“半自动安装”指的是其中一些安装步骤需要来自用户的指令或其他输入的安装过程。例如,安装可被自动发起,但其后续过程需要来自用户的输入。例如,在一个实施例中,在半自动安装的情形中,在第二系统220在电子设备100上启动之后,询问用户是否要在第二系统220上安装该应用。随后,响应于来自用户的安装指令来发起安装。安装的规程将在下文详细描述,例如参考图4。同样,卸载程序可例如在第二系统220启动并请求用户确认该卸载时执行。

根据本文描述的主题的各实施例,安装或卸载的模式(诸如自动或半自动安装/卸载)可由用户指示和由一指示来指示。

例如,在一个实施例中,在用户指令在第二系统220上安装或卸载该应用之后,可以向用户呈现提示以询问是否自动安装或卸载该应用。该提示的呈现可由安装或卸载期间的任何适当的触发事件来触发,并且本文描述的主题的范围将不限于此。如上所述,该提示可包括但不限于对话框、文本、音频或视觉消息、振动、或其任何合适组合。

作为示例,假定第一os正在移动电话上运行。在用户指令在也被部署在该移动电话上的第二os上安装或卸载该应用之后,是否自动安装该应用的提示可被呈现给用户。在这一示例中,该提示可以按对话框的形式来呈现。即,具有选项“是”或“否”的对话框可被呈现给用户以询问是否在第二os上自动安装或卸载该应用。如果用户选择“是”,则可在第二os正在运行时将自动发起该应用的安装或卸载。

在一实现中,自动或半自动安装/卸载的模式可由可被称为“模式指示”的一指示来指示。例如,模式指示可以指示是否自动安装该应用。模式指示和指示是否在第二系统上安装或卸载该应用的安装/卸载指示可被实现为单个指示。另选地,可以使用两个分开的指示。例如,在一个实施例中,安装/卸载指示可被重用来指示自动安装或卸载。如上所述,在一个实施例中,安装/卸载指示可以是一个或多个位的序列。在这一示例中,两个位可被用来指示是否在第二系统上安装或卸载该应用以及安装/卸载模式。作为示例而非提出任何限制,在一个实施例中,“11”指示全自动安装/卸载,“10”指示半自动安装/卸载,以及“00”指示禁用在第二系统上安装/卸载该应用。

作为替换或补充,在另一实施例中,除了安装/卸载指示之外,分开的模式指示可被使用来指示是否在第二系统220上自动安装该应用。该模式指示可以是与安装/卸载指示相似的方式,并且其细节将在此省略。

如上所述,安装/卸载指示可被存储在能由系统210和220两者访问的共享存储区中。根据本文描述的主题的各实施例,模式指示也可被存储在共享存储区中。模式指示的共享存储区可以按与安装/卸载指示的共享存储区相似的方式来实现。模式指示和安装/卸载指示的共享存储区可被实现为单个共享存储区。另选地,可以使用两个分开的共享存储区。

使用对在第二系统220上安装或卸载该应用的确定并且随后由第一系统210对安装/卸载指示的设置,在具有多个操作系统的计算环境中对该应用的安装或卸载可以更有效且高效地完成。在常规办法中,用户必须在设备的不同操作系统上多次重复安装过程。这样的规程是耗时且耗能的。根据本文描述的主题的各实施例,在支持多个操作系统的设备中,可以在一个操作系统确定在另一操作系统上的安装,并且当该另一操作系统正在运行时可以发起在该另一操作系统上的安装。以此方式,应用安装的效率以及用户体验可被改进。

具体而言,如上所述,也可在第一系统210上控制第二系统220上的应用的卸载。在用户正在从第一系统210卸载应用时,他/她被允许设置是否要在同一设备中的第二系统210上卸载同一应用。

自动或半自动应用卸载将是有益的。将明白,应用的卸载可意味着用户将不再在第一系统或第二系统上使用这一应用。然而,当用户登录到第二系统上时,他/她可能忘记从第二系统卸载该应用,尤其是当用户在例如自从第一系统卸载该应用以来的相对较长的时间之后切换到第二系统时。在这种情形下,该应用可能被留在第二系统上而根本不被使用,这将造成资源浪费。根据本文描述的主题的各实施例,这一问题可被避免。

作为替换或补充,根据本文描述的主题的各实施例,(在该应用的安装和/或执行之际生成的)与该应用相关的数据和/或配置信息可被存储在共享存储区,使得该数据和/或信息可以在不同系统之间共享和/或同步。同样,这一存储区可以按与安装和/或卸载的指示的存储区相似的形式来实现,并且可以与安装和/或卸载的指示的存储区相同或不同。根据本文描述的主题的各实施例,用户可以决定是否在各系统之间共享该数据和/或配置信息。详细操作类似于如上所述的对是否安装应用的确定,并且因此将省略细节。

常规上,用户分别在不同操作系统下操作相同应用。与一个操作系统下的操作相关的数据和/或信息不能由另一操作系统访问。根据本文描述的主题的各实施例,应用在一个操作系统上的操作的结果可由另一操作系统访问。以此方式,在具有多个操作系统的计算环境中对该应用的使用效率可被进一步改进。

例如,在一个实施例中,使用以下xml语句来描述应用在不同系统上的安装和/或卸载的配置是可能的,这是在第一系统210正在运行时根据本文描述的主题的各实施例来设置的。

在这一示例中,如字段“commonconfigurationposition(公共配置位置)”所指示的,cudcs是在不同系统之间共享的存储区。第一os充当在移动电话上运行的主系统,而第二os和第三os充当待机的副系统。关于第一os,设置成“yes(是)”的字段“installed(已安装)”指示该应用已被安装在第一os上,且设置成“yes”的字段“commonuserdata(公共用户数据)”指示相关数据和/或信息可由其他系统共享。关于第二os,设置成“yes”的字段“needinstallation(需要安装)”以及设置成“yes”的字段“automaticinstallation(自动安装)”指示将响应于第二os的运行在第二os上自动安装该应用;并且设置成“yes”的字段“commonuserdata”指示相关数据和/或信息可由其他系统共享。关于第三os,设置成“yes”的字段“needuninstallation(需要卸载)”以及设置成“yes”的字段“automaticuninstallation(自动卸载)”指示将响应于第三os的运行在第三os上自动卸载该应用;并且设置成“no(否)”的字段“commonuserdata”指示相关数据和/或信息不可由其他系统共享。

图4示出了根据本文描述的主题的一个实施例的用于应用安装或卸载的方法400的流程图。方法400可由上述电子设备100中的第二系统220实现。

如图所示,在步骤410进入方法400,在此确定在第一系统210正在运行时是否设置了指示,其中该指示指示响应于第二系统220的运行要在第二系统220上安装或卸载应用。

如上所述,该指示可以在第一系统210上安装或卸载该应用期间的任何时间且与用户的指令相关联地设置。此外,该指示可以由一个或多个位的序列来表示。例如,该指示可由一个位来表示,其中“1”指示该应用的安装或卸载而“0”指示该应用的不安装和/或卸载。

如上所述,该指示可被存储在能由第一和第二系统210和220两者访问的共享存储区中。相应地,在一个实施例中,在步骤410对指示的确定可包括从共享存储区中检索指示。如上所述,共享存储区指的是第一系统210可以写入数据且第二系统220可以读出数据的存储区,或者第一和第二系统210和220两者都可写入和读取数据的存储区。

具体而言,如上所述,共享存储区可包括电子设备100上的本地存储区(诸如cudcs)以及位于电子设备100远程的网络存储区(诸如云存储区)。例如,在一个实施例中,共享存储区是电子设备100上的本地存储区且第二系统220可从该存储区直接检索指示。作为替换或补充,在另一实施例中,共享存储区是位于电子设备100远程的网络存储区且第二系统220可以通过网络访问该存储区并检索指示。

仍然参考图4,如果在步骤410确定了指示安装或卸载的指示,则方法400可进至步骤420,在此发起该应用的安装或卸载。应当明白,如果在步骤410没有确定该指示,则后续动作属于正常动作,并且其细节将在此省略。

如上所述,安装或卸载可包括全自动或半自动安装/卸载。如上所述,安装/卸载的模式(诸如自动或半自动安装/卸载)可由在第一系统210下设置的模式指示来指示。模式指示和指示是否在第二系统上安装或卸载该应用的安装/卸载指示可被实现为单个指示。另选地,可以使用两个分开的指示。随后,基于对安装/卸载指示和模式指示的确定来执行安装。

具体而言,在一个实施例中,如果模式指示指示全自动安装/卸载,则安装或卸载的整个过程将在第二系统220运行时全自动地执行。例如,在全自动安装的情形中,安装程序可被自动下载,并且可使用经下载的安装程序来自动安装该应用。作为替换或补充,在全自动卸载的情形中,可以从第二系统自动卸载该应用,并且安装程序可被自动删除。

作为替换或补充,在另一实施例中,如果该指示指示半自动安装/卸载,则安装或卸载可以与用户的指令相关联地完成。例如,在一个实施例中,在第二系统220正在运行时,安装或卸载的过程被自动发起,并且响应于来自用户的进一步指令来采取与安装或卸载相关的每一特定动作。

根据本文描述的主题的各实施例,用户可以主动给出指令,或者响应于来自电子设备100的询问来给出。具体而言,例如,在一个实施例中,在发起该应用的安装或卸载之后,用户可以给出与安装或卸载相关的一次性指令。作为示例而非提出任何限制,在该应用的安装的情形中,该指令可指示在何处下载安装程序、在何处存储安装程序、在何处存储已安装应用,等等。作为替换或补充,在另一实施例中,用户可以响应于来自电子设备100的提示来给出指令。例如,与特定动作相对应的提示可被呈现给用户,诸如在何处下载安装程序、在何处存储安装程序、在何处存储已安装应用,等等。随后,用户响应于该提示来作出指令。该提示的实现可类似于以上参考图3描述的提示,并且其细节将在此省略。

作为示例,假定响应于用户请求从第一os切换到第二os,第二os启动并在移动电话上运行。如果安装/卸载指示(它在第一os正在运行时被设置成指示在第二os上安装或卸载应用)被确定,则在第二os正在运行时发起该应用的安装或卸载。在发起之际,确定模式指示,它也在第一os正在运行时被设置成指示该应用的自动安装或卸载。响应于模式指示被确定,在第二os上自动安装或卸载该应用。在自动安装或卸载期间,与特定动作相关的提示可被发送给用户。在应用的安装的情形中,该提示可以询问例如在何处存储已安装应用、在何处卸载安装程序、在何处存储安装程序、在何处存储已安装应用,等等。在这一示例中,还可询问用户来选择用户想要安装或卸载同一应用的哪一版本。例如,如果存在一个以上应用版本可供用于已在第一系统210中安装或卸载的该同一应用,则要在第二系统220上安装或卸载该应用的哪一版本的提示可被呈现给用户。

在常规办法中,在支持多个操作系统的电子设备中,在用户请求在一个操作系统上安装或卸载应用之后,用户必须在另一操作系统上重复安装或卸载的整个过程。这样的规程是耗时且耗能的。根据本文描述的主题的各实施例,应用在一个操作系统上的安装或卸载可基于另一操作系统的相关配置来执行。以此方式,在具有多个操作系统的计算环境中对应用的安装或卸载是更加有效且高效的。

如上所述,自动或半自动应用卸载将是有益的。如果用户将不再在第一系统上使用一应用,则当他/她登录到第二系统上时,他/她可能忘记从第二系统卸载该应用。在这种情形中,将该应用留在第二系统上将造成资源浪费。根据本文描述的主题的各实施例,这一问题可被避免。

当在第二系统上安装应用时,该安装可能由于可用资源不足而失败。在一个实施例中,在全自动或半自动安装的情形中,安装的发起可包括确定第二系统220可用的资源是否足以用于在第二系统220上安装该应用。如果可用资源不足,则安装过程将被终止。以此方式,可以提高成功安装的概率。

具体而言,在一个实施例中,估计应用的安装和/或执行将消耗的资源量是可能的。如果第二系统220上的可用资源量小于所估计的量,或者所估计的量超过预定义阈值,则该应用的安装可被终止。另选地,如果需要,可以向用户呈现提示,以使得用户可以释放一些资源来继续该安装。

资源的示例包括但不限于以下中的一者或多者:计算资源(诸如可用中央处理单元(cpu)类型、数目和频率);存储资源(诸如可用存储器和盘的类型、数目以及大小);输入/输出(i/o)资源(诸如,可用图像处理单元(gpu)的类型、数目以及图形加速能力);网络资源(诸如,所支持的网络通信类型和可用带宽)。

根据本文描述的主题的各实施例,用于估计在应用的安装之际所使用的一个或多个资源的量的各种适当方法。例如,在一个实施例中,与各种类型的应用相关的资源使用的知识可被提前知晓。在这一实施例中,在安装的情形中各种类型的所使用资源的预期量可基于该知识以及应用的类型来估计。

另选地,在另一实施例中,要安装的应用所要使用的资源量对安装程序而言可以是已知的,并且因此安装程序可以将它通知给电子设备100。例如,要安装的应用的安装手册可以指示该应用所需的最低和/或最优资源量。具体而言,例如,安装手册可以指定该应用的执行需要至少100m空闲存储空间以及1ghzcpu主频。在这一情形中,所指定的资源量可被认为是预期资源使用量。作为另一示例,预期资源使用量可由用户在安装期间输入。任何其他办法是可能的,并且上述主题的范围将不限于此。

如上所述,根据本文描述的主题的各实施例,为进一步改进应用在多操作系统环境中的使用效率,(在该应用的安装和/或执行之际生成的)与该应用相关的数据和/或配置信息可被存储在共享存储区,使得该数据和/或信息可以在不同系统之间共享和/或同步。相应地,在一个实施例中,方法400可包括从共享存储区获得(由第一系统210提供的)与该应用相关的数据,使得该数据对第二系统220上的该应用是可用的。作为替换或补充,在另一实施例中,方法400还可包括从共享存储区获得(由第一系统210提供的)与该应用相关的配置信息,并使用所获得的配置信息来配置第二系统220上的该应用。

将明白,用于与该应用相关的数据和/或配置信息的共享存储区可以按与用于安装和/或卸载的指示的共享存储区相似的方式来实现,并且可以与用于安装和/或卸载的指示的共享存储区相同或不同。

作为示例,如在以上参考图3描述的xml语句中所示,在第二os启动且在电子设备100上运行之后,响应于设置成“yes”的字段“needinstallation”以及设置成“yes”的字段“automaticinstallation”,响应于第二os正在运行在第二os上自动安装该应用。在第三os启动且在电子设备100上运行之后,响应于设置成“yes”的字段“needuninstallation”以及设置成“yes”的字段“automaticuninstallation”,响应于第三os正在运行在第三os上自动卸载该应用。

本文所述的功能可至少部分地由一个或多个硬件逻辑组件来执行。例如且并非限制,可使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(fpga)、应用专用集成电路(asic)、应用专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等等。

本文描述的主题的各种实施例可以在硬件或专用电路、软件、逻辑或其任意组合中实现。一些方面可以在硬件中实现,而其他方面可以在可由控制器、微处理器或其他计算设备执行的固件或软件中实现。虽然本文描述的主题的各实施例的各个方面被例示并描述为框图、流程图、或使用一些其它的图形表示,但是将理解的是,本文描述的框、装置、系统、技术或方法可作为非限制性示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实现。

作为示例,本主题的各实施例可在机器可执行指令(诸如包括在程序模块中的在目标现实或虚拟处理器上在设备中执行的那些机器可执行指令)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等等。如各实施例中描述的,这些程序模块的功能可以被组合,或者在这些程序模块之间拆分。针对各程序模块的机器可执行指令可以在本地或分布式设备中执行。在分布式设备中,程序模块可位于本地和远程存储介质两者中。

用于执行本文描述的主题的方法的程序代码可以以一种或多种编程语言的任何组合来编写。这些程序代码可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器或控制器,使得在处理器或控制器执行该程序代码时实现在流程图和/或框图中被指定的功能/操作。程序代码可完全在机器上、部分在机器上、作为独立软件包、部分在机器上且部分在远程机器上或者完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是能包含或存储供指令执行系统、装置或设备使用或者结合其使用的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可包括但不限于:电子、磁性、光学、电磁、红外、或半导体系统、装置或设备,或者前述的任何合适组合。机器可读存储介质的更具体的示例将包括:具有一条或多条导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光纤、便携式压缩碟只读存储器(cd-rom)、光存储设备、磁存储设备或者前述的任何合适组合。

此外,尽管以特定次序描绘了操作,然而这不应当被理解为要求这些操作以所示的特定次序或以顺序次序执行,或者所例示的所有操作均被执行来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。类似地,尽管在上述讨论中包含若干具体实现细节,但是这些不应被解释为对本文描述的主题的范围的限制,而应被解释为针对特定实施例的特定特征的描述。在分开的实施例的上下文中描述的某些特征也可以在单一实施例中组合地实现。反过来,在单一实施例的上下文中描述的各个特征也可以在多个实施例中分开地实现或以任何适当子组合实现。

尽管用结构特征和/或方法动作专用的语言描述了本发明主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1