一种为特定类型的无线计算装置自动构建定制应用软件的方法

文档序号:6336188阅读:238来源:国知局
专利名称:一种为特定类型的无线计算装置自动构建定制应用软件的方法
技术领域
本发明涉及一种为特定类型的无线计算装置自动构建定制应用软件的方法。其提供一种迅速而有效地向大量无线计算装置配置功能强大的网络中心应用软件的途径。
2.术语定义本说明书中使用的定义如下移动电话电话的一种,其经无线技术通过空中而不是通过物理电线或其他物理连接或电缆形式与电话网络连接。
移动电话,电话,移动,移动手机或手机移动电话的一种。
移动网络一种网络,其为移动电话提供无线连接,使它们能够操作及提供诸如打电话或访问居于网络的数据或服务。
移动网络运行商(MNO)一种公司或组织,其操作移动网络和在该网络上使用移动电话的订户或用户。
全球移动网络或移动电话网络世界上由移动网络运行商操作的所有的移动网络的总和。
无线网络一种为客户端计算装置提供无线连通的网络。这种网络包括Wi-Fi,WiMAX和全球移动网络。
服务器一种网络化的计算装置,其用于为与其连接且向其要求服务的一个或多个客户端计算装置提供网络应用软件服务、特性和功能,如信息供应、数据库搜索和处理。一般各个服务器有多个客户端,且各客户端通常比服务器的有较小的容量和计算性能。
服务网络化计算服务、特性和功能,其典型地由服务器提供给一个或多个网络连接的客户端计算装置。服务包括提供信息,数据库搜索和处理。由于客户端计算机的容量和性能,这种服务构建实用于在网络中心配置,而典型地不实用于在客户端计算机上配置。
客户端一种计算装置,其连接到为该应用软件的用户或消费者传送中心网络应用软件的特性和功能的网络。该客户端典型连接到服务器且请求服务。
网络应用软件一种网络中心的应用软件或服务,其中其由在客户端运行的实施该应用软件的界面功能的软件的结合被传送至终端用户或消费者,由服务器上的软件提供的服务进行维护和增补,客户端通过网络访问该服务器。
无线计算装置一种客户端,其经无线网络连接到该网络。这种装置包括移动电话,个人数字助理(PDA),游戏控制台(如索尼PSP)或其它连接客户端计算装置的网络。该类型的无线计算装置还由它的厂商,构造,版本,操作系统,固件版本进行定义。
无线装置或无线客户端一种无线计算装置。
软件应用客户端应用软件,其通过空中被传送至、或预先安装于无线计算装置。
软件组件软件个体单元,其形成软件应用的组件,其为无线计算机装置而定制和是装置自适应架构(DAA)软件库的部分。
移动内容数字文件和数据,表示移动电话使用的、消费的、播放的、观看的或提交的电子产品。例子包括铃声/铃曲,壁纸/图片,屏保/动画,实声/真声,完整音乐下载,视频,SMS和MMS报警,移动游戏,以及许多其它现有的及正出现的移动电话可消费的娱乐和信息产品。
元数据数据或数据集的单个条目,其潜在地分级联系,其说明无线计算装置、无线网络、软件组件、网络应用软件或移动内容的属性或行为。
3.公知技术在撰写本申请文件时,世界上的移动电话比个人计算机(PC)多。移动电话的属性是其开通的时间且在其拥有者现场的时间比PC长。这些手机是日益强大的具有丰富的功能和高性能的硬件的计算机,如果其与世界上大量移动网络连接,且籍此连接到因特网,提供令人注目的平台以向其使用者传送大量重要的网络应用软件。
全球移动网络,是使大量具有明显不同的操作系统和平台的无线计算装置,连接到该网络且能够传送网络应用软件的第一种网络实例中的一例。由于具有少得多的客户端操作系统和平台变量,PC主导的因特网网络与全球移动网络具有显著的不同。即使因特网上的客户端是功能非常强大的计算装置,但是受诸如微软和苹果公司提供的小数目的操作系统的主导,它们的主要功能彼此相似。
这样的结果就是一个人只要在微软视窗里PC因特网创建网络应用软件的客户端组件,或者还有下一个或两个最流行的客户端架构,那么就他可以在大部分的现有装置上实施行为相似的网络应用,从而拥有一项技术上和商业上潜在功能强大的产品。此外,在PC因特网世界里,通过应用软件一具体的操作系统或平台,选择创建网络应用软件的客户端部,可以有效地把相似的用户群作为目标。例如,如果有人要为公司的金融主管们创建网络应用软件,通过创建与微软视窗兼容的客户端软件,就可以使其大多数得到支持。
对全球移动网络来说并不是这样。与PC因特网上的相比,其具有多得多的不同的无线客户端操作系统和平台。因此,且也因为增进和添加到移动电话的功能和特性的极快速的发展,装置各不相同,用于访问和控制其行为的操作系统和平台也是这样。此外,通过其作用来识别和确定使用相同或非常相似的无线装置的目标用户群是不可行的。
一般来说,能够实施网络应用软件的无线客户端越多,对于应用软件的供应商来说,由于能接触到更多的消费者,所以就有更大的获利机会。因此,这种网络应用软件的供应商特别感兴趣的就是向尽可能多的客户端配置软件。
网络应用软件和服务在网络PC世界里很常见,由于因特网的容量和由此带来的潜在的用户数目,其表现出非常大的商业机会。有少数方法,其实施客户端部应用软件的软件是现场建立的。这类方法有如下这些1.定制应用软件可以作为网络应用软件的客户端的终端用户计算机装置(如PC)一般提供可运行软件程序的平台。这些平台典型地是计算机的操作系统(如,微软视窗,Linux,Mac OS,Unix,等)或者是允许运行软件程序的操作系统顶部的平台层(如Java)。定制应用软件是由能在这些平台中之一运行的软件创建的。应用软件里的该软件向平台发出呼叫,且平台又为该应用软件进行服务(如绘制视窗或通过网络发送信息)。
这些平台典型地具有一套非常丰富的可用于该定制应用软件的特性,实际上它们通常提供计算机的所有特性和功用。因此这种定制应用软件能够提供非常丰富的用户界面、广泛的功能性且通常能做任何客户能做的事。大众所知这种应用软件的例子(尽管不全集中于网络)是诸如Word,Excel和PowerPoint的微软办公工具。
由于诸如微软视窗的PC平台的主导,开发出定制应用软件且使其在世界的许多PC里成功运行成为可能。但是,如果该应用软件需要在多于一个的平台上运行,则该平台需要该应用软件的一个端口,或者如果该平台显著不同,则要求全部重写应用软件。设置端口和重写应用软件是非常大的且昂贵的工程,随着应用软件里各附加特性的增加,需要的努力随之提高。
总之,定制应用软件为终端用户体验提供可能最丰富的特性套和最好的界面,但是由于从一个平台设置到另一个平台所必需的工程努力,这些应用软件只可行于相对少数目的平台。
该方法的问题在于,除非网络应用软件的客户端部完全将端口设置至新的客户端平台,否则其不能在新客户端平台上运行。在PC世界里这不是问题,其不要求端口应用软件,且在任何情况下只有少数客户端平台和非常少的新客户端平台,但是通过比较其无数现有的操作系统和无线装置的类型,及以空前速率的恒流进入市场的新客户端装置,全球移动网络呈现出及其复杂的问题。
2.万维网应用软件万维网(WWW)最初设计作为基于网络的交互文件查找与导航系统,其允许用户浏览从一个文档到另一个潜在于不同机器上的,潜在于世界的另一边的文档之间的链接。这项技术非常便利,通过编写的文档的标准标记语言,称为超文本标记语言(HTML)和HTML浏览器。HTML浏览器是运行于用户的客户端的应用软件,显示HTML文档及允许应用软件HTML超文本链接在文档之间导航。
因为HTML浏览器很快为大部分客户端计算机所编写,所以这项技术变得非常流行。这意味着所有网络计算机用户能获取相同的,甚至扩展到世界范围的信息和文档库。也意味着希望发布信息的人只需要一次用HTML标记文档,就能使其为世界上大多数网络计算机所获取。
随着时间的流逝,用户对WWW技术的要求越来越多且增加了更多的特性。新特性包括将少数软件添加嵌入进正被播放的网页里的性能(applets和脚本),其反过来允许利用更多的客户端性能,创建更多的功能应用软件。其它特性包括数据收集和通过网络收集到服务器上的软件服务的数据的递交的窗体。
最后的结果是,可以在WWW服务器上实施相当功能的网络应用软件,世界上大多数应用软件浏览器的客户端计算机可以访问和操作该应用软件。这表示出与定制应用软件截然相反的一面,因为尽管WWW应用软件不能用于在客户端创建丰富功能性的应用软件,但是其不用在各个不同的平台设置端口,就可以在世界上大多数PC客户端计算机上运行。
这种类型的WWW应用软件这里妥协方案是,HTML浏览器是网络应用软件的客户端部获取客户端性能的平台。但是,HTML浏览器获取的是客户端操作系统的明显较少的特性和通常功能明显较小的特性。因此,能在WWW应用软件里实施的特性范围比定制应用软件的小且不丰富。此外,因为HTML是所有HTML浏览器的一般解释的标准,可用于WWW应用软件的特性对所有客户端平台来说是通用的。这在无线移动网络表现一个问题,移动客户端的特性进化得太快,以至于它们不但不通用,而且期望实现使用来自不同无线装置的不通用的特性,包括最新的特性的网络应用软件。
WWW应用软件可用以实施丰富的特性和更高级的客户端具体的应用软件代码的方法,例如通过嵌入式的微软ActiveX或Java代码。其使应用软件实现WWW应用软件和定制应用软件或WWW应用软件和一次编写到处运行应用软件(取决于嵌入式代码的属性)的结合,且具有这两种类型的应用软件的结合问题和局限性。
3.一次编写到处运行应用软件一次编写到处运行应用软件目的在于提供最好的定制应用软件和WWW应用软件领域的特性。从其名称可以看出,该应用软件只定义一次而有相同一致性的且功能丰富的应用软件,将在许多平台上运行且不用向该应用软件设置端口。这可以从以下两种方法中之一来实现i)‘虚拟机’虚拟机是一种中介软件平台,设置在客户端自己的平台(如操作系统)里且运行一次编写到处运行应用软件。该方法的实现是因为应用软件可以逐行被虚拟机读取,且在运行中指令被解释为相应的客户端平台的本地调用。
该方法的最后结果是,如果虚拟机为每个重要的客户端平台编写,则有人可以开发该虚拟机兼容的单一的计算机程序,该虚拟机不用在各个客户端平台的应用软件设置端口,就可以生成比WWW应用软件功能更丰富的用户体验(因为能获取更多的客户端平台的特性)。本技术的例子是Sun微系统Java。
本方法的问题是,如果客户端软件具有任何内在复杂性(如属于科学性的,利用软件思路,具有近似实时的制图法或任何其它的实时性能),则类似应用软件的实施变得更难以保证通过多种不同类型的客户端。这就是移动Java游戏从不在所有的Java客户端上运行,而只在已经由该游戏的创作者专门测试以确保用户体验仍然相同的小子集里运行的原因。这是程序员经常说的“一次编写,各处调试”的原因。用虚拟机技术,该问题无法消除。
ii)‘伪码编译器’伪码编译器应用软件不同的方法获取相似的结果。与虚拟机相似,表示该应用软件的软件是一次编写且以为能被其它软件解释的高级形式表示。然而,其不是在运行中解释应用软件代码的各个目标客户端上实施虚拟机平台,而是在该应用软件代码被发送到客户端之前,编译器通读该应用软件并创建(编译)直接在客户端操作系统平台上运行的本地应用软件。
这样可以开发具有丰富特性的应用软件的单一表示法,且其可以在装有编译器的任何客户端运行。这种系统的一个例子是Sybase’sPowerBuilder(应用软件‘P-码’技术其也可以附带地实施虚拟机体系结构版本)。
除了必须为各个目标客户端平台重新编写编译器或解释器的情况之外,这两种方法的问题与定制应用软件的问题都是一样的。类似地,具有很少操作系统的PC世界里没表现出大问题,但在除非你能首先输送编译器或解释器,否则你就不能输送应用软件,这几乎是不可克服的障碍。
总结这三种方法,PC网络应用软件可被开发为·定制应用软件,如果你希望有丰富的特性和功能但只希望其在小数目类型的客户端平台上运行,或·WWW应用软件,如果你希望定义它们一次,让它们各处运行,但乐于忍受有限的用户体验,或·一次编写、到处运行应用软件,如果你希望定义它们一次且让它们在许多平台上运行。
在移动电话世界里,环境显著不同。主要的区别如下·有更多使用中的移动装置连接到许多不同的移动网络。
·有明显更多的各具有潜在多的客户端平台的移动电话厂商,导致应用软件必须在更多种客户端平台上运行。
·随着越来越多特性的增加,移动电话的性能变化非常快。最终结果是两个不同的移动电话可以有完全不同的性能,与趋于非常相似的PC客户端完全不同。
为了最大化应用软件移动电话技术传送网络应用软件的商业潜力,必要条件是·使应用软件能在尽可能多的移动装置上运行;·使应用软件在发表时就能快速试用于新的电话;·使应用软件能利用各移动装置的最好和最适当的特性,而反对在各处仅运行同一应用软件定义。
世界上大多数移动电话具有无线应用协议(WAP)或安装有超HTML(xHTML)浏览器。这些浏览器和基于标记语言的关联文档直接与WWW应用软件的体系结构直接兼容。利用这项移动电话技术可以开发出一种几乎能在世界上所有手机上运行的网络应用软件。问题是,与WWW应用软件的限制类似,WAP和xHTML只能利用各移动电话性能的非常小的子集。由于不能获取到电话的最高级特性,就不可能利用这些技术来开发功能最丰富的用户体验。
现在相当大部分的移动电话都带有可以实施应用软件的客户端平台。这些明显多数包括Java(或Java 2移动版本-J2ME)、Symbian和Brew。Java是这些技术中被最广泛采用的,但是,像Symbian和Brew,应用软件该技术创建的应用软件仍然具有严重的问题和局限性。几乎有二十亿实例的数千种不同类型的电话在上百个不同的移动网络上运行。这带来了Java平台和客户端应用软件的创建通常具有下面的问题·不同的电话具有不同版本的Java。
·不同的电话具有不同的Java缺陷。
·不同的电话具有实施该Java平台的不同部分。
·各部电话具有许多不同发行版本的操作系统和固件,这意味着不同时代相同类型的电话工作方式不同。
·相同的电话可以存在几个身份(例如,MNO标记的电话版本)。
·每部电话具有不同的物理特征,如屏幕尺寸,像素数目,颜色深度,键盘控制,软键特征等。
·每部电话具有不同的计算性能,如处理器的速度和存储容量。
·每部电话具有不同套的媒体文件和格式,能通过Java显示(如音频,图片,视频,动画,等等)。有时这些从格式上就不同,电话让用户使用本地电话应用软件,如设置屏幕壁纸。
·每部电话具有不同的软件限制(两部电话可能具有相同存储容量但它们允许应用软件使用不同的容量)。
·每部电话具有不同套的媒体文件和格式,其能为电话操作系统处理,且其与那些能被Java或者电话上运行应用软件的平台处理的具有潜在的不同。
·电话以许多不同方式处理它们的网络连接,技术不同,设置不同,用户提示不同,电话发送和处理设置的方式不同,管理连接的方式可能不同。
·不同电话具有不同的网络性能和处理方式(如CSD,GPRS,2G,2.5G,3G,WAP,SMS,蓝牙,红外线,Wi-Fi,WiMAX等等)。
这意味着尽管像Java的软件语言结合平台,可用于世界上非常大部分的电话,且提供有用的程序语言,以配置可以使用电话高级特性以生成丰富的用户体验的应用软件,实际上每个不同电话要求定制应用软件用于导航和减少它们的许多差异。
以前没有这样的技术、平台或方法,能够应对快速且高效地为各装置最优化的无线计算装置传送功能最丰富的应用软件的挑战。
因为所有电话以这些方式而有某些程度的差异,传送使用各电话的最高级特性的应用软件到大多数电话的唯一方式是,向各不同手机传送定制应用软件。如果使用传统的方法的人遇到这种问题,无论使用哪一种方法,最终结果将出现紊乱和难以计数的端口设置。这将以新的代码“流”为各个新电话创建应用软件而结束。这是非常昂贵的,而且随着你添加的源代码流越多,维护变得越来越困难。最终结果是必须付出昂贵的代价,以创建调谐应用软件的源代码以适用于各装置的应用软件。很明显,需要一种新的方法。
发明概要一种定制的软件应用软件,可以通过以下方式构建到特定类型的无线计算装置(a)自动确定该种无线计算装置的属性;(b)基于在(a)中确定的属性值自动确定软件组件库中的哪些软件组件与该种无线计算装置兼容;以及(c)自动将兼容的软件组件结合起来,以生成与该种无线计算装置兼容的定制应用软件。该属性可以是元数据。
该方法可使丰富的网络应用软件自动构建于各种类型范围的无线计算装置。本发明的实施称为装置自适应架构(Device Adaptive Architecture,DAA),其满足了最大化利用移动电话技术向无线计算装置传送应用软件的效用和经济潜力的需求,因为其· 可使应用软件在尽可能多的移动装置上运行;· 可使应用软件在新的电话发行时就快速授权安装;· 可使应用软件能利用各移动装置的最好和最适当的特性,而反对在各处仅运行同一应用软件定义。
更详细的细节和方面在权利要求中进行说明。
发明的详细说明本发明将参照装置自适应架构的实施进行说明。DAA以最有效的方法解决创建一平台以在最大数目的无线客户端装置里实施功能最丰富的网络应用软件的挑战的原理是· 每个手机需要独特的应用软件以最大化用户体验。
· 说明电话性能与特性之间的不同,从此主要以元数据而以软件来表示。在手机试用过程中收集的元数据的例子可在附录1-手机元数据里找到。还提供该数据如何在装置间进行变换的例子。
· 各电话之间差异的参考点是用以表示该电话的元数据(见附录1-手机元数据)。尽管此元数据实际上是用以选择形成软件应用的个体软件组件,该参考点是电话的元数据,因此软件应用可以被删除和重建。
·特定手机的软件应用是由装置自适应架构自动创建的,该自适应架构软件一方面应用软件用于说明装置的独特性能和特性的元数据(见附录1-手机元数据),另一方面应用软件用于说明软件组件库的元数据,该软件组件可以被动态编译进适合该装置的应用软件中(见附录2-手机软件组件库)。该手机软件组件库全都是小软件组件,与较大少量的粒状要素相反。基于说明功能的元数据和配置各软件组件的方法和说明装置属性的元数据,各软件组件可被选用以形成软件应用的一部分。见附录3-映射手机元数据到软件组件的例子。
· 一种元数据说明各手机的独特属性的快速方法,用于为该手机创建定制软件应用,其可以被添加至平台。如果手机不需要任何修改使用现有软件组件的结合被试用,则通过单独配置手机元数据来完成。如果新的或现有的软件代码需要做工程,则新的或现有的关联说明的元数据的软件组件将在库里被添加或改变。
· 一种快速方法,通过该方法,当发现手机使用库里尚不可用的方法和技术实施功能时,可以在库里添加或修改新的或现有的软件组件。可以通过将包含该软件的新文件放置于该库文件系统中而迅速添加新的或修改的软件组件。其由元数据进行补充,该元数据说明软件组件的应用条件或其被配置以用于软件应用的创建内的方法。
· 掌握元数据和标记语法,其以最少数目的开发的手机具体软件,允许许多不同的网络应用软件被实施于该新支持的手机,该手机具有量的的手机特殊,上部具有附加的。见附件4-终端用户应用软件元数据和标记。
· 安装后在电话里动态更新软件应用的性能。
· 使客户端能够向服务器报告它的状况和键参数的性能,以允许用户进一步调整。例如软件应用可以运行测试以确定客户端当前可用的稳定动态的堆内存空间,该堆内存空间影响的为客户端软件应用制作的任何桌面更新的大小,以避免超过被允许的最大内存容量。
· 对软件应用的每个独特的例子进行归档。
支持新手机首先要做的是要求手机进行试用。在手机里下载一个简单的通用的测试应用软件,其识别可用于手机平台的核心包。使用该信息与手机性能结盟的测试应用软件被动态选择。下载到手机的测试应用软件电子地调查手机的性能和特性,且也包括被发现在其它电话里的历史缺陷的测试。这种测试应用软件累加其测试的结果作为一套表示许多电话的属性和特性的元数据。然后,该元数据被写进数据存储,且涉及电话的类型和创建(见附录1-手机元数据)。
然后执行各种手机性能和特性的手动检查和测试,针对手机从测试应用软件里补充最初数据集,其结果同样存储于数据存储器。一旦恢复所有信息和完成所有最初测试,则有足够的数据以可能应用软件该平台为新手机创建定制软件应用。
不被用于手机的软件应用的创建的各种其它手机的具体信息也被收集。收集该信息以用以支持为该手机创建的软件应用的操作的系统中。例如,网络设置存储的地点,就是特定的手机被记录的地方,所以在应用软件中合适的点,用户可以得到手机具体引导的帮助。见附录1-手机元数据中的‘用户助理性质’。
装置自适应架构(DAA)的中心是引擎,其动态的为各手机,或潜在的手机/移动网络结合动态创建软件应用。该DAA读取表示手机性能的元数据,然后相互参照这些性能与说明库里软件组件的性能和配置选项的元数据,见附录3-映射手机元数据至软件组件的例子。然后,DAA结合所选的软件组件,该软件组件以所要求的方式配置进为手机和潜在的移动网络结合定制生成的客户端软件应用。
然后这表示为该特定的手机定制的软件应用是,其实际上是执行应用软件的平台而不是功能的终端用户应用软件本身。换句话说,该练习已动态且自动地创建应用软件执行平台,其被下载至该手机且需要一应用软件,其本身用元数据定义,以实际实施终端用户应用软件或服务,见附录4-终端用户应用软件的元数据和标记。然后,说明该应用软件的元数据被添加到已生成的应用软件执行平台软件,且结果是,一安装就在手机上运行的软件程序实施该终端用户应用软件。
每次为特定手机创建软件应用,该应用软件的一个实例就被存储于创建存档中。该存档包含软件应用各版本的上百个不同的创建作为历史记录。应用手机元数据和软件组件版本和当时有效的相关元数据,通过简单地重-运行DAA的动态创建程序,也可以在任何时候复制历史创建。
然后,候选的软件应用创建通过基于人性化系统测试程序,确定在新手机上正确操作该应用软件。结果有时是完全成功的,有时要求改变手机元数据,重建应用软件且重新测试,有时某些软件组件需要进行工程维护或重建该应用软件及后续的重测试之后需要创建新的软件组件。最后,完全功能性的软件应用可用于该手机,当通过系统测试后,其即被提取至生成系统以实现终端用户的实际使用。
手机所连接的特定的移动网络也能影响该手机的应用软件的创建。对于DAA来说,详细了解MNO和其网络配置与了解手机的详情一样重要,以使正确创建的MNO在需要的时候被传送至该手机。详情见附录5-网络运行商元数据。
当用户装置通过网络连接到系统请求下载应用软件时,手机告知系统其用户代理软件(UAProf)。其说明电话厂商、模型和固件。有时手机必需的应用软件也必须定制给用户所连接的移动网络,有时甚至是其与MNO之间付款合同(如预付或月付合同)。在这种情况下,该手机连接的移动网络或者由建立在请求SMS内部的MNO信息,SMS通过的路由,通过其可以进行请求的MNO网关的IP地址,经MNO核心网查找(例如SS7/HLR,若可用的话),针对MNO号码范围的分配和端口号码数据库查找电话号码(MSISDN)进行探测,或者下载前由用户在屏幕上的简单要求进行探测。该系统使用其可用的最可靠的方法。UAProf,潜在地与MNO的详情和付款合同类型相结合,是为连接的手机的下载而表示为选择正确的先前生成的应用软件的关键。
为了实现终端用户付款或终端用户跟踪,和潜在的终端用户支持的目的,能够单独和分离识别被每个手机下载的每个软件应用的实例,和安装有软件应用实例的手机的移动电话号码(MSISDN),是很重要的。为此DAA在下载前或下载当时在应用软件里创建独特的参考号码。在服务器数据存储里该参考号码关系到用户的MSISDN,该用户的MSISDN是当它们请求应用软件时从终端用户获取的(如从SMS请求应用软件或从收集于网页表格的MSISDN,等)。当前客户端登陆的应用软件随后向服务器请求服务时,其将自动提供独特的应用软件实例ID。MSISDN应当是必需的则该独特的实例ID可被用于查找。
我们已经讨论,如何为各移动电话定制由DAA自动生成的软件应用,该移动电话由厂商、装置类型和潜在的固件(嵌入式装置软件)版本或装置连接的移动网络进行识别。当装置连接到服务器为获取应用软件的目的时,服务器确定这些可变的属性,并为该手机选择合适的应用软件。
但是,在用户电话里预先安装这种应用软件,当用户获取他们的手机时该应用软件就表示在移动装置上,这存在明显的商业机会。
在用户获取电话之前,可以在移动电话里预先安装应用软件有两个典型的阶段。第一是由其供应商(或制造转包商)在装置的制造过程中。第二是供应链中为终端用户(或者移动电话批发商或者零售商)在装置里配置/提供便利时。
在这些情况的任一个中,移动电话在连接到、或可能连接到规定(控制其设置)移动电话的设备的某些点。我们的系统在该点上与规定设备相接口,这样其可以访问预先安装在手机上的任何软件应用版本。
以这种方式将制作的合适的应用软件使其可用于规定设备,其能够设置于移动装置。但是,因为安装在手机里的应用软件可能无法获取移动电话的MSISDN,这与向每个单一的装置提供独特的软件应用不同,该装置在应用软件内具有嵌入的独特实例ID参考,该实例ID参考可被传送回服务器,且以此关系到用户的MSISDN,以达到付款的目的(举例)。相反地,该应用软件为所有移动电话所公用,该移动电话享有相同的供应商、模型、固件和连接它们的潜在的移动网络。因此在移动电话里安装该应用软件后,与MSISDN的关系必需制作成可回顾的。其完成如下1.具体的移动电话/网络结合的应用软件预先安装在手机上,通过与移动电话规定设备界面连接,且向其提供其所需的所有应用软件创建和与各软件应用版本相关的供应商/模型/固件/网络信息,因此可以选择及安装正确的应用软件;2.移动电话为终端用户所获取;3.终端用户开启该装置,发现该软件应用且启动它;4.当软件应用连接到服务器时,将其本身说明为预先安装的应用软件(通过用没有关联的应用软件实例ID制作请求),且表示涉及被用于所选装置的软件应用的属性的信息(如电话供应商/模型/固件/网络)。
5.该信息足以允许服务器创建实例记录,应用软件相关联的独特ID,为该软件应用且将这个独特参考赋予该软件应用的实例。该独特ID通过网络传送回软件应用,该应用软件本地存储该ID且将其表示在所有后续的服务器服务请求上(就如其最初被创建于软件应用一样)。
6.从上述最初表示的数据中,服务器也能够确定适合该装置的内容类型,所以该内容应用软件能为手机传送正确的移动内容的类型和格式。
7.因此终端用户不需要要求电话MSISDN的系统,就可以使用全部的软件应用。
8.如果用户获取部分的要求MSISDN的软件应用,且该MSISDN可访问该软件应用,则其被读取且发送至服务器作为请求服务的部分。然后将其写入服务器的数据库,在该服务器中其将关系到应用软件的参考ID。因此其将不再被要求从软件应用里发送。
9.如果用户获取部分要求MSISDN的软件应用,而该MSISDN不能访问软件应用,则取决于与手机结合的软件应用的性能,将出现如下情况a)如果手机提供具有发送SMS功能的软件应用,则SMS将被发送至包含软件应用的独特实例ID的服务器。该SMS由服务器接收且使服务器能够将独特的应用软件实例ID与其从即将引入的SMS里确定的MSISDN相关联起来。
b)如果软件应用用于连接到移动网络的方法允许将MSISDN提供至服务器(如经专门的调制解调器,其将连接的MSISDN设置于请求标题上,或经MNO通信网关,其可以在通信的头部里提供MSISDN),则这可被服务器用于探测MSISDN,且在服务器的数据库里在MSISDN和应用软件实例ID之间建立关联。
c)如果a)和b)都不可行,则软件应用必须要求用户手动在应用软件的用户界面里输入他们的MSISDN。这项完成后被发送至服务器。然后,该服务器可以将该软件应用的MSISDN与应用软件的独特的实例ID联系起来。如果使用该方法,服务器可能采取额外步骤以确保安全性或MSISDN的精确性,如向输入的MSISDN返回一PIN号码,用户需要用它进入软件应用以开启任何购买的特性。
使用这个装置自适应架构的软件应用创建对终端用户有很大的反响。原因是用于定义终端用户应用软件的元数据和标记语言(见附录4-终端用户应用软件元数据和标记)作为数据被本地存储于软件应用的客户端。这意味着DAA为该客户生成的应用软件执行平台,使用该本地资源以运行终端用户应用软件,因此呈现出速度。
显示诸如新闻或铃声的内容清单的软件应用可以利用该便利将其内容结构缓存在终端用户应用软件元数据定义中。这意味着当终端用户运行该应用软件时,其表现非常快速,因为其不用连接到服务器以获取内容清单。
客户软件应用能够请求更新表示终端用户应用软件的元数据的任何要素,也就是应用软件可在空中完全更新。从在一个菜单里更新内容清单的简单请求,到更新终端用户应用软件里的所有内容或更新终端用户应用软件本身的全部定义的请求范围,有效地潜在地改变软件应用的全部属性。
终端用户应用软件以数据文件或定义菜单、子菜单、感观要素、屏幕层和任何应用软件中的参考内容的桌面进行压缩包。屏幕以XML定义,使用XML参考其中的资源和内容。屏幕定义与内容和表示资源一起被存储且被转换为二进制以与软件应用一起压缩包。桌面可与其它桌面相关联。如果需要关联的桌面不在客户端上,则将向服务器请求。各桌面由数据流填充,该数据流或者是存储于软件应用的文件、存储于本地内存的记录或者是来自服务器的文件。
桌面里的各桌面或项目具有可选的期满日期,以使其可能届满,从服务器下载新版本代替正被使用的本地桌面。这有效地实施像图表或每日变化的新闻的特性。无论何时用户使用部分使用桌面的终端用户应用软件时,将设置且通过期满日期,则运行来自服务器的更新机制。
取决于期望更新的频率和在手机里各位置可用的空间,则具有用于存储不同数据的不同类型的桌面。在更多动态桌面里的项目可以不考虑在较少动态桌面里的项目。(例如,桌面储存于应用软件的系统里的配置可被稍后的应用软件到服务器的桌面流的改变而延迟)。
服务器也具有在应用软件中不考虑任何桌面的性能,当软件应用连接至服务器时可以实施。这影响服务器促进终端用户应用软件进行刷新或更新。通过参考客户端上的要素和提供新要素,服务器将提供该元素的更新。
软件应用经网络连接至服务器下载资源,且资源下载的同时有个等待,客户端应用软件可以显示动画和进度条。动画的目的是为眼睛提供一些娱乐及减少感观的等待。进度条提供进度的一些提示。其中客户端平台上没有动画库,这些库被提供于软件应用中。它们是利用客户端平台使用X/Y坐标在部分客户端屏幕里实施全部或部分图片的性能来创建的。当在这些图之间与时间相结合,则其效果是一种动画。
作为针对手机和移动网络而记录的部分元数据的是关于特定移动网络的合适的网络连接设置的信息,空中给手机等传送这些网络设置的机制,以及手机/MNO结合是否可能要求设置。
平台可以使用该信息以试图自动地向手机规定通信设置,当它们看起来不存在时,或向终端用户提供开始向其本身发送设置的机会。其也可以在有终端用户设置请求时向任何附加的手动配置提供指令。
客户端软件应用向服务器作出的所有请求被记录在服务器上的查帐索引里。为在查帐索引里进行记录的相同的目的,在客户端软件应用上的所有标记于终端用户应用软件的元数据定义的要求跟踪的的行动被传送至服务器。这意味着由于收集了消费者使用的丰富数据,非常复杂的消费者关系可被管理。例如这些非常丰富的使用数据可以被视为一套系统操作的主要执行指标。
客户端应用软件里的所有错误被客户端软件应用所记录,且在下一次客户端成功与服务器通信的机会里被传送给服务器。这允许建立如何在一般大众手机里实施客户端软件应用的详细的情况,在任何当前灵敏的手机里可被用于查找趋势。该信息也可以被用于识别具体的新发行手机的固件版本,该固件版本引入了需要用手机元数据调整进行处理的缺陷。
该系统包括一套完整服务管理的绘图工具,其允许Omnifone(英国移动音乐公司)的合伙人管理他们自己的系统。这些工具是各种可配置的控制终端用户应用软件的元数据的视窗。通过简单改变服务的元数据要素,如应用软件流或内容结构,就可以改变应用软件的属性。
记录客户端和服务器之间所有的互动,系统因而得知在客户端和服务器之间通过的数据流的总量。这关系到什么时候使用网络数据有相关成本,只要我们有由任何软件应用从服务器传送出或传送到服务器的字节的总数目,所以我们可以算出所达到的使用水平及所需的后续成本。
服务器监视着系统尚未见过的针对系统的新电话的使用。如果新手机试图下载一种平台找不到匹配的软件应用,系统将通知系统管理员。此外,将为来自这样的各个装置的请求计数,所以系统管理员可以根据潜在的用户的数目看到哪些装置是下一个最重要的管理对象。
服务器实施一种“发送给朋友”特性,其可以容易添加至客户端软件应用。使用时,其在手机菜单上显示发送给朋友选项。被选用时,用户可以输入朋友的MSISDN,如果允许的话有时经由他们的电话地址本,和可选的祝福用语。该用法告诉服务器将该应用软件发送给具体的朋友。这使用如WAP推送或MMS技术来完成。
该软件应用允许显示播送至现有的终端用户应用软件的基本用户的广告信息,其允许将所有的或一子集用户作为目标,经软件应用接收广告信息。该广告信息是一种以服务器推送方式传送的信息,且被发射在适当的屏幕上。这可很便利地通过所述的服务器所具有的通过进行服务器推送来改变终端用户应用软件的灵活性来实现。
DAA不只适用于向移动电话(或无线计算装置)传送应用软件。其适于需要创建应用软件且被传送至大量的客户端计算装置的情况(包括非无线客户端计算装置),其中· 对所有装置来说所需的应用软件都是相似的;
·许多装置之间有很多不同,但它们本质上是相似的,且客户端之间的不同可以用元数据进行说明并且可被装置自适应架构用于创建该应用软件;· 将要配置的应用软件受益于能够理解装置之间的不同,且为各装置提供最可能好的功能和特性;·该应用软件应当被说明/表示一次,或尽可能少的次数,表示装置特征的元数据被用于创建各装置要求的定制应用软件,而不是通过传统的端口做法将各装置的应用软件所要求的差异说明于该应用软件所到达的各个版本。
附录1-手机元数据本部分包含在手机试行阶段为各手机收集的元数据类型的详细资料。该元数据按理论分组并加以说明。提供多种各装置的元数据值如何各异的例子。
收集的使手机能够试行的元数据和随后向收集传送充足的应用软件经受持续的变化。这缘于手机里发送的新特性和功能,以及因此而产生的不断发展从手机收集的元数据的需求。
装置识别
市场信息
网络配置
物理特征
网络配置
媒体/内容性能
HTTP连接
SMS通信
Java APIs和库
Java应用软件安全
用户界面性能
混合性能
用户助理特性用于在整个平台上提供用户助理的性能
附录2-手机软件组件库本附录列出库中软件组件的类型和属性,装置自适应架构利用该库,从中选择用以创建手机应用软件。由于手机的不断发展和随之对新的和改进的软件组件的需求,这些组件在不断变化。
核心组件核心手机组件列出如下音频播放器组件动画组件弦乐显示组件图像显示组件清单显示组件测量组件文本框组件HTTP通信组件浏览器开启组件SMS发送组件指令(软键)选项组件GZIP组件内存存留(RMS)组件视频播放器组件文件存留组件检验盒组件无线按钮组件
 SMS接收组件蓝牙通信组件组件变量各个组件有几个变量。典型例子表示如下音频播放器组件变量—总是下列中的一个·没有音频播放器·“标准”MMAPI音频播放器·三星音频播放器·VSCL(沃达丰)音频播放器·西门子音频播放器HTTP通信变量—下列的任何结合·“标准”·Cookie用户标识符/UR L用户标识符·期望的不可靠连接·处理同时连接SMS发送器变量·请求时具有端口号码/无端口号码·“标准”WMA·西门子SMS变量·三星SMS变量·有信息薄/没有信息薄(处理装置的特定缺陷)浏览器开启变量·不能从Java开启WAP
·未测试java http连接时只能从Java开启WAP·能从Java开启WAP但要求java http设置·使用wap设置则能从Java开启WAP子组件每个组件/组件变量具有几个可由不同特性控制的子组件。例子如下所示音频播放器组件○创建具有适合内容/内容类型组件的音频播放器○开启音频播放器组件○停止音频播放器组件○探测音频组件播放的结尾○毁坏音频播放器组件HTTP通信组件○创建URL组件○创建HTTP标题组件○创建连接组件○制作HTTP请求组件○探测HTTP状态组件○重试HTTP组件SMS发送器组件○创建SMS对象组件○创建SMS连接组件○发送SMS组件
内存存留(RMS)○创建记录○读取记录○更新记录○删除记录○分离记录○结合记录动画组件○显示动画○依大小排列动画○设置动画优先次序○动画速度指令(软键)子组件○用JAR开启屏幕○开启存储于RMS的屏幕○在当前桌面开启屏幕○通过HTTP下载桌面且开启屏幕○发送SMS○用WAP浏览器开启URL
附录3-映射手机元数据到软件组件的例子库中的任何软件组件可以与任何数目的装置特性结合。与特性的结合可以基于任何以下测试·直接特性存在测试(如,特性A必需存在,这个软件组件才可兼容或使用)。
·比较特性值测试(如,特性B的值必须比X大,这个软件组件才能使用)。
·相对软件组件特性值的装置特性值的比较测试(如,装置特性值C必需小于软件组件特性SC,这个软件组件才能使用)。
·等级机制,其允许选择一套最合适的兼容软件组件(如,有多于一个软件组件兼容的时候,通过选择组件属性SC最大的软件组件达到选择最适合的目的)。
·上述的任何结合本部分中给出这些特性如何映射到软件组件库的一些例子。
创建音频播放器组件○选择音频包以包括并基于装置特性设置而使用,该音频包的名称与通配符“device.package.*”匹配。
○如果装置支持多于一个的音频包,则自动选择提供最宽音频类型选择范围包。这个决定是通过比较所列出的支持包而作出的,该支持包是相对于各支持音频播放器组件变量的性能,用“device.packages.*”进行说明。
○如果电话不支持由device.build.properties.audio.incapable特性显示的音频,则排除音频播放器组件。
○如果没有可用的音频,则包括“无可用预览”。
HTTP通信组件(创建子组件连接)○根据device.build.properties.connection.primer特性的设置包括附加连接(引子)请求。
SMS发送器组件○根据device.build.properties.sms.port.required和device.build.sms-truncated特性构建SMS请求。
动画组件○当资源基于装置特性手机组合、可用动态存储受限时,用表格代替画布。
浏览器开启组件○仅当功能受手机支持、由装置device.packages.midp.2.0的存在指示时,包括平台请求子组件,。
○但如果设置了device.properties.connection.platform.request.http.fails-after或device.properties.connection.platform.request.http.fails.before,则排除组件。
调整某些软件组件一旦被包括,根据装置元数据的特性值进一步对其调整。例如
HTTP通信组件(创建子组件连接)○基于device.properties.http.primer.delay.before和device.properties.http-primer.delay.after特性值控制连接引子的尝试和主连接的次序。
○基于device.properties.http.primer.delay.before和device.properties.http-primer.delay.after特性值控制引子连接的尝试和主连接的尝试之间的时间延迟。
○device.build.properties.connection.primer.reverse.first.connection转换这些的次序。
动画组件○根据一套装置的屏幕维度和其中可用的内存,选择已正确按大小排序的动画。
○根据以特性组成员、屏幕维度、可用动态内存进行说明的可用资源,调整动画帧频。
○根据可用资源调整动画线路优先次序,对出现在手机上的其它进程进行平衡动画平滑。由测试性能组成员、可用动态内存控制。
内存存留(RMS)组件○通过控制个体记录的最大容量及记录的数目,调整组件以适于特定装置。这受手机性能device.properties.recordstore.max-record-size和device.properties.recordstore.max-size控制。
○允许数据经这个软件组件而被存留,而不需该应用软件知道数据如何被分断在底层存储器里。数据可以被分离为几个记录。
附录4-终端用户应用软件元数据和标记下面提供的是,建立在装置自适应架构顶端、用于终端用户应用软件的屏幕定义的例子。这些例子显示屏幕的三个核心类型一表格、画布和清单。这些对扩展标记语言(XML)的说明全面地说明该应用软件屏幕,并说明如何应用该定义控制屏幕的外观表现并通过该应用软件控制的指令流。通过该机制,无线客户端网络应用软件的客户端部不用写软件代码,就可以很有效地被定义及创建。
这些例子显示的某些具体特征是 可包括显示器和用户互动的物体。
 可包括和控制更复杂的物体,如播放器和图像。
 可设置和读取变量。
 针对变量可检查测试条件。
 给予标准MIDP对象所有属性全存取。
 涉及其它屏幕的指令按钮。那些屏幕将在客户端上显示,或者需要从服务器上自动下载。
表格例子<form id=″SearchFailure″ title=″Problem″>
<command label=″OK″type=″ok″priority=″0″go=″Index.do″/>
<command label=″Back″go=″${previous}″type=″back″priority=″1″/>
<string-item text=″An error has occurred and the search can′t be performed-the network mightbe busy.Please try again later.″/>
</form>
<canvas id=″LoadingFriend″ title=″″ interval=″400″>
<command label=″Cancel″go=″${previous}″type=″stop″priority=″0″/>
<image-item key=″midp.system.loading.image″src-deck=″system″x=″7″y=″7″/>
<gauge x=″64″y=″98″size=″small″/>
<string-item if=″connect″since=″1.3.1″text=″Connecting.″x=″64″y=″7″width=″64″size=″small″/>
<string-item unless=″connect″text=″Sending MyFone...″x=″64″y=″7″width=″64″size=″small″/>
</canvas>
画布例子<canvas id=″Preview″title=″Free Preview″interval=″400″loopcount=″1″>
<player src=″/previews/17651″loopcount=″1″contentType=″audio/midi″/>
<image-item key=″midp.system.loading.image″src-deck=″system″x=″7″y=″7″/>
<string-item text=″Free preview!Select the Buy option to buy this ringtone for GBP3.00.″x=″64″y=″7″width=″64″size=″small″/>
<string-item text=″Friends by TV Theme″x=″7″y=″98″width=″114″size=″small″/>
<command labe1=″Back″go=″${previous}″type=″back″priority=″1″/>
<command label=″Buy″go=″#Buy″type=″ok″back=″false″priority=″0″/>
<command label=″Play″go=″#Preview″type=″screen″back=″false″priority=″1″/>
- <command label=″Terms″go=″Index.do#Terms″type=″screen″priority=″9″back=″false″>
<set var=″last.card″val=″Preview.do?id=2038#Preview″/>
</command>
</canvas>
清单例子<list id=″Cat61″title=″Music Celebs″>
<include id=″#ProductList″/>
<set var=″category.id″value=″61″/>
<set var=″category.name″ value=″Music Celebs″/>
<set var=″topCategory.id″value=″2″/>
<set var=″topCategory.name″value=″Wallpapers″/>
<appendid=″5496″text=″AtomicKitten2″image=″myfone/shared/icons/wallpaper.png″src-deck=″system″/>
<appendid=″5500″text=″Sugababes1″image=″myfone/shared/icons/wallpaper.png″src-deck=″system″/>
<appendid=″5506″text=″RonanKeating5″image=″myfone/shared/icons/wallpaper.png″src-deck=″system″/>
<append id=″5520″text=″Busted 1″image=″myfone/shared/icons/wallpaper.png″src-deck=″system″/>
</list>
XML DTD以下是一个XML DTD(文档型定义),其说明构建终端用户应用软件时可用的标记语法。
<!--- Collection of related screens. -->
<!ELEMENT collection(list|form|canvas|template|initialize)*>
<!ATTLIST collectionid CDATA#REQUIREDdefault CDATA#IMPLIEDonConnectRefused CDATA#IMPLIEDonConnectError CDATA#IMPLIEDonLoad CDATA#IMPLIEDonError CDATA#IMPLIED
<!---Variables to set on initialization.-->
<!ELEMENT initialize(set)*>
<!---A variable to set.-->
<!ELEMENT set EMPTY>
<!ATTLIST setvar CDATA#REQUIREDval CDATA#REQUIREDscope (card|deck|session|rms) session>
<!---Template to include on other screens.-->
<!ELEMENT template(timer|string-item|gauge|image-item|command)*>
<!ATTLIST templateid CDATA#REQUIRED>
<!---Command to run on user selection.-->
<!ELEMENT command(set|go)*>
<!ATTLIST commandgo CDATA#IMPLIEDlabel CDATA#IMPLIEDback (back) #IMPLIEDpriority NUMBER#IMPLIEDtype CDATA#IMPLIEDonConnectRefused CDATA#IMPLIEDonConnectError CDATA#IMPLIEDonLoad CDATA#IMPLIEDonError CDATA#IMPLIED>
<!---Screen to open.-->
<!ELEMENT go EMPTY>
<!ATTLIST golocation CDATA#REQUIREDif CDATA#IMPLIEDunless CDATA#IMPLIEDrefresh (refresh) #IMPLIEDonConnectRefused CDATA#IMPLIEDonLoad CDATA#IMPLIEDonConnectError CDATA#IMPLIEDonError CDATA#IMPLIED>
<!---Canvas screen. -->
<!ELEMENT canvas (timer|string-item|gauge|image-item|command)*>
<!ATTLIST canvasid CDATA#REQUIREDloopcount NUMBER#IMPLIEDinterval NUMBER#IMPLIED>
<!---Image to display.-->
<!ELEMENT image-item EMPTY>
<!ATTLIST image-itemlayout (default|left|right|center)defaultnewline (before|after|none)noney CDATA#IMPLIEDx CDATA#IMPLIEDheight CDATA#IMPLIED
width CDATA#IMPLIEDsrc-deck CDATA#IMPLIEDkey CDATA#IMPLIED>
<!---Player to initialize.-->
<!ELEMENT player EMPTY>
<!ATTLIST playersrc%URI; #REQUIREDcontentType CDATA#IMPLIEDloopcount NUMBER#IMPLIED>
<!--- Connection gauge to display. -->
<!ELEMENT gauge EMPTY>
<!ATTLIST gaugesize (default|small|large) defaulty CDATA#IMPLIEDx CDATA#IMPLIEDif CDATA#IMPLIEDunless CDATA#IMPLIED>
<!---String to display.-->
<!ELEMENT string-item EMPTY>
<!ATTLIST string-itemtext CDATA#REQUIREDif CDATA#IMPLIEDunless CDATA#IMPLIEDframes NUMBER#IMPLIED
frame NUMBER#IMPLIEDalign (default|left|right|center) #IMPLIEDsize (default|small|large) defaultwidth CDATA#IMPLIEDy CDATA#IMPLIEDx CDATA#IMPLIEDsince CDATA#IMPLIED>
<!---Form screen.-->
<!ELEMENT form(image-item|text-field|command|string-item|include)*>
<!ATTLIST formtitle CDATA#REQUIRED>
<!--- Textfield for user to enter data. -->
<!ELEMENT text-field EMPTY>
<!ATTLIST text-fieldid CDATA#REQUIREDmaxsize NUMBER#IMPLIEDconstraints (any|emailaddr|numeric|phonenumber|url|password)anylabel CDATA#IMPLIED>
<!---List screen.-->
<!ELEMENT list (set|include|append|itemcommand|command)*>
<!ATTLIST listtitle CDATA#REQUIREDid CDATA#REQUIRED
>
<!---Item on a list that runs a command when selected. -->
<!ELEMENT itemCommand EMPTY>
<!ATTLIST itemCommandgo CDATA#REQUIREDimage CDATA#IMPLIEDtext CDATA#REQUIREDback (back) #IMPLIEDonLoad CDATA#IMPLIEDexpires CDATA#IMPLIEDsrc-deck CDATA#IMPLIED>
<!---Item on a list.-->
<!ELEMENT append EMPTY>
<!ATTLIST appendid CDATA#REQUIREDtext CDATA#REQUIREDsrc-deck CDATA#IMPLIEDimage CDATA#IMPLIED>
<!---Include a template on this screen.-->
<!ELEMENT include EMPTY>
<!ATTLIST includeid CDATA#IMPLIED>
<!---Run command after time interval.-->
<!ELEMENT timer (go)*>
<!ATTLIST timerdelay NUMBER#IMPLIEDgo CDATA#IMPLIED>
附录5-网络运行商元数据系统中使用的根据特定用户的MNO性能用于调整行为和创建的关键元数据如下列出。
系统行为必须被调整到手机应用软件与其通信的移动网络网关的性能。该DAA通过如下面罗列的元数据了解各MNO网关。
权利要求
1.一种为特定类型的无线计算装置自动构建定制应用软件的方法,该方法包含以下步骤(a)自动确定该种无线计算装置的属性;(b)基于在(a)中确定的属性值自动确定软件组件库中的哪些软件组件与该种无线计算装置兼容;(c)自动将上述兼容的软件组件结合到一起,以产生定制创建的上述网络应用软件,与该类型的无线计算装置兼容。
2.根据权利要求1所述的方法,其特征在于,软件组件的属性也被确定,并且确定哪些软件组件兼容的步骤包括,将该种类型的无线计算装置的属性值与软件组件的属性值进行对比的步骤。
3.根据权利要求1或2所述的方法,其特征在于,该种类型的无线计算装置的属性被定义为元数据。
4.根据以上权利要求中任一项所述的方法,其特征在于,不同类型的无线计算装置的属性也被定义为元数据。
5.根据权利要求4所述的方法,其特征在于,该方法还包括确定装置所连接的无线网络的属性为元数据的步骤。
6.根据权利要求5所述的方法,其特征在于,该方法还包括将不同无线网络和不同类型无线计算装置结合的属性确定为元数据的步骤。
7.根据权利要求3或4所述的方法,其特征在于,不同类型无线计算装置的元数据属性定义一个或多个装置识别;市场信息;网络配置;物理特征;网络配置;媒体/内容性能;HTTP连接;SMS通信;Java APIs和库;Java应用安全性;用户界面性能;用户辅助特性。
8.根据权利要求5所述的方法,其特征在于,无线网络的元数据属性包括以下一个或多个识别;开放性;SMS系统可靠性;上级操作者ID;提供的合同类型;提供的数据连通性;消费者联系详细资料;典型网络名。
9.根据以上权利要求中任一项所述的方法,其特征在于,库中的软件组件功能受到限制,以使适当的组件可以与该种类型的无线计算装置或该种类型的装置可以连接的无线网络、或两者的结合的任何属性的任何变量都可以匹配。
10.根据权利要求1所述的方法,其特征在于,每个软件组件被描述情况和条件的元数据引用,在该情况和条件下组件应该被用作部分应用软件的定制组件。
11.根据权利要求10所述的方法,其特征在于,包括自动确定哪些软件组件与该种无线计算装置兼容的步骤,其通过将无线计算装置的元数据和参考每个软件组件的元数据自动匹配而完成。
12.根据权利要求10所述的方法,其特征在于,自动确定哪些软件组件与该种无线计算装置兼容的步骤通过将无线网络属性的元数据和参考每个软件组件的元数据匹配完成。
13.根据以上权利要求中任一项所述的方法,其特征在于包含,根据无线计算装置的属性配置兼容软件组件的步骤。
14.根据以上权利要求中任一项所述的方法,其特征在于,将库中兼容软件组件编译成应用软件的用户定制版本。
15.根据权利要求14所述的方法,其特征在于,通过使用附加元数据和表现新的或不同的应用软件的标记语法、并为该无线计算装置生成新应用软件,而为该特定类型的无线计算装置定制该种类型的无线计算装置的进一步的应用。
16.根据以上权利要求中任一项所述的方法,其特征在于,用于该种类型的无线计算装置的元数据属性,是通过下载到该种类型的移动电话的一个实例上的测试应用来自动确定。
17.根据权利要求16所述的方法,其特征在于,用于该种类型的无线计算装置的元数据属性还通过手动测试确定。
18.根据权利要求17所述的方法,其特征在于,为该种类型的无线计算装置生成的应用软件的元数据属性可以手动测试,并用于该种类型的无线计算装置。
19.根据以上权利要求中任一项所述的方法,其特征在于,最终的应用软件的定制构建为嵌入了在平台上运行的应用软件的应用软件执行平台。
20.根据权利要求19所述的方法,其特征在于,应用软件执行平台结合有应用软件定义,以得到终端用户应用软件。
21.根据权利要求20所述的方法,其特征在于,终端用户应用软件由元数据标记语言确定。
22.根据权利要求21所述的方法,其特征在于,终端用户应用软件可以包括执行软件。
23.根据以上权利要求中任一项所述的方法,其特征在于,无线计算装置的特定类型是制造商、型号和配置在该型电话上的固件的函数。
24.根据权利要求23所述的方法,其特征在于,无线计算装置的特定类型还是给定的无线计算装置所连接的移动网络的函数。
25.根据以上权利要求中任一项所述的方法,其特征在于,定制的应用软件为从以下组群中选出的网络应用软件移动内容端口(传送社论、新闻、铃声、壁纸和其它类型的移动内容)、赌博、日期、银行、区域基础服务、姓名地址录、游戏、聊天、对等网络应用软件。
26.一种构建应用软件发送平台的方法,其中该平台可以通过执行权利要求1所述的方法构建定制应用软件,其特征在于,该平台通过以下步骤构建(a)构建与应用软件相关联的软件组件库;(b)构建不同无线计算装置的属性库;(c)提供具有确定给定无线计算装置属性的方法的平台;(d)提供具有自动将这些属性与软件组件属性进行比较,形成与应用软件相关联的软件组件库的方法的平台;(e)提供具有自动确定哪些软件组件与该种类型的无线计算装置兼容的方法的平台;(f)提供具有将兼容的软件组件结合到一起,以提供适合于该种类型的无线计算装置的定制应用软件构建的方法的平台。
27.一种利用权利要求1所述的方法构建的软件应用。
28.一种将内容下载到无线计算装置的方法,其特征在于该方法包含利用权利要求27所述的软件应用下载内容的步骤。
29.一种将应用软件配置到无线计算装置的方法,其特征在于包含以下步骤(a)将无线计算装置连接到服务器;(b)服务器建立与该无线计算装置兼容的合适的软件组件,从而为无线计算装置提供适合于为该无线计算装置定制并利用权利要求1所述的方法获得的应用软件;(c)将该定制的应用软件安装到无线计算装置。
30.一种无线计算装置,其特征在于运行已采用权利要求29所述的方法配置到其上的应用软件。
31.一种编程的服务器,其特征在于,其采用权利要求29所述的方法将应用软件配置到无线计算装置。
全文摘要
一种定制的软件应用,可以通过以下方式构建到特定类型的无线计算装置(a)自动确定该种无线计算装置的属性;(b)基于在(a)中确定的属性值自动确定软件组件库中的哪些软件组件与该种无线计算装置兼容;以及(c)自动将兼容的软件组件结合起来,以生成与该种无线计算装置兼容的定制应用软件。该属性可以是元数据。该方法可使丰富的网络应用软件自动构建于各种类型范围的无线计算装置。
文档编号G06F9/44GK101073055SQ200580041943
公开日2007年11月14日 申请日期2005年12月6日 优先权日2004年12月6日
发明者马克·斯蒂芬·耐特, 迈克尔·伊恩·拉姆, 罗伯特·约翰·刘易斯, 斯蒂芬·威廉·波考克, 菲利普·安东尼·桑特, 马克·彼得·沙利文 申请人:奥沐尼芬有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1