CN1751492A - 在网络通信中压缩报文的系统和方法 - Google Patents
在网络通信中压缩报文的系统和方法 Download PDFInfo
- Publication number
- CN1751492A CN1751492A CN200480004265.3A CN200480004265A CN1751492A CN 1751492 A CN1751492 A CN 1751492A CN 200480004265 A CN200480004265 A CN 200480004265A CN 1751492 A CN1751492 A CN 1751492A
- Authority
- CN
- China
- Prior art keywords
- message
- service
- equipment
- compressed
- data value
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000004891 communication Methods 0.000 title claims abstract description 37
- 230000006854 communication Effects 0.000 title claims abstract description 37
- 238000007906 compression Methods 0.000 claims description 32
- 230000006835 compression Effects 0.000 claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000008878 coupling Effects 0.000 claims description 8
- 238000010168 coupling process Methods 0.000 claims description 8
- 238000005859 coupling reaction Methods 0.000 claims description 8
- 230000014509 gene expression Effects 0.000 claims description 7
- 230000008034 disappearance Effects 0.000 claims description 6
- 239000000344 soap Substances 0.000 claims description 4
- 238000013459 approach Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 13
- 230000004044 response Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000006837 decompression Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000007935 neutral effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种压缩经由网络在基于方案的服务和设备之间的报文的方法,所述设备和服务具有基于结构化定义语言在所述设备和所述服务之间共享的元素描述符的预定知识。所述方法包括以下步骤:在所述服务和设备之间建立通信;通过消除与元素数据值有关的元素描述符来制定包括元素数据值的压缩报文;基于所述元素描述符和所述元素数据值的预定顺序保持所述元素数据值的次序;把元素数据值设置在用于把相邻的元素数据值区分开的各自的分隔符中,所述分隔符指示所述元素数据值的给定顺序的开始和结束;以及在使用所共享的元素描述符预定知识的接收下、经所述网络发送用于随后解释的压缩报文。
Description
技术领域
本申请通常涉及网络通信和通信装置,特别涉及压缩往返于这种装置的报文。
背景技术
作为配置为操作继续发展的通信设备和通信网络,设备用户期望从他们的设备获得大量的功能。现代的移动设备往往能够起如web浏览、信息下载等的这种作用,这已经典型地在大的和更强大的个人电脑(PC)上支持。然而,PC通常具有比无线设备大的和快的处理器,以及访问通信资源和电能供给,其比在所述无线设备上受到更少的限制。而且,随在PC上的计算能力增加,应用变得更大,由此否定了PC的一些资源优点。
在无线设备上支持这类功能和应用,不仅仅是到所述无线设备的软件应用或操作系统的移植问题。这些功能所基于的下面的协议、传输机制和数据格式,往往不为无线通信而优化。例如,可扩展标注语言(XML)很快成为用于在不同计算机系统之间交换数据的大多数公共方案的其中一个,特点在于相对大的文档大小,以及由此不适合于经无线或其它窄带通信系统传送。大量数据的传输在有线和无线设备中都耗费有限的设备资源,包括通信资源和动力资源二者。因此,还存在对往返于网络设备的信息的更有效传输的需要。
在这里公开的系统和方法提供了在网络通信中压缩报文,以避免或减轻上面介绍的至少一些缺点。
发明内容
一种经网络在基于方案的服务和设备之间压缩报文(messaging)的方法,所述设备和服务具有基于结构化定义语言在所述设备和所述服务之间共享的元素描述符的预定知识。所述方法包括以下步骤:在所述服务和所述设备之间建立通信;通过消除与所述元素数据值有关的元素描述符来制定包括元素数据值的压缩报文;基于所述元素描述符和所述元素数据值的预定顺序保持所述元素数据值的次序;把元素数据值设置在用于把相邻的元素数据值区分开的各自的分隔符中,所述分隔符指示所述元素数据值的给定顺序的开始和结束;以及在使用所共享的元素描述符预定知识的接收下、经所述网络发送用于随后解释的压缩报文。
在这里的说明提供了一种经网络在基于方案的服务和设备之间压缩报文的方法,所述设备和服务具有基于结构化定义语言在所述设备和所述服务之间共享的元素描述符的预定知识。所述方法包括以下步骤:经所述网络接收包括具有与所述元素数据值有关的缺失元素描述符的元素数据值的压缩报文,相邻的元素数据值由各自的分隔符区分开,所述分隔符指示所述元素数据值的给定顺序的开始和结束;通过关联所包含的具有各自元素描述符的元素数据值、使用共享的元素描述符的预定知识来重构所述压缩报文,所述元素数据值的次序基于所述元素描述符和所述元素数据值的预定顺序;以及解释所重构的压缩报文以用于在运行环境中的随后的使用。
还提供了一种经网络在基于方案的服务和设备之间压缩报文的方法,所述设备和服务具有基于结构化定义语言在所述设备和所述服务之间共享的元素描述符的预定知识。所述方法包括以下步骤:用于在所述服务和所述设备之间建立通信的装置;用于制定包括元素数据值和缺失元素描述符的压缩报文的装置;用于基于所述元素描述符和所述元素数据值的预定顺序保持所述元素数据值的次序的装置;用于把所述元素数据值设置在用于把相邻元素数据值区分开的各自的分隔符中的装置;以及用于经所述网络发送用于接收时的随后解释的压缩报文的装置。
还提供了一种经网络在基于方案的服务和设备之间压缩报文的方法,所述设备和服务具有基于结构化定义语言在所述设备和所述服务之间共享的元素描述符的预定知识。所述方法包括以下步骤:用于经所述网络接收包括具有缺失元素描述符的元素数据值的压缩报文,相邻的元素数据值按各自的分隔符来区分;用于使用为重构所述压缩报文的共享的元素描述符的预定知识的装置,所述元素数据值的次序基于所述元素描述符和所述元素数据值的预定顺序;以及用于为在运行环境中的随后使用而解释所述重构的压缩报文的装置。
还公开了一种计算机程序产品,用于配置经网络在基于方案的服务和设备之间压缩报文的终端设备,所述设备和所述服务具有基于结构化定义语言的共用于所述设备和所述服务的元素描述符的预定知识。所述计算机程序产品包括:计算机可读媒质;存储在计算机可读媒质上的压缩报文模块,用于通过消除与所述元素数据值有关的元素描述符来制定包括元素数据值的压缩报文;以及所述模块用于配置所述设备,以基于按照结构化定义语言的所述元素描述符和所述元素数据值的预定顺序来保持所述元素数据值的次序,配置所述元素数据值,以设置在用于把相邻元素数据值区分开的各自的分隔符中,所述分隔符指示所述元素数据值的给定顺序的开始和结束。
附图的简要说明
在这里公开的示范性系统和方法的这些和其它特征将在下面参照附图的详细说明中变得更明显,其中:
图1是网络系统的方框图;
图2是图1系统的设备方框图;
图3是图1系统的第一压缩报文系统拓扑结构的方框图;;
图3b是图3a的系统拓扑结构的另一个例子;
图4是图1系统的第二压缩报文系统拓扑结构的方框图;
图5是图3a的设备消息转换器的方框图;
图6是图3a的压缩编序服务模块的方框图;以及
图7示出了压缩报文协议的流程图。
具体实施方式
网络系统
参照图1,网络系统10包括许多普通的终端装置11,用于通过请求/响应消息105经由耦合的广域网(WAN)16与由数据服务器18和关联的信息源20提供的一个或多个普通信息服务13交互,例如但不限于因特网。数据服务器18有效地提供设备11访问信息服务13的信息源20。普通的终端装置11例如可以是、但不限于个人电脑22、无线设备12、PDA、无人售货亭等等。普通的信息服务13可以是Web服务和/或其它服务,例如而不是限于SQL数据库、基于IDL的CORBA和RMVIIOP系统,以及COM/DCOM组件。而且,系统10可以具有网络网关24,用于经由局域网(LAN)26把台式计算机终端22连接到信息服务13。而且,系统10还可以具有无线网络14,用于把无线设备12连接到WAN16。
例如,无线设备12是适合于在无线通信网络14内部操作的无线通信设备,例如至少具有数据和可能的话音通信能力的双向通信设备。无线网络网关15提供在无线网络14和WAN 16之间的连接,以及执行作为无线设备寻址、以及储存和转发往返于无线设备12的数据的这种功能。取决于由无线设备12提供的功能,其可以操作为例如而不限于数据消息设备、双向传呼机、具有数据报文能力的移动电话、无线因特网用具、数据通信设备(有或者没有电话能力),和/或配置为连同计算机系统或其它电子设备一起操作的无线调制解调器,然而在这里和无线设备12有关。考虑到其它设备和计算机(未示出)可以经由WAN16和不同于如图1所示的相关网络连接到数据服务器18。为了简化起见,普通的终端装置11、无线设备12和个人电脑22以下将一起称为“设备11”。为了简化起见,Web服务例如选择为代表系统10的以下描述中的信息消息。然而,如果期望,考虑到其它普通的信息服务可以被web服务代替。而且,为了简化起见,系统10的网络14、16、26以下将一起称作“网络16”。
再次参照图1,当与web服务13的数据服务器18通信时,设备11分别发送与接收请求/响应消息105。设备11可以通过使用以消息报头信息和关联数据内容的形式的请求/响应消息105而作为web服务13的web客户机操作,例如从联机的商人请求和接收产品价格和可获得性。web服务13是系统的一个例子,为了给设备11的用户提供实用性,在设备11上的客户应用程序302(参见图2)用其可经由网络16交互。
为了满足web服务13的合适的请求/响应消息105,为了把适当的商业逻辑(方法)陈列给设备11的客户应用程序302(参见图2),数据服务器18可以经由不同的协议(例如而不是限于HTTP和组件API)与信息源20通信。经由数据服务器18,设备11可以访问与数据服务器18通信的任何信息源20。数据服务器18还可以包含web服务13接口软件,例如而不是限于WSDL和BPEL。信息源20例如可以是在数据服务器18的本地数据存储器,或者是与web服务器(未示出)有关远程存储器。
而且,数据服务器18和信息源20可以包括分配的web服务13,以及经由包括不是如图1所示的直接连接的因特网的网络通信。信息源20可被看作是其数据对设备11可利用的信源。所述数据可以是或者由设备11请求、或者在不是首先被请求时由信息源20发送给设备11。将理解的是,可期望,信息源20可以结合数据服务器18或者为web服务13简化数据交换的其它装置。
设备11的应用程序302(参见图2)可以使用信息源20的商业(bussiness)逻辑,类似于在对象上的呼叫方法(或者功能)。考虑到客户应用程序302对信息源20来说,可以经由网络16通过消息105直接地下载/上载到设备11。而且考虑到设备11可以经由网络16与一个或多个web服务13通信。还考虑到,如果期望的话,设备11可以直接耦合到信息源20,由此绕过数据服务器18。在选择的实施中,数据服务器18的功能可以并入网关15、24或信息源20,如以下说明的。
服务器环境
通常,web服务13已经成为衔接基础结构和应用的传统的基于浏览器和客户服务器的TCP/IP的代替物。原先开始作为普通机器到机器(M2M)的通信协议,web服务13变成了对于任何服务到服务(S2S)或服务到用户(S2C)通信的标准。基于一组标准协议(例如WSDL、SOAP、UDDI),web服务13可以提供例如基于XML的平台中性通信管道(platform neutral communication pipe),其可以支持同步和/或异步通信消息105。图1的系统10最好涉及S2C模型,以及服务从一些普通的终端设备11操作的web服务13的用户。
参照图1,web服务13提供由设备11的客户应用程序302(参见图2)使用的信息报文105。可选地或另外,web服务13可以接收和使用由设备11提供的信息报文105,或者执行以设备11上运行的客户应用程序302代表的任务。web服务13可以看作是数据服务器18的软件服务,其可以在一些实施中实现接口程序,以及可以通过消息105与经网络104通过例如简单对象存取协议(SOAP)的适当的通信协议暴露的客户设备11进行通信,这些实施可以是使用在通用发现说明和集成(UDDI)中注册的Web服务描述语言(WSDL)所表示的。SOAP是定义了对消息105的XML格式的规范,包括在SOAP元素中封装的形成良好的XML片段。SOAP的其它部分规定了如何表示如XML的程序数据,以及如何使用SOAP去执行远程过程调用(RPC)。所述SOAP的任意部分用来实现RPC类型的应用,其中SOAP请求消息105包含随时调用功能,以及传送到所述功能的参数是从客户设备11发送的,以及web服务13返回具有运行功能的结果的响应消息105。SOAP还支持文档类型的应用,其中SOAP消息105是XML文档的包装。SOAP的另一任意部分定义了HTTP绑定(也就是报头),然而一些SOAP实施支持MSMQ、MQ系列、SMTP或TCP/IP传输协议。可选地,web服务13可以使用其它已知的通信协议,消息105格式,以及所述接口程序可以对与设备11的通信用上述之外的其它web服务语言表示。
通信设备
再次参照图1和2,设备11例如是而不限于移动电话、PDA、双向传呼机或双模式通信设备。设备11包括网络连接接口200,例如无线收发机、有线网络接口卡或调制解调器,经由线路218耦合到设备基础结构204。连接接口200是在设备11到网络16的操作期间可连接的,例如由RF链路到无线网络14,其使设备11能够经由网络16彼此和与外部系统(例如web服务13)通信、以及能够协调在客户应用程序302和web服务13之间的请求/响应消息105。网络16支持在设备11和外部系统之间的请求/响应消息中的数据传输,外部系统连接到网络16。网络16还可以支持在设备11和在网络16外的设备之间的电话呼叫的话音通信。在无线设备12内的网络连接接口200的特殊设计将取决于无线设备12打算在其中操作的无线通信网络14。例如,去往北美市场的无线设备12可以包括设计为在MobitexTM移动通信系统或DataTACTM移动通信系统内操作的网络连接接口200,然而为在欧洲使用而设计的无线设备12可以结合通用分组无线服务(GPRS)网络连接接口200。还期待其它类型的无线设备和数据传输协议,例如不限于CDMA。
再次参照图2,设备11还具有通过线路222耦合到设备基础结构204的用户接口202,与用户(未示出)交互。用户接口202包括一个或多个用户输入设备,例如但不限于QWERTY键盘、小键盘、方向杆、指示笔、鼠标、话筒和例如LCD屏幕显示器和/或扬声器的用户输出设备。如果屏幕是触敏的,那么显示器还可以被用作由设备基础结构204控制的用户输入设备。用户接口202是由设备11的用户使用的,以协调经系统10(参见图1)的请求/响应消息105,如同由客户机运行环境206的客户应用程序302使用的,以下还将描述。
再次参照图2,设备11的操作是由设备基础结构204启动的。设备基础结构204包括计算机处理器208和相关的存储器模块210。计算机处理器208通过运行相关的指令来处理网络接口200、用户接口202和设备11的客户机运行环境206的操作,指令是由位于存储器模块210中的操作系统和客户应用程序302提供。而且,考虑到设备基础结构204可以包括耦合到处理器208的计算机可读存储媒质212,用于给处理器208提供指令、和/或装载/更新存储器模块210中的客户应用程序302。计算机可读媒质212可以包括硬件和/或软件,例如仅举例来说是磁盘、磁带、诸如CD/DVDROM的光学可读媒质、以及存储卡。在所有情况下,计算机可读媒质212可以采取以下形式,小磁盘、软盘、盒式磁带、硬盘驱动器、固态存储卡、或在存储器模块210中提供的RAM。应当注意到上述列出例子的计算机可读媒质212可以单独或者组合地使用。还考虑到,给处理器208和/或去装载/更新在存储器模块210中的指令可以由web服务13(或第三方信源)经网络16(参见图1)提供,以配置设备11与web服务13交互作用。
参照图2,设备11通过客户机运行环境206运行应用程序302,其把应用程序302转换为本机代码,本机代码是由设备基础结构204中的处理器208运行的。可选地,应用程序302可以作为本机代码被运行、或者由设备11上的另一个软件模块或操作系统解释。总之,组件组件应用程序302是在由设备11提供的终端运行环境中工作的。
再次参照图1,由设备11提供的客户机运行环境可以配置为使设备11作为web服务13的web客户机操作。设备11的客户机运行环境最好是能够产生、管理(hosting)和运行设备11上的客户应用程序302。而且,客户机运行环境的特定功能可以例如但不限于包括支持语言、协调存储器分配、连网、在I/O操作期间管道理数据、协调设备11的输出设备上的图形,提供对面向类别的核心对象的存取以及支持文件/库。由设备11实现的运行环境的例子例如但不限于包括微软的公共语言运行时间(CLR)、Sun微系统的Java运行环境(JRE),其简化在web服务13和设备11之间的网络消息105的产生、发送和接收。
压缩消息结构
参照图3a,图1的系统10的简单表示,压缩报文的一个基本概念是文档或“消息”105简化为基本表示,以减轻传送中的开销。在压缩之前用于这些消息105的初始编码语法可以完全是任意的,只要所述语法符合结构化定义语言。因而,压缩报文系统40具有广泛的应用,由于其提供了对于适用Web服务13、SyncML或者任何其它对无线或其它类型强制通信链路为预定协议的所谓的“闲聊(chatty)”的解决办法。压缩消息105可以经任何采用有压缩消息管道30(经网络16实现——参见图1)的无线或有线的物理路径进行交换。所述管道30的每个终点28与34、数据服务器18和设备11根据消息105是基于哪一个而分别定义了为结构化定义语言所固有的元数据定义的共享知识的边界。
所述结构化定义语言可用于构造作为连续系列的元数据记录的消息105,其包含表示资源特殊属性的许多预定元素,以使每个元素具有一个或多个值。每个元数据图表典型地但不限于定义了以下特性:有限数量的元素、每个元素的名称、以及每个元素的含义。举例的元数据图表例如但不限于包括都柏林核心(DC)、英美编目规则(AACR2)、政府信息定位器服务(GILS)、编码的存档说明(EAD)、IMS全球知识集团(IMS)、以及澳大利亚政府定位器服务(AGLS)。编码语法允许消息105的元数据是由设备消息转换器44和压缩顺序化服务48处理,编码方案例如但不限于包括XML、HTML、XHTML、XSML、RDF、机器可读目录(MARC)、WSDL、SOAP、以及多用途网际邮件扩充协议(MIME)。
再次参照图3a,中间方服务终点28终止面向信息源20的压缩消息管道30。所述终点28辨别所述压缩消息105要被发送到和从设备11接收的边界。压缩报文管道30是双向的路径,通过其压缩消息105流。压缩报文管道30存在于在数据服务器18(担当中间方服务器)和设备11上的报文终点28与34之间。所述终点28和34负责消息105的减少和恢复,如以下说明的。压缩报文管道30不是必定用于无线或其它的特定物理拓扑结构,尽管其优点特别相应于无线和其它受限的通信媒质。所述设备终点34终止和发起由设备11使用的压缩消息105、安装在设备11上的多个普通软件应用程序302(参见图2)。所述终点34与所述中间方服务终点28共享压缩消息105格式的知识(基于共享结构化定义结构化定义语言)。基于所述共享知识的压缩编码方案的可预测性能够在初始未压缩和压缩消息105格式之间进行包含在消息105中的数据的转换或“编组(marshalling)”与“去编组(unmarshalling)”。
再次参照图3a,压缩报文系统40的设备消息转换器44与压缩编序服务48在压缩消息管道30的相对终点34、28操作。设备消息转换器44与压缩编序服务48具有在它们之间共享的结构化定义语言中的描述符的次序与语法的预定知识。考虑到所述预定知识可以在消息105开始之前传送,和/或可以是消息105的初始组件报头,一旦接收就由此给接收方告知所述压缩消息105的期望的内容格式。如上所述,设备消息转换器44与压缩编序服务48具有初始消息105格式的知识,所述转换器44与服务48通过消除或还原消息中的开销信息来压缩开销信息,同时保持所包含的按照共享结构化定义结构化定义语言的消息数据。因此,匹配了终点28、34映射与去映射操作,以及所述初始消息格式是预定的和可预测的。
参照图3a,所述设备消息转换器44存在于设备11上,以使压缩消息105与设备11结合。所述设备转换器44可以实现为设备11的运行环境206(参见图2)中的软件、和/或可以是设备基础结构204的操作系统的一部分。考虑到设备转换器44还可以实现为硬件、或是硬件和软件的综合。设备消息转换器44或者传送压缩消息105到其它系统或设备11上的软件应用程序302,或者首先把所述压缩消息105转换回与所述信息源20(参见图1)消息有关的消息格式、然后传送所转换的消息105到另一个系统或应用程序302。
参照图5,如以下描述的,所述设备消息转换器44的转换功能可以取决于初始格式(也就是从信息源20来的)、或者目的系统、或者设备11的应用程序。所述消息转换器44在两个模式的任何一个中操作。在第一模式中,所述压缩消息105由编序/解序模块62解压缩为初始消息格式,以及然后由消息转换器44使用所解压缩的消息105传送到特定的软件应用程序302。所述编序/解序模块62管理由设备11接收的或者从设备11发送的压缩/解压缩的消息105。在第二模式中,压缩消息105由设备11的软件应用程序302直接使用,由此绕过模块62的解压缩处理。还考虑到设备11上的一些系统或软件应用程序302可以配置为处理压缩消息105格式,而其它的可以配置为用于由信息源20(参见图1)提供的原始未压缩的消息105格式。
再次参照图5,设备消息转换器44包括耦合到应用程序处理器64的编序/解序模块62,该应用程序处理器64作为用于与消息105交互的软件应用程序302的翻译器。消息转换器44还具有应用程序映射层66,其是由应用程序处理器64使用,在需要时翻译消息105。应用程序映射层66持有由应用程序处理器64使用的映射信息,以用于消息105与其它定义的消息格式的转换(也就是在信息源20格式和设备11上的软件应用程序302格式之间)。所接收的压缩消息105是以原始信息源格式(即按接收的)与其它设备11组件或软件应用程序302交换的、或者可以被传送到应用程序处理器64以用于转换,其中设备11上的接收应用程序302规定了其自己的消息格式。类似地,以其它格式输出的消息105是传送到应用程序处理器64以用于转换为信息源格式,然后发送给模块62例如用于压缩,由此产生用于经消息管道30(参见图3a)传送的已转换/已压缩的消息105。考虑到应用程序处理器64可以对消息105的压缩或解压缩的型式进行操作,以用于格式转换目的。
再次参照图3a,中间方服务器18是压缩报文系统40的操作中的组件。中间方服务器18提供有暴露于信息源20或者其它服务供应商的管道终点28,以用于传送压缩消息105到设备11。中间方服务器18具有压缩编序服务48,其保持有一组应用程序映射表(maps)69(参见图6),以允许初始消息格式被压缩和传送到设备11作为消息105,最好是用于多种结构化定义语言的多个消息格式,例如但不限于XML或简单对象存取协议(SOAP)。
参照图6,中间方服务18(参见图3a)的压缩编序服务模块48把从信息源20接收的用信息源格式表示的消息105变换为压缩消息,反之亦然。编序/解序模块68执行消息105的压缩/解压缩,应用程序映射表69持有用于压缩消息105和与一个或多个信息源20有关的所定义的消息格式之间的转换,所述信息源可以包括许多不同的结构化定义语言。所述应用程序映射表69提供了允许对任意数量消息格式的编码/解码的可插的支持。
参照图1和3a,压缩报文系统40的应用程序的一个例子扩展了在web服务13的信息源20和无线设备12之间的XML消息105的传送。以这个方案,中间方服务器18上的应用程序映射表26(参见图6)包括应用程序映射表26,其接受由信息源20使用的消息格式。消息服务和无线设备终点28与34一前一后地操作,以从XML消息分离与恢复开销信息。在这个举例的应用程序中,中间方服务器18作为XML服务器,无线设备12作为XML客户机,以使所述消息管道30基于所述XML语法的XML元数据的包括顺序与含义的描述符(也就是共享结构化定义语言)的共享知识传递压缩消息105,。
参照图3b,示出了压缩报文系统40的另一个例子,其中有XML客户机设备101与SOAP客户机设备102,其中两者都与web服务13进行通信。压缩报文管道401对XML结构化定义语言格式的共享知识进行操作,而压缩报文管道402对SOAP结构化定义语言格式的共享知识进行操作。信息源20具有用于直接与SOAP客户机设备102通信的WSDL接口,以及通过中间方服务器18与XML客户机设备101间接地通信。因此,中间方服务器18使用应用程序映射表69(见图6),用于把SOAP消息105的消息格式(在服务器18与信源20之间)转换为XML。所述结构化定义语言格式的转换允许所述SOAP基于信息源20与XML客户机设备102传递压缩的消息105,其中所压缩的消息105是基于由各自的压缩消息管道401、402使用的共享结构化定义处理的。
压缩消息协议
所述共享结构化定义语言的压缩消息定义用来编组与不编组顺利地来自文档(消息105)的压缩消息105。压缩消息定义可以具有以下属性:
1.由唯一的名称标识;
2.定义出现在消息105中的命令字段的列表;
2.1.字段可以是嵌套的消息定义;
2.2.字段可以具有多样性;
2.2.1相同字段可以在多个时间出现;
2.2.2所述字段的出现是连续的;以及
2.3.保持字段的次序。
所述消息到其压缩形式的一个可能映射减轻了对以下分隔符的使用,例如但不限于:“<”表示顺序的开始;“>”表示顺序的结束;以及符号“,”连同符号“:”分隔多个值以区分数组。
参照图7,给定所述消息105的已知消息定义,例如XML,最好是使用以下压缩消息协议700来压缩:
1.利用消息定义名称标记XML消息105的顶节点,示为702,以使得标识XML文档顺序的开始(注意上面的点1);
2.以预定顺序保持字段的次序,在704保留所包含字段数据的同时分离由XML定义描述的开销元数据语法(注意上面的2.3),识别在转换器44和服务48(见图3a)之间共享操作细节的同时可以处理所述字段次序顺序;
3.在706在消息内包含的每一个字段值例如设置在“<>”分隔符中;
4.为了保持字段次序的预定顺序,在708不具有值的字段置为空的分隔符“<>”,注意上面的1和2,或者是另外考虑的;
5.在710表示嵌入的消息定义的字段具有限定在一对匹配的“<>”内的所有子字段(注意上面的2.1);以及
6.在712具有多样性的字段被编码,以使其所有的多个值在分隔符“<>”内表示,以及每个值还由“,”限定(注意上面的2.2.1与2.2.2)。通过包括例如不同于<>的“:”字符,空的顺序可以不同于一个零元素。
考虑到所述协议700假定压缩从信息源20到设备11的消息105。然而,显然所述设备消息转换器44与压缩编序服务48(参见图5与6)最好还可以执行消息105的解压缩,同时处理设备11发起的并且或者去往信息源20、或者去往支持初始消息格式的另一个接受方(例如网络10的另一个设备11——参见图1)的消息105。
压缩消息例子
以下例子用来示出预定的结构化定义语言格式的XML消息如何可以表示为压缩消息105,如由模块62、68(参见图5与6)处理的。
例子1
消息定义描述了称为MyMsg的消息。MyMsg减轻了称为D1和D2的两个附加的消息定义。消息定义的整个设置定义为以下描述的结构化定义语言,包括元数据标记F1、F2、F3、F4、F5、F6、D1、D2、G1、G2、G3、H1、H2:
MyMsg:
F1字段
F2字段
F3字段
F4允许许多值的字段
F5嵌套的消息定义D1
F6嵌套的消息定义D2,允许多样性
D1:
G1字段
G2字段
G3允许多样性
D2:
H1字段
H2字段
鉴于MyMsg的上述定义,到中间方服务终点28(用于把来自信息源20的消息转变到设备11,见图3a)的输入的消息105可以如下:
<MyMsg>
<F1>val1</F1>
<F2></F2>
<F3>val3</F3>
<F4>val4</F4><F4>val42</F4><F4>val43</F4>
<D1>
<G1>gval1</G1>
<G2>gval2</G2>
<G3>gval31</G3><G3>gval31</G3>
</D1>
<D2><H1>h1val1</H1><H2>h2val1</H2>
<D2><H1>h1val2</H1><H2>h2val2</H2>
<D2><H1>h1val3</H1><H2>h2val3</H2>
</MyMsg>
上面应当注意到,未压缩的MyMsg消息105包括由元数据标记F1、F2、F3、F4、F5、F6、D1、D2、G1、G2、G3、H1、H2包封的两个字段值“val”。因此,根据图7的上述压缩协议700压缩的对等压缩MyMsg消息105然后表现为:
<MyMsg(步骤702)
<val1>(步骤706)
<>(步骤708)
<val3>
<val41,val42,val43>(步骤712)
<<gval1><gval2><gval31,gval32>>(步骤710)
<<<h1val1><h2val2>>,(步骤710和712)
<<h1val2><h2val2>>,
<<h1val3><h2val3>>>
>
同时使用步骤704保持字段的次序。应当考虑到,所述MyMsg消息105的全部元数据标记F1、F2、F3、F4、F5、F6、D1、D2、G1、G2、G3、H1、H2已经从所述压缩的型式中消除了。
类似方法可能惯于使用对信息源20的WSDL定义压缩SOAP报文。举例来说,对于GoogleTMweb服务13的WSDL用于在以下说明如何压缩SOAP消息105。应该注意的是,与仅仅包含字段值的压缩型式相比,以下对未压缩的SOAPGoogleSearchResult报文105将需要多少存储器件以用于传输。
例子2
这个例子示出了如何使用图7中的压缩报文协议700格式化GoogleSearchResult压缩消息105。对于GoogleSearchResult的定义是直接从表示结构化定义语言的WSDL中取出的:
GoogleSearchResult:
<xsd:complexType name=“GoogleSearchResult”>
<xsd:all>
<xsd:element name=“documentFiltering”type=“xsd:boolean”/>
<xsd:element name=“searchComments”type=“xsd:string”/>
<xsd:element name=“estimatedTotalResultsCount”type=“xsd:int”/>
<xsd:element name=“estimateIsExact”type=“xsd:boolean”/>
<xsd:elementname=“resultElements”type=“typens:ResultElementArray”/>
<xsd:element name=“searchQuery”type=“xsd:string”/>
<xsd:element name=“startIndex”type=XXxsd:int”/>
<xsd:element name=“endlndex”type=“xsd:int”/>
<xsd:element name=“searchTips”type=“xsd:string”/>
<xsd:elementname=“directoryCategories”type=“typens:DirectoryCategoryArray”/>
<xsd:element name=“searchTime”type=“xsd:double”/>
</xsd:all>
</xsd:complexType>
ResultElement和ResultElementArray:<xsd:complexTypename=“ResultElementArray”>
<xsd:complexContent>
<xsd:restrictionbase=“soapenc:Array”>
<xsd:attributeref=“soapenc:arrayType”wsdl:arrayType=“typens:Result
Element[]”/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:cornplextypename=“ResultElement”>
<xsd:all>
<xsd:element name=“summary”type=“xsd:string”/>
<xsd:element name=“URL”type=“xsd:string”/>
<xsd:element name=“snippet”type=“xsd:string”/>
<xsd:element name=“title”type=“xsd:string”/>
<xsd:element name=“cachedSize”type=“xsd:string”/>
<xsd:element name=“relatedInformationPresent”type=“xsd:boolean”/>
<xsd:element name=“hostName”type=“xsd:string”/>
<xsd:elementname=“directoryCategory”type=“typens:DirectoryCategory”/>
<xsd:elementname=“directoryTitle”type=“xsd:string”/>
</xsd:all>
</xsd:complexType>
DirectoryCategory和DirectoryCategoryArray:
<xsd:complexTypename=“DirectoryCategoryArray”>
<xsd:complexContent>
<xsd:restrictionbase=“soapenc:Array”>
<xsd:attribute ref =“soapenc:arrayType”wsdl:arrayType=“typens:DirectoryCategory[]”/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name=“DirectoryCategory”>
<xsd:all>
<xsd:element name=“fullViewableName”type=“xsd:string”/>
<xsd:element name=“specialEncoding”type=“xsd:string”/>
</xsd:all>
</xsd:complexType>
以压缩形式的示例结果GoogleSearchResult消息105,然后表现为以下:
<GoogleSearchResult>
<false>
<some search comments>
<3>
<true>
< < <summary string>
<http://theurl>
<snippetstring>
<title string>
<cached size string>
<true>
<hostname string>
< <fullviewablename string>
<specialencoding string>
>
<directory title string>
>,
< <another summary.string>
<http://theurl2>
<another snippet string>
<another title string>
<another cached size string>
<true>
<another hostname string>
< <fullviewablename string2>
<specialencoding string2>
>
<another directory title string>
>
>
<some search query string>
<1>
<3>
<search tips>
< < <fullviewablename string>
<specialencoding string>
>,
< <ffillviewablename string b>
<specialendoding string b>
>,
< <fullvieablename string c>
<specialencoding string c>
>
>
<2.34>
>
参照图4,示出了所述压缩报文系统拓扑结构的另一个例子。在所述第二个拓扑结构中,压缩编序服务模块48与服务提供者13处的信息源20相结合。可移动中间方服务可以包含于沿压缩消息管道30的压缩消息105的传送中,但是在这个方案中作为简单的传送。无线设备11和其消息转换器44实质上如上所述进行操作,以将压缩消息105和设备11结合。
当机密或另外的敏感信息是由信息源20提供时,例如在图4中示出的集成是特别有利的。在这种情况下,没有中间组件,例如中间方服务器18(参见图3a)对于压缩/解压缩消息105是需要的。例如,由在服务供应商13的加密模块54加密的机密信息保持加密,直到由在无线设备11的类似模块54解密,反之亦然,以提供端到端保密。
应当理解,上述说明是对涉及不同的系统、方法与制造的举例。在系统10与压缩消息协议700上的许多变化将对所属领域技术人员是明显的,这种明显的变化在如这里描述与要求的系统与方法的范围之内,不论是否特意说明。例如,尽管在所述附图中示出了一个无线设备12、数据服务器18与信息源20,所述数据服务器18典型地提供了可能经由不同通信网络16的用于许多设备11、12的服务,以及通过不同的直接或基于网络的线路访问许多信息源20和相关的web服务。类似地,任何网络16和任何信息源20可以与多种数据服务器18通信。尽管在图1中示出了无线设备12、14和无线网络网关15,本系统和方法还适用于其它类型的网络拓扑结构、通信系统和设备。例如,处理资源和通信链路带宽力图不限制于台式计算机系统和有线通信链路,也用于无线设备和无线通信网络,但是数据大小的压缩还提供经由有线线路的快速文档传输。因此,在这里说明的系统和方法可以连同有线或无线通信系统与设备实现。
而且,压缩报文系统在两个拓扑结构中获得应用。第一拓扑结构适用于中间方服务器18代替信息源20执行消息压缩的情况。在第二拓扑结构中,信息源20本身压缩用于传送到设备11的消息。尽管分别地描述了每个拓扑结构,应当理解设备11可以配置为与支持任一拓扑结构的信息源20通信。同时期待设备11可以与许多信息源20通信,这些信息源中的一些支持第一拓扑结构、其它的支持第二拓扑结构。
Claims (44)
1.一种经网络在基于方案的服务和设备之间压缩报文的方法,所述设备和所述服务具有基于结构化定义语言的共用于所述设备和所述服务的元素描述符的预定知识,所述方法包括以下步骤:
建立所述服务和所述设备之间的通信;
通过消除与所述元素数据值有关的元素描述符来制定包括元素数据值的压缩消息;
基于所述元素描述符和所述元素数据值的预定顺序保持所述元素数据值的次序;
把所述元素数据值设置在用于把相邻元素数据值区分开的各自的分隔符中,所述分隔符指示所述元素数据值给定顺序的开始和结束;以及
在使用所共享元素描述符的预定知识接收时,经所述网络发送用于随后解释的压缩消息。
2.按照权利要求1的压缩报文的方法,其中所述结构化定义语言包括许多表示资源的特殊属性的元素描述符,每个元素具有一个或多个元素数据值。
3.按照权利要求2的压缩报文的方法,其中所述结构化定义语言已经定义了从以下组选择的特性,包括:有限数量的元素描述符、每个元素描述符的名称、以及用于每个元素描述符的含义。
4.按照权利要求2的压缩报文的方法,其中所述结构化定义语言是从以下组中选择的,包括:XML、HTML、XHTML、XSML、RDF、机器可读目录(MARC)、WSDL、BPEL、SOAP和多用途网际邮件扩充协议(MIME)。
5.按照权利要求2的压缩报文的方法,还包括标识具有消息定义名称的压缩消息的顶节点的步骤,所述顶节点用于表示与所述元素描述符有关的元素数据值的顺序的开始。
6.按照权利要求5的压缩报文的方法,还包括设置不具有在压缩消息中作为空分隔符的值的元素描述符的步骤,该元素描述符用于保持所述字段元素次序的预定顺序。
7.按照权利要求6的压缩报文的方法,还包括设置不具有作为空分隔符的值、而且以识别字符区分的元素数组描述符的步骤。
8.按照权利要求6的压缩报文的方法,还包括划界元素描述符的所有子字段的步骤,所述子字段表示在一对匹配的分隔符内部嵌入的消息定义。
9.按照权利要求8的压缩报文的方法,还包括划界具有许多连续元素数据值的元素描述符的步骤,以使其多个元素数据值的每一个表示在一对匹配的分隔符内部,以及在所述对的匹配分隔符内部还划界其所包含的元素数据值的每一个。
10.按照权利要求2的压缩报文的方法,其中所述压缩消息是在各自的关联所述服务与所述设备的消息处理终点而制定和解释的,以使所述压缩报文在双向路径上实现。
11.按照权利要求10的压缩报文的方法,还包括在所述压缩消息的传送开始之前、在所述设备与所述服务之间建立共享的元素描述符的预定知识。
12.按照权利要求10的压缩报文的方法,还包括在所述压缩消息开始时设置指示符的步骤,所述指示符用于识别被用来定义所述元素描述符的预定知识的结构化定义语言。
13.按照权利要求10的压缩报文的方法,还包括通过重新插入与所述包含的元素数据值有关的各自元素描述符来重构所述压缩消息的步骤,所述重构的消息用于运行环境中随后的使用。
14.按照权利要求10的压缩报文的方法,还包括通过直接使用所述包含的元素数据值在运行环境中直接解释所述压缩的消息的步骤。
15.按照权利要求10的压缩报文的方法,还包括从许多格式选择用于所述结构化定义语言的消息格式的步骤。
16.按照权利要求15的压缩报文的方法,还包括按照所述许多格式在所述服务的信息源的第一消息格式和所述设备的第二消息格式之间进行转换的步骤。
17.按照权利要求16的方法,其中在所述第一消息格式和所述第二消息格式之间的转换是由所述服务执行的。
18.按照权利要求9的压缩报文的方法,其中所述服务是从以下组中选择的普通的已定义方案的服务,包括:web服务、数据库服务和基于IDL的CORBA服务。
19.按照权利要求18的方法,其中所述设备是从以下组中选择的,包括:个人计算机、无线设备、PDA、自助服务信息站(kiosk)和台式终端。
20.按照权利要求19的方法,其中所述设备配置为作为所述服务的客户机。
21.按照权利要求9的方法,其中在所述设备和所述服务之间的通信是从包括同步通信和异步通信的组中选择的。
22.一种经网络在基于方案的服务和设备之间压缩报文的方法,所述设备和所述服务具有基于结构化定义语言的共用于所述设备和所述服务的元素描述符的预定知识,所述方法包括以下步骤:
经所述网络接收包括具有与所述元素数据值有关的缺失元素描述符的元素数据值的压缩消息,相邻的元素数据值由各自的分隔符区分开,所述分隔符指示所述元素数据值的给定顺序的开始和结束;
通过关联所述包含的具有各自元素描述符的元素数据值、使用共享的元素描述符的预定知识来重构所述压缩消息,所述元素数据值的次序基于所述元素描述符和所述元素数据值的预定顺序;以及
解释所述重构的压缩消息以用于在运行环境中随后的使用。
23.按照权利要求22的压缩报文的方法,其中所述结构化定义语言包括许多表示资源特殊属性的所述元素描述符,每个元素具有一个或多个所述元素数据值。
24.按照权利要求23的压缩报文的方法,其中所述结构化定义语言已经定义了从以下组选择的特性,包括:有限数量的元素描述符、每个元素描述符的名称、以及用于每个元素描述符的含义。
25.按照权利要求23的压缩报文的方法,其中所述结构化定义语言是从以下组中选择的,包括:XML、HTML、XHTML、XSML、RDF、机器可读目录(MARC)、WSDL、BPEL、SOAP和多用途网际邮件扩充协议(MIME)。
26.按照权利要求23的压缩报文的方法,还包括识别具有消息定义名称的压缩消息的顶节点的步骤,所述顶节点用于表示与所述元素描述符有关的元素数据值的顺序的开始。
27.按照权利要求23的压缩报文的方法,还包括解释不具有在压缩消息中作为空分隔符的值的元素描述符的步骤,该元素描述符用于保持所述字段元素次序的预定顺序。
28.按照权利要求27的压缩报文的方法,还包括解释元素描述符的所有子字段的步骤,所述子字段表示在一对匹配的分隔符之内的嵌入的消息定义。
29.按照权利要求28的压缩报文的方法,还包括根据分隔符解释许多连续元素数据值的元素描述符的步骤,以使所述多个元素数据值的每一个表示在一对匹配的分隔符内部,以及在所述对的匹配分隔符内部划界元素数据值包含的每个元素描述符。
30.按照权利要求23的压缩报文的方法,其中所述压缩消息是在各自的关联所述服务与所述设备的消息终点而制定和解释的,以使所述压缩报文在双向路径上实现。
31.按照权利要求30的压缩报文的方法,还包括在所述压缩消息的传送开始之前、在所述设备与所述服务之间建立共享的元素描述符的预定知识的步骤。
32.按照权利要求30的压缩报文的方法,还包括在所述压缩消息开始时读取指示符的步骤,所述指示符用于识别被用来定义所述元素描述符的预定知识的结构化定义语言。
33.按照权利要求30的压缩报文的方法,还包括通过重新插入与所述包含的元素数据值有关的各自元素描述符来重构所述压缩消息的步骤,所述重构的消息用于在运行环境中随后的使用。
34.按照权利要求30的压缩报文的方法,还包括通过直接使用所述包含的元素数据值在运行环境中直接解释所述压缩的消息的步骤。
35.按照权利要求30的压缩报文的方法,还包括从许多格式选择用于所述结构化定义语言的消息格式的步骤。
36.按照权利要求35的压缩报文的方法,还包括按照所述许多格式在所述服务的信息源的第一消息格式和所述设备的第二消息格式之间进行转换的步骤。
37.按照权利要求36的方法,其中在所述第一消息格式和所述第二消息格式之间的转换是由所述服务执行的。
38.按照权利要求29的压缩报文的方法,其中所述服务是从以下组中选择的普通的已定义方案的服务,包括:web服务、数据库服务和基于IDL的CORBA服务。
39.按照权利要求38的方法,其中所述设备是从以下组中选择的,包括:个人计算机、无线设备、PDA、自助服务信息站和台式终端。
40.按照权利要求39的方法,其中所述设备配置为作为所述服务的客户机。
41.按照权利要求29的方法,其中在所述设备和所述服务之间的通信是从包括同步通信和异步通信的组中选择的。
42.一种经网络在基于方案的服务和设备之间压缩报文的方法,所述设备和所述服务具有基于结构化定义语言的共用于所述设备和所述服务的元素描述符的预定知识,所述方法包括以下步骤:
建立所述服务和所述设备之间的通信的装置;
用于制定包括元素数据值和缺失(absent)元素描述符的压缩消息的装置;
用于基于所述元素描述符和所述元素数据值的预定顺序保持所述元素数据值的次序的装置;
用于把所述元素数据值设置在用于把相邻元素数据值区分开的各自的分隔符中的装置;以及
用于一接收就经所述网络发送用于随后解释的压缩消息的装置。
43.一种经网络在基于方案的服务和设备之间压缩报文的方法,所述设备和所述服务具有基于结构化定义语言的共用于所述设备和所述服务的元素描述符的预定知识,所述方法包括以下步骤:
用于经所述网络接收包括具有缺失元素描述符的元素数据值的压缩消息,相邻的元素数据值按各自的分隔符来区分;
用于使用为重构所述压缩消息的、共享的元素描述符的预定知识的装置,所述元素数据值的次序基于所述元素描述符和所述元素数据值的预定顺序;以及
用于为在运行环境中随后的使用而解释所述重构的压缩消息的装置。
44.一种计算机程序产品,用于配置经网络在基于方案的服务和设备之间压缩报文的终端设备,所述设备和所述服务具有基于结构化定义语言的共用于所述设备和所述服务的元素描述符的预定知识,所述方法包括以下步骤:
计算机可读媒质;
存储在计算机可读媒质上的压缩消息模块,用于通过消除与所述元素数据值有关的元素描述符来制定包括元素数据值的压缩消息;以及
所述模块用于配置所述设备,基于按照结构化定义语言的所述元素描述符和所述元素数据值的预定顺序来保持所述元素数据值的次序,配置所述元素数据值,以设置在用于把相邻元素数据值区分开的各自的分隔符中,所述分隔符指示所述元素数据值给定顺序的开始和结束。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US44742903P | 2003-02-14 | 2003-02-14 | |
US60/447,429 | 2003-02-14 | ||
US50377703P | 2003-09-17 | 2003-09-17 | |
US60/503,777 | 2003-09-17 | ||
PCT/CA2004/000199 WO2004073278A1 (en) | 2003-02-14 | 2004-02-13 | System and method of compact messaging in network communications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1751492A true CN1751492A (zh) | 2006-03-22 |
CN1751492B CN1751492B (zh) | 2011-10-26 |
Family
ID=32872029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200480004265.3A Expired - Lifetime CN1751492B (zh) | 2003-02-14 | 2004-02-13 | 网络通信中的压缩消息收发的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | US7448043B2 (zh) |
EP (1) | EP1609285B1 (zh) |
CN (1) | CN1751492B (zh) |
AT (1) | ATE377897T1 (zh) |
CA (1) | CA2514831A1 (zh) |
DE (1) | DE602004009902T2 (zh) |
HK (1) | HK1084531A1 (zh) |
WO (1) | WO2004073278A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834845A (zh) * | 2010-03-26 | 2010-09-15 | 南京联创科技集团股份有限公司 | 基于tcp短连接的soap客户端协议封装方法 |
CN103902283A (zh) * | 2014-03-03 | 2014-07-02 | 华东师范大学 | 在corba中利用模型转换实现实时异步通信的方法 |
CN109241498A (zh) * | 2018-06-26 | 2019-01-18 | 中国建设银行股份有限公司 | Xml文件处理方法、设备和存储介质 |
CN112887497A (zh) * | 2020-12-24 | 2021-06-01 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 通信方法、装置和计算机存储介质 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0316531D0 (en) * | 2003-07-15 | 2003-08-20 | Transitive Ltd | Method and apparatus for performing native binding |
US7822826B1 (en) | 2003-12-30 | 2010-10-26 | Sap Ag | Deployment of a web service |
US7287035B2 (en) * | 2004-02-20 | 2007-10-23 | Microsoft Corporation | Evaluating queries against in-memory objects without serialization |
JP4061288B2 (ja) * | 2004-04-08 | 2008-03-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Webサービス・システム、リクエスタ、soapメッセージ用中間処理装置、リクエスタのリクエスト用soapメッセージ処理方法、リクエスタのレスポンス用soapメッセージ処理方法、soapメッセージ用中間処理装置のリクエスト用soapメッセージ処理方法、soapメッセージ用中間処理装置のレスポンス用soapメッセージ処理方法、及びプログラム |
US20050243978A1 (en) * | 2004-04-14 | 2005-11-03 | Lg Electronics Inc. | System and method of interworking messages between mobile communication terminals |
CN100466658C (zh) * | 2004-08-30 | 2009-03-04 | 华为技术有限公司 | 一种运营支撑系统的接口及其与网管系统对接的方法 |
US8296354B2 (en) | 2004-12-03 | 2012-10-23 | Microsoft Corporation | Flexibly transferring typed application data |
US20060200528A1 (en) * | 2005-01-25 | 2006-09-07 | Krishna Pathiyal | Method and system for processing data messages |
US20060184547A1 (en) * | 2005-02-11 | 2006-08-17 | Fujitsu Limited | Method and system for fast encoding of data documents |
US7735001B2 (en) * | 2005-02-11 | 2010-06-08 | Fujitsu Limited | Method and system for decoding encoded documents |
US20060212799A1 (en) * | 2005-02-11 | 2006-09-21 | Fujitsu Limited | Method and system for compiling schema |
EP1701502A1 (en) | 2005-03-09 | 2006-09-13 | Research In Motion Limited | System, method and apparatus for compressed wireless signalling |
CA2603230C (en) * | 2005-04-18 | 2013-03-26 | Research In Motion Limited | System and method for secure messaging between wireless device and application gateway |
US20070005359A1 (en) * | 2005-06-30 | 2007-01-04 | David Bowen | Method for transmitting transactional commands and data between computer networks |
US20070067384A1 (en) * | 2005-09-21 | 2007-03-22 | Angelov Dimitar V | System and method for web services configuration creation and validation |
US8078671B2 (en) | 2005-09-21 | 2011-12-13 | Sap Ag | System and method for dynamic web services descriptor generation using templates |
US7673028B2 (en) | 2005-09-28 | 2010-03-02 | Sap Ag | Method and system for container-managed configuration and administration |
CN100353733C (zh) * | 2005-12-23 | 2007-12-05 | 王建波 | 基于xml文件的rss信息交互处理方法 |
US7814060B2 (en) * | 2005-12-30 | 2010-10-12 | Sap Ag | Apparatus and method for web service client deployment |
US8024425B2 (en) * | 2005-12-30 | 2011-09-20 | Sap Ag | Web services deployment |
US8010695B2 (en) | 2005-12-30 | 2011-08-30 | Sap Ag | Web services archive |
US20070177583A1 (en) | 2006-01-31 | 2007-08-02 | Microsoft Corporation | Partial message streaming |
US20070300234A1 (en) * | 2006-06-27 | 2007-12-27 | Eliezer Dekel | Selecting application messages from an active feed adapter and a backup feed adapter for application-level data processing in a high speed, low latency data communications environment |
US20070300235A1 (en) * | 2006-06-27 | 2007-12-27 | Eliezer Dekel | Reliable messaging using a message stream in a high speed, low latency data communications environment |
US8296778B2 (en) | 2006-06-27 | 2012-10-23 | International Business Machines Corporation | Computer data communications in a high speed, low latency data communications environment |
US8676876B2 (en) * | 2006-06-27 | 2014-03-18 | International Business Machines Corporation | Synchronizing an active feed adapter and a backup feed adapter in a high speed, low latency data communications environment |
US8122144B2 (en) * | 2006-06-27 | 2012-02-21 | International Business Machines Corporation | Reliable messaging using redundant message streams in a high speed, low latency data communications environment |
US20070299936A1 (en) * | 2006-06-27 | 2007-12-27 | Borgendale Kenneth W | Interactively streaming data from a database in a high speed, low latency data communications environment |
US20080104266A1 (en) * | 2006-10-25 | 2008-05-01 | Eliezer Dekel | Reliable messaging using message streams in a high speed, low latency data communications environment |
US20080114938A1 (en) * | 2006-11-14 | 2008-05-15 | Borgendale Kenneth W | Application Message Caching In A Feed Adapter |
US20080114839A1 (en) * | 2006-11-14 | 2008-05-15 | Borgendale Kenneth W | Version Control for Application Message Models |
US8695015B2 (en) * | 2006-12-06 | 2014-04-08 | International Business Machines Corporation | Application message conversion using a feed adapter |
US20080140550A1 (en) * | 2006-12-07 | 2008-06-12 | Berezuk John F | Generating a global system configuration for a financial market data system |
US20080141273A1 (en) * | 2006-12-11 | 2008-06-12 | Borgendale Kenneth W | Accessing Application Message Data In A Messaging Environment |
US8850451B2 (en) * | 2006-12-12 | 2014-09-30 | International Business Machines Corporation | Subscribing for application messages in a multicast messaging environment |
US8327381B2 (en) * | 2006-12-12 | 2012-12-04 | International Business Machines Corporation | Referencing message elements in an application message in a messaging environment |
US20080141275A1 (en) * | 2006-12-12 | 2008-06-12 | Borgendale Kenneth W | Filtering Application Messages In A High Speed, Low Latency Data Communications Environment |
US7917912B2 (en) * | 2007-03-27 | 2011-03-29 | International Business Machines Corporation | Filtering application messages in a high speed, low latency data communications environment |
US20090006559A1 (en) * | 2007-06-27 | 2009-01-01 | Bhogal Kulvir S | Application Message Subscription Tracking In A High Speed, Low Latency Data Communications Environment |
EP2096561B1 (en) | 2008-02-28 | 2012-06-06 | The European Union, represented by the European Commission | Method for extracting relevant content from a markup language file, in particular from a HTML file |
DE102008025876A1 (de) * | 2008-05-29 | 2009-12-03 | Endress + Hauser Flowtec Ag | Verfahren zur Darstellung einer Textinformation auf unterschiedlichen Zielsystemen |
US8737989B2 (en) * | 2008-08-29 | 2014-05-27 | Apple Inc. | Methods and apparatus for machine-to-machine based communication service classes |
US9258263B2 (en) | 2012-11-29 | 2016-02-09 | International Business Machines Corporation | Dynamic granular messaging persistence |
GB2520972A (en) * | 2013-12-05 | 2015-06-10 | Ibm | Workload management |
FR3043814B1 (fr) * | 2015-11-18 | 2020-01-10 | Bull Sas | Procede de generation d'un ensemble de donnees definissant un message pour une application contrainte |
US10594828B2 (en) | 2016-04-19 | 2020-03-17 | International Business Machines Corporation | Delivery of incremental sensor data over optimized channel |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3859313B2 (ja) * | 1997-08-05 | 2006-12-20 | 富士通株式会社 | タグ文書の圧縮装置および復元装置,圧縮方法および復元方法,圧縮/復元装置および圧縮/復元方法並びに圧縮,復元もしくは圧縮/復元プログラムを記録したコンピュータ読み取り可能な記録媒体 |
EP0928070A3 (en) * | 1997-12-29 | 2000-11-08 | Phone.Com Inc. | Compression of documents with markup language that preserves syntactical structure |
US6959300B1 (en) * | 1998-12-10 | 2005-10-25 | At&T Corp. | Data compression method and apparatus |
AU8035100A (en) * | 1999-09-10 | 2001-04-10 | General Instrument Corporation | Method and apparatus for compressing scripting language content |
US6883137B1 (en) * | 2000-04-17 | 2005-04-19 | International Business Machines Corporation | System and method for schema-driven compression of extensible mark-up language (XML) documents |
US7188158B1 (en) * | 2000-07-15 | 2007-03-06 | Hewlett-Packard Development Company, L.P. | System and method for component-based software development |
JP4774145B2 (ja) * | 2000-11-24 | 2011-09-14 | 富士通株式会社 | 構造化文書圧縮装置および構造化文書復元装置並びに構造化文書処理システム |
JP3894280B2 (ja) * | 2001-02-02 | 2007-03-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Xmlデータの符号化方法、符号化されたxmlデータの復号化方法、xmlデータの符号化システム、符号化されたxmlデータの復号化システム、プログラムおよび記録媒体 |
JP3832807B2 (ja) * | 2001-06-28 | 2006-10-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ |
-
2004
- 2004-02-13 DE DE602004009902T patent/DE602004009902T2/de not_active Expired - Lifetime
- 2004-02-13 CN CN200480004265.3A patent/CN1751492B/zh not_active Expired - Lifetime
- 2004-02-13 WO PCT/CA2004/000199 patent/WO2004073278A1/en active IP Right Grant
- 2004-02-13 AT AT04710762T patent/ATE377897T1/de not_active IP Right Cessation
- 2004-02-13 CA CA002514831A patent/CA2514831A1/en not_active Abandoned
- 2004-02-13 EP EP04710762A patent/EP1609285B1/en not_active Expired - Lifetime
- 2004-02-17 US US10/778,547 patent/US7448043B2/en active Active
-
2006
- 2006-05-25 HK HK06106050A patent/HK1084531A1/xx not_active IP Right Cessation
-
2008
- 2008-10-07 US US12/246,716 patent/US8069451B2/en active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834845A (zh) * | 2010-03-26 | 2010-09-15 | 南京联创科技集团股份有限公司 | 基于tcp短连接的soap客户端协议封装方法 |
CN101834845B (zh) * | 2010-03-26 | 2012-11-28 | 南京联创科技集团股份有限公司 | 基于tcp短连接的soap客户端协议封装方法 |
CN103902283A (zh) * | 2014-03-03 | 2014-07-02 | 华东师范大学 | 在corba中利用模型转换实现实时异步通信的方法 |
CN103902283B (zh) * | 2014-03-03 | 2017-04-19 | 华东师范大学 | 在corba中利用模型转换实现实时异步通信的方法 |
CN109241498A (zh) * | 2018-06-26 | 2019-01-18 | 中国建设银行股份有限公司 | Xml文件处理方法、设备和存储介质 |
CN109241498B (zh) * | 2018-06-26 | 2023-08-15 | 中国建设银行股份有限公司 | Xml文件处理方法、设备和存储介质 |
CN112887497A (zh) * | 2020-12-24 | 2021-06-01 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 通信方法、装置和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US8069451B2 (en) | 2011-11-29 |
DE602004009902D1 (de) | 2007-12-20 |
DE602004009902T2 (de) | 2008-08-28 |
EP1609285B1 (en) | 2007-11-07 |
ATE377897T1 (de) | 2007-11-15 |
US20090031324A1 (en) | 2009-01-29 |
CA2514831A1 (en) | 2004-08-26 |
HK1084531A1 (en) | 2006-07-28 |
US7448043B2 (en) | 2008-11-04 |
WO2004073278A1 (en) | 2004-08-26 |
US20040194105A1 (en) | 2004-09-30 |
EP1609285A1 (en) | 2005-12-28 |
CN1751492B (zh) | 2011-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1751492A (zh) | 在网络通信中压缩报文的系统和方法 | |
CN1867142A (zh) | 移动终端设备获取计算机信息的方法和系统 | |
CN1278557C (zh) | 信息传递系统与方法以及信息处理设备与方法 | |
CN1183717C (zh) | 桥连HAVi子网络和UPnP子网络的方法及实施所述方法的装置 | |
CN100352241C (zh) | 用于定制业务调用中的行为和接口的系统 | |
CN1154298C (zh) | 分布式网络计算系统及该系统用的信息交换装置和方法 | |
CN1757020A (zh) | 信息处理装置、信息处理方法以及计算机程序 | |
CN1751442A (zh) | 用于压缩以结构化定义语言表达的无线应用程序的系统和方法 | |
CN1947106A (zh) | 通知方法、连接装置、通信方法以及程序 | |
CN100343835C (zh) | 信息处理方法和设备 | |
CN1277230C (zh) | 用于小型脚印尺寸装置的智能书签 | |
CN1742480A (zh) | 信息处理装置、信息处理方法和计算机程序 | |
CN1625865A (zh) | 用于管理树状数据交换的方法和设备 | |
CN1695139A (zh) | 用于定义对象以允许为移动通信设备建立设备管理树的方法和设备 | |
CN1572098A (zh) | 使用发布/预定系统的无线消息传递业务 | |
CN1820473A (zh) | 在固定和/或移动网络中传输业务消息的方法、终端设备和服务器 | |
CN1209895C (zh) | 信息处理装置和信息处理方法 | |
CN1252611C (zh) | 信息处理方法和信息处理装置 | |
CN1960507A (zh) | 手机用户间的信息共享与搜索方法 | |
CN1812383A (zh) | 供应组件应用程序的系统和方法 | |
CN1867090A (zh) | 短信网址装置及实现短信增值业务的系统和方法 | |
CN1612567A (zh) | 为在不同协议下可用的应用提供服务的系统 | |
CN1489389A (zh) | 视频通信终端及视频通信方法 | |
CN1136666C (zh) | 移动体通信终端装置 | |
CN1731731A (zh) | 网络通信装置 |
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: 20111026 |
|
CX01 | Expiry of patent term |