lisp协议instand_利用存在协议提供通用请求/响应消息协议的方法、系统和数据结构的制作方法...

专利名称:利用存在协议提供通用请求/响应消息协议的方法、系统和数据结构的制作方法

利用存在协议提供通用请求/响 应消息协议的方法、系统和数据结构

背景技术:

确定人或对象是否存在可进行交互或使用已经成为并很可能将继 续成为社会中的日常之事。随着技术发展,我们可以确定人或对象是否 存在以进行交互的方式也有了发展。例如,过去二十多年来计算机的使

用以及通过诸如因特网的广域网(WAN)的网络互连的迅速增长导致存 在服务(presence service)的发展和使用。存在服务可以用于将网络

中用户的存在基于用户经由计算和/或通信设备的到网络的连接性传达 给其他网络用户。描述用户在网络中存在的信息可被应用和/或其他服 务用来提供这里所说的"存在感知应用"。

目前更流行的存在感知应用之一就是即时通讯(或IM)。流行的IM 应用包括雅虎的YAHOO MESSENGER,微软的MSN MESSENGER和美国在线 的AOLINSTANT MESSENGER (或AIM) 。 IM应用采用存在服务以允许用户判 定其他用户(被这些应用称为"朋友"或"伙伴"的)是否在(例如, 连接到)网络上。存在服务还可用于确定用户的状态(例如,有空、没 空等等)和用于与用户通信的通信地址。该通信地址可包括和用户通信

的方式(例如通过电话或电子邮件)和相应的联系地址(例如电话号码 或电子邮件地址)。

一般与存在服务相关的体系结构、模型和协议都描述在"Request for Comments"(或RFC) documents RFC 2778,作者为Day等,标题为

"A Model for Presence and Instant Messaging" (2000年2月),以 及RFC 2779,作者为Day等,标题为"Instant Messaging/Presence Protocol" (2000年2月),每个都由因特网协会出版并拥有。虽然上述 的各种存在感知IM应用可采用专有的体系结构和协议来实施它们的存 在服务部件,每个应用采用与在RFC 2778和RFC 2779中描述的存在模 型和协议在特征和功能方面一致的存在体系结构和协议。

在RFC 2778中描述的存在服务模型描述了存在服务的两个不同的 用户,称之为存在"客户"。这些客户的第一个叫做存在实体(是术语

"存在"和"实体"的组合),其提供了贯穿存在服务中将要存储并分配的存在信息。存在信息包括存在服务的用户的状态,也可包括服务所 用的其他信息。该其他信息可包括,例如,如上面所述的用户的通信方 式和联系地址。用于供存在服务使用的存在信息可以任意形式存储或保 存,但通常被组织为多个部分,称作存在元组。如本领域技术人员可以 理解的,元组在其最广泛的意义上是包含两个或更多部分的数据对象。 因此,存在元组可包括用户的标识符和用户的状态、联系地址、或存在 服务所使用的其他信息。

第二种类型的存在客户被称为"观察者"。观察者接收来自存在服

务的存在信息。RFC2778的存在模型描述了多种观察者,称为"预订者 (subscriber)"和"提取者(fetcher ),,。预订者请求来自存在服 各的姿千*在在实汰的在在信泉的变化的诵如 在左服备^,炎预订者搶

立对存在实体的存在信息的预订,使得存在实体的存在信息的未来变化 就被"推到,,预订者。相反,观察者中的提取者族从存在服务请求(或 提取)某存在实体的存在信息的当前值。这样,存在信息可以说是从存 在服务被"拉到"存在实体。 一种特殊的提取者(称作"轮询者")在 模型中被定义为在定期的(或轮询的)基础上提取信息。

存在服务也可以管理、存储和分配与观察者以及就提取或预订使用 存在服务的其他存在客户的存在信息而言的观察者的活动相关的存在 信息。这个"观察者信息"可以由存在服务使用相同机制分配给其他观 察者,该机制可用于分配存在实体的存在信息。应理解虽然模型将存在 实体和观察者描述为单独的实体,这些实体可以功能地组合为具有存在 实体和观察者两者的特性的单个存在实体。因此,词组"存在实体

(present i ty),,(与术语"存在的实体(presence entity)"成对照) 或更简单地具有适当修饰语(例如,响应、请求、接收或发送)的术语

"实体,,在本申请中用以描述上述的所有存在实体、观察者、预订者、 提取者或轮询者实体的任意一个或任意组合。

存在服务的用户在RFC2778中描述的存在模型中被称为主体

(principal)。典型地,主体是指存在于存在模型之外的,但也可以 代表能够与存在服务交互的软件或其他资源的人或群组。该模型没有定 义主体的要求或功能性,但确实声明两个不同的主体是不同的,以及两 个相同的主体是相同的。为了本申请的目的,将不采用主体的这个严格 的解释一-也就是说,两个不同的主体不必不同,并且两个相同的主体不必相同。例如,第三代合作伙伴计划(3GPP)已经包含将存在服务并 入它们的通用移动通信系统(UMTS)的标准,其为UMTS的用户定义了 "公共标识,,的使用。特定的UMTS用户可以具有几个公共标识。因此, 如果这种公共标识被解释为主体,则作为主体的公共标识可与多于一个 的存在客户相关联。

根据在RFC2778中描述的一般存在模型,主体可通过存在用户代理 (PUA)或观察者用户代理(WUA)与存在系统进行交互。如在这些用户代理 与其交互的存在实体和观察者客户的情况中,该存在用户代理和观察者 用户代理可以在功能上组合为同时具备存在用户代理和观察者用户代 理的特性的单个用户代理。实施用户代理以至于其功能性在存在服务 内,在存在服务的外部,或组合,或同时在存在服务的内部和外部。

大多存在感知应用,例如IM,仅使用存在服务确定应用用户的存在、 状态和通信地址。例如,IM应用不使用存在服务本身去向其用户传递核 心应用服务和信息,例如即时消息本身。更具体地,IM应用不使用基本 存在协议消息(或命令)去交换即时消息信息,而相反依赖于单独的不 同的即时消息协议(参见RFC2778和RFC2779 )来交换这个信息。

同样地,期望其他存在感知应用和存在服务的扩展采用新协议来 支持这些应用或扩展的服务。例如,为产生能够提供请求/响应服务的 存在感知应用,就期望开发者利用与存在协议分离的特殊的请求/响应 协议来支持这些请求/响应服务。请求/响应协议的例子包括超文本传输 协议(HTTP),例如用于通过因特网在客户和服务器间交换信息,以及用 于在网络上交换电子邮件消息的简单邮件传输协议(SMTP)。

实际上,Saint—Andre 的标题为 "Extensible Messaging and Presence Protocol (XMPP): core" (2004年10月)的RFC3920,和 Saint—Andre的才示题为 "Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence" ( 2004年10月)的RFC3921 1 的标准追随出片反物(standard track publication),予贞见了寸吏用单独 的协议支持存在和请求/响应服务,上述每个都由因特网协会出版并拥 有。这些出版物描述了协议,用于流(stream)可扩展标识语言(XML) 单元以在任意两个网络端点之间接近于实时地交换结构化的信息。不是 将存在信息和请求/响应信息组合为公共的XML节以仅使用存在协议传 送,XMPP定义使用第一 XML节("/存在"节)来传递存在信息和单独的、第二XML节("/iq"节)来传送请求/响应信息(参见RFC3"0; 笫9部分)。这些单独的节接着被相应的存在和请求/响应协议层传送。

其他已经描述了用于使用存在服务发送应用信息的设置,但是不能 满足使用存在协议提供通用的请求/响应服务。例如,授予Gourraud的 标题为"TRANSMISSION OF APPLICATION INFORMATION AND COMMANDS USING PRESENCE TECHNOLOGY"的美国专利申请No. 200410122896A1描 述了一种存在的实体,其以存在元组的形式公开指定给特定应用的应用 信息或命令。观察者预订与该特定应用相关的存在信息, 一旦被授权, 就接收具有应用信息或命令的元组。

在第一实施例,Gourraud的设置使用存在服务将应用标识符从用户 设备发送到应用服务器。该应用服务器然后使用存在服务发送预定义的 信息到用户设备。该设置不允许用户设备从应用服务器请求特定信息或 服务-—仅仅是预定义信息能被接收到。实际上,在Gourraud的第一实

请求到应用的机制。在第二实施例中,Gourraud的设置允许利用存在服 务从用户设备向应用服务器发送命令。只向用户设备发送该命令已被服 务器执行的确认。此外,采用独立于存在协议的协议来发送该确认,即, 采用会话发起协议(SIP)来发送即时消息确认。这样,在Gourraud的第 二实施例中,没有响应从应用服务器发送至用户设备,在该实施例中也

不是利用多个协议^支持能够提供请求/响应服务的存在感知应用, 更有效且更满足需要的是具有使用存在服务及其底层存在协议提供通 用请求/响应消息协议的设置。

发明内容

相应地,公开了 一种用于使用存在协议提供通用请求/响应协议的 方法和系统。依照示范性实施例,描述了一种方法,该方法利用存在协 议从请求实体接收与响应实体相关的资源的描述符和与该资源有关的 请求;发送该描述符和请求到响应实体;接收来自答复请求消息的响应 实体的响应;以及发送该响应到请求实体。

依照另 一个示范性实施例,公开了 一种利用存在协议提供通用请求 /响应协议的方法。该方法包括经由存在服务器接收资源描述符和与该 资源有关的请求;处理该资源的请求以形成答复该请求的响应;以及发送响应到答复该请求消息的存在服务器。依照又一个示范性实施例,公开了一种利用存在协议提供通用请求/响应协议的方法。该方法包括发送资源描述符和与资源有关的请求;以及经由存在服务器接收答复该请求消息的响应。依照又一个示范性实施例,公开了种计算机可读介质,该介质包括 供存在协议使用以提供通用请求/响应协议的数据结构。该数据结构包 括资源数据对象,该资源数据对象包括用于存储与响应实体相关的资源的描述符的单元(element );请求数据对象,包括用于存储来自请求 实体的与该资源有关的请求的单元;以及响应数据对象,包括用于存储来自答复该请求消息的响应实体的响应的单元。依照另一个示范性实施例,描述了一种用于提供通用请求/响应协 议的系统。该系统包括存在服务器,该存在服务器被配置为使用存在协 议接收、存储并分配信息。响应装置被配置为使用该存在协议与存在服 务器交换信息。该响应装置包括到至少一个资源的入口;响应观察者部 件,其被配置为经由存在服务器接收资源描述符和与该资源有关的请 求;以及响应存在实体部件,其被配置为发送响应给答复该请求消息的 存在服务器。该系统还包括请求装置,其被配置为使用存在协议与存在 服务器交换信息。该请求装置包括请求存在实体部件,其被配置为发送 该描述符和与资源有关的请求到存在服务器;以及请求观察者部件,其 被配置为经由该存在服务器接收答复该请求消息的响应。

附图提供了可视表示,用于更充分地描述此处公开的代表性实施 例,使得本领域技术人员能够更好地理解它们及其内在的优点。在这些 附图中,相同的附图编号标识相应的元件,以及图1示出了依照示范性实施例的利用存在协议提供通用请求/响应 协议的系统。图2是示出依照示范性实施例的可形成响应和/或请求网络装置的 各个部件的框图。图3示出了依照示范性实施例的可以由资源所有者用来与响应和/或请求实体交互的接口。图4示出了依照示范性实施例的供存在协议使用以提供通用请求/响应协议的数据结构。图5A和5B示出了依照示范性实施例的包含在图4的数据结构中的 请求数据对象的展开图。图6示出了依照示范性实施例的包含在图4的数据结构中的响应数 据对象的展开图。图7描述了依照示范性实施例的用于存储与IM资源相关的存在信 息的数据结构。图8是示出依照示范性实施例的利用存在协议提供通用请求/响应 协议的方法的流程图。图9示出了执行多重实体交易中在存在的实体之间发生的示范性信息流o图10是依照示范性实施例的示例性请求/响应情形的信号流程图。

具体实施方式

现在将描述与示范性实施例相关联的各个方面,包括按照计算机系 统的单元可以执行的动作序列来描述的某些方面。例如,将认识到在每 个实施例中,各个动作可以由专用的电路或线路(例如离散的和/或集 成逻辑门,互连以执行专用功能)来执行,可由一个或多个处理器执行 的程序指令来执行,或由两者的组合来执行。因此,该各个方面可由多 种不同形式来体现,并且所有这些形式都预期包含在所描述的范围之 内。当描述与存在服务相关联的体系结构、模型和协议时,本申请中采 用了在RFC2778和RFC2779中描述的术语。虽然目前所4吏用的各种存在 服务和存在协议的实施例有所不同,但是所有这些实施例使用的存在体 系结构和协议在特征和功能方面与RFC2778和RFC2779中所描述的存在 模型和协议是一致的。相应地,这里使用的术语不应当限制于目前所使 用的任何存在模型、服务和/或协议的实施例。例如,从功能上看,目前每个存在协议支持一组公共消息(或命令) (例如参见,RFC 2779 )。这些功能命令包括公开(publish):允许存在的实体(通过PUA/存在实体)更新/提供 自己的存在信息(例如它的状态或联系信息)给存在服务器;通知(notify):允许存在服务器提供来自存在元组的信息给而A/ 观察者。通知可以是点对点的(例如,经由定向的公开/通知命令,如下面的段落中所描述的)或广播的;和预订(subscribe )(取消预订)(unsubscribe):允许WUA/观察 者预订或取消预订关于特定存在信息的通知。如这里所用的,词组"存在协议"包括至少那些指令,其用于允许 实体公开存在信息、通知实体其他实体的存在信息以及允许实体预订 (取消预订)其他实体的存在信息。也存在几种任选的、功能等效的存在命令。这些任选命令包括探查(probe ):允许存在服务获取与存在的实体相关的信息。这 等效于组合的通知/公开命令,除了存在服务请求存在信息而不是让存 在客户主动发送未经请求的信息;和定向7>开/通知(directed publish/notify):允许客户发布公开 命令,该命令导致通知命令被送至特定的存在客户,从而绕过了预订功 能。还有一组功能等效的命令用于管理关于存在服务的"朋友列表" (或"花名册")。这组命令包括请求(request ):允许客户请求特定的或默认的花名册; 增加(add):允许客户向花名册增加存在的实体项目; 更新(update):允许客户更新花名册项目;和 删除(delete):允许客户从花名册中删除项目。 与花名册相关的是保密列表。保密列表一般可以依据花名册来描 述,该花名册被配置为识别与花名册/保密列表的所有者之间的交互被 封锁的存在客户。现在参照图1,示出了系统IOO,其利用存在协议提供通用请求/响 应协议。该系统包括存在服务器118,其被配置为经由存在服务120接 收、存储和分配信息。该系统进一步包括响应和请求装置102,其被配 置为利用存在协议经由网络116与存在服务器118交换信息。响应和请 求装置102可包括个人计算机(PC)、个人数字助理(PDA)、网络使 能(network-enabled)的照相机、拍照电话,虫奪窝电话等的任意。尽管在图1中作为独立服务器来描述,存在服务器118也可包括一 起用作存在服务120的几个服务器(未示出)。此外,存在服务器118 的功能可以整体地或部分地合并到任何在图中所示的装置120和服务器 118中,因此可以分布在图示单元的整个网络中。这样,这里所用的"存RFC2778中的"服务器"的定义。然而,存在服务器118和存在服务120 彼此紧密相联并且可以认为是执行一个且相同的功能。然而如同这里所 使用的,存在服务器118也可包括其他服务,例如图l所示的账户服务 122和代理服务124,尽管这些其他的服务不必须包含在服务器118中。 可以理解这些其他服务也可以分布在经由网络116互连的一个或多个服 务器或装置1Q2上。响应装置可以为例如PC,如图1中所示的PC 102b。响应装置102b 包括到至少一个资源的入口。该资源可以是任何服务、应用、文件或其 他与响应装置相关的信息,该响应装置可以经由网络116被请求装置(例 如照相才几102a或拍照电话102c) z使用或与其进4亍交互。例如,图1示 出了响应装置102b可以提供包括服务104 (例如web服务,如照片共享 网站)、软件应用108和文件112 (例如图像文件)的资源。诸如照相 机102a或拍照电话102c的请求装置可以经由网络116利用存在服务 12 0请求与这些资源有关的信息或服务。图2是示出组成响应和/或请求网络装置102的各个部件的框图。 为方便起见,在图2中所示的设置表示既能用作响应装置又能作为请求 装置的网络装置。然而,本领域技术人员将理解响应装置不必包括用作 请求装置所需要的部件,反之亦然。并且,该图包括响应/请求存在实 体部件202和响应/请求观察者部件204。应理解这些部件中每一个都能 组合为单个相应的存在实体202或观察者204部件,或可以实施为单独 的响应和请求实体,如下所述。首先从响应装置(例如PC 102b)的角度来考虑图2的设置。从这 个角度来看,该设置包括响应存在实体部件202。依照示范性实施例, 该响应存在实体部件202可以配置为发送资源104、 108、 112的描述符 给存在服务器118。该描述符可包含描述和/或识别任一可用于响应装置 的资源104、 108、 112的任意信息,并且可以用于将这些资源的可用性通告给请求装置用于处理它们的请求。例如,图2示出了响应装置102b可以使用web月良务104,文件系统 112、打印机服务104c和照相机服务104d, web服务104包括照片共享 web服务104a和其他web服务104b。描述符可以简单地通过名字识别 资源或包括其他信息以描述或识别耦合到网络116的其他存在的实体的资源。响应存在实体部件202通过将描述符包含在存在信息中可以发送 资源的描述符给存在服务器118,如下结合图4-6所述。包含描述符的 存在信息可以利用公开命令经由存在协议被发送至存在服务器118。该 描述符因此也可以用于通告资源的可用性给预订响应装置的存在信息 的其他存在的实体。在可选实施例中,响应存在实体部件202不必发送资源104、 108、 112的描述符给存在服务器118来通告资源的可用性用于处理请求。相 反地,耦合到存在服务器118的请求装置能广播不含描述符的标准化请 求,用于由与经由网络116耦合到存在服务器118的响应装置相关的所 有资源104、 108、 112中的任何来处理。继续从响应装置102b的角度来考虑图2的设置,该设置进一步包 括响应观察者部件204。该响应观察者部件204被配置为经由存在服务 器118从请求装置(例如,拍照电话102c)接收资源104、 108、 112的 描述符和与资源有关的请求。存在服务器118可利用通知命令经由存在 协议发送该描述符和请求给响应观察者部件204。作为由请求装置102c 发送的用于传递到响应装置102b的定向公开/通知命令的结果,或响应 于响应装置102b作出的提取或轮询请求,基于对请求装置102c的存在 信息的预订,包含描述符和请求的通知命令可被发送至响应观察者部件 204。如下结合附图4-6,资源的描述符可被包含在请求本身或可被包含 在存在协议命令中,例如上述的通知命令,用于从请求装置传送请求到 响应装置。该描述符可以用于将请求和可用于响应装置102b的特定资 源104、 108、 112关联起来,并且该请求消息可以用于传送资源请求。 这样,响应装置102b可以处理与连接到网络116的各个请求装置102c 对应的不同资源104、 108、 112的多个请求。依然从响应装置102b的角度来考虑图2的设置,响应存在实体部 件202进一步被配置为发送响应给答复请求消息的存在服务器118。响 应存在实体部件202通过将响应包含在存在信息中来发送响应到存在服 务器118,如下结合图4-6所述。包含响应的存在信息可以利用广播或 定向公开命令经由存在协议被发送至存在服务器118。依照示范性实施例,响应装置可包括响应用户代理(RSUA)。该RSUA 部件耦合到资源104、 108、 112以及响应存在实体202和观察者204部件。类似于上面提到的PUA和WUA部件,该RSUA能代表主体与响应存 在实体202和观察者204部件进行交互。 一般地,该RSUA可以与作为 其主体的资源104、 108、 112进行交互,尽管该RSUA也能同资源的所 有者以及其他主体进行交互。RSUA部件可以配置为促进响应存在实体部件202发送资源的描述 符,以将资源通告给耦合到网络116的其他存在的实体。该RSUA部件 可以直接与资源104、 108、 112进行交互来确定和公开描述符,或可以 提供适合的接口给资源拥有者以利用存在协议公开资源描述符。为了提 供接口给资源的拥有者,该RUSA可以耦合到用户通信客户110a或任意 数目的相关通信客户,例如在图2中所示的IM通信客户110b、电话客 户110c、电子邮件客户110d、多媒体消息服务(MMS)客户llOd和浏览 器客户110f(总起来说,通信客户110)。例如,图3示出了可由资源104、 108、 112的所有者使用与响应存 在实体部件202交互以公开资源描述符的接口。采用IM客户110b,示 范性接口可以"朋友列表"302的形式呈现在显示器300上,那些熟悉 IM应用的技术人员可以辨识该形式。朋友列表302可包含人类资源所有 者的名字,例如,John, Paul, George和Ringo,和/或非人类资源所有者 的名字,例如,服务器l。朋友列表302也可包括识别与每个显示的所 有者相关联的资源的信息,给该所有者提供已授权的请求实体,以及所 提供的资源的状态。例如,与示范性列表302中的John相关联的资源 可包括不可用(N/A)的打印服务,包括可用的照片共享服务的web服 务,可用的IM服务,和不可用(N/A)的文件系统。接口 302也可包括动作菜单项306,适合于调用与资源相关的命令。 动作菜单可包括条目306a,以公开资源,公开对请求的响应,公开与资 源相关的请求,预订与资源相关的信息和预订与关于资源的请求相关联 的信息。可以呈现相应的会话框(box)(未示出),以汇集必要的信息 来执行所选的动作。RSUA可以进一步配置为促进资源l(M、 108、 112对响应 见察者部件 204所接收的请求的处理。该RSUA可以配置为转发请求给适合的资源 104、 108、 112用于处理或在请求一皮转发至资源之前可以解释和/或预处 理该请求。例如,如果请求涉及到接入图2中所示的照片共享web服务 104a,则该RSUA可将请求转换为合适的HTTP获取请求,接着转发该请求到web服务用于处理(例如,提供所请求的照片web页)。RSUA可以促进请求的处理而无需任何用户干预或,如果恰当,可以 提供适合的接口从资源所有者汇聚信息,例如授权。例如,图3中所示 的接口 302被示出为呈现会话框304,表示用户George已经通过提交打 印工作请求来请求接入打印机服务(例如,图2中的服务104c)。打印 机服务的所有者通过选择适合的会话框控制可以接受或者拒绝该请求。 如果请求被打印机服务的所有者接受,RSUA转发请求到打印机服务,按照需要执行请求的任何转换。另外,RSUA可以进一步配置为促进响应存在实体部件202发送对 请求的响应。随着描述符的公开,RSUA部件可以直接同资源104、 108、 112交互来确定并公开对请求的响应,或可以利用存在协议提供适当的 接口给资源所有者以公开该响应。例如,当选择图3的动作条目列表 306a中所包含的"公开响应,,时,呈现适当的会话框(未示出)以汇集 形成对请求的响应的必要信息。RSUA接着转发响应给响应存在实体部件 202用于公开(很可能在适当的PUA的辅助下),按照需要执行响应的 任何转换。为了促进响应存在实体202和观察者204部件、资源104、 108、 112 和通信客户IIO之间的信息交换,RSUA可与适当的PUA和/或WUA—起 行动或者可绕过这些代理的操作。此外,将理解用于特定资源的RSUA 可以和与该资源相关的PUA和/或WUA组合起来,或者可以配置为充当 用于与特定装置和/或所有者相关的所有资源的响应用户代理。如同PU A 和WUA —样,可实施RSUA使得它的功能性存在于存在服务之内,存在 服务的外部,或组合,或者既在存在服务的内部又在存在服务的外部。现在从请求装置的角度来考虑图2的设置,例如图1中所示的拍照 电话102c。从这个角度,该设置包括请求观察者部件204,其可配置为 接收资源104、 108、 112的描述符,如果该描述符从存在服务器118发 送过来。存在服务器118可利用通知命令经由存在协议发送描述符给请 求观察者部件204。作为由响应装置102b发送的用于传递至请求装置 102c的定向公开/通知命令的结果,或响应于由请求装置102c做出的提 取或轮询请求,包含描述符的通知命令可基于对响应装置102b的存在 信息的预订被发送至请求观察者部件204。资源描述符可包含在与响应 装置相关的存在信息中或可包含在存在协议命令中,例如上面提到的通知命令,用来将存在信息从响应装置传送至请求装置。继续从请求装置102c的角度来考虑图2中的设置,该设置进一步 包括请求存在实体部件202,其被配置为发送关于资源的请求和描述符 给存在服务器118。该请求存在实体部件202通过将请求包含存在信息 中可以将请求发送给存在服务器118,如下面结合图4-6描述的。资源 的描述符可以包含在请求本身里或可包含在用于传送包括请求的存在 信息从请求装置到响应装置的存在协议命令中。包含请求的存在信息可再次:从请i装置102c的角度来考虑图2的设置,请^观察者部 件204进一步被配置为经由存在服务器118接收答复请求消息的响应。 存在服务器118可利用通知命令经由存在协议将响应发送给请求观察者 部件204。作为由响应装置102b发送的用于传递至请求装置102c的定 向公开/通知命令的结果,或响应于由请求装置102c做出的提取或轮询 请求,包含响应的通知命令基于对响应装置102b的存在信息的预订被 发送至请求观察者部件204。依照示范性实施例,请求装置可包含耦合到请求存在实体202和观 察者204部件的请求用户代理(RQUA)部件。类似于RSUA, RQUA也能耦 合到图2中所示的通信客户110a-110f,用于与请求装置102c的用户/ 主体进行交互。RQUA可以被配置为促进由请求观察者部件204所接收的 描述符的呈现。例如,利用IM客户110b, RQUA可以呈现由请求观察者 部件204接收的资源描述符,例如图2中所示的所有者为John的照片 共享web服务或所有者为服务器1的程序和服务。描述符可以与描述资 源的所有者和资源的状态的信息一起呈现在接口 302中。RQUA也可配置为促进请求存在实体部件202发送请求。该请求可由 RQUA响应于一些其他与资源相关发生的动作而自动生成,例如,运行在 请求装置102c上的相关程序的动作。可选地,诸如图3中所示的接口 302之类的接口,可被呈现给请求装置102c的用户/主体以汇集形成请 求所必需的信息。例如,当选择动作条目306a中的"公开请求"时, 相应的会话框(未示出)可以被呈现给用户/主体以汇集必需的信息形 成请求。RQUA接着转发该请求给请求存在实体部件202用于公开(很可 能在适当的PUA的辅助下),按照需要执行请求的任何转换。RQUA也可被配置为促进请求观察者部件204所4妻收的响应的呈现。例如,响应如果包含由图2中示出的响应装置102b的照片共享web服 务104a所提供的web页,RQUA可调用图中所示的请求装置lOk的浏览 器客户110f来显示该提供的web页。因此,RQUA能有效地将自身建立 为代理来处理去向存在服务器118的请求和从存在服务器118接收的响 应。可选地,RQUA能呈现会话框,以在对响应作用之前接收来自用户/ 主体的授权或其他信息。为了促进请求存在实体202和观察者204部件和通信客户110之间 的信息交换,RQUA可与适当的PUA和/或WUA —起行动或者可绕过这些 代理的操作。如同PUA和WUA—样,可以实施RQUA使得它的功能性存 在于存在服务之内,存在服务的外部,或组合,或者既在存在服务的内 部又在存在服务的外部。再参照图1,存在服务器118可包括代理服务l24。代理服务l24 可配置为通过与响应装置102b相关联的防火墙114发送请求给响应观 察者部件204或通过与请求装置102c相关联的防火墙(未示出)发送 响应给请求观察者部件。依照另一个示范性实施例,存在服务器118也 可包括账户服务122。账户服务122可配置为鉴权每个请求和响应装置 的标识并在发送请求或响应到相应实体之前授权每个装置接收请求或 响应。账户服务122可以使用花名册和/或保密列表来授权和鉴权对特定 资源的访问或阻止提供商通告某些资源给订户。在这个意义上,花名册 和/或保密列表可以作为访问控制列表(ACL),以鉴权和授权资源在存 在的实体之间的使用。花名册和/或保密列表数据可存储于数据库中, 例如耦合到账户服务122的账户和授权信息数据库128。多个花名册和/ 或保密列表可保存在数据库128中,并由服务1"使用。用于花名册管 理的账户服务协议不需要新的扩展来维护花名册或列表,然而,花名册 数据可包含在存在信息中并由存在协议来传送。现在参照附图4,示出了供存在协议使用、以提供通用请求/响应协 议的数据结构。为方便起见,图4中所示的数据结构包括数据对象和单 元(element),用于存储响应实体和请求实体的存在信息。然而,本 领域技术人员将理解用于存储与响应装置相关联的存在信息的数据结 构不必包括用于存储请求装置的存在信息所必需的对象和单元,反之亦 然。如果图4的数据结构包括用于存储响应实体和请求实体两者的存在 信息的数据对象和单元,则可以存在以下设置之一l)响应实体和请求 实体与相同的主体相关联,并且响应于并估算出与不同资源有关的请求; 或2)响应实体和请求实体与不同的主体相关联,并且响应于并估夂出与公 共资源有关的请求。该第二设置要求改变标准存在服务接入控制策略, 并可导致更复杂的接入控制系统。尽管如此,利用存储在与资源或资源 所有者相关联的单个存在元组中的信息来执行整个请求/响应交易,会 导致数据存储利用和数据交换的有效性。图4中所示的数据结构可包含在任何适合的计算^/L可读介质中,包 括可以容纳、存储、通信、传播或发送程序用于供指令执行系统、装置 或设备使用或与其相连接的任何装置。该计算机可读介质可为,例如但 并不限于,电子的、磁的、光学的、电磁的、红外的,或半导体系统、 设备、装置或传播媒介,例如可移动存储设备。计算机可读介质的更多 具体例子(非穷举列表)可包括以下具有一个或多个线的电连接、便 携式计算机磁盘、随机存取存储器(RAM)、只读存储器(R0M)、可擦编程 只读存储器(EPR0M或闪存)、光纤和便携式光盘只读存储器(CDR0M)。图4中的数据结构代表了包含放大的存在元组402的存在信息400。 存在信息400可存储在到耦合到图1中所示的存在服务器118的数据库 中,例如存在信息数据库126。尽管图1中显示了单个数据库126,但 本领域技术人员应当理解存在信息可分布在整个网络116的多个数据库 中和/或至少部分地存储在与图1中所示的请求和/或响应装置102相关 联的存储器中。图4中所示的存在元组402包括用于存储在RFC2778和RFC2779中 所描述的状态402和通信地址404信息的标准数据对象。存在元组402 还包括用于存储联系方式408和联系地址410的数据对象,和用于存储 其他标志(markup) 418的数据对象,从而^要照存在标准来保持元组402 的可扩展性。由于存在元组402保持了在RFC2778和RFC2779中所描述 的存在信息的标准形式,存在信息400可利用标准存在协议命令在网络 116上进行传送。存在服务器118并不需要理解元组402的内容便可将 包含在其中的信息路由到耦合到网络116的各个存在的实体。首先从响应实体的角度来考虑图4中的数据结构,为了利用存在 协议提供通用请求/响应协议,存在元组402包括资源数据对象412,其包含用来存储与响应实体相关的资源的描述符的单元(未明确示出)。 如上面结合图1-3所描述的,该描述符可包含描迷和/或识别响应实体 可用资源(例如图1中所示的任何资源104、 108、 112)的任何信息。 响应实体可以是例如图2中所示的响应存在实体部件202。依照示范性 实施例,资源数据对象412也可包括至少一个单元(未明确示出)用于 存储描述由资源支持的请求的信息,包括描述资源支持的请求和功能的 类型的信息和描述如何格式化所述请求的信息。资源数据对象412也可 包括至少一个单元(未明确示出)用来存储描述可用于答复由资源支持 的请求的响应的信息。现在,从请求实体的角度来考虑图4中的数据结构,存在元组402 还包括请求数据对象416。该请求数据对象包括用于存储来自请求实体 的与资源相关的请求的单元。该请求实体可以是例如图2中所示的请求 存在实体部件202。图5 A示出了依照示范性实施例的请求数据对象416的展开示意图。 如图所示,请求数据对象416的展开图可包括用于存储与资源相关的请 求消息504的单元。请求数据对象416还可包括描述符单元502,用于 存储与响应实体相关联的资源的描述符。描述符单元502可包括仅仅用 于描述或识别资源的信息,或可包括对响应实体及其相关联的资源都可 进行描述或识别的信息,例如统一资源标识符(URI)。例如,考虑下面的由请求实体("customerSlisp.net")公开的基于 XML的消息,用于通知在线商店,"online.com",其包括订购书本的服务(或资源) 不是将在线商店提供的"书本"服务的描述符包含在请求消息自身中(例如,在消息的〈request〉和〈/request〉单元之间),描述符可包 含在存在属性中,"sales6)online. com/books",其由存在月l务器118 使用,以将定向公开/通知命令中的通知部分^各由至响应实体。当请求实体对于处理并响应请求的响应实体/资源没有任何偏爱时,请求实体广播不具备特定资源描述符的标准化请求也是有益的。从 而,该请求可由任何可用的响应实体/资源来处理。例如,考虑下面的 由请求实体("customerfilisp.net")公开的用于广^番症合任何可用响应实 体/资源的基于XML的消息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值