CN102282541B - 移动专用软件包代码更新 - Google Patents

移动专用软件包代码更新 Download PDF

Info

Publication number
CN102282541B
CN102282541B CN200980155418.7A CN200980155418A CN102282541B CN 102282541 B CN102282541 B CN 102282541B CN 200980155418 A CN200980155418 A CN 200980155418A CN 102282541 B CN102282541 B CN 102282541B
Authority
CN
China
Prior art keywords
main frame
software bag
special software
communicator
application
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.)
Active
Application number
CN200980155418.7A
Other languages
English (en)
Other versions
CN102282541A (zh
Inventor
A·约翰逊
A·达莫拉
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN102282541A publication Critical patent/CN102282541A/zh
Application granted granted Critical
Publication of CN102282541B publication Critical patent/CN102282541B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

用于提供专用软件包(24)到第二主机(70)的第一主机(60)、计算机可读介质和方法。该方法包括在第一主机(60)初始化在第一主机(60)上用于与第二主机(70)上对应应用(100)通信的应用(90);从第一主机(60)发送用于验证在第二主机(70)上存在专用软件包(24)的消息;当在第二主机(70)上不存在专用软件包(24)时将专用软件包(24)从第一主机(60)推送到第二主机(70);基于在第一主机(60)的专用软件包和在第二主机(70)的专用软件包(24),在第一主机(60)执行专用活动;以及在第一主机(60)的应用(90)接收专用活动的结果,其中,专用活动的结果由在第一主机(60)的应用(90)用于与第二主机(70)上对应应用(100)通信。

Description

移动专用软件包代码更新
技术领域
本发明一般涉及主机、软件和方法,并且更具体地说,涉及用于将专用软件包从第一主机提供到第二主机的机构和技术。
背景技术
无线电电话在其之初设计用于话音通信。随着消费者电子行业继续走向成熟,并且处理器的能力增强,更多装置变得可用于使用数据的无线传送,并且更多基于此类传送的数据操作的应用变得可用。特别要注意的是因特网和局域网(LAN)。这两项创新允许多个用户和多个装置在不同装置和装置类型之间传递和交换数据。随着这些装置和能力的出现,用户(商业和住宅)发现从移动位置传送数据及话音的需要。
支持此话音和数据传送的基础设施和网络同样地一直在发展。诸如文本消息传递等有限数据应用被引入所谓的“2G”系统,例如全球移动通信系统(GSM)。通过无线电通信系统的分组数据在增加了通用分组无线电服务(GPRS)的GSM中变得更可使用。3G系统及随后通过通用地面无线电访问(UTRA)标准引入的甚至更高带宽无线电通信使得象网上冲浪等应用更容易为成千上百万用户访问。
甚至随着新网络设计由网络制造商铺展,提供更大数据吞吐量到最终用户装置的将来系统在讨论和开发之中。例如,所谓的3GPP长期演进(LTE)标准化项目预期为将来数十年的无线电通信提供技术基础。所有这些新协议设计为支持在各种主机之间的视频通信。
然而,主机本身需要配置用于支持例如需要可由测量工具测量的参数的应用,例如视频通信、VoIP、游戏、交互应用等。这些应用的一方面是主机执行主动端对端测量以提供所需参数的能力。主动端对端测量例如是在分组交换网络中主机之间的往返时间(RTT)、抖动、可用性或可用带宽。这些测量,即测量的参数可由范围广泛的网络应用使用。在一个应用中,此类信息可用于优化在主机之间的文件传送性能,或者它能够只是用于监视网络路径。
常规地,端对端网络测量方法要求两个端点(主机)参与测量。例如,端对端可用带宽测量方法要求访问发送器方节点和接收器节点,所述可用带宽测量方法例如是BART(Ekelin等人所著“使用卡尔曼滤波的端对端可用带宽的实时测量”(″Real-time measurement ofend-to-end available bandwidth using Kalman filtering,″in Proceedings tothe 10th IEEE/IFIP Network Operations and Management Symposium,Vancouver,Canada,April 2006)和S.Ekelin与M.Nilsson所著,美国专利申请11/285723“使用滤波和主动探测评估数据传送路径”(UsingFiltering and Active Probing to Evaluate a Data Transfer Path),其全部内容通过引用结合于本文中)、pathChirp(Ribeiro等人所著“pathChirp:网络路径的有效可用带宽估计”(″pathChirp:Efficient available bandwidthestimation for network paths,″in Proceedings of the Passive and ActiveMeasurement Workshop,San Diego,2003),其全部内容通过引用结合于本文中)、Pathload(M.Jain和C.Dovrolis所著“Pathload:端对端可用带宽的测量工具”(″Pathload:a measurement tool for end-to-end availablebandwidth,″in Proceedings of the Passive and Active MeasurementWorkshop,Ft Collins,2002),其全部内容通过引用结合于本文中)及Spruce(Strauss等人所著“可用带宽估计工具的测量研究”(″Ameasurement study of available bandwidth estimation tools,″inProceedings of the ACM SIGCOMM Internet Measurement Workshop,Miami,2003),其全部内容通过引用结合于本文中)。
这些方法依赖于将UDP/IP(用户数据协议)分组注入网络路径中并在发送器节点和接收器节点处测量分组间分隔的相对变化。从此测量中,通过使用各种统计分析算法,可估计在节点之间的可用带宽。即使此类方法已经在网络栈中实现,诸如Ping等其它常见工具也要求发送器节点和接收器节点安装有适当的软件。
因此,当在第一节点上运行的应用需要与第一节点和第二节点有关的一个或多个参数时,第一节点和第二节点均需要具有允许参数测量的测量软件。如果仅第一节点具有测量软件,并且第二节点没有该软件,则该应用将不能继续运行或者第二节点将请求用户下载测量软件。然而,这些方案可能让用户沮丧。此情形在图1中示出,其中,系统10包括节点A 20、节点B 30和服务器40。节点A 20包括至少一个应用22和测量软件MS 24。节点B 30包括对应的应用32,但没有对应的测量软件。
假设应用22和32与视频通信有关。在节点A 20的用户启动应用22时,此应用为与节点B 30建立视频通信执行一些准备工作。部分准备工作是确立在节点A 20与节点B 30之间的可用带宽。为确定可用带宽,测量软件MS 24需要与在节点B 32处的对应测量软件通信。然而,如上所述,存在节点B 32不具有对应测量软件或不具有相同版本的MS时的情况。对应用22而言,一个解决方案是通知节点A 20的用户,可不与节点B建立视频通信。另一解决方案是让MS 24猜测可用带宽是多少并使用该值。然而,此解决方案将导致在节点之间不合理的视频通信,例如,在通过因特网设置交互视频会话时,可用带宽需要足够高,同时等待时间应尽可能低。路径特征猜测错误能够损害体验的视频和音频质量。
在图1中示出的另一解决方案是在节点B 30处从服务器40下载必需的测量软件MS 42。因此,应用32可在步骤34中从服务器40请求必需的软件MS 42并且可在步骤36中接收MS 42。在具有测量软件MS 42的情况下,应用22和32可完成所需的视频通信。
然而,此情形要求节点B的用户介入MS软件42从服务器40的下载及在节点B与服务器40之间的补充通信交换。另外,因为随着时间的发展,诸如用于测量端对端可用带宽的那些技术等更高级的测量技术被开发并因此定期更新,所以两个节点均需要相同的软件版本以便能够利用这些测量方法,并且因此,两个节点均最终需要与服务器40交互。
相应地,最好是提供避免上述问题和缺点并且即使节点之一不具有该测量软件也能够执行测量的装置、系统和方法。
发明内容
当第一主机上的应用尝试与不同于第一主机的第二主机上的对应应用通信时,该应用可要求执行某些测量以便与对应应用建立准确通信。此类测量可由专用软件包执行。然而,第二主机可能没有该专用软件包。
根据一个示范实施例,有一种用于将专用软件包从第一主机提供到第二主机的方法。该方法包括在第一主机处初始化在第一主机上用于与第二主机上对应应用通信的应用。第一主机可发送用于验证在第二主机上存在专用软件包的消息。当在第二主机上不存在专用软件包时,将专用软件包从第一主机推送到第二主机。在两个主机处均具有专用软件包的情况下,第一主机基于在第一主机处的专用软件包和在第二主机处的专用软件包执行专用活动。专用活动的结果在第一主机的应用处接收,该结果由在第一主机处的应用用于与在第二主机上对应应用通信。
根据另一示范实施例,有一种包括计算机可执行指令的计算机可读介质,其中这些指令在执行时实现用于将专用软件包从第一主机提供到第二主机的方法。该方法包括上一段落中所述的步骤。
根据仍有的另一示范实施例,通信装置可配置用于将专用软件包提供到另一通信装置。该通信装置包括存储器和处理器,存储器用于存储配置为与在另一通信装置上的对应应用通信的应用。处理器配置为:发送用于验证在另一通信装置上存在专用软件包的消息;当在另一通信装置上没有专用软件包时将专用软件包从通信装置推送到另一通信装置;基于在通信装置处的专用软件包和在另一通信装置处的专用软件包执行专用活动;以及接收专用活动的结果。专用活动的结果由在通信装置处的应用用于与在另一通信装置处的对应应用通信。
目的是克服前一部分中所述的一些缺陷和提供能够将所需软件推送到另一主机的主机。
附图说明
结合在说明书中并构成其一部分的附图示出一个或多个实施例,并与描述一起解释这些实施例。在图中:
图1是包括两个节点和提供必需的软件到节点的服务器的系统的示意图;
图2是包括两个主机且无服务器的系统和一个主机包括代码的示意图;
图3是包括两个主机且无服务器的系统和一个主机包括移动对象的示意图;
图4是包括两个主机且无服务器的系统和一个主机包括移动代理的示意图;
图5是包括两个主机的系统的示意图,一个主机包括移动对象,一个主机没有移动对象,以及具有移动对象的主机根据一个示范实施例启动与另一主机的通信;
图6是图5的系统的示意图,其中,带有移动对象的主机根据另一示范实施例将移动对象推送到另一主机;
图7是图5的系统的示意图,其中,两个主机根据一个示范实施例,使用移动对象执行测量;
图8是示出根据一个示范实施例,用于将移动对象从一个主机推送到另一主机的步骤的流程图;
图9示出根据一个示范实施例的移动代码的结构;
图10是示出根据一个示范实施例,用于将专用软件包从一个主机推送到另一主机的步骤的流程图;
图11示出包括独特软件模块的系统;以及
图12是主机之一的示意图。
具体实施方式
示范实施例的以下描述参照附图。不同图形中的相同标号标识相同或类似的要素。以下详细描述不限制本发明。相反,本发明的范围由随附权利要求定义。为简明起见,下面的实施例相对于两个主机和如下测量进程的术语和结构进行论述,所述测量进程涉及两个主机并用于确定主机和/或连接主机的网络的各种特征。然而,随后要论述的实施例并不限于这些系统,而是可应用到其它现有系统。
说明书通篇对“一个实施例”或“实施例”的引用指结合实施例描述的特定特性、结构或特征包括在本发明的至少一个实施例中。因此,在说明书通篇各个位置出现的“在一个实施例中”或“在实施例中”短语不一定全部指同一实施例。此外,特定的特性、结构或特征可在一个或多个实施例中以任何适合的方式组合。
根据后面要论述的示范实施例,用于解决关于现有系统和方法的限制的上述问题的一个解决方案是使用移动代码技术来提供没有必需的测量基础设施的主机,例如,通过将测量移动代码推送或移动到没有必需软件的主机。在下述内容中,术语主机用于包括计算机、服务器、移动电话、个人数字助理、摄像机和/或网络中的节点。
如上所述,两个主机A和B可能需要具有相同的专用软件包以执行专用活动。例如,专用软件包可沿连接主机的网络执行测量,而专用活动可正在测量主机之间的可用带宽。专用软件包和专用活动的其它示例在后面论述。假设主机之一没有专用软件包,或者主机具有不同版本的专用软件包,则移动代码可用于确保两个主机具有专用软件包和/或匹配版本的专用软件包。
移动代码是例如可从远程系统(计算机、服务器、移动电话等)获得,跨网络传送并随后在本地系统(主机)上下载并执行而无需接收方的明确安装或执行的软件。移动代码的示例包括脚本(JavaScript、VB Script)、Java applet、ActiveX控件、Flash动画、Shockwave电影(和Xtras)及在Office文档内嵌入的宏。
移动代码也能够利用电子邮件在客户端工作站中下载和执行。移动代码可利用电子邮件附件(例如,Word文件中的宏)或利用HTML电子邮件正文(例如,JavaScript)下载。在大多数情况下,主机不知道移动代码在其工作站中下载和执行。移动代码是可例如包括代码、移动对象或移动代理的通用名称。这些类别在下面相对于图2-4论述。
使用代码的系统50的示例在图2中示出。系统50包括具有代码62的主机A 60和不包括测量软件的主机B 70。如上所述,测量软件是可能通过代码62分发的软件的许多示例之一,并且测量软件在此处未用于限制示范实施例。代码62可包括用于执行主机A和B所需测量的计算机指令,即MS 24。主机A 60基于后面要论述的某一确定,可推送要在主机B上执行的代码62。此操作方法称为远程评估。可在假设在主机A和B上的执行环境相同的情况下执行此方法,并且在一个应用中执行环境能够例如是Java虚拟机器(JVM)。可使用任何执行环境,但根据一个示范实施例,相同的执行环境必须在主机A和B上均存在。
移动代码的更高级形式是也具有从主机A移到主机B的能力的移动对象。与代码62不同,移动对象包含代码(计算机指令)和数据,并且移动对象也移动代码的运行实例的实际状态。根据一个示范实施例,数据包括代码使用的变量的值。图3示出具有主机A 60和主机B70的系统50。主机A 60可包括移动对象64,该移动对象包括专用软件包MS 24和代码62,而主机B 70没有专用软件包。在主机A 60(或其移动对象64)执行某一确定时,移动对象64被推送或移动到主机B70以便进一步执行。除代码62外,移动对象64还可包括数据66。
移动代码的第三种形式是移动代理,该移动代理比移动代码64更高级,并且能够理解为实现如下四个特性之一或全部的某种类型的软件:自治性(autonomy)、社会能力(social ability)、学习(learning)及移动性(mobility)(参阅http://agent.cs.dartmouth.edu/MA2002Keynote.ppt,2008年9月,其全部内容通过引用结合于本文中)。
移动代理被本领域技术人员理解为表示能够将其状态从一个环境传输到另一环境、其数据完整并仍能够在新环境中适当地执行的进程。移动代理决定在何时及何处进行下次移动,这从远程过程调用(PRC)发展而来。RPC是一种进程间通信技术,其允许计算机程序促使子例程或过程在(共同地在共享网络上的另一计算机上的)另一地址空间中执行而无需程序员为此远程交互明确地对这些细节编码。
因此,根据一个示范实施例,移动代理不必与主机A的用户交互以执行各种功能,即确定何时推送或移动移动代理到另一主机。因此,移动代理以类似于未实际访问网站而只是复制其的用户的方式移动,即,移动代理通过数据复制完成该移动。在移动代理决定移动时,它保存其自己的状态并将此保存的状态传输到下一主机,并从保存的状态恢复执行。
在此方面,图4示出包括主机A 60和主机B 70的系统50。图4所示主机A和B的结构类似于图3所示的结构,不同之处是主机A 60具有移动代理65,该移动代理65不但包括代码62和数据64,而且包括高级特性(AF)68。高级特性例如可以是自治性、社会能力、学习和移动性。
如上所述,移动代理是移动代码的一种特定形式。然而,例如与远程评估和移动对象范例不同,移动代理是主动的,表现在它们可选择在其执行期间任何时候在计算机之间迁移。这是在计算机网络中实现分布式应用的珍贵工具。
上述移动代码的各种形式可配置为支持在主机A与B之间的主动端对端测量。要执行主动端对端测量,常规方法是为每个主机提供测量代码(例如,BART、PathChirp)。然而,根据示范实施例,描述了即使一个主机最初没有所需测量应用/代码时在两个主机之间也执行主动端对端测量的一种方法。
为更详细地例示此方法,图5示出包括主机A 60和主机B 70的系统50。两个主机A和B可利用网络80链接。假设主机A 60包括要与主机B 70(能够是实际主机B 70或在主机B 70之上运行的应用100)通信的应用90。该通信可通过(例如,基于IP的因特网中的)分组交换网络80进行。也假设主机/应用需要有关网络状态和连接主机/应用的网络路径的性能的信息以便例如优化通信性能。此外,假设主机A 60包括可以是代码、移动对象或移动代理的移动测量对象(MMO)92及MMO 92在其中执行的移动测量对象执行环境94。MMO 92可替代为前面相对于图2和4所述的代码62和/或移动代理65。MMO 92可执行测量软件MS 24的测量,并且为此图5和后面的一些图形示出包括MS 24的MMO 92。因此,MS 24作为MMO 92的一部分的此图示应理解为MMO 92包括MS 24和/或MMO 92具有MS 24的能力。
相对于图8论述用于在两个主机A与B之间执行主动端对端测量的方法的步骤。该方法从步骤800开始,其中,主机A 60启动与主机B 70的通信。在此步骤期间,主机A 60可探测(发送消息)主机B 70以验证主机B 70是否包括必需的测量软件MS 24。启动主机(在此情况下为主机A 60)拥有能够执行必需的测量任务的MMO 92(参见图5),而主机B 70未拥有测量软件。根据一个示范实施例,在主机A和B具有相同的移动测量对象执行环境(MMO执行环境)94时,此处所述方法工作更有效。
如果在步骤810中确定主机B 70不具有测量软件,则在步骤820中,将MMO 92从主机A 60推送到主机B 70(参见图6)。因此,在此步骤后,主机A和B均具有能够执行所需测量的MMO 92。可选的是,如果在步骤810中确定主机B具有MMO 92,则在步骤830中,主机A 60可验证是否主机A和主机B均具有MMO 92的相同版本的MS24。如果在步骤830中确定主机A和B不具有相同版本,则方法继续到步骤840。在此步骤中,具有最新版本的主机将该版本的MMO 92推送到另一主机。备选,如果主机A和B每个具有多个版本的MMO92,则可识别共同版本的MMO 92并将其用于将来通信。
MMO 92可以是具有用于测量诸如RTT、端对端可用带宽、抖动、单向延迟、延迟变化或简单地可用性等度量的用途的移动对象。MMO92可以某种方式存储,使得它能够移动及在MMO执行环境(例如,Java串行化)中执行。
在两个主机A和B均具有相同MMO 92后,进程转到步骤850,在该步骤中,在主机A 60与主机B 70之间执行测量(参见图7)。在位于主机A处的MMO 92和位于主机B处的MMO 92之间执行测量后,将测量的结果转发到一个或两个应用100,从而允许在两个应用100之间的通信。在测量数据已由应用100使用后,在主机B 70处推送的MMO 92可在该主机B处被缓存或只是被删除。
如相对于图8所述,移动代码(MMO 92)不但可用于为没有专用软件包(MS 24)的主机提供该包,而且用于更新现有专用软件包。例如,由于测量技术频繁改进,因此,在端点处的测量软件需要更新以便进行正确的测量。根据一个示范实施例,通过使用移动代码的推送属性,可执行此更新操作而对主机用户的干扰极少。在均拥有执行环境的两个主机具有不同版本的测量软件时,带有最新版本的主机可配置为将测量软件推送到另一主机。
根据示范实施例,图9中示出MMO 92或代理65的结构。例如,此类对象的一个实例能够在主机之间共享的共同虚拟机器中执行。MMO 92可包括代码部分62。代码部分62可包括用于发送和接收测量分组的单元110、用于推断/估计路径状态(例如,可用带宽、抖动等)的分析单元112及用于在MMO中实现移动代码逻辑的远程评估模块114。此模块可负责与执行代码迁移(推送)、在新主机上启动移动代码及支持MMO执行的一个或多个方面有关的所有方面。MMO 92也可包括用于存储测量结果或其它数据的存储模块115和各种接口116、118与120。应用接口116可从应用100和/或测量软件MS 24接收测量参数122(诸如地址),并将测量结果124提供到应用100。发送和接收接口118可与网络相接口(interface with)以探测在主机A与B之间的业务126。换而言之,发送和接收接口118配置为访问网络栈以便根据MMO 92实现的测量算法发送和接收分组。控制层120可与测量业务控制更新128交互以同步指配为一起解决任务的分布式MMO之间的活动和数据(两个或更多个通信主机)。
根据图10所示的一个示范实施例,有一种用于将专用软件包从第一主机提供到第二主机的方法。方法包括:步骤1000,在第一主机处初始化在第一主机上用于与第二主机上对应应用通信的应用;步骤1002,从第一主机发送用于验证在第二主机上存在专用软件包的消息;步骤1004,当在第二主机上不存在专用软件包时将专用软件包从第一主机推送到第二主机;步骤1006,基于在第一主机处的专用软件包和在第二主机处的专用软件包,在第一主机处执行专用活动;以及步骤1008,在第一主机的应用接收专用活动的结果,其中,专用活动的结果由在第一主机处的应用用于与第二主机上对应应用通信。
根据图11所示的一个示范实施例,上述方法的步骤可实现为在计算机可读介质上的计算机可执行指令,其中,指令在执行时实现图11的方法。该方法包括提供包括独特软件模块的系统,其中,独特软件模块包括移动对象环境模块1100、移动对象模块1110及应用模块1120。这些模块类似于上述元件94、94和100相互交互。
如上所述,专用软件包配置为沿连接第一主机和第二主机的网络在第一主机与第二主机之间执行至少一个主动端对端测量,以及专用活动是测量在第一主机与第二主机之间的往返时间、抖动、可用性、单向延迟、延迟变化及可用带宽之一。该应用可以是在第一主机与第二主机之间的通过IP分组的视频通信、通过IP的话音、游戏或交互应用之一,并且该方法也可包括当在第二主机上存在专用软件包时验证第二主机上的专用软件包的版本的步骤,以及当第一主机和第二主机具有专用软件包的多个版本时,将最新版本的专用软件包推送到具有更旧版本的专用软件包的那个主机,或者使用共同版本的专用软件包的步骤。
推送步骤可包括将专用软件包存储到配置为从第一主机复制到第二主机的移动对象中,并且移动对象包括计算机指令和与计算机指令的变量有关的数据。虽然已相对于MMO 92描述示范实施例,但可使用代码62或移动代理65而不是MMO 92。
与要求发送器和接收器事先拥有一份软件的现有技术端对端测量方法不同,上述一些示范实施例使得即使未通过必需的测量软件启用主机,也可能执行此类网络测量。
此外,通过使用一些示范实施例,与网络测量应用版本有关的问题得以解决。由于请求测量的主机能够将网络测量软件推送到另一主机,因此,这些主机可始终运行相同的版本,使得测量的成功率增大。
为了说明而不是限制的目的,图12中示出能够执行根据示范实施例的操作的代表性主机的一个示例。然而,应认识到的是,所述示范实施例的原理同样适用于标准计算系统。
示范主机1200可包括诸如微处理器、精简指令集计算机(RISC)或其它中央处理模块等处理/控制单元1202。处理单元1202无需是单个装置,并且可包括一个或多个处理器。例如,处理单元1202可包括主处理器和被耦合以便与主处理器进行通信的相关联从处理器。
处理单元1202可如存储装置/存储器1204中可用的程序指示,控制系统的基本功能。因此,处理单元1202可执行如图5到10所述的功能。更具体地说,存储装置/存储器1204可包括用于在主机上执行功能和应用的操作系统和程序模块。例如,程序存储装置可包括一个或多个只读存储器(ROM)、闪存ROM、可编程和/或可擦除ROM、随机存取存储器(RAM)、订户接口模块(SIM)、无线接口模块(WIM)、智能卡或其它可移动存储器装置等。程序模块和相关联特性也可利用数据信号传送到主机1200,诸如以电子方式利用诸如因特网等网络下载。
可在存储装置/存储器1204中存储的程序之一是特定程序1206。如前面所述,特定程序1206可以是测量软件。程序1206和相关联特性可以可通过处理器1202操作的软件和/或固件形式实现。存储装置/存储器1204也可用于存储与所述示范实施例相关联的数据1208。在一个示范实施例中,程序1206和数据1208存储在非易失性电可擦除可编程ROM(EEPROM)、闪存ROM等中,以便在主机1200的电源关闭时信息不会丢失。
处理器1202也可耦合到用户接口1210元件。主机的用户接口1210可例如包括诸如液晶显示器等显示器1212、键盘1214、扬声器1216及麦克风1218。正如本领域所熟知的一样,这些和其它用户接口组件耦合到处理器1202。键盘1214可包括用于执行包括拨号和执行指配到一个或多个键的操作等多种功能的字母数字键。备选,可采用其它用户接口机构,例如话音命令、开关、触摸垫/屏、使用指点装置的图形用户接口、轨迹球、操纵杆或任何其它用户接口机构。
主机1200还可包括数字信号处理器(DSP)1220。DSP 1220可执行多种功能,包括模数(A/D)转换、数模(D/A)转换、语音编码/解码、加密/解密、检错和纠错、比特流转化、滤波等。一般耦合到天线1224的收发信机1222可传送和接收与无线装置相关联的无线电信号。
图12的主机1200提供为其中可应用所述示范实施例的原理的计算环境的代表性示例。从本文提供的说明中,本领域技术人员将理解,本发明在各种其它当前已知和将来的移动和固定计算环境中同样适用。例如,特定应用1206和相关联特性及数据1208可以多种方式存储,可能在各种处理装置上是可操作的,并且可在具有附加的、更少或不同支持电路和用户接口机构的移动装置中是可操作的。要注意的是,所述示范实施例的原理同样适用于非移动终端,即陆上通信线计算系统。
公开的示范实施例提供了用于将专用软件包从第一主机提供到第二主机的主机、方法和计算机程序产品。应理解,此描述无意限制本发明。相反,示范实施例旨在涵盖在如随附权利要求定义的本发明的精神和范围中包括的备选、修改和等效物。此外,在示范实施例的详细描述中,陈述了许多特定的细节以提供要求保护的发明的详尽理解。然而,本领域的技术人员将理解,在无此类特定细节的情况下可实践各种实施例。
正如本领域的技术人员也将理解的一样,示范实施例可在无线通信装置、电信网络中实施为方法,或者以计算机程序产品的形式实施。相应地,示范实施例可采用完全硬件实施例或组合硬件和软件方面的实施例的形式。此外,示范实施例可采用在计算机可读存储介质上存储的计算机程序产品形式,其中在该介质中实施有计算机可读指令。可利用任何合适的计算机可读介质,包括硬盘、CD-ROM、数字多功能光盘(DVD)、光学存储装置或磁存储装置,诸如软盘或磁带。计算机可读介质的其它非限制性示例包括闪存类型的存储器或其它已知存储器。
虽然所示示范实施例的特性和要素在以特定组合形式的实施例中描述,但每个特性或要素可单独使用而无实施例的其它特性和要素,或者以带有或无本文公开的其它特性和要素的各种组合形式使用。本申请中提供的方法或流程图可以计算机可读存储介质中切实(tangibly)实施的计算机程序、软件或固件中实现以便由专门编程的计算机或处理器执行。

Claims (22)

1.一种用于从第一主机(60)提供专用软件包(24)到第二主机(70)的方法,所述方法包括:
在所述第一主机(60)处初始化在所述第一主机(60)上用于与所述第二主机(70)上对应应用(100)通信的应用(90);
从所述第一主机(60)发送用于验证在所述第二主机(70)上存在所述专用软件包(24)的消息;
当在所述第二主机(70)上不存在所述专用软件包(24)时将所述专用软件包(24)从所述第一主机(60)推送到所述第二主机(70);
基于在所述第一主机(60)处的所述专用软件包和在所述第二主机(70)处的所述专用软件包(24),在所述第一主机(60)处执行专用活动;以及
在所述第一主机(60)的所述应用(90)接收所述专用活动的结果,其中所述专用活动的所述结果由在所述第一主机(60)的所述应用(90)用于与所述第二主机(70)上所述对应应用(100)通信。
2.如权利要求1所述的方法,其中所述专用软件包配置为沿连接所述第一主机和第二主机的网络在所述第一主机与所述第二主机之间执行至少一个主动端对端测量,以及所述专用活动是测量在所述第一主机与所述第二主机之间的往返时间、抖动、可用性、单向延迟、延迟变化及可用带宽之一。
3.如权利要求1所述的方法,其中所述应用是在所述第一主机与第二主机之间的通过IP分组的视频通信、通过IP的话音、游戏之一。
4. 如权利要求1所述的方法,其中所述应用是在所述第一主机与第二主机之间的交互应用。
5.如权利要求1所述的方法,还包括:
当在所述第二主机上存在所述专用软件包时验证在所述第二主机上的所述专用软件包的版本;以及
当所述第一主机和所述第二主机具有所述专用软件包的多个版本时,将最新版本的所述专用软件包推送到具有更旧版本的所述专用软件包的那个主机,或者使用共同版本的所述专用软件包。
6.如权利要求1所述的方法,其中所述推送步骤包括:
将所述专用软件包存储到配置为从所述第一主机复制到所述第二主机的移动对象中。
7.如权利要求6所述的方法,其中所述移动对象包括计算机指令和与所述计算机指令的变量有关的数据,并且所述移动对象复制而不与所述第一主机的用户交互。
8.一种用于将专用软件包(24)从第一主机(60)提供到第二主机(70)的设备,所述设备包括:
用于在所述第一主机(60)处初始化在所述第一主机(60)上用于与所述第二主机(70)上对应应用模块(100)通信的应用模块(90)的部件;
用于从所述第一主机(60)发送用于验证在所述第二主机(70)上存在所述专用软件包(24)的消息的部件;
用于当在所述第二主机(70)上不存在所述专用软件包(24)时将所述专用软件包(24)从所述第一主机(60)推送到所述第二主机(70)的部件;
用于基于在所述第一主机(60)处的所述专用软件包(24)和在所述第二主机(70)处的所述专用软件包(24),在所述第一主机(60)处执行专用活动的部件;以及
用于在所述第一主机(60)的所述应用模块(90)处接收所述专用活动的结果的部件,其中所述专用活动的所述结果由在所述第一主机(60)处的所述应用模块(90)用于与所述第二主机(70)上所述对应应用模块(100)通信。
9.如权利要求8所述的设备,其中所述专用软件包配置为沿连接所述第一主机和所述第二主机的网络在所述第一主机与所述第二主机之间执行至少一个主动端对端测量,以及所述专用活动是测量在所述第一主机与第二主机之间的往返时间、抖动、可用性、单向延迟、延迟变化及可用带宽之一。
10.如权利要求8所述的设备,其中所述应用是在所述第一主机与所述第二主机之间通过IP分组的视频通信、通过IP的话音、游戏之一。
11.如权利要求8所述的设备,其中所述应用是在所述第一主机与所述第二主机之间的交互应用。
12.如权利要求8所述的设备,还包括:
用于当在所述第二主机上存在所述专用软件包时验证在所述第二主机上的所述专用软件包的版本的部件;以及
用于当所述第一主机和所述第二主机具有所述专用软件包的多个版本时,将最新版本的所述专用软件包推送到具有更旧版本的所述专用软件包的那个主机,或者使用共同版本的所述专用软件包的部件。
13.如权利要求8所述的设备,其中用于所述推送步骤的部件包括:
用于将所述专用软件包存储到配置为从所述第一主机复制到所述第二主机的移动对象模块中的部件。
14.如权利要求13所述的设备,其中所述移动对象模块包括计算机指令和与所述计算机指令的变量有关的数据,并且所述移动对象模块复制而不与所述第一主机的用户交互。
15.一种通信装置(60,1200),用于提供专用软件包(24)到另一通信装置(70),所述通信装置(60,1200)包括:
存储器(1204),用于存储配置为与在所述另一通信装置(70)上的对应应用(100)通信的应用(90);以及
处理器(1202),配置为:
发送用于验证在所述另一通信装置(70)上存在所述专用软件包(24)的消息,
当在所述另一通信装置(70)上不存在所述专用软件包(24)时将所述专用软件包(24)从所述通信装置(60,1200)推送到所述另一通信装置(70),
基于在所述通信装置(60,1200)处的所述专用软件包(24)和在所述另一通信装置(70)处的所述专用软件包(24),执行专用活动,以及
接收所述专用活动的结果,其中所述专用活动的所述结果由在所述通信装置(60,1200)处的所述应用(90)用于与在所述另一通信装置(70)处的所述对应应用(100)通信。
16.如权利要求15所述的装置,其中所述专用软件包配置为沿连接所述通信装置和所述另一通信装置的网络在所述通信装置与所述另一通信装置之间执行至少一个主动端对端测量,以及所述专用活动是测量在所述通信装置与所述另一通信装置之间的往返时间、抖动、可用性、单向延迟、延迟变化及可用带宽之一。
17.如权利要求15所述的装置,其中所述应用是在所述通信装置与所述另一通信装置之间的通过IP分组的视频通信、通过IP的话音、游戏之一。
18.如权利要求15所述的装置,其中所述应用是在所述通信装置与所述另一通信装置之间的交互应用。
19.如权利要求15所述的装置,其中所述处理器还配置为:
当在所述另一通信装置上存在所述专用软件包时验证在所述另一通信装置上的所述专用软件包的版本;以及
当所述通信装置和所述另一通信装置具有所述专用软件包的多个版本时,将最新版本的所述专用软件包推送到具有更旧版本的所述专用软件包的该通信装置,或者使用共同版本的所述专用软件包。
20.如权利要求15所述的装置,其中所述专用软件包是在所述存储器中存储的移动对象的一部分,并且配置为从所述通信装置复制到所述另一通信装置而不与所述通信装置的用户交互。
21.如权利要求20所述的装置,其中所述移动对象包括计算机指令和与所述计算机指令的变量有关的数据。
22.如权利要求15所述的装置,其中所述装置是计算机、便携式计算机、个人数字助理、游戏控制台及移动电话之一。
CN200980155418.7A 2009-01-19 2009-01-19 移动专用软件包代码更新 Active CN102282541B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2009/000079 WO2010082077A1 (en) 2009-01-19 2009-01-19 Mobile specialized software code update

Publications (2)

Publication Number Publication Date
CN102282541A CN102282541A (zh) 2011-12-14
CN102282541B true CN102282541B (zh) 2014-06-25

Family

ID=40802145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980155418.7A Active CN102282541B (zh) 2009-01-19 2009-01-19 移动专用软件包代码更新

Country Status (4)

Country Link
US (1) US8667479B2 (zh)
EP (1) EP2384469B1 (zh)
CN (1) CN102282541B (zh)
WO (1) WO2010082077A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2818316A1 (en) 2010-11-18 2012-05-24 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods for measuring available capacity and tight link capacity of ip paths from a single endpoint
US9250983B2 (en) 2012-06-01 2016-02-02 Blackberry Limited System and method for sharing items between electronic devices
US8938730B2 (en) 2012-12-17 2015-01-20 Itron, Inc. Utilizing a multi-system set configuration to update a utility node system set
US8924950B2 (en) * 2012-12-17 2014-12-30 Itron, Inc. Utility node software/firmware update through a multi-type package
US9507609B2 (en) 2013-09-29 2016-11-29 Taplytics Inc. System and method for developing an application
US9965262B2 (en) * 2015-05-21 2018-05-08 International Business Machines Corporation Application bundle pulling
US9888057B2 (en) 2015-05-21 2018-02-06 International Business Machines Corporation Application bundle management across mixed file system types
US10389794B2 (en) 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US10530660B2 (en) 2015-05-21 2020-01-07 International Business Machines Corporation Application bundle preloading
US10152516B2 (en) 2015-05-21 2018-12-11 International Business Machines Corporation Managing staleness latency among application bundles
US10389850B2 (en) 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US9507694B1 (en) * 2015-10-30 2016-11-29 Semmle Limited Artifact normalization
KR102309031B1 (ko) 2017-04-27 2021-10-06 삼성전자 주식회사 지능형 에이전트 관리 방법 및 장치
KR102464120B1 (ko) 2017-04-30 2022-11-08 삼성전자주식회사 사용자 발화를 처리하는 전자 장치
WO2019203865A1 (en) 2018-04-20 2019-10-24 Carrier Corporation Automatic device-to-device firmware upgrade of a wireless network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015961A1 (en) * 2001-03-19 2004-01-22 International Business Machines Corporation Method and apparatus for automatic prerequisite verification and installation of software
US20040068721A1 (en) * 2000-11-17 2004-04-08 O'neill Patrick Network for updating firmware and / or software in wireless communication devices
CN1564979A (zh) * 2001-10-04 2005-01-12 西门子公司 更新不同终端上软件的方法
CN1848085A (zh) * 2005-04-05 2006-10-18 力原通讯股份有限公司 利用蓝牙对象交换协议中对象推送模式更新韧体的方法
US20060280150A1 (en) * 2005-06-13 2006-12-14 Qualcomm Incorporated Apparatus and methods for managing firmware verification on a wireless device

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678741B1 (en) * 1999-04-09 2004-01-13 Sun Microsystems, Inc. Method and apparatus for synchronizing firmware
US6738349B1 (en) * 2000-03-01 2004-05-18 Tektronix, Inc. Non-intrusive measurement of end-to-end network properties
US7735080B2 (en) * 2001-08-30 2010-06-08 International Business Machines Corporation Integrated system and method for the management of a complete end-to-end software delivery process
CA2357382A1 (en) 2001-09-17 2003-03-17 Soma Networks, Inc. Software update method, apparatus and system
US7546594B2 (en) * 2003-12-15 2009-06-09 Microsoft Corporation System and method for updating installation components using an installation component delta patch in a networked environment
US20050265240A1 (en) * 2004-05-05 2005-12-01 Datalinx Corporation Broadband network and application service testing method and apparatus
JP2006060762A (ja) * 2004-07-21 2006-03-02 Hitachi Communication Technologies Ltd 無線通信システム、および、その診断方法、ならびに、無線通信システムの診断に用いる無線端末
US7542430B2 (en) * 2005-01-13 2009-06-02 Tektronix, Inc. System and method for measuring end-to-end network delay and user-perspective delay
US7852831B2 (en) * 2005-02-22 2010-12-14 Akbar Imran M Method and system for providing private virtual secure Voice over Internet Protocol communications
JP2008537859A (ja) * 2005-03-15 2008-09-25 エムフォーメイション テクノロジーズ インコーポレイテッド 無線デバイスを使用する端末間動作のモニタリング及び測定システム及び方法
US7810149B2 (en) * 2005-08-29 2010-10-05 Junaid Islam Architecture for mobile IPv6 applications over IPv4
US7778179B2 (en) 2005-11-23 2010-08-17 Telefonaktiebolaget L M Ericsson (Publ) Using filtering and active probing to evaluate a data transfer path
US8295186B2 (en) * 2006-09-28 2012-10-23 Alcatel Lucent Individual end-to-end D/DV/L measurement in IP multicast
US7856574B2 (en) * 2007-09-27 2010-12-21 Microsoft Corporation Internet connectivity evaluation
GB0721861D0 (en) * 2007-11-07 2007-12-19 Ie Ltd Data distribution system
KR100862050B1 (ko) * 2007-11-23 2008-10-09 한국정보보호진흥원 VoIP 보안 통신을 제공하는 사용자 에이전트 및 이를이용한 보안 통신 제공 방법
WO2009127222A1 (en) * 2008-04-14 2009-10-22 Nec Europe Ltd. Method and system for providing an assessment of communication quality between users
US8103718B2 (en) * 2008-07-31 2012-01-24 Microsoft Corporation Content discovery and transfer between mobile communications nodes
US8438269B1 (en) * 2008-09-12 2013-05-07 At&T Intellectual Property I, Lp Method and apparatus for measuring the end-to-end performance and capacity of complex network service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040068721A1 (en) * 2000-11-17 2004-04-08 O'neill Patrick Network for updating firmware and / or software in wireless communication devices
US20040015961A1 (en) * 2001-03-19 2004-01-22 International Business Machines Corporation Method and apparatus for automatic prerequisite verification and installation of software
CN1564979A (zh) * 2001-10-04 2005-01-12 西门子公司 更新不同终端上软件的方法
CN1848085A (zh) * 2005-04-05 2006-10-18 力原通讯股份有限公司 利用蓝牙对象交换协议中对象推送模式更新韧体的方法
US20060280150A1 (en) * 2005-06-13 2006-12-14 Qualcomm Incorporated Apparatus and methods for managing firmware verification on a wireless device

Also Published As

Publication number Publication date
WO2010082077A1 (en) 2010-07-22
EP2384469B1 (en) 2016-06-22
CN102282541A (zh) 2011-12-14
US8667479B2 (en) 2014-03-04
US20110276957A1 (en) 2011-11-10
EP2384469A1 (en) 2011-11-09

Similar Documents

Publication Publication Date Title
CN102282541B (zh) 移动专用软件包代码更新
US8189487B1 (en) Determination of application latency in a network node
JP2008510207A (ja) ソフトウエアプログラムの同期方法
CN101621548A (zh) 基于对等连接系统的终端资源共享的实现方法及系统
US8700030B1 (en) Handset diagnostic tool
US12068906B2 (en) Methods, systems, and devices for provisioning an application on a network node according to movement patterns and application parameters for mobile devices
US9451051B1 (en) Method and procedure to improve delivery and performance of interactive augmented reality applications over a wireless network
WO2015085912A1 (en) Method and system for communication number update
EP2658304A1 (en) Setting an Optimal Ping Interval
WO2015193727A1 (en) Method, apparatus and readable medium for an api notifying an application that qos will change in future
US20110082896A1 (en) Dynamically Updated Web-Enabled and Embedded Contact Address in Communication Devices
US20230013930A1 (en) Methods, systems, and devices for provisioning a subscriber identity module (sim) to conduct testing of a communication device
US8423012B1 (en) Mobile device diagnostic and remediation
US8526938B1 (en) Testing mobile phone maintenance channel
US11397564B2 (en) Machine learning model representation and execution
JP2012014444A (ja) 配信サーバ、携帯端末装置、システム、及び方法
US9301185B1 (en) Mobile communication extended error codes and dynamic error handling
US10686717B1 (en) Dynamic allocation of content requests to content providers
Rahman et al. Using adaptive heartbeat rate on long-lived TCP connections
JP2012014445A (ja) 配信サーバ及びシステム並びに方法
US12079192B2 (en) System and method for managing domain name system records
US12107807B2 (en) Methods, systems, and devices to determine most recently used messaging application for delivery of message(s)
US20230370889A1 (en) Apparatuses and methods for detecting characteristics of one or more tether devices
US20220353558A1 (en) Methods, systems, and devices for dynamically adapting delivery of video content based on video probe information
US11205203B1 (en) Advertising experience enabler

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