基于来自分离装置的种子应用来安装应用的制作方法

文档序号:6349774阅读:142来源:国知局
专利名称:基于来自分离装置的种子应用来安装应用的制作方法
技术领域
本申请涉及在装置之间共享软件应用,并且更具体地说,涉及利用种子应用在装置之间共享软件应用。
背景技术
越来越多的人在日常生活中使用诸如智能电话、上网本以及个人数字助理(PDA) 的移动计算装置。通常来说,这些移动计算装置与在线电子商店连接,以下载应用。在某些情况下,存在迎合特定装置类型的专用在线商店。随着移动装置的用户从事他们的日常活动并且使用他们的移动装置,他们可以向其他人示出应用。随着其他人看到该应用,他们通常希望有相同应用,但获得该应用可能涉及许多步骤,以至于用户可能不检索该应用。例如,智能电话用户亚纶在与他的朋友布伦特共进午餐。午餐后,在结帐时,亚纶在他的智能电话上向布伦特演示专门的计算器应用,其确定合适的小费和他们各自应付多少午餐费。布伦特对该计算器应用留有深刻印象,并且希望拷贝一个到他的智能电话。在这种情况下,布伦特必须向亚纶询问该应用的名称、在移动装置上浏览在线商店、针对该应用搜索在线商店或其它地方,并且最终选择并下载该应用。抄录该应用名称时的简单错误、 忘记有关应用,或者无数其它挫折中的任一种都可能中断布伦特获取计算器应用的拷贝而必须完成的该行动链。而且,布伦特可能具有亚纶不知道答案的其它可用性、许可或其它特征相关的问题。布伦特在获取该信息或者下载该应用时可能遇到某些困难。布伦特和计算器应用的厂商都乐意共同办理业务,但由于后勤障碍和/或不便, 因而他们不能进行下去。因此,本领域所需要的是,提供了一种用于快速且容易在邻近计算装置之间共享应用的改进方法。

发明内容
本公开的附加特征和优点在下面的描述中进行阐述,并且根据该描述将部分地显见,或者可以通过具体实践在此公开的原理而获知。本公开的特征和优点可以通过在所附权利要求书中具体指出的工具和组合而认识到并且获取。本公开的这些和其它特征根据下面的描述和所附权利要求书将变得更完全清楚,或者可以通过具体实践在此阐述的原理而获知。在此公开的是用于在电子商店中以社区为基础排序的系统、计算机实现方法、以及有形计算机可读存储介质。在本公开的精神和范围内,每一个系统、计算机实现方法以及
4有形计算机可读存储介质都可以在其它可要求保护的实施例中实现。一种示例性方法将来自共享装置的应用同步至接收装置。该方法在共享装置上显示可用于与其它装置共享的一个或多个应用的列表,在共享装置处接收对应用列表中的、要与接收装置共享的应用的选择,通过共享装置确定所选择应用的共享首选项 (prefernce),基于该共享首选项在共享装置处创建应用程序包,建立从共享装置至接收装置的网络连接,以及经由网络连接从共享装置向接收装置发送应用程序包。一种示例性装置实施例将应用同步至另一装置。该装置包括处理器,被配置成控制处理器在共享装置上显示可用于与其它装置共享的应用的列表的模块,被配置成控制处理器以从应用列表中选择与接收装置共享的应用的模块,被配置成控制处理器以根据所选择的应用检索共享首选项的模块,被配置成控制处理器以基于包括与所选择应用相关联的元数据和与共享装置相关联的唯一标识符的所检索的首选项来创建应用程序包的模块,其中,该共享首选项确定该应用程序包是否还包括应用的完整拷贝、应用的受限共享拷贝,或在服务器上唯一地标识所选择的应用的应用种子中的一个,被配置成控制处理器以在共享装置与接收装置之间建立对等式连接的模块,以及被配置成控制处理器以经由对等式连接向接收装置发送应用程序包的模块。另一示例性计算机实现方法从共享装置接收应用。该方法与共享装置建立对等式连接,经由对等式连接从共享装置接收用于所选择的应用的应用程序包,其中,该应用程序包包括与所选择的应用相关联的元数据,该元数据包括应用标识符,以及基于该应用标识符从应用分布服务器检索应用的拷贝。如果该应用程序包包括应用的受限共享拷贝,则该方法从服务器检索针对应用的受限共享拷贝的升级。如果该应用程序包包括应用的完整拷贝,则该方法基于该应用程序包从服务器检索附加服务或软件。一个示例性系统跟踪共享应用。该系统包括处理器,被配置成控制处理器以接收表示从共享方向接收方成功共享应用的数据集的模块,该数据集指示共享方、接收方以及共享应用,被配置成控制处理器以将所接收的数据集插入到链接共享方与接收方的第一数据库中的模块,被配置成控制处理器以将所接收的数据集插入到链接共享方与共享应用的第二数据库中的模块,以及被配置成显示第一或第二数据库中的至少一部分的模块。一种存储计算机程序的示例性有形计算机可读存储介质具有用于从另一装置接收应用的指令。该指令包括与共享装置建立对等式连接,经由对等式连接从共享装置接收应用的应用程序包,该应用程序包包括与所选择的应用相关联的元数据、与共享装置相关联的唯一标识符,以及基于该应用内的共享首选项,应用的受限共享拷贝和在服务器上唯一地标识所选择的应用的应用种子中的一个,如果该应用程序包包括应用种子,则利用该应用种子从服务器检索应用的拷贝,而如果该应用程序包包括应用的受限共享拷贝,则从服务器检索针对该应用的受限共享拷贝的升级。如果该应用程序包包括应用种子,则利用该应用种子从服务器检索应用的拷贝。如果该应用程序包包括应用的受限共享拷贝,则从服务器检索针对应用的受限共享拷贝的升级。该有形计算机可读存储介质可以包括RAM、 ROM、硬盘驱动、固态存储器以及客户端和/或服务器上的其它存储介质。另一示例性方法实施例从应用分布服务器向接收装置分配一个或多个应用。该方法从接收装置接收应用下载请求(其中,该下载请求包括共享装置的装置ID或用户帐号、 以及应用标识符),并基于应用标识符向接收装置发送所请求的应用的拷贝。


为了描述可以获取本公开的上述和其它优点以及特征的方式,上面简要描述的原理的更具体描述通过参照在附图中例示的其具体实施方式
来呈现。应当明白,这些附图仅描绘了本公开的示例性实施例,因此不应视为对其范围的限制,在此的原理通过使用附图以附加特性和细节进行描述和说明,其中图1例示了示例系统实施例;图2例示了范例共享装置、接收装置以及服务器;图3例示了共享装置上的示例用户接口 ;图4例示了示出子代的示例树形图;图5例示了示例性对等式网络;图6例示了第一示例方法实施例;图7例示了第二示例装置实施例;图8例示了第三示例方法实施例;图9例示了第四示例系统实施例;图10例示了第五示例计算机可读存储介质实施例;以及图11例示了第六示例方法实施例。
具体实施例方式下面,对本公开的各种实施例进行详细讨论。虽然对具体实现进行讨论,但应当明白,这仅仅出于例示的目的。相关领域的技术人员应当认识到,在不脱离本公开的精神和范围的情况下,可以使用其它组件和配置。参照图1,示例性系统100包括通用计算装置100,其包括处理单元(CPU或处理器)120和系统总线110,该系统总线110将包括诸如只读存储器(ROM) 140和随机存取存储器(RAM) 150的系统存储器130的各种系统组件耦接至处理器120。这些和其它模块可以被配置成控制处理器120执行各种动作。其它系统存储器130同样可供使用。可以清楚的是,本公开可以在具有一个以上的处理器120的计算装置100上,或者在连网在一起的一组或集群计算装置上操作,以提供更大处理能力。处理器120可以包括任何通用处理器和硬件模块或软件模块,如存储在存储装置160中的模块1162、模块2164、以及模块3166,其被配置成控制处理器120以及将软件指令并入到实际处理器设计中的专用处理器。处理器 120本质上可以是完全自包含计算系统,包含多个核或处理器、总线、存储器控制器、超高速缓冲存储器等。多核处理器可以是对称或不对称的。系统总线110可以是几类总线结构中的任一种,包括存储器总线或存储器控制器、外设总线、以及利用各种总线架构中的任一种的局域总线。存储在ROM 140等中的基本输入/输出¢10 可以提供基本例程,其帮助在计算装置100内的部件之间传递信息,如在启动期间。计算装置100还包括存储装置160,诸如硬盘驱动器、磁盘驱动器、光盘驱动器、带驱动器等。存储装置160可以包括用于控制处理器120的软件模块162、164、166。其它硬件或软件模块是预期的。存储装置160通过驱动器接口连接至系统总线110。驱动器和相关联的计算机可读存储介质提供用于计算装置100的计算机可读指令、数据结构、程序模块以及其它数据的非易失性存储部。在一个方面,执行特定功能的硬件模块包括与必需硬件组件(如处理器120、总线110、显示器170等)相关联的、存储在有形和/或无形计算机可读介质中的软件组件,以执行该功能。基本组件对于本领域技术人员是已知的,并且根据装置的类型可设想适当的变型,如装置100是否为小型手持式计算装置、台式计算机、 或计算机服务器。尽管在此描述的示例性实施例采用硬盘160,本领域技术人员应当清楚,在该示例性操作环境中,还可以使用可以存储可通过计算机访问的数据的其它类型的计算机可读介质,如磁带、闪速存储器卡、数字万用盘、盒式磁带、随机访问存储器(RAM) 150、只读存储器 (ROM) 140、包含比特流的线缆或无线信号等。有形计算机可读存储介质明确地排除诸如能量、电磁波以及信号本身的介质。为确保用户与计算装置100的交互,输入装置190表示任何数量的输入机构,如用于讲话的麦克风、用于手势或图形输入的触敏屏、键盘、鼠标、运动输入、语音等。输入装置 190可以被演示者用来指示开始语音搜索查询。输出装置170也可以是本领域技术人员已知的许多输出机构中的一种或多种。在某些情况下,多模态系统使得用户能够提供多种类型的输入,以与计算装置100通信。通信接口 180通常支配并管理用户输入和系统输出。在对任何特定硬件布置的操作方面不存在限制,因此,此处的基本特征可以随着它们的开发而被容易地替换成改进的硬件或固件布置代替。为说明的清楚起见,该例示性系统实施例被呈现为包括各个功能框,包括标注为 “处理器”和处理器120的功能框。这些框所表示的功能可以通过使用共享或专用硬件来提供,这些硬件包括但不限于能够执行软件的硬件,和被特制以操作为在通用处理器上执行的软件的等同物的硬件,如处理器120。例如,图1中呈现的一个或多个处理器的功能可以通过单一共享处理器或多个处理器来提供。(术语“处理器”的使用不应被解释为排它地指能够执行软件的硬件)。例示性实施例可以包括微处理器和/或数字信号处理器(DSP)硬件、用于存储执行下面讨论的操作的软件的只读存储器(ROM) 140,以及用于存储结果的随机访问存储器(RAM) 150。还可以提供超大规模集成(VLSI)硬件实施例,和与通用DSP电路组合的定制VLSI电路。各种实施例的逻辑操作被实现为(1)在通用计算机内的可编程电路上运行的计算机实现的步骤、操作或过程的序列;( 在专用可编程电路上运行的计算机实现的步骤、 操作或过程的序列;以及/或C3)可编程电路内的互连机器模块或程序引擎。图1所示的系统100可以具体实践全部或部分所述方法,可以是所述系统的一部分,和/或可以根据所述有形计算机可读存储介质中的指令操作。一般而言,这种逻辑操作可以被实现为被配置成控制处理器120以根据模块的编程来执行特定功能的模块。例如,图1例示了被配置成控制处理器120的三个模块Modi 162、Mod2 164以及Mod3 166。这些模块可以存储在存储装置160上并且在运行时加载到RAM 150或存储器130中,或者可以如本领域已知地存储在其它计算机可读存储器位置中。已经公开了一些基础系统组件,下面,本公开转向本方法和其它实施例的更详细描述。为清楚起见,关于被配置成具体实践本方法的系统(如图1所示的系统100)讨论本方法。下面的示例是例示性的,而不应被视为限制性的,如可以将所述原理并入其它实施例和配置中。处理器可以执行所述方法中的任何步骤。
图2例示了范例共享装置、接收装置、以及服务器。这些装置中的每一个可以是基本上如图1所示的计算装置。这些装置可以是智能电话、蜂窝电话、个人数字助理(PDA)、 膝上型电脑、媒体播放器、全球定位系统(GPQ装置、膝上型电脑、以及其它移动或非移动计算装置。在背景部分的示例中,亚纶希望从他的智能电话与布伦特的智能电话共享应用。 在这个示例中,亚纶和布伦特两人的装置都是智能电话。但在实现中,例如,一个装置可以是智能电话,而另一个可以个人计算机。在另一实现中,将固定位置共享装置加入咖啡馆中的无线接入点中,这样,咖啡馆客人可以从它们的移动装置向无线接入点共享应用,无线接入点又可以在原始移动装置离开后与后来的客人共享该应用。对等式网络可以包括同类和 /或异类混合装置。下面,本公开返回至亚纶和布伦特。亚纶希望与布伦特的接收装置204共享存储在他的共享装置202上的应用。亚纶的装置202显示可用于与布伦特共享的应用的列表。 亚纶经由合适的用户输入(如语音、触摸手势、针笔输入、小键盘输入等)选择至少一个应用,以与布伦特的装置204共享。在亚纶选择要共享的应用之后,亚纶的装置202从所选择的应用检索共享首选项。如果所选择的应用不包括任何指定共享首选项,则该装置可以选择或生成默认首选项, 如不共享该应用的首选项。该应用可以具有允许共享该应用的全功能拷贝的首选项。在其它情况下,该应用首选项允许仅共享受限功能演示拷贝,在特定时段之后期满的全功能拷贝,或者在服务器210上唯一地标识该应用的应用种子。亚纶的装置202创建应用程序包以向布伦特的装置204传递,该程序包具有与亚纶的装置相关联的标识符或与布伦特的装置或用户帐户相关联的用户帐户和标识符。该应用程序包还可以包括应用元数据,如应用图标、应用的完整拷贝、应用的受限拷贝,和/或应用种子。在一个方面,该应用程序包还可以包括针对该应用的设置、历史和/或首选项等。这种设置可以可选地部分或全部包括在内。两个装置202、204彼此直接建立对等式连接206,如线缆或红外线连接,或者通过网络云208,如因特网、蜂窝网络,或无线网状网络。布伦特的装置204可以向亚纶的装置 202发送有关成功接收该应用程序包的确认。在该传递未完成的情况下,亚纶的装置202可以首先发送应用种子,以使即使无法成功发送全部应用,布伦特的装置204也具有足够信息,即,应用种子,以从服务器下载该应用,并且可以仅利用该信息继续进行。可以与应用种子一起提供图形图像,以使接收装置可以显示该应用的可视表示。在一个方面,接收装置显示与应用种子一起提供的图形图像的初始部分,并且渐进地增加所显示部分,以便反映所接收的应用程序包的逐渐增加的完整性。亚纶的装置202和/或布伦特的装置204可以向服务器210报告成功共享事务 (transaction)。服务器210可以保持每一个共享事务的记录,并且可以预先制备该应用的拷贝,以供布伦特的装置204下载。如果该应用程序包包括应用的完整拷贝,则布伦特的装置204现在具有该应用并且不必需要执行任何附加步骤。然而,如果该应用程序包包括应用的受限功能拷贝,则布伦特的装置204可以直接或者通过网络云214与服务器210建立连接212。服务器210可以提供有关该应用的附加信息,并且允许布伦特购买、检索或者通过解锁受限功能的至少一部分或者从服务器下载共享应用的新拷贝来下载共享应用。如果该应用程序包包括应用种子,则布伦特的装置204连接至服务器210并且使用该应用种子来检索共享应用。例如,该应用种子可以是XML文件、诸如“Seed. App. 2B700A9D”的半有意义(semi-meaningful)文本串、数字、或者随机指配的字符串。当多个服务器可用时,该种子还可以包括对从其获取该应用的优选服务器的引用。在某些情况下,单个数据并入该应用种子和两个标识符。例如,服务器210可以执行安全性或验证校验,以确保正确的装置在请求该应用。服务器210 可以修改所请求的应用,以使其仅在目标装置(在该情况下,布伦特的装置204)上可使用。 服务器210例如可以是在线商店或者软件发行方的网站。当布伦特检索亚纶与布伦特共享的共享应用的完整版本时,服务器210可以向亚纶提供某类激励。该激励可以是货币、商店信用点、赠券、促销项(真实或数字)、改进状态等。服务器、共享装置、或者接收装置还可以跟踪共享方-接收方对的共享历史,甚至可以反向追踪至该应用的原始源。用于显示和跟踪共享信息的许多其它变形都可设想。图3例示了属于亚纶的共享装置300上的示例用户接口。该共享装置300包括可以具有任何形状、纵横比或尺寸的显示器302。装置300在该装置300上向亚纶示出了应用图标304的列表。亚纶可以将表示他希望共享的应用的应用图标306移动到指定区域308 中。亚纶可以使用针笔、触摸手势、键盘、按钮、语音或者其它用户输入来移动应用图标。在亚纶移动应用图标之后,作为一个示例,该装置可以从该列表中去除应用图标306,使该应用图标在列表中为空白310,或者将列表的应用图标310变暗或变灰色。亚纶可以类似地移动一个以上的应用图标到指定区域308中。当亚纶准备发送这些应用时,他选择发送按钮 312或者提供其它合适的用户输入。该装置基于在相应应用中找到的智能、首选项或代码来准备每一个应用的应用程序包。该装置接着向接收装置发送该一个或多个应用程序包。在一个方面,共享装置通过动画或其它合适的可视、可听、视听、基于振动的、或其它类型的提示,可视地表示向第二装置的表示(如小装置图标)移动所选择的应用图标。在一个实施例中,该装置不同地显示共享某些应用的图标或通知。例如,一个应用图标314被划掉(cross out),表示其根本不能共享。另一示例是应用图标316具有覆盖字母“L”,表示其仅可以共享有受限功能。软件开发者可以无条件地或者仅在某些情况下,将所发行的应用标记为“不可共享”。某些昂贵或高度敏感的应用(如医疗记录数据库应用) 可以包括指示不能共享它们的标志。如上所述,共享装置上的应用可以已经预先配置有共享标准。应用开发者在创建该应用时可以标识该应用是否可以共享。可以将共享标志或共享代码嵌入该应用中,以使共享装置注意该共享标志,以确定该应用是否可以与另一装置共享和怎样与另一装置共享。该应用可以利用散列函数或某些其它安全性措施,使得如果在共享时将该应用中的标志修改,则该应用不起作用,该应用将默认成为不共享模式,或者该应用将执行由应用开发者或另一实体建立的某些其它动作。该方法可以防止和/或阻碍在共享装置上对该应用的共享标志进行修改,以防止未经授权的应用共享。在一个实施例中,如果将应用传递至接收装置,则接收装置允许根据该共享标志操作该共享装置。例如,如果该共享标志指示完整功能,则共享装置激活具有完整功能的应用。如果将共享标志设置成受限功能,则接收装置激励受限功能集。而且,共享时段可以预先在应用中设置。该共享时段可以被配置为设置时段,如多小时、多少天、多少周、多少月、 或其组合。而且,共享时段可以被设置为该应用在接收装置上的激活次数。一旦激活次数期
9满,接收装置就不能够激活该应用。例如,在操作共享装置上的该应用时对激活进行计数。 如果应用共享时段期满,则共享装置可以向用户提供指示该应用不再起作用或不再可以使用的显示。该系统可以使用该示例性界面或者使用户共享应用的任何其它合适的用户界面。 例如,这个界面的一个变型针对每一个邻近装置提供不同的指定区域。这些指定区域可以随着邻近装置移入或移出指定范围而显现或消失。该指定区域可以基于相关联的邻近装置的位置而环绕屏幕移动。图4例示了示出子代的示例树形图400。这些类型的树形结构可以容易地示出怎样在一群用户内共享应用。当亚纶与布伦特共享该应用时,布伦特在该树形结构中变为亚纶的子代。在这个示例中,共享方402与子代1404、子代M06以及子代3408共享该应用。 子代1404与孙代1410和孙代2412共享。子代2406与孙代3414、孙代4416、孙代5418、以及孙代6420共享。子代3408与孙代7422共享。这个显示在共享方接收针对共享应用或者针对检索共享应用的人的某种补偿时有利。共享方402可以检查他的子代的共享图案, 并且最大效果地目标化再次共享该应用的那些子代。在这种情况下,共享方402因他与许多其它方共享而可以努力与child2406共享其它应用。服务器出于广告或促销目的而存储这种树形图。服务器可以向共享方和/或接收方显示全部或部分这种树形图。接收方可能有兴趣查看从原始源的共享路径。其可以是声望的来源,例如,看到通过名人共享该应用。 在一个方面,服务器可以显示重叠在地图上的这种树形图,其中,节点被放置在地图上以指示每一个节点的当前地理位置。在另一方面,存储共享后代和祖代的树形图的服务器可以分析树形图中的“亲属 “,以确定哪些应用很可能引起尚未具有其的特定用户的兴趣。例如,如果布伦特的6个邻近“共享亲属”中的5个都具有应用X,则服务器可以向布伦特通知该事实,并且向布伦特提供下载和/或购买应用X的机会。服务器可以检索并向布伦特显示来自邻近“共享亲属”的任何评论或其它反馈。该方法可能非常成功,因为布伦特对那些“共享亲属”应具有一定程度的隐含信任或熟悉。在其它情况下,应用的一部分功能被初始地限制、锁定或者以其它方式禁用。用于解锁该功能的一种方法是与其它方共享该应用。例如,Blackjack纸牌游戏应用可以包括一种解锁型纸牌背面(cardback)。亚纶每次对3个人共享Blackjack应用,该应用解锁另一纸牌背面。当亚纶与布伦特共享Blackjack应用时,布伦特拷贝的该应用可以重置成仅一种解锁型的纸牌背面,或者其可以保持在相同状态,并且保持和亚纶的拷贝相同的首选项。图5例示了示例性对等式网络。在这种情况下,共享方502与接收方1504、接收方2506、以及接收方3508建立无线共享网络510。该网络连接可以经由802. Ilx无线、红外线、蓝牙、无线USB、通用分组无线业务(GPRS),或其它有线或无线联网协议和介质。在一个实施例中,共享方装置502在用户想要共享应用时初始化对等式网络510。共享方和/或接收方装置可以在发送或接收该应用程序包之前、期间或之后从该网络退出。在一个实施例中,共享装置和接收装置是相同类型的装置,尽管这些装置可以是能够互相通信的任何类型。在一个实施例中,这些装置都是蜂窝电话。同样地,这些装置通常总是经由蜂窝网络连接,但基于物理接近度彼此建立特定连接(通过蜂窝网络或者通过第二网络接口)。这些装置可以基于位置传感器(如全球定位系统(GPQ装置)来感测物理接近度。在另一方面,即使附近没有其它对等方,共享装置502也保持持久性对等式网络。当两个以上的装置处于该对等式网络中时,并且当可从该对等式网络中的多个源获得应用时,共享装置可以指令其它装置向接收装置发送共享应用的多个部分。按这种或其它方式,多个共享装置可以向接收装置提供共享应用的至少一部分。在另一方面,多个共享装置和多个接收装置彼此相互作用和共享该应用。当其它装置进入该对等式网络时,它们可以向共享装置502查询可用应用,并且在不需要任何用户交互的情况下高速缓存可用应用的应用程序包。这样,这些装置可以自动地共享应用,而不需要用户交互。稍后,用户可以浏览高速缓存的应用程序包,并且决定保持哪些应用程序包而废弃哪些应用程序包。在一个方面,一旦用户废弃高速缓存的应用程序包,当该装置再次遇到该应用时,该装置就不自动检索该应用。接收装置可以比较共享装置上可用的应用与所安装的应用,并且放弃下载已经在接收装置上的应用程序包。而且, 用户可以禁用自动接收或共享来自某些个体的应用,某些类别、某些时间或某些位置的应用。例如,布伦特在午餐后乘地铁返回办公室的同时关闭自动共享。感觉更有利的是,亚纶在乘公交车返回办公室的同时接通自动共享,以查看他的装置从其它方拾取什么应用。虽然亚纶不需要将它们的装置接通或者按任何方式与其交互,但其从邻近装置高速缓存所共享的应用。亚纶稍后可以浏览这些应用并且保持或下载他喜欢的应用。图6例示了用于将来自共享装置的应用同步至接收装置的第一示例方法实施例。 为清楚起见,该方法按照被配置成具体实践该方法的系统来讨论。在这个示例中,亚纶的装置是共享装置,而布伦特的装置是接收装置。该方法首先在共享装置上显示可用于与其它装置共享的一个或多个应用的列表(602)。系统可以基于一个或多个标准(如屏幕尺寸、接收装置上的可用空间、已经存在于接收装置上的应用、应用首选项等)来过滤应用列表。可设想其它标准。该系统在共享装置处接收对应用列表中的要与接收装置共享的应用的选择 (604)。诸如在触摸屏上轻击或话音命令的用户输入可以指示该选择。系统可以同时选择一组应用。在某些情况下,应用可以包括一个以上的共享方法。例如,游戏可以包括用于生成演示或完整版本的可共享应用程序包的指令。共享装置的用户可以选择生成哪一个版本的应用程序包。该系统接着通过共享装置确定所选择应用的共享首选项(606)。所选择的应用可以包括嵌入首选项和/或存储共享首选项的分离配置文件。这些首选项例如可以是用户可修改的,或者它们可以通过软件发行方来固定。在一个实施例中,共享首选项包括关于怎样生成应用程序包的指令。该系统基于该共享首选项,在共享装置处创建应用程序包(608)。该系统建立从共享装置至接收装置的网络连接(610)并且经由该网络连接从共享装置向接收装置发送应用程序包(612)。在一个方面,共享装置还接收来自接收装置的、对成功发送应用程序包的确认。在一个实施例中,该系统向服务器发送与发送应用程序包有关的信息(614),也已知为跟踪信息。服务器可以编译来自多个装置的跟踪信息,以生成与应用共享、分布、流行性、地理位置以及其它度量有关的统计数据和报告。向服务器发送的信息可以包括从共享装置发送的应用程序包的总数量。该信息可以帮助服务器计算基于特定人口、位置、时间或
11客户群的共享应用的总数量。例如,服务器可以以月为基础跟踪在U. C.Berkeley Campus 上共享了多少应用,或者每天共享了总计多少应用。向服务器发送的信息可以与用户帐户或者与用户装置相关联,其指示特定共享方如何多产。例如,服务器可以跟踪亚纶与其共享应用的人数。共享装置可以保持并存储向服务器发送的信息的拷贝。该特征可以向装置或用户提供具体统计数据,并且用作统计信息的分布式备份。图7例示了第二示例装置实施例。该装置能够将应用同步至另一装置。在一个方面,该装置包括处理器和被配置成控制该处理器以采取以下步骤的模块。该装置首先在共享装置上显示可用于与其它装置共享的应用的列表(702)。在一个方面,该装置不在共享装置上显示已经存在于接收装置上的那些应用。如果应用共享首选项包括指示不能共享所选择应用的标志,则该装置可以阻止发送所标志的应用。该装置接着从应用列表中选择与接收装置共享的应用(704)。用户输入可以指导该装置以选择特定应用。该装置接着从所选择的应用检索共享首选项(706),并且基于包括与所选择的应用相关联的元数据和与共享装置相关联的唯一标识符的所检索的首选项来创建应用程序包,其中,该共享首选项确定该应用程序是否还包括应用的完整拷贝、应用的受限共享拷贝,或在服务器上唯一地标识所选择的应用的应用种子中的一个(708)。该应用程序包可以包括应用的受限共享拷贝或用于下载所选择的应用的应用种子和/或指令。接下来,该装置在共享装置与接收装置之间建立对等式连接(710)。在一个实施例中,共享装置和接收装置都是相同类型的装置。在装置是不同类型的另一实施例中,共享装置可以基于接收装置类型定制应用程序包。该装置接着经由对等式连接向接收装置发送应用程序包(712)。在一个方面,该装置可视地表示所选择的应用到第二装置的表示的“移动”,该移动通过图3的图标306所示的运动表示。在另一方面,只有在所选择的应用包含表示可以共享所选择的应用的标志的时候,该装置向接收装置发送应用。图8例示了用于接收来自共享装置的应用的第三方法实施例。图1所示的系统可以被配置成具体实践本方法。该系统与共享装置建立对等式连接(802),并且经由对等式连接从共享装置接收所选择的应用的应用程序包,其中,该应用程序包包括与所选择的应用相关联的元数据,该元数据包括应用标识符(804)。系统基于该应用标识符从应用分布服务器检索应用的拷贝(806)。在一个实施例中,接收装置可以在共享装置上搜索可用未接收应用程序包,从共享装置请求可用未接收应用程序包,以及高速缓存所请求的应用程序包。这只是用于自动分布可以由用户接受或拒绝的应用的一种方法。在一个变型例中,共享装置使得接收装置能够自动实现用于查询和自动下载应用程序包的能力,而不需要用户交互。该分布方法可以提供一种发布软件更新的分布式机制作为传统软件更新方法的替代或者与其相结合。该应用程序包可以包括应用的受限共享拷贝。应用程序包中的元数据可以包括与共享装置相关联的唯一标识符,以及应用的受限共享拷贝和在服务器上唯一地标识所选择的应用的应用种子中的一个(基于该应用内的共享首选项)。在一个方面,服务器从共享装置接收事务记录,包括共享装置的ID或与共享装置相关联的用户帐户。图9例示了用于跟踪所共享的应用的第四示例系统实施例。该系统可以是计算装置,该计算装置具有处理器和被配置成控制处理器执行某些动作的模块。该系统接收表示从共享方向接收方成功共享应用的数据集,该数据集指示共享方、接收方以及共享应用 (902),并且将所接收的数据集插入到链接共享方与接收方的第一数据库中(904)。该系统还可以将所接收的数据集插入到链接共享方与所共享的应用的第二数据库中(906)。该系统可以包括用于跟踪共享方共享了所共享应用多少次的模块。该服务器可以跟踪这些统计数据,以便向共享方提供某种补偿或者用于其它目的。该系统可以显示第一或第二数据库的至少一部分(908)。该显示可以采用直接信息或间接的、已处理的、汇总统计数据的形式。 在一个方面,该系统显示指示源于共享方的后代接收方的共享方-接收方对的树形图。在另一方面,该系统显示指示源于接收方的祖代共享方的共享方-接收方对的树形图。可设想大量其它显示方法。图10例示了具有用于从另一装置接收应用的指令的第五示例有形计算机可读存储介质实施例。该介质实施例按照根据所述指令动作的计算机系统来讨论。该系统首先与共享装置建立对等式连接(100 。该系统可以同时与多个接收装置建立对等式连接。该系统接着经由对等式连接从共享装置接收应用的应用程序包,该应用程序包包括与所选择的应用相关联的元数据,与共享装置相关联的唯一标识符,以及应用的完整拷贝、应用的受限共享拷贝、或在服务器上唯一地标识所选择的应用的应用种子中的一个(基于该应用内的共享首选项)(1004)。该应用程序包还可以包括表示所选择的应用的图标。接着,如果该应用程序包包括应用种子,则系统利用该应用种子从服务器检索应用的拷贝(1006)。如果该应用程序包包括应用的受限共享拷贝,则该系统从服务器检索针对应用的受限共享拷贝的升级(1008)。当系统接收到该应用程序包时,系统可以向共享装置发送成功发送应用程序包的确认。在一个实施例中,接收装置与操作在线商店的服务器紧密集成。该接收装置可以准许用户容易地基于应用种子从在线商店检索应用,如利用单一点击、手势或者命令。对于用户在接收装置上具有应用的完整拷贝的情况来说,该用户可以基于应用种子检索附加商品和/或与该应用相关联的服务。例如,布伦特从亚纶接收该计算器的完整拷贝。如果布伦特希望如此,则即使他已经具有该应用的完整版本,他也可以检索该应用的完整版本的技术支持、未来升级、皮肤、插件模块等。通过在线商店可获得的附加内容或服务可以补充应用的完整版本。该在线商店可以用作多个软件发行方与用户之间的单一代理。图11例示了第六示例方法实施例。如前所述,该方法关于被配置成具体实践该方法的系统(如图1所示系统)来讨论。该系统首先从接收装置接收应用下载请求,其中,该下载请求包括共享装置的装置ID或用户帐号,和应用标识符(110 。该系统接着基于应用标识符向接收装置发送所请求的应用的拷贝(1104)。该系统还可以向共享装置的装置ID 或用户帐户提供报酬,如公共赞赏、帐号信用点、现金信用点、应用或媒体的自由下载、现有应用的附加功能等。该下载请求可以包括共享标准,并且该系统可以基于该共享标准发送所请求的应用的拷贝。应用开发者可以针对他或她的应用建立共享标准。在某些情况下, 该共享标准是表示完整功能、受限功能、受限激活次数、和/或期满日期的标志。该共享标准可以与应用程序包分离或者与其合并。出于安全性、验证或其它目的,分布服务器甚至可以存储共享标准。在一个实施例中,该系统向共享装置提供示出与其它用户共享的应用数量的用户界面。用户可以查找他已经与其他方共享了多少应用,并且在接收装置下载该应用时他赚取了多少应用信用点。例如,该界面可以显示Apps Shared 10,和Apps Credited :5。该用户界面可以呈现多个选项,以向下进入附加列出细节,如应用名称、共享日期,与谁共享该应用,支付价格(若有的话)等。该系统可以在服务器上或者在共享装置上存储这些统计数据和使用历史。在一个变型例中,该共享装置可以确定具有高共享总量(其指示它们广泛与其他方共享)的那些应用,并且将该显示列入优先或最优化,以供容易地访问以与其他方共享。该共享装置可以查询应用分布服务器,以获取所共享的应用的当前状态。本公开范围内的实施例还可以包括用于运送或具有存储在其上的计算机可执行指令或数据结构的有形计算机可读存储介质。这种计算机可读存储介质可以是可以由通用或专用计算机(包括如上所讨论的任何专用处理器的功能设计)访问的任何可用介质。通过示例的方式,并且非限制地,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储部、磁盘存储部或其它磁存储装置,或者可以被用于运送或存储采用计算机可执行指令、数据结构或处理器芯片设计的形式的所希望程序代码装置的任何其它介质。 当信息通过网络或另一通信连接(硬布线、无线或其组合)传递或提供至计算机时,该计算机适当地将该连接看作计算机可读介质。由此,任何这种连接都被适当地称作计算机可读介质。上述的组合也应被包括在计算机可读介质的范围内。计算机可执行指令例如包括使通用计算机、专用计算机、或者专用处理装置执行某些功能或功能组的指令和数据。计算机可执行指令还包括在独立或网络环境中由计算机执行的程序模块。一般来说,程序模块包括执行特定任务或者实现特定抽象数据类型的例程、程序、组件、数据结构、对象、以及专用处理器的设计中固有的功能等。程序模块和与数据结构相关联的计算机可执行指令表示用于执行在此公开的方法步骤的程序代码方式的示例。这种可执行指令或关联数据结构的特定序列表示用于实现按这种步骤描述的功能的对应动作的示例。本领域技术人员应当清楚,本公开的其它实施例可以在具有许多类型的计算机系统配置的网络计算环境下具体实践,包括个人计算机、手持式装置、多处理器系统、基于微处理器或可编程消费电子装置、网络PC、迷你计算机、大型计算机等。实施例还可以在分布式计算环境中具体实践,其中,通过经由通信网络链接(通过硬布线链路、无线链路,或者通过其组合)的本地和远程处理装置来执行任务。在分布式计算环境中,程序模块可以位于本地和远程存储器存储装置两者中。上述各种实施例仅通过例示的方式来提供,而不应视为对本公开的限制。例如,在此公开的原理可应用于销售电子媒体、软件应用、服务,及其任何组合的在线商店。随着新技术的浮现,本领域技术人员应当清楚,怎样容易地修改这里的原理,以适应电子商店中新种类项目的差异和附加特征。本领域技术人员应当容易地认识到,在不脱离本公开的精神和范围的情况下,可以针对本公开进行各种修改和改变,而不跟随在此例示和描述的示例实施例和应用。
权利要求
1.一种将来自共享装置的应用同步至接收装置的方法,该方法包括以下步骤 在共享装置上显示有资格与其它装置共享的应用的列表,该列表包括至少一个应用; 在所述共享装置处接收对所述应用的列表中要与接收装置共享的应用的选择;基于与所选择的应用相关联的共享首选项,在所述共享装置处创建应用程序包;以及从所述共享装置向所述接收装置发送所述应用程序包。
2.根据权利要求1所述的方法,所述方法还包括以下步骤在所述共享装置处接收来自所述接收装置的、对成功发送所述应用程序包的确认。
3.根据权利要求1或2所述的方法,所述方法还包括以下步骤生成用于共享的所选择的应用的事务记录。
4.根据权利要求3所述的方法,所述方法还包括以下步骤将所述事务记录存储在所述共享装置上的存储区中。
5.根据权利要求3或4所述的方法,所述方法还包括以下步骤从所述共享装置向远程服务器发送所述事务记录。
6.根据权利要求3、4或5所述的方法,所述方法还包括以下步骤从所述共享装置向所述接收装置发送所述事务记录。
7.根据权利要求6所述的方法,其中,所述事务记录包括以下中的至少一个与从共享装置发送的应用程序包的总数量有关的信息、所共享的应用的应用ID、来自共享装置的用户帐号ID、以及接收装置的用户帐号ID。
8.根据权利要求1、2、3、4、5、6,或7所述的方法,其中,该应用程序包包括与所选择的应用相关联的元数据,与所述共享装置相关联的第一唯一标识符、与所述接收装置相关联的第二唯一标识符,以及基于所述共享首选项的、所述应用的受限共享拷贝和在服务器上唯一地标识所选择的应用的应用种子中的一个,其中,所述接收装置可以基于所述应用程序包从服务器检索应用的拷贝。
9.根据权利要求1、2、3、4、5、6、7,或8所述的方法,所述方法还包括以下步骤通过所述共享装置从所述接收装置接收装置标识符。
10.根据权利要求1、2、3、4、5、6、7、8,或9所述的方法,其中,所述应用程序包还包括 应用种子ID、表示所选择的应用的图形图像、应用ID、以及所述应用的共享拷贝中的至少一个。
11.一种用于跟踪共享的应用的系统,该系统包括 处理器;第一模块,该第一模块控制所述处理器以接收表示从共享方向接收方成功共享应用的数据集,所述数据集指示所述共享方、所述接收方,以及所述共享的应用;第二模块,该第二模块控制所述处理器以将所接收的数据集插入到链接所述共享方与所述接收方的第一数据库中;第三模块,该第三模块控制所述处理器以将所接收的数据集插入到链接所述共享方与所述共享的应用的第二数据库中;以及第四模块,该第四模块被配置成显示所述第一数据库的至少一部分或所述第二数据库的至少一部分。
12.根据权利要求11所述的系统,所述系统还包括第五模块,该第五模块被配置成显示指示源于所述共享方的后代接收方的共享方-接收方对的树形图。
13.根据权利要求11或12所述的系统,所述系统还包括第五模块,该第五模块被配置成显示指示源于所述接收方的祖代共享方的共享方-接收方对的树形图。
14.一种存储指令的非暂时计算机可读存储介质,该指令在通过计算装置执行时使该计算装置从应用分布服务器向接收装置分布应用,所述指令包括基于由共享装置触发的共享事件,接收来自接收装置的应用下载请求,其中,所述下载请求包括应用标识符、以及共享装置的装置ID和用户帐号中的至少一个;和向所述接收装置发送基于所述应用标识符的所请求的应用的拷贝。
全文摘要
在此公开的是用于在装置之间同步应用的系统、计算机实现方法,以及有形计算机可读存储介质。该方法在共享装置上显示可用于与其它装置共享的一个或多个应用的列表,和在共享装置处接收对应用列表中的要与接收装置共享的应用的选择。该方法接着通过共享装置确定所选择的应用的共享首选项,基于该共享首选项在共享装置处创建应用程序包,以及建立从共享装置至接收装置的网络连接。该系统经由网络连接从共享装置向接收装置发送应用程序包。
文档编号G06F9/445GK102460388SQ201080029179
公开日2012年5月16日 申请日期2010年5月19日 优先权日2009年6月3日
发明者E·D·斯特卡勒 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1