将包括配置设置的应用程序从一个对等安装到另一个对等的制作方法

文档序号:6570129阅读:267来源:国知局

专利名称::将包括配置设置的应用程序从一个对等安装到另一个对等的制作方法将包括配置设置的应用程序从一个对等安装到另一个对等
技术领域
在此所迷的主题涉及在计算机上安装应用程序。具体而言,在此所迷的主题涉及用于将应用程序从一个对等(peer)安装到另一个对等的方法、系统和计算机程序产品,其中所述应用程序包括应用程序配置设置和数据。技术背景传统上,在诸如零售店或因特网站点之类的销售点经销软件应用程序。当购买时,购买者通常收到物理安装介质,诸如光盘、磁带、或数字多功能光盘(DVD)。当用户在朋友的机器上看到其喜欢的应用程序时,该用户必须寻找地点以购买该应用程序。这种寻找可能要求用户打电话给本地零售店或者跑到零售店、进行基于web的搜索以发现因特网销售商、或者经常花费许多天来邮购软件应用程序。对于购买CD或者DVD而言,用户必须找到购买软件应用程序的零售店或者必须等待运货。在任何基于物理介质的安装中,必须物理上交换该物理安装介质。与购买者的朋友的机器相关联的配置设置和数据在安装时刻通常是不可用的。通常要求购买者花费几个小时去配置新的软件的应用程序那样操作。随着软件应用程序的复杂性的增加,对它们进行配置的工作也增加。Web安装是冗长繁重的。用户必须找到统一资源定位符(URL)并且处理安全和访问控制以便在他或她的计算机上安装应用程序。当利用物理介质时,经由web使用朋友的配置设置和数据来安装应用程序是不可能的。购买者仍须花费大量的时间去配置软件应用程序以获得与他或她朋友机器上的配置相似的配置。可以使用服务器安装将应用程序"推入(push)"到目标机器(destinationmachine)上。该推入安装常规上由系统管理者进行管理并且不允许最终用户去选择任何应用程序配置或数据。用户仅可用由管理者所选择的那些配置设置和数据。对于基于服务器的安装,用户通常不能调整所安装的应用程序的配置并因此不能增强应用程序环境。对等(P2P)文件共享已经被用于在计算机之间拷贝文件,但是共享应用程序和使用现有的P2P方法仍旧没有安装配置设置和数据的能力。而且,P2P文件共享不会获得被拷贝的任何应用程序的许可,从而导致应用程序不能运行或者应用程序可以运行但是没有适当的许可。通常在安装完成之后,安装文件不会留在计算机上。因此,当物理上可以拷贝的应用程序被拷贝时,其可能不能适当地安装到操作系统环境中。此外,由于作为可4丸行文件的安装镜像(installationimage)的分类以及这些安装镜像和所有其他与应用程序相关联的可执行文件一起的存储,安装镜像的识别经常是一项复杂的任务。许可是另一个问题,传统上在销售点处利用安装介质上的密封来管密封就承认接受了许可协议的条款和条件。对于基于web的购买并且在许多软件应用程序的安装过程中,具有单选按钮的许可对话框通常提示用户在购买者的个人计算机上安装软件应用程序之前接受许可协议。不经过来自源介质的正式安装过程而确定某人的系统是否支持应用程序通常是非常困难的,如果不是不可能的话。文件系统属性通常不揭示系统要求并且系统的复杂性通常妨碍一般用户确定如何安装这种应:用程序。因此,考虑到与传统应用程序安装相关联的这些困难,需要用于将应用程序从一个对等安装到另一个对等的改良方法、系统和计算机程序产品,其中所述应用程序包括应用程序配置设置和数据。
发明内容根据一个方面,在此所述的主题包括用于提供应用程序安装的方法、系统和计算机程序产品。一种方法包括检测源设备上应用程序的安装,响应于检测应用程序安装,产生包括源设备特有安装信息的描述符,以及将描述符发布(publish)到对等目标设备可访问的描述符数据存储器,其中配置该描述符以供对等目标设备用来在对等目标设备上安装该应用程序的至少一部分。通过使用包括计算机可读介质中所包含的计算机可执行指令的计算机程序产品可实施在此所述的提供应用程序安装的主题。适于实施在此所述主题的示范性计算机可读介质包括磁盘存储器设备、可编程逻辑器件、专用集成电路、以及可下载的电信号。另外,实施在此所述主题的计算机可读介质可以分布在多个物理设备和/或计算平台上。现在将参考附图来解释在此所述主题的优选实施例图1是根据在此所述主题的实施例的示范性分布式的基于对等(peer-based)的应用程序安装系统的方块图,所述系统允许用户从分布式安装平台安装任选地包括配置设置和数据的应用程序;图2是示出根据在此所述主题的实施例的分布式的基于对等的应用程序安装过程的流程图,该安装过程通过响应于检测应用程序的安装而产生描述符以在对等目标设备上安装应用程序;程序安装过程的流程图,该安装过程:过使用远离^对^和对等目才示设备两者的设备在对等目标设备上安装应用程序;以及图4是示出根据在此所述主题的实施例的分布式的基于对等的应用程序安装过程的流程图,所述安装过程使用各种描述符类型在对等目标设备上安装应用程序。具体实施方式考虑到以上所述的关于应用程序安装的传统方法的问题,在此所述的主题提供了从一个对等到另一个对等的包括应用程序配置设置和数据的应用程序的安装。先前要求用户管理安装过程并且在安装之后配置应用程序,但是此处所述的方法、系统和计算机程序产品为用户管理安装和配置过程并且允许初始化数据文件以及将其与应用程序相关联。通过调整(adapt)源计算机上的初始安装过程来描述安装选项并且发布可用于安装的应用程序,对等计算机可以定位用于安装的应用程序并且启动安装过程,而没有与传统安装和配置过程相关的上述复杂情况。通过在用户修改应用程序配置时调整所安装的应用程序以更新配置选项,对等计算机能够利用与源计算机的配置设置和数据相似的配置设置和数据来安装应用程序。图1示出了示范性分布式的基于对等的应用程序安装系统100,其允许用户从分布式安装平台安装任选地包括配置设置和数据的应用程序。分布式基于对等的应用程序安装系统ioo可以用于为每一执行的安装迅速(virally)分布包括配置设置和数据的应用程序。如以下更加的基于对等的应用程序安装系统100并因此可以减少安装介质成本和安装服务器带宽要求。在图1中,系统100包括通过网络108互连的计算设备l(CDl)102,CD2104,以及应用程序开发者许可和分发(distribution)服务器106。CD1和CD2可以包括任何计算设备。例如,CD1和CD2可以是个人计算机、PDA、蜂窝电话或者能够运行具有用户接口的应用程序的任何其他计算设备。CD1102包括分发器代理(distributoragent)110和描述符数据存储器112。分发器代理110是用于协调应用程序、配置设置、以及数据从源设备到对等目标设备的分发的基于对等的应用程序分发接口。描述符数据存储器112可由对等目标设备访问。如在图l中由这些部件的虛线表示所示,在不脱离在此所述的主题的范围的前提下,可以将分发器代理110和描述符数据存储器112定位在应用程序开发者许可和分发服务器106上。可以安装在CD1102上安装的应用程序114,其中在安装时产生描述符116,或者描述符116可以响应于来自对等的安装应用程序114的拷贝的请求在稍后的时间产生。当描述符116在安装时间产生时,描述符116可以被引用(reference)或存储在描述符数据存储器112中并被发布以由诸如CD2104的其他计算机通过网络108进行访问,或者可以单独存储。当描述符116是响应于对等检测到应用程序ll4的安装并发出安装请求而产生时,可以创建并使用描述符116,其中可以对其进行存储以供将来所用或不存储。描述符116可以包括源设备特有(source-device-specific)安装信息,所述信息包括源设备标识符。描述符116也可以包括指向服务器的URL,其中应用程序安装文件可以位于所述服务器上。因此,安装文件可以从诸如应用程序开发者许可和分发服务器106之类的服务器上安装,或者从CD1102上安装,而配置设置和数据可以"任选地"从诸如CD1102之类的源设备上安装。诸如应用程序114的哪些;f莫块或部分安装在CD1102上的配置设置和数据可以包含于描述符116内。分发器代理110可以被用于响应于识别应用程序114或描述符数据存储器112内的描述符116的安装请求来分发应用程序114。CD2104包括安装客户端(installclient)118,该安装客户端可以搜索诸如描述符数据存储器112的描述符数据存储器以期找到可能被安装的应用程序。安装客户端118可以使用被设计用于定位和分发应用程序和数据的协议。当安装客户端118定位了用于应用程序114的描述符116时,可以在CD2104上将应用程序114安装为包括配置设置和数据的应用程序120。在安装过程中,可创建描述符122。也可以在CD2104上创建新的分发器代理124和描述符数据存储器126,并且描述符122可以被引用或存储在描述符数据存储器126内并且被发布以供其他计算才几用户访问。在将CD1102的应用程序114安装为CD2104的应用程序120的过程中,可以使用应用程序开发者许可和分发服务器106提供许可和安装支持。可以访问许可代理128以获得应用程序120的有效许可。在安装过程中,CD2104的用户可以通过安装客户端118与许可代理128接口以提供适于获得有效许可以便运行应用程序120的信用卡或其他帐单信息。也可以使用服务器安装代理130以对CD1102和CD2104之间的兼容性问题进行管理。例如,在CD1102和CD2104具有不同操作系统或者不同硬件平台的情况下,服务器安装代理130可以提供适当的驱动器组或部件组以由应用程序120在CD2104上使用,其中所述不同硬件平台需要不同的驱动器组或应用程序114的其他部件以便其在CD2104上使用。可选地,可以使用服务器安装代理130向CD2104提供完整的应用程序120,同时可以从CD1102安装应用程序114的配置设置和数据。分布式的基于对等的应用程序安装系统IOO提供了一种灵活的、迅速的(viral)应用程序安装环境,借此用户可以安装和许可包括配置设置和数据的应用程序,而没有传统系统的大量的配置要求。另外,在应用程序120已经驻留在CD2104的情况下,也可以通过分布式的基于对等的应用程序安装系统IOO执行版本升级与配置设置和数据拷贝。通过这种方式,可以将应用程序、设置和数据从一个机器移植到另一个机器。同样,在购买新计算机时,用户可以将应用程序、配置设置、和数据从旧计算机移植到新计算机,而没有从头开始安装所有软件应用程序并且重新配置每一个应用程序用于用户的优选设置的负担。组织也可以利用分布式的基于对等的应用程序安装系统100以通过在一个系统上执行初始安装并且迅速地将其分发到该组织所使用的其他计算机来复制带有设置和数据的特定安装。开发者也可以使用分布式的基于对等的应用程序安装系统IOO分发软件应用程序并且争取(enlist)应用程序拥有者去登记他们的软件以用于随后分发到新的顾客。通过这种方式,开发者可以减轻他们的服务器的负担(offloadtheirservers)。作为现有顾客这样做的激励,对于从他们的机器进行的每一应用程序安装可以对现有顾客支付费用。应该指出,如果需要的话,计算机拥有者可以限制对配置设置和数据的访问。分布式的基于对等的应用程序安装系统100的示范性应用包括在一个计算机上安装部门曰程客户端(departmentcalendarclient)的拷贝并且将日程客户端分发到其他部门成员。通过在电子邮件消息中发送链接到所有部门成员,在初始安装和配置之后可以分发日程客户端。该链接可以引用在诸如描述符数据存储器112之类的描述符数据存储器内,的诸如描述符116的描述符。通过跟随该链接,每个部门成员可以迅速地在他们的本地计算机上安装客户端日程。如以上所讨论的那样,在安装过程中,安装镜像的执行可能检查依赖性并且通过从诸如应用程序开发者许可和分发服务器106之类的公知位置检索到其所依赖的任何缺失软件而对其进行安装。安装镜像的执行也可以从诸如许可代理128之类的许可服务器获得许可,并且在安装期间,可以将配置设置和数据从诸如CD1102上的应用程序114的初始安装的应用程序拷贝到各部门成员的计算机上。在另一种情况中,新雇员的任务可能是装配一个新计算机以使用打印机、地址列表和用于部门间和客户通信的设置。将该新雇员引导到一个网站,在该网站他或她可以浏览网络以找到同事的机器或者指定用于迅速分发应用程序的源机器,并且通过为^期望安装的每一应用程序选择诸如描述符116之类的描述符来开始装配新计算机。在替代实施例中,计算机用户实际上可以从朋友或同事的机器购买应用程序。在美国,很容易想象有人需要在四月十四号交纳他们的所得税。假设纳税人住在离他或她能够购买税务准备软件的最近商店非常远的地方,他或她发现^艮难在四月十五号之前(包括四月十五号)获得所得税软件应用程序、安装、配置该应用程序并完成必要的所得税表格。然而,如果納税人得知一个朋友使用一种用于税务准备的应用程序并且该用户在他的或她的计算机上已经具有配置过的应用程序拷贝,那么该纳税人可以使用分布式的基于对等的应用程序安装系统ioo购买预先配置过的并且即可使用的该软件。纳税人的朋友可以提供通信端口,诸如本地网络或者诸如网络108的网络,纳税人通过该通信端口可以连接到朋友的机器。然后纳税人可以在其朋友机器上搜索描述符数据存储器,直到找到用于税务准备软件应用程序的诸如描述符116之类的描述符。然后,纳税人可以通过在他或她的机器上开始应用程序的安装(包括连接到卖主的网站以输入信用卡或其他支付信息用于许可目的),将应用程序"拖拽"到他或她的机器上。许可密钥可由应用程序开发者提供,并且纳税人可以很快开始税务准备。可选地,在不脱离在此所述主题的范围的前提下,纳税人的朋友可以在他或她机器上访问诸如分发器代理110之类的分发器代理并且执行"推入"操作以引导分发器代理在纳税人的机器上安装应用程序。此外,在不脱离在此所述主题的范围的前提下,当使用本地网络并且对web的当前访问不可用时,用户可以下载包括配置设置和数据的应用程序,然后为了许可访问web。诸如描述符116之类的描述符可以包括用于与其相关联的应用程序的简档(profile)。可以使用该简档安装、升级、以及配置应用程序。当安装应用程序114时可以创建描述符116,并且每次CD1102的用户改变应用程序114的配置设置时,可以修改所述描述符116。通过这种方式,描述符116卡可以包括用户选择的所有配置信息和设置。同样,描述符116可以包括与应用程序114使用的数据和数据文件相关的信息。通过在描述符116内包括配置设置和数据源,分布式的基于对等的应用程序安装系统IOO可被用于从一个对等机器到另一个机器迅速地安装包括配置设置和数据的应用程序。可以使用可扩展标记语言(XML)之类的格式对描述符定类型(type)并且将其配置为基于标志(tag)的描述符文件,其中每个标志可以与数据或可执行代码相关联。XML描述符文件内的每个标志可以与能够使用该描述符中的信息以开始所请求的操作的处理程序(handler)相关联。描述符可以通过发布的应用程序编程接口(API)从应用程序获得或者作为具有可识别名称或类型的单独的文件驻留在计算机上或者可以放置在发布的位置上以供其他计算机用户访问。现在将给出并描述描述符数据结构的实例。在以下描述符实例中,以可扩展标记语言(XML)才莫式或语法来示出所述描述符。描述符的许多其他格式和表示也是可能的,包括可执行描述符,并且认为所有的格式和表示在这里所述主题的范围内。描述符数据结构可以在安装时与源应用程序相关联。如上所讨论的那样,当安装应用程序时,创建描述符,并且一些字段填充了内容以识别在未来的对等安装期间可能有用的信息。以下表示适于推入类型安装的示范性拷贝描述符。<descriptor><copysource-"C:\settlngs\appsettings"target-"%prompt%"><filename="*7file></copy>u</descriptor>描述符标志(开始和结束)定义了描述符的边界。拷贝(Copy)标志包括可用于执行到目标对等的安装过程的信息或可执行代码的位置。如从描述符的拷贝部分所能看到的那样,存在用于源(source)、目的(target)和文件(file)的标志。源标志识别用于应用程序设置的目录,应用设置(appsetting)。当安装首次发生时,应用程序设置可包括缺省安装设置。当用户对安装的应用程序改变配置时,可以修改应用程序设置目录的内容以反映该改变。应用程序开发者可以使应用程序设置目录的内容适应于每个应用程序。目的(Target)标志可以指定在目标(目的)对等上发生的动作或者指定在服务器上或者在目标对等上运行的代码。在这种情况下,描述符指示在目标对等用户接口上应当放置提示以允许对等用户输入安装的目标。文件标志包括名称标志,在该实施例中所述名称标志包括星号,指示在安装过程期间将拷贝所有的文件。源应用程序用户可能指定可以共享他或她的机器上驻留的应用程序版本,可以共享应用程序的安装(setup),以及共享用户数据。使用名称标志识别在可以净皮拷贝的文件上的限制可以允许用户在有关应用程序共享方面更加灵活。以下表示一种适于推入类型安装的示范性可执行描述符,其中源才几器与为目标对等机器提供安装文件的服务器一起行动。<descriptor><exesource="b:\settings\app\setupClient.exe%dest%"><paramkey="settings"value="C:\settings\app\appSettings.xml'7param></6X6><exetarget="http:〃myapp.com/targetlnstaller%dest%"/exe></descriptor>第一对exe标志包括位于源机器上的可4丸行文件setupClient.exe。Exe标志内的源(source)标志可以具有与以上关于基本拷贝描述符讨论的源标志不同的目的。对于exe标志而言,源标志可以指定在源对等才几器上4丸行的文件名称。在该示范性实施例中,setupClient.exe文件可以在源机器上运行并且可以被传递用于指示目标对等机器的目标参数,%dest%。可以使用目标参数的任何合适格式,包括例如目标对等才几器的网际协议(IP)地址。Param标志包括具有setupClient.exe文件所使用的相关值(value)标志的关键字(key)标志。在该实施例中,关键字标志指示在位于源对等机器上的appSettings.xml文件中可以找到应用程序的设置。appSettings.xml文件是setupClient.exe文件可理解的另一种模式,其可用于在源机器上存档与应用程序安装有关的特有信息。第二对exe标志包括目的(target)标志,所述目的标志可以用于识别要执行的安装程序的位置并且在安装过程期间与setupClient.exe协调。如从描述符所能够看到的那样,targetinstaller^丸行体(executable)位于月良务器设备上,并且照此变成可以在目标对等应用程序安装过程期间使用的服务器安装代理。当被调用时,targetinstaller执行体可以与setupClient.exe文件通信以检索源对等应用程序的版本标识符、应用程序设置、以及由源对等用户对应用程序拷贝设置的任何约束(例如,有关安装信息和用户数据拷贝的限制)。以下表示一种适于安装的示范性可执行描述符,其包括描述符内的统一资源定位符(URL)标志,该统一资源定位符(URL)标志识别位于服务器上的用于在目标对等机器上安装应用程序的安装执行体(installationexecutable)。该URL描述符可用于其中源才几器产生超文本传输协议(HTTP请求)的"推入"安装,也可以用于其中目标对等进行HTTP请求的"拖拽"安装。<descriptor><urltarget-"http:〃my卿.com/targetlnstaller0/。dest%"><paramkey-"settings"value="G.:\settings\app\appSettings,xmr/param></url></descriptor>URL标志包4舌目的(target)标志和param标志。这两个标志的功能与以上关于可执行描述符讨论的功能相似。URL标志可以被用于指定安装程序驻留在URL地址。具有相关关键字(key)和值(value)标志的param标志可以识别安装程序可使用的源对等信息。如同可执行描述符的情况一样,%dest%参数可以被传递到基于web的服务器以识别安装目标,并且可将源对等设置信息存储在appSettings.xml中,所述appSettings,xml是targetlnstaller应用程序可以理解的另一种才莫式并且可用于在源机器上存档与应用程序安装有关的特有信息。从源对等可得到的应用程序设置可以包括例如源对等应用程序的版本标识符、应用程序设置、以及由源对等用户对应用程序拷贝所设置的任何约束(例如有关安装信息和用户数据拷贝的限制)。也可以使用专有描述符以在使用描述符时允许实例化(instantiate)可执行对象,从而保存(conserve)与安装过程相关的内存,并且在需要执行安装时分配内存。以下表示一种示范性专有描述符,其适于执行在描述符内包括Java类(class)标志的应用程序安装,所述Java类标志供诸如分发器代理110之类的描述符分析器使用以实例化用于在目标对等机器上安装应用程序的安装程序对象。该专有描述符可用于其中源机器实例化可执行对象的"推入"安装或者用于其中目标对等实例化可执行对象的"拖拽"安装。<descriptor><com.ipac-co.targetAgentapplD="0xAB789FC3"%dest%><paramkey-"settings"value="C:\settings\app\appSettings.xml'7param></com.ipac-co.targetAgent></descriptor>Java类标志com.ipac-co,targetAgent是专有标志处理程序并且包括appID标志以当targetAgent对象^皮实例化时识别将净皮拷贝到目标对等机器的应用程序。如同以上讨论的其他可执行描述符一样,可以将%dest%参数传递到安装程序实例以识别安装目标并且param标志包括识别才莫式的关4建字(key)和值(value)标志,通过该冲莫式targetAgent对象可以理解可得到源应用程序的哪些属性以拷贝到目标对等。可以对以上讨论的描述符类型进行组合以创建更多通用的描述符。以下组合描述符包括拷贝描述符和专有描述符。<descriptor><copysource="C:settings\app\appSettings.xml"target='temp"/copy><com.ipac-co.targetAgentapplD="0xAB789FC3"><exetargeW'configureAgent"/exe></com.ipac-co.targetAgent></descriptor>组合描述符表示以上所讨论的各个方面。因此,参考以上的讨论应该充分理解组合描述符的各个方面。诸如分发器代理110之类的分发器代理可以发布描述符并且使得它们对其他计算机用户可用。分发器代理110可以是基于web的应用程序或者可以是简单的邮件传输协议(SMTP因特网邮件)或者是文件传输协议(FTP)服务。分发器代理IIO可以使用专有协议或开源协议。诸如描述符数据存储器112之类的描述符数据存储器可以包括源部件(sourcecomponent),该源部件通告可从诸如CD1102之类的计算机分发的实体。描述符数据存储器112可以是开放式的并且可由连接到CD1102的所有计算机进行访问或者需要鉴权并且可以支持访问控制以限制对可分布实体的访问。描述符数据存储器112例如可以是使用HTTP或FTP的web服务器并且可以经由公知的端口或路径进行访问,所述端口或路径例如端口9090和基于http的描述符服务。用户能将他或她的web浏览器指向http://peerHostName:9090并且在该位置浏览形式为文本描述、图标或任意其他合适表示的可用描述符。也可以将描述符以文件共享的方式进行存储。例如,可以在网络上创建并发布共享目录,i者如WpeerHostName/applicationDescriptors,其表示SMB地址。分发器代理110也可以提供非常类似于以上讨论的浏览器实施例的应用程序编程接口(API),或者可以允许客户侧应用程序使用描述符信息执行搜索。图2示出了一种示范性的分布式的基于对等的应用程序安装过程200,其通过响应于检测到应用程序的安装而产生描述符以在对等目标设备上安装应用程序。在块202,分布式的基于对等的应用程序安装过程200可以检测源设备上的应用程序的安装。在块204,响应于对应用程序安装所进行的检测,分布式的基于对等的应用程序安装过程200可以产生包括源设备特有安装信息的描述符。在块206,分布式的基于对等的应用程序安装过程200可以将所述描述符发布到对等目标设备可访问的描述符数据存储器。配置该描述符以供对等目标设备用于在对等目标设备上安装该应用程序的至少一部分。图3示出了一种示范性分布式的基于对等的应用程序安装过程300,其通过使用远离源对等和对等目标设备两者的设备在对等目标设备上安装程序。在块302,分布式的基于对等的应用程序安装过程300可以从源设备并且与源设备上应用程序的安装的检测有关接收包括源设备特有安装信息的描述符。在块304,分布式的基于对等的应用程序安装过程300可以从作为源设备的对等的目标设备接收所选择的描述符。在块306,分布式的基于对等的应用程序安装过程300可以基于该描述符在对等目标设备上提供该应用程序的至少一部分的安装。图4示出了一种示范性分布式的基于对等的应用程序安装过程400,其使用各种描述符类型在对等目标设备上安装应用程序。在块402,可以将描述符与源设备上所安装的应用程序相关联,所述描述符包括使得能够在对等目标设备上进行任选地包括配置设置和数据的第二安装的内容。在块404,将与应用程序相关联的描述符发布到可由对等目标设备访问的描述符数据存储器,其中配置描述符以供对等目标设备用于在对等目标设备上安装该应用程序的至少一部分。在判定点406,分布式的基于对等的应用程序安装过程400可以等待对等安装请求。当已经接收到对等安装请求,在块408,可以分析描述符以确定新安装的安装需求。在块410可以获得新安装的许可。如以上所讨论的那样,可以使用诸如许可代理128之类的许可代理获得新安装的许可。在判定点412,做出关于描述符是否为拷贝描述符的判断。如果不是,可以使用判定点414以确定该描述符是否为可执行描述符。如果该描述符不是可执行描述符,那么可以使用判定点416确定该描述符是否为URL描述符。如果该描述符不是URL描述符,那么可以使用判定点418确定该描述符是否为专有描述符。如果该描述符不是已知类型的描述:等待新的对)安i请求:为fi单起见,在此不;讨论;差处理机制。然而许多误差处理机制是可能的并且认为所有的误差处理机帝)都在这里所述的主题的范围内。当在判定点412确定描述符是拷贝描述符时,在块420可以向对等目标设备提示对等目标设备上的安装位置。在判定点422,分布式的基于对等的应用程序安装过程400可以等待将从对等所接收的目标(destination)并且可以重复地再次提示该对等直到接收到目标。尽管未在图4中描绘,但是可以使用超时机制以防止活锁。当接收到目标时,如在判定点422所确定的,在块424,可以在对等目标设备上任选地执行安装程序或者从本地计算机继续安装执行。在块426,可以将任选地包括配置设置和数据的应用程序的至少一部分安装到对等目标设备。当在判定点414确定描述符是可执行描述符时,在块428执行本地源配置。和本地源配置执行一起操作,可以在块430执行目的(target)web服务器应用程序安装程序。可选地,目标对等设备上的可执行代码i装应用程序。本地J配置执行体口和Z的we"/服务器应用程序安i程序执行体可以彼此协力工作以安装适合于对等目标的硬件和操作系统的应用程序版本。当源设备上的应用程序版本适合于对等目标设备时,任选地包括所有配置设置和数据的应用程序可来源于源设备。可选地,当应该在对等目标设备上安装不同版本时,目的web服务器应用程序安装程序可以为该版本汇编(assemble)所有合适的文件并且本地源配置扭i行体可以任选地为应用程序提供配置设置和数据。在该情况中,目的web服务器应用程序安装程序可以将配置设置修改或适应于新版本并且可以转换任何数据以允许其被对等目标设备上所安装的新版本应用程序使用。当在判定点416确定描述符是URL描述符时,在块430执行目的web服务器应用程序安装程序。当在判定点418确定描述符是专有描述符时,在块432实例化与专有标志相关联的安装程序对象并在源对等设备上执行该安装程序对象。如同导致转移到块426的判定点412—样,判定点414、416和418的每一个都同样导致转移到块426。在将任选地包括配置设置和数据的至少一部分应用程序安装到对等目标设备之后,在块434处可以将在块410中为新安装而获取的许可安装在对等目标设备上。在块436,可以在目标上安装新的描述符。该新描述符可以包括信息,以通过块438的在可由其他对等目标设备访问的登记处发布与对等目标设备上所安装的应用程序相关联的描述符,而允许其他对等计算机安装应用程序。在不脱离在此所述主题范围的前提下,该新描述符可以在稍后的时间点上被创建。用于分布式的基于对等的应用程序安装的系统可以包括用于检测源设备上应用程序的安装的装置。例如,在图1中,应用程序开发者许可和分发服务器106可以检测诸如CD1102的源设备上的诸如应用程序114的应用程序的存在。CD1102也可才企测应用程序114的存在。该系统也可以包括响应于检测到应用程序的安装而产生包括源设备特有安装信息的描述符的装置。例如,在图l中,应用程序开发者许可和分发服务器106和CD1102上的分发器代理IIO可产生包括源设备特有安装信息的诸如描述符U6之类的描述符。该系统也可以包括用于将描述符发布到可由对等目标设备访问的描述符数据存储器的装置,其中配置该描述符以供对等目标设备用于在对等目标设备上安装至少一部分应用程序。例如,在图l中,描述符数据存储器112可用作可由诸如CD2104的对等目标设备访问的描述符数据存储器,并且发布诸如描述符116之类的描述符,该描述符被配置以供对等目标设备用于在对等目标设备上安装诸如应用程序114之类的应用程序的至少一部分。描述符数据存储器112可以驻留在应用程序开发者许可和分发服务器106或CD1102上。用于分布式的基于对等的应用程序安装的另一系统可以包括用于从源设备接收与源设备处的应用程序安装相关联的并且包括源设备特有安装信息的描述符的装置。例如,在图l中,应用程序开发者许可和分发服务器106可以从诸如CD1102的源设备接收与源设备处诸如应用程序114之类的应用程序的安装相关联的并且包括源设备特有安装信息的诸如描述116之类的描述符。该系统也可以包括用于从作为源设备的对等的目标设备接收选择的描述符的装置。应用程序开发者许可和分发服务器106可从作为源设备(诸如CD1102)的对等的目标设备(诸如CD2l(M)接收选择的描述符(诸如描述符116)。该系统也可以包括用于基于描述符在对等目标设备上提供至少一部分应用程序的安装的装置。应用程序开发者许可和分发服务器106可以基于诸如描述符116的描述符在诸如CD2104的对等目标设备上提供诸如应用程序114的应用程序的至少一部分的安装。将理解,在不脱离在此所述主题范围的前提下,可以改变在此所述主题的各种细节。而且,先前描述仅是用于说明性的目的,而非限制性的,在此所述主题通过下文中所阐述的权利要求书来限定。权利要求1.一种提供应用程序的安装的方法,所述方法包括在源设备上检测应用程序的安装;响应于检测应用程序的安装,生成包括源设备特有安装信息的描述符;以及将该描述符发布到对等目标设备可访问的描述符数据存储器,其中配置该描述符以供该对等目标设备用于在该对等目标设备上安装至少一部分应用程序。2.如权利要求1所述的方法,包括通过在源设备上执行指令以在对等目标设备上安装该至少一部分应用程序。3.如权利要求1所述的方法,包括通过在服务器设备上而不是在源设备和对等目标设备上执行指令以在对等目标设备上安装该至少一部分应用程序。4.如权利要求1所述的方法,包括通过在对等目标设备上执行指令以在对等目标设备上安装该至少一部分应用程序。5.如权利要求1所述的方法,包括在对等目标设备上安装用于应用程序的源设备特有安装信息。6.如权利要求l所述的方法,其中描述符包括拷贝描述符。7.如权利要求6所述的方法,其中拷贝描述符包括用于向对等目标设备提示安装目标的指令。8.如权利要求6所述的方法,其中拷贝描述符包括用于向对等目标设备提供拷贝描述符的指令,并且其中通过在对等目标设备上执行指令来实现安装该至少一部分应用程序。9.如权利要求l所述的方法,其中描述符包括可执行描述符。10.如权利要求9所述的方法,其中可执行描述符包括用于向服务器设备而不是向源设备和对等目标设备提供可执行描述符的指令,并且其中通过在源设备、服务器设备的每一个上执行指令来实现安装该至少一部分应用程序。11.如权利要求1所述的方法,其中描述符包括统一资源定位符(URL)描述符。12.如权利要求11所述的方法,其中URL描述符包括用于向服务器设备而不是向源设备和对等目标设备提供URL描述符的指令,并且其中通过在服务器设备上执行指令来实现安装该至少一部分应用程序。13.如权利要求l所述的方法,其中该描述符包括用于识别类类型(classtype)的专有描述符,该类类型被设计为当被实例化时,执行用于安装该至少一部分应用程序的指令。14.如权利要求13所述的方法,包括通过在源设备上实例化在专有描述符内识别的类类型并且在源设备上执行指令来安装该至少一部分应用程序。15.如权利要求13所述的方法,包括通过在对等目标设备上实例化在专有描述符内识别的类类型并在对等目标设备上执行指令来安装该至少一部分应用程序。16.如权利要求1所述的方法,包括获取用于安装该至少一部分应用程序的许可,其中所述应用程序是在对等目标设备上安装的。17.如权利要求16所述的方法,包括在对等目标设备上安装许可。18.如权利要求1所述的方法,进一步包括产生与对等目标设备上该至少一部分应用程序的安装相关联的另一个描述符,另一描述符包括使得能够在另一个对等目标设备上进行该至少一部分应用程序的随后安装(subsequentinstallation)的内容。19.如权利要求18所述的方法,进一步包括将另一描述符发布到另一对等目标设备可访问的描述符数据存储器。20.如权利要求1所述的方法,其中发布描述符包括经由web浏览器接口来发布描述符。21.如权利要求1所述的方法,其中发布描述符包括经由简单邮件传输协议(SMTP)文件共享来发布描述符。22.如权利要求1所述的方法,其中发布描述符包括经由应用程序编程接口(API)来发布描述符。23.如权利要求1所述的方法,包括使描述符数据存储器位于服务器设备上而不是源设备上。24.—种提供应用程序的安装的方法,该方法包括从源设备并且与源设备处应用程序的安装的检测有关地接收描述符,该描述符包括源设备特有安装信息;从作为源设备的对等的目标设备接收选择的描述符;以及基于该描述符在对等目标设备上提供至少一部分应用程序的安装。25.如权利要求24所述的方法,其中在对等目标设备上提供该至少一部分应用程序的安装包括在源设备上执行指令。26.如权利要求24所述的方法,其中在对等目标设备上提供该至少一部分应用程序的安装包括在服务器设备上而不是在源设备和对等目标设备上执行指令。27.如权利要求24所述的方法,其中在对等目标设备上提供该至少一部分应用程序的安装包括在对等目标设备上执行指令。28.如权利要求24所述的方法,包括在对等目标设备上安装用于应用程序的源设备特有安装信息。29.如权利要求24所述的方法,其中描述符包括拷贝描述符。30.如权利要求29所述的方法,其中拷贝描述符包括用于向对等目标设备提示安装目标的指令。31.如权利要求29所述的方法,其中拷贝描迷符包括用于向对等目标设备提供拷贝描述符的指令,并且其中通过在对等目标设备上执行指令来实现安装该至少一部分应用程序。32.如权利要求24所述的方法,其中描述符包括可执行描述符。33.如权利要求32所述的方法,其中可执行描述符包括用于向服务器设备而不是源设备和对等目标设备提供可执行描述符的指令,并且其中通过在源设备和服务器设备的每一个上执行指令来实现安装该至少一部分应用程序。34.如权利要求24所述的方法,其中描述符包括统一资源定位符(URL)描述符。35.如权利要求34所述的方法,其中URL描述符包括用于向服务器设备而不是向源设备和对等目标设备提供URL描述符的指令,并且其中通过在服务器设备上执行指令来实现安装该至少一部分应用程序。36.如权利要求24所述的方法,其中该描述符包括用于识别类类型的专有描述符,所述类类型被设计为当被实例化时,执行用于安装该至少一部分应用程序的指令。37.如权利要求36所述的方法,包括通过在源设备上实例化在专有描述符内识别的类类型并且在源设备上执行指令来安装该至少一部分应用程序。38.如权利要求36所述的方法,包括通过在对等目标设备上实例化在专有描述符内识别的类类型并在对等目标设备上执行指令来安装该至少一部分应用程序。39.—种提供应用程序的安装的系统,该系统包括分发器代理,适于检测源设备上应用程序的安装并且生成包括源设备特有安装信息的描述符;以及对等目标设备可访问的描述符数据存储器,其适于发布描述符,其中配置该描述符以供对等目标设备用于在对等目标设备上安装至少一部分应用程序。40.如权利要求39所述的系统,其中分发器代理适于通过在源设备上执行指令以在对等目标设备上安装该至少一部分应用程序。41.如权利要求39所述的系统,包括服务器设备,其中分发器代理适于通过在服务器设备上执行指令以在对等目标设备上安装该至少一部分应用程序。42.如权利要求39所述的系统,其中分发器代理适于通过在对等目标设备上执行指令以在对等目标设备上安装该至少一部分应用程序。43.如权利要求39所述的系统,其中分发器代理适于在对等目标设备上安装用于应用程序的源设备特有安装信息。44.如权利要求39所述的系统,其中描述符包括拷贝描述符,该拷贝描述符包括用于向对等目标设备提示安装目标的指令。45.如权利要求44所述的系统,其中分发器代理适于分析拷贝描述符并且基于用于向对等目标设备提示安装目标的指令,向对等目标设备提示该安装目标。46.如权利要求44所述的系统,其中分发器代理适于向对等目标设备提供拷贝描述符的指令并且通过在对等目标设备上执行指令来安装该至少一部分应用禾呈序。47.如权利要求39所述的系统,其中描述符包括可执行描述符。48.如权利要求47所述的系统,其中分发器代理适于分析可执行描述符并且向服务器设备而不是源设备和对等目标设备,并且通过在源设备和服务器设备的每一个上执行指令来来安装该至少一部分应用程序。49.如权利要求39所述的系统,其中描述符包括统一资源定位符(URL)描述符。50.如权利要求49所述的系统,其中分发器代理适于分析URL描述符并且向服务器设备而不是源设备和对等目标设备提供URL描述符,并且通过在服务器设备上执行指令,来安装该至少一部分应用程序。51.如权利要求39所述的系统,其中描述符包括用于识别类类型的专有描述符,该类类型被设计为当被实例化时,执行用于安装该至少一部分应用程序的指令。52.如权利要求51所述的系统,其中分发器代理适于通过在源设备上实例化在专有描述符内识别的类类型来安装该至少一部分应用程序并且在源设备上执行指令。53.如权利要求51所述的系统,其中分发器代理适于通过在对等目标设备上实例化在专有描述符内识别的类类型来安装该至少一部分应用程序并且在对等目标设备上执行指令。54.如权利要求39所述的系统,其中分发器代理适于获取用于安装该至少一部分应用程序的许可,其中所述应用程序在对等目标设备上安装。55.如权利要求54所述的系统,其中分发器代理适于在对等目标设备上安装许可。56.如权利要求39所述的系统,其中对等目标设备适于在对等目标设备上安装该至少一部分应用程序并且创建另一个分发器代理,所述另一个分发器代理适于对对等目标设备上的该至少一部分应用程序的安装进行检测以及产生与对等目标设备上该至少一部分应用程序的安装相关联的包括对等目标设备特有安装信息的另一个描述符,另一描述符包括使得能够在另一个对等目标设备上进行该至少一部分应用程序的随后安装的内容。57.如权利要求56所述的系统,包括适于发布另一描述符的另一个描述符数据存储器,其中配置该另一描述符以供另一对等目标设备用于在另一对等目标设备上安装该至少一部分应用程序。58.如权利要求39所述的系统,其中描述符数据存储器包括web浏览器接口,以允许在源设备上搜索描述符数据存储器以使得描述符数据存储器可由对等目标设备访问。59.如权利要求39所述的系统,其中描述符数据存储器包括简单邮件传输协议(SMTP)文件共享,以允许在源设备上搜索描述符数据存储器以使得描述符数据存储器可由对等目标设备访问。60.如权利要求39所述的系统,其中描述符数据存储器包括应用程序编程接口(API),以允许在源设备上搜索描述符数据存储器以使得描述符数据存储器可由对等目标设备访问。61.如权利要求39所述的系统,包括用于对描述符数据存储器进行定位和访问的服务器设备。62.—种用于提供应用程序的安装的系统,该系统包括用于检测源设备上应用程序的安装的装置;用于响应于检测应用程序的安装而产生包括源设备特有安装信息的描述符的装置;以及用于将描述符发布到可由对等目标设备访问的描述符数据存储器的装置,其中配置该描述符以供对等目标设备用于在对等目标设备上安装至少一部分应用程序。63.—种用于提供应用程序的安装的系统,该系统包括用于从源设备接收与源设备上应用程序的安装相关联并且包括源设备特有安装信息的描述符的装置;用于从作为源设备的对等的目标设备接收选择的描述符的装置;以及用于基于所述描述符在对等目标设备上提供至少一部分应用程序的安装的装置。64.—种包括在计算机可读介质中所包含的计算机可执行指令的计算机程序产品,该计算机可执行指令用于执行以下步骤检测源设备上应用程序的安装;响应于检测应用程序的安装,产生包括源设备特有安装信息的描述符;以及将描述符发布到可由对等目标设备访问的描述符数据存储器,其中配置该描述符以供对等目标设备用于在对等目标设备上安装至少一部分应用程序。全文摘要公开了用于安装应用程序的方法、系统和计算机程序产品。根据一种方法,检测源设备上应用程序的安装。响应于检测应用程序的安装,产生包括源设备特有安装信息的描述符。将描述符发布到可由对等目标设备访问的描述符数据存储器。配置描述符以供对等目标设备用于在对等目标设备上安装至少一部分应用程序。文档编号G06F15/16GK101336423SQ200680048189公开日2008年12月31日申请日期2006年12月18日优先权日2005年12月21日发明者R·P·莫里斯申请人:森内拉科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1