普适设备对网络服务的动态可扩展轻量级接入的制作方法

文档序号:7635584阅读:240来源:国知局
专利名称:普适设备对网络服务的动态可扩展轻量级接入的制作方法
技术领域
本发明涉及网络服务,更确切地说,涉及为普适设备提供对网络 服务的高效客户机接入。
背景技术
随着普适设备的日益流行以及无线通信带宽的增加,用户希望在
不带PC旅行时随手接入更多的服务。例如移动销售人员可能需要如
下服务,比如查找公司库存量、检查顾客定单状态、查找顾客地址等。
网络服务是由URI标识的软件系统,使用XML定义并说明其公 共接口和绑定。它的定义能够由其他软件系统发现。然后这些系统可
以以其定义所规定的方式、使用由因特网协议所传送的基于XML的 消息与网络服务互动。
传统上,开发者必须编写程序才能接入网络服务。对非开发者来 说,他们很难找到他们需要接入的各项网络服务所用的程序。同时, 对每项网络服务都编写程序导致了开发和支持方面的巨大成本。
在此引用作为参考的、2002年2月4日提交的公开号为 2004/0176958A1的美国专利申请"SYSTEM AND METHOD FOR MULTIMODAL SHORT-CUTS TO DIGITAL SERVICES"介绍了帮 助用户通过用户的无线设备接入若干服务的方法和系统,涉及向用户 推荐该用户可用的多个服务的服务子集,其中子集的每项被推荐的服 务都具有与此相关联的至少 一种语音捷径,以及根据用户的对应于服
务的语音捷径的语音命令,从服务的子集中选择要通过用户的无线设 备接入的服务。
在此引用作为参考的、2002年12月17日提交的公开号为 2004/0139151Al的美国专利申请"APPARATUS AND METHOD FOR
SELECTING A WEB SERVICE IN RESPONSE TO A REQUEST FROM A CLIENT DEVICE"介绍了响应来自客户机设备的请求而选 择网络服务的装置和方法。利用本发明的方法和装置,从客户机设备 收到启用网络服务操作的请求时,该请求在出站设备中接收,它连接 到提供网络服务接口的入站设备上。出站设备验证所请求的服务在配 置文件中,然后确定所需服务的选择范围,如在配置文件中所定义。 根据所需服务的选择范围,出站能够确定是否进行服务实施的发现和 选择("请求"选择范围)、从会话级高速緩存检索服务执行("会 话"选择范围)或者从应用级高速緩存检索服务执行("应用"选择 范围)。如果所请求的服务所对应的服务执行在会话级或应用级高速 緩存中不存在,可以执行发现和选择操作,以识别应付该请求的服务 执行,并且可以将该服务执行存储在适当的高速緩存中。
在此引用作为参考的、2002年12月31日提交的公开号为 2004/0176958A1的美国专利申请"SYSTEM AND METHOD FOR PROVIDING MULTI-MODAL INTERACTIVE STREAMING MEDIA APPLICATIONS"介绍了帮助用户通过用户的无线设备接入 若干服务的方法和系统,涉及向用户推荐该用户可用的多个服务的服 务子集,其中子集的每项被推荐的服务都具有与此相关联的至少一种
语音捷径,以及根据用户的对应于服务的语音捷径的语音命令,从服 务的子集中选择要通过用户的无线设备接入的服务。
在此引用作为参考的、2002年8月9日提交的公开号为 2004/0030740A1的美国专利申请"METHOD AND SYSTEM FOR AUTOMATING GENERATION OF WEB SERVICES FROM EXISTING SERVICE COMPONENTS"介绍了用于产生网络服务的 基于计算机的方法。该方法包括识别网络服务中所包含的第一和第二 服务组件,网络服务包括以使用不同搜寻技术的服务检测器查找可用 的服务,以及向用户显示所找到的服务,以便允许用户做出选择,识 别第一和第二服务组件。该方法继续为网络服务产生说明或约定,定 义包括若干调用规则的服务行为。然后为接入新的网络服务创建传送
结构,比如传输包络。网络服务被告知为在通信网络上是可用的,包 括利用链接到通信网络的服务注册表而注册网络服务。
在此引用作为参考的、2002年6月25日提交的公开号为 2003/0088421Al的美国专利申请"UNIVERSAL IP-BASED AND SCALABLE ARCHITECTURES ACROSS CONVERSATIONAL APPLICATIONS USING WEB SERVICES FOR SPEECH AND AUDIO PROCESSING RESOURCES"介绍了会话计算的系统和方 法,尤其是使用基于网络服务的模型建立分布式会话应用的系统和方 法,其中语音引擎(如语音识别)和音频I/O系统是可编程的服务, 能够由某应用使用标准的、可扩展SERCP (语音引擎远程控制协议) 异步地进行编程,从而提供了可缩放而灵活的基于IP的架构,使相同 的应用程序或应用程序开发环境能够跨越广泛的语音处理平台和网络 /网关部署(如PSTN(公共开关电话网络)、无线网络、因特网和VoIP 网络(IP网络上的语音))。为了动态地分配、指定、配置和控制语 音资源,比如语音引擎、语音预处理/后处理系统、音频子系统以及在 基于网络服务框架中使用SERCP进行的若干语音引擎之间的交换, 进一步提供了若干系统和方法。
在此引用作为参考的、2003年4月18日提交的公开号为 2004/0030627A1的美国专利申请"WEB SERVICES BROKER"介绍 了网络服务代理器方法,包括提供企业与服务客户机和服务提供商至 少其一之间的接口 ,服务客户机发现服务注册表上的若干网络服务并 使用来自服务提供商的对应网络服务,在企业与服务客户机和服务提 供商至少其一之间通信,并且至少执行以下转换之一a)将往返所述 企业的信息转换为适合服务客户机和服务提供商至少其一的形式;以 及b)将往返服务客户机和服务提供商至少其 一 的信息转换为适合所述 企业的形式。
在此引用作为参考的、2001年5月15日提交的公开号为 2002/0174117A1的美国专利申请"MOBILE WEB SERVICES"介绍 了所公开的方法,使移动电话或无线PDA通过访问统一描述、发现和
集成(UDDI)注册表,能够发现因特网商家和服务。该方法便于无线 设备用户形成对UDDI注册表的查询。该方法构造了用户UDDI搜索 策略和因特网访问偏爱的个人用户配置简表。该用户配置简表可以用 作响应用户在无线设备上的缩写输入,对UDDI注册表的在线或离线 查询或者访问网站页面的捷径。该方法具体表达为可以在用户的无线 设备内执行的编程指令,以查询UDDI注册表。作为替代,方法具体 表达为在分开的知识引擎服务器内执行的编程指令,以响应来自用户 无线设备的命令而查询UDDI注册表。该服务器可以用于对从网站访 问的文件进行高速緩存,以便向用户无线设备进行选择性地转发。
浏览器不直接提供接入网络服务的装置,所以必须为每项要接入 的网络服务开发定制化的网页和程序。这导致了开发和支持中的巨大 成本。不仅如此,使用浏览器从网页接入网络服务包括额外的网络 RTT(往返时间),因为必须先下栽定制化的网页和程序,然后浏览 器才能够接入网络服务。由于普适设备上的通信带宽限制,额外的网 络RTT对系统的性能具有不利的影响。
另 一种方式是为每项网络服务都产生与该服务对话的定制化客 户机应用程序。这种方式的缺点是随着服务的增加,应用程序的数量 增长迟早将大于设备内存/存储器的限制。每个应用程序的开发、支持 和采购总成本是相当大的。

发明内容
本发明认识到要是存在着注册PDA用户所关注网络服务的子集 组的方法,便携式手持设备(PDA)就有可能利用由网络服务提供的 千差万别的服务。不仅如此,它会有利于解除PDA接入网络服务的繁 重通信开销和复杂的驻留应用程序。
本发明提供了在普适设备上快速启用网络服务的动态可扩展轻 量级接入的方法和过程。
优选情况下,本发明包括在服务器上运行的服务器通用移动网络 服务(GMWS)管理器应用程序。GMWS管理器提供了移动设备与
网络服务之间的接口。优选情况下,与网络服务的接口为WSDL (网 络服务设计语言)。
不仅如此,GMWS管理器维护网络服务注册表(WSR),它保 存着GMWS管理器代表移动设备对其具有访问权限的每项网络服务 的有关信息。优选情况下,网络服务注册表包含用于向网络服务和移 动设备提供接口的元数据或具有对所述元数据的访问权限。
优选情况下,GMWS管理器能够以多种方式与移动设备通信。 GMWS管理器具有对转录器的访问权限,后者转录语音、数字数据、 自然语言和文本,以创建快速路径格式化的结构,快速接入具体的网 络服务。优选情况下,移动设备允许用户直接进入快速路径格式化的 结构,避开转录器功能的开销。
根据本发明, 一个或多个所选择网络服务的注册标志存储在 GMWS管理器的本地注册表中,注册标志识别所述一个或多个所选择 网络服务。不仅如此,还存储了对应的所注册的一个或多个所选择网 络服务的属性。根据所存储的属性,客户机请求被变换为所述一个或 多个所选择网络服务的第 一 网络服务所要求的形式,然后向第 一 网络 服务转发客户机请求。
不仅如此,根据本发明,根据所存储的属性,网络服务响应从第 一网络服务变换为客户机所要求的形式,然后向客户机转发变换后的 网络服务响应。
向客户机呈现所注册的一个或多个所选择网络服务的GUI表达。 因此,本发明的一个目的是提供对网络服务的动态可扩展多重模 态轻量级客户机解决方案,使得用户能够接入多种网络服务而仅仅需 要安装单一应用程序。所谓多重模态我们意指用户既能够使用文本输 入,也能够使用语音输入。所谓动态我们意指客户机将根据网络服务 的属性动态地产生GUI (图形用户界面);它也意指随着网络服务的 发展,客户机GUI将动态地适应这些变化而无需客户机代码的更新。 所谓可扩展我们意指新的网络服务在其变为可用时将自动地显示在客 户机的屏幕上,而客户机无需任何手工改变。
本发明的进一步的目的是向客户机授权接入第一网络服务的许可。
本发明的另一个目的是支持客户机请求,包括语音、自然语言文 本、数字数据或快速路径文本中的任何一种。
本发明的另一个目的是支持从具有第一网络服务的名称、第一网 络服务的说明、第一网络服务的安全需求、第一网络服务的一个或多 个关鍵词、输入字段的客户机名、输入字段的客户机类型、输入字段 的客户机默认值和表明该字段应当显示的客户机旗标的列表取得的属 性。
本发明的另一个目的是保存从第一台客户机接收的预定数量的 客户机输入,并且向客户机提供所保存的客户机输入的预定部分。
本发明的另 一个目的是从客户机接收客户机输入,将客户机输入 自动地变换为快速路径形式,快速路径形式根据所存储的注册网络服 务属性而配置,并且向客户机提供客户机输入的快速路径形式。
本发明的进一 步目的是提供从普适设备上的单 一应用程序以多 态模式(语音和/或文本)发现和执行多种网络服务的方法。
本发明的进一步目的是提供从移动设备到网络服务的自动"快速 路径"(半自然语言)接入。
通过本发明的技术还实现了另外的特征和优点。本文还详细地介 绍了本发明的其他实施例和方面,并且被视为本发明权利要求的一部 分。为了更好地理解具有优点和特征的本发明,请参考说明书和附图。


被视为本发明的主题在本说明书结尾的权利要求书中被具体地 指出并清楚地提出权利要求。连同附图根据以下的详细说明,本发明
以上的和其他的目的、特征和优点显而易见,其中 图l描述了现有技术的计算机系统部件实例; 图2描述了现有技术的计算机网络部件实例; 图3描述了本发明实施例的部件实例;
图4和图5是流程图,描述了普适设备上客户机接入网络服务的
步骤;
图6是流程图,描述了普适设备上客户机在语音模式下接入搜索 网络服务的步骤;
图7是流程图,描述了普适设备上客户机在快速路径模式下接入 搜索网络服务的步骤;
图8是流程图,描述了普适设备上客户机从网络服务列表接入搜 索网络服务的步骤;
图9是以三幅连续视图描绘的PDA;
图IO是以两幅随后的连续视图描绘的该PDA;
图11是以两幅随后的连续视图描绘的PDA;
图12是以两幅随后的连续视图描绘的PDA;
图13是以随后的视图描绘的PDA。
具体实施例方式
由于技术的稳步进步,现在可用的移动计算机有掌上或手持设 备,比如个人数字助理(PDA)、车内设备、企业管理器等。另外, 许多人现在利用蜂窝电话接入因特网并执行多种其他计算功能。包括 但不限于掌上电脑、PDA的便携式计算设备以及蜂窝电话往往统称为 "普适"或"移动"计算设备。
图l展示了典型的工作站或服务器硬件系统,可以在其中实践本 发明。图1的系统100包括典型的计算机系统101,比如个人计算机、 工作站或服务器、包括可选的外围设备。工作站101包括一台或多台 处理器106,以及按照已知技术用于连接并启动系统101的处理器106 与其他组件之间通信的总线。该总线将处理器106连接到存储器105 和长期存储器107,后者能够包括例如硬盘驱动器、软盘驱动器或磁 带驱动器。系统101还可以包括用户接口适配器,它通过总线将微处 理器106连接到一台或多台接口设备,比如键盘104、鼠标103、打印 机/扫描仪110和/或其他接口设备,它们可以是任何用户接口设备, 比如触摸屏、数字化输入板等。该总线还通过显示适配器将显示设备
102,比如LCD屏或监视器连接到微处理器106。
利用能够与网络109通信的网络适配器,系统101可以与其他计 算机或计算机网络通信。实例网络适配器是通信通道、令牌环、以太 网或调制解调器。作为替代,工作站101可以使用无线接口进行通信, 比如CDPD(蜂窝数字分组数据)卡。工作站101可以与局域网(LAN ) 或广域网(WAN)中这样的其他计算机相关联,工作站101也可以是 在与另一台计算机之间的客户机/服务器布局中的客户机,诸如此类。 所有这些配置以及适合的通信硬件和软件在本领域中众所周知。
图2展示了其中可以实践本发明的数据处理网络200。数据处理 网络200可以包括多个单独的网络,比如无线网络和有线网络,其中 每一个都可以包括多台单独的工作站101,此外,正如本领域的技术 人员将认识的那样,可以包括一个或多个LAN,其中LAN可以包括 多台连接到主机处理器的智能工作站。
仍然参考图2,所述网络还可以包括大型计算机或服务器,比如 网关计算机(客户机服务器206)或应用程序服务器(可以访问数据 仓库的远程服务器208 )。网关计算机206用作进入每个网络207的 入口点。连接一种网络协议与另一种网络协议时需要网关。优选情况 下,网关206可以利用通信链接连接到另一个网络(例如因特网207)。 网关206也可以使用通信链接直接地连接到一台或多台工作站101。 网关计算机可以利用IBM公司出品的IBM eServer zSeries 900服务 器实现。
体现本发明的软件编程代码典型情况下由系统101的处理器106 从长期存储介质107中存取,比如CD-ROM驱动器或硬盘驱动器。 软件编程代码可以包含在用于数据处理系统的多种已知介质的任何一 种上,比如软盘、硬盘或CD-ROM。该代码可以在这样的介质上分发, 也可以通过到其他计算机系统的网络从一个计算机系统的内存或存储 器分发到用户,由这样的其他系统的用户使用。
作为替代,编程代码111也可以包含在内存105中,并且由处理
器106使用处理器总线存取。这样的编程代码包括操作系统,它控制 着多种计算机组件以及一个或多个应用程序的功能和互动。编程代码 正常情况下从高密度存储介质107上调页到高速内存105中,在高速 内存105中可以由处理器106进行处理。在内存中、物理介质上包含
本文将不再进一步地讨论。
在优选实施例中,本发明实施为一个或多个计算机软件程序111。 本发明的软件实施可以运行在用户的工作站上,作为一个或多个模块 或应用程序111 (也称为代码子程序或面向对象编程中的"对象"), 它们在请求时被调用。作为替代,该软件可以运行在网络中的服务器 上,或者能够执行实施本发明的程序代码的任何设备中。实施本发明 的逻辑可以集成在应用程序代码之内,也可以实施为该应用程序调用 的一个或多个独立实用模块,而不偏离本文公开的发明概念。应用程 序lll可以在网络环境中执行,其中网络服务器响应通过因特网连接 的客户机的请求而提供若干服务。在另一个实施例中,应用程序可以 在公司内联网或外联网中或者任何其他网络环境中执行。网络的组构 包括客户机/服务器网络、对等式网络(其中若干客户机通过同时执行 客户机和服务器的功能直接地互动)以及多用户环境。这些环境和组 构在本领域中众所周知。
本发明利用服务器应用程序向移动客户机设备提供网络服务。服 务器应用程序将来自客户机设备的关键词翻译为与所期望的网络服务 兼容的形式。因此客户机设备需要最少的网络服务的软件知识,因为 服务器应用程序管理着接口。优选情况下,服务器应用程序具有所支 持网络服务的列表(注册表)并能够向客户机设备提供该列表。在优 选实施例中,支持来自客户机设备的多种形式的通信。例如支持文本 或音频语音,借此服务器应用程序提供了将语音翻译为本文或将文本 翻译为语音的翻译器。
现在参考图3,本发明实施在与通用移动网络服务(GMWS)管 理器320通信的客户机设备310 (优选情况下为例如移动手持计算机
或PDA )上。GMWS管理器320具有对网络服务330和UDDI注册 表340的网络访问权限。优选情况下,网络包括因特网。310与320、 320与330之间的通信协议是SOAP 301。 SOAP因特网草案
(search.ietf,org/internet誦drafts/draft画box國http画soap-01.text)提 供了 SOAP请求的以下实例
l-POST /StockQuote HTTP/1,1
2 Host: www,stockquoteserver com
3 Content—Type - text/xml
4,Content—Length: nnnn
5,SOAPMethodName: Some-Namespace—URI#GetLastTradePrice
6 * <SOAP:Envelope xmlns s SOAPc'urn: sch柳as-xmlsoap-oi:g r soap, vl">
7,<SOAP:Body>
8.<mrGetLastTradePrice xmlns:n^,'Some-Namespace-URl" 9 <symbol>DIS</symbol> 10 -</nu Get:LastTradePrice>
11, </SOAP:Body>
12. </SOAP:Enve1ope>
这个请求能够分为两部分
* HTTP头标(l國5行)
XML-RPC有效载荷(6-12行,SOAP:Envelope元素) 优选情况下,客户机设备310采用某种操作系统,比如
MICROSOFT WINDOWSTM、 MICROSOFT WINDOWS CE、 PALM OStm和BLACKBERRY1^
通用移动网络服务(GMWS)客户机311 (本文称为客户机)驻 留在客户机设备310中。它从GMWS管理器320得到网络服务元数 据,并且在客户机设备310上为用户产生用户界面。它还向GMWS 管理器320发送网络服务请求。
优选情况下,GMWS客户机311以JAVATM编程语言实施为安 装在该设备上的独立应用程序,该设备应当提供JVMTM (Java虚拟 机)。
GMWS管理器320包括四种组件语音记录服务321、快速路径 解析服务322、网络服务分配器323和网络服务注册表324。
优选情况下,通用移动网络服务(GMWS)管理器以JAVA编 程语言实施,作为服务器应用程序在应用程序服务器上运行,比如
IBM WEBSPHERETM。
快速路径解析服务322用于把从客户机311接收的快速路径命令 解析和转换为XML格式。快速路径命令是半自然语言的句子。它具 有用于网络服务的若干关键词和几种输入属性。多词属性应当放在引 号中。GMWS管理器的快速路径解析服务322知晓关键词和/或命令 格式。
在一个实施例中,GMWS客户机311的用户希望向搜索网络服 务发送请求以搜索ACME公司的帮助台号码。用户可以使用以下快速 路径命令搜索"acme的帮助台电话号码是什么?"
这里"搜索"是搜索网络服务的关鍵词,而"acme的帮助台电 话号码是什么?"是搜索网络服务的单一属性。
在另一个实施例中,用户希望检查顾客订单的状态,用户将以下 本文输入到他的PDA客户机设备310内,即以下快速路径命令检查 订单的状态"ACME""订单123456"
这里"检查订单的状态"是顾客订单状态检查网络服务的关键词, 而"ACME"和"订单123456"是用于顾客订单状态检查网络服务的 两种属性。
在一个实施例中,GMWS管理器320接受音频输入。注意,语 音记录服务321被用于将语音输入转录为本文。在此引用作为参考的、 转让给IBM的、2004年11月2日提交的序列号10/979,334的美国专 利申请"Method, System of Enabling Intelligent and Lightweight Speech to Text TRANSCRIPTION Through Distributed Environment"中举例说明了语音记录服务。
在本实施例中,用户通过对着客户机设备310的话筒说出快速路 径命令而提供网络服务请求。该声音从客户机设备310发送到语音记 录服务321。优选情况下,文本翻译服务321向用户的客户机设备310 返回语音请求的文本版本,以确认准确性,如果翻译不准确(100%准 确),用户就能够修改它。在实施例中,当接收的文本显现出具有句
法错误、不完整句子等情况时,GMWS管理器就向客户机311提供提 示或线索。
网络服务注册表(WSR) 324包含着所管理的移动网络服务的元 数据信息。可用的网络服务330可以包括一个或多个网络服务 331-334。每种网络服务331-334能通过提供以下元数据在网络服务注 册表324注册
1. 网络服务的名称
2. 网络服务的种类
3. 网络服务的终点
4. 网络服务的操作
5. 网络服务的说明
6. 输入和输出字段的名称
7. 输入和输出字段的类型
8. 可应用时输入字段的默认值
9. 第一网络服务的关键词
10. 标识是否在客户机设备310上向用户显示该字段的旗标
11. 可应用时输出变换的XSL样式表
12. 快速路径命令解析的模版
13. 第一网络服务的安全需求
如果网络服务331-334具有统一描述发现接口 (UDDI)的入口, 条目1至8也能够从UDDI注册表340得到。WSR 324将从该UDDI 入口得到某些信息,比如请求/响应消息格式、服务地址等。快速路径 解析的模版可以实施为正则表达式。
网络服务分配器(WSD ) 323从客户机311得到网络服务请求。 从客户机311发出的请求或者以xml的格式或者以快速路径的格式。
从客户机发出的定单状态检查网络服务的XML请求实例是
<service n柳e-',check order status',> <arg>ACME></ai:g> <arg>oi:cier 123456</arg> </service>
如果该文本是以快速路径的格式,该文本将被发送到快速路径解
析服务322,以被解析并转换为XML格式。
网络服务分配器323在收到客户机的请求之后,还负责调用网络 服务"1-334。在调用网络服务330之前可以应用预处理以增加任何 隐藏的输入字段。在收到网络服务331-334的响应之后,网络服务分 配器323可以将该响应变换为客户机311可接受的形式,然后传送回 客户机311。
参考图4,其中显示了客户机311登录GMWS服务的实施例。 用户在他的客户机设备310处启动GMWS客户机应用程序401。用户 提供了他的凭证(ID和密码)402。该凭证可以保存在客户机311处, 以使客户机软件311自动地提供它们。客户机311利用用户预定义的 配置简表从GMWS管理器320请求404网络服务的列表。客户机311 从GMWS管理器320接收网络服务的列表和元数据405。收到405 的元数据由客户机311用于简述往返于GMWS管理器的通信以及提 供GUI结构。优选情况下,用户能够选择许多406通信工具之一接入 网络服务。例如,语音、快速路径(预先确定的句法规则文本)、自 然语言或者通过选择特定的网络服务。
参考图5,用户可以选择语音输入501、快速路径输入503或特 定网络J5艮务506的任何一种用于与GMWS管理器320的通信。在语 音输入501的情况下,客户机调用502语音记录组件,并且可选地接 收他的语音呼叫的本文版本。(用户可以可选地接收文本响应的语音 版本),用户将该响应作为快速路径句法进行检查504。用户能够可 选地按照响应文本502调整其原始句法。客户机311调用WSD进行 快速路径输入505。最后,客户机接收该响应并产生GUI显示510。
用户有可能可选地选择了提供快速路径输入503。在这种情况下 他的输入被传送到WSD505,启动网络服务事务处理。最后,客户机 接收该响应并产生GUI显示510。
用户可选地选择506特定网络服务。系统为这种网络服务产生 507输入界面。用户提供508输入,客户机311使用它产生509 XML 输入并调用WSD进行XML输入。最后,客户机接收该响应并产生
GUI显示510。
现在将以三个流程实例讲解本发明的若干要素。显示了快速路径 接入的两种版本。第一版本演示了语音启动事务处理的实例,下一版 本演示了文本启动事务处理的实例。笫三种版本演示了 GUI驱动的事 务处理。应当指出,对快速路径事务处理来说,来自客户机的快速路 径语音不仅确定了事务处理的要素,而且确定了正在接入的网络服务。 GUI驱动的事务处理在客户机处提供了适合具体网络服务的GUI帮 助。
选择网络服务330,以便通过WSDL加入到网络服务注册表324。 可以采用许多方法填充网络服务注册表。有可能采用多于一个网络服 务注册表,在一个实施例中, 一组用户共享网络服务注册表。在另一 个实施例中,在登录时刻601-602处定义注册表的个别网络服务的许 可,或者接入多个注册表之一的许可。在另一个实施例中,当客户机 第一次开始使用网络服务时,它对接入网络服务列表中网络服务的许 可进行协商。
优选情况下,每种实例事务处理都开始于对客户机授权GMWS 管理器320。参考图6,客户机向GMWS管理器320发送M1其登录 请求以及凭证,GMWS管理器320再调用610鉴别网络服务;鉴别网 络服务验证618用户的凭证并向GMWS管理器320返回611该状态。 客户机接收602该鉴别状态,如果鉴别成功,客户机继续向网络服务 分配器323发送603请求,索要网络服务列表。该请求603包括在客 户机上管理的个性化配置简表。在一个实施例中,GMWS管理器可以 使用个性化配置简表确定注册表324中哪些网络服务被授权给客户机 使用。从网络服务注册表612检索列表和元数据并返回604给该客户 机。元数据支持客户机311使用列表上的网络服务。
如果客户机311选择传输音频(语音)请求605,语音记录服务321 将音频请求转换记录613为文本。该文本(或者可选地该文本的语音 仿真)返回606到客户机311,使得用户能够验证该音频转换正确再 继续。如果有错误,改正该文本并发送607回GMWS管理器320作
为快速路径句法。快速路径解析服务322从WS注册表324定位目标 网络服务330,并且使WS分配器323将该请求分派615到目标网络 服务(在本实例中为搜索服务)。搜索网络服务处理619该请求并将 响应发送616到GMWS管理器320,它在需要时对该响应进行格式化 617并向客户机311返回608结果,客户机311进行格式化并在客户 机设备310上呈现609该结果。
参考图7,音频实例直到步骤604都与图6中显示的相同。不过, 客户机311选择传送快速路径文本而不是音频,快速路径文本请求701 被传送到GMWS管理器320,由快速路径解析服务322在其中对其解 析614,从WS注册表324定位网络服务。WS分配器323^吏用与网络 服务相关联的元数据向选定的(搜索)网络服务330分派615该请求。 如同在图6的实例中,搜索网络服务处理619该请求并向GMWS管 理器320发送响应616,它在需要时对该响应进行格式化617并向客 户机311返回608结果,客户机311进行格式化并在客户机设备310 上呈现609该结果。
参考图8,音频实例直到步骤604都与图6中显示的相同。不过, 在这个实例中,用户从列表中选择了 801—种特定的网络服务,比如 搜索网络服务。客户机根据元数据动态地产生802该搜索服务的用户 界面。然后用户填写输入值并向网络服务分配器323发送803服务请 求。实例请求如在界面上产生的问题字段中写入"ACME的帮助台电 话号码是什么?",网络服务分配器323在得到该请求后,向所期望 的(搜索)网络服务分派该请求615。搜索网络服务处理搜索请求619, 并且向网络JJ良务分配器323送回616该结果,如果它是在为这种网络 服务的元数据中所定义的,网络服务分配器323可以对该结果进行格 式化617,然后该结果被送回608给客户机311,客户机311进一步进 行格式化609并向用户呈现该结果。
从图9中开始显示本发明实施例的用户视图。客户机设备310显 示为PDA。 PDA卯l包括可视区域(屏幕)902和鍵盘903。该屏幕 显示了用户可用的应用程序的窗口小部件904-908。用户选择GMWS
(通用移动网络服务)客户机应用程序908,它使PDA909为GMWS 应用程序突出显示屏幕910。然后PDA 910显示下拉式菜单912,包 括隐藏菜单、登录、设置913、关于和关闭选项。用户选择设置913 选项。这导致图10中PDA IOOO显示设置屏幕,用于登录GMWS应 用程序。用户输入他的ID和密码,PDA 1001现在显示下拉式菜单 1102,包括隐藏菜单、OK1103、取消和关闭选项。用户选择OK1103。 参考图11, PDA 1100现在显示下拉式菜单1102,包括隐藏菜单、登 录1103、设置、关于和关闭选项。用户选择登录1103选项。 一旦登 录,PDA 1101现在显示1104利用相关联的元数据从WS注册表324 检索的服务列表。选项包括快速路径1105和服务1106。服务1106的 列表包括邮件、人物寻找、搜索1107、股票报价和天气网络服务选项。 用户选择了搜索1107。现在参考图12, PDA 1200现在显示提示1202
"问题",随后是用户提供的输入"acme的帮助台号码是什么?"。 GMWS管理器获得该网络服务请求,处理它并将响应1204-1207送回 用户的PDA 1201的屏幕1203。
参考图13,最后PDA 1300显示用户先前提交的最近的搜索问题 1302,作为上下文菜单1301。优选情况下,这些内容存储在PDA中 并在将来的对话中可用。 实例XML:
表1中显示了从GMWS客户机310向GMWS管理器320请求 603具有个性化配置简表的网络服务列表的实例XML代码。该配置简 表描述了用户关注什么种类的服务。表1显示了用户的实例配置简表, 他关注得到股票和搜索服务,以及基于位置的服务。这种配置简表可 以用于滤掉不希望的服务。
表l:
<profile> location=wti:ue">
<service>stock</service> <service>search</service> </pirof ile:>
网络服务注册表324维护网络服务的列表,包括元数据。表2显 示了这样的注册表的实例内容。表2中符号的意义在表3中显示
表2:
<S6rvicss>
<service name="Search"
url-"http: //www acme com/services/search"
met:hod-"getSearchResiilt', retu2:nType-,,Stiring,' credlentialsWy" fceywoi:ci-"search"
heipWThis is a wet> service to get answers to your question- Fast Path command: search 'question* For example, s的rch ,what is acme help desk phone number '
nl=" (searchtask)\s+ W
xsl-" search. xsl ' > <param name="Questionn show="ti:ue"/>
<param na鹏。"Questions to Return" show-,'false" valuee,,4" type=" j ava lang, Integeir"/>
《pai:柳name="timeout" show="false" value="30" type="j ava lang,Integer"/>
<pai:am n抓e-"majcLength" show-"false" value=,,256" type ', java lang Integer"/> </service>
〈service name= "Stock Quote"
url= "http:〃www.acme.com/services/stock" um= "acme-stock" method= "getQuotes" returnType= "String"
keyword= "quote"
help- "This is a web service to get stock quote. Fast Path eommand: quote *tickerl, ticker2,. For example, quote acme."
nl= "quote\sl+.+" xsl="" > <param name= "Ticker" />
url= "http:〃www.acme,com/services/weather,, urn= "acme-weather,, method= "getWeather5* retumType= "String" credentials- "n"
keyword= "what,s the weather of*help="This is a web service to lookup the weather. Fast Path command: what,s the weather of zipcode. For example, what,s the weather of 12345."
nl= "what,s the weather of[\s
+0-9{5}" xsl="" > <param name= "zipcode" /> </services>
</services>
表3:
service:定义每种网络服务的元数据 name:网络月艮务的名称 url、 urn:网络服务的端点 method:网络服务的操作名称 returnType:网络服务返回数据的类型 credentials:定义网络服务是否需要用户凭证 keyword:用于自动产生快速路径命令的关键词 help:设备上将显示的帮助消息 nl:用于解析快速路径命令的正规表达式 xsl:用于变换网络服务输出的模版,可选。 param:定义网络服务的输入参数 name: 参数名称
show:指示在客户机设备上是否将显示这个参数的旗标。 该旗标是可选的。如果未定义,将向客户机显示该参数。
value:将在客户机设备上显示的默认值。该值是可选的。
type:输入参数的类型。默认时是"字符串"。
Enum:以逗号分开枚举值。 表4中显示了返回604到GMWS客户机310的元数据实例 表4:
<s6rvicss>
<service n柳e-"Search"
credent ial"y" keyword33 ,' search w
help-"This丄s a web service to get answers to your question* Fast Path command: search ,question', For example, search what is acme heip desk phone numbeir'" 《pai:柳name=wQuestion',/> </service>
<service name-"Stock Quote" credentials=nn"
help-"This is a web service to get stock quote* Fast Path command: quote tickerl,ticker2 , For example, quote acme." <param name^TickefV〉 </service> </services>
本发明的功能能够在软件、固件、硬件或其某种组合中实施。 作为一个实例,本发明的一个或多个方面能够包括在具有例如计 算机可用介质的制成品中(如一个或多个计算机程序产品)。该介质 中已经记录了例如计算机可读的程序代码装置,用于提供和便利本发 明的能力。该制成品能够作为计算机系统的一部分被包括其中或单独 出售。
另外,能够提供机器可读的至少一种程序存储设备,有形地包含 该机器可执行指令的至少一个程序,以执行本发明的能力。
本文描述的流程图仅仅是实例。对其中所介绍的这些图或步骤 (或操作)存在着不脱离本发明的实质的许多变种。例如,可以以不 同的次序执行这些步骤,也可以增加、删除或修改若干步骤。所有这 些变种都视为本发明权利要求的一部分。
虽然本文已经展示和介绍了本发明的优选实施例,但是应当理 解,本发明不限于本文公开的严格结构,对出现在附带权利要求书中 所定义的本发明范围之内的全部改变和修改"保留"权利。
权利要求
1.一种利用移动网络服务管理器向客户机提供网络服务的方法,所述方法包括以下步骤在所述移动网络服务管理器的本地注册表中存储一个或多个选择的网络服务的注册指示,所述注册指示标识由所述移动网络服务管理器支持的所述一个或多个选择的网络服务;存储对应的所注册的一个或多个选择的网络服务的属性,所述属性包括描述所选择的网络服务的接口的信息;选择所述一个或多个选择的网络服务的第一网络服务;根据所述存储的属性,将第一客户机请求变换为与所述一个或多个选择的网络服务的所述第一网络服务兼容的形式;以及将所述变换后的客户机请求转发到所述第一网络服务。
2. 根据权利要求l的方法,进一步包括以下步骤 根据所述存储的属性,将从所述第 一 网络服务接收的第 一 网络服务响应变换为与所述第一客户机兼容的形式;以及将所述变换后的第 一 网络服务响应转发到所述第 一客户机。
3. 根据权利要求1的方法,进一步包括向所述第一客户机发送 所述一个或多个选择的网络服务的注册网络服务列表和对应属性的步。
4. 根据权利要求3的方法,进一步包括在所述客户机呈现所述 注册网络服务列表的表达的步骤。
5. 根据权利要求4的方法,其中,所述选择步骤进一步包括以 下步骤所述第一客户机的用户通过客户机GUI界面,从所述呈现的表达选择所述第一网络服务;以及响应于所述用户选择,所述第一客户机从所述网络服务管理器请求所述第一网络服务。
6. 根据权利要求1的方法,其中,所述选择步骤进一步包括以下步骤所述第 一客户机创建快速路径形式的客户机请求,所述快速路径 形式包括第一网络服务选择信息;以及在快速路径中向所述网络服务管理器发送所述第 一客户机请求。
7. 根据权利要求1的方法,其中,所述选择步骤进一步包括以 下步骤翻译从所述第一客户机接收的自然语言格式的请求;以及 根据所述翻译步骤的结果选择所述第 一 网络服务。
8. 根据权利要求l的方法,进一步包括以下步骤使用第 一客户机凭证向所述第 一客户机授权接入所述第 一 网络 服务的许可;保存所述第一客户机授权的指示;以及使用所述保存的第一客户机授权的指示,授权随后的第一客户机 接入所述第一网络服务。
9. 根据权利要求1的方法,其中,所述客户机请求包括语音、 自然语言文本、数字数据或快速路径文本中的任何一种。
10. 根据权利要求l的方法,其中,所述属性包括取自具有以下 各项的列表的一个或多个属性笫一网络服务的名称、所述网络服务 的种类、所述网络服务的端点、所述网络服务的操作、用于快速路径 命令解析的模版、所述第一网络服务的说明、所述第一网络服务的安 全需求、所述第一网络服务的一个或多个关键词、所述输入字段的客 户机名、所迷输入字段的客户机类型、所述输入字段的客户机默认值 和表明所述字段应当显示的客户机旗标。
11. 根据权利要求l的方法,进一步包括以下步驟 存储从所述笫一客户机接收的客户机属性,所述客户机属性包括描述所述第一客户机接口的信息;以及响应于客户机请求,向所述第一客户机提供所存储的客户机属性。
12. 根据权利要求l的方法,其中,所述移动网络服务管理器将 所述第 一客户机请求的自然语言形式变换为快速路径形式的客户机请 求。
13. —种计算机程序产品,利用移动网络服务管理器向客户机提 供网络服务,所述计算机程序产品包括存储介质,可由处理电路读取并存储由所述处理电路执行的指 令,以执行包括以下步骤的方法在所述移动网络服务管理器的本地注册表中存储一个或多个选 择的网络服务的注册指示,所述注册指示标识由所述移动网络服务管 理器支持的所述一个或多个选择的网络服务;存储对应的所注册的一个或多个选择的网络服务的属性,所述属 性包括描述所选择的网络服务的接口的信息;选择所述一个或多个选择的网络服务的第 一 网络服务;才艮据所述存储的属性,将第一客户机请求变换为与所述一个或多 个选择的网络服务的所述第一网络服务兼容的形式;以及将所述变换后的客户机请求转发到所述第 一 网络服务。
14. 根据权利要求13的计算机程序产品,进一步包括以下步骤 根据所述存储的属性,将从所述第 一网络服务接收的第一网络服务响应变换为与所述第一客户机兼容的形式;以及将所述变换后的第 一 网络服务响应转发到所述第 一客户机。
15. 根据权利要求13的计算机程序产品,进一步包括向所述第 一客户机发送所述一个或多个选择的网络服务的注册网络服务列表和 对应属性的步骤。
16. 根据权利要求15的计算机程序产品,进一步包括在所述客 户机呈现所述注册网络服务列表的表达的步骤。
17. 根据权利要求16的计算机程序产品,其中,所述选择步骤 进一步包括以下步骤所述第一客户机的用户通过客户机GUI界面,从所述呈现的表 达选择所述第一网络服务;以及响应于所述用户选择,所述第一客户机从所述网络服务管理器请 求所述第一网络服务。
18. 根据权利要求13的计算机程序产品,其中,所述选择步骤 进一步包括以下步骤所述第一客户机创建快速路径形式的客户机请求,所述快速路径 形式包括第一网络服务选择信息;以及在快速路径中向所述网络服务管理器发送所述第 一客户机请求。
19. 根据权利要求13的计算机程序产品,其中,所述选择步骤 进一步包括以下步骤翻译从所述第一客户机接收的自然语言格式的请求;以及 根据所述翻译步骤的结果选择所述第 一 网络服务。
20. 根据权利要求13的计算机程序产品,进一步包括以下步骤 使用第 一客户机凭证向所述第 一客户机授权接入所述第 一 网络服务的许可;保存所述第一客户机授权的指示;以及使用所述保存的第一客户机授权的指示,授权随后的第一客户机 接入所述第一网络服务。
21. 根据权利要求13的计算机程序产品,其中,所述客户机请 求包括语音、自然语言文本、数字数据或快速路径文本中的任何一种。
22. 根据权利要求13的计算机程序产品,其中,所述属性包括 取自具有以下各项的列表的一个或多个属性第一 网络服务的名称、 所述网络服务的种类、所述网络服务的端点、所述网络服务的操作、 用于快速路径命令解析的模版、所述第一网络服务的说明、所述笫一 网络服务的安全需求、所述第一网络服务的一个或多个关键词、所述 输入字段的客户机名、所述输入字段的客户机类型、所述输入字段的 客户机默认值和表明所述字段应当显示的客户机旗标。
23. 根据权利要求13的计算机程序产品,进一步包括以下步骤 存储从所述第一客户机接收的客户机属性,所述客户机属性包括描述所述第一客户机接口的信息;以及响应于客户机请求,向所述第一客户机提供所存储的客户机属 性。
24. 根据权利要求13的计算机程序产品,其中,所述移动网络 服务管理器将所述第一客户机请求的自然语言形式变换为快速路径形 式的客户机请求。
25. —种利用移动网络服务管理器向客户机提供网络服务的系 统,所述系统包括一个或多个网络;一个或多个移动客户机计算机系统,与所述一个或多个网络的网 络进行网络通信;一个或多个网络服务计算机系统,与所述一个或多个网络的网络 进行网络通信;移动网络服务管理器计算机系统,利用所述一个或多个网络的网 络与所述一个或多个网络服务计算机系统进行通信,所述移动网络服 务管理器计算机系统进一步与所述一个或多个移动客户机计算机系统 进行网络通信,其中,所述移动网络服务管理器计算机系统的移动网 络服务管理器包括执行以下方法的指令在所述移动网络服务管理器的本地注册表中存储一个或多个选 择的网络服务的注册指示,所述注册指示标识由所述移动网络服务管理器支持的所述一个或多个选择的网络服务;存储对应的所注册的一个或多个选择的网络服务的属性,所述属性包括描述所选择的网络服务的接口的信息;选择所迷一个或多个选择的网络服务的笫 一 网络服务; 根据所述存储的属性,将第一客户机请求变换为与所述一个或多个选择的网络服务的所述笫一网络服务兼容的形式;以及 将所述变换后的客户机请求转发到所述第 一网络服务。
26. 根据权利要求25的系统,进一步包括以下步骤 根据所述存储的属性,将从所述第 一 网络服务接收的第 一网络服务响应变换为与所述笫一客户机兼容的形式;以及将所述变换后的第 一 网络服务响应转发到所述第 一客户机。
27. 根据权利要求25的系统,进一步包括向所述第一客户机发 送所述一个或多个选择的网络服务的注册网络服务列表和对应属性的 步骤。
28. 根据权利要求27的系统,进一步包括在所述客户机呈现所 述注册网络服务列表的表达的步骤。
29. 根据权利要求28的系统,其中,所述选择步骤进一步包括 以下步骤所述第一客户机的用户通过客户机GUI界面,从所述呈现的表 达选择所述第一网络服务;以及响应于所述用户选择,所述第一客户机从所述网络服务管理器请 求所述第一网络服务。
30. 根据权利要求25的系统,其中,所述选择步驟进一步包括 以下步骤所述笫一客户机创建快速路径形式的客户机请求,所述快速路径 形式包括第一网络服务选择信息;以及在快速路径中向所述网络服务管理器发送所述第 一客户机请求。
31. 根据权利要求25的系统,其中,所述选择步骤进一步包括 以下步骤翻译从所述第一客户机接收的自然语言格式的请求;以及 根据所述翻译步骤的结果选择所述第一网络服务,
32. 根据权利要求25的系统,进一步包括以下步骤使用第 一客户机凭证向所述第 一客户机授权接入所述第 一 网络 服务的许可;保存所述第一客户机授权的指示;以及使用所述保存的第一客户机授权的指示,授权随后的第一客户机 接入所述第一网络服务。
33. 根据权利要求25的系统,其中,所述客户机请求包括语音、 自然语言文本、数字数据或快速路径文本中的任何一种。
34. 根据权利要求25的系统,其中,所述属性包括取自具有以 下各项的列表的一个或多个属性第一网络服务的名称、所述网络服 务的种类、所述网络服务的端点、所述网络服务的操作、用于快速路 径命令解析的模版、所述第一网络服务的说明、所述第一网络服务的安全需求、所述第一网络服务的一个或多个关键词、所述输入字段的 客户机名、所述输入字段的客户机类型、所述输入字段的客户机默认 值和表明所述字段应当显示的客户机旗标。
35. 根据权利要求25的系统,进一步包括以下步骤 存储从所述第一客户机接收的客户机属性,所述客户机属性包括描述所述第一客户机接口的信息;以及响应于客户机请求,向所述第一客户机提供所存储的客户机属性。
36. 根据权利要求25的系统,其中,所述移动网络服务管理器 将所述第一客户机请求的自然语言形式变换为快速路径形式的客户机 请求。
全文摘要
一种通用移动网络服务(GMWS)管理器为移动客户机提供了对网络服务的接入。所述GMWS管理器提供了网络服务与移动客户机(例如手持PDA)之间的接口。所述GMWS管理器保留了所支持网络服务的注册表和有关所述网络服务和所述移动客户机的元数据属性。根据对所述GMWS管理器可用的属性利用所述GMWS管理器在客户机与注册的网络服务之间传输信息。
文档编号H04L29/08GK101103612SQ200680001917
公开日2008年1月9日 申请日期2006年2月20日 优先权日2005年2月23日
发明者晨 舒, 迈克尔·范·德·穆伦 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1