CN101861567A - 用于自动下载软件安装依赖性的方法、装置和计算机程序产品 - Google Patents

用于自动下载软件安装依赖性的方法、装置和计算机程序产品 Download PDF

Info

Publication number
CN101861567A
CN101861567A CN200880116209A CN200880116209A CN101861567A CN 101861567 A CN101861567 A CN 101861567A CN 200880116209 A CN200880116209 A CN 200880116209A CN 200880116209 A CN200880116209 A CN 200880116209A CN 101861567 A CN101861567 A CN 101861567A
Authority
CN
China
Prior art keywords
required component
application
component
request
portable terminal
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
Application number
CN200880116209A
Other languages
English (en)
Inventor
J·P·洛里拉
P·K·莱尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Oyj
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of CN101861567A publication Critical patent/CN101861567A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)

Abstract

提供了一种用于自动下载应用包的设备。下载的应用包包含依赖性管理器、配置文件及其他应用文件。在应用包的安装期间,依赖性管理器被自动启动并且能够读取在应用包内包含的配置文件中的数据。依赖性管理器还能够将与文件中所需组件相关的信息与设备中的所需组件相比较,而且确定是否缺失任何所需的组件或者设备中所需的组件是否需要较新的版本。关于这一点,依赖性管理器还能够生成针对(一个或多个)缺失或不是最新的所需组件的请求,并且从服务器下载缺失或过时的(一个或多个)所需组件。依赖性管理器还能够在设备中安装所下载的(一个或多个)所需组件。

Description

用于自动下载软件安装依赖性的方法、装置和计算机程序产品
技术领域
本发明的实施方式通常涉及安装应用时自动下载所需的软件组件,并且尤其涉及一种用于将依赖性管理器嵌入应用包从而可以自动下载所需软件组件的方法、设备和计算机程序产品。
背景技术
现代通信时代已经带来了有线和无线网络的极大发展。计算机网络、电视网络和电话网络正在经历由消费者需求驱动的前所未有的技术发展。无线和移动网络技术已经解决有关的消费者需求,同时提供了信息传送的更多灵活性和即时性。
当前和未来的网络技术继续通过扩展移动电子设备的性能来促进信息传输的简易和用户便利。另外,移动电子设备变得更加复杂并且开始越来越依赖诸如运行时和库之类的所需组件。这些所需组件也正以比移动电子设备的升级循环更快的速度而演进。当前,移动软件应用在被称为应用安装包的文件中被传递给移动电子设备。应用可以包含需要在任何它可以安装在其上的电子设备上运行的所有组件,或者它可以依赖不是在所有目标电子设备中可用的组件。关于这一点,依赖所需组件的应用包需要通过(一个或多个)所需组件的移动电子设备进行安装以使应用包正确运行。
假使所需组件比过时的移动电子设备演进得更快,为已经上市的过时的移动电子设备部署新的所需组件对于商业来说是有好处的。为了在尽可能多的移动电子设备上运行依赖这些所需组件的软件,必须有一种方法将所需组件传递到缺失了所需组件的移动电子设备。目前,应用包的开发者可以使用几种选择来确保移动电子设备的用户能够运行他们在应用包需要并且依赖其他组件(例如,所需组件)来运行的情况中接收的应用包。例如,当今的应用开发者往往将电子设备约束或限制成只是那些针对已安装应用已经具有正确所需组件的电子设备。然而,这种方法的缺点是应用的潜在用户由于具有最新且技术上最先进的电子设备的用户的存在而减少。关于这一点,针对该应用的目标市场也缩小了。
当今开发者的另一个方法是将所需组件捆绑在应用安装包中。然而,这种方法会遭受到增加应用包大小的缺点,并且在不同的应用捆绑包含(一个或多个)所需组件的不同版本的情况下也可能引起问题。当今的应用包开发者的另一个方法包含需要用户手动安装(一个或多个)所需组件。然而,所需运行时组件的手动安装一般需要用户具有一定的技术技巧级别并且使得安装变成一个更加困难且沉闷的过程。(一个或多个)所需组件的手动安装还可能导致开发者给手动下载(一个或多个)所需组件的用户提供帮助而承受较高的技术支持负担。
为了提供针对上述问题的解决方案,有利的是提供一种改进所需组件到具有(一个或多个)具体应用包的移动电子设备的部署的装置。
发明内容
本发明的示例性实施方式提供了被嵌入应用包中的依赖性管理器。依赖性管理器在应用包被安装时自动运行,并且它确定是否存在正确的依赖性,然后从后端服务器请求并下载任何缺失的所需组件(在此也称作依赖性)或过时的所需组件,然后安装它们。用这种机制,可以在安装应用包的时候将所需组件部署到任何能够自动运行程序的移动电子设备。而且,应用包的开发者无需将所需组件嵌入应用包中,但仍可确定在应用包的安装过程期间安装了所需组件。
在一个示例性实施方式中,提供了一种用于自动下载所需组件的方法和计算机程序产品。该方法和计算机程序产品包括:在应用安装期间读取应用中包含的文件以及将与文件中的一个或多个所需组件有关的信息与设备中安装的一个或多个所需组件进行比较。该方法和计算机程序产品还包括:基于该比较,确定应用中的一个或多个所需组件中的任何一个是否缺失或者是否需要应用中的一个或多个所需组件的较新版本。该方法和计算机程序产品还包括:在确定显示应用中的一个或多个所需组件中至少一个所需组件缺失或者需要至少一个所需组件的新版本时生成对至少一个所需组件的请求。该方法和计算机程序产品还包括下载至少一个所需组件以及在应用的安装期间在设备中安装至少一个所需组件。
在另一个示例性实施方式中,提供了一种用于自动下载所需组件的装置。该装置包括一个处理元件,其被配置用于在应用安装期间读取应用中包含的文件以及将与文件中的一个或多个所需组件有关的信息与设备中的一个或多个所需组件进行比较。该处理元件还能够基于比较的信息,确定应用中的一个或多个所需组件中的任何一个是否缺失或者是否需要应用中的一个或多个所需组件的较新版本。处理元件还被配置用于在该确定显示应用的一个或多个所需组件中至少一个所需组件缺失或者需要至少一个所需组件的较新版本时,生成对至少一个第一所需组件的请求。该处理元件还被配置用于下载该至少一个所需组件和在应用安装期间安装设备中的至少一个所需组件。
附图说明
已经在总体上描述了本发明,现在将参考附图,其中附图未必是按照比例绘制的,并且其中:
图1是根据本发明示例性实施方式的移动终端的示意框图;
图2是根据本发明示例性实施方式的无线通信系统的示意框图;
图3是根据本发明示例性实施方式的后端服务器的示意框图;
图4A是根据本发明示例性实施方式的应用安装包的框图;
图4B是能够存储应用包和所需组件的电子设备存储器的框图;
图5是根据本发明示例性实施方式的用于促进包含所需组件的包的自动下载的依赖性管理器的流程图;以及
图6是根据本发明示例性实施方式的在安装应用包时自动下载所需组件的方法的流程图。
具体实施方式
现在将参考附图在下文中更全面地描述本发明的实施方式,附图中示出了本发明的某些而不是所有实施方式。实际上,这些发明可以按照多种不同的形式来体现,并且不应该认为是被限制于此记载的实施方式;相反,提供这些实施方式是为了使本公开内容满足适用的法律要求。贯穿附图,相同的标号表示相同的元件。
图1示出了将受益于本发明实施方式的移动终端10的框图。然而,应当理解,所示出的以及在此后描述的移动电话仅仅是受益于本发明的一种类型移动终端的示范,因此,不应用来限制本发明实施方式的范围。尽管出于示例目的而示出并在此后描述了移动终端10的若干实施方式,但是其他类型的移动终端也可以容易地使用本发明,这些移动终端诸如便携式数字助理(PDA)、寻呼机、移动电视、游戏设备、膝上型计算机以及其他类型的语音和文本通信系统。
此外,尽管本发明的方法的若干实施方式由移动终端10来执行或者使用,但是该方法也可以由不同于移动终端的其他设备使用。而且,本发明的系统和方法将主要结合移动通信应用来描述。然而,应当理解,可以结合移动通信产业之中以及移动通信产业之外的各种其他应用来使用本发明实施方式的系统和方法。例如,如图2所示并如下所述的网络设备,或者实际上,设计硬件和软件元件的任意电子设备都将类似地从本发明中获益。因此,本发明不应被视为限制于移动通信产业中的应用。
移动终端10包括天线12,其与发射机14和接收机16可操作地通信。移动终端10还包括控制器20或者其他处理元件,其分别提供去往发射机14的信号和接收来自接收机16的信号。信号包括按照适当蜂窝系统的空中接口标准的信令信息,并且还包括用户语音和/或用户生成的数据。在此方面,移动终端10能够利用一个或多个空中接口标准、通信协议、调制类型以及接入类型来进行操作。作为示范,移动终端10能够根据多种第一代、第二代和/或第三代通信协议等中的任何协议来进行操作。例如,移动终端10可以能够按照第二代(2G)无线通信协议IS-136(TDMA)、GSM和IS-95(CDMA)来进行操作,或者按照第三代无线通信协议宽带码分多址(WCDMA)来进行操作。
可以理解,控制器20可以包括用于实现移动终端10的音频和逻辑功能所需的电路。例如,控制器20可以包括数字信号处理器设备、微处理器设备、各种模数转换器、数模转换器和其他支持电路。移动终端10的控制和信号处理功能按照其各自的能力在这些设备间分配。控制器20由此还可以包括在调制和传输之前对消息和数据进行卷积编码和交织的功能。控制器20还可以另外包括内部话音编码器,并且可以包括内部数据调制解调器。此外,控制器20可以包括用于操作可存储在存储器中的一个或多个软件程序的功能。例如,控制器20可以能够操作连接程序,诸如传统的Web浏览器。连接程序继而可以允许移动终端10例如按照超文本传输协议(HTTP)来发射和接收诸如基于位置的内容之类的Web内容。
移动终端10还可以包括用户接口,其包括输出设备,例如传统的耳机或者扬声器24、振铃器22、麦克风26、显示器28以及用户输入接口,所有这些设备都耦合至控制器20。允许移动终端10接收数据的用户输入接口可以包括允许移动终端10接收数据的多种设备中的任意设备,例如小键盘30、触摸显示器(未示出)、一个或多个菜单按钮(未示出)或者其他输入设备。在包括小键盘30的实施方式中,小键盘30可以包括传统的数字键(0-9)和相关键(#、*)、以及用于操作移动终端10的其他键。移动终端10还包括电池34,诸如振动电池组,用于为操作移动终端10所需的各种电路供电,以及可选地提供机械振动作为可检测输出。
移动终端10可以进一步包括用户身份模块(UIM)38。UIM 38通常是具有内置处理器的存储器设备。UIM 38例如可以包括订户身份模块(SIM)、通用集成电路卡(UICC)、通用订户标识模块(USIM)、可移动用户标识模块(R-UIM)等。UIM 38通常存储与移动订户相关的信元。除了UIM 38之外,移动终端10还可以具有存储器。例如,移动终端10可以包括易失性存储器40,例如包括用于临时存储数据的高速缓存区域的易失性随机存取存储器(RAM)。移动终端10还可以包括其他非易失性存储器42,其可以是嵌入式的和/或可以是可拆卸的。非易失性存储器42可以附加地或者可选地包括例如可以从加利福尼亚州Sunnyvale的SanDisk公司或者加利福尼亚州Fremont的Lexar Media公司获得的EEPROM、闪存等。存储器可以存储移动终端10所使用的多个信息片段和数据中的任意项,以实现移动终端10的功能。例如,存储器可以包括能够唯一标识移动终端10的标识符,诸如全球移动设备标识(IMEI)码。
此外,非易失性存储器42可以存储一个或多个应用包64和应用包64为了正确运行所依赖的一个或多个所需组件67。例如,应用包64可以包括但不限于SymbianTM应用包,其是用于诸如诺基亚公司的S60智能电话之类的移动电子设备的程序。诸如SymbianTM应用包之类的应用包64可以包含关联的应用代码和数据文件。SymbianTM应用包可以依赖诸如库、运行时、工具箱和用户接口框架之类的所需组件以便正确运行。应用包64和所需组件67可以预先加载在移动终端10的存储器中。替换地,一个或多个应用包64和所需组件67可以用下述方法从计算系统52或者诸如后端服务器54之类的服务器下载。如此处所提及,应用包64可以包含组成用于在移动终端10上运行对应程序的软件和/或可执行代码的一个或多个文件,和/或包含应用需要的数据文件。另外,如在此所提及,所需组件是应用包正确运行所依赖的计算机可读代码中的任何组件。所需组件可以包含任何数据,但是它们一般包含可执行代码。在电子设备中安装了(一个或多个)所需组件后,也需要相同所需组件来正确运行对应应用的其他应用也可以使用它(它们)。
现在参考图2,其提供了将受益于本发明实施方式的一类系统的说明。该系统包括多个网络设备,其中任意网络设备都可以使用本发明的实施方式。如图所示,一个或多个移动终端10中的每一个都可以包括天线12,以用于向基地或基站(BS)44发射信号以及从其接收信号。基站44可以是一个或多个蜂窝或移动网络的一部分,每个网络包括操作该网络所需的元件,例如移动交换中心(MSC)46。如本领域技术人员公知的,移动网络也可以称作基站/MSC/联网功能(BMI)。在操作中,当移动终端10进行和接收呼叫时,MSC 46能够路由去往和来自移动终端10的呼叫。当呼叫涉及移动终端10时,MSC 46还可以提供与陆线主干的连接。此外,MSC 46能够控制去往和来自移动终端10的消息的转发,并且还能够控制去往和来自消息收发中心的、针对移动终端10的消息的转发。应当注意,尽管在图2的系统中示出了MSC 46,但是MSC 46仅仅是示例性网络设备,并且本发明的实施方式不限于在使用MSC的网络中使用。
MSC 46可以耦合至诸如局域网(LAN)、城域网(MAN)和/或广域网(WAN)之类的数据网络。MSC 46可以直接耦合至数据网络。然而,在一种典型实施方式中,MSC 46耦合至GTW48,而GTW 48耦合至例如因特网50的WAN。继而,诸如处理元件(例如,个人计算机、服务器计算机等)之类的设备可以经由因特网50耦合至移动终端10。例如,如下所述,处理元件可以包括与下文描述的计算系统52(图2中示出了两个)、后端服务器54(图2中示出了一个)等相关联的一个或多个处理元件。
BS 44还可以耦合至信令GPRS(通用分组无线电服务)支持节点(SGSN)56。如本领域技术人员公知的,SGSN 56通常能够执行类似于MSC 46的功能,以用于分组交换服务。与MSC 46类似,SGSN 56可以耦合至诸如因特网50之类的数据网络。SGSN 56可以直接耦合至数据网络。然而,在更典型的实施方式中,SGSN 56耦合至分组交换核心网,诸如GPRS核心网58。分组交换核心网继而耦合至另一GTW 48,诸如GTW GPRS支持节点(GGSN)60,而GGSN 60耦合至因特网50。除了GGSN 60之外,分组交换核心网还可以耦合至GTW 48。而且,GGSN 60可以耦合至消息收发中心。在此方面,类似于MSC 46,GGSN60和SGSN 56能够控制消息(诸如MMS消息)的转发。GGSN 60和SGSN 56还能够控制去往和来自消息收发中心的、针对移动终端10的消息的转发。
此外,通过将SGSN 56耦合至GPRS核心网58和GGSN 60,诸如计算系统52和/或后端服务器54之类的设备可以经由因特网50、SGSN56以及GGSN 60而与移动终端10耦合。在此方面,诸如计算系统52和/或后端服务器54之类的设备可以跨过SGSN 56、GPRS核心网58以及GGSN 60来与移动终端10通信。通过将移动终端10以及其他设备(例如,计算系统52、后端服务器54等)直接地或者间接地连接至因特网50,移动终端10例如可以按照超文本传输协议(HTTP)等来与其他设备进行通信以及相互之间彼此通信,由此执行移动终端10的各种功能。
尽管在此没有示出和描述每个可能的移动网络的每个元件,但是应当意识到,移动终端10可以通过BS 44耦合至多种不同网络中的任意一个或多个。在此方面,网络可以能够支持按照多个第一代(1G)、第二代(2G)、2.5G、第三代(3G)和/或未来移动通信协议等中的任意一个或多个协议的通信。例如,一个或多个网络可以能够支持按照2G无线通信协议IS-136(TDMA)、GSM和IS-95(CDMA)的通信。而且,例如,一个或多个网络可以能够支持按照2.5G无线通信协议GPRS、增强数据GSM环境(EDGE)等的通信。此外,例如,一个或多个网络可以能够支持按照诸如使用宽带码分多址(WCDMA)无线接入技术的通用移动电话系统(UMTS)网络的3G无线通信协议的通信。某些窄带NAMPS以及TACS网络以及双模或者更多模的移动台(例如,数字/模拟或者TDMA/CDMA/模拟电话)也可以受益于本发明的实施方式。
移动终端10还可以耦合至一个或多个无线接入点(AP)62。AP 62可以包括被配置为按照诸如以下的技术来与移动终端10进行通信的接入点:射频(RF)、蓝牙(BT)、红外(IrDA)或者多种不同的无线网络互联技术中的任意技术,其中无线网络互联技术包括:诸如IEEE802.11(例如,802.11a、802.11b、802.11g、802.11n等)的无线LAN(WLAN)技术、诸如IEEE 802.16的WiMAX技术、无线-保真(Wi-Fi)技术和/或诸如IEEE 802.15的超宽带(UWB)技术。AP 62可以耦合至因特网50。类似于MSC 46,AP 62可以直接耦合至因特网50。然而,在一个实施方式中,AP 62经由GTW 48间接耦合至因特网50。此外,在一个实施方式中,可以将BS 44视作另一AP 62。将会意识到,通过将移动终端10以及计算系统52、后端服务器54和/或多个其他设备中的任意设备直接或者间接地连接至因特网50,移动终端10可以彼此进行通信、与计算系统进行通信等等,从而执行移动终端10的各种功能,例如向计算系统52传输数据、内容等和/或从计算系统52接收内容、数据等。这里使用的术语“数据”、“内容”、“信息”以及类似术语可以互换使用,用来表示按照本发明的实施方式能够被发射、接收和/或存储的数据。由此,不应将任何这种术语的使用作为对本发明实施方式的精神以及范围的限制。
尽管未在图2中示出,除了跨因特网50将移动终端10耦合至计算系统52和/或后端服务器54之外或者作为替代,可以按照例如RF、BT、IrDA或者多种不同的有线或无线通信技术(包括LAN、WLAN、WiMAX、无线保真(Wi-Fi)和/或UWB技术)中的任意技术,来将移动终端10、计算系统52和后端服务器54彼此耦合和通信。一个或多个计算系统52可以附加地或者备选地包括可拆卸存储器,其能够存储随后可以传送给移动终端10的内容。此外,移动终端10可以耦合至一个或多个电子设备,诸如打印机、数字投影仪和/或其他多媒体捕获、产生和/或存储设备(例如,其他终端)。类似于计算系统52,移动终端10可以被配置为按照例如RF、BT、IrDA或者多种不同的有线或无线通信技术(包括USB、LAN、WLAN、WiMAX和/或UWB技术)中的任意技术来与便携式电子设备进行通信。
现在参见图3,根据本发明的一个实施方式示出了能够操作为后端服务器54的实体的框图。能够操作为后端服务器54的实体包括各种装置以用于执行根据本发明的示例性实施方式的一个或多个功能,包括那些更具体地示出的和此处所述的功能。然而应当理解,在不脱离本发明的精神和范围的前提下,一个或多个实体可以包括用于执行一个或多个类似功能的替换装置。更具体地,例如,如图3中所示,该实体可以包括连接到存储器76的处理器74。该存储器可以包括易失性和/或非易失性存储器,并且一般存储内容、数据等等。例如,该存储器一般存储从该实体发射和/或被该实体接收的内容。还例如,该存储器一般存储客户应用、指令等等以便处理器根据本发明实施方式执行与实体操作相关联的步骤。另外,存储器76可以存储应用安装包64,比如移动电子设备软件应用和诸如配置文件69之类的配置文件,以及所需组件(例如所需组件67),包括但不限于包含可执行软件功能的库、运行时、(例如,可在源代码中执行的软件)包含可由诸如控制器20之类的控制器用来在运行时期间以编程语言实现功能的程序库的运行时库,诸如语言包之类的数据文件,等等。如下所述,例如,该存储器可以存储(一个或多个)客户应用。
如在此所述,(一个或多个)客户应用都可以包括各个实体运行的软件。然而应当理解,在不脱离本发明的精神和范围的前提下,此处所述的客户应用中的任意一个或更多可以替换地包括固件或硬件。然后,后端服务器54通常可以包括用于执行一个或多个客户应用的各种功能的一个或多个逻辑元件。应当理解,逻辑元件可以以若干不同方式中的任意一种方式来具体表现。关于这一点,执行一个或多个客户应用功能的逻辑元件可以包含在集成电路组合中,集成电路组合包括一个或多个集成电路,所述集成电路与相应网络实体(即,计算系统、后端服务器等等)整合或通信,或者更特别地例如与相应网络实体的处理器74整合或通信。
除了存储器76之外,处理器74也可以被连接到至少一个接口或其他装置以用于显示、下载、传输和/或接收数据、内容等等。关于这一点,(一个或多个)接口包括至少一个通信接口78或其他装置以用于下载、发射和/或接收数据、内容等等。关于这一点,通信接口78能够向诸如移动终端10之类的电子设备发送一个或多个应用安装包以及一个或多个所需组件。(一个或多个)通信接口可以包括用于连接到第一网络的第一通信接口,以及用于连接到第二网络的第二通信接口。除了(一个或多个)通信接口之外,(一个或多个)接口还可以包括至少一个用户接口,该用户接口可以包括一个或多个耳机和/或扬声器、显示器70和/或用户输入接口75。用户输入接口继而可以包括允许实体向用户发射数据或者从用户接收数据的若干设备中的任意设备,比如麦克风、小键盘、触摸显示屏、控制杆、图像捕获设备(例如,数字摄像头)或其他输入设备。
现在将参考图4A来描述本发明的示例性实施方式,其中,显示了用于从后端服务器自动下载所需组件的应用包的某些元件。例如,可以在图1的移动终端10上使用应用包64。例如,应用包64可以存储在诸如非易失性存储器42之类的存储器中。(见图4B)然而,应当指出,也可以在各种各样的其他移动和固定设备上使用图4A的应用包64,因此本发明的实施方式不应该被限制于在诸如图1的移动终端10之类的设备上的应用。例如,可以在个人、桌面或膝上型计算机等等上使用应用包64。应当指出,应用包64中的可执行代码的功能可以由控制器20来实现。虽然图4A中为了例示的目的而示出了一个应用包64,但是应当指出移动终端10可以有任意数量的应用包64。
应用包64可以包括由控制器20执行并且包含在计算机可读代码中的任何软件,并且可以包括一个或多个文件或应用所需要的其他文件,所述一个或多个文件包括用于在移动终端10上运行对应应用或程序(例如,SymbianTM、JavaTM、JavaScriptTM、FlashTM、PythonTM等等)的软件或可执行代码。应用包64包括诸如配置文件69之类的一个或多个配置文件。另外,应用包64还包括一个或多个文件61,其可以包含用于正确运行关联程序的应用代码和数据文件。虽然图4A中示出了4个文件61,但是应当指出,(一个或多个)应用包64之内可以包含任意适当数量的文件。
如图4A中所示,配置文件69包含在应用包64中。配置文件69包含了指定应用为了运行而需要的所需组件的名称和版本以及服务器的统一资源定位符(URL)的数据,所述服务器比如是可以在其中下载所需组件67的后端服务器54。配置文件69还指定应用包64需要的所需组件,识别在何处定位并获取该所需组件,如果它们尚未安装在诸如移动终端10之类的电子设备中,则以千字节指定每个所需组件的近似大小,并且配置文件69包含可能需要发送到后端服务器54的任何辅助信息。可以使用依赖性管理器65而无需对应用包的应用代码做出改变。
现在参见图4B,示出了移动终端的存储器42,其能够存储应用包以及所需组件。还应当指出,应用包64和所需组件可以安装在移动终端的存储器42或任何其他适当的存储器中。所需组件67可以是由控制器20执行的任何软件,并且包含在计算机可读代码或应用包适当地充分运行所需的任何其他数据中。所需组件67包括但不限于由可执行软件功能组成的库、运行时,比如源代码形式的可执行软件,由可被控制器20用来在运行时期间以程序语言来实现功能的程序库组成的运行时库、工具箱、用户接口框架等等。在将(一个或多个)所需组件安装在诸如移动终端10之类的设备上后,则后来安装在所需相同所需组件的移动终端10上的所有应用就都可以使用之前安装的(一个或多个)所需组件。虽然在图4B中为了例示目的而示出了四个所需组件,但是应当指出可以在移动终端10中安装任意数量的所需组件67。还应当指出,每个所需组件67可以是不同的。例如,其中一个所需组件67可能涉及运行时(例如,运行时应用),而另一个所需组件67可能涉及库,等等诸如此类。
依赖性管理器65(在此也称作DP)被包含在应用包中(参见图4A),并且它可以包括(由控制器20执行的)任何软件装置,该软件装置能够读取配置文件69,检查移动终端中存储的所需组件,并且确定在诸如移动终端10之类的电子设备上是否存在所有的所需组件。也就是说,依赖性管理器65能够确定应用在移动终端上正确运行所需要的所有所需组件是否都存储在该移动终端中。关于应用正确运行所需的所有所需组件是否存储在移动终端中的确定自动发生,并且在正在移动终端10上安装应用包64时开始。依赖性管理器65能够读取配置文件69以确定应用包64正确运行所需的所有所需组件67并且比较这些所需组件与移动终端10中那些存在的组件。如果依赖性管理器65确定移动终端10中存在配置文件69中的所有所需组件67,则依赖性管理器退出安装进程,而且应用包的安装完成。
另一方面,如果依赖性管理器65确定在配置文件69中识别的一个或多个所需组件从移动终端缺失,或者如果(一个或多个)所需组件的正确或更新版本不在移动终端10内,则依赖性管理器65可以向移动终端10的用户提供提示或消息,所述提示或消息可经由用户接口的一个或多个菜单按钮进行访问并且可以在显示器28上显示。这种提示或消息可以包含文本,该文本询问移动终端10的用户是希望下载缺失的(一个或多个)所需组件,还是希望下载(一个或多个)所需组件的正确或最新版本。例如,依赖性管理器65提供给用户的提示或消息可以包括但不限于诸如“需要程序包X、Y和Z。是否现在下载(总大小大约是700千字节)?”之类的消息。依赖性管理器65可以使用与是下载缺失的所需组件还是下载正确或更新的所需组件的询问相关的任何其他适当的消息。在一个替换的示例性实施方式中,依赖性管理器65可以确定移动终端10的存储器42中是否有足够的空间,并且倘若如此就自动下载缺失的所需组件或者正确或更新的所需组件。
如果用户确实希望下载缺失的(一个或多个)所需组件67,则用户可以使用用户接口的菜单按钮来选择一个诸如“是”选项之类的选项。另外,用户可以使用小键盘30来键入并回答问题,比如“是”,或者用户可以使用任何其他适当机理来指示期望继续进行(一个或多个)所需组件的下载。关于这一点,如果移动终端的用户针对关于他/她是希望下载(一个或多个)缺失的所需组件还是下载(一个或多个)所需组件的正确版本或更新版本的询问应答“是”,则依赖性管理器65可以生成对(一个或多个)缺失的所需组件和/或(一个或多个)所需组件的正确或更新版本的请求,该请求可以经由发射机14发送到后端服务器。例如,可以通过使用移动终端10的Web浏览器将该请求从移动终端10发送到后端服务器54。关于这一点,该请求可以遵循超级文本传输协议(HTTP)并且该请求可以包含与需要的所需组件相关的信息和任何适当的附加信息,比如诸如后端服务器54之类的服务器的URL,该URL识别可以从中获取并下载所需组件的服务器(例如,后端服务器54)。与所需组件相关的信息可以包括(一个或多个)缺失的所需组件和/或(一个或多个)所需组件的正确或更新版本的标识符。
后端服务器54的处理器74能够检查其存储器76并且取回(一个或多个)缺失的所需组件和/或移动终端10正在请求的正确或更新的所需组件。而且,后端服务器54能够经由通信接口78将(一个或多个)缺失的所需组件和/或(一个或多个)正确/更新的所需组件发送到移动终端10。例如,当应用包64是SymbianTM应用包并且移动终端发送的请求涉及用于SymbianTM应用包的缺失的所需组件时,后端服务器54可以向移动终端10发送缺失的所需组件67,比如SymbianTM应用包的库。在这个例子中,缺失的所需组件67可以是SymbianTM安装包(SIS)。应当指出,可以用任何适当的技术在移动终端10和后端服务器54之间传送请求以及(一个或多个)缺失和/或正确或更新的所需组件,所述技术比如有RF、BT、IrDA或许多不同的有线或无线通信技术中的任意一个,包括LAN、WLAN、WiMAX、无线保真(Wi-Fi)和/或UWB技术。
在从后端服务器54接收到(一个或多个)所需组件后,依赖性管理器65就安装所需组件并且应用包64的安装进程继续进行直到完成。在(一个或多个)所需组件是更新的所需组件或者是所需组件的新版本的情况下,所需组件的更新/较新版本对所需组件的先前版本进行重写。应当指出,发送到后端服务器54的请求中可以包含任意附加信息。例如,从移动终端发送到后端服务器54的请求可以包含与对运行时组件的最新兼容版本的请求相关的信息,比如对1.4.x系列中最新版本的要求,在这种情况下,后端服务器54使用它的处理器74从存储器76取回运行时组件的最新兼容版本(在这个例子中是1.4.x系列中的最新版本),然后把运行时组件的这个最新兼容版本发送到移动终端。该请求还可以包括与移动终端10的设备型号相关的信息,而在这样情况下后端服务器54可以使用其处理器74生成定制包,该定制包包括针对移动终端10而定制并且发送到移动终端10的所需组件。另外,请求可以包括与移动终端10的IMEI代码相关的信息,而在这样情况下后端服务器54能够使用它的处理器74动态地生成基于设备(即移动终端10)的IMEI代码锁定的包并且将其发送到移动终端10。而且,该请求可以包括与移动终端10的移动运营商标识符相关的信息,而在这样情况下后端服务器54能够使用处理器74生成应用包的运营商定制的版本,其被发送到移动终端10。
该请求还可以包括一个用于移动终端10的当前选择语言(比如英语或德语)的标识符,在这个例子中,后端服务器54可以使用它的处理器74识别存储器76中的正确语言变体包,其被发送到移动终端10。用这样的方式,无需将所有的语言变体都包含在应用包64内。也就是说,因为可以通过后端服务器54向移动终端10提供正确的语言变体,所以没有必要将所有的语言变体都包含在应用包内。语言变体包一般包括应用例如在显示器28上向用户示出的消息的翻译。而且,请求还可以包括与正在安装的应用包的版本相关的信息,在这个例子中,后端服务器54能够使用它的处理器74确定正在安装的应用包64是否是最新版本,并且如果应用包64不是最新或最新近的可用应用包,则将识别较新的包然后将其发送到移动终端10。在一个示例性的替换实施方式中,应用包64可以根本不包含诸如文件61之类的应用,而是包含依赖性管理器65和配置文件69。这个替换示例性实施方式中的配置文件69包含与指令相关的信息,该指令向依赖性管理器65指示总是从后端服务器54下载最新包,并且只要下载了就把应用包的最新版本安装到移动终端10。关于这一点,后端服务器54确定应用包的最新版本并且将该最新版本发送到移动终端10。依赖性管理器65安装这个最新版本,并且用这样的方式,即使当应用包64自身不包含应用或组成应用的文件61时,移动终端10的用户也总是能够获取由应用包的所有所需组件组成的大多数当前包。
后端服务器54的处理器74可以使用逻辑功能确定需要将哪些所需组件安装到各种移动终端。这些逻辑功能可以是指令的形式,并且可以通过人利用用户输入接口75的小键盘或后端服务器54的其他输入设备来改变以定义新的或不同的逻辑功能,而无须将新的应用包实际分配给移动终端10。例如,如果运营商等等确定具体的应用包需要(一个或多个)所需组件的新的或不同/更新版本,则可以在后端服务器54定义逻辑功能,其指定在应用包的安装进程期间以及刚从依赖性管理器65接收到请求时,后端服务器54将向移动终端10发送(一个或多个)所需组件的新的或不同/更新的版本,所述版本由(一个或多个)逻辑功能来定义。关于这一点,如果需要对应用需要的所需组件做出改变,则不必对应用包做出改变和重新分配。而且,因为依赖性管理器65和配置文件69被嵌入应用包64内,并且依赖性管理器能够取回所需组件,则软件中不需要改变,即(一个或多个)应用包64自身的计算机可读代码不需要改变。
还应当指出,如果移动终端没有到因特网50的网络连接,那么依赖性管理器65能够通知移动终端10的用户在哪里他/她可以手动地下载应用包和所需组件。这个通知可以是在显示器28上显示的消息的形式,而且该通知可以包括与可以从中下载应用包和所需组件的服务器相关的URL。同样,移动终端10的用户然后可以用例如个人电脑之类的不同电子设备下载应用包和所需组件。然后,用户可以用射频(RF)、蓝牙(BT)、红外线(IrDA)、WLAN、Wi-Fi或若干不同无线网络技术中的任意一个将已下载应用包和所需组件传送到他/她的移动终端10。替换地,用户可以使用诸如个人电脑之类的电子设备下载应用包和所需组件并且将其存储在存储卡(例如,microSD(安全数字)卡)上,并且随后将该存储卡上存储的应用包和所需组件传送到移动终端10。
现在参见图5和图6,提供了依赖性管理器用于促进自动下载包含所需组件的包的流程图。只为了例示的目的而非限制,图5的依赖性管理器65包含在诸如Script Shell之类的应用包64中,并且依赖性管理器65在Script Shell应用的安装期间正在被使用。然而应当指出,依赖性管理器65可以包含在任何适当的应用包中并且在任何适当的应用包的安装期间运行。移动终端10的用户通过调用安装程序63启动ScriptShell应用的安装进程,并且依赖性管理器65被调用或加载。替换地,一个或多个文件61可以包含安装应用包的指令,在这样情况下,移动终端10上的操作系统的安装程序63开始应用包的安装进程并且调用或加载依赖性管理器65。在安装期间,用户被询问他/她是否愿意安装应用,例如“Script Shell?”(步骤600),例如,如果用户使用移动终端10的用户接口的小键盘30选择“是”,则应用文件和依赖性管理器从应用包被安装并且依赖性管理器被自动启动。(步骤605)Script Shell的版本,即版本1.00(0)由依赖性管理器65读取。依赖性管理器65读取配置文件69并且将用于在配置文件69内被识别的针对Script Shell应用的所有所需组件67与移动终端10内包含的所需组件67进行比较。关于这一点,依赖性管理器65检查所有所需的以及最新的所需组件(即,依赖性)是否包含在诸如移动终端10之类的电子设备内。(步骤610)如果依赖性管理器65确定所有所需组件都在电子设备内,即移动终端10内,并且所有的所需组件都是最新的,则依赖性管理器65退出安装进程并且安装完成(步骤615和620)。
另一方面,当依赖性管理器65确定一部分所需组件是从移动终端缺失或者确定需要(一个或多个)所需组件的较新版本时,依赖性管理器65提示移动终端10的用户:一个或多个所需组件缺失或者不存在于移动终端10上,并且可以向显示器28发送消息来询问用户是否他/她想要下载(一个或多个)所需组件,在这个例子中是“PyS60”。(步骤625)尽管没有在图5和图6中示出,但是这个消息也可以包括需要下载的所需组件的大小。例如,依赖性管理器可以在配置文件中读取PyS60是700千字节,然后把这个信息包含在消息中。根据上述机制,如果用户选择“OK”以下载(一个或多个)所需组件,即依赖性管理器65生成具有诸如可以下载(一个或多个)所需组件的后端服务器54之类的服务器的URL的请求并且服务器向依赖性管理器65发送(一个或多个)所需组件,即“PyS60”,并且依赖性管理器安装这(一个或多个)所需组件。(步骤630)(图5中未示出)如果依赖性管理器65确定存在更多与Script Shell应用相关的在移动终端10上缺失的所需组件,或者移动终端10还是不包含用于Script Shell应用的最新所需组件,则依赖性管理器向显示器28发送另一个消息以询问用户他/她是否想要下载(一个或多个)所需组件。(步骤635)(图5中未示出)相反地,如果依赖性管理器65确定不再有从移动终端缺失的所需组件并且移动终端包含用于Script Shell应用的最新所需组件,则安装完成。(步骤620)
嵌入应用包64中的依赖性管理器65和配置文件69使得能够平衡之前存在电子设备作为应用和服务平台,因此新的运行时和库可以被部署给这些电子设备。换言之,依赖性管理器65使得能够封装应用使其安装到已经具有依赖性以及不具有依赖性的电子设备,而不需要目标电子设备中事先存在任何特殊的依赖性管理支持。嵌入应用包64中的依赖性管理器65和配置文件69的使用也减轻了用户不得不手动安装依赖性以及不得不将所有依赖性都嵌入应用包中,这些不便之处会使得应用包较大并且会引入与依赖性的不同版本相关的问题。
另外,如上面指出,用来确定哪些所需组件安装到哪些电子设备的逻辑功能可以保持在后端服务器上,其中它可以被容易地改变而无须分配新版本的应用包。在一个替换的示例性实施方式中,一个或多个所需组件67可以在应用包64内,并且当例如移动终端10的电子设备上的操作系统的安装程序(例如,安装程序63)开始应用的安装进程时,依赖性管理器可以安装这些在移动终端10中的应用包中的所需组件67而不是下载用于后端服务器54的所需组件。
应当理解,图5和图6中所示的流程图的每个块或步骤以及流程图中的块结合可以由不同的装置实现,比如硬件、固件和/或包含一个或多个计算机程序指令的软件。例如,上述的一个或多个过程可以通过计算机程序指令而被包含。关于这一点,包含上述过程的计算机程序指令可以通过移动终端的存储设备来存储,并且由移动终端中的嵌入式处理器来执行。应当理解,可以将任何这类计算机程序指令载入到计算机或其他可编程装置(即,硬件)上以产生一种机器,因此在计算机或其他可编程装置(例如,硬件)装置上执行的指令用于实现流程图的(一个或多个)块或(一个或多个)步骤中指定的实现的功能。这些计算机程序指令也可以被存储在计算机可读的存储器中,它们可以指导计算机或其他可编程装置以具体的方式起作用,因此计算机可读存储器中存储的指令产生制品,其包括实现流程图的(一个或多个)块或(一个或多个)步骤中指定的功能的指令装置。计算机程序指令还可以被载入到计算机或其他可编程装置上以引起一系列操作步骤,这些操作步骤将在计算机或其他可编程装置上被执行以产生计算机实现的进程,以至于在计算机或其他可编程装置上执行的指令提供用于实现在系统中执行的功能的步骤。
上述功能可以用很多方法来执行。例如,用于执行每个上述功能的任何合适的方法都可以来使用来执行本发明。在一个实施方式中,本发明的所有元件或其一部分通常在计算机程序产品的控制之下运行。用于执行本发明实施方式的方法的计算机程序产品包括诸如非易失性存储器介质之类的计算机可读存储介质,以及该计算机可读存储介质中包含的计算机可读的程序代码部分,比如一系列计算机指令。
受益于上述描述以及关联附图中给出的教导,这些实施方式所属领域的技术人员将会想到在此记载的本发明的多种变形以及其他实施方式。因此,应当理解,本发明的实施方式不限于所公开的具体实施方式,各种变形以及其他实施方式旨在包括在所附权利要求的范围内。尽管此处使用了特定术语,但是它们仅是一般描述性的使用而不是出于限制目的。

Claims (25)

1.一种方法,包括:
在应用的安装期间读取包含于所述应用中的文件;
将与所述文件中的一个或多个第一所需组件有关的信息与设备中的一个或多个第二所需组件进行比较;
基于所述比较,确定所述第二所需组件中的任何一个是否缺失或者是否需要所述第二所述组件的不同版本;以及
当所述确定显示所述第二所需组件中至少一个所需组件缺失或者需要所述至少一个所需组件的不同版本时,生成针对至少一个第一所需组件的请求;
下载所述至少一个第一所需组件;以及
在所述应用的安装期间在所述设备中安装所述至少一个第一所需组件。
2.根据权利要求1所述的方法,进一步包括:在所述生成之前,当所述确定显示在所述第二所需组件中没有任何缺失的所需组件或者不需要所述所需组件的任何不同版本时完成所述应用的安装。
3.根据权利要求1所述的方法,进一步包括:在下载之前,向其中存储了所述至少一个第一所需组件的实体发送所述请求。
4.根据权利要求1所述的方法,其中所述第一和第二所需组件包括以下至少一个:所述应用为了正常操作而依赖的运行时、库、工具箱或者用户接口框架。
5.根据权利要求1所述的方法,其中所述文件包括配置文件,其包括有关所述第一所需组件的大小的数据,对应于存储所需组件的一个或多个实体的一个或多个统一资源定位符(URL)以及与所述第一所需组件的一个或多个名称以及所述第一所需组件的一个或多个版本有关的数据。
6.根据权利要求3所述的方法,进一步包括使用包含在所述请求中的对应于所述至少一个第一所需组件的标识符,以便取回所述至少一个第一所需组件。
7.根据权利要求3所述的方法,进一步包括:基于包含在所述请求中的与设备型号有关的信息,生成包括至少一个第二所需组件的包,其中所述至少一个第二所需组件是为所述设备而定制的。
8.根据权利要求3所述的方法,进一步包括:基于与包含在所述请求中的设备的国际移动设备识别(IMEI)代码,生成包括被锁定的至少一个第二所需组件的包。
9.根据权利要求3所述的方法,进一步包括:
确定被安装的所述应用是否是最新的;以及
如果基于包含在所述请求中的所述应用的版本有关的信息,所述确定显示所述应用不是最新的,则发送不同应用。
10.一种包括处理元件的装置,所述处理元件被配置成:
在应用的安装期间读取包含于所述应用中的文件;
将与所述文件中的一个或多个第一所需组件有关的信息与设备中的一个或多个第二所需组件进行比较;
基于所比较的信息,确定所述第二所需组件中的任何一个是否缺失或者是否需要所述第二所需组件的不同版本;以及
当所述确定显示所述第二所需组件中至少一个所需组件缺失或者需要所述至少一个所需组件的不同版本时,生成针对至少一个第一所需组件的请求;
下载所述至少一个第一所需组件;以及
在所述应用的安装期间在所述设备中安装所述至少一个第一所需组件。
11.根据权利要求10所述的装置,其中所述处理元件进一步被配置成当所述确定显示在所述第二所需组件中没有任何缺失的所需组件或者不需要所述所需组件的任何不同版本时完成所述应用的安装。
12.根据权利要求10所述的装置,其中所述处理元件进一步被配置成向其中存储了所述至少一个第一所需组件的实体发送所述请求。
13.根据权利要求10所述的装置,其中所述第一和第二所需组件包括以下至少一个:所述应用为了正常操作而依赖的运行时、库、工具箱或者用户接口框架。
14.根据权利要求10所述的装置,其中所述文件包括配置文件,其包括有关第一所需组件的大小的数据,对应于存储所需组件的一个或多个实体的一个或多个统一资源定位符(URL)以及与所述第一所需组件的一个或多个名称以及所述第一所需组件的一个或多个版本有关的数据。
15.根据权利要求12所述的装置,其中所述处理元件进一步被配置成将对应于所述至少一个第一所需组件的标识符插入在所述请求中,所述标识符被用来取回所述至少一个第一所需组件。
16.根据权利要求12所述的装置,其中所述处理元件进一步被配置成将与所述装置的型号有关的信息插入所述请求中,所述信息被用来生成包括至少一个第二所需组件的包,其中所述至少一个第二所需组件是为所述装置而定制的。
17.根据权利要求12所述的装置,其中所述处理元件进一步被配置成将所述装置的国际移动设备识别(IMEI)代码插入所述请求中,所述IMEI代码被用来基于所述装置的所述IMEI来生成包括被锁定的至少一个第二所需组件的包。
18.根据权利要求12所述的装置,其中所述处理元件进一步被配置成:
将与所述应用的版本有关的信息插入所述请求中,所述信息被用来确定被安装的所述应用是否是最新的;以及
如果基于所述信息,所述确定显示所述应用不是最新的,则发送不同应用。
19.一种计算机程序产品,所述计算机程序产品包括在其上存储了计算机可读程序代码部分的至少一个计算机可读存储介质,所述计算机可读代码部分包括:
用于在应用的安装期间读取包含于所述应用中的文件的第一可执行部分;
用于将与所述文件中的一个或多个第一所需组件有关的信息与设备中的一个或多个第二所需组件进行比较的第二可执行部分;
用于基于所述比较,确定所述第二所需组件中的任何一个是否缺失或者是否需要所述第二所需组件的不同版本的第三可执行部分;
用于当所述确定显示所述第二所需组件中至少一个所需组件缺失或者需要所述至少一个所需组件的不同版本时,生成针对至少一个第一所需组件的请求的第四可执行部分;
用于下载所述至少一个第一所需组件的第五可执行部分;以及
用于在所述设备中安装所述至少一个第一所需组件的第六可执行部分。
20.根据权利要求19所述的计算机程序产品,进一步包括:用于当所述确定显示在所述第二所需组件中没有任何缺失的所需组件或者不需要所述所需组件的任何不同版本时完成所述应用的安装的第七可执行部分。
21.根据权利要求19所述的计算机程序产品,进一步包括:用于向其中存储了所述至少一个第一所需组件的实体发送所述请求的第七可执行部分。
22.根据权利要求19所述的计算机程序产品,其中所述第一和第二所需组件包括以下至少一个:所述应用为了正常操作而依赖的运行时、库、工具箱或者用户接口框架。
23.根据权利要求19所述的计算机程序产品,其中所述文件包括配置文件,其包括有关第一所需组件的大小的数据,对应于存储所需组件的一个或多个实体的一个或多个统一资源定位符(URL)以及与所述第一所需组件的一个或多个名称以及所述第一所需组件的一个或多个版本有关的数据。
24.根据权利要求21所述的计算机程序产品,进一步包括:第八可执行部分,用于使用包含在所述请求中的对应于所述至少一个第一所需组件的标识符,以便取回所述至少一个第一所需组件。
25.根据权利要求21所述的计算机程序产品,进一步包括:第八可执行部分,用于基于与包含在所述请求中的设备型号有关的信息,生成包括至少一个第二所需组件的包,其中所述至少一个第二所需组件是为所述设备而定制的。
CN200880116209A 2007-11-16 2008-11-10 用于自动下载软件安装依赖性的方法、装置和计算机程序产品 Pending CN101861567A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/941,608 US20090133014A1 (en) 2007-11-16 2007-11-16 Methods, apparatuses and computer program product for automatic download of software dependencies on installation
US11/941,608 2007-11-16
PCT/IB2008/054706 WO2009063394A1 (en) 2007-11-16 2008-11-10 Methods, apparatuses and computer program product for automatic download of software dependencies on installation

Publications (1)

Publication Number Publication Date
CN101861567A true CN101861567A (zh) 2010-10-13

Family

ID=40352141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880116209A Pending CN101861567A (zh) 2007-11-16 2008-11-10 用于自动下载软件安装依赖性的方法、装置和计算机程序产品

Country Status (4)

Country Link
US (1) US20090133014A1 (zh)
EP (1) EP2210175A1 (zh)
CN (1) CN101861567A (zh)
WO (1) WO2009063394A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841794A (zh) * 2011-06-23 2012-12-26 珠海市君天电子科技有限公司 终端设备重装操作系统的方法、装置和系统
CN107211265A (zh) * 2015-12-01 2017-09-26 华为技术有限公司 一种终端间的安全交互方法及装置
CN108170439A (zh) * 2016-12-07 2018-06-15 施耐德电子软件有限责任公司 用于管理多个分布式服务器上的机器镜像的系统和方法
CN109032777A (zh) * 2018-06-29 2018-12-18 北京奇虎科技有限公司 进程重启方法、装置、计算设备及计算机存储介质
CN109871216A (zh) * 2018-12-25 2019-06-11 北京奇安信科技有限公司 一种软件部署方法、服务器及终端
CN113032006A (zh) * 2021-04-16 2021-06-25 北京奇艺世纪科技有限公司 插件构建方法、装置、设备和存储介质
CN113064662A (zh) * 2020-01-02 2021-07-02 北京沃东天骏信息技术有限公司 一种加载应用模块的方法、客户端和服务端

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10547698B2 (en) * 2006-11-08 2020-01-28 Cricket Media, Inc. Dynamic characterization of nodes in a semantic network for desired functions such as search, discovery, matching, content delivery, and synchronization of activity and information
US8756293B2 (en) * 2007-04-23 2014-06-17 Nholdings Sa Providing a user with virtual computing services
US8775577B1 (en) * 2007-12-18 2014-07-08 Amazon Technologies, Inc. System and method for configuration management service
US7996359B2 (en) * 2008-06-16 2011-08-09 International Business Machines Corporation Managing multi-node multi-version systems
US8793652B2 (en) * 2012-06-07 2014-07-29 International Business Machines Corporation Designing and cross-configuring software
US9280335B2 (en) 2010-09-30 2016-03-08 International Business Machines Corporation Semantically rich composable software image bundles
GB0820427D0 (en) * 2008-11-07 2008-12-17 Inq Entpr Ltd Mobile communication device and method
US20100179980A1 (en) * 2009-01-14 2010-07-15 Movidilo S.L. Cache system for mobile communications devices
US8954954B2 (en) 2010-04-30 2015-02-10 Blackberry Limited Method and device for application installation to multiple memory components
US8930942B2 (en) * 2010-05-26 2015-01-06 Tibco Software Inc. Capability model for deploying componentized applications
US9417865B2 (en) * 2010-05-28 2016-08-16 Red Hat, Inc. Determining when to update a package manager software
WO2012094482A1 (en) * 2011-01-05 2012-07-12 Onqueue Technologies Inc. Methods and apparatuses for imparting functionality to a mobile computing device
CN102111500A (zh) * 2011-01-20 2011-06-29 宇龙计算机通信科技(深圳)有限公司 一种用于移动终端的资源下载的方法及系统
JP5682467B2 (ja) * 2011-06-14 2015-03-11 富士通株式会社 設定情報管理プログラム、設定情報管理方法及び情報処理装置
US8893109B2 (en) * 2011-08-02 2014-11-18 Roche Diagnostics Operations, Inc. Software distribution amongst medical devices taking into account dependencies between devices
US20140019957A1 (en) * 2012-07-11 2014-01-16 Tencent Technology (Shenzhen) Co., Ltd. Method, apparatus, and system for sharing software among terminals
US10044522B1 (en) 2012-08-21 2018-08-07 Amazon Technologies Inc. Tree-oriented configuration management service
CN103905631B (zh) * 2012-12-31 2016-06-01 比亚迪股份有限公司 移动终端及其modem及linux芯片统一下载的方法
US20140282207A1 (en) * 2013-03-15 2014-09-18 Rita H. Wouhaybi Integration for applications and containers
WO2014147817A1 (ja) * 2013-03-22 2014-09-25 富士通株式会社 情報処理装置、プログラム更新方法、及びプログラム
KR101782457B1 (ko) 2013-08-13 2017-09-28 후아웨이 테크놀러지 컴퍼니 리미티드 어플리케이션 업그레이드 방법 및 장치
CN103440166A (zh) * 2013-08-30 2013-12-11 西安电子科技大学 一种从远程组件仓库按需下载的软件现场组装系统
CN104363351B (zh) * 2014-11-24 2017-05-03 何乃琼 一种基于推送信息改变而改变客户端显示的方法
US10248403B2 (en) * 2015-03-13 2019-04-02 Kony, Inc. Providing updates for natively rendered mobile applications
CN105487905A (zh) * 2015-11-27 2016-04-13 东软集团股份有限公司 一种混合应用的更新方法和装置
WO2017124023A1 (en) 2016-01-15 2017-07-20 Google Inc. Managing delivery of code and dependent data using application containers
US9817648B2 (en) 2016-01-15 2017-11-14 Google Inc. Application containers with dynamic sub-package loading
EP3217281A3 (de) * 2016-03-10 2018-02-14 Giesecke+Devrient Mobile Security GmbH Verfahren zur verwaltung der kartensoftware einer smartcard
US10455410B2 (en) 2016-06-03 2019-10-22 At&T Mobility Ii Llc Sensor-triggered software defined device
US10560356B2 (en) * 2016-07-14 2020-02-11 International Business Machines Corporation Assuring data correctness in non-stable network environment
CN107800561B (zh) * 2016-09-12 2021-05-04 平安科技(深圳)有限公司 资源更新方法和装置
US10083029B2 (en) * 2016-11-09 2018-09-25 Red Hat, Inc. Detect application defects by correlating contracts in application dependencies
EP3556126B1 (en) * 2016-12-13 2021-11-10 Deutsche Telekom AG Method for provisioning enhanced communication capabilities to user equipment
CN107205055B (zh) * 2017-08-01 2020-02-14 海信集团有限公司 终端升级方法及装置
US11036522B2 (en) * 2017-12-19 2021-06-15 Citrix Systems, Inc. Remote component loader
US10303465B1 (en) * 2018-02-22 2019-05-28 Allscripts Software, Llc Computing system for managing software dependencies in a private data store
US10985935B2 (en) * 2018-04-09 2021-04-20 Ayla Networks, Inc. Device control application with changeable workflow
US11789712B2 (en) * 2021-09-06 2023-10-17 Jpmorgan Chase Bank, N.A. Data configuration deployment framework
CN114500501B (zh) * 2021-12-31 2024-05-28 北京百度网讯科技有限公司 一种套件交付方法、装置、电子设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809251A (en) * 1996-10-09 1998-09-15 Hewlett-Packard Company Remote installation of software by a management information system into a remote computer
US6324691B1 (en) * 1998-11-12 2001-11-27 Hewlett-Packard Company Manufacture of software distribution media packages from components resident on a remote server source
US6442754B1 (en) * 1999-03-29 2002-08-27 International Business Machines Corporation System, method, and program for checking dependencies of installed software components during installation or uninstallation of software
US6718549B1 (en) * 1999-05-05 2004-04-06 Microsoft Corporation Methods for managing the distribution of client bits to client computers
US6918112B2 (en) * 2000-11-29 2005-07-12 Microsoft Corporation System and method to facilitate installation of components across one or more computers
US7711775B2 (en) * 2001-10-24 2010-05-04 Groove Networks, Inc. Method and apparatus for managing software component downloads and updates
US20040003390A1 (en) * 2002-06-27 2004-01-01 Microsoft Corporation System and method for installing a software application in a non-impactfull manner
US20040010786A1 (en) * 2002-07-11 2004-01-15 Microsoft Corporation System and method for automatically upgrading a software application
US7480907B1 (en) * 2003-01-09 2009-01-20 Hewlett-Packard Development Company, L.P. Mobile services network for update of firmware/software in mobile handsets
US7926051B2 (en) * 2003-11-10 2011-04-12 International Business Machines Corporation Automatic parallel non-dependent component deployment
ZA200806190B (en) * 2006-01-18 2009-10-28 Ericsson Telefon Ab L M Dependency notification
JP4864557B2 (ja) * 2006-06-15 2012-02-01 富士通株式会社 ソフトウェアの更新処理プログラム及び更新処理装置
KR101292979B1 (ko) * 2006-08-17 2013-08-02 삼성전자주식회사 디바이스 관리 서버를 통한 단말 내부 소프트웨어 관리방법

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841794A (zh) * 2011-06-23 2012-12-26 珠海市君天电子科技有限公司 终端设备重装操作系统的方法、装置和系统
CN107211265A (zh) * 2015-12-01 2017-09-26 华为技术有限公司 一种终端间的安全交互方法及装置
CN107211265B (zh) * 2015-12-01 2020-05-08 华为技术有限公司 一种终端间的安全交互方法及装置
CN107211265B9 (zh) * 2015-12-01 2020-06-02 华为技术有限公司 一种终端间的安全交互方法及装置
US11063939B2 (en) 2015-12-01 2021-07-13 Huawei Technologies Co., Ltd. Method and apparatus for secure interaction between terminals
CN108170439A (zh) * 2016-12-07 2018-06-15 施耐德电子软件有限责任公司 用于管理多个分布式服务器上的机器镜像的系统和方法
CN108170439B (zh) * 2016-12-07 2023-05-02 阿韦瓦软件有限责任公司 用于管理多个分布式服务器上的机器镜像的系统和方法
CN109032777A (zh) * 2018-06-29 2018-12-18 北京奇虎科技有限公司 进程重启方法、装置、计算设备及计算机存储介质
CN109871216A (zh) * 2018-12-25 2019-06-11 北京奇安信科技有限公司 一种软件部署方法、服务器及终端
CN113064662A (zh) * 2020-01-02 2021-07-02 北京沃东天骏信息技术有限公司 一种加载应用模块的方法、客户端和服务端
CN113032006A (zh) * 2021-04-16 2021-06-25 北京奇艺世纪科技有限公司 插件构建方法、装置、设备和存储介质
CN113032006B (zh) * 2021-04-16 2023-09-08 北京奇艺世纪科技有限公司 插件构建方法、装置、设备和存储介质

Also Published As

Publication number Publication date
US20090133014A1 (en) 2009-05-21
EP2210175A1 (en) 2010-07-28
WO2009063394A1 (en) 2009-05-22

Similar Documents

Publication Publication Date Title
CN101861567A (zh) 用于自动下载软件安装依赖性的方法、装置和计算机程序产品
US9357378B1 (en) Subscriber identity module (SIM) card initiation of custom application launcher installation on a mobile communication device
US7359699B2 (en) System and method for peer-to-peer handset communication
US8032865B2 (en) System and method for field diagnosis of wireless communications device system software
EP1423959B1 (en) System and method for peer-to-peer handset communication
US9398462B1 (en) Network access tiered based on application launcher installation
US7644404B2 (en) Network having customizable generators and electronic device having customizable updating software
US9092286B2 (en) System to automatically process components on a device
US7254386B2 (en) System and method for improved security in handset reprovisioning and reprogramming
US20070015538A1 (en) Network and method for the localization and customization of new mobile devices employing SIM/smart card
US20070088710A1 (en) Multimedia middleware apparatus using metadata, method for controlling multimedia middleware, and storage medium thereof
US7117494B2 (en) System and method for bi-directional communication and execution of dynamic instruction sets
WO2016041499A1 (zh) 应用下载方法和移动终端
CN110851151B (zh) 预装应用的方法、装置、终端、服务器和存储介质
US20030135851A1 (en) Method and system for concentration of applications during installation in target devices
CN101980503A (zh) 一种widget应用管理方法、装置和系统
US9554268B2 (en) System and method for updating persistent data in a wireless communications device
CN113900723B (zh) 公共平台更新方法、网络设备及计算机可读存储介质
EP2053504A1 (en) System and method for managing processing resources
CN108574588B (zh) 客户端、服务端及差异化升级方法
CN112929449B (zh) Ota升级包的编译方法、系统及计算机可读存储介质
KR100673259B1 (ko) 무선컨텐츠 다운로드 방법
CN110247966B (zh) 内核创建方法、智能电视及计算机可读存储介质
JP7346955B2 (ja) アプリケーションプログラム及びソフトウェアエージェント
KR20090019138A (ko) 이동통신 시스템에서 동적 플랫폼과 연동된 콘텐츠의다운로드 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20101013