CN101187878A - 用于允许存储在外部驱动器上的应用执行的系统和方法 - Google Patents
用于允许存储在外部驱动器上的应用执行的系统和方法 Download PDFInfo
- Publication number
- CN101187878A CN101187878A CNA2007101867220A CN200710186722A CN101187878A CN 101187878 A CN101187878 A CN 101187878A CN A2007101867220 A CNA2007101867220 A CN A2007101867220A CN 200710186722 A CN200710186722 A CN 200710186722A CN 101187878 A CN101187878 A CN 101187878A
- Authority
- CN
- China
- Prior art keywords
- local
- software
- application
- project
- external
- 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.)
- Granted
Links
Images
Classifications
-
- 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/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明允许注册表设置和其它的有关共享人工制品被分布在许多不同的计算设备。更具体地,当外部设备连接到主计算设备时,本发明允许安装在外部驱动上的应用被激活。当被连接时,驱动器代理能够检测存储在外部驱动上的注册表设置,并且能够将这些设置与主计算设备的主注册表同步。此外,接口元素,如用于新应用的图标,能够被添加到主计算设备的GUI。一旦注册表设置被包括在主注册表中时,在外部驱动上的应用可以从主计算设备被使用。当外部驱动从主计算设备分离时,设备代理能够自动移除所有的注册表设置、共享的人工制品和接口元素。
Description
技术领域
本发明涉及设备访问的领域,更具体地涉及一种自动解决方案,以提供对附接的外部设备上的数据和应用的直接的(immediate)必要的访问。
背景技术
便携式硬驱动器和快闪驱动器的进展允许用户在旅行时容易地携带巨量的便利的存储空间,其可在理论上用于满足他们的数据和应用的需要。然而,目前便携式存储设备仅仅用于存储数据而不能够存储使用(consume)或操作数据的应用。这是因为最现代的应用的使用要求一组应用程序接口(API)、动态链接库(DLL)、注册表(registry)设置等,它们在应用安装时被存储在操作系统的主驱动器上。因此,数据能够被在外部驱动器上传递,但经常不能够被使用,因为对必要的和相对应的应用的访问是不可用的。
很多种解决方案已经被发展来确保用户具有对所需要的应用的访问。一个被尝试的解决方案是不断地安装和卸载应用程序,如来自存储在便携式驱动器上的图像。该解决方案有许多缺点。首先,用户经常不被授权访问在如图书馆、因特网咖啡厅和机场发现的那些公共使用的机器上安装程序。此外,经常安装和移除程序是损害注册表和共享的库存储的实践,是费时的,并且由于用于“激活”许多软件程序的计算机特定的散列(hash)而甚至可能是不可能的。
一种可最小化重复的安装和卸载操作的某些缺点的技术是应用虚拟化。商业应用虚拟化解决方案目前由如Atiris,Inc.、Softricity Inc.和AppStream Inc.的公司提供。应用虚拟化在操作系统和应用之间创建虚拟应用层。当程序被安装时该层被激活。该虚拟应用层用作在注册表和安装的应用之间的代理,其中应用特定设置被放置在虚拟应用层中。如果应用被从一台机器移动到包括相同虚拟应用层的另一台机器,则机器特定设置不必须被调整。为了虚拟化的应用执行,应用虚拟化层首先需要在执行中。
该解决方案未能克服涉及对安装应用不充分许可的问题。许可问题实际上被增加,因为在机器上创建新的应用虚拟化层是一件非常侵入性的(intrusive)处理,典型地要求系统管理员特权。此外,应用虚拟化未能处理执行来自周期性地被移除的外部驱动器的各应用的情形。当驱动器存在时,必要的应用程序能够存在。当被移除时,这些程序将不存在,当相关联的图标或快捷方式被选择时,造成问题和错误。
确保应用可用性的传统解决方案是在网络上创建应用服务器,其允许多个用户访问应用。然而,该应用服务器仅仅在用户被连接到网络时可访问。因而,为了给远程用户提供访问,需要传统的硬件和软件克服距离的问题再次出现。此外,网络延迟问题能够导致在可接受水平以下的应用性能。当旅行者正在通过低质量网络连接访问被服务的应用时,这尤其可能是真实的。
除了硬件和性能的问题外,当前的软件许可实践是涉及应用的问题的不稳定困境(quagmire)。大多数商业软件要求用于每次应用安装的许可和/或激活,而不论附加的安装是否用于相同的用户。用户能够容易地使用多个许可以便适应各种类型的设备,这些设备在各种地点和场合对于为他们提供访问是必需的。例如,用户可能需要用于工作计算机、家用计算机、膝上型计算机等的许可。与当前的许可系统工作的传统的解决方案在便携性和可承受性方面严重地限制了用户和公司。
发明内容
本发明允许注册表设置和其它的有关共享人工制品被分布在许多不同的计算设备。更具体地,当外部设备连接到主计算设备时,本发明允许安装在外部驱动器上的应用被激活。当被连接时,驱动器代理能够检测存储在外部驱动器上的注册表设置,并且能够将这些设置与主计算设备的主注册表同步。此外,接口元素,如用于新应用的图标,能够被添加到主计算设备的GUI。一旦注册表设置被包括在主注册表时,在外部驱动器上的应用可以从主计算设备被使用。当外部驱动器从主计算设备分离时,设备代理能够自动移除所有的注册表设置、共享的人工制品和接口元素。
本发明能够根据与在此展示的材料一致的许多方面实现。例如,本发明的一个方面能够包括一种方法,用于只要外部驱动器连接到计算设备就允许存储在外部驱动器中的应用从计算设备的软件环境执行。该方法能够包括步骤:在外部驱动器中存储至少一个外部软件应用,其中涉及软件应用的外部配置项目能够被存储在外部设备的外部配置存储中。外部驱动器能够被连接到计算设备。该计算设备能够具有本地配置存储,该本地配置存储包括与涉及在计算设备的本地软件环境中安装的本地软件应用的本地配置项目。外部配置项目能够被自动地添加到本地配置存储,这能够允许外部软件应用从本地软件环境中执行。外部设备能够随后从计算设备断开,这导致自动从本地配置存储中移除外部配置项目。
本发明的另一个方面可以包括一种方法,用于允许在可移除外部设备上安装的软件应用被用在本地环境中。在该方法中,软件应用能够被安装到外部驱动器。安装能够包括在外部驱动器的外部配置存储中创建用于软件应用的配置项目。当外部驱动器被连接到主管(host)具有本地配置存储的本地软件环境的本地计算设备时,事件能够自动检测。驱动器的添加能够导致用于安装的软件应用的配置项目被动态和自动地添加到本地配置存储。所述添加的配置项目能够包括至少一个添加图形项目到本地软件环境的图形用户接口的配置项目。添加的配置项目还能够包括至少一个导致本地软件环境将至少一种文件类型与外部软件应用相关联的配置项目。图形项目或具有相关联的文件类型的文件的用户选择能够导致外部软件应用在本地软件环境中执行。
应该注意到,本发明的各方面能够被实现为用于控制实现在此描述的功能的计算设备的程序,或者用于使得计算设备能够执行与在此公开的各步骤相对应的处理的程序。该程序可以由在磁盘、光盘、半导体存储器、任何其它的记录介质中存储的程序提供,或者还能够提供为经由载波传送的数字化编码信号。该描述的程序能够是单个程序或能够实现为多个子程序,其每个在单个计算设备中相互作用或者以分布的方式在网络空间相互作用。
在此详述的方法还能够是至少部分由服务代理和/或由服务代理操纵的机器响应于服务请求而执行的方法。
附图说明
在各附图中显示目前优选的实施例,然而,要理解本发明不局限于所示的精确安排和手段。
图1是图示根据在此公开的本发明的安排的实施例、当附接外部设备时、客户机环境中的改变的图形表示。
图2是图示根据在此公开的本发明的安排的实施例,用于提供对在附接的外部设备上的数据和应用的、自动和直接的必要的访问的系统的示意图。
图3是图示根据在此公开的本发明的安排的实施例、当外部设备被附接到客户机时、在组件之间的基本互交的图形表示。
图4是根据在此公开的本发明的安排的实施例、用于提供对在附接的外部设备上的数据和应用的、自动和直接的必要的访问的方法的流程图。
图5是详述根据在此公开的本发明的安排的实施例、对在附接的外部硬驱动器上的数据和应用的、自动和直接的必要的访问的方法的流程图。
图6是详述根据在此公开的本发明的安排的实施例、对在附接的外部硬驱动器上的应用提供自动和直接的必要的访问的调整处理的方法的流程图。
图7是详述根据在此公开的本发明的安排的实施例、当外部设备从系统移除时、改变提供对在附接的外部设备上的应用的自动和直接的必要的访问的系统的方法的流程图。
图8是如下方法的流程图,其中根据在此公开的本发明的安排的实施例,服务代理能够配置系统以便提供对在附接的外部设备上的应用的自动和直接的必要的访问。
具体实施方式
图1是图示根据在此公开的本发明的安排的实施例,当附接外部设备时,客户机环境中改变的图形表示100。在该图形表示100中图示的改变能够在系统200、或支持以自动方式对附接的外部设备上的数据和应用的直接的必要的访问的任何其它的系统的环境中出现。
初始的环境101包含在外部设备105附接到所述客户机105之前外部设备110的内容。应当理解,客户机105和外部设备110的内容仅仅用于图示的目的,而不意味着对本发明的限制。在此示例中,客户机105包含库文件107,并且具有电子邮件应用108、Web浏览器106和字处理应用109。外部设备110包含更新的(newer)的库文件115和数据文件111,并且具有更新版本的字处理应用112、展示应用113和电影编辑应用114。
外部设备110到客户机105的附接能够产生结果环境(resultantenvironment)120。该结果环境120能够包括可访问的内容改变125、客户机图形用户接口(GUI)改变130和配置存储改变135。该可访问内容127能够是在结果环境120中的可访问内容改变125的结果。
如在该示例中所示,可访问内容127能够显示来自客户机105和外部设备110的可用内容的联合。应该注意到,系统100的设备代理112能够允许相同应用的多个版本的共存,如在字处理应用109和112中,并且用更新的版本替换较旧的文件,如用库文件115替换库文件107。可访问内容127能够在客户机GUI改变130中被显示。
客户机GUI改变130能够包括桌面132的显示。桌面132能够显示当外部设备110被连接到客户机105时所作的改变。在外部设备110上包含的应用和数据能够经由程序图标133和快捷方式134对客户机105上的用户可用。对程序图标133或快捷方式134的选择能够访问在外部设备110上的相关联的数据或应用。
连接外部设备110到客户机105还能够导致配置存储改变135。配置存储的格式能够依赖于客户机105使用的操作系统。该示例利用WINDOWS环境。如此,编辑器GUI136反映在WINDOWS中使用的注册表,以存储该信息。在此表达的概念不局限于任何特定的平台或操作系统。
对客户机105进行的配置存储改变135能够在编辑器GUI 136被观看。因为电影编辑器应用114驻留在外部设备110,客户机105的注册表能够被修改,如在注册表138中所示,所以电影编辑应用114能够在客户机105上运行。高亮条目140能够被添加到客户机105的注册表,以便让它运行电影编辑应用114。此外,编辑器GUI136能够显示用于高亮条目140的路径145。
图2是图示根据在此公开的本发明的安排的实施例,用于提供对在附接的外部设备上的数据和应用的、自动和直接的必要的访问的系统200的示意性图表。在系统200中,外部设备215能够被直接连接到客户机210,以为用户205提供对外部设备215的内容的直接访问。连接可以用各种方式提供,包括,但不限于,通用串行总线(USB)连接、火线(FIREWIRED)、蓝牙、WIFI、以太网线缆、空调制解调器线缆、利用并行接口线缆的连接等。
客户机210能够是由用户205使用的各种设备中的任何一种,其支持外部设备215的直接附接,并且由网络220通信地链接到服务器225。通过扩展,驻留在外部设备215上的应用能够通过其与客户机210的连接访问服务器225。
客户机210能够包括:设备代理212、主配置存储213和策略管理器214。设备代理212能够是软件应用,其同步在客户机210的主配置存储213和外部设备215的本地配置存储216之间的数据,并且执行由策略管理器214确定的访问策略。设备代理212能够负责主配置存储213的修改,该修改允许用户205从客户机210机器运行安装在外部设备215上的软件应用。此外,设备代理212能够在从客户机210移除外部设备215时取消修改。
主配置存储213能够是设计来包含硬件和软件配置信息以及用户偏好的客户机210的存储器单元。应该注意到,主配置存储213的实现依赖于在客户机210上使用的操作系统。例如,在WINDOWS平台,主配置存储被称作为注册表;在UNIX环境中,主配置存储被称作为全局注册表,并且被存储在专门的文件和位置。此外,被期望存储在主配置存储213的数据还能够展开到客户机210上的多个文件和/或位置,如同MACINTOSH的情形中那样。
策略管理器214能够是软件应用,其试图协调(negotiate)并且执行对在外部设备215上包含的项目的内含的(inclusive)访问策略。该访问策略能够从在外部设备215上存储的设备策略列表217以及系统策略列表226用公式表示。系统策略列表226能够驻留在可访问服务器225或其它的可用的联网的组件上。可替代地,系统策略列表226能够驻留在客户机210上。策略列表能够包含与数据和应用的存取有关的数据。例如,策略列表可以包括数字证书、许可信息、用户许可等。
应该理解到,来自策略列表217和226的由策略管理器214协调的策略能够限制用户105对网络资源的访问。例如,服务代理能够取得包含对执行他的对客户站点的职责所必需的所有数据和应用的外部硬驱动器。在客户站点,服务器代理能够连接外部硬驱动器其到客户网络上的计算机,以执行任务。客户的网络可以包含应该对服务代理不可访问的数据文件。该访问限制能够被包含在客户网络的系统策略列表中。因此,由客户计算机上的策略管理器协调的策略能够包括该限制,并且指定的数据文件和/或区域将对服务代理是不可用的。
外部设备215能够是能存储数据和/或应用并且连接到客户机210的各种设备的任一种。除了应用和/或数据外,外部设备215能够包括本地配置存储215、设备策略列表217和调整处理218。本地配置存储216与客户机210的主配置存储213类似,能够包含硬件和软件配置信息以及专门针对外部设备215的用户偏好,和在它上面存储的任何数据和/或应用。要注意到,本地配置存储217的结构应该对应于主配置数据存储213的结构,其应该与客户机210的操作系统一致。
应该理解到,本发明的该方面允许对软件许可的完全便携性。例如,字处理应用的安装将在任何兼容的客户机210机器上运行,而不管位置和网络访问。因而,用户能够在外部设备215上安装所有必要的应用,并且在任何位置从任何客户机210访问它们。在这种示例中,加载的外部设备215覆盖传统加载的膝上型计算机。
调整处理218能够是一个或多个的软件例行程序,其被设计来修改客户机210的元素,以便用户205访问在外部设备215上的应用。拷贝文件、更新在主和/或本地配置存储中的条目、以及取消之前的操作是能够由调整处理218进行的修改的示例。
在另一个被计划的实施例中,外部设备215能够被附接到服务器225,而不是客户机210。然后用户能够通过网络220访问外部设备215的内容,只要服务器225是可用的。
网络220能够包括任何的为传送在载波中编码的数据所必需的硬件、软件和/或固件。数据能够被包含在模拟或数字信号中,并且通过数据或语音信道传送。网络220能够包括本地组件和为通信所需的数据路径,以便在计算设备组件之间以及集成的设备组件和外围设备之间的交换。网络220还能够包括网络设备,如路由器,数据线,集线器,以及中介服务器,其一起形成了数据网络,如因特网。网络220还能够包括基于电路的通信组件,以及移动通信组件,如电话交换机,调制解调器,蜂窝通信塔等。网络220能够包括基于有线的和/或无线的通信路径。
图3是图示根据在此公开的本发明的安排的实施例,当外部设备被附接到客户机时,在组件之间的基本相互作用的图形表示300。在该图形表示300中图示的相互作用能够在系统200或支持以自动方式对附接的外部设备上的数据和应用的立即的必要的访问的任何其它类型的系统的环境中出现。
客户机305能够包括:设备代理306、策略管理器307和主配置存储308。外部设备310能够包括策略列表312、本地配置存储313和调整处理314。系统315能够包括策略列表316。在各种组件之间的相互作用能够由图形表示300的各种请求和响应显示。
在各种组件之间的相互作用能够在外部设备310附接到客户机305时开始。此时,设备代理306能够发布获取信息请求320到外部设备310的本地配置存储313。被请求的信息能够经由响应321返回到设备代理306。
当接收到响应321时,设备代理306能够执行程序325以创建候选者列表。在候选者列表被创建时,设备代理306可以发布调用命令330到策略管理器307。然后策略管理器307能够发送获取信息请求335到外部设备310,请求包含在其策略列表312内的信息。该信息能够经由响应336被返回到策略管理器307。接下来,策略管理器307能够发送获取信息请求340到客户机305的系统315。系统315能够经由响应341返回包含在其策略列表316中的信息。
当策略管理器307接收策略列表312和316的信息时,它能够执行代码以协调策略。在协调之后,策略管理器307能够执行另一个程序350以确定候选者列表与协调的策略的一致性(compliance)。结果策略和一致性列表能够在响应351中被返回到设备代理306。
设备代理306能够通过发布调整客户机命令355到调整处理314,对客户机305的环境进行修改,以容纳在一致性列表中包含的项目。该调整处理314能够执行各种操作,如拷贝文件和修改本地配置存储313的数据条目,如由设备代理306指定的那样。调整客户机命令355的完成可以被包含在对设备代理306的响应356中。
最后,设备代理306能够发布更新命令360到客户机305的主配置存储308。更新命令360能够改变在主配置存储308中的条目和条目的数据值,用于允许用户运行安装在外部设备310上的应用。变化的确认能够在响应361中被返回到设备代理306。
图4是根据在此公开的本发明的安排的实施例,用于提供对在附接的外部设备上的数据和应用的、自动和直接的必要的访问的方法400的流程图。
方法400能够在用户附接外部设备到客户机时,在步骤405开始。这触发了步骤410,其中设备代理能够同步客户机和外部设备的配置存储。在步骤415,策略管理器能够协调并且执行访问策略。
步骤420发生以响应访问策略的协调和执行,其中设备代理能够调整客户机以提供对驻留在外部设备上的应用必要的访问。然后用户能够在步骤425访问在外部设备上的任何应用和数据,该外部设备遵守来自客户机的访问策略。
图5是详述根据在此公开的本发明的安排的实施例,对在附接的外部硬驱动器上的数据和应用的、自动和直接的必要的访问的方法500的流程图。
方法500能够在步骤505开始,其中用户能够将外部硬驱动器附接到客户机。在步骤510,客户机的操作系统能够检测新硬件的添加,并且调用设备代理。应该注意到,设备代理能够以被动状态运行,直到需要增加响应率。
在步骤515,设备代理能够从外部硬驱动器的本地配置存储中检索信息,并且创建候选者列表。候选者列表能够包括包含在外部驱动器上的应用和数据文件。在步骤520,设备代理能够调用策略管理器。
在步骤525,策略管理器从外部硬驱动器和客户机的系统检索策略列表。在步骤530,策略管理器能够协调有效的策略。接下来,在步骤535,策略管理器对照有效策略检查候选者列表的条目。万一候选者列表条目不符合有效策略,则流程进行到步骤540,其中该条目可以从候选者列表中被移除。
万一候选者列表条目符合有效策略或者不符合的条目被从该列表移除,则流程进行到步骤545,其中能够确定是否已经到达候选者列表的末端。如果更多的条目存在于候选者列表之上,则步骤550出现,其中设备代理能够移动到该列表中的下一个条目。在步骤550执行之后,流程循环回到步骤535。当已经到达候选者列表的末端时,步骤555被执行,其中设备代理能够修改客户机的主配置存储。
图6是详述根据在此公开的本发明的安排的实施例,对在附接的外部硬驱动器上的应用提供自动和直接的必要的访问的调整处理的方法600的流程图。
方法600能够是方法500的扩展,在方法500结束的地方继续。因此,方法600以步骤605开始,其中设备代理能够确定客户机是否要求调整,以便运行在候选者列表中指定的应用。在步骤610,设备代理能够检索应用信息。当接收到该信息时,在步骤615,设备代理能够确定是否该应用已经存在于客户机上。
万一该应用已经存在于客户机上,则流程进行到步骤617,其中设备代理能够提示用户采取适当的动作。应该注意到,附加的动作能够用必要的附加的步骤实现,并且在方法600中图示的那些仅用于说明的目的。
如果用户选择拥有指定的应用版本,而不考虑在客户机上可用的版本,则步骤618被执行,其中设备代理能够进行必要的修改,以覆盖现存的版本。当完成步骤618时,流程进行到步骤625。万一用户选择拥有两个版本共存在客户机上,则流程还进行到步骤625。用户还可选择跳过用于该应用的任何操作,分支流程到步骤635。
然而,如果步骤615确定应用不存在于客户机上,则步骤620发生,其中设备代理能够添加应用的信息到客户机的主配置存储上。然后步骤625发生,其中如果必要,设备代理能够更新外部硬驱动器的本地配置存储。
在步骤630,设备代理能够执行适当的调整处理,该处理允许客户机运行应用的能力。然后步骤635能够确定是否已经到达候选者列表的末端。如果在候选者列表上存在更多的条目,则步骤640发生,其中设备代理能够移动到该列表中的下一个条目。在执行步骤640之后,流程循环回到步骤605。当已经到达候选者列表的末端时,步骤645被执行,其中设备代理能够终止其处理并且进入被动状态,直到需要。
图7是详述根据在此公开的本发明的安排的实施例,当外部设备从系统移除时,改变在附接的外部设备上的应用提供自动和直接的必要的访问的系统的方法700的流程图。
方法700能够以步骤705开始,其中用户能够从客户机分离外部设备。在步骤710,当外部设备被添加到客户机时,设备代理能够移除被添加到本地和主配置数据存储的数据。此外,设备代理能够从外部设备移除被拷贝到客户机的任何数据文件。
在步骤715,在当设备代理尝试移除晚于客户机上最初的应用版本时的情况下,设备代理能够通知用户。万一用户想要恢复先前的应用版本,则步骤720被执行,其中设备代理能够重置配置存储条目到适合先前版本的值。
万一用户希望忽略先前的应用版本,则流程分支到步骤717。在步骤717,设备代理能够清除与应用相关联的配置存储条目。在步骤718,设备代理能够选择性地触发客户机以卸载应用。
最后,步骤72被执行,其中设备代理能够从外部设备移除被拷贝到客户机上的所有数据文件。应该注意到,在步骤717、718、720和725中执行的动作可以作为功能被包括在调整处理中。这些步骤被特别地详述以说明在该方法700期间所进行的改变的深度。
图8是方法800的流程图,其中根据在此公开的本发明的安排的实施例,服务代理能够配置系统以便提供对在附接的外部设备上的应用的自动和直接的必要的访问。
当客户启动服务请求时,方法800能够在步骤805开始。服务请求能够是这样的请求:服务代理建立新系统以提供对附接的外部设备上的应用的自动和直接的必要的访问。该服务请求还能够是解决现存系统问题的请求,该系统提供对附接的外部设备上的应用的自动和直接的必要的访问。
在步骤810,人工代理能够被选择以响应服务请求。在步骤815,人工代理能够分析客户的当前系统,并且能够开发解决方案。该解决方案能够导致系统200或者以自动方式支持对附接的外部设备上的数据和应用的直接的必要的访问的任何系统,如执行方法400的各步骤的系统。
在步骤820,人工代理能够配置客户的系统,以提供对附接的外部设备上的应用的自动和直接的必要的访问。这能够包括在客户机上安装设备代理和策略管理器。这也能够包括在外部设备上安装本地配置存储和调整处理,以及策略列表的实现。
在步骤825,人工代理能够可选地维护现存系统,该现存系统被配置来为客户提供对外部设备上的数据和应用的直接的必要的访问。在步骤830,人工代理能够完成该服务活动。
本发明可以以硬件、软件或硬件和软件的结合来实现。本发明可以在一个计算机系统中以集中方式、或者以分布式方式实现,在分布式方式中不同的元素散布在若干互连的计算机系统间。任何类型的计算机系统或适合于实现在此描述的方法的其它装置是适合的。硬件和软件的典型组合可以是具有计算机程序的通用计算机系统,当该计算机程序被加载并且执行时,控制计算机系统,使得它实现在此描述的方法。
本发明还可以被嵌入计算机程序产品,该计算机程序产品包括使在此描述的方法能够实现的所有特征,并且当其被载入计算机系统时,能够实现这些方法。在本发明的环境中的计算机程序意味以任何语言、代码或者符号的表达,其具有一组意在导致具有信息处理能力的系统直接地或者在如下二者之一或全部之后,执行特定功能的指令:a)转换到另一语言、代码或符号;b)以不同的材料形式复制。
Claims (21)
1.一种方法,用于无论何时外部设备被连接到计算设备,就允许存储在外部驱动器中的应用从计算设备的软件环境执行,所述方法包括:
在外部驱动器中存储至少一个外部软件应用,其中涉及该软件应用的外部配置项目被存储在外部驱动器的外部配置存储中;
将外部驱动器连接到计算设备,所述计算设备具有本地配置存储,包括涉及安装在计算设备的本地软件环境中的本地软件应用的本地配置项目;
自动将外部配置项目添加到本地配置存储,其中添加步骤允许外部软件应用从本地软件环境内执行;
从计算设备断开外部设备;以及
自动从本地配置存储移除外部配置项目。
2.如权利要求1所述的方法,其中连接步骤和断开步骤由计算设备自动检测,其中连接步骤的检测触发添加步骤,而其中对断开步骤的检测触发移除步骤。
3.如权利要求1所述的方法,其中被添加的外部配置项目中的至少一个将图形项目添加到本地软件环境的图形用户接口,其中添加的图形项目的用户选择导致外部软件应用在本地软件环境中执行。
4.如权利要求1所述的方法,其中被添加的外部配置项目的至少一个导致本地软件环境将至少一个文件类型与外部软件应用相关联,其中在关联之后,具有该文件类型的文件的用户选择导致外部软件应用在本地环境中执行,并且自动在执行应用中打开该文件。
5.如权利要求1所述的方法,其中外部配置项目包括涉及外部软件应用的一组保密策略,其中添加步骤导致该组保密策略在外部软件应用被从本地软件环境访问时被应用。
6.如权利要求1所述的方法,其中外部配置项目包括应用程序接口和动态链接库中的至少一个。
7.如权利要求1所述的方法,其中本地配置存储和外部配置存储包括相同运行时组件的不同版本,其中添加步骤导致运行时库的不同版本中的最当前的一个在本地软件环境中被激活。
8.如权利要求1所述的方法,其中本地配置存储和外部配置存储包括相同软件应用的不同版本,其中添加步骤导致不同版本的软件应用中的最当前的一个在本地软件环境中被激活,并且导致该最当前的一个被链接到本地软件环境中具有与该软件应用相关联的文件类型的各文件。
9.如权利要求1所述的方法,其中连接步骤通过通用串行总线USB连接、火线连接和外部串行ATA连接中的至少一个发生。
10.如权利要求1所述的方法,其中内部配置存储是用于基于MICROSOFT WINDOWS的平台或在其它平台上的等价物的应用注册表。
11.如权利要求1所述的方法,其中权利要求1的各步骤由服务代理和由该服务代理操纵的计算设备的至少一个执行,各步骤被执行以响应服务请求。
12.如权利要求1所述的方法,其中权利要求1的所述各步骤,由至少一个机器根据至少一个具有由该至少一个机器可执行的多个代码部分的计算机程序执行。
13.一种方法,用于允许安装在可移除外部驱动器上的软件应用被用在本地环境中,所述方法包括:
将软件应用安装到外部驱动器,其包括在外部驱动器的外部配置存储中创建用于软件应用的多个配置项目;
自动检测外部驱动器何时被连接到主管具有本地配置存储的本地软件环境的本地计算设备;以及
动态和自动地将用于被安装的软件应用的配置项目添加到本地配置存储,其中所述添加的配置项目包括添加图形项目到本地软件环境的图形用户接口的至少一个配置项目,并且包括导致本地软件环境将至少一个文件类型与外部软件应用相关联的至少一个配置项目,其中图形项目和具有相关联的文件类型的文件的至少一个的用户选择导致外部软件应用在本地软件环境中执行。
14.如权利要求13所述的方法,还包括:
自动检测何时外部驱动器从本地计算设备断开;以及
动态和自动地移除与安装的软件应用相关联的添加的配置项目。
15.如权利要求14所述的方法,还包括:
将外部驱动器连接到不同的本地计算设备,其中检测和添加步骤对不同的本地计算设备被自动执行。
16.如权利要求13所述的方法,其中外部设备包括多个安装的软件应用和相关的配置项目,并且其中添加步骤还包括:
将用于多个安装的软件应用的配置项目添加到本地配置存储。
17.如权利要求13所述的方法,其中外部驱动器通过通用串行总线USB连接、火线连接和外部串行ATA连接的至少一个被连接到本地计算设备。
18.如权利要求13所述的方法,其中内部配置存储是用于基于MICROSOFT WINDOWS的平台或在其它平台上的等价物的应用注册表。
19.如权利要求13所述的方法,其中权利要求13的所述各步骤,由至少一个机器根据至少一个具有由该至少一个机器可执行的多个代码部分的计算机程序执行。
20.如权利要求13所述的方法,其中权利要求13的各步骤由服务代理和由该服务代理操纵的计算设备的至少一个执行,各步骤被执行以响应服务请求。
21.一种系统,包括用于实现根据权利要求1-20中的任何一个所述的方法中的各步骤的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/560,405 US8041863B2 (en) | 2006-11-16 | 2006-11-16 | Automated solution to provide personalized user environment on any public computer using portable storage devices with personalized user settings uploaded to local registry of public computer |
US11/560,405 | 2006-11-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101187878A true CN101187878A (zh) | 2008-05-28 |
CN100530100C CN100530100C (zh) | 2009-08-19 |
Family
ID=39418231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101867220A Expired - Fee Related CN100530100C (zh) | 2006-11-16 | 2007-11-16 | 用于允许存储在外部驱动器上的应用执行的系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8041863B2 (zh) |
CN (1) | CN100530100C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004655A (zh) * | 2010-11-25 | 2011-04-06 | 北京飞天诚信科技有限公司 | 自动安装驱动程序的装置及方法 |
CN102096595A (zh) * | 2009-08-23 | 2011-06-15 | 美国银行公司 | 动态配置系统 |
CN102473099A (zh) * | 2009-06-30 | 2012-05-23 | 佳能株式会社 | 信息处理装置、控制方法和存储介质 |
CN102804133A (zh) * | 2009-06-19 | 2012-11-28 | 微软公司 | 被管理的系统可扩展性 |
US9201665B2 (en) | 2009-08-23 | 2015-12-01 | Bank Of America Corporation | Outputting presentation code updated for a particular user in response to receiving a page identifier |
CN111198830A (zh) * | 2019-11-22 | 2020-05-26 | 广州视源电子科技股份有限公司 | 移动存储设备的识别方法、装置、电子设备以及存储介质 |
CN111290351A (zh) * | 2020-01-21 | 2020-06-16 | 深圳市雷赛软件技术有限公司 | 一种驱动器管理方法、系统、计算机设备及存储介质 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9557979B2 (en) * | 2007-10-17 | 2017-01-31 | International Business Machines Corporation | Autonomic application installation |
KR101478619B1 (ko) * | 2008-02-27 | 2015-01-06 | 삼성전자주식회사 | 가상화 기술을 이용한 데이터 입출력 방법 및 장치 |
US8473941B2 (en) * | 2008-07-08 | 2013-06-25 | Sandisk Il Ltd. | Dynamic file system restriction for portable storage devices |
US20160320938A9 (en) * | 2009-03-17 | 2016-11-03 | Litera Technologies, LLC | System and Method for the Auto-Detection and Presentation of Pre-Set Configurations for Multiple Monitor Layout Display |
US20100287529A1 (en) * | 2009-05-06 | 2010-11-11 | YDreams - Informatica, S.A. Joint Stock Company | Systems and Methods for Generating Multimedia Applications |
US20110119191A1 (en) * | 2009-11-19 | 2011-05-19 | International Business Machines Corporation | License optimization in a virtualized environment |
US8458450B2 (en) * | 2010-07-14 | 2013-06-04 | Hewlett-Packard Development Company, L.P. | Configuring a computing machine to use a component driver to directly control at least one of initialized hardware components of another computing machine |
US20120174212A1 (en) * | 2010-12-29 | 2012-07-05 | Microsoft Corporation | Connected account provider for multiple personal computers |
CN102955749A (zh) * | 2011-08-26 | 2013-03-06 | 练新 | 外部设备扩展方法及外部设备 |
CN102902566A (zh) * | 2012-09-29 | 2013-01-30 | 广东欧珀移动通信有限公司 | 一种应用软件的安装及启动方法和装置 |
KR101822463B1 (ko) | 2013-01-21 | 2018-01-26 | 삼성전자주식회사 | 복수 개의 아이콘들을 화면상에 배치하는 장치 및 이의 운용 방법 |
CN105900525B (zh) | 2014-01-15 | 2019-11-08 | 诺基亚技术有限公司 | 利用远程资源直接控制智能设备的方法和装置 |
US9659182B1 (en) * | 2014-04-30 | 2017-05-23 | Symantec Corporation | Systems and methods for protecting data files |
US10642968B2 (en) | 2014-09-24 | 2020-05-05 | Nokia Technologies Oy | Controlling a device |
US10235187B2 (en) * | 2016-04-29 | 2019-03-19 | Wyse Technology L.L.C. | Merging application configurations to enhance multi-layer performance |
US10216939B2 (en) * | 2016-04-29 | 2019-02-26 | Wyse Technology L.L.C. | Implementing a security solution using a layering system |
US9998551B1 (en) * | 2016-10-24 | 2018-06-12 | Palantir Technologies Inc. | Automatic discovery and registration of service application for files introduced to a user interface |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5884035A (en) * | 1997-03-24 | 1999-03-16 | Pfn, Inc. | Dynamic distributed group registry apparatus and method for collaboration and selective sharing of information |
US6357021B1 (en) * | 1999-04-14 | 2002-03-12 | Mitsumi Electric Co., Ltd. | Method and apparatus for updating firmware |
US6529992B1 (en) * | 1999-07-26 | 2003-03-04 | Iomega Corporation | Self-contained application disk for automatically launching application software or starting devices and peripherals |
US6986038B1 (en) * | 2000-07-11 | 2006-01-10 | International Business Machines Corporation | Technique for synchronizing security credentials from a master directory, platform, or registry |
US7373656B2 (en) * | 2000-10-27 | 2008-05-13 | Sandisk Il Ltd. | Automatic configuration for portable devices |
US20020135613A1 (en) * | 2001-03-21 | 2002-09-26 | O'hara Sean M. | Transfer of personal information between computing systems |
US20030110371A1 (en) * | 2001-12-08 | 2003-06-12 | Yongzhi Yang | Methods and apparatus for storing, updating, transporting, and launching personalized computer settings and applications |
KR100444996B1 (ko) * | 2002-02-08 | 2004-08-21 | 삼성전자주식회사 | 인터넷을 통한 디바이스 드라이버 자동 설치 및 유지 보수방법 및 그 시스템 |
WO2003077053A2 (en) * | 2002-03-13 | 2003-09-18 | M-Systems Flash Disk Pioneers Ltd. | Personal portable storage medium |
US7587498B2 (en) * | 2002-05-06 | 2009-09-08 | Cisco Technology, Inc. | Methods and apparatus for mobile IP dynamic home agent allocation |
US7299422B2 (en) * | 2002-05-08 | 2007-11-20 | Migo Software, Inc. | System and method for transferring personalization information among computer systems |
US20040001088A1 (en) * | 2002-06-28 | 2004-01-01 | Compaq Information Technologies Group, L.P. | Portable electronic key providing transportable personal computing environment |
US7441108B2 (en) * | 2002-11-19 | 2008-10-21 | Ken Scott Fisher | Portable memory drive with portable applications and cross-computer system management application |
US7177915B2 (en) * | 2002-12-31 | 2007-02-13 | Kurt Kopchik | Method and apparatus for wirelessly establishing user preference settings on a computer |
US7239877B2 (en) * | 2003-10-07 | 2007-07-03 | Accenture Global Services Gmbh | Mobile provisioning tool system |
US7620667B2 (en) * | 2003-11-17 | 2009-11-17 | Microsoft Corporation | Transfer of user profiles using portable storage devices |
US6926199B2 (en) * | 2003-11-25 | 2005-08-09 | Segwave, Inc. | Method and apparatus for storing personalized computing device setting information and user session information to enable a user to transport such settings between computing devices |
US7600216B2 (en) * | 2004-04-22 | 2009-10-06 | Gteko, Ltd | Method for executing software applications using a portable memory device |
KR20060059395A (ko) * | 2004-11-29 | 2006-06-02 | 삼성전자주식회사 | 주변장치를 통해 호스트장치로 소프트웨어를 제공하는방법 및 호스트장치로 소프트웨어를 제공하는 주변장치 |
US20060288168A1 (en) * | 2005-03-01 | 2006-12-21 | Will Stevenson | Transportable computing environment |
US7912994B2 (en) * | 2006-01-27 | 2011-03-22 | Apple Inc. | Reducing connection time for mass storage class peripheral by internally prefetching file data into local cache in response to connection to host |
US7849267B2 (en) * | 2006-06-30 | 2010-12-07 | Moka5, Inc. | Network-extended storage |
US7865878B2 (en) * | 2006-07-31 | 2011-01-04 | Sap Ag | Method and apparatus for operating enterprise software from a detachable storage device |
US20080052776A1 (en) * | 2006-08-25 | 2008-02-28 | Nomadrive, Inc. | Method and apparatus of an unintrusive plug and play application virtualization platform |
US7774027B2 (en) * | 2006-09-28 | 2010-08-10 | Sandisk Corporation | Flash drive that configures generic bluetooth controller of the drive to be compatible with multiple bluetooth peripheral devices |
-
2006
- 2006-11-16 US US11/560,405 patent/US8041863B2/en not_active Expired - Fee Related
-
2007
- 2007-11-16 CN CNB2007101867220A patent/CN100530100C/zh not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102804133A (zh) * | 2009-06-19 | 2012-11-28 | 微软公司 | 被管理的系统可扩展性 |
CN102473099A (zh) * | 2009-06-30 | 2012-05-23 | 佳能株式会社 | 信息处理装置、控制方法和存储介质 |
CN102473099B (zh) * | 2009-06-30 | 2014-12-10 | 佳能株式会社 | 信息处理装置及其控制方法 |
CN102096595A (zh) * | 2009-08-23 | 2011-06-15 | 美国银行公司 | 动态配置系统 |
US9032368B2 (en) | 2009-08-23 | 2015-05-12 | Bank Of America Corporation | Dynamic configuration system |
US9201665B2 (en) | 2009-08-23 | 2015-12-01 | Bank Of America Corporation | Outputting presentation code updated for a particular user in response to receiving a page identifier |
CN102004655A (zh) * | 2010-11-25 | 2011-04-06 | 北京飞天诚信科技有限公司 | 自动安装驱动程序的装置及方法 |
CN102004655B (zh) * | 2010-11-25 | 2013-06-19 | 飞天诚信科技股份有限公司 | 自动安装驱动程序的装置及方法 |
US8972976B2 (en) | 2010-11-25 | 2015-03-03 | Feitian Technologies Co., Ltd. | Device and method for automatic driver installation |
CN111198830A (zh) * | 2019-11-22 | 2020-05-26 | 广州视源电子科技股份有限公司 | 移动存储设备的识别方法、装置、电子设备以及存储介质 |
CN111198830B (zh) * | 2019-11-22 | 2021-08-10 | 广州视源电子科技股份有限公司 | 移动存储设备的识别方法、装置、电子设备以及存储介质 |
CN111290351A (zh) * | 2020-01-21 | 2020-06-16 | 深圳市雷赛软件技术有限公司 | 一种驱动器管理方法、系统、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US8041863B2 (en) | 2011-10-18 |
US20080120439A1 (en) | 2008-05-22 |
CN100530100C (zh) | 2009-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100530100C (zh) | 用于允许存储在外部驱动器上的应用执行的系统和方法 | |
US10511661B2 (en) | N-way synchronization of desktop images | |
AU2009257865B2 (en) | Synchronizing virtual machine and application life cycles | |
US9672078B2 (en) | Deployment and management of virtual containers | |
US7774762B2 (en) | System including run-time software to enable a software application to execute on an incompatible computer platform | |
RU2421785C2 (ru) | Автоматизированное управление драйверами устройств | |
US8078649B2 (en) | Method and system for centrally deploying and managing virtual software applications | |
US8762986B2 (en) | Advanced packaging and deployment of virtual appliances | |
US7979869B2 (en) | Method and system for performing I/O operations using a hypervisor | |
US20080222160A1 (en) | Method and system for providing a program for execution without requiring installation | |
US7886292B2 (en) | Methodology of individualized software deployment for hardware-independent personal computer mass development | |
JP2003114801A (ja) | コンピュータサービスおよびプログラマブルデバイスの管理を自動化するシステムおよび方法 | |
CN102279765A (zh) | 预编译托存托管代码 | |
AU2007254474A1 (en) | Updating virtual machine with patch or the like | |
US20090271605A1 (en) | Method and apparatus for restoring system using virtualization | |
US8458693B2 (en) | Transitioning from static to dynamic cluster management | |
US20070282801A1 (en) | Dynamically creating and executing an application lifecycle management operation | |
EP2805233B1 (en) | Installation engine and package format for parallelizable, reliable installations | |
EP1607861A2 (en) | Method and apparatus for deploying software applications using a zone architecture | |
US20100287552A1 (en) | Method for providing integrated application management | |
WO2018103372A1 (zh) | 一种驱动管理方法及宿主机 | |
CN107968794B (zh) | 一种虚拟光驱挂载方法及系统、服务器、终端 | |
CN114880073A (zh) | 一种对用户屏蔽Web框架的云应用引擎部署方法、装置、设备和存储介质 | |
EP1720098A1 (en) | System including run-time software to enable a software application to execute on an incompatible computer platform | |
Cao et al. | Demo abstract: An interactive UNIX shell for low-end sensor nodes with LiteOS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090819 Termination date: 20181116 |