CN110249301A - 经由安装在便携式存储设备上的应用的应用可移植性 - Google Patents
经由安装在便携式存储设备上的应用的应用可移植性 Download PDFInfo
- Publication number
- CN110249301A CN110249301A CN201880009859.5A CN201880009859A CN110249301A CN 110249301 A CN110249301 A CN 110249301A CN 201880009859 A CN201880009859 A CN 201880009859A CN 110249301 A CN110249301 A CN 110249301A
- Authority
- CN
- China
- Prior art keywords
- application
- user
- equipment
- portable
- identifier
- 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
Links
- 238000009434 installation Methods 0.000 title description 69
- 230000015654 memory Effects 0.000 claims abstract description 133
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000004590 computer program Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 46
- 238000001514 detection method Methods 0.000 claims description 15
- 239000011248 coating agent Substances 0.000 claims description 4
- 238000000576 coating method Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 31
- 238000012545 processing Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000013500 data storage Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 210000003811 finger Anatomy 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008520 organization Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 241000264877 Hippospongia communis Species 0.000 description 2
- 230000018199 S phase Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000007177 brain activity Effects 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6236—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44573—Execute-in-place [XIP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44584—Portable applications, i.e. making applications self-contained, e.g. U3 standard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
- G06F9/4413—Plug-and-play [PnP]
- G06F9/4415—Self describing peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
提供了方法、系统和计算机程序产品,其使得(多个)软件应用能够被安装到便携式存储设备上并由被耦合到该便携式存储设备的第一计算设备执行,而不必将(多个)应用安装到第一计算设备上。当(多个)应用正在被执行时,可以维持与(多个)应用相关联的状态信息并且还将其存储在便携式存储设备上。当便携式存储设备从第一计算设备去耦合并且被耦合到第二计算设备时,被安装在便携式存储设备上的(多个)应用可以从用户停止在第一计算设备上使用(多个)应用的点继续执行,而不必将(多个)应用安装在第二计算设备上。
Description
背景技术
在我们的生活中计算机已经变得普遍,出现在我们的家庭和工作场所以及越来越多的公共场所,诸如图书馆、机场、咖啡馆等。随着人们越来越依赖计算机,他们在任何可能的地方使用计算机的期望恰好也在增长。例如,当用户远离他们的家或办公室旅行时,他们经常期望访问他们习惯于从他们的家庭或办公室计算机访问的程序和/或数据。一种解决方案是将程序重新下载到附加的计算机。然而,这会消耗宝贵的网络带宽和时间。此外,在家中或办公室计算机上生成的应用特定的数据在远离他们的家庭或办公室的计算机上不可用。
发明内容
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题内容的关键特征或必要特征,也不旨在被用来限制所要求保护的主题内容的范围。
本文描述了各种方法,包括一种包括将应用安装在便携式存储设备上。在应用的执行期间获得的应用的状态信息被存储到便携式存储设备。使用至少一个第一密码密钥对应用和状态信息进行加密。便携式存储设备可以与另一计算设备耦合,以使得应用能够基于状态信息在便携式存储设备上被执行,而无需将应用安装到计算设备的存储装置。
本文还描述了计算设备中的系统,包括一种包括应用安装器、状态管理器和加密模块的系统。应用安装器被配置成将应用安装在便携式存储设备上。状态管理器被配置成将在应用的执行期间获得的应用的状态信息存储到便携式存储设备。加密模块被配置成使用至少一个第一密码密钥来加密应用和状态信息。便携式存储设备可以与另一计算设备耦合,以使得应用能够基于状态信息在便携式存储设备上被执行,而无需将应用安装到计算设备的存储装置。
根据另一种方法,确定与计算设备耦合的便携式存储设备存储被配置在便携式存储设备上、用于在计算设备上执行而无需安装在计算设备上的应用。响应于该确定,向计算设备的用户显示针对应用的用户可选择的应用标识符。对选择了用户可选择的应用标识符的用户进行检测。响应于该检测,确定应用与用户是否相关联。响应于应用与用户相关联的确定,应用被支持用于在计算设备上执行。
根据另外的系统,该另外的系统包括应用检测器、用户界面、应用关联模块和应用执行使能器。应用检测器被配置成确定与计算设备耦合的便携式存储设备存储被配置在便携式存储装置上的应用,以用于在计算设备上执行而无需安装在计算设备上。用户界面被配置成响应于便携式存储设备存储应用的确定,向计算设备的用户显示针对应用的用户可选择的应用标识符。用户界面还被配置成检测用户已经选择了用户可选择的应用标识符。应用关联模块被配置成响应于应用与用户相关联的确定,支持应用用于在计算设备上执行而无需安装在计算设备上。
下面参考附图详细描述本发明的其他特征和优点,以及本发明的各种示例的结构和操作。注意,本发明不限于本文所述的特定示例。这些示例仅出于说明性目的而在本文中被呈现。基于本文所包含的教导,附加的示例对于本领域技术人员将是明显的。
附图说明
并入本文并形成说明书的一部分的附图图示了本申请的示例,并且与描述一起进一步用以解释示例的原理并使本领域技术人员能够制作和使用示例。
图1A示出了根据示例的使用户能够将应用安装到便携式存储设备的系统的框图。
图1B示出了根据示例的包括被耦合到第二计算设备的便携式存储设备的系统的框图。
图2描绘了根据示例的用于将应用安装在便携式存储设备上的方法的流程图。
图3示出了根据示例的被耦合到其中安装了应用的便携式存储设备的计算设备的框图。
图4描绘了根据示例的用于将(多个)应用安装文件安装在便携式存储设备上的方法的流程图。
图5示出了根据示例的被耦合到其中安装了应用安装文件的便携式存储设备的计算设备的框图。
图6描绘了根据示例的用于使用被安装在便携式存储设备上的应用的方法的流程图。
图7是根据示例的被耦合到便携式存储设备的计算设备的框图,从该便携式存储设备使用被安装在其上的应用。
图8示出了根据示例的用户界面的示例视图,其中窗口显示针对被安装在便携式存储设备上的(多个)应用的(多个)应用标识符。
图9A示出了根据示例的用户界面的示例视图,其中(多个)应用标识符与针对被安装在计算设备上的(多个)应用的(多个)应用标识符的列表集成在一起。
图9B示出了根据示例的用户界面的示例视图,其中以指示由应用标识符标识的应用被支持用于执行的方式显示应用标识符。
图10示出了根据示例的用户界面的示例视图,其中应用标识符已经被移动到第二部分。
图11描绘了根据示例的用于在没有安装在计算设备上的情况下支持应用的方法的流程图。
图12是根据示例的被耦合到便携式存储设备的计算设备的框图,其中被安装在便携式存储设备上的应用被支持。
图13描绘了根据示例的用于确定应用与特定用户是否相关联的方法的流程图。
图14是根据示例的被耦合到便携式存储设备的计算设备的框图,其中确定被安装在便携式存储设备上的应用与特定用户相关联。
图15描绘了根据另一示例的用于支持应用的方法的流程图。
图16是根据另一示例的被耦合到便携式存储设备的计算设备的框图,其中被安装在便携式存储设备上的应用被支持。
图17描绘了根据另外的示例的用于支持应用的方法的流程图。
图18是根据另外的示例的被耦合到便携式存储设备的计算设备的框图,其中被安装在便携式存储设备上的应用被支持。
图19是可以被用来实现各种示例的示例移动设备的框图。
图20是可以被用来实现各种示例的示例基于处理器的计算机系统的框图。
根据下面结合附图阐述的详细描述,本发明的特征和优点将变得更加明显,其中相同的附图标记始终标识对应的元件。在附图中,相同的附图标记通常指示相同的、功能相似的和/或结构相似的元件。元件首次出现的图由对应的附图标记中最左边的(多个)数字指示。
具体实施方式
I.导言
本说明书和附图公开了包含本发明的特征的一个或多个示例。本发明的范围不限于所公开的示例。所公开的示例仅仅例示了本发明,并且所公开的示例的修改版本也被本发明涵盖。本发明的示例由所附权利要求限定。
说明书中对“一个示例”、“示例”等的引用指示所描述的示例可以包括特定特征、结构或特性,但是每一个示例可以不必包括特定特征、结构、或特性。而且,这些短语不一定指代相同的示例。另外,当结合示例描述特定特征、结构或特性时,要提出的是:结合其他示例(无论是否明确描述)实现这种特征、结构或特性在本领域技术人员的知识内。
下面描述了很多示例性示例。应当注意,本文中提供的任何部分/子部分标题不旨在限制。贯穿本文档描述了示例,并且任何类型的示例可以被包括在任何部分/子部分下面。此外,在任何部分/子部分中公开的示例可以以任何方式与在相同部分/子部分和/或不同部分/子部分中描述的任何其他示例组合。
II.示例性示例
本文描述的示例使得一个或多个软件应用(也称为“应用”或“app”)能够被安装到便携式存储设备上并由被耦合到该便携式存储设备的第一计算设备执行,而不必将(多个)应用安装到第一计算设备上。当正在执行(多个)应用时,可以维持与(多个)应用相关联的状态信息并且还将其存储在便携式存储设备上。当便携式存储设备从第一计算设备去耦合并且被耦合到第二计算设备时,被安装在便携式存储设备上的(多个)应用可以从用户停止在第一计算设备上使用该(多个)应用的点继续执行,而不必将(多个)应用安装在第二计算设备上。
无论被用来执行被安装在便携式存储设备上的(多个)应用的计算设备的类型如何,都可以实现前述内容。例如,第一计算设备可以是台式计算机,并且第二计算设备可以是智能电话或平板电脑。为了解决第一计算设备和第二计算设备之间潜在的兼容问题,可以下载和/或安装附加组件,其使得(多个)应用能够在第二计算设备上正确地执行。附加组件可以为(多个)应用提供附加资源和/或功能性,诸如附加语言功能性、图形功能性、硬件架构功能性等。
例如,假设用户正在诸如平板电脑或智能电话的移动设备上玩视频游戏。然而,用户对较小的屏幕尺寸感到沮丧并且决定她想要在她的台式计算机上玩视频游戏。用户将只需从移动设备中移除便携式存储设备并将其耦合到台式计算机。可以下载附加组件以支持由台式计算机支持的增强的图形功能性和/或硬件架构。在安装了附加组件之后,用户就可以从她停止在移动设备上玩游戏的点继续玩视频游戏。
根据示例,被安装在便携式存储设备上的(多个)应用是通用Windows平台(UWP)应用,其是执行相同的操作系统的平台同构应用(即,可以在任何设备(例如,计算机、平板电脑、智能电话等)上被执行的应用)。根据这种示例,(多个)附加组件可以是从应用商店(例如,由微软公司提供的Windows StoreTM、由苹果公司提供的App StoreTM、由谷歌公司提供的Google Play StoreTM等)下载的“资源包”。在其他示例中,被安装在便携式存储设备上的(多个)应用可以是其他类型的应用。
在第二计算设备要求在其上待安装的(多个)应用被执行的情况下,便携式存储设备可以进一步存储被用来将(多个)应用安装到第二计算设备上的一个或多个应用安装文件。
相应地,本文描述的示例有利地允许用户以简单且有效的方式继续使用来自任何计算设备并且跨计算设备的应用,而不必在每个计算设备上下载和/或安装应用。此外,通过简单地要求下载某些组件(而不是整个应用)和/或将(多个)应用安装文件存储在便携式计算设备上,网络带宽(其通常是从下载这些组件和(多个)安装文件中被消耗的)被保留。注意,虽然不需要安装应用(例如,与应用相关联的文件不需要被复制和/或位于计算设备上,而是可以在便携式存储设备上被访问),但可以执行一个或多个附加步骤以使得计算设备执行应用。例如,计算设备可以执行在计算设备上注册应用的注册过程,其可以使计算设备能够访问和/或执行应用。
例如,图1A示出了根据示例的使用户能够将应用安装到便携式存储设备104的系统100A的框图。如图1A中所示,系统100A包括第一计算设备102和便携式存储设备104,其被耦合到第一计算设备102。计算设备102的示例包括但不限于任何类型的固定或移动计算设备,包括设备、个人数字助理(PDA)、膝上型计算机、笔记本计算机、平板计算机(诸如Apple iPadTM)、上网本、移动电话(例如智能电话,诸如Apple)、可穿戴计算设备,或其他类型的移动设备,或者诸如台式计算机或PC(个人计算机)的固定计算设备。便携式存储设备104的示例包括但不限于外部硬盘驱动器、存储器卡(例如,安全数字(SD)卡、紧凑型闪存卡等)、基于通用串行总线(USB)的记忆棒或拇指驱动器等。
计算设备102包括主(或“主要的”)存储器106。主存储器106包括由第一计算设备102的一个或多个处理器(图1中未示出)可访问的一个或多个物理硬件存储器设备。主存储器106的示例包括随机存取存储器(RAM)(例如,动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率RAM(DDRRAM)等)。
如图1A中所示,主存储器106存储操作系统108。操作系统108可以管理一个或多个硬件组件(例如,主存储器106、(多个)处理器等)以及在计算设备102上执行的一个或多个软件应用。操作系统110的示例包括但不限于Microsoft Windows GoogleApple等。下面参考图19和图20详细描述第一计算设备102的(多个)示例硬件组件。
操作系统108可以具有一个或多个组件,其执行与将软件安装在被耦合到第一计算设备102的存储器或设备中有关的任务。一个这种组件是便携式应用安装器110。便携式应用安装器110被配置成将应用112安装到便携式存储设备104上。应用112可以由第一计算设备102的处理器(图1中未示出)执行,而不必被安装在第一计算设备上。当正在执行应用112时,可以维持与应用112相关联的应用状态信息114并将其存储在便携式存储设备104上。应用状态信息114可以指示应用112的操作的状态。应用状态信息114可以包括但不限于应用设置、视频游戏得分、程序变量、经由应用112生成的内容和/或指示应用112的操作的状态的任何其他信息。根据示例,应用112是UWP应用或其他类型的应用。注意,尽管图1A示出了在便携式存储设备104上仅安装了单个应用(即,应用112),但可以在便携式存储设备104上安装任何数目的应用。
根据示例,便携式应用安装器110还被配置成加密应用112和/或应用状态信息114。便携式应用安装器110可以被配置成使用用户特定的一个或多个密码密钥来执行加密。例如,(多个)密码密钥可以与关联于用户的用户标识(ID)相关联,用户使用该用户标识来登录第一计算设备102和/或其他计算设备。根据示例,一个密码密钥被用来加密应用112和应用状态信息114两者。根据另一示例,一个密码密钥被用来加密应用112,并且另一密码密钥被用来加密应用状态信息114。用户ID的示例包括但不限于Microsoft帐户ID(也称为MSA ID),其使用户能够使用单个ID来登录网站(例如,Outlook.)、设备(计算机、平板电脑、智能电话等)和/或应用(例如,Visual)。便携式应用安装器110可以包括加密模块(如下面进一步详细描述的),其被配置成根据本领域技术人员已知的任何加密技术或算法来加密应用112和/或应用状态信息114,加密技术或算法包括:私钥加密技术或公钥加密技术(例如,PGP(相当好的隐私性)等)、内容加扰系统(CSS)、高级加密标准(AES)或其他加密算法。尽管提到了加密技术的几个示例,但是提供这些示例是出于说明的目的而不旨在限制。
通过将应用112和应用状态信息114存储在便携式存储设备104上,使用户能够将便携式存储设备112耦合到任何计算设备、启动应用112并从用户停止在第一计算设备102上使用应用的点(程序状态)继续使用应用112。
便携式应用安装器110还可以被配置成存储被用来将应用112安装到便携式存储设备104上的一个或多个应用安装文件116。(多个)应用安装文件116的示例包括但不限于安装器包(例如,.msi文件),其包含关于安装应用112的指令、使安装过程启动的安装文件(例如,setup.exe文件)、一个或多个库文件(例如,动态链接库(DLL)文件)、配置/描述文件(例如,.ini文件),和/或安装应用112所需的任何其他(多个)文件。
通过将(多个)应用安装文件116存储在便携式存储设备104上,使用户能够将便携式存储设备104耦合到与用户不相关联的计算设备(例如,另一用户的设备或用户使用用户ID不能登录的设备),并且能够将应用112安装到其他计算设备上,而不必从诸如应用商店的远程数据存储库下载(多个)应用安装文件116。
根据示例,仅在用户具有在其他计算设备上安装和/或执行应用112的许可的情况下,应用112才被安装。根据这种示例,便携式应用安装器110被配置成加密(多个)应用安装文件116。便携式应用安装器110可以被配置成使用与针对应用112的有效许可相关联的密码密钥来执行加密。例如,在获得在另一计算设备上安装和/或执行应用112的许可之后,可以向其他计算设备提供被用来解密(多个)应用安装文件116的密码密钥,从而使得能够在其他计算设备上安装应用112。
图1B示出了根据示例的系统100B的框图,该系统100B包括被耦合到第二计算设备118的便携式存储设备104,第二计算设备118与第一计算设备102不同。第二计算设备118包括主存储器120,其存储操作系统124。主存储器120和操作系统124是如参考图1A所描述的主存储器106和操作系统108的示例。第二计算设备118的示例包括但不限于台式计算机、智能电话、个人数字助理(PDA)、平板电脑、膝上型电脑、本文其他地方提到的其他类型的计算设备等。
操作系统122可以具有执行与第二计算设备118上的软件的加载和/或执行有关的任务的一个或多个组件。一个这种组件是便携式应用加载器124。在将便携式存储设备104耦合(例如,插入、附接等)到第二计算设备118时(在与图1A的第一计算设备102断开连接之后),便携式应用加载器124可以被配置成检测便携式存储设备104和/或确定一个或多个应用(例如,应用112)是否被安装在其上。便携式应用加载器124还可以被配置成确定第二计算设备118是否与第一计算设备102的用户或不同的用户相关联。便携式应用加载器124还可以被配置成确定是否必须取回和/或安装应用112的附加组件,以便应用112在第二计算设备118上正确地执行。(多个)附加组件可以包括一个或多个资源包,例如语言资源包、图形资源包、用户界面资源包、架构特定的资源包等。语言资源包可以为应用112提供对一种或多种附加语言的支持。图形资源包可以包括可以取决于第二计算设备118的一个或多个图形处理单元(GPU)的水平或世代的资源和/或着色器应用资产。用户界面资源包可以包括对话框和/或其他用户界面元素资产,其可以基于被耦合到第二计算设备118和/或与第二计算设备118集成的显示设备的显示分辨率而被配置。架构特定的资源包可以包括依赖于第二计算设备118的处理器(未示出)的架构(例如,x86、架构、32位、64位等)的应用二进制文件和/或可执行文件。
在确定(多个)应用被安装在便携式存储设备104上之后,便携式应用加载器124可以使得针对被安装在便携式存储设备104上的(多个)应用中的每个应用的一个或多个用户可选择的应用标识符被显示给用户(例如,经由呈现给被耦合到第二计算设备118或与第二计算设备118集成的显示设备的图形用户界面(GUI))。GUI还可以向用户显示指示是否必须取回和/或安装(多个)附加组件、和/或第二计算设备118上是否要求在第二计算设备118上安装应用112(例如,由于第二计算设备118与不同的用户相关联)的(多个)指示符。
当确定第二计算设备118与用户相关联时,和/或响应于用户激活标识应用112的用户可选择的应用标识符(例如,通过在触摸屏上触摸应用标识符、用鼠标指向并点击应用标识符等等),便携式应用加载器124可以取回应用状态信息114并基于应用状态信息114执行应用112,从而使用户能够从用户在第一计算设备102上停止使用应用112的点继续使用应用112。根据应用112和/或应用状态信息114被加密的示例,便携式应用加载器124可以获得(多个)用户特定的密码密钥,并且基于(多个)用户特定密码密钥来解密应用112和/或应用状态信息114。(多个)用户特定的密码密钥可以被存储在便携式存储设备104中以及从中取回。备选地,(多个)用户特定的密码密钥可以被存储在远程数据源(例如,应用商店、软件许可服务器等)中以及从中取回。便携式应用加载器124可以包括解密模块,其被配置成解密根据本文其他地方提到的或以其他方式已知的任何加密方案加密的应用112和/或应用状态信息114。
当确定需要附加组件时,便携式应用加载器124可以从远离第二计算设备118的远程数据源(例如,应用商店)取回附加组件,安装附加组件,并且根据附加组件来执行应用112。
响应于确定第二计算设备118与用户不相关联,便携式应用加载器124可以从便携式存储设备104取回(多个)应用安装文件116并使用(多个)应用安装文件116将应用112安装到第二计算设备118上。在需要许可来安装和/或执行应用112的情况下,便携式应用加载器124可以请求用户接受安装,可以提示用户购买许可,并且可以在许可被购买之后开始安装应用112。根据(多个)应用安装文件116被加密的示例,便携式应用加载器124可以在用户已经购买许可之后获得许可特定的密码密钥,并且基于该基于许可的密码密钥来解密(多个)应用安装文件116。基于许可的密码密钥可以被存储在便携式存储设备104中以及从中取回。备选地,许可特定的密码密钥可以被存储在远程数据源(例如,应用商店、软件许可服务器等)中以及从中取回。
相应地,在示例中,应用可以以许多方式被安装在便携式存储设备上。例如,图2描绘了根据示例的用于将应用安装在便携式存储设备上的方法的流程图200。在示例中,流程图200可以由图3中所示的计算设备302实现。图3是根据示例的被耦合到便携式存储设备304的计算设备302的框图300。计算设备302是第一计算设备102的示例,并且便携式存储设备304是便携式存储设备104的示例,如上面参考图1A所描述的。如图3中所示,计算设备302包括便携式应用安装器310。便携式应用安装器310是如图1中所示的便携式应用安装器110的示例。如图3中进一步所示,便携式应用安装器310包括安装器模块306、加密模块308和状态管理器320。基于关于流程图200和框图300的以下讨论,其他结构性和操作性示例对于本领域技术人员将是明显的。
流程图200从步骤202开始。在步骤202中,应用被安装在便携式存储设备上。例如,参考图3,安装器模块306可以从远程数据存储库318(例如,应用商店)取回(例如,下载)(多个)应用安装文件并执行(多个)应用安装文件,这使应用被安装到由用户指定的位置。在图3中所示的示例中,用户已经指定便携式存储设备304作为安装应用(例如,应用312)的位置。应用312是应用112的示例,如上面参考图1所描述的。
在步骤204处,在应用的执行期间获得的应用的状态信息被存储到便携式存储设备。例如,参考图3,状态管理器320可以将应用312的应用状态信息314存储在便携式存储设备304上。可以在应用312的执行(例如,由计算设备302的处理器(未示出))期间获得应用状态信息314。应用状态信息314可以指示应用312的操作的状态。应用状态信息314可以包括但不限于应用设置、视频游戏得分、变量值、经由应用312生成的内容和/或指示应用312的操作的状态的任何其他信息。
在步骤206处,使用至少一个第一密码密钥来对应用和状态信息进行加密。例如,参考图3,加密模块308可以加密应用312和应用状态信息314,或者可以发送命令305,该命令305使得使用第一密码密钥322对应用312和应用状态信息314进行加密。
根据一个或多个示例,第一密码密钥322是用户特定的密码密钥。例如,第一密码密钥322可以与关联于用户的用户ID相关联,用户使用该用户ID来登录第一计算设备302和/或其他设备、网站和/或应用。这种用户ID的示例是Microsoft帐户ID(也称为MSA ID),其使用户能够使用单个ID登录到网站(例如,Outlook.)、设备(计算机、平板电脑、智能电话等)和/或应用(例如,)。通过这样做,可以在使用户能够使用相同用户ID登录的其他计算设备(例如,计算设备118,如图1B所示)上解密和利用应用312和应用状态信息314。
根据一个或多个示例,便携式应用安装器310可以进一步被配置成将(多个)应用安装文件存储到便携式存储设备104上。(多个)应用安装文件可以被用来将应用312安装到另一计算设备上。例如,图4描绘了根据示例的用于将(多个)应用安装文件安装在便携式存储设备上的方法的流程图400。流程图400的方法可以由图5中所示的计算设备302实现。图5是根据示例的被耦合到便携式存储设备304(如上面参考图3所述)的计算设备302(也如上面参考图3所述)的框图500。基于关于流程图400和框图500的以下讨论,其他结构性和操作性示例对于本领域技术人员将是明显的。
流程图400从步骤402开始。在步骤402中,被用来将应用安装在计算设备上的安装文件被存储在便携式存储设备上。例如,参考图5,安装器模块306可以将(多个)应用安装文件(例如,从远程数据存储库318取回)存储到由用户指定的位置。在图4所示的示例中,用户已经指定便携式存储设备304作为用于存储(多个)应用安装文件(例如,(多个)应用安装文件516)的位置。(多个)应用安装文件516是(多个)应用安装文件116的示例,如上面参考图1A和图1B所描述的。
在步骤404处,使用第二密码密钥对安装文件进行加密。例如,参考图5,加密模块308可以加密(多个)应用安装文件516,或者可以发送命令501,该命令501使得使用第二密码密钥502对(多个)应用安装文件516进行加密。
根据一个或多个示例,第二密码密钥502是许可特定的密码密钥。例如,第二密码密钥502可以与用于应用312的有效许可相关联。通过这样做,可以在其他计算设备上解密和利用(多个)应用安装文件516,只要获得用于应用312的有效许可即可。
如上所述,被安装在便携式存储设备上的应用可以在不同的计算设备上被使用,而不需要在那些设备上安装。例如,图6描绘了根据示例的用于使用被安装在便携式存储设备上的应用的方法的流程图600。流程图600的方法可以由图7中的计算设备718实现。图7是根据示例的被耦合到便携式存储设备704的计算设备718的框图700。计算设备718是如图1B中所示的第二计算设备118的示例,并且便携式存储设备704是如图5中所示的便携式存储设备304的示例。如图7中所示,计算设备718包括便携式应用加载器724。便携式应用加载器724是如图1B中所示的便携式应用加载器124的示例。如图7中进一步所示,便携式应用加载器724包括应用检测器702、用户界面706、应用执行使能器708、应用关联模块711和应用安装器717。便携式存储设备704上存储有应用712、应用状态信息714和(多个)应用安装文件716。应用712、应用状态信息714和(多个)应用安装文件716是如上面分别参考图3和图5描述的应用312、应用状态信息314和(多个)应用安装文件516的示例。基于关于流程图600和框图700的以下讨论,其他结构性和操作性示例对于本领域技术人员将是明显的。
流程图600从步骤602开始。在步骤602中,确定与计算设备耦合的便携式存储设备存储被配置在便携式存储设备上的、用于在计算设备上执行而无需安装在计算设备上的应用。例如,参考图7,在便携式存储设备704被耦合到计算设备718之后,应用检测器702可以将读取命令701发送到便携式存储设备704。响应于读取命令701,便携式存储设备704可以提供读取数据703,读取数据703包括针对被安装在便携式存储设备704上的每个应用(例如,应用712)的应用标识符。基于读取数据703中所包括的标识符,应用检测器702可以确定便携式存储设备704存储被配置在便携式存储设备704上的、用于在计算设备718上执行而无需安装在计算设备718上的(多个)应用。所确定的(多个)应用标识符(例如,应用标识符705)被提供给用户界面706。
在步骤604处,响应于步骤702的确定,向计算设备的用户显示针对应用的用户可选择的应用标识符。例如,参考图7,用户界面706显示从应用检测器702接收的应用标识符705。
根据示例,经由窗口示出应用标识符705,该窗口响应于接收到读取数据703而被显示给用户。通过示例,图8示出了根据示例的用户界面706的示例视图,其中窗口802显示针对被安装在便携式存储设备(例如,便携式存储设备704)上的(多个)应用(例如,应用712)的一个或多个应用标识符804、806和808。在图8所示的示例中,在便携式存储设备704上安装三个应用,其中第一应用标识符804标识第一应用(“记事本2.0”),第二应用标识符806标识第二应用(“远程终端”),并且第三应用标识符808标识第三应用(“Visio”)。
根据另一示例,应用标识符705与针对被安装在计算设备718上的(多个)应用的(多个)应用标识符的列表集成在一起。通过示例,图9A示出了用户界面706的示例视图,其中(多个)应用标识符被集成到针对被安装在计算设备718上的(多个)应用的(多个)应用标识符以及针对被安装在便携式存储设备704上的(多个)应用的(多个)应用标识符的列表902中。响应于检测到使列表902被显示的来自用户的输入(例如,激活MicrosoftOS的“开始”按钮),可以显示图9A的列表902。
如图9A中所示,列表902包括第一部分904和第二部分906。第一部分904显示针对被安装在便携式存储设备704上的应用的应用标识符910、912和914,并且第二部分906显示针对被安装在计算设备718上的应用的应用标识符916、918、920和922。应用标识符910、912和914中的每个应用标识符都是用户可选择的,当其被激活时(例如,通过在触摸屏上触摸应用标识符、利用鼠标指向并点击应用标识符等),启动由所选择的应用标识符标识的应用。如图9A中所示,应用标识符910、912和914中的每个应用标识符最初可以以与应用标识符916、918、920和922不同的方式被显示。例如,应用标识符910、912和814可以被灰化或者利用不同的颜色方案(例如,灰度)示出,直到对应的应用被支持以用于执行。下面参考步骤608和图10、图11和图15-图18来描述关于应用如何被支持以用于执行的附加细节。
再次参见图6,在步骤606处,检测到用户已经选择了用户可选择的应用标识符。例如,参考图7,用户界面706可以检测用户输入707,该用户输入707指示用户选择用户可选择的应用标识符(例如,通过在触摸屏上触摸应用标识符、利用鼠标指向并点击应用标识符等)。用户输入707可以包括选择应用标识符804、806或808中的一个(如图8中所示),或者选择应用标识符910、912或914中的一个(如图9A中所示)。
在步骤608处,响应于在步骤606处的检测,确定应用与用户是否相关联。例如,参考图7,应用关联模块711可以从用户界面706接收指示符709,其指示用户已经选择了特定应用标识符。应用关联模块711可以确定应用与用户是否相关联。响应于确定应用与用户相关联,流程继续到步骤610。
在步骤610处,应用被支持以用于在计算设备上执行而无需安装在计算设备上。例如,参考图7,应用执行使能器708可以从应用关联模块711接收指示符713,其指示用户与应用相关联并且支持应用712以用于在计算设备718上执行,而无需安装在计算设备718上。应用执行使能器708可以支持由用户在步骤606中选择的特定应用标识符所标识的应用(例如,应用712)。
在所选择的应用已经被支持以用于在计算设备718上执行之后,可以以指示所选择的应用被支持以用于执行的方式,显示与所选择的应用相对应的应用标识符。通过示例,图9B示出了根据示例的用户界面706的示例视图,其中以指示由应用标识符标识的应用被支持以用于执行的方式来显示应用标识符。在图9B所示的示例中,记事本2.0应用被支持以用于执行,并且因此,其对应的应用标识符(即,应用标识符910)不再被灰化。
注意,显示(多个)应用标识符的方式不限于上面参考图8、图9A和图9B描述的技术,并且可以以任何方式将(多个)应用标识符显示和呈现给用户。
根据一个或多个示例,响应于确定应用与用户不相关联,使用户能够将应用安装在计算设备上。例如,参考图7,应用关联模块711可以向应用安装器717提供指示符715,其指示应用712与用户不相关联。作为响应,应用安装器717可以使用户界面706向用户显示使用户能够将应用712安装到计算设备718上的选项。响应于用户选择该选项,应用安装器717可以从便携式存储设备704取回(多个)应用安装文件716,并且使用(多个)应用安装文件716将应用712安装到计算设备718上,从而使应用712能够被执行。
在使用集成列表来显示(多个)应用标识符的示例中(如上面参考图9A和图9B所述),可以将与被安装在计算设备718上的应用相对应的应用标识符移动到第二部分,以指示被安装在便携式存储设备704上的应用现在被安装在计算设备718上。例如,图10示出了根据示例的用户界面706的示例视图,其中响应于由应用标识符910标识的应用(即,记事本2.0)被安装在计算设备718上,应用标识符910已经被移动到第二部分906。在图10所示的示例中,在记事本2.0被安装在计算设备718上之后,应用标识符910(其先前被显示在第一部分904中,如图9A和图9B中所示)现在被显示在第二部分906中,并且不再被显示在第一部分904中。
在示例中,可以以许多方式支持应用以用于执行而无需安装在计算设备上。例如,图11描绘了根据示例的用于在没有安装在计算设备上的情况下支持应用的方法的流程图1100。在示例中,流程图1100可以由图12中的计算设备1218实现。图12是根据示例的被耦合到便携式存储设备1204的计算设备1218的框图1200。计算设备1218是第二计算设备718的示例,并且便携式存储设备1204是便携式存储设备704的示例,如上面参考图7所描述的。如图12所示,计算设备1218包括应用执行使能器1208。应用执行使能器1208是如图7中所示的应用执行使能器708的示例。如图12中进一步所示,应用执行使能器1208包括状态管理器1210和应用执行模块1220。便携式存储设备1204上存储有应用1212、应用状态信息1214和(多个)应用安装文件1216。应用1212、应用状态信息和(多个)应用安装文件1216是应用712、应用状态信息714和(多个)应用安装文件716的示例,如上面参考图7所描述的。基于关于流程图1100和框图1200的以下讨论,其他结构性和操作性示例对于本领域技术人员将是明显的。
流程图1100从步骤1102开始。在步骤1102中,从便携式存储设备取回与所选择的应用相关联的状态信息。例如,参考图12,状态管理器1210指示应用1212与用户相关联。作为响应,状态管理器1210可以从便携式存储设备1204取回应用状态信息1214。
在步骤1104处,基于所取回的状态信息执行所选择的应用,而无需安装在计算设备上。例如,参考图12,状态管理器1210将所取回的状态信息1205提供给应用执行模块1220,并且应用执行模块1220可以基于所取回的状态信息1205执行应用1212。通过这样做,用户能够从用户停止在另一计算设备(例如,计算设备302,如上面参考图3所描述的)上使用应用1212的点继续执行应用1212。
在示例中,应用关联模块711(如上面参考图7所述)可以以许多方式确定应用(例如,应用712或应用1212)与用户是否相关联。例如,图13描绘了根据示例的用于确定应用与用户是否相关联的方法的流程图1300。流程图1300的方法可以由图14中的计算设备718实现。图14是根据示例的系统1400的框图,系统1400包括被耦合到便携式存储设备704(如上面参考图7所述)的计算设备718。基于关于流程图1300和系统1400的以下讨论,其他结构性和操作性示例对于本领域技术人员将是明显的。
流程图1300从步骤1302开始。在步骤1302处,将用以登录计算设备的第一用户标识符与关联于应用的第二用户标识符进行比较。例如,参考图14,便携式存储设备704可以存储与应用712相关联的用户ID 1402。例如,ID 1402可以是用户用来登录其上执行应用712的另一计算设备的ID。应用关联模块711可以取回ID 1402,并且将其与用户用来登录计算设备718的用户ID 1404进行比较。
在步骤1304处,当第一用户标识符与第二用户标识符匹配时,确定应用与用户相关联。例如,参考图14,当ID 1402和ID 1404匹配时,应用关联模块711可以确定应用712与用户相关联。作为响应,应用执行使能器708可以支持应用712以用于执行(例如,通过应用执行模块1220,如上面参考图12所描述的),而无需安装在计算设备718上。例如,在用户激活标识应用712的用户可选择的应用标识符时,应用执行模块1220可以执行应用712。
在步骤1306处,当第一用户标识符和第二用户标识符不匹配时,确定应用与用户不相关联。例如,参考图14,当ID 1402和ID 1404不匹配时,应用关联模块711可以确定应用712与用户不相关联。作为响应,应用执行使能器708可能需要将应用712安装到计算设备718上。
图15描绘了根据另一示例的用于支持应用的方法的流程图1500。流程图1500的方法可以由图16中的计算设备1618实现。图16是根据示例的被耦合到便携式存储设备1604的计算设备1618的框图1600。计算设备1618是计算设备718的示例,并且便携式存储设备1604是便携式存储设备704的示例,如上面参考图14所描述的。如图16中所示,计算设备1618包括应用执行使能器1608。应用执行使能器1608是如图14中所示的应用执行使能器708的示例。如图16中进一步所示,应用执行使能器1608包括部署管理器1602和应用执行模块1620。应用执行模块1620是如图12中所示的应用执行模块1220的示例。便携式存储设备1604上存储有应用1612、应用状态信息1614和(多个)应用安装文件1616。应用1612、应用状态信息1614和(多个)应用安装文件1616是应用712、应用状态信息714和(多个)应用安装文件716的示例,如上面参考图14所描述的。基于关于流程图1500和框图1600的以下讨论,其他结构性和操作性示例对于本领域技术人员将是明显的。
流程图1500从步骤1502开始。在步骤1502中,确定需要资源包以在计算设备上执行应用。例如,计算设备1618可能与应用1612不完全兼容。例如,计算设备1618可以具有与在其上执行应用1612的另一计算设备(例如,如图5中所示的计算设备302)不同的处理架构,并且因此,可能需要包括使得应用1612能够在计算设备上执行的资源的资源包。在另一示例中,计算设备1618可以被耦合到具有与被耦合到其他计算设备的屏幕不同大小的屏幕,和/或计算设备1618可以相比于其他计算设备兼容不同分辨率。因此,可能需要包括用户界面元素资产(例如,图像、对话框和/或其他用户界面元素资产)的资源包。在又一示例中,计算设备1608可以被配置成以与用于其他计算设备的语言不同的语言来显示文本。因此,可能需要为应用1612提供对(多种)附加语言的支持的资源包。
参考图16,部署管理器1602可以确定需要资源包来在计算设备1618上执行应用1612。部署管理器1602可以以各种方式进行该确定,包括基于应用1612的参数、由应用1612做出的系统请求等。
在步骤1606处,从远程数据存储库1606取回资源包。例如,参考图16,部署管理器1602可以从远程数据存储库1606取回资源包1601并将资源包1601提供给应用执行模块1620。远程数据存储库1606的示例包括由微软公司提供的Windows StoreTM、由苹果公司提供的App StoreTM、由谷歌公司提供的Google Play StoreTM等。
在步骤1506处,基于资源包执行应用。例如,参考图16,应用执行模块1620可以基于资源包1601执行应用1612。例如,可以安装资源包1601(例如,在便携式存储设备1604和/或计算设备1618上),从而扩展应用1612的功能性,并且相应地执行应用1612。
图17描绘了根据另外的示例的用于支持应用的方法的流程图1700。在示例中,流程图1700可以由图18中的计算设备1818实现。图18是根据示例的被耦合到便携式存储设备1804的计算设备1818的框图1800。计算设备1818是计算设备1616的示例,并且便携式存储设备1804便携式存储设备1606的示例,如上面参考图16所分别描述的。如图18中所示,计算设备1818包括应用执行使能器1808。应用执行使能器1808是如图16中所示的应用执行使能器1608的示例。如图18中进一步所示,应用执行使能器1808包括解密模块1802和用户界面1806。用户界面1806是如图7中所示的用户界面706的示例。便携式存储设备1804上存储有应用1812、应用状态信息1814和(多个)应用安装文件1816。应用1812、应用状态信息1814和(多个)应用安装文件1816是应用1612、应用状态信息1614和应用安装文件1616的示例,如上面参考图16所描述的。基于关于流程图1700和框图1800的以下讨论,其他结构性和操作性示例对于本领域技术人员将是明显的。
流程图1700从步骤1702开始。在步骤1702处,确定应用被加密。例如,参考图18,解密模块1802确定应用1812被加密。
在步骤1704处,确定用户是否具有用以执行应用的许可。例如,参考图18,解密模块1802确定用户是否具有用以执行应用1812的许可。例如,解密模块1802可以在计算设备1818中搜索与应用1812相关联的许可和/或可以与远程定位的数据存储库(例如,如上面参考图16所描述的远程数据存储库1606、软件许可服务器等)通信并确定用户是否具有与应用1812相关联的许可。响应于确定用户没有许可,流程继续到步骤1706。否则,流程继续到步骤1708。
在步骤1706处,提示用户购买许可,并且在已经购买许可之后取回密码密钥。例如,参考图18,解密模块1802可以向用户界面1806提供指示用户没有许可的指示1801。作为响应,用户界面1806可以向用户显示指示用户必须购买许可的提示和/或可以进一步提供用于用户购买许可的选项。
在步骤1708处,密码密钥被取回,并使用密码密钥对加密的应用进行解密。例如,参考图18,解密模块1802取回密码密钥。如图18中所示,密码密钥(例如,密码密钥1810)被存储在便携式存储设备1804上,并且解密模块1802从便携式存储设备1804取回密码密钥1810。备选地,密码密钥可以被存储在远程数据源(例如,如图16中所示的远程数据存储库1606)上,并且解密模块1802可以从远程数据源取回密码密钥。
III.示例移动和固定设备
第一计算设备102、操作系统108、便携式应用安装器110、第二计算设备118、操作系统122、便携式应用加载器124、便携式存储设备304、安装器模块306、加密模块308、便携式应用安装器310、状态管理器320、应用检测器702、用户界面706、应用执行使能器708、应用关联模块711、应用安装器717、便携式应用加载器724、应用执行使能器1208、状态管理器1210、应用执行模块1220、部署管理器1602、应用执行使能器1608、应用执行模块1620、解密模块1802、用户界面1806、应用执行使能器1808、流程图200、流程图400、流程图600、流程图1000、流程图1300、流程图1500和/或流程图1700可以以硬件,或者硬件与软件和/或固件的任何组合来实现,包括被实现成计算机程序代码(其被配置成在一个或多个处理器中被执行并被存储在计算机可读存储介质中),或者被实现成硬件逻辑/电路装置(诸如在片上系统(SoC)中一起被实现)。SoC可以包括集成电路芯片,其包括用以执行其功能的处理器(例如,微控制器、微处理器、数字信号处理器(DSP)等)、存储器、一个或多个通信接口,和/或其他电路和/或嵌入式固件中的一个或多个。
图19是可以实现本文中描述的示例的示例性移动设备1902的框图1900。例如,移动设备1902可以被用来实现第一计算设备102、第二计算设备118、计算设备302、计算设备718、计算设备1218、计算设备1618和/或计算设备1818。如图19中所示,移动设备1902包括各种可选的硬件和软件组件,一般地示出为组件1902。移动设备1902中的任何组件可以与任何其他组件通信,但是为了便于说明,未示出所有连接。移动设备1902可以是本文其他地方描述或提到的或以其他方式已知的各种移动设备中的任何移动设备(例如,蜂窝电话、智能电话、手持式计算机、个人数字助理(PDA)等),并且可以允许通过诸如蜂窝或卫星网络的一个或多个通信网络1904与一个或多个移动设备进行无线双向通信,或者与局域网或广域网进行无线双向通信。
例如,在移动设备示例中,移动设备1902的组件1902是可以被包括在第一计算设备102、第二计算设备118、计算设备302、计算设备718、计算设备1218、计算设备1618和/或计算设备1818中的组件的示例。组件1902的特征/元件以及本领域技术人员已知的附加和/或备选特征/元件的任何数目和组合可以被包括在移动设备示例中。这种特征/元件还可以包括在固定设备示例中。
移动设备1902可以包括被称为处理器电路1910的控制器或处理器,以用于执行诸如信号编码、图像处理、数据处理、输入/输出处理、功率控制和/或其他功能的任务。处理器电路1910是在一个或多个物理硬件电路设备元件和/或集成电路设备(半导体材料芯片或裸片)中被实现成中央处理单元(CPU)、微控制器、微处理器、和/或其他物理硬件处理器电路的电气和/或光学电路。处理器电路1910可以执行被存储在计算机可读介质中的程序代码,诸如一个或多个应用1914的程序代码、操作系统1912的程序代码、被存储在存储器120中的任何程序代码等。操作系统1912可以控制组件102的分配和使用以及对一个或多个应用程序1514(也称为应用、“app”等)的支持。应用程序1914可以包括常见的移动计算应用(例如,电子邮件应用、日历、联系人管理器、web浏览器、消息传送应用)和任何其他计算应用(例如,文字处理应用、地图绘制应用、媒体播放器应用)。
如所图示的,移动设备1902可以包括存储器1920。存储器1920可以包括不可移除存储器1922和/或可移除存储器1924。不可移除存储器1922可以包括RAM、ROM、闪存、硬盘或其他众所周知的存储器存储技术。可移除存储器1924可以包括闪存或订户身份模块(SIM)卡(其在GSM通信系统中是公知的),或者诸如“智能卡”的其他众所周知的存储器存储技术。存储器1920可以被用于存储用于运行操作系统1912和应用1914的数据和/或代码。示例数据可以包括经由一个或多个有线网络或无线网络被发送到一个或多个网络服务器或其他设备和/或从一个或多个网络服务器或其他设备接收的网页、文本、图像、声音文件、视频数据或其他数据集。存储器1920可以被用来存储订户标识符(诸如国际移动订户身份(IMSI))和设备标识符(诸如国际移动设备标识符(IMEI))。这种标识符可以被传送到网络服务器以标识用户和设备。
许多程序可以被存储在存储器1920中。这些程序包括操作系统1912、一个或多个应用程序1914,以及其他程序模块和程序数据。这种应用程序或程序模块的示例可以包括计算机程序逻辑(例如,计算机程序代码或指令),例如以用于实现操作系统108、便携式应用安装器110、操作系统122、便携式应用加载器124、便携式存储设备304、便携式应用安装器310、安装器模块302、加密模块306、状态管理器308、应用检测器702、用户界面706、应用执行使能器708、应用关联模块711、应用安装器717、便携式应用加载器724、应用执行使能器1208、状态管理器1210、应用执行模块1220、应用执行使能器1608、部署管理器1062、应用执行模块1620、应用执行使能器1808、解密模块1802、用户界面1806、流程图200、流程图400、流程图600、流程图1000、流程图1300、流程图1500和/或流程图1700(包括流程图200、400、600、1000、1300、1500和1700的任何合适的步骤)和/或本文描述的其他示例。
移动设备1902可以支持一个或多个输入设备1930(诸如触摸屏1932、麦克风1934、相机1936、物理键盘1938和/或轨迹球1940)和一个或多个输出设备1950(诸如扬声器1952和显示器1954)。触摸屏(诸如触摸屏1932)可以以不同的方式检测输入。例如,当对象(例如,指尖)使跨表面流动的电流失真或中断时,电容性触摸屏检测到触摸输入。作为另一示例,当来自光学传感器的光束被中断时,触摸屏可以使用光学传感器来检测触摸输入。与屏幕的表面的物理接触对于要由一些触摸屏检测的输入而言是不必要的。例如,触摸屏1932可以被配置成使用电容性感测支持手指悬停检测,如本领域中众所周知的。如上文已经描述的,可以使用其他检测技术,包括基于相机的检测和基于超声的检测。为了实现手指悬停,用户的手指通常在触摸屏上方的预定间隔距离内,诸如在0.1英寸至0.25英寸之间、或在0.25英寸与0.5英寸之间、或在0.5英寸与0.75英寸之间、或在0.75英寸与1英寸之间、或在1英寸与1.5英寸之间等。
出于说明的目的,触摸屏1932被示出为包括控制接口1992。控制接口1992被配置成控制与被显示在触摸屏1932上的虚拟元件相关联的内容。在示例中,控制接口1992被配置成控制由应用1914中的一个或多个所提供的内容。例如,当移动设备1902的用户利用应用时,控制接口1992可以被呈现给触摸屏1932上的用户以使用户能够访问控制这样的内容的控件。控制接口1992的呈现可以基于(例如,由其触发)距触摸屏1932指定距离内的运动的检测或这种运动的缺少。下面更详细地描述了用于基于运动或运动的缺少而使控制接口(例如,控制接口1992)被呈现在触摸屏(例如,触摸屏1932)上的示例。
其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。一些设备可以服务超过一个输入/输出功能。例如,触摸屏1932和显示器1954可以被组合在单个输入/输出设备中。输入设备1930可以包括自然用户界面(NUI)。NUI是使用户能够以没有由输入设备(诸如鼠标、键盘、遥控器等)强加的人工约束的“自然的”方式与设备交互的任何接口技术。NUI方法的示例包括依赖于语音识别、触摸和触笔识别、在屏幕上和屏幕附近的姿势识别、空中手势、头和眼跟踪、话音和语音、视觉、触摸、姿势和机器智能的那些示例。NUI的其他示例包括使用加速度计/陀螺仪的运动姿势检测、面部识别、3D显示器、头、眼和视线跟踪、沉浸式增强现实和虚拟现实系统,其全部提供更自然的接口,以及用于使用电场感测电极(EEG和相关方法)感测大脑活动的技术。因此,在一个特定示例中,操作系统1912或应用1914可以包括语音识别软件作为允许用户经由话音命令操作设备1500的话音控制接口的一部分。另外,移动设备1902可以包括允许经由用户的空间姿势进行用户交互的输入设备和软件,诸如检测和解译姿势以向游戏应用提供输入。
(多个)无线调制解调器1960可以被耦合到(多个)天线(未示出)并且可以支持处理器电路1910与外部设备之间的双向通信,如本领域众所周知的。(多个)调制调节器1960被一般地示出并且可以包括用于与移动通信网络1904通信的蜂窝调制解调器1966和/或其他基于无线电的调制解调器(例如,蓝牙1964和/或Wi-Fi 1962)。蜂窝调制解调器1966可以被配置成根据任何适合的通信标准或技术(诸如GSM、3G、4G、5G等)支持电话呼叫(和可选地传送数据)。(多个)无线调制解调器1960中的至少一个通常被配置用于与一个或多个蜂窝网络(诸如用于单个蜂窝网络内、蜂窝网络之间,或移动设备与公共交换电话网络(PSTN)之间的数据和话音通信的GSM网络)进行通信。
移动设备1902还可以包括至少一个输入/输出端口1980、电源1982、卫星导航系统接收器1984(诸如全球定位系统(GPS)接收器)、加速度计1986和/或物理连接器1990(其可以是USB端口、IEEE1394(火线)端口和/或RS-232端口)。所图示的组件1902不是必须的或无所不包的,因为可以不存在任何组件并且可以附加地存在其他组件,如本领域的技术人员将认识到的。
图20描绘了可以被用来实现本文描述的各种示例的示例基于处理器的计算机系统2000。例如,系统2000可以被用来实现第一计算设备102、第二计算设备118、计算设备302、计算设备718、计算设备1218、计算设备1618和/或计算设备1818。系统2000也可以被用来实现如上所述的流程图200、流程图400、流程图600、流程图1000、流程图1300、流程图1500和/或流程图1700中的任何流程图的任何步骤。本文提供的对系统2000的描述是出于说明的目的而被提供的,而不旨在是限制性的。如本领域技术人员已知的,示例可以在其他类型的计算机系统中被实现。
如图20中所示,系统2000包括处理单元2002、系统存储器2004和总线2006,总线2006将包括系统存储器2004的各种系统组件耦合到处理单元2002。处理单元2002可以包括一个或多个电路、微处理器或微处理器核。总线2006表示任何若干类型的总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口和使用各种总线架构中的任何总线架构的处理器或本地总线。系统存储器2004包括只读存储器(ROM)2008和随机存取存储器(RAM)2010。基本输入/输出系统2012(BIOS)被存储在ROM 2008中。
系统2000还具有以下驱动器中的一个或多个:硬盘驱动器2014,其用于从硬盘读取和写入硬盘;磁盘驱动器2016,其用于从可移除的磁盘2018读取或写入可移除的磁盘2018;和光盘驱动器2020,其用于从可移除的光盘2022读取或写入可移除的光盘2022(诸如CD ROM、DVD ROM、BLU-RAYTM盘或其他光学介质)。硬盘驱动器2014、磁盘驱动器2016和光盘驱动器2020分别通过硬盘驱动器接口2024、磁盘驱动器接口2026和光学驱动器接口2028被连接到总线2006。驱动器及其相关联的计算机可读介质提供计算机可读指令、数据结构、程序模块和用于计算机的其他数据的非易失性存储。虽然描述了硬盘、可移除的磁盘和可移除光盘,但其他类型的计算机可读存储器设备和存储结构(诸如闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等)可以被用来存储数据。
许多程序模块可以被存储在硬盘、磁盘、光盘、ROM或RAM上。这些程序模块包括操作系统2030、一个或多个应用程序2032、其他程序模块2034和程序数据2036。根据各种示例,程序模块可以包括由处理单元2002可执行以执行第一计算设备102、第二计算设备118、计算设备302、计算设备718、计算设备1118、计算设备1618和/或计算设备1818的任何或所有功能和特征的计算机程序逻辑。程序模块还可以包括计算机程序逻辑,该计算机程序逻辑在由处理单元1802执行时,使处理单元1802执行如上所述的流程图200、流程图400、流程图600、流程图1000、流程图1300、流程图1500和/或流程图1700中的任何流程图的任何步骤。
用户可以通过输入设备(诸如键盘2038和指点设备2040(例如,鼠标))将命令和信息录入到计算设备2000中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏控制器、扫描仪等。在一个示例中,结合显示器2044提供触摸屏,以允许用户经由触摸的施加(例如通过手指或触笔)向触摸屏上的一个或多个点提供用户输入。这些和其他输入设备常常通过被耦合到总线2006的串行端口接口2042被连接到处理单元2002,但是可以通过其他接口(诸如并行端口、游戏端口或者通用串行总线(USB))进行连接。这种接口可以是有线接口或无线接口。
显示器2044经由诸如视频适配器1846的接口被连接到总线2006。除了显示器2044之外,系统2000还可以包括其他外围输出设备(未示出),诸如扬声器和打印机。
计算设备2000通过网络接口2050、调制解调器2052或用于通过网络建立通信的其他合适的装置而被连接到网络2048(例如,局域网或诸如因特网的广域网)。可以在内部或外部的调制解调器2052经由串行端口接口2042被连接到总线2006。
如本文所使用的,术语“计算机程序介质”、“计算机可读介质”和“计算机可读存储介质”被用来一般地指代存储器设备或存储结构,诸如与硬盘驱动器2014相关联的硬盘、可移除的磁盘2018、可移除的光盘2022、以及其他存储器设备或存储结构(诸如闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等)。这种计算机可读存储介质与通信介质区分开并且不与通信介质重叠(不包括通信介质)。通信介质通常在诸如载波的经调制的数据信号中实施计算机可读指令、数据结构、程序模块或其他数据。术语“经调制的数据信号”意指具有以关于将信息编码在信号中的这种方式设置或改变其特性中的一个或多个的信号。通过示例而非限制,通信介质包括无线介质(诸如声学、RF、红外和其他无线介质)。实施例还涉及这种通信介质。
如上文所指出的,计算机程序和模块(包括应用程序2032和其他程序模块2034)可以被存储在硬盘、磁盘、光盘、ROM或RAM上。还可以经由网络接口2050、串行端口接口2042或任何其他接口类型接收这种计算机程序。当由应用执行或加载时,这种计算机程序使得系统2000能够实现本文所讨论的示例的特征。相应地,这种计算机程序表示系统2000的控制器。示例还涉及包括被存储在任何计算机可用介质上的软件的计算机程序产品。当这种软件在一个或多个数据处理设备中被执行时,这种软件使得(多个)数据处理设备如本文所述的那样操作。示例可以采用现在或将来知晓的任何计算机可用介质或计算机可读介质。计算机可读介质的示例包括但不限于存储器设备和存储结构,诸如RAM、硬盘驱动器、软盘、CDROM、DVD ROM、压缩磁盘、磁带、磁存储设备、光学存储设备、MEM、基于纳米技术的存储设备等。
IV.示例
在一个示例中,一种方法包括:确定与计算设备耦合的便携式存储设备存储应用,该应用被配置在便携式存储设备上,以用于在计算设备上执行而无需安装在计算设备上;响应于所述确定,向计算设备的用户显示针对应用的用户可选择的应用标识符;检测用户已经选择了用户可选择的应用标识符;响应于所述检测,确定应用与用户是否相关联;以及响应于确定应用与用户相关联,支持应用以用于在计算设备上执行而无需要求安装在计算设备上。
在示例中,支持包括:从便携式存储设备取回与所选择的应用相关联的状态信息;以及基于所取回的状态信息执行所选择的应用而无需安装在计算设备上。
在示例中,响应于确定应用与用户不相关联,使得用户能够将应用安装在计算设备上。
在示例中,确定应用与用户是否相关联包括:将被用来登录计算设备的第一用户标识符与关联于应用的第二用户标识符进行比较;当第一用户标识符与第二用户标识符匹配时,确定应用与用户相关联;以及当第一用户标识符与第二用户标识符不匹配时,确定应用与用户不相关联。
在示例中,支持包括:确定资源包被需要以在计算设备上执行应用;从远离便携式存储设备的数据源取回资源包;以及基于资源包执行应用。
在示例中,资源包包括以下中的至少一个:语言资源包、图形资源包、用户界面资源包,或者架构特定的资源包。
在示例中,支持包括:确定应用被加密;确定用户是否具有用以执行应用的许可;响应于确定用户具有许可,取回密码密钥并使用密码密钥解密加密的应用;以及响应于确定用户没有许可,提示用户购买许可,并且在许可已经被购买之后取回密码密钥。
在另一示例中,一种计算设备中的系统包括:应用检测器,被配置成确定与计算设备耦合的便携式存储设备存储应用,该应用被配置在便携式存储设备上,以用于在计算设备上执行而无需要求安装在计算设备上;用户界面,被配置成响应于便携式存储设备存储应用的确定,向计算设备的用户显示针对应用的用户可选择的应用标识符,用户界面还被配置成检测用户已经选择了用户可选择的应用标识符;应用关联模块,被配置成确定应用与用户是否相关联;以及应用执行使能器,被配置成响应于应用与用户相关联的确定,支持应用以用于在计算设备上执行而无需安装在计算设备上。
在示例中,应用执行使能器包括:状态管理器,被配置成响应于应用与用户相关联的确定,从便携式存储设备取回与所选择的应用相关联的状态信息;应用执行模块,被配置成响应于应用与用户相关联的确定,基于所取回的状态信息执行所选择的应用而无需安装在计算设备上。
在示例中,应用关联模块被配置成通过以下方式确定应用与用户是否相关联:比较被用来登录计算设备的第一用户标识符与关联于应用的第二用户标识符是否相同;当第一用户标识符与第二用户标识符匹配时,确定应用与用户相关联;以及当第一用户标识符与第二用户标识符不匹配时,确定应用与用户不相关联。
在示例中,应用执行使能器包括:部署管理器,被配置成:确定资源包被需要以在计算设备上执行应用;以及从远离便携式存储设备的数据源取回资源包;其中应用执行模块被配置成基于资源包执行应用。
在示例中,资源包包括以下中的至少一个:语言资源包、图形资源包、用户界面资源包,或者架构特定的资源包。
在示例中,应用执行使能器包括:解密模块,被配置成:确定应用被加密;确定用户是否具有用以执行应用的许可;响应于用户具有许可的确定,取回密码密钥并且使用密码密钥解密加密的应用;以及响应于用户没有许可的确定,提示用户购买许可,并且在许可已经被购买之后取回密码密钥。
在另一示例中,一种方法包括:将应用安装在便携式存储设备上;将在应用的执行期间获得的应用的状态信息存储到便携式存储设备;以及使用至少一个第一密码密钥来加密应用和状态信息。
在示例中,方法还包括:在便携式存储设备上存储被用来将应用安装在计算设备上的安装文件;以及使用第二密码密钥来加密该安装文件。
在示例中,至少一个第一密码密钥是用户特定的密码密钥。
在示例中,第二密码密钥是许可特定的密码密钥。
在另一示例中,一种计算设备中的系统包括:应用安装器,被配置成将应用安装在便携式存储设备上;状态管理器,被配置成将在应用的执行期间获得的应用的状态信息存储到便携式存储设备;以及加密模块,被配置成使用至少一个第一密码密钥来加密应用和状态信息。
在示例中,应用安装器还被配置成在便携式存储设备上存储被用来将应用安装在计算设备上的安装文件,并且其中加密模块被配置成使用第二密码密钥来加密安装文件。
在示例中,至少一个第一密码密钥是用户特定的密码密钥。
在示例中,第二密码密钥是许可特定的密码密钥。
V.结论
尽管上面已经描述了本发明的各种示例,但是应当理解,它们仅通过示例呈现,而不是限制。本领域技术人员将理解,在不脱离如所附权利要求限定的本发明的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。相应地,本发明的广度和范围不应当受任何上述示例性示例的限制,而应当仅根据所附权利要求及其等同物来限定。
Claims (15)
1.一种方法,包括:
确定与计算设备耦合的便携式存储设备存储应用,所述应用被配置在所述便携式存储设备上,以用于在所述计算设备上执行而无需要求安装在所述计算设备上;
响应于所述确定,向所述计算设备的用户显示针对所述应用的用户可选择的应用标识符;
检测用户已经选择了所述用户可选择的应用标识符;
响应于所述检测,确定所述应用与所述用户是否相关联;以及
响应于确定所述应用与所述用户相关联,支持所述应用以用于在所述计算设备上执行而无需安装在所述计算设备上。
2.根据权利要求1所述的方法,所述支持包括:
从所述便携式存储设备取回与所选择的所述应用相关联的状态信息;以及
基于所取回的所述状态信息执行所选择的所述应用而无需安装在所述计算设备上。
3.根据权利要求1所述的方法,还包括:
响应于确定所述应用与所述用户不相关联,使得所述用户能够将所述应用安装在所述计算设备上。
4.根据权利要求1所述的方法,其中确定所述应用与所述用户是否相关联包括:
将被用来登录所述计算设备的第一用户标识符与关联于所述应用的第二用户标识符进行比较;
当所述第一用户标识符与所述第二用户标识符匹配时,确定所述应用与所述用户相关联;以及
当所述第一用户标识符与所述第二用户标识符不匹配时,确定所述应用与所述用户不相关联。
5.根据权利要求1所述的方法,其中所述支持包括:
确定资源包被需要以在所述计算设备上执行所述应用;
从远离所述便携式存储设备的数据源取回所述资源包;以及
基于所述资源包执行所述应用。
6.根据权利要求4所述的方法,其中所述资源包包括以下中的至少一个:
语言资源包;
图形资源包;
用户界面资源包;或者
架构特定的资源包。
7.根据权利要求1所述的方法,其中所述支持包括:
确定所述应用被加密;
确定所述用户是否具有用以执行所述应用的许可;
响应于确定所述用户具有所述许可,取回密码密钥并且使用所述密码密钥解密加密的所述应用;以及
响应于确定所述用户没有所述许可,提示所述用户购买所述许可,并且在所述许可已经被购买之后取回所述密码密钥。
8.一种计算设备中的系统,包括:
应用检测器,被配置成确定与计算设备耦合的便携式存储设备存储应用,所述应用被配置在所述便携式存储上,以用于在所述计算设备上执行而无需要求安装在所述计算设备上;
用户界面,被配置成响应于所述便携式存储设备存储所述应用的确定,向所述计算设备的用户显示针对所述应用的用户可选择的应用标识符,所述用户界面还被配置成检测用户已经选择了所述用户可选择的应用标识符;
应用关联模块,被配置成确定所述应用与所述用户是否相关联;以及
应用执行使能器,被配置成响应于所述应用与所述用户相关联的确定,支持所述应用以用于在所述计算设备上执行而无需安装在所述计算设备上。
9.根据权利要求8所述的系统,其中所述应用执行使能器包括:
状态管理器,被配置成响应于所述应用与所述用户相关联的确定,从所述便携式存储设备取回与所选择的所述应用相关联的状态信息;以及
应用执行模块,被配置成响应于所述应用与所述用户相关联的所述确定,基于所取回的所述状态信息执行所选择的所述应用而无需安装在所述计算设备上。
10.根据权利要求8所述的系统,其中所述应用关联模块被配置成通过以下方式确定所述应用与所述用户是否相关联:
比较被用来登录所述计算设备的第一用户标识符与关联于所述应用的第二用户标识符是否相同;
当所述第一用户标识符与所述第二用户标识符匹配时,确定所述应用与所述用户相关联;以及
当所述第一用户标识符与所述第二用户标识符不匹配时,确定所述应用与所述用户不相关联。
11.根据权利要求9所述的系统,其中所述应用执行使能器包括:
部署管理器,被配置成:
确定资源包被需要以在所述计算设备上执行所述应用;以及
从远离所述便携式存储设备的数据源取回所述资源包;
其中所述应用执行模块被配置成基于所述资源包执行所述应用。
12.根据权利要求11所述的系统,其中所述资源包包括以下中的至少一个:
语言资源包;
图形资源包;
用户界面资源包;或者
架构特定的资源包。
13.根据权利要求8所述的系统,其中所述应用执行使能器包括:
解密模块,被配置成:
确定所述应用被加密;
确定所述用户是否具有用以执行所述应用的许可;
响应于所述用户具有所述许可的确定,取回密码密钥并且使用所述密码密钥解密加密的所述应用;以及
响应于所述用户没有所述许可的确定,提示所述用户购买所述许可,并且在所述许可已经被购买之后取回所述密码密钥。
14.根据权利要求8所述的系统,其中所述应用执行使能器被配置成响应于确定所述应用与所述用户不相关联,使得所述用户能够将所述应用安装在所述计算设备上。
15.一种计算机程序产品,包括其上记录有计算机程序逻辑的计算机可读介质,所述计算机程序产品包括:
用于使得处理器能够执行权利要求1-7中的任一项的计算机程序逻辑装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/423,475 US20180218132A1 (en) | 2017-02-02 | 2017-02-02 | Application portability via application(s) installed on a portable storage device |
US15/423,475 | 2017-02-02 | ||
PCT/US2018/015643 WO2018144358A1 (en) | 2017-02-02 | 2018-01-29 | Application portability via application(s) installed on a portable storage device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110249301A true CN110249301A (zh) | 2019-09-17 |
Family
ID=61837812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880009859.5A Pending CN110249301A (zh) | 2017-02-02 | 2018-01-29 | 经由安装在便携式存储设备上的应用的应用可移植性 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180218132A1 (zh) |
EP (1) | EP3577554A1 (zh) |
CN (1) | CN110249301A (zh) |
WO (1) | WO2018144358A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11816318B2 (en) * | 2021-07-28 | 2023-11-14 | Google Llc | Application compatibility on a computing device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060075486A1 (en) * | 2004-10-01 | 2006-04-06 | Paul Lin | Self-contained token device for installing and running a variety of applications |
US20060130004A1 (en) * | 2004-12-15 | 2006-06-15 | Microsoft Corporation | Portable applications |
CN1916860A (zh) * | 2005-11-30 | 2007-02-21 | 许先才 | 计算机上个人信息应用环境的保存与重现方法及装置 |
US8015450B1 (en) * | 2009-03-26 | 2011-09-06 | Symantec Corporation | Systems and methods for detecting and automatically installing missing software components |
US20110314534A1 (en) * | 2010-04-14 | 2011-12-22 | Lee James | Secured Execution Environments and Methods |
US20140298487A1 (en) * | 2013-03-29 | 2014-10-02 | International Business Machines Corporation | Multi-user universal serial bus (usb) key with customizable file sharing permissions |
-
2017
- 2017-02-02 US US15/423,475 patent/US20180218132A1/en not_active Abandoned
-
2018
- 2018-01-29 CN CN201880009859.5A patent/CN110249301A/zh active Pending
- 2018-01-29 EP EP18714883.8A patent/EP3577554A1/en not_active Withdrawn
- 2018-01-29 WO PCT/US2018/015643 patent/WO2018144358A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060075486A1 (en) * | 2004-10-01 | 2006-04-06 | Paul Lin | Self-contained token device for installing and running a variety of applications |
US20060130004A1 (en) * | 2004-12-15 | 2006-06-15 | Microsoft Corporation | Portable applications |
CN1916860A (zh) * | 2005-11-30 | 2007-02-21 | 许先才 | 计算机上个人信息应用环境的保存与重现方法及装置 |
US8015450B1 (en) * | 2009-03-26 | 2011-09-06 | Symantec Corporation | Systems and methods for detecting and automatically installing missing software components |
US20110314534A1 (en) * | 2010-04-14 | 2011-12-22 | Lee James | Secured Execution Environments and Methods |
US20140298487A1 (en) * | 2013-03-29 | 2014-10-02 | International Business Machines Corporation | Multi-user universal serial bus (usb) key with customizable file sharing permissions |
Also Published As
Publication number | Publication date |
---|---|
EP3577554A1 (en) | 2019-12-11 |
US20180218132A1 (en) | 2018-08-02 |
WO2018144358A1 (en) | 2018-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104823198B (zh) | 计算装置的安全识别装置和安全识别方法 | |
CN103534705B (zh) | 私密和公开应用 | |
JP6887421B2 (ja) | コンテナ間における信頼性の確立 | |
US20200294293A1 (en) | Persistent augmented reality objects | |
CN109804376A (zh) | 针对web应用的用户和设备认证 | |
CN107004093A (zh) | 提供基于位置的安全策略 | |
CN109076072A (zh) | Web服务图片密码 | |
US9124575B2 (en) | Self-single sign-on | |
KR20160046559A (ko) | 보안 연결 장치 및 방법 | |
CN107818258A (zh) | 间接认证 | |
CN106663018A (zh) | 在容器化工作空间环境中修改android应用生命周期以控制其执行的方法 | |
WO2014039313A2 (en) | Management of digital receipts | |
CA3203990A1 (en) | Systems and methods for virtual reality environments | |
CA3203992A1 (en) | Systems and methods for providing virtual reality environment-based training and certification | |
KR102526959B1 (ko) | 전자 장치 및 그의 동작 방법 | |
CN110249301A (zh) | 经由安装在便携式存储设备上的应用的应用可移植性 | |
US20180101577A1 (en) | Adapting an application based on mood and biometrics | |
US11366766B2 (en) | Electronic device and control method thereof | |
US11240293B2 (en) | System for supporting remote accesses to a host computer from a mobile computing device | |
US20210209217A1 (en) | Method and system for authentication using mobile device id based two factor authentication | |
US11809550B2 (en) | Electronic device and control method therefor | |
US20220407692A1 (en) | Multiple device collaboration authentication | |
CN115017927A (zh) | 卡片模拟方法、电子设备及存储介质 | |
WO2023048719A1 (en) | Private display for head mountable device authentication | |
WO2023235026A1 (en) | Using attestation client code to attest health of a computing device |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190917 |