CN1853167B - 具有可扩展预配置的动态内容处理的系统和方法 - Google Patents

具有可扩展预配置的动态内容处理的系统和方法 Download PDF

Info

Publication number
CN1853167B
CN1853167B CN2004800266762A CN200480026676A CN1853167B CN 1853167 B CN1853167 B CN 1853167B CN 2004800266762 A CN2004800266762 A CN 2004800266762A CN 200480026676 A CN200480026676 A CN 200480026676A CN 1853167 B CN1853167 B CN 1853167B
Authority
CN
China
Prior art keywords
content
processing program
content processing
xml
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN2004800266762A
Other languages
English (en)
Other versions
CN1853167A (zh
Inventor
迈克尔·申菲尔德
菲拉·比布尔
布赖恩·R·戈林
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 CN1853167A publication Critical patent/CN1853167A/zh
Application granted granted Critical
Publication of CN1853167B publication Critical patent/CN1853167B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

数据可以以多种格式来存储,并且认识到,不是所有终端都具有用于存储用来处理和/和查看以特定格式定义的数据的适当应用程序的资源。描述了用于动态处理以结构化定义语言表达的通用内容的系统和方法。该系统和方法使用具有适于处理诸如XML内容之类的内容的指令集的相关联内容处理程序。该方法包括接收包括内容和对相关联内容处理程序参考的内容包封。利用参考请求相关联内容处理程序,所述参考包括内容处理程序的参考位置。一旦获得,就利用内容处理程序的指令集来处理内容。指令可以以脚本和/或代码来表达。

Description

具有可扩展预配置的动态内容处理的系统和方法
技术领域
本申请涉及数据内容处理。
背景技术
目前所使用的终端数目持续增加,例如移动电话、带有无线通信功能的PDA、个人计算机、自助电话亭以及双向寻呼机。在这些终端上运行的软件应用程序增加了它们的实用性。例如,移动电话可以包括检索一定范围城市天气的应用程序,或者PDA可以包括帮助用户购买食品的应用程序。这些软件应用程序利用与网络的连接,以便向用户提供即时有用的服务。然而,由于某些终端的资源有限,以及向终端传送大量用于处理的数据的复杂性,开发并维护软件应用程序的数据处理能力仍然是困难且耗时的任务。
诸如XML之类的可扩展标记语言已经变为对通用数据进行处理、格式化以及交换的标准。通过几乎利用所有平台和环境来实现,XML允许利用公共数据接口的异类系统进行无缝集成。XML处理由内核编程语言、基于XML的语言(例如,XPATH、XQUERY)以及脚本语言扩展(例如,针对XML-E4X的ECMAScript)所支持。
数据可以以多种格式来存储,并且认识到,不是所有终端都具有用来存储用于处理和/或查看以特定格式定义的数据的适当应用程序的资源。在某些实例中,终端将不能识别表示数据的格式,因此可能要求终端的用户选择或获取适当的应用程序。当前数据格式的另一缺点是,较老版本的应用程序可能不能识别更新后的数据格式,由此导致较老版本的应用程序不能处理或显示更新后的数据。
这里公开了数据内容的动态处理系统和方法,以消除或减轻上述缺点。
发明内容
数据可以以多种格式来存储,并且认识到,不是所有终端都具有用于存储用来处理和/和查看以特定格式定义的数据的适当应用程序的资源。在某些实例中,终端将不能识别表示数据的格式,因此可能要求终端的用户选择或获取适当的应用程序。当前数据格式的另一缺点是,较老版本的应用程序可能不能识别更新后的数据格式,由此导致较老版本的应用程序不能处理或显示更新后的数据。与当前数据格式处理方案相比,提供了用于动态处理以结构化定义语言表达的通用内容的系统和方法。该系统和方法使用具有适于处理内容的指令集的相关联内容处理程序。一种这样的方法包括接收包括内容和对相关联内容处理程序参考的内容包封。利用该参考请求相关联内容处理程序,所述参考包括内容处理程序的参考位置。一旦获得,就利用内容处理程序的指令集来处理内容。指令可以以脚本和/或代码来表达。
提供了一种在无线计算设备上动态地处理以可扩展的标识语言(XML)表达的通用内容的方法,无线计算设备执行如下步骤:
接收内容包封,其包括XML内容以及对相关联内容处理程序的参考,内容处理程序包括处理XML内容的指令集;
利用参考请求内容处理程序,所述参考包括内容处理程序的参考位置;
获得内容处理程序;以及
利用内容处理程序的指令集处理XML内容。
还提供了一种以可扩展标识语言(XML)表达的通用内容的动态处理的方法,使用计算设备执行如下步骤:
准备包括XML内容的内容包封,用于传输到接收方;
在内容包封中插入对相关联内容处理程序的参考,内容处理程序包括处理XML内容的指令集,所述参考包括内容处理程序的参考位置;以及
使内容处理程序可用于接收方的访问;
将内容包封发送到接收方进行处理。
还公开了一种利用具有适于处理内容的指令集的相关联内容处理程序来动态地处理以结构化定义语言表达的通用内容的终端,所述终端包括:处理结构,用于接收内容包封,内容包封包括内容以及对相关联内容处理程序的参考;请求模块,工作于所述框架中,利用参考请求相关联内容处理程序,所述参考包括内容处理程序的参考位置;预配置模块,工作于所述框架中,用于获得内容处理程序;以及处理模块,利用内容处理程序的指令集处理内容。
还提供了一种利用具有适于处理内容的指令集的相关联内容处理程序来动态地处理以结构化定义语言表达的通用内容的计算机程序产品,所述计算机程序产品包括:计算机可读介质;存储在所述计算机可读介质上的请求模块,用于工作于运行时间环境中,所述请求模块用于利用参考请求相关联内容处理程序,所述参考被配置为包括内容处理程序的参考位置;存储在所述计算机可读介质上的预配置模块,用于工作于运行时间环境中,以获得内容处理程序;以及耦合到所述预配置模块的处理模块,利用内容处理程序的指令集处理内容。
附图说明
这些以及其他特征将在下面结合附图的详细描述中变得更加清楚,其中:
图1是网络系统的方框图;
图2是图1的通用终端的方框图;
图3示出了图2的设备的处理结构;
图4是图1的内容包封;
图5是图1的系统的示例操作;以及
图6是用于处理图5的通用内容的工作流。
具体实施方式
网络系统
参考图1,网络系统10包括多个终端100,用于经由耦合的广域网(WAN)104(但不限于因特网)与一个或多个由处理程序服务器106访问的处理程序信息服务110互动。这些通用终端100可以是任何合适的终端,但不限于诸如个人计算机116之类的有线设备、无线设备101、PDA、自助电话亭等。服务器106通过消息105提供对内容处理程序107的访问,其中消息105包括所请求的处理程序107的参考名称122(ID)。服务器106可以从信息服务器110获得处理程序107的信息。系统10提供终端100处理应用程序内容120的能力,其中应用程序内容120例如但不限于以诸如XML之类的结构化定义语言来表达,其具有相关联处理程序107。处理程序107可以是通用的(内容相关的)或专用的(内容及终端100相关的)。应用程序内容120可以在本地获得或者可以从远程服务器106获得。或者,远程服务器106可以按需将内容120推向终端100。认识到,XML仅代表可以用来定义内容120的结构化定义语言的一个示例。其他示例语言可以包括例如但不限于HTML、XHTML、SXML、RDH、机器可读编目(MARC)、以及多用途因特网邮件扩展(MIME)。还认识到,系统10可以适合于要与可能在连通性、存储器和/或存储方面受限的终端100结合使用的任何范围的XML定义内容120。
终端100具有处理结构206(见图2),用于处理所接收到的包含嵌入的内容120、内容处理程序参考ID 122以及处理程序参考位置124的XML包封118(或其他结构化语言)。注意,包封118包含对处理程序107的这种参考。处理程序107可以驻留在所示环境的本地或外部。另外,系统10还可以具有网关服务器112,用于将桌面终端116经由局域网(LAN)114连接到服务器106。另外,系统10可以具有无线网络102,用于将无线设备101连接到WAN 104。认识到,其他终端和计算机(未示出)可以经由WAN 104和图1中所示网络之外的其他相关联网络连接到服务器106。为了简单起见,通用终端100、无线设备101和个人计算机116在后文被称作终端100。另外,为了简单起见,系统10的网络102、104、112在后文将被称作网络104。认识到,可以存在多个服务器106、110,和/或如果希望的话,可以组合服务器106和110的功能。
通用终端
参考图2,终端100可以是任何合适的数据处理平台,例如但不限于桌面或膝上型计算机系统、移动电话(或其他无线设备)、PDA、双向寻呼机和/或双模通信终端。终端100包括网络连接接口200,例如无线收发机或有线网络接口卡或调制解调器,其经由连接218耦合到终端基础设施204。连接接口200在终端100的操作期间可以连接到网络104,例如通过RF链路(见图1)连接到无线网络102,这使得终端100能够经由网络104在彼此之间以及与外部系统(例如,服务器106——见图1)通信,并且协调终端100和服务器106、110之间的请求/响应消息105。在某些实施方式中,网络104在终端100和连接到网络104的外部系统之间的请求/响应消息105中支持处理程序107的传输。网络104还可以支持针对终端100和网络104外部的终端之间的电话呼叫的语音通信。无线网络102可以使用无线数据传输协议,例如但不限于DataTAC、GPRS或CDMA。
再参考图2,终端100还具有用户接口202,其通过连接222耦合到终端基础设施204,以便帮助与用户(未示出)的互动。用户接口202可以包括一个或多个用户输入设备,例如但不限于QWERTY键盘、小键盘、滚轮、输入笔、鼠标、麦克风,以及用户输出设备,例如LCD屏幕显示器和/或映射器。如果屏幕是对触摸敏感的,则显示器也可以用作由终端基础设施204控制的用户输入设备。终端100的用户采用用户接口202来协调系统10(见图1)上处理结构206所采用的请求/响应消息105。
再参考图2,由终端基础设施204来实现终端100的操作。终端基础设施204包括计算机处理器208和相关联的存储器模块210。计算机处理器208通过执行由操作系统提供的相关指令,操纵通信终端100的网络接口200、用户接口202以及框架206的操作;计算机处理器208可以包括一个或多个处理元件,这些处理元件可以包括一个或多个通用处理器和/或专用处理器(例如,ASICFPGA、DSP等)。另外,认识到,终端基础设施204可以包括耦合到处理器208的计算机可读存储介质212,用于向处理器提供用于加载/更新客户应用程序107的指令。计算机可读介质212可以包括硬件和/或软件,仅仅作为示例,例如磁盘、磁带、诸如CD/DVD ROM之类的光学可读介质、以及存储卡。在每种情形中,计算机可读介质212可以采取小型盘、软盘、磁带盒、硬盘驱动器、固态存储卡或者存储器模块210中提供的RAM的形式。应该注意,上面列出的示例计算机可读介质212可以单独使用或者结合使用。
处理结构(framework)
参考图2和3,客户运行时间环境由处理结构206提供。终端100的框架206通过连接220耦合到基础设施204,并且是到处理器208的终端100功能以及基础设施204的相关联操作系统的接口。终端100的客户运行时间环境优选地能够生成、托管(hosting)以及执行终端100上的客户应用程序(未示出)。另外,客户运行时间环境的特定功能可以包括多种功能,例如但不限于针对语言的服务结构304支持,协调存储器分配、连网、I/0操作期间的数据管理、协调终端100的输出设备上的图形、以及提供对面向内核对象的类的访问并支持文件/库。终端100所实现的运行时间环境的示例可以包括例如但不限于Microsoft的通用语言运行时间(CLR)以及Sun Microsystems的Java运行时间环境(JRE)。
处理结构206提供动态管理内容处理程序107的能力。结构206的特定动作可以包括处理程序管理功能,例如但不限于:确定内容120所需的处理程序107;在终端100上或通过网络104查找处理程序107;如果需要的话从指定的参考位置124下载处理程序107;并且去除或者挂起/缓存终端100不再需要的处理程序107。
处理结构206管理从终端100的运行时间环境的内容处理程序107的预配置(provisioning)、检索和去除。结构206还支持处理程序107执行。应用程序请求处理结构206利用相关联处理程序107运用或处理通用内容120。结构206能够基于内容包封118或模式中指定的参考位置124来检索处理程序107。如果不能在终端100上获得处理程序107,则框架206能够从包封118中指定的参考位置124下载处理程序107。应用程序还可以在内容120处理结束并且其操作不再需要相关联的处理程序107时通知结构206。结构206然后可以收回终端基础设施204的活动存储器201中被不再有用的内容处理程序107(例如,在应用程序升级的情形中)占用的空间。在执行终端100的集中化管理的环境中(例如,公司空间),中央服务器(未示出)可以发起终端100上的废弃处理程序107的去除。
再参考图3,处理结构206可以提供作为应用程序107一部分或者与应用程序107相分离的通用服务结构304功能,并且可以包括(非限制)应用程序管理器306、处理程序验证器314、预配置管理器308、通信服务316、脚本解释器312、以及持久管理器308。其他服务(未示出)可以包括呈现服务、访问服务以及实用性服务。认识到,分离的服务功能可以由多个应用程序和处理程序107共享。
再参考图3,通信服务316管理终端100和服务器106、110之间经由网络104的连接,包括按需获取远程存储的内容处理程序107的能力。持久管理器310允许内容处理程序107本地地存储在存储器模块210中。预配置管理器308管理终端100上内容处理程序107的预配置。内容处理程序107预配置可以包括在终端100上存储、检索、下载和去除处理程序107,例如,请求并接收来自服务器106、110的远程存储处理程序107以及来自存储装置210的本地存储处理程序107。另外,预配置管理器308可以负责向应用程序提供API(应用程序接口),用于实现处理程序107的动态请求或者按请求去除处理程序107,下面将进一步描述。应用程序管理器306可以用来与用户接口202(见图2)交互,管理应用程序寿命等。应用程序管理器306还可以提供应用程序可以用来请求服务(例如,加载内容120的内容处理程序107)的接口。处理程序验证器314可以用于安全目的——控制下载到终端的内容120的有效性,并保护用户免遭恶意脚本(例如但不限于病毒)的影响。脚本解释器312可以用来运行内容处理程序107脚本/代码。针对提供内容处理程序107的操纵的API可以通过脚本解释器312获得。脚本解释器312宽泛地被设计为执行指令集合。这种指令可以以任何时定编程和/或脚本语言来编码;另外,指令可以是编译或部分编译的形式(例如,Java字节码)。认识到,按照需要,具有各个服务306、308、310、312、314、316用于实现应用程序107适配的处理结构206的其他配置可以不同于所示配置。另外,认识到,结构206可以是终端基础设施204的操作系统的一部分。
内容包封
参考图4,包封118包含内容120、相关联内容处理程序107的参考名称122、以及用于本地或远程获得内容处理程序107的参考位置124。内容120可以代表多种形式的数据,例如但不限于浏览器屏幕(例如,xHTML)、应用程序数据(例如,游戏等级)、无线消息(电子邮件/SMS/MMS)、或者单机应用程序。包装在包封118中的内容120包含对一个或多个适当的内容处理程序107的直接或间接(例如,通过XML模式)的参考。数据的示例数据格式是jPEG、GIF、HTML、WAV文件、闪速介质等;但是其他类型的格式化数据也是可行的。内容参考包含对内容处理程序107的类型和位置的参考。可选地,内容120可以使用XML模式定义来识别相关联内容处理程序107的URI和类型。
在其他方面,内容处理程序107通过参考位置124和相应的参考名称122耦合到内容包封118。处理程序107代表运用或处理内容120的指令集合(即,代码和/或脚本)。指令集可以以平台独立脚本(例如但不限于ECMAScript、E4X等)来实现,或者实现为环境特有代码组件,以便在处理结构206的本身运行时间环境(例如但不限于C、C+等)中实现。内容处理程序107还可以被视为用于处理和/或查看例如以诸如XML之类的结构化定义语言中所指定的特定格式定义的数据(由内容120代表)的适当应用程序。这些内容处理程序107可以驻留在终端100中,或者可以通过网络104进行访问。
示例内容处理程序
内容处理程序107可以通过不同的动态查找模式来访问。处理程序107可以是通用的或者是终端100专用的。处理结构206能够检索内容处理程序参考名称122和位置124,并且预配置来自指定位置124的所需处理程序107。内容102的所需处理程序107及其位置可以以不同方式来指示:在内容内直接指示;或者使用文档模式参考来间接指示。因此,用于获得处理程序107的这些模式包括例如但不限于直接参考和间接参考,下面进一步描述。
包封118的数据可以包含针对用来管理或处理数据的应用程序/代码/脚本的指针/标签(即,处理程序参考名称122 ID)。例如,用户接收终端100上的视频文件,但是没有所需的播放器(即,内容处理程序107)。因此,视频文件(包封118)将包含带有对所需播放器的参考122、124的XML数据(内容120)。
在直接参考的情形中,如下示例XML文档以粗体示出了位置124和名称122。例如,该XML文档具有预定义的子单元处理程序,其指定与该文档相关联的内容处理程序107的类型、版本和位置。
XML Document
<?xml version=″1.0″?>
<eventUpdatexmlns:xsi=″http://www.w3.org/2001/XMLSchema-instance″
xsi:noNamespaceSchemaLocation=″example0.xml″>
      <event>
         <title>Dog Sledding Races</title>
         <location>Banff,Alberta</location>
         <date>2004-01-21</date>
         <details>DEC12</details>
      <event>
      <handler>
         <type>E4X</type>
         <URI>http://www.dograces.com/handlers/NewEvent.es</URI>
         <version>1.3</version>
      </handler>
  </eventUpdate>
在间接参考的情形中,如下示例XML文档以粗体示出了以XSD定义的内容处理程序位置124。例如,XML文档使用模式参考指定了内容处理程序。该方法可以消除XML文档内的内容处理程序参考名称122,但是需要下载附加的模式文件的额外步骤。
   XML Schema
   <xsd:schema xmlns:xsd=′http://www.w3.org/2001/XMLSchema′
         xmlns:handler=′http://www.dograces.com/schema/handlers/v1.0′>
       <xsd:element name=″eventUpdate″type=″EventNotificatoin″/>
       <xsd:complexType name=″EventNotification″>
         <xsd:sequence>
           <xsd:element name=″event″type=″Event″minOcuurs=″1″maxOccu
rs=″5″/>
        </xsd:sequence>
     </xsd:complexType>
     <xsd:complexType name=″Event″>
       <xsd:sequence>
         <xsd:element name=″title″type=″xsd:string″/>
         <xsd:element name=″location″type=″xsd:string″/>
         <xsd:element name=″date″type=″xsd:date″/>
         <xsd:element name=″details″type=″xsd:string″/>
       </xsd:sequence>
     </xsd:complexType>
   </xsd:schema>
   XML Document
   <?xml version=″1.0″?>
   <eventUpdatexmlns:xsi=″http://www.w3.org/2001/XMLSchema-instance″
   xsi:noNamespaceSchemaLocation=″example0.xml″>
        <event>
           <title>Dog Sledding Races</title>
           <location>Banff,Alberta</location>
       <date>2004-01-21</date>
       <details>DEC12</details>
    <event>
</eventUpdate>
认识到,如果需要的话,可以使用不同于以上的其他结构化定义语言文档和模式文件。
通用内容的处理
系统10描述了一旦内容120被用于在终端10上处理时动态地检索处理内容120(例如XML)所需的相关联内容处理程序107的能力。与内容120相关联的内容处理程序参考嵌入到消息数据包封118中,或者与所包含的消息的特定一组数据相关联。这种方法可以支持动态模型化、突变和扩展性。还认识到,可以使用多种结构化定义语言,例如XML、HTML和XGML等。内容处理程序107在终端100上的预配置可以在结构206处理内容120时在每次需要的基础上来动态处理。在特征为小存储空间和有限处理器能力的无线环境中,按需预配置以及去除不再需要的处理程序的能力可以是有益的。
例如,当在终端100上执行应用程序时,该程序请求处理结构206处理新内容120。程序按下述方式可能已经获取了内容120,例如但不限于:根据用户请求或应用程序逻辑从服务器106下载;由应用程序服务器110推向终端100(例如,信道更新、事件通知);或者从本地应用程序存储装置加载(在检索松散耦合的内容120时——例如,用户达到新的游戏等级)。
参考图4、5和6,系统10的操作500始于终端100接收到502包封118。带有处理程序参考的内容120被传递给终端100的处理结构206,其包括例如应用程序管理器306(见图3)。应用程序管理器306从预配置管理器308请求504内容120中所指示的特定内容处理程序107。预配置管理器308检查506所指定的处理程序107是否驻留在终端100上。如果是这样的话,将所指定的处理程序107传递回应用程序管理器306。否则,预配置管理器308通过网络104(见图1)从处理程序服务器106请求并开始下载或者以其他方式获得508所指定的内容处理程序107。认识到,处理程序服务器106可以是专用处理程序储存库/数据库,和/或可以具有对专用处理程序储存库/数据库的访问。一旦下载完成,预配置管理器308将内容处理程序传递回510应用程序管理器306。应用程序管理器306然后使用处理程序解释器312以运行处理程序107的指令集(即,脚本和/或代码),开始处理512内容120。执行处理程序解释器312提供了要由终端100的用户接口202和/或终端基础设施204(见图3)显示和/或以其他方式操作514的处理数据。
上面的描述涉及一个或多个示例性系统和方法。对本领域技术人员而言,许多变化是显而易见的,并且这种变化在本申请的范围之内。认识到,可以使用除了XML之外的其他结构化定义语言,以及多个不同终端,例如PC、PDA、电话亭、移动设备。终端100可以以有线和/或无线网络拓扑来部署。例如,认识到,内容处理程序的实施方式可以由如下模块来执行:工作于结构中用于使用参考来请求相关联内容处理程序的请求模块,工作于结构中用于获得内容处理程序的预配置模块;以及用于利用内容处理程序的指令集来处理内容的处理模块。这些模块可以在终端100上以软件、硬件或它们的组合的形式获得。
如上所述,系统10和方法500可以应用于例如涉及内容120的处理的大范围通用终端100以及相应应用程序(包括浏览器)。由于终端100的明显的限制,例如偶然的连接、有限的存储器和存储装置、有限的屏幕尺寸和/或高等待时间,当方法500应用于这些移动终端101时,可以获得较高的操作效率。使用系统10可以提供终端100处理通用内容120的能力。例如,当发现从服务器106接收到包封118中的新类型XML数据时,终端100上预配置的应用程序可以下载适当的处理程序107来处理该数据。对于浏览器,按需下载不同性质的XML处理插件(例如,不同类型的XML、模式验证、执行)可能是有利的。
系统10还可以通过在内容120加载到设备101的运行时间环境中之后允许按需下载针对特定客户端环境(例如,无线设备101)的内容102处理功能(处理程序107)的开发,提供呈现/数据和逻辑的去耦。系统10还可以通过允许应用程序开发者编程连接“存根”(stub)(空处理程序107)以插入将来的应用程序扩展,提供现有应用程序的动态扩展。当在应用程序外部开发了额外的功能时,可以用实现了应用程序扩展的“重定向”脚本代替连接。系统10还可以提供动态版本/内容更新,其中可以处理无缝应用程序更新(例如,用于防病毒应用的新病毒定义)。系统10还可以提供动态应用程序预配置和应用程序块的动态修改,例如对于XML定义的应用程序,这种机制可以基于用户动作或可用的新数据/选项变为可用,允许动态应用程序预配置和应用程序块的动态修改。系统10还可以提供为受限终端100提供高效存储管理,其中在需要时进行预配置并且通过动态去除应用程序数据/块来清除空间的能力在受限的环境中可以提供重大的优点。系统10还可以提供服务器发起的推操作的动态执行。认识到。数据内容管理器预配置的网络环境可以应用于有线和无线拓扑。

Claims (28)

1.一种在无线计算设备上动态地处理以可扩展的标识语言XML表达的通用内容的方法,无线计算设备执行如下步骤:
接收内容包封,其包括XML内容以及对相关联内容处理程序的参考,内容处理程序包括处理XML内容的指令集;
利用参考请求内容处理程序,所述参考包括内容处理程序的参考位置;
获得内容处理程序;以及
利用内容处理程序的指令集处理XML内容。
2.根据权利要求1所述的方法,其中内容处理程序是内容和终端类型相关的。
3.根据权利要求2所述的方法,还包括如下步骤:间接通过XML方案参考内容处理程序。
4.根据权利要求2所述的方法,还包括如下步骤:在终端上检查远程或本地的参考位置的位置。
5.根据权利要求4所述的方法,其中参考还包括参考名称。
6.根据权利要求5所述的方法,其中内容处理程序的参考名称包括在内容中。
7.根据权利要求1所述的方法,其中指令集包括平台独立脚本。
8.根据权利要求2所述的方法,其中指令集包括环境特有代码。
9.根据权利要求2所述的方法,其中从远程存储位置获得内容处理程序。
10.根据权利要求2所述的方法,其中从本地存储位置获得内容处理程序。
11.根据权利要求10所述的方法,其中将内容处理程序从远程服务器推向本地存储位置。
12.根据权利要求2所述的方法,还包括如下步骤:实施服务结构,用于提供与内容处理程序交互的服务功能。
13.根据权利要求12所述的方法,其中服务结构在多个内容处理程序及其相应应用程序之间共享。
14.根据权利要求13所述的方法,其中服务结构包括从如下组中选择的服务:应用程序管理器、处理程序验证器、预配置管理器、通信管理器、脚本解释器、以及永久管理器。
15.根据权利要求14所述的方法,还包括如下步骤:预配置管理器提供应用程序接口,用于利用内容处理程序实现动态处理。
16.根据权利要求4所述的方法,还包括如下步骤:发起由终端的处理结构或网络服务器选择的内容处理程序的获取。
17.根据权利要求13所述的方法,其中服务结构提供下述之一的服务:内容处理程序查找、内容处理程序下载、内容处理程序删除、以及内容处理程序挂起。
18.一种以可扩展标识语言(XML)表达的通用内容的动态处理的方法,使用计算设备执行如下步骤:
准备包括XML内容的内容包封,用于传输到接收方;
在内容包封中插入对相关联内容处理程序的参考,内容处理程序包括处理XML内容的指令集,所述参考包括内容处理程序的参考位置;以及
使内容处理程序可用于接收方的访问;
将内容包封发送到接收方进行处理。
19.根据权利要求18所述的方法,其中内容处理程序是内容和终端类型相关的。
20.根据权利要求19所述的方法,还包括如下步骤:间接通过XML的方案参考内容处理程序。
21.根据权利要求18所述的方法,其中参考还包括参考名称。
22.根据权利要求21所述的方法,其中内容处理程序的参考名称包括在内容中。
23.根据权利要求18所述的方法,其中指令集包括平台独立脚本。
24.根据权利要求23所述的方法,其中指令集包括环境特有代码。
25.根据权利要求19所述的方法,其中内容处理程序可用于远程存储位置。
26.根据权利要求19所述的方法,其中内容处理程序可用于本地存储位置。
27.根据权利要求26所述的方法,其中将内容处理程序从远程服务器推向本地存储位置。
28.一种在无线计算设备上动态地处理以可扩展的标识语言表达的通用内容的装置,该装置可应用到无线计算设备中,其特征在于所述装置包括:
处理结构,用于接收内容包封,内容包封包括内容以及对相关联内容处理程序的参考;
请求模块,工作于所述处理结构中,利用参考请求相关联内容处理程序,所述参考包括内容处理程序的参考位置;
预配置模块,工作于所述处理结构中,用于获得内容处理程序;以及
处理模块,利用内容处理程序的指令集处理内容。
CN2004800266762A 2003-09-17 2004-02-13 具有可扩展预配置的动态内容处理的系统和方法 Expired - Lifetime CN1853167B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US50398003P 2003-09-17 2003-09-17
US60/503,980 2003-09-17
PCT/CA2004/000198 WO2005026946A2 (en) 2003-09-17 2004-02-13 System and method for dynamic content processing with extendable provisioning

Publications (2)

Publication Number Publication Date
CN1853167A CN1853167A (zh) 2006-10-25
CN1853167B true CN1853167B (zh) 2010-07-14

Family

ID=34312456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800266762A Expired - Lifetime CN1853167B (zh) 2003-09-17 2004-02-13 具有可扩展预配置的动态内容处理的系统和方法

Country Status (10)

Country Link
US (2) US7350215B2 (zh)
EP (1) EP1665046A2 (zh)
JP (1) JP2007506163A (zh)
KR (1) KR20060103428A (zh)
CN (1) CN1853167B (zh)
AU (1) AU2004273109B2 (zh)
CA (1) CA2539464C (zh)
MX (1) MXPA06003109A (zh)
SG (1) SG164284A1 (zh)
WO (1) WO2005026946A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080256508A1 (en) * 2003-10-09 2008-10-16 Einfalt, Ehf. Hybrid Spreadsheet/Workflow Design and Execution Environment
US8620988B2 (en) * 2005-03-23 2013-12-31 Research In Motion Limited System and method for processing syndication information for a mobile device
FR2892836A1 (fr) * 2005-11-02 2007-05-04 Nicolas Korboulewsky Procede et dispositif de traitement d'un evenement detecte a un niveau de l'interface d'un navigateur
DE602006019778D1 (de) 2006-05-02 2011-03-03 Research In Motion Ltd Mehrschichtiges Envelope-Verfahren und System zur Inhaltslieferung
US20070276863A1 (en) * 2006-05-02 2007-11-29 Research In Motion Limited Plug in registration method and apparatus for push content delivery
US8224769B2 (en) * 2007-03-05 2012-07-17 Microsoft Corporation Enterprise data as office content
US8042185B1 (en) * 2007-09-27 2011-10-18 Netapp, Inc. Anti-virus blade
CN101547412B (zh) * 2009-04-29 2012-10-10 中兴通讯股份有限公司 一种无线预配置业务的实现方法及系统
EP2434728A1 (en) * 2010-09-27 2012-03-28 Research In Motion Limited Mobile wireless communications system providing enhanced user interface (ui) content display features and related methods
CN101969441A (zh) * 2010-10-28 2011-02-09 鸿富锦精密工业(深圳)有限公司 数位内容传输中的发布服务器、终端设备及传输方法
CN102650951A (zh) * 2011-02-24 2012-08-29 鸿富锦精密工业(深圳)有限公司 服务程序排程系统及方法
CN102968437B (zh) * 2011-09-27 2016-12-07 微软技术许可有限责任公司 外部服务应用的发现方法
US9578114B2 (en) 2011-09-27 2017-02-21 Microsoft Technology Licensing, Llc External service application discovery method
US9033797B1 (en) * 2014-03-12 2015-05-19 Wargaming.Net Llp Multiple user viewing modes of an environment
KR101769848B1 (ko) * 2015-12-30 2017-08-22 (주)비아이매트릭스 상용 인터프리터를 이용한 스크립트 기반 데이터 처리 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003014920A2 (en) * 2001-08-03 2003-02-20 Koninklijke Philips Electronics N.V. Display of a document on a client computer
US6546554B1 (en) * 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04347733A (ja) * 1991-05-24 1992-12-02 Hitachi Ltd 計算機プログラム保守方式
US6564321B2 (en) * 1995-04-28 2003-05-13 Bobo Ii Charles R Systems and methods for storing, delivering, and managing messages
JP3695777B2 (ja) * 1994-08-30 2005-09-14 株式会社東芝 情報転送方法
US5630066A (en) * 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
JPH1049354A (ja) * 1996-08-05 1998-02-20 Fuji Xerox Co Ltd 情報処理システム
CA2315640A1 (en) * 1997-12-29 1999-07-08 Postx Corporation Method and apparatus capable of embedding, extracting and processing data within a file having an html format
US6449638B1 (en) * 1998-01-07 2002-09-10 Microsoft Corporation Channel definition architecture extension
US6173316B1 (en) * 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6493758B1 (en) * 1998-09-08 2002-12-10 Microsoft Corporation Offline viewing of internet content with a mobile device
JP2000353120A (ja) * 1999-01-29 2000-12-19 Canon Inc 電子的にアクセス可能なリソース及び/又はリソースの記述の処理方法
AU3231700A (en) * 1999-03-04 2000-09-21 Gomo Technologies, Inc. Method and apparatus for communicating graphics data between a source and a recipient over a network
US6859909B1 (en) * 2000-03-07 2005-02-22 Microsoft Corporation System and method for annotating web-based documents
US6460041B2 (en) * 2000-04-26 2002-10-01 Inshift Technologies, Inc. Browser-based database-access engine apparatus and method
AU2002243335A1 (en) * 2000-10-20 2002-06-18 Polexis, Inc. Extensible information system (xis)
DE60131683T2 (de) * 2000-12-11 2008-10-30 Microsoft Corp., Redmond Verfahren und system zur verwaltung von mehreren netzwerk-betriebsmitteln
US20020087596A1 (en) * 2000-12-29 2002-07-04 Steve Lewontin Compact tree representation of markup languages
US20030046274A1 (en) * 2001-08-30 2003-03-06 Erickson John S. Software media container
US7302465B2 (en) * 2001-10-22 2007-11-27 Comverse, Inc. Distributed multimedia transfer
US7103773B2 (en) * 2001-10-26 2006-09-05 Hewlett-Packard Development Company, L.P. Message exchange in an information technology network
US20030158902A1 (en) * 2001-10-31 2003-08-21 Dotan Volach Multimedia instant communication system and method
ES2326073T3 (es) * 2001-11-23 2009-09-30 Research In Motion Limited Sistema y metodo para tratar o procesar documentos en lenguaje de marcaje extensible (xml).
US7363354B2 (en) * 2001-11-29 2008-04-22 Nokia Corporation System and method for identifying and accessing network services
US20040111286A1 (en) * 2001-12-21 2004-06-10 Koenig Darren Andrew System for the provision of goods and services over a distributed communication network
ATE305636T1 (de) * 2002-02-07 2005-10-15 Qualcomm Cambridge Ltd Verfahren und vorrichtung zur bereitstellung von inhalt für ein mobiles endgerät
US20030208610A1 (en) * 2002-05-01 2003-11-06 Rochetti Robert J. Method and apparatus for facilitating content distribution across a network
KR100472458B1 (ko) * 2002-06-26 2005-03-10 삼성전자주식회사 외부 xml유효성 검증 장치를 이용하는 xml파싱 장치및 방법
US7779408B1 (en) * 2003-03-24 2010-08-17 Sprint Spectrum L.P. Method and system for downloading and managing portable applications on a mobile device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6546554B1 (en) * 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
WO2003014920A2 (en) * 2001-08-03 2003-02-20 Koninklijke Philips Electronics N.V. Display of a document on a client computer

Also Published As

Publication number Publication date
SG164284A1 (en) 2010-09-29
US7350215B2 (en) 2008-03-25
CN1853167A (zh) 2006-10-25
JP2007506163A (ja) 2007-03-15
EP1665046A2 (en) 2006-06-07
AU2004273109B2 (en) 2009-02-19
AU2004273109A1 (en) 2005-03-24
US20080148139A1 (en) 2008-06-19
US20050060686A1 (en) 2005-03-17
CA2539464A1 (en) 2005-03-24
WO2005026946A2 (en) 2005-03-24
MXPA06003109A (es) 2007-01-26
WO2005026946A3 (en) 2005-10-20
KR20060103428A (ko) 2006-09-29
CA2539464C (en) 2011-05-24

Similar Documents

Publication Publication Date Title
CN101502079B (zh) 在移动网络终端上安装和配置软件应用程序的系统和方法
CN1853167B (zh) 具有可扩展预配置的动态内容处理的系统和方法
CN1757216B (zh) 创建基于无线应用程序的组件并与之通信的系统和方法
CA2495024C (en) System and method for adaptable provisioning of generic application content
CN1658609B (zh) 定制应用内容供应的系统和方法
CN100444108C (zh) 使用ui储存库的公共ui组件执行无线应用程序的系统和方法
CN1922572A (zh) 为组件应用程序建立混合模式执行环境的系统和方法
CN109522751B (zh) 访问权限控制方法、装置、电子设备及计算机可读介质
US20070005642A1 (en) Modification of logic in an application
CN106371874A (zh) 一种插件数据加载方法及设备
US6766350B1 (en) Shared management of data objects in a communication network
WO2013175560A1 (ja) 情報通信システム及び情報変換方法
CN1662011A (zh) 使用元数据定义映射来构建组件应用程序的系统和方法
CN101960452B (zh) 用于提供搜索表单的方法、装置和计算机程序产品
CN1650596A (zh) 通信系统及其移动设备以及在移动设备上存储页面的方法
CN113434315B (zh) 接口管理方法及装置、存储介质、电子设备
US11349961B2 (en) Chained adapters for multiple versions of application programming interface
CN102110144B (zh) 文档访问方法和文档访问装置
KR101784057B1 (ko) 모바일 단말의 사용자 정보를 이용한 맞춤형 콘텐츠 공유 방법 및 장치
CN103248557A (zh) 用于消息收发的方法和设备
CN109271182B (zh) 用于搜索引擎升级的方法及装置
CN113448960A (zh) 一种导入表格文件的方法和装置
US20120036495A2 (en) Method, apparatus and system for supporting polymorphic elements at run-time in portable computing devices
CN112445850A (zh) 数据转换方法、装置、电子设备及可读介质
Kapitsaki et al. Model-driven development of context-aware web applications based on a web service context management architecture

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: 20100714

CX01 Expiry of patent term