在不同于服务所期望的协议的其它协议中发起的服务请求的制作方法

文档序号:6432310阅读:280来源:国知局
专利名称:在不同于服务所期望的协议的其它协议中发起的服务请求的制作方法
技术领域
本发明涉及向用户提供所请求的信息,尤其涉及利用一种与提供信息的服务所期望的协议不同的协议向用户提供信息。
背景技术
随着互联网的逐渐普及,越来越多的人利用他们的移动设备访问互联网。人们通过互联网访问的许多应用都基于会话。会话允许多个请求和多个响应来完成一项任务。
这就需要许多访问互联网的移动设备具有一个与基于Web应用的会话进行通信的Web浏览器。Web浏览器提供菜单和超链接,使得用户可以通过Web应用(在下文称作“用户导航能力”)进行导航。然而,许多人具有没有Web浏览器的移动设备。相反,这些移动设备通常使用诸如电子邮件和短消息服务(SMS)这样的异步协议。异步协议只允许给定任务的单一请求和对那个请求的单一响应。
因此,可明显地看到,有必要向使用大量异步协议的移动设备提供诸如会话和用户导航能力等Web能力。

发明内容
本发明提供了用与服务所期望的协议不同的协议发起服务请求的技术。例如,许多人想要使用他们的移动设备与服务交互,这要求在一次会话中拥有多个相关消息的能力。然而,他们的移动设备没有支持与这种服务交互的协议。本文中提供的一项技术是把一个中间件(intermediary)插入移动设备和服务之间来代表移动设备提供会话能力。


本发明参照附图以举例的方式而不是以限制的方式加以描述,在附图中,同样的参考编号指示相同的元件,其中图1A是用于以与服务所期望的协议不同的协议发起服务请求的系统框图;图1B是显示消息的框图,其中,目标地址对应于一个站点,消息内容用于定位站点内的一项服务;图1C是显示消息的框图,其中,目标地址对应于一特定服务;图1D是显示消息的框图,其中,目标地址对应于一特定应用;
图2是阐明客户设备、中间件、和服务之间的消息流的框图;以及图3是阐明一计算机系统的框图,在该计算机系统上可以实现根据本发明的实施例。
具体实施例方式
本发明描述了一种用于以与服务所期望的协议不同的协议发起服务请求的方法,出于解释的目的,本发明提出了许多具体的细节,以提供对本发明的彻底理解。然而,很显然,没有这些具体细节本发明仍可以实施。在其它例子中,为了避免对本发明造成不必要的模糊,已知的结构和设备以框图的形式显示。
系统概述图1A是用于以与服务所期望的协议不同的协议发起服务请求的系统框图。客户设备100用于利用消息101请求服务。客户设备100使用诸如电子邮件或SMS等异步协议传送消息101。消息101包含服务请求和定位服务(151、152、或153)的信息。在一个实例中,消息101中的目标地址用于定位一特定服务。在另一个实例中,消息101中的目标地址用于定位站点150,消息101的部分内容用于定位站点150内的特定服务151。
传递处理器(handler)120封装有一个或多个异步协议处理器,例如电子邮件协议处理器121、SMS协议处理器122、和其它的协议处理器123。每一协议处理器(121、122、123)处理一特定类型的异步协议。因此,传递处理器120能够与客户设备100使用的任何异步协议通信。协议处理器(121、122、或123)将消息101的内容传送给中间件(intermediary)140。根据一个实施例,消息101的内容为文本格式(以下称作“文本格式请求”)。
中间件140接收来自协议处理器(121、122、或123)其中之一的消息101的内容,把消息101的内容转换成服务(151、152、或153)可以理解的格式,把请求转发给服务(151、152、或153),保持会话环境,这些将更加详细地加以描述。例如,消息101的内容用于(1)填充web页面的字段(域)或(2)选择一超链接,这些将更加详细地加以描述。根据一个实施例,填过的web页面是Oracle的移动XMLTM格式的。
服务协议处理器(handler)180提供诸如超文本传送协议(HTTP)等web协议。根据一个实施例,服务协议处理器180由互联网服务提供商(ISP)来提供。根据另一实施例,服务协议处理器180是用于登记服务(151、152、153)的Java API。服务(151、152、或153)提供响应消息101的信息。根据一实施例,对消息101的响应是一个web页面。例如,对消息101的响应可以是Oracle的移动XMLTM格式的。服务151在站点150上。
应用映射160包含将有效的目标地址映射到应用(130、140)的地址-到-应用映射。应用(130或140)通过使用传递处理器120登记目标地址来监听特定的目标地址。登记目标地址创建应用映射160中的映射入口(entry)。例如,当中间件140登记特定目标地址时,在应用映射160中创建把特定的目标地址映射到中间件140的入口。
根据一实施例,服务映射170把消息101的目标地址映射到一特定服务。根据另一实施例,服务映射170把消息101的目标地址和消息101的部分内容映射到站点150内的特定服务151。这些实施例在下文中更加详细地加以描述。
操作范例一个人在客户设备100上输入电子邮件消息101。消息101包含指定服务152的目标地址。消息101由传递处理器120截取。因为消息101是电子邮件,电子邮件协议处理器121接收来自客户100的消息101,使用消息101的目标地址来定位应用映射160中的入口,使用入口来确定把消息101转发到哪个应用(130或140)。假定入口映射到中间件140,则电子邮件协议处理器121把消息101转发到中间件140。中间件140使用消息101的目标地址或消息101的目标地址和消息101的部分内容定位服务映射170中的入口。服务映射170中的入口用于确定消息101的内容转发到哪个服务(151、152、或153)。假定服务152期望填写过的web页面形式的请求,则中间件140使用消息101的内容填写该web页面。假定服务152期望接收使用HTTP协议的请求,则服务协议处理器140截取该填写过的web页面,并将之使用HTTP发送给服务152。然后服务152发送响应,过程相反。
寻址考虑(ADDRES SING CONSIDERATIONS)图1B是显示消息的框图,其中,目标地址对应于一站点,消息内容用于在站点内定位服务。消息101指定一目标地址102和消息体。目标地址102是int@y.com,其中包括站点地址106,y.com。例如,站点地址106,y.com对应于站点,而不是对应于特定服务。
消息体包含指令103。根据一实施例,指令103有两个部分缩写名(short name)104和提示105。指令103“ST ORCL”指定由指定站点提供的特定服务,并提供与该服务相关的参数值。特别地,“ST”指明股票报价服务,“ORCL”指明股票是Oracle的。
中间件140是用来监听目标地址102int@y.com的应用。站点150位于站点地址106y.com。服务151是站点150中位于地址y.com/finance/stock的股票服务。由于目标地址102包括站点地址106y.com,所以缩写名104“ST”用于指明站点150内的服务151。中间件140把提示105“ORCL”传送给服务151。
如果站点寻址与SMS协议一起使用,则目标地址是一个类似于1234567的电话号码。因此,电话号码1234567可以指示站点150。短消息104“ST”用于指示站点150内的服务151。
图1C是显示消息的框图,其中目标地址对应于一特定服务。目标地址102是stock@y.com。服务-级别地址107也是stock@y.com。消息体包含指令103“ORCL”,用来获得Oracle股票的报价。根据一实施例,指令103有一个部分-提示105。中间件140监听目标地址102stock@y.com。服务151是位于stock.y.com的股票报价服务。中间件140把提示105“ORCL”传送给服务151。
图1D是显示消息的框图,其中目标地址对应于一特定应用。目标地址102是int@int.com。目标地址102包括一应用地址108int.com。
中间件140监听目标地址102int@int.com。中间件140位于应用地址108int.com处。中间件140使用缩写名104“ST”来确定服务151的服务地址。在这个例子中,服务151由中间件使用站点寻址y.com/finance/stock、或服务-级别寻址stock.y.com来联系。中间件140把提示105“ORCL”传送给服务151。虽然这些例子描述了把提示105传送给服务151,但是除了提示105或代替提示105,也可以传送其它信息。
用户导航能力和会话图2是阐明客户设备、中间件、和服务之间的消息流的框图。根据一实施例,人们可以请求来自能返回web页面的服务的信息。Web页面可以包括菜单项和/或超链接(在下文称作“web格式的响应”)。根据一实施例,菜单项和超链接被转换成能在移动设备上显示的文本格式。这可通过把菜单项和超链接转换成前面有一用户可选择的参考数字的描述性文本来完成。
在描述性文本前面的参考数字以菜单树的形式连接菜单。当用户通过选择参考数字穿越菜单树时,中间件140通过保存选定的参考数字保持会话环境。所以,中间件140知道用户目前位于菜单树中的什么位置。根据一实施例,会话环境作为状态机(state machine)的一部分而保持。
根据一实施例,会话环境由中间件140来储存和保持。当中间件140接收到来自客户设备100的请求时,中间件140检查与该请求关联的设备ID。如果那个设备ID的会话环境还未存在,则中间件140创建会话环境。根据一实施例,会话环境包括客户设备100的设备ID、用户选择的参考数字、以及web格式的响应。当会话结束时,会话环境被释放。
根据一实施例,当定时器终止时会话终止。根据另一个实施例,会话环境用于确定何时终止会话。例如,当会话环境显示用户已经退出该服务时,会话终止。根据第三实施例,会话环境和定时器都用于根据哪种情况最先发生确定终止会话的时间。例如,在定时器结束或用户退出菜单树的最早时刻,会话结束。
下面菜单204和菜单208阐明一菜单树,在菜单树中选择菜单204上的参考数字2导致菜单208显示给用户。例如,用户可以通过输入目标地址102info@oraclemobile.com和指令103“ypeating_establishments home”(在下文称作“文本格式的初始请求201”)请求离用户家最近的饮食店的地址。缩写名“yp”代表黄页,“home”参数显示饮食店应该靠近用户的家。
用户的文本格式的初始请求201被传送到服务(151、152、或153)。图1B、1C、和1D也是文本格式的初始请求201的例子。中间件140截取文本格式的初始请求201,利用它的内容创建web格式的初始请求202。服务地址可基于在此已经描述的文本格式的初始请求201中的目标地址102获得。服务152利用第一web页面203作为响应。在这个例子中,第一web页面203有两个超链接第一个是针对好的饭店(fine restaurants),第二个是针对汉堡连锁店(burger joints)。中间件140截取第一个web页面203,使第一web页面203与会话环境相关联,把第一个web页面203转换成文本格式的消息,菜单204,把菜单204传送给客户设备100。菜单204显示在客户设备100上,如下所示

在客户设备100上输入参考数字“2”(205)作为对用户家附近的汉堡连锁店名单的请求。中间件140在会话环境中保存参考数字“2”。中间件140把参考数字“2”转换成服务152通过使用第一web页面203可理解的响应。例如,中间件140把用户选定的参考数字“2”翻译成对第一web页面203中针对汉堡连锁店的第二超链接的选择。对第二超链接206的选择传送到服务152。服务152利用第二个web页面207作为响应,第二个web页面207是一个汉堡连锁店列表。第二web页面207有四个超链接第一个是BurgerKing,第二个是Carl’s Junior,第三个是McDonalds,第四个是Wendy’s。中间件140截取第二web页面207,使第二web页面207与会话环境相关联,把第二web格式的响应翻译成菜单208,并将菜单208传送给客户设备100。菜单208显示在客户设备100上,如下所示

在客户设备100上输入参考数字“3”(209)作为对离用户家最近的McDonald的地址的请求。中间件140在会话环境中保存参考数字“3”。
中间件140把参考数字“3”(209)翻译成服务152通过使用第二web页面207可理解的响应。例如,中间件140把用户选定的参考数字“3”翻译成对第二web页面207中针对McDonald’s的第三超链接的选择。对第三超链接210的选择传送到服务152。服务152利用web格式的McDonald’s地址211作为响应。中间件140截取web格式的McDonald’s地址211,把web格式的McDonald’s地址211翻译成文本格式的McDonald’s地址212,把文本格式的McDonald’s地址212发送给客户设备100。如果服务152把McDonald’s地址以文本格式发送给中间件140,那么就没必要进行翻译。文本格式的McDonald’s地址212显示在客户设备100上。
此时,中间件140确定已经满足了用户文本格式的初始请求201。用户输入三个请求文本格式的初始请求201、参考数字“2”(205)、和参考数字“3”(209)。用户接收到三个响应菜单204、菜单208、和McDonald’s地址212。完成任务需要三个请求和三个响应是一个会话的例子。可以看出,保持会话环境提供会话能力和用户导航能力给采用异步协议进行通信的移动设备。
根据一实施例,用户可以通过输入Esc键(escape)在导航菜单树时退出并继续一新请求。例如,如果用户在请求饮食店之后但在接收到饮食店地址之前决定检查Oracle的股票价格,用户可以输入Esc键。那么用户可以如在此已经描述过的那样请求Oracle的股票价格。
不要求连续活跃连接不像支持会话的web应用,在“会话”持续期间不要求连续活跃连接,因为在客户设备100和中间件140之间使用异步协议。例如,当使用移动设备利用同步web协议进行通信的人进入隧道时,通信中断。为了使他能接收到被请求的信息,不得不重新建立连接。相反,当使用客户设备100利用异步协议进行通信的人进入隧道且通信中断时,他一旦出了隧道仍可以接收到剩余的信息。
硬件概述图3的方框图示出了可以实现本发明的实施例的计算机系统300。计算机系统300包括总线302和其它用于传送信息的通信机制,与总线302连接的处理器304用于处理信息。计算机系统300也包括连接到总线302的诸如随机存取存储器(RAM)和其它动态存储装置这样的主存储器306,用于储存将被处理器304执行的信息和指令。主存储器306也可以用于储存在将被处理器304执行的指令的执行过程中的暂时变量和其它中间信息。计算机系统300进一步包括连接到总线302的只读存储器(ROM)308和其它静态存储装置,用于为处理器304储存静态信息和指令。存储装置310,诸如磁盘和光盘,连接到总线302用于存储信息和指令。
计算机系统300可以经由总线302连接到显示屏312,诸如阴极射线管(CRT),用于把信息显示给计算机用户。输入装置314,包括字母数字键和其它键,连接到总线302,用于把信息和命令选择传送给处理器304。另一种类型的用户输入装置是光标控制器316,诸如鼠标,跟踪球,和光标方向键,用于向处理器304传送方向信息和命令选择,和控制光标在显示屏312上的移动。这种输入装置通常有两个坐标轴上的自由度,第一个坐标轴(例如x)和第二个坐标轴(例如y),这允许装置在平面上指定位置。
本发明涉及用于实施本文中描述的技术的计算机系统300的使用。根据发明的一个实施例,响应处理器304执行包含在主存储器306中的一个或多个指令的一个或多个序列,这些技术被计算机系统300执行。这些指令从例如存储装置310等的另一计算机可读介质读入主存储器306。执行包含在主存储器306中的指令序列将导致处理器304执行下面描述的过程步骤。在另一个实施例中,硬连线电路被用于替代或结合软件指令实现发明。因此,本发明的实现不仅限于任何硬件电路和软件的特定组合。
此处使用的术语“计算机可读介质”指参与提供指令到处理器304进行执行的任何介质。这种介质有许多形式,包括但不限于,非易失性介质、易失性介质、以及传送介质。举例来说,非易失性介质包括,光盘或磁盘,例如存储装置310等。易失性介质包括动态存储器,比如主存储器306。传送介质包括同轴电缆、铜导线、以及光纤,包括组成总线302的线缆。传送介质还包括声音或光波形式,比如在无线电波或红外线数据通信中产生的波。
举例来说,计算机可读介质的通用形式包括软盘,柔性盘,硬盘,磁带,或任何其它磁介质,CD-ROM或任何其它光介质,穿孔卡片,纸带,任何其它带有孔图案的物理介质,RAM,PROM,和EPROM,FLASH-EPROM,任何其它存储芯片或磁带,下面描述的载波,或任何其它计算机可读的介质。
可以将各种形式的计算机可读介质用于将一个或多个指令的一个或多个序列传送给处理器304用于执行。例如,该指令可以最初承载在远程计算机的磁盘上。该远程计算机将指令载入其动态存储器,并使用调制解调器在电话线上传送指令。计算机系统300的本地调制解调器可以接收电话线上的数据,并使用红外发射器把数据转换为红外信号。红外检测器能接收在红外信号中承载的数据,适当的电路把该数据放置到总线302上。总线302承载数据到主存储器306,处理器304再从主存储器306中检索并执行指令。在处理器304执行之前或之后,主存储器306接收的指令可选地储存在存储装置310上。
计算机系统300还包括耦合到总线302的通信接口318。通信接口318提供了一种与连接到本地网络322的网络链路320的双向数据通信。比如,通信接口318可以是集成服务数字网络(ISDN)卡或调制解调器,用来提供数据通信连接到对应类型的电话线。作为另一个例子,通信接口318可以是局域网(LAN)卡,提供到兼容的LAN的数据通信连接。也可以实现无线链路。在任何这样的实现方式中,通信接口318都能发送和接收电信号、电磁信号、或光信号,这些信号承载着代表各种类型信息的数字数据流。
网络连接320通常通过一个或多个网络提供数据通信到其它数据装置。比如,网络连接320可以提供通过本地网络322至主计算机324或由互联网服务提供商(ISP)326操作的数据装置的连接。ISP 326又通过通常称为“互联网”328的万维分组数据通信网络提供数据通信服务。本地网络322和互联网328都使用电信号、电磁信号、或光信号承载数字数据流。经过各种网络的信号、网络链路320上的信号、以及经过通信接口318的信号,承载着送到和来自计算机系统300的数字数据,是传输信息的载波的示范形式。
计算机系统300通过网络、网络链路320、以及通信接口318发送消息和接收数据,包括程序代码。在互联网实例中,服务器330通过互联网328、ISP 326、本地网络322、以及通信接口318发送所请求的应用程序代码。
当接收到代码后,接收到的代码可以由处理器304执行,或储存在存储装置310或其他非易失性存储器中用于随后执行。以这种方式,计算机系统300可以获得载波形式的应用代码。
在上述说明书中,已经参考具体实施例说明了本发明。然而,显然可以对其做出各种变化和改变,而不背离本发明宽广的精神和范围。因此,说明书和附图仅用来说明而非限定本发明。
权利要求
1.一种在设备和服务之间进行会话的方法,包括以下计算机实施步骤在中间件处接收来自客户设备的利用第一协议发送的第一消息;其中所述第一协议不支持会话;响应所述第一消息,所述中间件向所述服务发送第二消息;在所述中间件处接收作为所述第二消息的响应的第三消息;响应所述第三消息,在所述中间件处储存会话信息;向所述客户设备发送第四消息;在所述中间件处接收来自所述客户设备的第五消息;响应所述第五消息,定位所述会话信息;基于所述第五消息和所述会话信息的内容产生第六消息;以及向所述服务发送所述第六消息。
2.根据权利要求1所述的方法,其中在所述中间件处接收所述第三消息的步骤包括在所述中间件处接收包括带有超链接的菜单的所述第三消息的步骤。
3.根据权利要求1所述的方法,其中向所述客户设备发送所述第四消息的步骤包括向所述客户设备发送包括带有参考数字的菜单的所述第四消息。
4.根据权利要求1所述的方法,其中至少部分地从与所述第一消息关联的目标地址确定所述服务的服务地址,包括至少部分地从与所述第一消息关联的所述目标地址确定所述服务的所述服务地址的步骤。
5.根据权利要求4所述的方法,其中所述目标地址包括站点地址,确定所述服务地址的步骤包括至少部分地基于所述站点地址和与所述第一消息关联的缩写名确定所述服务地址。
6.根据权利要求4所述的方法,其中所述目标地址包括服务-级别-地址,确定所述服务地址的步骤包括至少部分地基于所述服务-级别-地址确定所述服务地址。
7.根据权利要求4所述的方法,其中所述目标地址是电话号码,确定所述服务地址的步骤包括至少部分地基于所述电话号码确定所述服务地址。
8.根据权利要求4所述的方法,其中保持一种应用映射,所述应用映射包括至少一个把所述目标地址映射到正在监听所述目标地址的所述中间件的入口,其中所述接收所述第一消息的步骤包括在所述中间件处接收所述第一消息,使用所述应用映射确定所述中间件的位置。
9.根据权利要求4所述的方法,其中保持服务映射,所述服务映射包括至少一个把所述目标地址映射到所述服务的入口,所述服务地址至少部分地基于所述入口,其中发送所述第二消息的步骤包括在位于至少部分地基于所述入口的所述服务地址处向所述服务发送所述第二消息。
10.根据权利要求4所述的方法,其中保持服务映射,所述服务映射包括至少一个把所述第一消息的所述目标地址和缩写名影射到所述服务的入口,所述服务地址至少部分地基于所述入口,其中发送所述第二消息的步骤包括在位于至少部分地基于所述入口的所述服务地址处向所述服务发送所述第二消息。
11.根据权利要求1所述的方法,其中所述第一消息包括指令,向所述服务发送所述第二消息的步骤包括创建用于指示所述指令的所述第二消息。
12.根据权利要求1所述的方法,其中接收所述第一消息的步骤由协议处理器实施,进一步包括以下步骤从所述第一消息提取目标地址和指令;至少部分地基于所述目标地址确定所述中间件的地址;以及向所述中间件发送所述目标地址和所述指令。
13.根据权利要求12所述的方法,其中所述协议处理器是电子邮件协议处理器,所述提取步骤由所述电子邮件协议处理器实施。
14.根据权利要求12所述的方法,其中所述的协议处理器是SMS协议处理器,所述提取步骤由所述SMS协议处理器实施。
15.根据权利要求1所述的方法,其中所述第二消息利用HTTP来发送。
16.根据权利要求1所述的方法,其中所述第二消息利用Java API来发送。
17.根据权利要求1所述的方法,其中向所述服务发送所述第二消息的步骤由互联网服务提供商来实施。
18.根据权利要求1所述的方法,其中储存会话信息的步骤包括保持包括用户从菜单选出的参考数字的会话环境的步骤。
19.根据权利要求18所述的方法,其中所述会话环境被保持在状态机中,所述保持步骤包括在所述状态机中保持所述会话环境。
20.根据权利要求1所述的方法,其中所述第三消息对应于所述会话信息,所述储存步骤包括使所述第三消息与所述会话信息关联。
21.根据权利要求1所述的方法,其中所述设备的设备ID用于确定会话开始的时间,其中在所述中间件接收所述第一消息的步骤包括在所述中间件处第一次检测到与所述第一消息关联的所述设备ID时开始所述会话。
22.根据权利要求1所述的方法,其中定时器用于确定会话结束的时间,进一步包括在所述定时器终止时结束所述会话的步骤。
23.根据权利要求1所述的方法,其中会话在定时器终止或用户退出菜单树的最早时刻结束,进一步包括在所述定时器终止或所述用户退出所述菜单树的最早时刻结束所述会话的步骤。
24.根据权利要求1所述的方法,其中在所述中间件处接收所述第三消息的步骤包括在所述中间件处接收Oracle的移动XMLTM格式的所述第三消息。
25.一种计算机可读介质,用于储存一个或多个指令序列来在设备和服务之间进行会话,其中一个或多个指令序列由一个或多个处理器执行导致一个或多个处理器实施以下步骤在中间件处接收来自客户设备利用第一协议发送的第一消息;其中所述第一协议不支持会话;响应所述第一消息,所述中间件向所述服务发送第二消息;在所述中间件处接收作为所述第二消息的响应的第三消息;响应所述第三个消息,在所述中间件处储存会话信息;向所述客户设备发送第四消息;在所述中间件处接收来自所述客户设备的第五消息;为响应所述第五消息,定位所述会话信息;基于所述第五消息的内容和所述会话信息产生第六消息;以及向所述服务发送所述第六消息。
26.根据权利要求25所述的计算机可读介质,其中在所述中间件处接收所述第三消息的步骤包括在所述中间件处接收包括一个带有超链接的菜单的所述第三消息。
27.根据权利要求25所述的计算机可读介质,其中向所述客户设备发送所述第四消息的步骤包括向所述客户设备发送包括一带有参考数字的菜单的所述第四消息。
28.根据权利要求25所述的计算机可读介质,其中所述服务的服务地址至少部分地从与所述第一消息关联的目标地址确定,包括至少部分地从与所述第一消息关联的所述目标地址确定所述服务的所述服务地址的步骤。
29.根据权利要求28所述的计算机可读介质,其中所述目标地址包括站点地址,确定所述服务地址的步骤包括至少部分地基于所述站点地址以及与所述第一消息关联的缩写名确定所述服务地址。
30.根据权利要求28所述的计算机可读介质,其中所述目标地址包括服务-级别-地址,确定所述服务地址的步骤包括至少部分地基于所述服务-级别-地址确定所述服务地址。
31.根据权利要求28所述的计算机可读介质,其中所述目标地址是一个电话号码,确定所述服务地址的步骤包括至少部分地基于所述电话号码确定所述服务地址。
32.根据权利要求28所述的计算机可读介质,其中保持应用映射,所述应用映射包括至少一个把所述目标地址映射到正在监听所述目标地址的所述中间件的入口,其中接收所述第一消息的步骤包括在所述中间件处接收使用所述应用映射确定所述中间件位置的所述第一消息。
33.根据权利要求28所述的计算机可读介质,其中保持服务映射,所述服务映射包括至少一个把所述目标地址映射到所述服务的入口,所述服务地址至少部分地基于所述入口,其中发送所述第二消息的步骤包括向位于所述服务地址处的至少部分地基于所述入口的所述服务发送所述第二消息。
34.根据权利要求28所述的计算机可读介质,其中保持服务映射,所述服务映射包括至少一个把所述第一消息的所述目标地址和缩写名影射到所述服务的入口,所述服务地址至少部分地基于所述入口,其中发送所述第二消息的步骤包括向位于所述服务地址的至少部分地基于所述入口的所述服务发送所述第二消息。
35.根据权利要求25所述的计算机可读介质,其中所述第一消息包括指令,向所述服务发送所述第二消息的步骤包括创建指示所述指令的所述第二消息。
36.根据权利要求25所述的计算机可读介质,其中接收所述第一消息的步骤由协议处理器实施,进一步包括以下步骤从所述第一消息提取目标地址和指令;至少部分地基于所述目标地址确定所述中间件的地址;以及向所述中间件发送所述目标地址和所述指令。
37.根据权利要求36所述的计算机可读介质,其中所述协议处理器是电子邮件协议处理器,所述提取步骤由所述电子邮件协议处理器实施。
38.根据权利要求36所述的计算机可读介质,其中所述协议处理器是SMS协议处理器,所述提取步骤由所述SMS协议处理器实施。
39.根据权利要求25所述的计算机可读介质,其中所述第二消息利用HTTP发送。
40.根据权利要求25所述的计算机可读介质,其中所述第二消息利用Java API来发送。
41.根据权利要求25所述的计算机可读介质,其中向所述服务发送所述第二消息的步骤由互联网服务提供商实施。
42.根据权利要求25所述的计算机可读介质,其中计算机可读介质进一步包括保持包括用户从菜单选出的参考数字的会话环境的步骤。
43.根据权利要求42所述的计算机可读介质,其中所述会话环境被保持在状态机中,所述保持步骤包括在所述状态机中保持所述会话环境。
44.根据权利要求25所述的计算机可读介质,其中所述第三消息与所述会话信息关联,所述储存步骤包括使所述第三消息与所述会话信息关联。
45.根据权利要求25所述的计算机可读介质,其中所述设备的设备ID用于确定会话开始的时间,其中在所述中间件处接收所述第一消息的步骤包括在所述中间件处第一次检测到与所述第一消息关联的所述设备ID时开始所述会话。
46.根据权利要求25所述的计算机可读介质,其中定时器用于确定会话结束的时间,进一步包括在所述定时器终止时结束所述会话的步骤。
47.根据权利要求25所述的计算机可读介质,其中会话在定时器终止或用户退出菜单树的最早时刻结束,进一步包括在所述定时器终止或所述用户退出所述菜单树的最早时刻结束所述会话的步骤。
48.根据权利要求25所述的计算机可读介质,其中在所述中间件处接收所述第三消息的步骤包括在所述中间件处接收Oracle的移动XMLTM格式的所述第三消息。
全文摘要
本发明提供了用于在不同于服务所期望的诸如HTTP和JavaAPI这样的协议的其它诸如SMS和电子邮件这样的协议中发起服务请求的技术。例如,许多人想要使用他们的移动设备与要求在一次会话中拥有多个相关消息的能力的服务交互。然而,他们的移动设备并没有支持与这种服务交互的协议。本发明提供的一项技术是把一个能代表移动设备提供会话能力的中间件插在移动设备和服务之间。在一个实施例中,一个服务返回包括菜单项和/或超链接在内的web页面。菜单项和超链接被翻译成描述性文本,在描述性文本之前有一个可供用户选择的参考数字。中间件通过保存选定的参考数字保持会话环境。
文档编号G06F13/00GK1650592SQ02823833
公开日2005年8月3日 申请日期2002年11月27日 优先权日2001年11月30日
发明者叶舟, 王建中 申请人:甲骨文国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1