CN1618066A - 用于处理可扩展标示语言(xml)文档的系统和方法 - Google Patents

用于处理可扩展标示语言(xml)文档的系统和方法 Download PDF

Info

Publication number
CN1618066A
CN1618066A CNA028275071A CN02827507A CN1618066A CN 1618066 A CN1618066 A CN 1618066A CN A028275071 A CNA028275071 A CN A028275071A CN 02827507 A CN02827507 A CN 02827507A CN 1618066 A CN1618066 A CN 1618066A
Authority
CN
China
Prior art keywords
code book
document
request
data server
code
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.)
Granted
Application number
CNA028275071A
Other languages
English (en)
Other versions
CN100390787C (zh
Inventor
鲁塞尔·N·欧文
袁正
安德里·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.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN1618066A publication Critical patent/CN1618066A/zh
Application granted granted Critical
Publication of CN100390787C publication Critical patent/CN100390787C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions

Abstract

公开了用于处理文档的系统和方法。使用本地存储或产生的代码簿来代码转换在数据服务器处接收到的文档。或者从设备上的存储器中检索、或者从数据服务器请求在无线移动通信设备处接收到的针对代码转换后的文档的代码簿。响应代码簿请求,数据服务器从本地存储器检索请求的代码簿,或产生请求的代码簿,并且将请求的代码簿返回给请求者。无线移动通信设备也可以使用本地存储的代码簿、本地产生的代码簿、或响应代码簿请求接收到的代码簿,来产生和代码转换XML文档。

Description

用于处理可扩展标示语言(XML)文档的系统和方法
技术领域
本发明一般涉及无线通信和无线移动通信设备。特别地,本发明涉及针对无线通信设备的通用可扩展标示语言(XML)支持。
背景技术
XML正在快速变成用于在不同计算机系统之间交换数据的最通用方案之一。然而,对于经无线或其它窄带通信系统的传送,需要有效的编码方案,以减少用于传输的XML文档的尺寸。或许,用于准备用于无线传输的XML文档的最普及的编码方案是无线应用程序协议(WAP)二进制XML,或WBXML。WBXML依赖于令牌表或代码簿(code book)以编码和解码XML。WBXML规范使用术语“代码页(code page)”来将一组令牌表示为标记等价物。代码页可具有不大于256个条目,这样,可能有多个代码页。术语“代码簿”在此用于代表一组一个或多个代码页。因此,代码簿是在XML标记或属性和其相应的加令等效物之间映射的查找表的集合。
用于无线通信系统的已知的XML方案使用令牌表的两个拷贝。一个拷贝通常嵌入在信息网关、服务器或其它信息源处,用于从XML到WBXML进行代码转换或令牌化,而另一个拷贝嵌入在软件应用程序代码的移动通信设备侧,解析和/或解码令牌化的WBXML。事实上,最公知的WBXML客户端软件应用程序具有嵌入在解析器中的编码方案。如果编码方案是公知的,这较好地工作。然而,对于新XML专业用语,没有已知的编码方案。希望使用新XML专业用语的软件应用程序开发者必须发明一个编码方案和/或创建进行编码的一个代码转换器和用于客户端软件应用程序的解析器。
在这些系统中,移动通信设备或可能安装在这样一个设备上的软件应用程序必须知道如何由WBXML编码器对XML文档进行编码,即,使用哪个令牌表,以便处理接收的WBXML文档。这意味着在移动通信设备中的XML应用程序通常被配置用于对应于在一个服务器或网关处使用的编码方案的特定类型的XML。例如,当在计算机软件代码中实现XML处理器时,编码方案通常嵌入软件代码中,以便每次接收到一个新XML文档类型,服务器软件代码和移动通信设备软件代码必须相应地修改,这样代价高、耗时、易于出错,特别当不同的条目负责服务器操作和移动设备和应用程序时。此外,如果WBXML解析器接收到从XML文档类型产生的WBXML文档(其先前从来没有被处理过)并且用于那个特定XML文档类型的代码簿没有嵌入在解码器或解析器、或其中实现了解码器或解析器的移动通信设备中,那么设备和在该设备上的任何软件应用程序不能处理WBXML文档。
因此,需要不限制于任何特定编码方案的用于移动通信设备上的通用XML支持的系统和方法,以使XML功能的应用程序独立于特定的XML类型和其编码方案。
还存在对处理任何类型的XML文档的系统和方法的相关需要。
还进一步需要用于支持在移动通信设备上的XML的方法和系统,其支持新的XML文档类型,而不需要改变设备上的软件代码。
发明内容
按照本发明的实施例,一种在无线移动通信设备上处理XML文档的方法,包括步骤:从数据服务器接收处理过的文档,其中通过使用代码簿对XML文档进行代码转换来产生所处理过的文档,确定所述代码簿是否存储在无线移动通信设备上,如果所述代码簿没有存储在所述无线移动设备上,从所述数据服务器请求所述代码簿,从所述数据服务器接收所述代码簿,并且使用所述代码簿来代码转换所处理的文档以恢复所述XML文档。
一种在无线移动通信设备上处理XML文档的相关系统,包括:接收机,被配置从一个数据服务器接收一个处理过的文档,其中通过使用一个代码簿对XML文档进行代码转换来产生所述处理过的文档;代码簿系统,包括用于存储代码簿的高速缓存器、以及代码转换系统,所述代码转换系统连接到所述接收机和所述代码簿系统,并且被配置用于解析所述处理过的文档,从所述代码簿系统请求所述代码簿,以及使用所述代码簿来代码转换所述处理过的文档以恢复所述XML文档,其中,配置所述代码簿系统,从而当由所述代码转换系统请求所述代码簿时,确定所述代码簿是否存储在高速缓存器中,当所述代码簿存储在所述高速缓存器中时,提供所述代码簿给所述代码转换系统,而当代码簿未存储在高速缓存器中时,从所述数据服务器请求所述代码簿,从所述数据服务器接收所述代码簿,并且将该代码簿提供给代码转换系统。
按照本发明的另一个实施例,一种处理文档的系统包括:代码簿系统,被配置用于接收代码簿请求,以及响应每个代码簿请求,提供代码簿;在所述代码簿系统中的存储器,被配置用于存储代码簿;代码转换系统,被配置用于接收文档,并且,对于每个接收到的文档,从所述代码簿系统请求相应的代码簿,并且使用所述代码簿对所述接收到的文档进行代码转换;以及代码簿构建器,被配置用于产生代码簿,其中,进一步配置所述代码簿系统,以确定所请求的代码簿是否存储在所述存储器中,如果所请求的代码簿没有存储在所述存储器中,则启动所述代码簿构建器来构建所请求的代码簿,以及从所述代码簿构建器接收所请求的代码簿。
按照本发明的另一方面,一种处理文档的方法包括步骤:从信息源接收文档,确定用于代码转换文档的代码簿是否存储在代码簿系统中,如果用于代码转换文档的代码簿没有存储在代码簿系统中,产生所述代码簿,并且使用所述代码簿对所述文档进行代码转换,以产生一个代码转换后的文档。
一种响应于一个代码请求提供代码簿的系统,包括:接收机,被配置用于从一个请求者接收代码簿请求,所述代码簿请求标识所请求的代码簿;代码簿高速缓存器,存储多个代码簿;代码簿系统,被配置用于确定所述请求的代码簿是否存储在所述代码簿高速缓存器中;代码簿构建器,如果所述请求的代码簿没有存储在所述代码簿高速缓存器中,所述代码簿构建器被配置用于产生所请求的代码簿和存储所请求的代码簿在所述代码簿高速缓存器中;以及发送机,被配置用于传送所述请求的代码簿到所述请求者。
一种按照本发明的另一个方面处理XML文档的方法,包括步骤:从第一数据服务器接收一个处理过的文档,其中,通过使用一个代码簿对XML文档进行代码转换来产生所述处理过的文档,确定所述代码簿是否存储在代码簿高速缓存器中,如果所述代码簿没有存储在所述代码簿高速缓存器中,从第二数据服务器请求所述代码簿,从所述第二数据服务器接收所述代码簿,以及使用所述代码簿代码转换所述处理的文档,以恢复所述XML文档。
一种处理在一个无线移动通信设备处的文档以便通过一个无线网络传送的方法,包括步骤:在所述无线移动通信设备处产生一个文档,确定所述文档是否与一个参考的文档定义相关,如果所述文档与该参考定义相关,确定用于所述参考定义的代码簿是否存储在一个代码簿高速缓存器中,如果所述代码簿存储在所述代码簿高速缓存器中,从所述代码簿高速缓存器检索所述代码簿,而如果所述代码簿没有存储在所述代码簿高速缓存器中,则从数据服务器请求所述代码簿,并且从所述数据服务器接收所述代码簿,使用所述代码簿对所述文档以进行代码转换以产生代码转换后的文档,以及通过所述无线网络传送所述代码转换后的文档。
附图说明
图1是提供从无线移动通信设备对信息源的访问的通信系统的方框图。
图2是示出了图1的移动设备12和数据服务器18的内部单元的方框图。
图3是示出了响应于移动设备12的连接请求,数据服务器18的操作的信号流程图。
图4是由移动设备12进行文档处理的信号流程图。
图5是示出了与图4所示的移动设备处理相关的数据服务器操作的信号流程图。
图6是示出了接收到的XML文档的数据服务器处理的流程图。
图7是示出了由移动设备处理接收到的代码转换后的文档的流程图。
图8是按照本发明另一方面,与代码簿请求相关的数据服务器操作的信号流程图。
图9是按照图8所示的实施例的代码簿请求的数据服务器处理的流程图。
图10是示出了用于支持图8和9中的代码簿请求方案的所接收到的XML文档的典型数据服务器处理的流程图。
图11是示出了在移动设备上WBXML文档的创建的信号流程图。
图12是示出了由数据服务器处理从移动设备接收到的WBXML文档的信号流程图。
图13是示出了所产生的XML文档的移动设备处理的流程图。
图14是示出了由数据服务器处理所接收到的WBXML文档的流程图。
图15是示出了能够实现按照本发明的系统和方法的移动设备的方框图。
具体实施方式
图1是提供从无线移动通信设备对信息源访问的通信系统的方框图。在图1中,系统10包括无线移动通信设备12,无线通信网络14,无线网络网关15、广域网(WAN)16、数据服务器18、和信息源20。
移动设备12是适合于在无线通信网络14内操作的无线移动通信设备,诸如具有至少数据和可能的语音通信能力的双向通信设备。根据移动设备12提供的功能,移动设备可以是数据消息设备、双向寻呼机、具有数据消息发送能力的蜂窝电话、无线因特网设备、或数据通信设备(带有或不带有电话能力),但是在此基本上称为“移动设备”。移动设备12内的通信子系统(未示出)的具体设计将取决于移动设备12打算运行于其中的通信网络14。例如,目标为北美市场的移动设备12可包括设计运行于MobitexTM移动通信系统或DataTACTM移动通信系统内的通信子系统,而打算用于欧洲的移动设备12可包括通用分组无线业务(GPRS)通信子系统。也可以考虑其它类型的移动设备和网络。在此描述的系统和方法可以结合几乎任何无线网络14和移动设备12来实现。
图1所示的无线网络网关15提供了无线网络14和WAN 16例如可以是因特网之间的接口。可以由无线网关15来执行以下功能,例如,移动设备寻址、WAN协议和无线网络协议之间的数据转换、向和从移动设备12的数据存储和转发、以及其它接口功能。
数据服务器18能够由与无线网络14相关的网络承载者或运营者来主持。在该情况下,数据服务器18和无线网络网关15之间的连接能够使用承载者的专用网络,而不是WAN 16。然后,WAN 16可以用于数据服务器18和信息源20之间的通信。数据服务器18的被主持或公用的实现是针对图1所示的系统10的合理的可选方案。
数据服务器18是有效地向移动设备12提供对信息源20的访问的系统。通过数据服务器18,移动设备12可以访问能够与数据服务器18通信的任何信息源20,诸如因特网或网络服务器。因此信息源20不需要特殊的针对无线网络通信的应用程序或协议支持,因为其与数据服务器18通信,而不直接与移动设备12进行通信。尽管图1示出为直接连接,数据服务器18和信息源20能够通过网络诸如局域网(LAN)或包括因特网的WAN来进行通信。在可选的实施例中,可以将数据服务器18的功能包括到无线网络网关15或信息源20中。无线网络网关15、数据服务器18和信息源20的另外的实施例对于本领域技术人员也是明显的,并且由此被认为处于在本发明的范围内。
无线网络和因特网使用类似的寻址方案,其中,在无线网络中的通信设备诸如移动设备12、或连接因特网的计算机诸如数据服务器18、以及可能的信息源20由数字地址来标识。例如,移动设备12在Mobitex网络中使用Mobitex访问号码(MAN)来标识,并且公用因特网节点使用因特网协议(IP)地址方案来标识。然而,无线网络和因特网传输机制之间的差别典型地防止了大部分是基于因特网的信息源20和诸如移动设备12的移动设备之间的直接通信。因特网和其它WAN通信协议也可以是“可协商的(chatty)”,这涉及多个交换来建立发送者和接收者之间的通信、以及在无线通信网络内所不希望的相对大量的额外开销。此外,由信息源诸如20提供的内容主要针对经过有线通信网络的传输。如上所述,XML文档相对大,并且应该被压缩,以便经无线通信信道传输。数据服务器18对基于因特网和可能其它信息源20与和移动设备12关联的无线网络14之间的间隙进行桥接。数据服务器18的功能诸如可以包括地址映射、内容转换和验证、以及协议映射和优化。
尽管在图1示出了移动设备12、无线网络14、以及网关15,本发明也可应用于可以请求或另外获得XML文档的其它类型的移动设备。对于移动设备和无线通信网络,处理资源和通信链路带宽并不倾向于作为对桌面计算机系统和有线通信链路的限制。然而,正如在此描述的那样,XML文档的代码转换不仅减少了数据尺寸,而且使得解析器更高效且更容易写。减少的数据尺寸提供了对通过有线连接的XML文档的快速传送,而更简单且更高效的解析器同样使得桌面计算机系统软件应用程序和任何其它数据服务器客户端应用程序更容易开发。因此,应该理解,在此描述的系统和方法可以结合有线或无线通信系统和设备来实现。
现在转到图2,将描述本发明的一个实施例。图2是示出图1的移动设备12和数据服务器18的内部单元的方框图。如图2所示,数据服务器18包括协议转换器24、连接处理机26、代码转换系统28、,代码簿系统30、代码簿小服务程序(servlet)32和代码簿构建器34。移动设备12包括通信子系统36、软件应用程序38、WBXML解析器40、应用处理程序(application handler)42、和代码簿系统44。
尽管在图2中没有示出,图1所示的无线网络14,无线网络网关15和WAN 16以及通过其移动设备12和数据服务器18进行通信的任何其它介入通信链路和网络已经一般地指定为无线传输22。本领域技术人员将理解,无线传输22意欲代表提供操作于无线通信网络内操作的移动设备12和数据服务器18之间通过一个或更多有线或无线通信链路或网络进行通信的任何系统。因此明显地,本发明决不限于诸如图1中的系统10的通信系统。在此描述的系统和方法并不依赖于任何特定的通信网络或协议。
在数据服务器18中,协议转换器24执行用于经链路35通过无线传输22与移动设备12通信的协议、和通过通信链路21与信息源20通信的协议之间的任何所需的转换。在一个设想的本发明的实施例中,数据服务器18使用所谓的IP代理协议(IPPP)、本发明的拥有者开发的专有协议经链路35与无线传输22通信。而与信息源的通信可以使用诸如超文本传输协议(HTTP)或传输控制协议(TCP)。如果在数据服务器18和无线传输22之间、和数据服务器18和信息源20之间使用相同的协议,或者在信息源20处实现数据服务器18的功能,则可以不需要协议转换器24。
图2仅示出了一个连接处理机26,通信链路21和信息源20。在数据服务器18与信息源20关联的集成系统中,其中信息源20提供诸如远端数据访问和代码转换服务,连接21对于集成系统而言是内部的。然而,在其它实施例中,连接处理机26和可能的另外的针对不同类型连接的连接处理机(未示出)允许数据服务器18同时应付和处理来自包括基于因特网的信息源的各种信息源的内容。
诸如26的连接处理机是具有处理从入口和出口连接到数据服务器18的内容的能力的中间对象。优选地,可以替代或定制在数据服务器18中的特定连接处理机,或者优选地,可以将附加的处理机按照需要添加到数据服务器18中。连接处理机不仅能够优化信息内容,而且能够优化通信协议。例如,通常发送到移动设备12的某些请求(诸如口令请求)可以由连接处理机26来解决。该协议优化的例子能够通过减少经无线传输22到移动设备12发送的业务量,调整所谓的“可协商的(chatty)”协议,以使其更为无线友好,由此,减少了无线网络带宽限制和等待时间的影响。
在桌面计算机系统(未示出)而不是移动设备12的情况下,诸如因特网服务提供商(ISP)系统或应用程序服务提供商(ASP)系统的网关能够提供到数据服务器18的接口。在数据服务器同时支持有线和无线客户端的情况下,可以针对不同类型的客户端来实现不同的传输和协议转换器。
从移动设备12进行出口连接,以便诸如向和从因特网节点发送和接收数据。数据服务器18可以使用特定协议、诸如上述提到的专有协议IPPP(尽管也可以使用其它协议),从移动设备12接收连接请求。然后数据服务器18根据在连接请求中由移动设备12提供的协议和路由信息,建立互连网连接,并且转换和映射该连接,以在两个方向上开始转发数据。无论何时需要时,例如根据经连接传送的内容的类型,由连接处理机26来调用在代码转换系统28中的过滤或代码转换处理。下面将在网络浏览器操作的环境下,进一步详细描述数据服务器18和移动设备12的该出口连接和操作。
例如,使用入口连接来实现数据推模型。在该模型中,移动设备12发送信息,而还未发出提取该信息的请求,正如出口连接的情况。如上面简单描述的,移动设备12可以存在于与因特网节点不同的网络域上。数据存储器18负责桥接因特网和无线网络域。因此,数据服务器18需要一定的路由信息以将业务路由到特定移动设备12。在推操作中,该路由信息中的至少一些必须由因特网节点诸如发出建立入口连接的请求的信息源20来提供。数据服务器18可以将公知的寻址方案诸如电子邮件或IP号转换为所需接收移动设备的适当的无线网络地址。
在数据服务器18中的连接处理机可以是基于流的对象。当请求出口或入口连接时,在移动设备12和适当的连接处理机26之间建立虚拟的管流。将实例化和启动连接处理机26,以处理针对建立的连接的内容。加载连接处理机26基于连接请求,该连接请求最好包含:对连接处理机名称的引用,其可以表示将穿过虚拟管流的业务类型;以及如果未加载,则必须由数据服务器18加载的连接处理机26的位置。诸如26的连接处理机的功能包括映射因特网或其它信息源侧的连接与移动设备的连接,转发这些连接之间的业务,以及加载和调用针对去往移动设备12的信息的适当代码转换器。
每个连接最好与连接处理机26的实例关联。即使对于不需要由数据服务器18处理内容的连接,例如,当从信息源20接收的内容已经被格式化以便通过无线传输22传输时,情况也是如此。该类型的连接处理机来回转发内容,而不对内容进行任何种类的修改,尽管它可以对协议进行修改。为了清楚,本领域技术人员将理解数据或内容(移动设备所请求或正在被发送的)和协议(传递数据所需的“包装”和转换)之间的区别。
连接处理机还负责加载和执行适当的内容过滤器或代码转换器,以将XML文档转换成为WBXML。在该例中,如果信息源20响应来自连接处理机26的请求,返回XML文档,则连接处理机26调用代码转换系统28中的XML到WBXML代码转换器(未示出)。正如下面详细描述的,在代码转换系统28中的XML到WBXML代码转换器通过利用在代码簿中指定的WBXML令牌来代替XML标记和属性,将XML内容转换为WBXML内容。然后由连接处理机26通过协议转换器24(如果需要)将这样得到的WBXML内容发送到移动设备12。WBXML编码内容尺寸较小,因此能够更高效地在无线网络上传送。
对于先前处理过的类型的XML,优选地,将代码簿存储在代码簿系统30中的数据存储器或高速缓存器31中,并且随后可以由代码转换系统28中的XML到WBXML代码转换器进行访问。代码簿高速缓存器31可以驻留在诸如随即存取存储器(RAM)的存储器组件、以及可以将代码簿数据写入到其中的盘驱动器和其他存储器中。为了节省存储器空间,可以由代码簿系统30将最近使用的(LRU)替换方案或其它存储器管理方案用于代码簿高速缓存器31中,从而将最经常使用的代码簿保存在高速缓存器31中。还可以特别经常使用的代码簿进行标示或指定为永久存储,或存储在其它数据存储器或存储器单元中。可选地,作为替代,可以利用代码簿构建器34来产生预计经常使用的该代码簿,并且将其存储在永久代码簿高速缓存器(未示出),例如在只读存储器(ROM)中来实现,以确保这些代码簿可用于数据存储器18而不被擦除或覆写。
代码簿构建器34可以用于为任何具有外部参考定义的XML文档构建代码簿,所述XML文档为诸如SyncML消息,具有向万维网联盟(W3C)登记的MIME类型,并且具有相应的可公用的代码簿。代码簿构建器34、为XML文档定义XML语法的外部XML定义23、通过连接25对这些外部连接23的检索将在下面给予详细描述。代码簿小服务程序32处理来自诸如12的移动设备的代码簿请求,并且也在下面进行了描述。
在移动设备12中,通信子系统36包括与移动设备12的通信功能相关的组件,诸如一个或多个天线,接收机,发送机和相关电路和模块(未示出)。通信子系统36在不同类型的移动设备中可以是不同的,并且取决于移动设备12配置为与其进行操作的特定无线传输22。
可以将一个或多个软件应用程序38安装在移动设备12上,例如包括消息传送应用程序,浏览器,数据同步应用程序,日历应用程序,任务表应用程序和计算器。利用接收输入和提供输出的移动设备驻留用户接口(未示出),这些软件应用程序的一些,例如消息传送应用程序可以涉及通信功能,而而其它的可以为“本地”功能的。由于本发明可应用于移动设备诸如12,其从诸如20的远端信息源接收信息内容,在图中示出了示例的软件应用程序38,通过WBXML解析器40与通信子系统36相连。在该示例移动设备12中,当要将信息从远端位置下载到移动设备12上时,将对包括诸如统一资源定位符(URL)的信息的请求通过软件应用程序38或其相关的应用处理程序42传递到解析器40。由此,启用软件应用程序38,以便通过通信子系统36接收信息,和可能地,通过通信子系统36发送信息。应注意,其它软件应用程序(未示出)也可以与通信子系统36交互,并且软件应用程序38可以与其它移动设备组件交互,这些组件例如包括移动设备键盘或小键盘、显示屏,存储器单元、另外的输入或输出组件、以及甚至其它软件应用程序。
WBXML解析器40解析WBXML内容,从而适当地施加任何WBXML令牌,并且能够由应用处理程序42代表软件应用程序38来处理内容。两种类型的解析器可用于解析XML文档:基于事件的解析器和基于树的解析器。基于事件的解析器更快,并且比基于树的解析器消耗更少的存储器,由此,更适合于移动设备。基于事件的解析器通过回叫方法直接向软件应用程序38报告解析事件。使用基于事件的解析器40的软件应用程序实现了解析器事件处理机,诸如应用处理程序42,以接收解析事件。应用处理程序42是响应在接收到的WBXML文档中的数据,由解析器调用的特定应用程序的回叫集合。
在移动设备代码簿系统44中的代码簿高速缓存器45,类似于在数据服务器18中的代码簿高速缓存器31,可以在RAM、或者可以将新代码簿写入其中且从中检索预先存储的代码簿的其它数据存储器中实现。LRU替换方案或其它存储器管理方案可以用于限制代码簿高速缓存器45的尺寸。如上所述,可以将特定的代码簿,尤其那些最频繁使用的或预计最频繁使用的代码簿指定为在代码簿高速缓存器45中永久存储,或存储在不同的移动设备代码簿高速缓存器(未示出)中。
当由移动设备12接收到WBXML内容时,调用WBXML解析器40以解析接收到的WBXML内容。解析器40从代码簿系统44请求代码簿。如果WBXML文档具有已知或先前处理过的类型,并且其相应的代码簿存储在代码簿高速缓存器45中,则由代码簿系统44将代码簿返回到解析器40,并且用于解析接收到的WBXML文档。如果WBXML文档具有从代码簿高速缓存器45中无法得到任何代码簿的类型,则按照下面进一步详细描述的本发明的方面,由代码簿系统44从数据服务器18请求代码簿,存储到代码簿高速缓存器45,然后返回到解析器40并用于解析WBXML文档。在本发明的一个实施例中,移动设备代码簿高速缓存器45最初仅包含“永久”代码簿(如果有的话),并且代码簿系统44按照要求从数据服务器18请求任何进一步的代码簿。根据软件应用程序38的类型和其相应的应用处理程序42的类型,应用处理程序42可以从移动设备代码簿系统44请求代码簿,并且将接收的WBXML文档元素代码转换成为XML。因此,解析器40和应用程序连接器42有效地包括在移动设备12上的代码转换系统,被配置用于解析和代码转换所接收到的WBXML文档以恢复原始的XML文档。该代码转换系统可以仅包括解析器40,其中由解析器40进行解析和代码转换,或者可以同时包括解析器40和应用处理程序42,其中由应用程序处理器42来进行代码转换。下面将详细描述接收到的WBXML内容的移动设备处理。
如图2所示,可以由移动设备12进行代码簿请求,并且可以由数据服务器18经过不同的链路37,并且使用与信息请求和文档传送所使用的协议不同的协议,将代码簿返回到移动设备12。图2所示的示例代码簿请求和传输链路37和其使用的通信协议提供了与数据服务器18上的代码簿小服务程序32的直接通信,并且因此,不需要协议转换器24的协议转换。然而,在可选的实施例中,代码簿请求和传输可以通过协议转换器24完成。
现在将更详细描述图2所示的系统的操作。图3是示出响应于来自移动设备12的连接请求,数据服务器18的操作的信号流程图。如上所述,移动设备12可以使用与在数据服务器18和信息源20之间使用的协议不同的协议,诸如专用IPPP,与数据服务器18进行通信。在这些配置中,尽管连接请求遵循特定协议,该请求可以指定与不同协议相关的连接类型或特定连接处理机。因此,例如,当由数据服务器18经HTTP从信息源20请求信息时,从移动设备12发送的请求可以是HTTP请求,或者如果从移动设备12到数据服务器18通过HTTP进行通信,则该请求为遵循另一协议但指定HTTP或HTTP连接处理机并因而由数据服务器18转换为HTTP请求的请求。无论何时需要,协议转换器24对来自移动设备12的请求进行转换。
明显地,图3只示出了在信息请求和响应操作中直接涉及的数据服务器18的单元。代码簿小服务程序32涉及代码簿请求管理,因此在图3中没有示出以避免图中的拥挤。
在图3中,由数据服务器18接收来自移动设备12的请求,如果需要,将其转换成数据服务器18和信息源20之间通信所使用的协议。如所示出的,来自移动设备12的请求指定了响应该请求接受的内容类型,在图3中的例子中是WBXML。例如,如果来自移动设备12的请求是HTTP“得到”请求,则可以在典型的HTTP请求报头中的接受类型字段中将WBXML指定为MIME类型。协议转换器24调用适当的连接处理机26,并且向连接处理机26转发能够转换的请求。对于HTTP请求或指定了HTTP连接或HTTP连接处理机的请求,调用的连接处理机26是HTTP连接处理机。然后,连接处理机26通过连接21(图2),向信息源20发送请求,所述连接21可能为直接连接、或者一个或多个网络连接。例如,信息源20可以是网络服务器或配置为可通过因特网访问的其它系统。
在图3中,移动设备12将WBXML指定为接受内容类型。然而,数据服务器18可以将接收到的XML代码转换成为由移动设备12接受的WBXML内容,并且因而包括替代在发送到信息源20的请求中作为接受内容类型的WBXML的XML,或者包括除了该WBXML之外的XML。在图3所示的例子中,从数据服务器18发送的请求包括XML和WBXML二者,作为接受内容类型。例如,如果信息源20不能将XML数据代码转换成为WBXML数据,则该类型的请求可能是很有用的。然后,信息源20响应来自数据服务器18的请求,返回XML数据而不是WBXML数据,即使移动设备请求作为接受的内容类型的指定WBXML。在数据服务器18未被配置为在到信息源20的请求中包括附加的接受内容类型的情况下,信息源20仍然可以返回具有除了请求中所指定的类型之外的其他内容类型的请求内容,或者作为替代,返回表示无法提供接收内容类型的内容的错误或失败消息。
在图3所示的例子中,信息源20将所请求的内容返回到连接处理机26,作为XML文档。连接处理机26将接收到的XML文档传送到代码转换系统28,并且特别地,传送到XML->WBXML代码转换器74。当作为软件代码实现时,一旦接收到来自信息源20的XML文档,或者由连接处理机26或者由代码转换系统74来调用代码转换器74。
如上所述,根据在特定的代码簿中的映射表,XML->WBXML代码转换器74将XML标记和属性转换成为令牌。在数据服务器18上的代码簿高速缓存器31存储针对“已知的”XML类型的代码簿,例如,其中相应的代码簿被永久存储在缓存器31中的XML类型,以及由数据服务器18已经预先处理过的类型。利用一个相应的标识符来标识在缓存器31中的每个代码簿,并且对其进行检索,该标识符可以是诸如通常出现在有效XML文档的DOCTYPE语句中的唯一XML公用标识符、如下面更详细描述的允许外部参考定义的检索的URL、MIME类型、或与XML文档或文档类型相关的可能的另外的标识符。在图3的例子中,返回的XML文档包括一个或多个这样的标识符。使用在接收的XML文档中的标识符,代码转换器74从代码簿系统30请求代码簿。如果所请求的代码簿存储在代码簿系统30的缓存器31(图3中未示出)中,则将代码簿返回到代码转换器74,并且将XML文档代码转换成WBXML文档。然而,在图3的例子中,为了说明的目的,假定针对由信息源20所返回的XML文档中的标识符,在代码簿系统30中无法得到任何代码簿。
当数据服务器18接收到其中没有代码簿存储在系统30中的高速缓存器31中的类型的有效XML文档时,例如,当数据服务器18在之前还没有处理该类型的XML文档时,则代码簿由数据服务器18产生。一旦确定在其高速缓存器31中没有所需要的代码簿,则代码簿系统30将启动由代码簿构建器34进行的代码簿构建。代码簿构建器34从嵌入的XML定义源(未示出的)或从外部的XML定义源(23)中,检索在该文档中使用的语法的描述或定义。XML定义的外部源2可以诸如作为文档类型定义(DTD)服务器来具体实现。DTD是按照XML声明句法语法的特定类型文档的形式描述。其宣布了哪些名称和结构能够用于特定的文档类型。按一致和相配的方式来构造和命名属于特定类型并使用相同DTD的所有文档。在其它可能的实施例中,名字空间和编码方案的组合可以实现外部定义源23。还可以将XML语法的外部描述或定义分割为多个源和很多模式。在某些XML文档中,语法定义可以嵌入文档本身,以便从文档中提取定义。因此,应理解,本发明决不取决于文档定义的特定类型。在此描述的技术能够适合用于一个或多个定义类型,诸如DTD,大纲(schema),和其它文档定义,包括当前已知的类型和将来定义的类型。一般地,外部定义限定了在文档中可能出现的有效串的集合。
在图3中,如果代码转换器74请求在代码簿系统30中没有被高速缓存的代码簿,则从源23请求针对XML文档的定义。尽管图3示出了由连接处理器26进行处理的定义请求,如果信息源20和定义源23被配置为使用不同的协议通信,则作为替代,可以使用不同的连接处理机(未示出)来从外部源23检索定义。代码簿构建器34可以被配置诸如通过图2所示的链路25,与一个或多个外部定义源23进行直接通信。例如使用与接收到的文档相关的标识符,可以从诸如23的外部源请求语法定义。对于诸如23的外部定义源,也可能需要源23的地址。该地址可以由信息源20利用XML文档提供。也可以将针对一个或多个外部定义源23的地址存储在数据服务器18上。也能简化定义检索过程,其中,将能够从中检索定义的URL用作文档类型标识符,以索引代码簿高速缓存器。然后,使用相同的标识符从代码簿系统30请求代码簿并且从外部源23请求定义。
当由定义源23请求的定义返回到数据服务器18时,由代码簿构建器34使用该定义来以构建新的代码簿。代码簿构建器34将文档语法定义转换成为映射表,以便用来将接收到的文档类型代码转换为WBXML文档。然后,将新代码簿转发到代码簿系统30,该代码簿系统30将代码簿返回到代码转换器74,并且还能在其高速缓存器中存储该代码簿。然后,由代码转换器74使用该新代码簿,以便将XML文档代码转换成为WBXML文档。
WBXML允许将有效XML文档中的诸如公用ID的一些标识符编码为文本串及整数,通常针对公知的XML类型,例如无线标示语言(WML)。可以类似地对用来在代码簿系统30中索引代码簿高速缓存器的文档类型标识符进行编码,并且包括在代码转换的WBXML文档中。将包括编码的标识符的WBXML文档传送到连接处理机26,该连接处理机对响应进行格式化,并且将响应转发到协议转换器24。协议转换器24对响应执行任何需要的协议转换,并且将响应发送到移动设备12。在发送到移动设备12的响应中的标识符由移动设备12使用,以便检索正确的代码簿,用于解析WBXML文档,正如下面进一步详细描述的。也能够配置数据服务器18,从而由协议转换器24而不是激活的连接处理机26来格式化对移动设备12的响应。然后,连接处理机26处理数据服务器18和诸如信息源20和定义源23的外部系统之间的请求/响应操作,并且由协议转换器24处理与移动设备12的通信。
在某些情况下,由信息源20返回的XML文档可能不是已知的XML文档类型。本领域技术人员将会理解,尽管XML文档可以使用外部参考语法描述或定义诸如DTD,以描述在任何特定类型的XML文档中可用的标示,但是不是所有XML文档使用这些外部描述。假定遵循XML句法规则,所谓的“仅良好格式的(well-formed-only)”的XML文档通过元素的使用和位置而不是形式定义,有效地定义其自己的表示。其它“良好格式的(well-formed)”XML文档也可以包括嵌入的定义。
如果由信息源20将不具有外部定义的仅良好格式的或良好格式的XML文档返回到数据服务器18,则当XML文档由代码转换器74处理并且存储到代码簿高速缓存器30时,构造代码簿。由于没有形式语法定义可用于只良好格式的XML文档,则“在空中(on the fly)”来产生代码簿。当遇到新元素标记或属性时,则由代码转换器74分配一个令牌。使用该令牌分配对相同标记或属性的任何后续的发生事件进行令牌处理(tokenized)。对于具有嵌入定义的良好格式的文档,由代码转换器74从文档中提取定义,并且提供给代码生成器34。然后,代码簿能够实际上如上所述来产生。可选的,代码转换器74本身可以提取和解析嵌入的定义,分配令牌给文档中的标记,并且将这样得到的标记-令牌映射添加到代码簿高速缓存器31。
这些类型的XML文档没有包括DOCTYPE语句,因而不包括公用ID,优选地,这样产生一些其他的唯一标识符,并且用在代码簿高速缓存器31和WBXML文档中。然后,该产生的标识符可以由移动设备12使用,以确定在解析WBXML文档时使用哪个代码簿。应注意,每个仅良好格式的文档或嵌入的定义可以按照不同于任何其它文档的方式来定义单元和其它结构,从而使产生的代码簿和唯一标识符可以与特定文档而不是文档类型关联。因此,每次接收到这样一个文档时,可以建立一个新代码簿和标识符。
为了保证产生的这些标识符是不同的,可能需要使用取决于仅良好格式的XML文档、具有嵌入的定义的文档、或嵌入的定义的的标识符产生方案。例如,能够使用散列(hash)算法来散列文档或定义内容,以产生针对每个不同的文档的唯一标识符。还可以使用与请求/响应操作相关的信息产生唯一标识符,通过其来获得XML文档,例如,包括移动设备标识符、请求/响应会话标识符、和请求和/或响应的时标的某些组合。其它数据相关的标识符产生方案对本领域技术人员也是显而易见的,并且被认为位于本发明的范围内。文档的散列仅作为标识符产生的一个可能方法的示例。优选地,选择或配置所使用的特定标识符产生方案,从而使任何所产生的标识符将不与和已知的XML类型相关的任何标识符相同。另外,所产生的标识符可能会潜在地访问针对已知的文档类型的不正确的代码簿,而不是针对未知类型产生的新代码簿。
WBXML规范还允许标记和属性的文字(literal)编码。因此,作为用于代码转换仅良好格式的XML文档的选择,仅对诸如起始单元和结束单元的全局标记进行令牌处理。然后,将其它标记和属性保持为编码中的文字,即不进行令牌处理。这节省了令牌分配和代码簿产生的处理时间。在某些情况下,这还可以是针对具有嵌入或外部定义的文档的可变的可选编码方案。
如果仅良好格式的XML文档具有向W3C登记的MIME类型,并且具有可公用使用的相应的令牌表,则针对仅良好格式的XML文档编码的第三选择将使用代码簿构建器34来输入令牌和标记对,并且产生代码簿“离线”。然后,可以将所产生的代码簿临时或永久存储到代码簿高速缓存器31中,并且每次当对该MIME类型的XML文档进行代码转换时使用。在这种情况下,MIME类型可以用作对代码簿高速缓存器31的索引。如上所述,有利地,使用其中针对MIME类型的令牌表可用作标识符的URL或其他地址可以简化代码簿和令牌表检索操作。
按照本发明的系统和方法也可以支持“不良格式的(ill-formed)”XML文档。某些时候,能够清除接近良好格式的XML文档,例如,在某些关闭标记从文档中丢失的情况下。XML->WBXML代码转换器74可以格式化这样的XML文档,以便在将其转换成为WBXML之前较好地形成该XML文档。
由于为仅合适的XML文档或具有嵌入定义的XML文档产生的代码簿对于每个文档可以是不同的,无论何时接收到与这样一个XML文档相对应的WBXML文档时,移动设备将总是必须请求代码簿。因此,在数据服务器18高速缓存这样的新代码簿可能几乎没有优点。可替换地,例如,通过将代码簿预先计划(prepending)或添加到WBXML文档,该种类型的代码簿可以包括在从数据服务器18对移动设备12的响应中。这将防止在代码簿高速缓存器31中使用相当大的空间来存储一次使用的条目,但将不一定涉及任何不利的性能影响,因为这些代码簿将很可能由移动设备12一直请求。包括具有代码转换后的文档的该代码簿还减少了与代码簿请求关联的资源的加载。
作为客户构建针对数据服务器18的软件和移动设备12的软件应用程序,以便仅利用在公知系统中某些特定的已知编码方案来操作的替代,代码簿高速缓存器31可由数据服务器18和移动设备12访问。假定代码簿可能已经高速缓存在移动设备12上,除非由移动设备12进行请求,不必将存储在数据服务器18处的代码簿高速缓存器31中的代码簿发送到移动设备12。数据服务器18有效地提供进一步的服务给移动设备12,由此,移动设备12能够从数据服务器18请求针对任何特定文档的代码簿。下面参照图4和5来详细描述这些操作。图4是示出了由移动设备12处理文档的信号流程图,而图5是示出了与图4所示的移动设备处理相关的数据服务器18操作的信号流程图。
在图4中,在移动设备12中的通信子系统36接收对包括WBXML文档的连接请求(未示出)的响应。例如请求/响应过程可以实际上如图3所示,并且如同上面描述的。应注意,尽管图3示出了响应,但是作为替代,接收到的WBXML文档可以是由信息源推到移动设备12的文档。在图4中,接收到的WBXML文档需要由移动设备软件应用程序38来使用。
由数据服务器18将XML文档代码转换为WBXML可以对利用移动设备12上的XML进行工作的用户而言是透明的。为此,优选地,将WBXML文档传送给WBXML解析器40。WBXML解析器40针对应用处理程序42的回叫功能中的软件应用程序28,将所有解析事件注入应用处理程序42。由此,所接收到的文档由解析器40解析成为元素,并且将元素传送给应用处理程序42。将WBXML文档的这些元素代码转换回XML可能由解析器40或应用处理程序42处理。如果例如解析器40是二进制解析器,则应用处理程序42将通常被配置为使用适当的代码簿对从解析器40传送给其的二进制元素进行代码转换。然而,如果解析器40是串(string)解析器,则解析器40可以在将元素传送给应用处理程序42之前,对接收到的WBXML文档的已解析的串元素进行代码转换。尽管在图4中未明确示出,但是应注意,移动设备12可以包括多于一个类型的解析器40、以及多于一个的软件应用程序38和相关的应用处理程序42。然后,每个软件应用程序38和应用处理程序42可以被配置为利用不同类型的解析器的任何一个来进行操作。在图4所示的例子中,应用处理程序42使用代码簿来代码转换文档元素。还可以设想,当对元素进行解析时,可以对该元素进行代码转换,或者在已经解析所有或部分接收到的文档之后,对已解析的元素执行代码转换。
优选地,从解析器40到应用处理程序42的第一解析回叫功能包括与接收的WBXML文档相关的标识符。然后,该标识符由应用处理程序42密钥来使用,以便从代码簿系统44中的代码簿高速缓存器45(未示出)中检索适当的代码簿。在某些实施例中,或者针对涉及其中如上所述由解析器40处理代码转换的应用程序的操作,作为替代,可以由解析器40请求代码簿。
如果代码簿存储在代码簿系统44中的代码簿高速缓存器45(图4中未示出)中,将该代码簿返回到应用处理程序42,并且可以根据在代码簿中指定的令牌,标记和属性映射来进行对接收到的文档的元素的代码转换。如上所述,某些“永久”代码簿,最常使用的代码簿,或大量最近使用过的代码簿可以存储在代码簿系统44中的代码簿高速缓存器中。然而,在图4的例子中,在移动设备12上的代码簿系统44中无法得到代码簿,因此,必须从数据服务器18进行请求。代码簿请求,至少包括与接收到的文档相关的标识符,由移动设备12上的代码簿系统44来准备,并且通过通信子系统36和通信链路37(图2)发送给数据服务器18。
现在参考图5,由数据服务器18中的代码簿小服务程序32接收针对所需的代码簿的请求。代码簿小服务程序32根据包括在来自移动设备12的代码簿请求中的标识符,从代码簿系统30中的代码簿高速缓存器31(未示出)检索所请求的代码簿。将检索到的代码簿返回到代码簿小服务程序32,并且发回到移动设备12,用于解析WBXML文档。应当意识到,如果需要,作为替代,代码簿请求和传送可以由代码簿小服务程序通过协议转换器24来进行处理。此外,尽管在图5中示出了代码簿小服务程序32,对数据服务器18中的代码簿系统30的其它接口也是可行的。图5所示的例子假定从代码簿系统30中可得到代码簿。如果情况并非如此,例如,如果代码簿在代码簿系统30中的缓存器中已经期满,或者向其提交代码簿请求的数据服务器不是从其中接收WBXML文档的数据服务器,则将执行附加操作,以便检索语法定义并将其转换成代码簿,如同下面参照图8进一步详细描述的那样。
现在返回到图4,当请求的代码簿由移动设备12上的通信子系统36接收时,将其转发到代码簿系统44,代码簿系统44将代码簿存储到移动设备代码簿高速缓存器,并且向应用处理程序42和/或解析器40提供代码簿,这取决于哪个组件处理对移动设备12上的已解析的WBXML元素的代码转换。
在图4所示的例子中,当应用处理程序42可得到代码簿时,WBXML文档的解析和已解析的WBXML元素的代码转换继续进行。当解析和代码转换完成时,可以将XML数据发送到软件应用程序38,或其它移动设备软件应用程序或子系统(未示出)。例如,可以将已解析的数据存储在移动设备数据存储器中,由移动设备软件应用程序进一步进行处理,或在移动设备屏幕上显示。
一旦存储在代码簿系统44中的高速缓存器中,可以将代码簿指定为永久存储,或仅临时存储。由于在诸如移动设备12的移动通信移动设备上的存储器资源趋于有限的并且消耗相当大的功率,因此,大部分代码簿很可能将被临时存储。例如,针对仅良好格式的文档由数据服务器18产生的代码簿对于每个仅良好格式的文档可以是不同的,优选地,这样进行临时存储。可以针对代码簿系统44中的代码簿高速缓存器,实现上述的任何存储管理技术。
因此,按照本发明的方面,代码簿与软件应用程序分离,从而任何应用程序可以在任何时间请求和使用代码簿。这与已知的系统相反,在已知的系统中,将特定的编码方案嵌入每个软件应用程序或相应的各应用处理程序中。
图6和7是按照本发明的方面的数据服务器和移动设备操作的可选图示。图6是示出了接收到的XML文档的数据服务器处理的流程图。图7是示出了由移动设备处理接收到的代码转换后的文档的流程图。
在图6中,在步骤50,当从信息源接收到去往移动设备的XML文档时,数据服务器处理开始。可以由数据服务器响应来自移动设备的请求接收该文档,并由数据服务器将其传送到信息源,或作为替代,该文档可以是推向移动设备的文档,即,进行传送而无需由移动设备首先进行请求。
然后在步骤52,数据服务器确定接收到的文档是否为具有外部参考形式语法定义的已知的XML文档类型,例如有效XML文档。例如,这可以通过查找在DOCTYPE语句中的公用ID来实现。如果文档具有诸如DTD的小服务程序,则在步骤54,确定文档的文档类型标识符,并且在步骤56,使用其以便从数据服务器中的代码簿系统中请求与文档类型相对应的代码簿。
如果在步骤58,确定与标识符相对应的代码簿存储在代码簿系统的代码簿高速缓存器中,则在步骤66,数据服务器进行对文档的代码转换,并且在步骤68,将代码转换后的文档发送到移动设备。在步骤70,完成接收到的文档的数据服务器处理,并且过程结束。然而,如果与标识符相对应的代码簿不在代码簿高速缓存器中(步骤58),则在步骤60,由代码簿构建器检索文档定义,并且在步骤62,使用其来产生针对该文档类型的新代码簿,如上所述。然后,在步骤64,将新代码簿存储到代码簿高速缓存器中,并且在步骤66,使用代码簿来代码转换XML文档。在步骤68,将代码转换后的文档发送到移动设备,并且在步骤70,过程结束。
诸如新类型的XML文档的XML文档、不使用形式定义的仅良好格式的文档、或具有嵌入的语法定义的文档导致了在步骤52处否定决定。在步骤72,通过诸如散列文档来产生唯一标识符,并且在步骤74中,可以从代码簿系统请求代码簿。如果代码簿存储在服务器代码簿系统的高速缓存器中,对应于在步骤76处的肯定决定,则对文档进行代码转换(66),发送到移动设备(68),并且过程结束(80),如上所述。当在代码簿高速缓存器中未发现与所产生的标识符相对应的代码簿时,在步骤78进行处理,如果可以的话,从接收到的文档本身或嵌入定义来产生新代码簿。优选地,从文档中提取在接收到的XML文档中的嵌入定义,并且由代码转换器或代码簿构建器使用其来产生新代码簿。然后在步骤80,将新代码簿存储到代码簿高速缓存器,并且,对文档进行代码转换并发送到移动设备(步骤66和68),然后,在步骤70,处理结束。如上所述,当对文档进行代码转换时,产生了针对仅良好格式的文档的代码簿。因此,可以同时执行步骤78和66,之后,在步骤80,可以将代码簿存储到代码簿高速缓存器。
由于针对不具有外部参考定义的每个接收到的文档的代码簿和标识符可能是不同的,因此,在代码簿高速缓存器中找到良好格式的文档的代码簿的可能性相对较低,在本发明的某些实施例中,可以绕过步骤74和76。然而,还可能的是,该类型的多个不同的文档可以具有公用代码簿。例如,来自特定源的文档可以全部使用相同的嵌入定义。如果针对这些文档的每一个产生唯一标识符,则每次接收这些文档之一时,产生公用代码簿并且将其存储到代码簿高速缓存器。按照本发明的另一的方面,根据代码簿或定义而不是文档,可以针对这样的文档来产生标识符。例如,可以产生代码簿,然后散列其以产生标识符。尽管每次接收到共享公用代码簿的文档时,在数据服务器仍将产生公用代码簿,仅代码簿的一个拷贝将被存储在数据服务器处。基于代码簿的标识符产生方案还可以为移动设备提供显著的优点,正如下面将详细描述的那样。
可选地,可以将针对不具有外部参考定义的文档的代码簿嵌入或预先计划或添加到代码转换后的WBXML文档,以避免由基本一次性的代码簿条目占据代码簿高速缓存器中的空间,并且提供不依赖于任何特定的数据服务器的一般代码簿请求操作。下面将结合图9进一步详细描述该可选方案。
现在转到图7,当在步骤82,在移动设备处接收到来自数据服务器的WBXML文档时,确定接收到的文档的标识符(步骤84)。如上所述,在数据服务器处接收到的某些XML文档可能不包括标识符。然而,按照本发明的实施例,优选地,数据服务器处产生标识符,并且包括在发送到移动设备的所有WBXML文档中。因此,优选地,在移动设备处接收到的WBXML文档包括标识符。利用在步骤84确定的标识符,在步骤86,可以从移动设备代码簿高速缓存器中请求代码簿。如果在高速缓存器中找到所请求的代码簿,在步骤90,解析和代码转换所接收到的文档,在步骤92,将这样得到的XML数据发送到移动设备软件应用程序或其它移动设备资源,例如数据存储器或显示器,并且在步骤94,移动设备处理结束。如果在移动设备上的代码簿高速缓存器中未找到代码簿,则在步骤96,从数据服务器请求代码簿。在与一个代码簿请求相关的一些时延之后(由步骤96和98之间的点划线表示),在步骤98,由移动设备从数据服务器接收该代码簿,并且在步骤100,存储到移动设备代码簿高速缓存器。然后在步骤90,进行处理,如上所述。
现在考虑来自不同的仅良好格式的XML文档但具有公用的相应代码簿结构的两个WBXML文档的例子。在数据服务器,针对每个XML文档,已经产生标识符和代码簿。如果由数据服务器针对取决于所产生的代码簿而非文档内容的仅良好格式的文档产生了标识符,则这样得到的WBXML文档具有相同的文档类型标识符。当在移动设备处接收到第一WBXML文档时,从数据服务器请求其代码簿,并且存储到移动设备代码簿高速缓存器。然而,当接收到第二WBXML文档时,在移动设备代码簿中找到与标识符相对应的代码簿,当然,假定代码簿条目还未从缓存器中删除或覆写,由此,避免对数据服务器的代码簿请求及其对通信资源的相关使用、移动设备功率消耗、以及时间延迟。特定的标识符产生方案可以由移动通信设备提供商、无线通信网络运营者、数据服务器拥有者或服务提供商、应用程序服务提供者等,根据所需的数据服务器和移动设备行为和可能文档或代码簿处理的优化来进行确定。
从前面描述中显而易见,有利地,本发明允许移动设备和服务器建立各自的代码簿高速缓存器,提供对已知的和先前未知的XML文档类型的传送和处理。在移动设备和数据服务器上的代码簿高速缓存器不必是相同的,并且可以对其进行更新以使其包括“在空中”的新代码簿,而无需服务器或移动设备关闭或任何软件或硬件改变。如果其事先知道其将接收何种XML文档,则一旦安装,更为优选地,移动设备侧的软件应用程序可以播种(seed)移动设备代码簿高速缓存器。可以通过在移动设备上创建代码簿或在任何数据被发送之前,强制代码簿高速缓存器44从数据服务器中检索代码簿来实现该播种。
在本发明的上述实施例中,当在移动设备上的代码簿高速缓存器中未找到与文档相对应的代码簿时,移动设备从数据服务器中请求代码簿。然而,重要的是要注意,本发明决不限于该类型的代码簿请求。例如,当建立新文档类型时或频繁地遇到或预计频繁地遇到特定类型的文档时,类似于文档,可以将代码簿推向移动设备,以便在其代码簿高速缓存器中存储。也可以使用代码簿请求或将代码簿推向移动设备作为将特定的代码簿预载在移动设备代码簿高速缓存器中的可选方案。作为在移动设备上预载频繁使用或永久的代码簿的替代,当移动设备首先被配置为与数据服务器进行操作时,移动设备用户或软件应用程序可以从数据服务器请求这些代码簿。类似地,可以配置数据服务器,从而当移动设备已登记或授权与数据服务器进行通信时,将预定的代码簿集合推向移动设备。
上述实施例也示出了当由数据服务器18接收代码簿请求时的操作,其中所请求的代码簿存在于服务器的代码簿高速缓存器中。然而,可能的是,可以启动移动设备12,以便与多于一个的数据服务器18进行通信。因此,可以将代码簿请求发送到一个数据服务器(该数据服务器先前还没有对针对其请求代码簿的该类型的XML文档进行代码转换)或所请求的代码簿不再存储在代码簿高速缓存器中的数据服务器。如果移动设备12被配置为从特定的数据服务器18请求一个代码簿,从该数据服务器接收WBXML或其它代码转换后的XML文档,则在移动设备12上的解析操作实质上如上所述进行。可选地,可以配置数据服务器18,当新代码簿产生时,将该新代码簿分配给其它数据服务器或多个数据服务器可访问的中央代码簿存储器(未示出)。由此,新代码簿或存储在多个数据服务器的代码簿高速缓存器中,或者至少可由多个数据服务器来访问,由此,当由移动设备12要求代码簿时,可以将代码簿请求发送到多个数据服务器的任一个。
限制移动设备12仅向从中接收代码转换后的XML文档的特定数据服务器18发送代码簿请求可能不是最优方案,这是由于接收到的文档的解析和代码转换取决于单个的数据服务器。如果数据服务器关闭,对移动设备12而言变得不可操作或不可用,则针对其没有代码簿已存储在移动设备代码簿高速缓存器45中的接收到的代码转换的XML文档无法被代码转换回XML,直到向移动设备12发送了该文档的数据服务器18返回服务中为止。在多个数据服务器中或这样代码簿存储器中的代码簿分配也可能会需要大量的数据传送并占用数据服务器资源。此外,例如,在新代码簿已经存储在数据服务器的代码簿缓存器或中央代码簿存储器之前,如果从数据服务器中请求新代码簿,则在由数据服务器分配新代码簿时的任何延迟可能会引起代码簿请求处理中的错误。
现在将参考图8来描述在对从数据服务器中检索代码簿提供增强的灵活性的同时,解决这些问题的可选方案,图8是示出了按照本发明的另一方面,与代码簿请求相关的数据服务器操作的信号流程图。
在图8中,由数据服务器18从移动设备12中接收代码簿请求。该代码簿请求由代码簿小服务程序32接收,如果需要,可能通过协议转换器24来接收。然后,代码簿小服务程序32从代码簿系统30请求代码簿,所述代码簿系统30确定所请求的代码簿是否存储在代码簿系统30中的服务器代码簿高速缓存器(未示出)中。在图8的例子中,所请求的代码簿不存在于代码簿高速缓存器中。例如当从移动设备12接收代码簿请求的数据服务器18还没有预先对与所请求的代码簿相关的类型的XML文档进行代码转换时,这可能会发生。然而,如果代码簿只临时存储在缓存器,并且在移动设备12请求代码簿之前,从高速缓存器中覆写或删除,则该代码簿也可以不存在于服务器代码簿高速缓存器中。
按照本发明的该实施例,由数据服务器18产生在代码簿系统30中的服务器代码簿高速缓存器中未找到的代码簿。在图8的例子中,代码簿与符合从作为DTD服务器23a示出的外部定义源中可得到的DTD的XML文档相关联。当代码簿系统30确定所请求的代码簿无法从其代码簿高速缓存器中得到时,则调用代码簿构建器34,并且从DTD服务器23a请求针对该文档的DTD。使用适当的文档类型标识符,从DTD服务器23a中请求DTD。然后,DTD服务器将DTD返回到代码簿构建器,该代码簿构建器使用DTD来产生所请求的代码簿,实质上如上所述。然后,将代码簿转发到代码簿系统30,优选地,该系统将代码簿存储在其高速缓存器中。代码簿系统30还将代码簿返回到代码簿小服务程序32,并且,如果需要,通过协议转换器24,将代码簿返回到移动设备12。在移动设备12处,将所请求的代码簿存储到移动设备代码簿高速缓存器45,并且,如果进行代码簿请求以能够对接收到的WBXML文档进行代码转换,则使用代码簿来处理文档,如上所述。
图9示出了在图8的代码簿请求方案中所涉及到的服务器操作。图9是根据图8所示的本发明的实施例代码簿请求的数据服务器处理的流程图。在图9中,当在步骤102,从移动设备接收到代码簿请求时,服务器处理开始。然后在步骤104,服务器确定与所请求的代码簿相关的标识符。如上所述,移动设备可以将文档公用ID或其它标识符插入到代码簿请求中,由此,优选地,从请求中提取标识符。然后,在步骤106,使用该标识符,确定所请求的代码簿是否在服务器代码簿高速缓存器中。如果该代码簿处于高速缓存器中,则在步骤108从高速缓存器对其进行检索,在步骤110将其返回到移动设备,并且在步骤112,代码簿请求处理结束。
当代码簿未处于缓存器中时,在步骤114,服务器确定可以从中检索定义的外部定义源的地址。当已经确定该地址时,在步骤116,例如通过如上所述的请求和响应过程来检索定义。然后在步骤118,产生请求的代码簿,优选地,在步骤120,将其存储到服务器代码簿高速缓存器,并且在步骤110将其返回到移动设备。然后,在步骤112,完成代码簿请求处理并结束。
从图8和9中可以明显地看到使用可以从中检索外部定义的URL的优点。当在代码簿请求中的标识符指向外部定义的位置时,则数据服务器不需要解析标识符以确定诸如DTD服务器23a的外部定义源的地址(图9的步骤114)。由此,该请求包含检索外部定义所需的所有信息,简化了由数据服务器进行的代码簿请求处理。此外,该方案提供了通过多个数据服务器的代码簿请求加载分配,而不需要数据服务器之间的代码簿的任何种类的通信。例如,第一数据服务器(DS1)可以接收XML文档,检索DTD,创建代码簿,将XML文档代码转换成WBXML文档,以及将WBXML文档发送到移动设备。然后,第二数据服务器(DS2)能够从移动设备接收针对代码簿的请求。如果代码簿还未处于服务器DS2处的缓存器中,由于DS1将代码簿产生并存储在其缓存器中,DS2将不得不检索DTD并产生代码簿。在该情况下,使用DTD的URL作为针对XML文档类型的标识符比使用公用ID或其它标识符更为有用,这是由于URL全都是需要检索DTD的标识符。
使用公用ID作为标识符将需要DS1和DS2之间的通信、或者限制移动设备仅向DS1发送代码簿请求,如上所述。这样的通信和限制可能会使整个系统具有较低的鲁棒性和较差的可升级性。然而,在标识符与定义中的URL相关,或所述标识符能够解析为这样的URL的情况下,使用该标识符来实现上述的好处。例如,标识符能够是定义中的URL的散列或其它变换,通过查询散列表或其它查找表,数据服务器能够将其解析成URL。
图8所示的方案可以不仅应用于具有相关外部DTD的XML文档,而且可以应用于具有已登记的MIME类型和公共可用的令牌表的文档、或具有对外部公共可用的文档语法定义的参考的任何其它XML文档。然而,对于诸如仅良好格式的文档和具有嵌入定义的文档的其他XML文档,由数据服务器使用XML文档或嵌入定义来产生代码簿,因此,优选地,将这些代码簿嵌入到或添加到被发送到移动设备12的代码转换后的文档。然后,任何移动设备12仅请求与有效XML文档或具有公共可用令牌表的XML文档相关的那些代码簿,从中,由能够对代码簿、令牌表或可以从其中产生令牌表的其它外部定义进行访问的任何数据服务器来产生代码簿。为了提供图8和9所示的代码簿请求操作,在保持对不具有外部定义的XML文档的支持的同时,可以修改数据服务器操作,如图10所示。图10是示出了对接收到的XML文档的典型数据服务器处理以支持图8和9中的代码簿请求方案的流程图。
在图10中,具有外部参考定义的XML文档的处理基本上与图6所示的相同,并且如上所述,因此不再进一步详细描述。当在步骤50确定从信息源接收到的文档不具有外部参考定义(步骤52)时,则如上所述,在步骤78,从该文档或嵌入定义中产生代码簿。然后,在步骤66,对接收到的文档进行代码转换。另外,如上所述,当对文档进行代码转换时,可以产生代码簿,这样的步骤66和78实际上可以是同时的操作。然后,在步骤67,将代码簿嵌入到或预先计划或添加到代码转换后的文档,并且,在步骤69,将代码转换后的文档和代码簿发送到移动设备。由于代码簿与代码转换后的文档一起发送到移动设备,不需要产生标识符,并且代码簿不必一定存储在数据服务器处。
前面的描述涉及在数据服务器处将XML文档代码转换成WBXML文档,将代码转换后的文档到移动通信移动设备,并且在移动设备处处理WBXML文档。然而,按照本发明的另外方面,还可以在移动设备处准备XML文档,并且将其代码转换成WBXML,以便传送到数据服务器。然后,数据服务器可以将从移动设备接收到的WBXML文档代码转换成为XML,以便传送到所需的接收者。
图11是示出了在移动设备上的WBXML文档的创建的信号流程图。图11所示的移动设备212类似于图4所示的移动设备12,但是提供用于XML和WBXML文档的创建。通信子系统236和代码簿系统244可以与在移动设备12中类似标记的部件相同。例如,如果软件应用程序38被配置为接收和产生XML内容,则软件应用程序238和其应用处理程序242也可以与图4中的应用程序38和处理机42相同。然而,应该意识到,任何移动设备软件应用程序可以接收XML数据、产生XML数据或既接收XML数据又产生XML数据,并且移动设备可以包括多于一个类型的软件应用程序。
WBXML产生器241执行WBXML解析器40的逆向操作,其中作为解析来自WBXML文档的文档元素的替代,WBXML产生器241将文档元素组装成为WBXML文档。将XML文档元素代码转换成为WBXML元素可以根据移动设备212、软件应用程序238和其处理机242的配置,由WBXML产生器241或者应用处理程序242来进行处理。在示例移动设备212中,应用处理程序242将XML文档元素代码转换成为WBXML文档元素,尽管移动设备可能包括上面类型中的任一个的软件应用程序和相关处理机。
如图11所示,软件应用程序238产生被传送到应用处理程序242的XML数据。该数据可能事先已经存储在移动设备212上,可以由用户在移动设备212上的键盘、小键盘或其它输入设备(未示出)上输入,或者可能通过诸如与计算机的串行端口连接的数据传输系统、或诸如红外接收机或蓝牙通信模块的短距离无线通信系统,加载到移动设备212上。可以在图11所示的单次传输中、或当产生每个元素时逐元素地,将由软件应用程序238所产生的XML数据传送到应用处理程序242。
当应用处理程序242接收到来自软件应用程序238的部分或所有XML数据时,利用与由软件应用程序238产生的数据的XML类型相关的标识符,从代码簿系统244请求将XML数据代码转换为WBXML所需的代码簿。如果在其高速缓存器中无法得到该代码簿,代码簿系统244或者通过从其高速缓存器(未示出)中检索代码簿、或者通过从数据服务器请求所述代码簿,将所请求的代码簿返回到应用处理程序242。可能包括在数据服务器处产生代码簿的代码簿请求过程可以通过上述的任何一个方案来实现。
当由应用处理程序242接收到代码簿时,从XML数据到WBXML文档元素的代码转换继续进行。一旦已经将来自软件应用程序238的所有XML数据代码转换成WBXML元素,并且传送到WBXML产生器241,则WBXML产生器241将WBXML元素组装成包括与XML类型相关的标识符的WBXML文档,并且将WBXML文档传送到通信子系统236。然后,将WBXML文档传送到数据服务器。
还可以将由软件应用程序238产生的XML数据存储在移动设备212上的存储器(未示出)中,直到接收到所请求的代码簿为止。这提供用于产生移动设备212的数据,即使当移动设备212超出了通信网络覆盖区域,或者无法请求和/或从数据服务器接收代码簿时。由于数据存储在移动设备12上,即使还未对所产生的XML文档进行代码转换并且发送到数据服务器,也可以使用其它的移动设备操作、功能和软件应用程序。然后,无论何时当接收到代码簿时,可以对所存储的数据进行代码转换并发送到数据服务器。
可以设想,在移动设备212上产生的XML文档可以去往数据服务器、或可以将数据服务器配置为与其进行通信的所需文档接受者,例如网络服务器,或者同时去往这两者。如果将要由数据服务器将XML文档传送到一个或多个接收者,则优选地,由移动设备212中的软件应用程序238、应用处理程序242或可能WBXML产生器241将每个接收者的地址添加或嵌入到WBXML文档中。
图11所示的上述示例的移动设备212和信号流程涉及到XML文档的产生,其中,代码簿或者可以在移动设备212上得到,或者可以从数据服务器中得到。如上所述,针对具有公共可用的语法定义的XML文档的代码簿可以由对语法定义进行访问的任何数据服务器产生。这样,如果移动设备和移动设备软件应用程序被配置为仅产生已知类型的XML,则移动设备不需要包括代码簿产生系统,这是由于可以从数据服务器中请求在移动设备上产生WBXML文档所需的任何代码簿。然而,在移动设备上的处理资源允许的情况下,移动设备可以产生仅良好格式的或其它新类型的XML文档,产生针对这样的文档的相应的代码簿,并且在将这些文档发送到数据服务器之前,将代码簿嵌入、预先计划或添加到代码转换后的WBXML文档。可选地,如以上针对数据服务器18所述,如果可得到足够的存储器空间,则可以产生唯一标识符,并且将代码簿能够存储在移动设备212上的代码簿高速缓存器(未示出)中。如果由数据服务器请求代码簿,以便从该XML文档产生WBXML文档,则可以从移动设备中对其进行请求。在这两个可选方案中,优选地,可以将这些代码簿发送到数据服务器,以避免移动设备上代码簿请求管理、当关掉移动设备或移动设备超出了通信网络覆盖范围时从移动设备检索代码簿中可能产生的时间延迟、以及通过移动设备到数据服务器通信链路的代码簿请求/响应业务量的增加。
图12是示出了由数据服务器从移动设备接收到的WBXML文档的处理的信号流程图。除了代码转换系统228包括WBXML->XML代码转换器274之外,数据服务器218和其组件实际上类似于图3所示和如上所述的数据服务器18和类似标记的组件。
尽管可以根据文档传送的方向来使用不同的协议,但是,优选地,移动设备212针对从数据服务器到移动设备的文档传送使用相同的协议,例如专用IPPP,将文档到数据服务器218。
由数据服务器218接收来自移动设备212的WBXML文档,并且由协议转换器224执行任何必要的协议转换。将接收到的WBXML文档转发到代码转换系统228中的代码转换器274中。应该明显的是,在数据服务器218中的代码转换系统228也执行接收到的文档的解析。这对于如上所述在数据服务器18中代码转换系统28也是如此。本领域技术人员将会意识到,还可以在数据服务器中提供分离的解析系统,而不会脱离本发明的范围。
如果将代码簿嵌入或预先计划或添加到WBXML文档,则代码转换器274提取并使用代码簿,以便WBXML文档代码转换成为XML,并且还可以代码簿存储到代码簿系统230中的代码簿高速缓存器(未示出)中。在图12所示的例子中,接收到的WBXML文档具有外部参考的定义。所述标识符由代码转换器274使用,以从代码簿系统230中请求针对该文档的代码簿。如果在其代码簿高速缓存器中找到该代码簿,则代码簿系统返回所请求的代码簿,或者调用代码簿构建器234以产生所请求的代码簿。
如上所述,代码簿构建器234使用标识符从外部定义源223中请求定义,优选地,该标识符是诸如URL的地址,根据该地址可以检索定义。当定义返回到代码簿构建器234时,使用该定义来产生所请求的代码簿,然后将该代码簿返回到代码簿系统230。优选地,代码簿系统230将新代码簿存储在其高速缓存器中,并且将代码簿提供给代码转换器274。然后,对已解析的WBXML元素进行代码转换,并且组装为XML文档。
如果来自移动设备212的文档设计为由数据服务器218或其中的其它组件进行进一步处理,则将XML文档转发到这些其它数据服务器组件,或可能地,存储到数据服务器218中的存储器(未示出)中,以便后续处理。如果接收到的WBXML文档设计用于由嵌入到移动设备212的文档、或由移动设备212利用文档提供的地址所标识的接收者系统220,则将代码转换后的文档通过适当的连接处理机226转发到接收者系统220。可以通过用于在数据服务器218和外部定义源223之间通信的连接处理机226来实现数据服务器218对接收者系统220的通信,如图12所示,或可以使用不同的连接处理机。类似于如上所述来自移动设备12的文档请求,移动设备218可以将连接请求与WBXML文档一起发送,以指定诸如220的任何文档接收者系统、以及通信处理机和/或用于将文档传送到任何接收者系统的协议。
由此,将在移动设备12处产生的XML文档代码转换成WBXML,以便传送到数据服务器218,并且由数据服务器218代码转换回XML。还可以设想,移动设备212可以或者直接地或者通过数据服务器,将WBXML文档到类似功能的移动设备。在通过数据服务器的情况下,优选地,将WBXML文档转发到所需的接收者移动设备,而不是由数据服务器将其代码转换成XML。接收者移动设备能够或者从数据服务器、或者可能从发送者移动设备,请求所需的代码簿。
在图13和14中以流程图形式示出了图11和图12中所示的内容处理方案。图13是示出了所产生的XML文档的移动设备处理的流程图,而图14是示出了由数据服务器处理接收到的WBXML文档的流程图。
在图13中,在步骤250,在移动设备212处产生XML文档。然后,在步骤252,确定XML文档是否为具有外部参考和可用语法定义的已知XML文档类型,例如有效XML文档。例如,所产生的XML文档的类型可以依赖于产生XML文档的特定移动设备软件应用程序。如果XML文档具有诸如DTD的外部参考定义,正如可以通过搜索在XML文档中的DOCTYPE语句确定的那样,则在步骤254,确定该文档的文档类型标识符,并且在步骤256,该文档类型标识符用于从移动设备中的代码簿系统中请求相应的代码簿。
如果如在步骤258确定的,代码簿存储在移动设备代码簿系统的代码簿高速缓存器中,则在步骤260对XML文档进行代码转换,并且在步骤262,将这样得到的WBXML文档发送到数据服务器和/或接收者,完成产生的XML文档的移动设备处理。在步骤264,处理结束。然而,如果与该标识符相对应的代码簿未处于代码簿高速缓存器中(步骤258),则在步骤266从数据服务器中请求代码簿。在步骤266和268之间,在由点划线表示的一些时间延迟之后,在步骤268,从数据服务器接收代码簿。然后,在步骤270,优选地,将代码簿存储到移动设备上的代码簿高速缓存器,并且如上所述,处理以步骤260,260和264结束。
将很可能启动具有相对有限处理能力的移动设备,以便仅产生针对其能够由数据服务器产生和从数据服务器请求代码簿的XML文档,以便避免在移动设备上的代码簿的产生。在这些移动设备中,本地产生的XML文档的处理包括步骤250和254直到270。当移动设备可以产生针对诸如新类型的XML文档的XML文档、不使用形式定义的仅良好格式的文档、或具有嵌入语法定义的文档的代码簿时,则在步骤252可以进行否定决定。在步骤272,从文档或嵌入定义中产生代码簿,正如上面所述的那样,在步骤274,使用代码簿来代码转换XML文档,在步骤276,优选地,代码簿嵌入或预先计划或添加到代码转换后的WBXML文档,并且在步骤278,将WBXML文档和代码簿发送到数据服务器和/或接收者。
可选地,可以使用计算出的唯一标识符,将在步骤272产生的代码簿存储到代码簿高速缓存器。然而,鉴于上面详细讨论的理由,优选地,将从XML文档或嵌入定义中所产生的代码簿与WBXML文档一起或在WBXML文档内发送到数据服务器或任何其它接收者。
现在转到图14,将描述在移动设备处所产生的WBXML文档的处理。图14是示出了由数据服务器处理接收到的WBXML文档的流程图。如图所示,在步骤280,当在数据服务器处接收到来自移动设备的WBXML文档时,处理方法开始。然后,例如,在将用于仅良好格式的XML文档的代码簿嵌入或预先计划或添加到WBXML文档的情况下,确定代码簿是否与文档一起提供。如果代码簿被提供,则在步骤284提取其,并且在步骤286,解析文档和使用代码簿代码转换回WBXML。如上所述,从移动设备发送的文档可以由数据服务器使用,并且还可能或作为替代,由一个或多个接收者使用。然后在步骤288,将代码转换后的文档分配给数据服务器内的组件和/或分配到到任何所需的接收者。然后,在步骤290,该方法结束。如果文档打算用于一个或多个接收者移动设备,则在步骤288,可以将接收到的WBXML文档转发到移动设备,而不进行代码转换,而可以将代码转换后的XML版本通过诸如因特网的WAN,发送到其它接收者,例如可以与数据服务器进行通信的计算机系统。由于WBXML还能提供通信资源的更有效的使用,即使对于有线通信系统,可能的是,数据服务器能够被配置为将接收到的WBXML文档分配给所有接收者,并且将由每个接收者执行来进行步骤286的代码转换操作。
正如在步骤282所确定的那样,如果代码簿未由移动设备与接收到的WBXML文档一起提供,则在步骤292,数据服务器确定接收到的文档的标识符。然后,在步骤294,使用标识符从数据服务器中的代码簿系统中请求代码簿。然后,在步骤296,代码簿系统确定代码簿是否处于其高速缓存器中。如果在高速缓存器中找到了代码簿,则在步骤286进行处理,如上所述。如果代码簿未处于缓存器中,则在步骤298,检索与标识符相关的定义或代码簿本身。在大多数实现中,可以设想,将检索定义,并且将由数据服务器产生代码簿。然而,应该意识到,本发明决不限于此。如果移动设备资源允许,则可以从中接收到WBXML文档的移动设备中请求代码簿。
当在步骤298,由数据服务器检索到定义时,在步骤300,产生代码簿。所请求的代码簿,无论是在步骤300产生的、还是在步骤298由数据服务器检索到的,优选地,在步骤302将其存储到数据服务器代码簿,并且如上所述,处理以步骤286,288和290结束。
根据本发明的另一方面,可以直接在移动设备之间交换WBXML文档。所接收的WBXML文档的移动设备处理可以基本上如上所述。优选地,可以或者从数据服务器中、或者可能地从发送移动设备中,请求未与WBXML文档一起提供或在移动设备的代码簿高速缓存器中找到的所需代码簿。
图15是示出了能够实现按照本发明的系统和方法的移动通信设备的方框图。在图15中,移动设备322包括通信子系统336、WBXML串解析器340、WBXML串产生器341、WBXML二进制解析器342、WBXML二进制产生器343、三个软件应用程序346,352和358,每个均包括实现实际软件应用程序350、356、362和相应的应用处理程序348、354、360的软件代码、以及包括代码簿高速缓存器345的代码簿系统344。在图15中的移动设备322实质上类似于图2中的移动设备12,但是示出了多个软件应用程序和两种类型的WBXML解析器和产生器。
通信子系统336包括如移动设备322经链路335和337与数据服务器进行通信所需的组件,可以用于文档传送和代码簿请求和响应,并且能够经链路339与其他移动设备进行通信。通信子系统336的准确实现将取决于移动设备322设计为与其进行操作的通信系统和协议,如上所述。
WBXML串解析器340接收WBXML文档,并且将这些文档解析和代码转换回XML。因此,串解析器340与代码簿系统344相连,以便当接收到WBXML文档时,提供代码簿检索。然而,如果代码簿嵌入或预先计划或添加到接收到的文档,则提取代码簿,将其传送到代码簿系统344,以便在代码簿高速缓存器345中,并且用于对WBXML文档进行代码转换。然后,将解析和代码转换后的XML数据传送到应用处理程序348,以便由应用程序350使用。应该意识到,应用程序346被配置为与移动设备322上的XML一起工作,并因而由串解析器340传送XML数据。类似地,还配置应用程序346,以在移动设备322上产生XML。由应用处理程序348将由软件应用程序350产生的XML数据传送到WBXML串产生器341。WBXML串产生器341或者从代码簿系统344检索相关代码簿,或者从XML数据或上述的嵌入定义中产生该代码簿。使用代码簿将XML数据代码转换成为WBXML数据,该WBXML数据被组装为WBXML文档,并且传送到通信子系统336,以便传送到数据服务器或可能的另外的移动设备。可以将在移动设备322上产生的代码簿与代码转换后的WBXML文档一起发送,或存储在代码簿系统344中的缓存器345中,或既与代码转换的WBXML文档一起发送又存储在代码簿系统344中的缓存器345中。
配置为与二进制解析器342一起工作的软件应用程序352包括用于处理代码转换操作的应用处理程序354。由解析器342解析要由应用程序352使用的、接收到的WBXML文档,并且将解析后的WBXML文档元素传送到应用处理程序354。然后,应用处理程序354或者从代码簿系统344请求代码簿,或者从文档中提取嵌入的代码簿,并且使用该代码簿将已解析的元素代码转换成为WBXML。当使用软件应用程序356产生XML文档时,应用处理程序354或者从文档本身或嵌入的定义中产生适当的代码簿,或者从代码簿系统344中请求代码簿,并且使用代码簿将由应用程序356产生的XML元素代码转换成为WBXML二进制元素。WBXML二进制产生器343执行WBXML二进制解析器342的逆向操作,并且将由应用处理程序354传送给其的WBXML元素组装成为WBXML文档。
按照本发明的方面,应用程序346和352被配置为与代码簿系统344协同操作。还应意识到,包括这些应用程序的移动设备322还可以具有安装且操作于其上的其它软件应用程序。例如,应用程序358包括嵌入了编码方案的应用处理程序360,其正如按照上述的已知技术是公知的。应用程序358可以使用解析器342和产生器343,如图15所示,但不与代码簿系统344进行交互。由此,可以向移动设备中的本发明的实现提供与使用嵌入代码转换方案的移动设备软件应用程序的后向兼容性。
如图15所示的移动设备322只打算用于说明的目的,而本发明决不限于其中包括所示出的组件的移动设备。例如,仅发送或接收XML的其它软件应用程序、以及能够进行通信功能或非通信功能的其它应用程序也可以在移动设备上实现,或作为替代,在移动设备上实现。
将会意识到,上述描述仅作为实例涉及到优选实施例。本发明的很多变体对于本领域技术人员将是明显的,并且这些显而易见的变体无论是否明确描述,落入在此所描述的本发明的范围。
例如,尽管在图中示出了单个移动设备,数据服务器和信息源,典型地,数据服务器将可能通过不同的无线通信网络为多个移动设备提供服务,并且通过不同的直接或基于网络的连接对多个信息源访问。类似地,任何无线通信网络和任何信息源可以与多个数据服务器进行通信。
此外,上述的系统和方法可以实现来代码转换和解析除了XML之外的其他内容类型。类似地,能够调整这些系统和方法,用于除了WBXML之外的其它编码方案。上述的好处和优点也能够针对诸如典型的长度编码的编码方案来得到。
尽管以上将数据服务器和信息源作为分离系统来描述,但是也可以设想同时包括数据服务器和信息源功能的集成系统。当由信息源提供保密或其它敏感信息时,这样的集成系统特别有利的。在这种情况下,不需要任何中间数据服务器对信息进行代码转换,以便传送到移动设备。例如,在信息源处进行代码转换和加密的保密内容保持为加密,直到在移动设备对其进行解密为止,提供了端对端安全。

Claims (60)

1.一种在无线移动通信设备上处理可扩展标示语言(XML)文档的方法,包括步骤:
从数据服务器接收处理的文档,其中,通过使用代码簿来代码转换XML文档,产生所处理的文档;
确定所述代码簿是否存储在无线移动通信设备上;
如果所述代码簿未存储在所述无线移动设备上,则从所述数据服务器请求所述代码簿;
从所述数据服务器接收所述代码簿;和
使用所述代码簿对所处理的文档进行代码转换,以恢复所述XML文档。
2.如权利要求1所述的方法,其特征在于所处理的文档由信息源产生,并且提供给所述数据服务器。
3.如权利要求1所述的方法,其特征在于所处理的文档由所述数据服务器产生。
4.如权利要求3所述的方法,其特征在于所述XML文档与文档定义相关,并且,所述数据服务器检索文档定义并且基于外部定义产生所述代码簿。
5.如权利要求3所述的方法,其特征在于还包括步骤:
在数据服务器,
从所述信息源中接收所述XML文档;
检索所述代码簿;
使用所述代码簿来代码转换所述XML文档以产生所处理的文档;和
将所处理的文档发送到所述无线移动通信设备。
6.如权利要求1所述的方法,其特征在于所述处理的文档包括标识符,并且所述确定步骤包括下列步骤:
确定在所处理的文档中的所述标识符;和
确定与所述标识符相对应的代码簿是否存储在所述无线移动通信设备上。
7.如权利要求1所述的方法,其特征在于所述请求步骤包括步骤:将代码簿请求发送到所述数据服务器,并且所述方法还包括步骤:
在所述数据服务器,
接收所述代码簿请求;
响应所述代码簿请求来检索所述代码簿;和
返回所述代码簿到所述无线移动通信设备。
8.如权利要求7所述的方法,其中,所述检索步骤包括步骤:
确定所述代码簿是否存储在数据服务器上的存储器中;和
如果所述代码簿存储在所述存储器中,则从存储器中检索所述代码簿。
9.如权利要求8所述的方法,其特征在于所述检索步骤包括步骤:
如果所述代码簿不存储在所述存储器中,则
检索与所述XML文档相关的定义;和
从所述定义中产生所述代码簿。
10.如权利要求9所述的方法,其特征在于还包括步骤:将所产生的代码簿存储到所述存储器。
11.如权利要求1所述的方法,其特征在于还包括步骤:将所述接收到的代码簿存储在所述无线移动通信设备上。
12.如权利要求1所述的方法,其特征在于所述处理的文档包括:无线应用协议(WAP)二进制XML(WBXML)文档。
13.一种在无线移动通信设备上处理可扩展标示语言(XML)文档的系统,包括:
接收机,配置用于从数据服务器接收处理的文档,其中,通过使用代码簿来代码转换XML文档产生所处理的文档;
代码簿系统,包括用于存储代码簿的高速缓存器;和
代码转换系统,与所述接收机和所述代码簿系统相连,并且配置用于解析所述处理后的文档,从所述代码簿系统中请求所述代码簿,并且使用所述代码簿来代码转换所述处理后的文档,以恢复所述XML文档,
其中,配置所述代码簿系统,以便当由所述代码转换系统请求所述代码簿时,确定是否所述代码簿存储在高速缓存器中,如果所述代码簿存储在所述高速缓存器中,将所述代码簿提供给所述代码转换系统,而如果所述代码簿没有存储在所述高速缓存器中,则从所述数据服务器请求所述代码簿,从所述数据服务器接收所述代码簿,并且将所述代码簿提供给所述代码转换系统。
14.如权利要求13所述的系统,其特征在于:所述处理的文档包括标识符,配置所述代码转换系统,以便在包括所述标识符的代码簿请求中,从所述代码簿系统请求所述代码簿,并且所述代码簿系统确定与标识符相对应的代码簿是否存储在所述高速缓存器中。
15.如权利要求13所述的系统,其特征在于所述代码簿系统包括配置用于解析和代码转换所处理的文档的串解析器。
16.如权利要求13所述的系统,其特征在于所述代码簿系统包括:
二进制解析器,配置用于将所述处理的文档解析成已解析的元素;和
应用处理程序,与所述无线移动通信设备上的软件应用程序相关联,并且配置用于对所述已解析的元素进行代码转换。
17.如权利要求16所述的系统,其特征在于还包括具有嵌入编码方案并且与所述无线移动通信设备上的第二软件应用程序相关联的第二应用处理程序,其中:
进一步配置所述接收机,以接收与所述第二软件应用程序相关联的第二处理的文档;
配置所述二进制解析器,以便将所述第二处理的文档解析成第二解析的元素;和
配置所述第二应用处理程序,以便根据所述嵌入的编码方案来代码转换所述第二处理的文档。
18.如权利要求13所述的系统,其特征在于进一步配置所述代码簿系统,以在所述高速缓存器中存储从数据服务器接收到的代码簿。
19.一种处理文档的系统,包括:
代码簿系统,配置用于接收代码簿请求,并响应每个代码簿请求来提供代码簿;
在所述代码簿系统中的存储器,配置用于存储代码簿;
代码转换系统,配置用于接收文档,并且,针对每个接收到的文档,从所述代码簿系统中请求相应的代码簿,并且使用所述代码簿来代码转换所述接收到的文档;和
代码簿构建器,配置用于产生代码簿,
其中,进一步配置所述代码簿系统,以确定所请求的代码簿是否存储在所述存储器中,并且如果所请求的代码簿未存储在所述存储器中,则启动所述代码簿构建器来构建所请求的代码簿,并且从所述代码簿构建器接收所请求的代码簿。
20.如权利要求19所述的系统,其特征在于还包括连接处理机,配置用于从信息源接收文档,并且将所述文档提供给所述代码转换系统。
21.如权利要求20所述的系统,其特征在于进一步配置所述连接处理机,以便从所述代码转换系统接收代码转换后的文档,并且通过无线传输,将所述代码转换后的文档发送到无线移动通信设备。
22.如权利要求21所述的系统,其特征在于进一步配置所述连接处理机,以便通过所述无线传输从所述无线移动通信设备接收连接请求,并且响应于所述连接请求,从所述信息源请求所述文档。
23.如权利要求22所述的系统,其特征在于还包括协议转换器,配置用于将所述连接请求从与所述无线传输相关联的第一协议转换到与所述连接处理机和信息源相关联的第二协议。
24.如权利要求19所述的系统,其特征在于还包括代码簿小服务程序,用于通过无线传输从无线移动通信设备接收针对代码簿的代码簿请求,从所述代码簿系统请求所述代码簿,以及通过所述无线传输,将所请求的代码簿返回到所述无线移动通信设备。
25.如权利要求19所述的系统,其特征在于:进一步配置所述代码簿构建器,以检索针对接收到的文档的文档定义,并且当所述代码簿系统启动所述代码簿构建器时,根据所述文档定义来产生代码簿。
26.如权利要求25所述的系统,其特征在于:如果所请求的代码簿未存储在存储器中,进一步配置所述代码簿系统,以确定与接收到的文档的文本定义相关联的文档标识符,并且将所述文档标识符提供给所述代码簿构建器。
27.如权利要求26所述的系统,其特征在于所述文档标识符是资源地址,从该资源地址可得到文档定义。
28.如权利要求25所述的系统,其特征在于所述文档定义嵌入在所述接收到的文档中,并且从所述接收到的文档中被提取。
29.如权利要求19所述的系统,其特征在于:进一步配置所述代码簿系统,以将由代码簿构建器产生的代码簿存储到所述存储器。
30.一种处理文档的方法,包括步骤:
从信息源接收文档;
确定用于代码转换文档的代码簿是否存储在代码簿系统中;
如果用于代码转换文档的代码簿未存储在代码簿系统中,则产生所述代码簿;和
使用所述代码簿对所述文档进行代码转换,以产生代码转换后的文档。
31.如权利要求30所述的方法,其特征在于还包括步骤:通过无线网络将代码转换后的文档传送到到无线移动通信设备。
32.如权利要求31所述的方法,其特征在于还包括步骤:
通过所述无线网络从所述无线移动通信设备接收针对所述文档的请求;和
从所述信息源中请求所述文档。
33.如权利要求32所述的方法,其特征在于所述接收请求的步骤、所述请求的步骤、所述接收文档的步骤、所述确定步骤、所述产生步骤、所述代码转换步骤和所述传输步骤在数据服务器处执行,并且所述方法还包括步骤:
在所述无线移动通信设备,
从所述数据服务器接收所述代码转换后的文档;
确定所述代码簿是否存储在所述无线移动通信设备上;
如果所述代码簿未存储在所述无线移动通信设备上,则从所述服务器请求所述代码簿;和
使用所述代码簿来代码转换所述代码转换后的文档,以在所述无线移动通信设备上恢复接收到的文档。
34.如权利要求33所述的方法,其特征在于从所述数据服务器中请求所述代码簿的步骤包括以下步骤:将代码簿请求发送到所述数据服务器,并且所述方法还包括以下步骤:
在所述数据服务器,
接收所述代码簿请求;
确定所述代码簿是否存储在所述代码簿系统中;
如果所述代码簿存储在所述代码簿系统中,则从所述代码簿系统中检索所述代码簿;
如果所述代码簿未存储在所述代码簿系统中,则产生所述代码簿,和
将所述代码簿返回到所述无线移动通信设备。
35.如权利要求30所述的方法,其特征在于产生所述代码簿的步骤包括以下步骤:
检索与所述接收到的文档相关联的文档定义;和
根据所述文档定义产生所述代码簿。
36.如权利要求30所述的方法,其特征在于还包括步骤:
确定所述文档是否与参考的文档定义相关联;和
如果所述文档不与参考的文档定义相关联,则代码转换文档,并且当代码转换所述文档时产生代码簿。
37.如权利要求36所述的方法,其特征在于还包括步骤:
如果所述文档与参考的文档定义相关,则
检索所述参考的文档定义;和
根据所述参考的文档定义来产生所述代码簿。
38.如权利要求36所述的方法,其特征在于还包括步骤:
将代码转换后的文档传送到接收者系统;
如果所述文档不与参考的文档定义相关联,则将所述代码簿传送到所述接收者系统;和
如果所述文档与参考文档定义相关联,或所述代码簿存储在所述代码簿系统中,则响应来自所述接收者系统的代码簿请求,将所述代码簿传送到所述接收者系统。
39.如权利要求30所述的方法,其特征在于还包括步骤:
将代码转换后的文档传送到接收者系统;
从所述接收者系统接收针对所述代码簿的代码簿请求;和
响应所述代码簿请求,将所述代码簿返回到所述接收者系统。
40.一种响应代码簿请求来提供代码簿的系统,包括:
接收机,配置用于从请求者接收代码簿请求,所述代码簿请求标识所请求的代码簿;
代码簿高速缓存器,存储了多个代码簿;
代码簿系统,配置用于确定所请求的代码簿是否存储在所述代码簿高速缓存器中;
代码簿构建器,如果所述请求的代码簿未存储在所述代码簿高速缓存器中,所述代码簿构建器配置用于产生所述请求的代码簿并且将所述请求的代码簿存储在所述代码簿高速缓存器中;和
发送机,配置用于将所述请求的代码簿传送到所述请求者。
41.如权利要求40所述的系统,其特征在于所述代码簿请求包括标识所请求的代码簿的文档类型标识符,并且进一步配置所述代码簿构建器,以便检索与文档类型标识符相对应的文档定义,并且使用所述文档定义来产生所述请求的代码簿。
42.如权利要求41所述的系统,其特征在于还包括连接处理机,用于从所述代码簿构建器接收文档定义请求,从文档定义源检索文档定义,并且将文档定义返回到代码簿构建器。
43.如权利要求42所述的系统,其特征在于所述文档定义源是文档类型定义(DTD)服务器。
44.如权利要求40所述的系统,其特征在于所述接收机和所述发送机包括代码簿小服务程序。
45.如权利要求40所述的系统,其特征在于在数据服务器中实现该系统。
46.如权利要求40所述的系统,其特征在于在无线移动通信设备中实现该系统。
47.一种处理可扩展标示语言(XML)文档的方法,包括步骤:
从第一数据服务器接收处理的文档,其中通过使用代码簿来代码转换XML文档产生所处理的文档;
确定所述代码簿是否存储在代码簿高速缓存器中;
如果所述代码簿未存储在所述代码簿高速缓存器中,则从第二数据服务器请求所述代码簿;
从所述第二数据服务器接收所述代码簿;和
使用所述代码簿来代码转换所述处理的文档,以恢复所述XML文档。
48.如权利要求47所述的方法,其特征在于还包括步骤:
在第一数据服务器处,
从信息源中接收所述XML文档;
确定用于代码转换XML文档的代码簿是否存储在所述第一数据服务器上;
如果用于代码转换所述文档的代码簿未存储在所述第一数据服务器上,则产生所述代码簿;
如果所述代码簿存储在所述第一数据服务器处,则检索所述代码簿;
使用所述代码簿来代码转换所述文档,以产生所述处理的文档;和
传送所述处理的文档。
49.如权利要求48所述的方法,其特征在于所述请求代码簿的步骤包括将代码簿请求发送到第二数据服务器的步骤,并且所述方法还包括步骤:
在所述第二数据服务器处,
接收所述代码簿请求;
检索所述代码簿;和
响应所述代码簿请求,返回所述代码簿。
50.如权利要求49所述的方法,其特征在于在所述第二数据服务器检索所述代码簿的步骤包括以下步骤:
确定所述代码簿是否存储在所述第二数据服务器处;和
如果所述代码簿未存储在所述第二数据服务器处,产生所述代码簿。
51.如权利要求49所述的方法,其特征在于还包括步骤:
在第一数据服务器处,将所述代码簿存储到所述第二数据服务器可访问的代码簿存储器中,
在所述第二数据服务器处检索所述代码簿的步骤包括以下步骤:
确定所述代码簿是否存储在所述第二数据服务器处;和
如果所述代码簿未存储在所述第二数据服务器处,从所述代码簿存储器检索所述代码簿。
52.一种处理在无线移动通信设备处的文档,以便通过无线网络传送的方法,包括步骤:
在所述无线移动通信设备处产生文档;
确定所述文档是否与参考的文档定义相关联;
如果所述文档与参考定义相关联,则
确定针对所述参考定义的代码簿是否存储在代码簿高速缓存器中;
如果所述代码簿存储在所述代码簿高速缓存器中,则从所述代码簿高速缓存器检索所述代码簿;和
如果所述代码簿未存储在所述代码簿高速缓存器中,则从以数据服务器请求所述代码簿,并且从所述数据服务器接收所述代码簿;使用所述代码簿来代码转换所述文档,以产生代码转换后的文档;和
通过所述无线网络传送所述代码转换后的文档。
53.如权利要求52所述的方法,其特征在于还包括步骤:
如果所述文档与参考的定义不相关联,则
代码转换所述文档;
当代码转换所述文档时,产生代码簿;和
通过所述无线网络,将代码簿与代码转换后的文档一起传送。
54.如权利要求52所述的方法,其特征在于当代码转换所述文档时产生代码簿的步骤包括步骤:根据嵌入在文档中的文档定义来产生所述代码簿。
55.如权利要求53所述的方法,其特征在于传送所述代码转换后的文档的步骤包括:将所述代码转换后的文档传送到接收机的步骤,并且所述方法还包括步骤:
在所述接收机处,
从无线移动通信设备接收所述代码转换后的文档;
确定与所述代码转换后的文档相关的代码簿是否由所述无线移动通信设备与所述代码转换后的文档一起传送;
如果代码簿与所述代码转换后的文档一起发送,从所述代码转换后的文档提取所述代码簿;
如果代码簿未与所述所述代码转换后的文档一起发送,则在接收机处检索所述代码簿;
使用所述代码簿来代码转换所述代码转换后的文档,以在接收机处恢复所述文档。
56.如权利要求55所述的方法,其特征在于:在所述接收机处检索所述代码簿的步骤包括步骤:
确定所述代码簿是否存储在所述接收机处的存储器中;和
如果所述代码簿存储在所述存储器中,则从所述存储器中检索所述代码簿。
57.如权利要求56所述的方法,其特征在于在所述接收机处检索所述代码簿的步骤还包括步骤:
如果所述代码簿未存储在存储器中,则
从所述无线移动通信设备请求所述代码簿;和
从所述无线移动通信设备接收所述代码簿。
58.如权利要求56所述的方法,其特征在于在所述接收机处检索所述代码簿的步骤包括步骤:如果所述代码簿未存储在所述存储器中,则从所述接收机外部的代码簿存储器中检索所述代码簿。
59.如权利要求56所述的方法,其特征在于在所述接收机处检索所述代码簿的步骤包括步骤:
如果所述代码簿未存储在所述存储器中,
检索与所述文档相关的文档定义;
根据所述文档标识符,产生所述代码簿;和
将所述代码簿存储到所述存储器。
60.如权利要求52所述的方法,其特征在于通过所述无线网络传送所述代码转换后的文档的步骤包括步骤:通过所述无线网络将代码转换后的文档传送到第二无线移动通信设备。
CNB028275071A 2001-11-23 2002-11-21 用于处理可扩展标示语言(xml)文档的系统和方法 Expired - Lifetime CN100390787C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33199801P 2001-11-23 2001-11-23
US60/331,998 2001-11-23

Publications (2)

Publication Number Publication Date
CN1618066A true CN1618066A (zh) 2005-05-18
CN100390787C CN100390787C (zh) 2008-05-28

Family

ID=23296257

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028275071A Expired - Lifetime CN100390787C (zh) 2001-11-23 2002-11-21 用于处理可扩展标示语言(xml)文档的系统和方法

Country Status (13)

Country Link
US (3) US7636565B2 (zh)
EP (2) EP2031525B1 (zh)
JP (2) JP4286143B2 (zh)
KR (2) KR20070064684A (zh)
CN (1) CN100390787C (zh)
AT (1) ATE431593T1 (zh)
AU (1) AU2002342483A1 (zh)
CA (1) CA2467782C (zh)
DE (1) DE60232359D1 (zh)
ES (1) ES2326073T3 (zh)
HK (1) HK1069895A1 (zh)
MX (1) MXPA04004909A (zh)
WO (1) WO2003046757A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383848A (zh) * 2007-09-04 2009-03-11 Lg电信株式会社 用于移动网络服务的系统和方法
CN1859402B (zh) * 2006-02-10 2010-05-12 华为技术有限公司 Xml文档管理系统及其方法与xml文档访问控制方法
CN1859379B (zh) * 2005-12-07 2011-02-09 华为技术有限公司 一种可扩展标记语言文档管理方法及系统
CN103493043A (zh) * 2010-12-06 2014-01-01 甲骨文国际公司 用于有效的xml处理的混合二进制xml存储模型
US8812696B2 (en) 2006-02-10 2014-08-19 Huawei Technologies Co., Ltd. Extensible markup language document management method and system
CN107977236A (zh) * 2017-12-21 2018-05-01 上海智臻智能网络科技股份有限公司 问答系统的生成方法、终端设备、存储介质及问答系统
RU2787138C1 (ru) * 2021-07-21 2022-12-29 АБИ Девелопмент Инк. Оптимизация структуры и использование кодовых книг для анализа документов

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546298B2 (en) * 2001-01-09 2009-06-09 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
US7865528B2 (en) * 2001-01-09 2011-01-04 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
JPWO2003048916A1 (ja) * 2001-12-07 2005-04-14 株式会社エヌ・ティ・ティ・ドコモ 移動通信端末及び表示制御方法
US7650576B2 (en) * 2002-03-07 2010-01-19 Business Objects Americas Method and system for creating graphical and interactive representations of input and output data
US7412495B2 (en) * 2002-04-26 2008-08-12 Sun Microsystems, Inc. Method, system, and article of manufacture for a server side application
US7809679B2 (en) * 2003-03-03 2010-10-05 Fisher-Rosemount Systems, Inc. Distributed data access methods and apparatus for process control systems
US20040209610A1 (en) * 2003-04-17 2004-10-21 Adwankar Sandeep M. Method and apparatus for managing wireless terminals
JP2007506163A (ja) * 2003-09-17 2007-03-15 リサーチ イン モーション リミテッド 拡張可能なプロビジョニングを伴う動的なコンテンツ処理システムおよび方法
EP1676210B1 (en) * 2003-10-07 2009-09-16 Nokia Corporation Method and apparatus for handling text and binary mark up languages in a computing device
CA2543236C (en) 2003-11-26 2012-09-11 Cisco Technology, Inc. Method and apparatus to provide inline encryption and decryption for a wireless station
US6954450B2 (en) * 2003-11-26 2005-10-11 Cisco Technology, Inc. Method and apparatus to provide data streaming over a network connection in a wireless MAC processor
EP1569109A1 (en) * 2004-02-27 2005-08-31 Research In Motion Limited A system and method for mapping between message and data domains using a metadata defined mapping
AU2005222680B2 (en) 2004-03-23 2010-12-09 Nds Limited Optimally adapting multimedia content for mobile subscriber device playback
GB2413462A (en) * 2004-04-23 2005-10-26 Matsushita Electric Ind Co Ltd Duplicate Address Detection Optimisation
GB2413461B (en) * 2004-04-23 2006-05-10 Matsushita Electric Ind Co Ltd Crytographic optimisation for duplicate address detection
WO2005111824A2 (en) * 2004-05-19 2005-11-24 Silverkite Inc. Method and system for processing of text content
US7707498B2 (en) * 2004-09-30 2010-04-27 Microsoft Corporation Specific type content manager in an electronic document
US7559020B2 (en) * 2004-12-30 2009-07-07 Microsoft Corporation Methods and systems for preserving unknown markup in a strongly typed environment
US7730394B2 (en) * 2005-01-06 2010-06-01 Microsoft Corporation Data binding in a word-processing application
US7945590B2 (en) * 2005-01-06 2011-05-17 Microsoft Corporation Programmability for binding data
US7617234B2 (en) * 2005-01-06 2009-11-10 Microsoft Corporation XML schema for binding data
EP1851982A4 (en) * 2005-02-22 2008-03-12 Nextair Corp MOBILE DEVICE WITH EXTENSIBLE SOFTWARE FOR PRESENTING SERVER-SIDED APPLICATIONS, SOFTWARE, AND PROCEDURES
US7668873B2 (en) * 2005-02-25 2010-02-23 Microsoft Corporation Data store for software application documents
US7752224B2 (en) 2005-02-25 2010-07-06 Microsoft Corporation Programmability for XML data store for documents
US7996443B2 (en) * 2005-02-28 2011-08-09 Microsoft Corporation Schema grammar and compilation
US7756839B2 (en) 2005-03-31 2010-07-13 Microsoft Corporation Version tolerant serialization
US7634515B2 (en) * 2005-05-13 2009-12-15 Microsoft Corporation Data model and schema evolution
US7895578B2 (en) * 2005-06-13 2011-02-22 Business Objects Software Ltd. Apparatus and method for using connector components to provide connectivity to interactive graphics representative of input and output data
US7953696B2 (en) * 2005-09-09 2011-05-31 Microsoft Corporation Real-time synchronization of XML data between applications
CN100399335C (zh) * 2005-11-15 2008-07-02 李利鹏 把源文档转换成目标网页文件的方法
KR20070056442A (ko) * 2005-11-29 2007-06-04 삼성전자주식회사 웹 브라우저가 없는 장치를 위한 웹 서비스 제공 시스템 및방법
KR100825736B1 (ko) * 2005-12-07 2008-04-29 한국전자통신연구원 무선 xml 전자 서명 서비스 제공 장치 및 그 방법
US20070255714A1 (en) * 2006-05-01 2007-11-01 Nokia Corporation XML document permission control with delegation and multiple user identifications
KR101346734B1 (ko) * 2006-05-12 2014-01-03 삼성전자주식회사 디지털 저작권 관리를 위한 다중 인증서 철회 목록 지원방법 및 장치
US20070288471A1 (en) * 2006-06-09 2007-12-13 Nextair Corporation Remote storage of a markup language document for access by sets of wireless computing devices
US20080046431A1 (en) * 2006-08-15 2008-02-21 Mcgough John David Document processing method
US8037179B2 (en) * 2006-11-02 2011-10-11 Storz Endoskop Produktions Gmbh Device control system employing extensible markup language for defining information resources
US9953103B2 (en) * 2006-11-16 2018-04-24 Oracle International Corporation Client processing for binary XML in a database system
US7886223B2 (en) * 2006-11-17 2011-02-08 International Business Machines Corporation Generating a statistical tree for encoding/decoding an XML document
US7801926B2 (en) 2006-11-22 2010-09-21 Microsoft Corporation Programmable logic and constraints for a dynamically typed storage system
JP4898405B2 (ja) * 2006-12-01 2012-03-14 キヤノン株式会社 文書データ処理方法、文書データ作成装置、及び文書データ処理装置
US8832822B2 (en) * 2007-01-19 2014-09-09 Kryptiq Corporation Smart identifiers
US20080208805A1 (en) * 2007-02-28 2008-08-28 Business Objects, S.A. Apparatus and method for remote querying of data sources
JP5032154B2 (ja) * 2007-03-02 2012-09-26 株式会社東芝 過渡時燃料健全性評価システムおよび過渡時燃料健全性評価方法
US7917515B1 (en) * 2007-03-26 2011-03-29 Lsi Corporation System and method of accelerating processing of streaming data
US8595616B2 (en) 2007-05-31 2013-11-26 Bank Of America Corporation Data conversion environment
US7933933B2 (en) * 2007-07-30 2011-04-26 Oracle International Corporation Fast path loading of XML data
US20090063530A1 (en) * 2007-09-04 2009-03-05 Lg Telecom Ltd. System and method for mobile web service
FR2927711B1 (fr) * 2008-02-19 2010-10-08 B2Boost Com Dispositif d'echange de documents entre deux parties a travers un reseau
US8145608B2 (en) * 2008-04-28 2012-03-27 Infosys Technologies Limited Method and system for rapidly processing and transporting large XML files
US7925643B2 (en) * 2008-06-08 2011-04-12 International Business Machines Corporation Encoding and decoding of XML document using statistical tree representing XSD defining XML document
WO2009153322A1 (en) * 2008-06-18 2009-12-23 Thomson Licensing Method for preparation of a digital document for the display of said document and the navigation within said document
CN101668000B (zh) * 2008-09-04 2012-11-07 易搜比控股公司 于网络浏览器驱动可扩展标示语言应用程序的方法与系统
CN101902489B (zh) * 2009-06-01 2013-04-17 华为技术有限公司 一种消息发送方法、处理方法、客户端、路由器和系统
US20110093510A1 (en) * 2009-10-20 2011-04-21 Roche Diagnostics Operations, Inc. Methods and systems for serially transmitting records in xml format
US8676966B2 (en) * 2009-12-28 2014-03-18 International Business Machines Corporation Detecting and monitoring server side states during web application scanning
US9524513B2 (en) 2010-03-02 2016-12-20 Obelus Media Inc. System and method of advertising for use on internet and/or digital networking capable devices
US8566817B2 (en) * 2010-03-02 2013-10-22 Obelus Media Inc. System and method of advertising for use on internet and/or digital networking capable devices
US9356991B2 (en) * 2010-05-10 2016-05-31 Litera Technology Llc Systems and methods for a bidirectional multi-function communication module
US20120005610A1 (en) * 2010-06-30 2012-01-05 Dirk Michael Schulze Methods, apparatus, systems and computer readable mediums for use in transfering information to and/or from user devices
US8516362B2 (en) * 2010-09-14 2013-08-20 Usablenet Inc. Methods for extending a document transformation server to process multiple documents from multiple sites and devices thereof
US8856540B1 (en) * 2010-12-29 2014-10-07 Amazon Technologies, Inc. Customized ID generation
US10120847B2 (en) * 2012-01-27 2018-11-06 Usablenet Inc. Methods for transforming requests for web content and devices thereof
WO2014120940A1 (en) * 2013-01-30 2014-08-07 Dejene Kebron Video signature system and method
US10616376B2 (en) * 2016-07-20 2020-04-07 Vivint, Inc. Communications protocol
US11144568B2 (en) * 2019-04-24 2021-10-12 EMC IP Holding Company LLC System and method for management of data in distributed systems
US11893818B2 (en) 2021-07-21 2024-02-06 Abbyy Development Inc. Optimization and use of codebooks for document analysis

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204800A (ja) * 1992-01-30 1993-08-13 Matsushita Electric Ind Co Ltd データ通信装置
JP3325354B2 (ja) * 1993-09-07 2002-09-17 株式会社リコー 感熱製版装置
US5544320A (en) * 1993-01-08 1996-08-06 Konrad; Allan M. Remote information service access system based on a client-server-service model
JPH07244620A (ja) * 1994-03-04 1995-09-19 Hitachi Inf Syst Ltd コンソールメッセージの伝送方法およびそのためのシステム
JPH08190544A (ja) * 1995-01-10 1996-07-23 Mitsubishi Electric Corp 分散処理システム
US5724556A (en) * 1995-04-14 1998-03-03 Oracle Corporation Method and apparatus for defining and configuring modules of data objects and programs in a distributed computer system
US5706434A (en) * 1995-07-06 1998-01-06 Electric Classifieds, Inc. Integrated request-response system and method generating responses to request objects formatted according to various communication protocols
JP3306270B2 (ja) * 1995-10-12 2002-07-24 シャープ株式会社 データ復号装置
US5987181A (en) 1995-10-12 1999-11-16 Sharp Kabushiki Kaisha Coding and decoding apparatus which transmits and receives tool information for constructing decoding scheme
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US5768510A (en) * 1996-07-01 1998-06-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server application enabler system
WO1998041377A1 (en) 1997-03-20 1998-09-24 Toter Incorporated Continuous mold temperature monitoring system and method for rotational mold
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
US6081629A (en) * 1997-09-17 2000-06-27 Browning; Denton R. Handheld scanner and accompanying remote access agent
JP3337633B2 (ja) * 1997-12-03 2002-10-21 富士通株式会社 データ圧縮方法及びデータ復元方法並びにデータ圧縮プログラム又はデータ復元プログラムを記録したコンピュータ読み取り可能な記録媒体
EP0928070A3 (en) * 1997-12-29 2000-11-08 Phone.Com Inc. Compression of documents with markup language that preserves syntactical structure
JPH11272655A (ja) * 1998-03-20 1999-10-08 Nippon Telegr & Teleph Corp <Ntt> 日本語多重表記文書変換方法及び装置及び日本語多重表記文書変換プログラムを格納した記憶媒体
US20020087655A1 (en) * 1999-01-27 2002-07-04 Thomas E. Bridgman Information system for mobile users
US6647260B2 (en) * 1999-04-09 2003-11-11 Openwave Systems Inc. Method and system facilitating web based provisioning of two-way mobile communications devices
US6523062B1 (en) * 1999-06-29 2003-02-18 International Business Machines Corporation Facilitating memory constrained client devices by employing deck reduction techniques
JP2001084183A (ja) * 1999-09-17 2001-03-30 Nec Corp データ変換システム
US7020685B1 (en) * 1999-10-08 2006-03-28 Openwave Systems Inc. Method and apparatus for providing internet content to SMS-based wireless devices
US6715129B1 (en) * 1999-10-13 2004-03-30 International Business Machines Corporation Achieving application-specific document content by transcoding using Java Server Pages
GB9925613D0 (en) * 1999-10-29 1999-12-29 Motorola Ltd Mobile station radio telecommunication system and method for operation radio telecommunication system
JP3368883B2 (ja) * 2000-02-04 2003-01-20 インターナショナル・ビジネス・マシーンズ・コーポレーション データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
JP3642004B2 (ja) * 2000-05-22 2005-04-27 日本電気株式会社 中継装置、移動体無線通信システム、その障害通知方法、及びその障害通知プログラムを記録した記録媒体
US7069440B2 (en) * 2000-06-09 2006-06-27 Northrop Grumman Corporation Technique for obtaining a single sign-on certificate from a foreign PKI system using an existing strong authentication PKI system
US20020120780A1 (en) * 2000-07-11 2002-08-29 Sony Corporation Two-staged mapping for application specific markup and binary encoding
US7092370B2 (en) * 2000-08-17 2006-08-15 Roamware, Inc. Method and system for wireless voice channel/data channel integration
TW512640B (en) * 2000-08-25 2002-12-01 Phone Inc W Mobile opinion polling system and method
US6985719B2 (en) * 2000-12-21 2006-01-10 Nokia, Inc. Secure wireless backup mechanism
US20020087596A1 (en) * 2000-12-29 2002-07-04 Steve Lewontin Compact tree representation of markup languages
US6988100B2 (en) * 2001-02-01 2006-01-17 International Business Machines Corporation Method and system for extending the performance of a web crawler
US7020721B1 (en) * 2001-04-02 2006-03-28 Palmsource, Inc. Extensible transcoder annotation for transcoding proxy servers
US6934912B2 (en) * 2001-06-04 2005-08-23 Hewlett-Packard Development Company, L.P. System and method for providing a history list of existing imaging compositions
US20020198964A1 (en) * 2001-06-26 2002-12-26 International Business Machines Corporation Method and system for wireless remote monitoring and control of a manufacturing execution system
KR20010088529A (ko) * 2001-08-02 2001-09-28 정회경 전자문서 편집/변환처리장치와 그 방법
US6944665B2 (en) * 2001-09-24 2005-09-13 International Business Machines Corporation Method and system for delivering accessibility using a distributed environment
US6880014B2 (en) * 2001-09-24 2005-04-12 International Business Machines Corporation Method and system of use of transcode directives for distributed control of transcoding servers
US6711740B1 (en) * 2002-01-17 2004-03-23 Cisco Technology, Inc. Generic code book compression for XML based application programming interfaces
US20040150676A1 (en) * 2002-03-25 2004-08-05 Gottfurcht Elliot A. Apparatus and method for simple wide-area network navigation
US6978316B2 (en) * 2002-03-27 2005-12-20 International Business Machines Corporation Messaging system and method with transcoder filtering of baseline message representations
US6895719B1 (en) * 2002-08-22 2005-05-24 Mark S. Herbert Floor-mounted disposable system with moveable dust loosening rib insert
US7570943B2 (en) * 2002-08-29 2009-08-04 Nokia Corporation System and method for providing context sensitive recommendations to digital services
KR100463835B1 (ko) * 2002-10-17 2004-12-29 한국전자통신연구원 무선 단말기에서의 웹 컨텐츠 변환을 위한 인덱스 추출시스템 및 그 방법
US20040203939A1 (en) * 2002-11-07 2004-10-14 Wei Li Character transcoding method for mobile phones

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859379B (zh) * 2005-12-07 2011-02-09 华为技术有限公司 一种可扩展标记语言文档管理方法及系统
US7945536B2 (en) 2005-12-07 2011-05-17 Huawei Technologies Co., Ltd. Method and system for recovering a previous version of a document from a current version of the document
CN1859402B (zh) * 2006-02-10 2010-05-12 华为技术有限公司 Xml文档管理系统及其方法与xml文档访问控制方法
US8812696B2 (en) 2006-02-10 2014-08-19 Huawei Technologies Co., Ltd. Extensible markup language document management method and system
US9208336B2 (en) 2006-02-10 2015-12-08 Huawei Technologies Co., Ltd. Extensible markup language document management method and system
CN101383848A (zh) * 2007-09-04 2009-03-11 Lg电信株式会社 用于移动网络服务的系统和方法
CN103493043A (zh) * 2010-12-06 2014-01-01 甲骨文国际公司 用于有效的xml处理的混合二进制xml存储模型
CN103493043B (zh) * 2010-12-06 2017-02-08 甲骨文国际公司 用于有效的xml处理的混合二进制xml存储模型
CN107977236A (zh) * 2017-12-21 2018-05-01 上海智臻智能网络科技股份有限公司 问答系统的生成方法、终端设备、存储介质及问答系统
CN107977236B (zh) * 2017-12-21 2020-11-13 上海智臻智能网络科技股份有限公司 问答系统的生成方法、终端设备、存储介质及问答系统
RU2787138C1 (ru) * 2021-07-21 2022-12-29 АБИ Девелопмент Инк. Оптимизация структуры и использование кодовых книг для анализа документов

Also Published As

Publication number Publication date
AU2002342483A1 (en) 2003-06-10
US8010097B2 (en) 2011-08-30
HK1069895A1 (en) 2005-08-26
EP1451719A2 (en) 2004-09-01
US20100057888A1 (en) 2010-03-04
EP1451719B1 (en) 2009-05-13
US20050014494A1 (en) 2005-01-20
US20100050072A1 (en) 2010-02-25
KR20040066134A (ko) 2004-07-23
KR101026210B1 (ko) 2011-03-31
KR20070064684A (ko) 2007-06-21
US7636565B2 (en) 2009-12-22
CA2467782A1 (en) 2003-06-05
WO2003046757A2 (en) 2003-06-05
MXPA04004909A (es) 2004-09-03
EP2031525B1 (en) 2015-01-28
EP2031525A1 (en) 2009-03-04
JP4286143B2 (ja) 2009-06-24
US7904073B2 (en) 2011-03-08
JP2008269631A (ja) 2008-11-06
JP2005510804A (ja) 2005-04-21
ES2326073T3 (es) 2009-09-30
CA2467782C (en) 2011-05-10
CN100390787C (zh) 2008-05-28
ATE431593T1 (de) 2009-05-15
WO2003046757A3 (en) 2004-03-25
DE60232359D1 (de) 2009-06-25

Similar Documents

Publication Publication Date Title
CN1618066A (zh) 用于处理可扩展标示语言(xml)文档的系统和方法
CN1324898C (zh) 用于为移动通信设备提供远程数据访问的系统和方法
CN1260937C (zh) 减少应用程序之间数据传输的方法
CN1197027C (zh) 计算机网络的分布式宿主构架,网页供应和内容传送方法
US20060168355A1 (en) System and method for provisioning component applications
US20060282516A1 (en) System and method for discovering component applications
CA2365368A1 (en) Information collection server, information collection method, and recording medium
KR19990083633A (ko) 데이터네트워크에서양방향대화식통신장치를위한중앙서비스관리시스템
EP1684169A1 (en) System and Method for Provisioning Component Applications
CA2533543C (en) System and method for managing communication for component applications
US20090055387A1 (en) Apparatus and method for targeted distribution of search index fragments over a wireless communication network
EP1872525B1 (en) System and method for discovering wireless mobile applications
CN1947116A (zh) 处理网络服务描述的装置和方法
CN101478575B (zh) 基于互联网内容修改协议的wap网关开发系统及方法
CN1227586C (zh) 根据授权使用数据处理设备的方法和数据处理设备
WO2019074546A1 (en) TRANSFERRING INFORMATION IN A HOST NAME IN A CONTENT DISTRIBUTION NETWORK (CDN)
JP2005339149A (ja) データ処理装置、データ処理方法およびデータ処理プログラム
KR100785626B1 (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
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20080528

CX01 Expiry of patent term