专利名称:减小存在消息的大小的方法
技术领域:
本发明主要涉及用于减小例如SIP消息的在客户端与服务器之间传递(或反之亦 然)的消息的大小的方法和布置。
背景技术:
IP多媒体子系统(IMS)是由第三代合作伙伴项目(3GPP)定义为通过移动通信网 络来提供IP多媒体服务的一种技术。IMS利用会话发起协议(SIP)来建立和控制用户实体 之间或用户实体或客户端与服务器之间的呼叫或会话。虽然SIP创建为用户到用户协议, 但IMS允许运营商和服务提供商控制对服务的用户访问并相应地向用户计费。3GPP架构定 义不同类型的呼叫会话控制功能(CSCF),其将服务提供到IMS中的不同用户实体。在许多情况下,IMS客户端A可能想保持有关另一 IMS客户端B的更新信息,而客 户端B已经给予客户端A如此做的访问许可。基于IETF SIMPLE (SIP即时消息传递和存在 利用扩展(Instant Messagingand Presence Leveraging Extension))技术的存在月艮务是 在SIP事件通知框架上构建的一个特定应用。这种类型的服务允许向用户告知有关另一用 户的可达性、可用性和通信的意愿。存在服务可用于指示不同用户是否在线以及在线用户 是在空闲的还是忙的。存在服务也可提供通信方式的细节和每个通信方式的相应能力。正 在提供存在信息的人一般情况下称为存在实体或存在体(presentity)。给定存在体可具有 作为客户端来操作的一个或多个实体,一般也称为存在用户代理器(PUA),其能供应更新的 存在信息,即诸如例如状态、能力和/或到服务器的通信地址的表征存在体的性质的属性 的集合,从而将存在服务提供到预订用户。图1示意示出根据现有技术的适用于提供存在服务的SIP存在架构的简化情形。 在IMS网络100中,可以是例如IMS终端、膝上型计算机和/或台式计算机中任何一项的三 个客户端101-103各自具有本地存储的关于存在体104的一段信息。不同客户端可保存有 关存在体104的不同或相同信息。IMS终端例如可保存有关存在体104的注册状态的信息, 而膝上型计算机可保存关于存在体104是否已登录的信息。另外,客户端可保存更丰富的 存在信息,例如目前存在体是否可用于视频会议和/或是否想接受话音呼叫。所有存在体 客户端101-103将其相应的信息段发送到存在服务器105,该服务器收集所有信息并获得 存在体104存在的完整画面。图1还示出一般称为观看者的两个用户106、107,每个装配有 相应实体108、109,其中,每个实体正在作为相应观看者客户端来操作,相应用户106、107 经其可预订在列表(即存在体存在列表)中指定的多个存在体或具体存在体的存在信息。 当相应存在体的存在信息已发生改变时、即当存在体经SIP公布(SIP PUBLISH)请求已经 将新存在信息输送到存在服务器105时,存在服务器105通过在SIP通知(SIP NOTIFY)请 求中将公布的信息输送到相应一个或多个观看者来通知所有预订的观看者。在当前的基于SIMPLE的解决方案中,无论何时存在数据中发生改变,存在服务器 都必需发送新通知,包括所有数据或部分数据,即部分通知。无论存在数据是否已经在以前 的通知中输送到相应观看者,此类通知均必须发送。
由于从存在服务器发送到观看者的许多通知只是例如对于服务的“打开”或“关 闭”的一个数据的切换,因此,已经在两个实体之间输送的许多数据通过空中接口发送。即 使是在部分通知的情况下,大小也不是没有意义。另外,相同数据内容的重复传送不但在创建通知的服务器、而且在不得不处理每 个接收的通知并在处理内容的基础上创建最终结果的观看者处要求更复杂的功能性,从而 造成高成本的处理。
发明内容
本发明的目的是解决至少一些上面概述的问题。特别是,本发明的一个目的是提 供一种解决方案,该解决方案通常能减小在客户端与服务器之间(或反之亦然)的在通信 网络中传送的一些消息的大小。通过使用根据随附的独立权利要求的方法和实体,可获得这些目的以及其它目 的。根据一方面,本发明提供一种在第一实体与第二实体之间输送与信息交换服务相 关联的消息的通信网络中方法。最初,在第一实体处理与信息交换服务相关联的、包括数据 内容和对版本控制(versioning)的请求的消息。版本控制被定义为一种可选机制,其适用 于将消息的数据内容的每个版本与标识相应版本的数据标识符相关联。第一实体随后询问 接收的消息以确定数据内容是否已经在更早的传送中输送到第二实体。如果确定数据内容 没有已经输送到第二实体,则消息将在传送到第二实体时保持不改变。然而,如果发现数据 内容已经输送到第二实体,则转而将包括数据标识符但不包括数据内容的修改的消息传送 到第二实体。根据第一实施例,第一实体是服务器,并且第二实体是客户端。一般情况下,第一实体在执行接收的消息前从第二实体接收对信息交换服务的请 求,其中,请求包括要求版本控制的指示。消息可以是从客户端传送到服务器的SIP通知。根据第二实施例,第一实体转而是客户端,并且第二实体是服务器。在此类实施例 中,消息可转而是SIP公布。建议的确定步骤可包括询问第一实体的高速缓存(cache)的步骤以便确定相应 的数据内容是否已经输送到第二实体。根据一方面,数据标识符在第一实体插入消息。根据另一方面,数据标识符转而从第二实体提供。从第二实体提供的数据标识符可在响应消息中提供到第一实体,响应消息指示消 息的成功输送。根据另一方面,本发明提供一种在第一实体处理与信息交换服务相关联的消息的 通信网络中的方法,其中,消息从第二实体输送到第一实体。最初,第一实体接收与请求的信息交换服务相关联的消息,其中,消息包括对版本 控制的请求。在第一实体,确定请求版本控制的该消息是否包括数据内容。如果发现消息 包括数据内容,则由第一实体检索与数据内容相关联的数据标识符,并且数据内容与数据 标识符一起存储。然而,如果消息不包括任何数据内容,则将转而为消息提供与数据标识符相关联的数据内容,其中,数据标识符从消息检索。一旦已经检索到相应的数据内容,便可相应地 处理消息。根据第一实施例,第一实体是客户端,并且第二实体是服务器。在此类情形中,消 息可以是SIP通知。根据一方面,在执行上面提到的接收步骤前,将指示要求版本控制的对信息交换 服务的请求转发到第二实体。根据第二实施例,第一实体转而是服务器,而第二实体是客户端。在此类情况中, 消息可以转而是SIP公布。根据一方面,数据标识符从第一实体检索,其中,数据标识符可在响应消息中从第 一实体转发到第二实体,响应消息指示消息已成功输送。根据仍有的另一方面,可转而从消息检索数据标识符,数据标识符在第二实体插 入消息。根据另一方面,在接收响应消息、确认消息已成功输送到第二实体并且数据内容 和相关联的数据已存储在第二实体的另一高速缓存后,将数据内容和相关联的数据标识符 存储在第一实体的高速缓存中。根据一方面,第一响应消息包括所述第二实体的高速缓存的总容量的指示。根据另一方面,每个响应消息可转而包括根据另一方面的所述第二实体的高速缓 存的剩余容量的指示。数据标识符可以是版本号、独特的身份或Etag。根据另一方面,提供一种用于将与信息交换服务相关联的消息输送到第二实体的 第一实体。处理单元适用于处理与请求的信息交换服务相关联的消息,所述消息包括数据 内容和对版本控制的请求。版本控制单元适用于确定数据内容是否已经输送到客户端。如 果发现数据内容没有已经输送到客户端,则将从通信单元将消息不做改变地传送到客户 端。然而,如果确定数据内容已经输送到第二实体,则将转而传送修改的消息到客户端,其 中,修改的消息将包括数据标识符,但不包括数据内容。根据第一实施例,第一实体是服务器,而第二实体是客户端。根据一方面,通信单元还可包括用于从第二实体接收对信息交换服务的请求的接 收器,该请求指示要求版本控制。根据仍有的另一方面,版本控制单元可适用于通过询问高速缓存来确定数据内容 是否已经输送到第一实体。根据第二实施例,第一实体转而是客户端,而第二实体是服务器。根据另一方面,提供一种处理与信息交换服务相关联的消息的第一实体,其中,消 息从第二实体接收。第一实体包括用于从第二实体接收消息的通信单元,消息包括对版本 控制的请求。该实体还包括用于确定消息是否包括数据内容的版本控制单元。版本控制单 元适用于在消息包括数据内容时检索与数据内容相关联的数据标识符并将数据内容与相 关联的数据标识符一起缓存。然而,如果消息不包括任何数据内容,则版本控制单元适用于 在已经从消息检索到相关联的数据标识符后,为消息提供存储的数据内容。第一实体还包 括用于处理消息的处理单元。根据一个实施例,第一实体是服务器,并且第二实体是客户端。根据一方面,第一实体的通信单元还可包括用于将指示要求版本控制的对信息交换服务的请求转发到第二实体的传送器。根据仍有的另一方面,版本控制单元连接到高速缓存,其中,版本控制单元适用于 缓存数据内容和相关联的数据标识符以响应成功输送的或接收的消息。根据第二实施例,第一实体转而是客户端,而第二实体是服务器。
现在将通过示范实施例并参照附图更详细地描述本发明,其中-图1是根据现有技术的SIP存在架构的基本示图。-图2是根据一个实施例的客户端与服务器之间的存在公布的示意流程图。-图3是根据另一个实施例的客户端与服务器之间的存在公布的示意流程图。-图4是根据一个实施例的服务器与客户端之间的存在通知的示意流程图。-图5是根据一个实施例的缓存存在数据的示意图示。-图6是根据一个实施例的适用于将更新的数据内容提供到服务器的客户端的示 意图示。-图7是根据一个实施例的适用于管理更新的数据内容的服务器的示意图示。-图8是根据一个实施例的适用于处理接收的更新的数据内容的客户端的示意图
7J\ ο
具体实施例方式一般情况下,对于例如存在服务的IMS服务,大量的数据被输送到(即在更早的请 求中,例如公布或通知)已经接收相同数据内容的实体。本文档的范围是提出一种机制,它 允许传送实体在相同信息在以前阶段已经从传送实体输送到接收实体时避免将例如存在 信息的数据内容从传送实体传送到接收实体。由于从管理存在服务的存在服务器发送的许多通知正在携带与更早发送的通知 相同的存在信息,因此,如果可能向存在服务器指出什么存在信息目前对存在体有效,则这 将大大减小通知大小。此外,对于存在体与存在服务器之间的通信,对应的机制将是合乎需 要的以便减小至少一些公布的大小。通过将携带例如Etag、版本号或独特标识符的数据标识符包括到例如通知或公布 的SIP消息中,可实现解决上面提到的问题的机制。无论何时要将新消息传送到相同服务 器或客户端,并且在已经询问传送端处的高速缓存后发现要经SIP消息转发的数据内容与 更早SIP消息中发送的数据内容相同,则新消息将仅包括数据标识符,由此避免再次传送 已经输送的数据内容。这意味着传送实体将必须记住在更早消息中已从该实体输送的数据 内容以及与相应数据内容相关联的数据标识符。为了得到建议的版本控制机制的更清晰的理解,现在将如参照图2-4所示,在执 行存在服务的上下文中例示该机制。图2和3根据两个备选实施例示出可如何在作为存 在体操作的、向服务器提供更新的公布的客户端与服务器(其在这种情况中是存在体服务 器)之间执行版本控制。图4示出实现在向一个或多个客户端提供通知的服务器与从服务 器接收通知、作为观看者来操作的客户端之间可操作的对应版本控制机制的方式。为了简明的原因,本文档中的所有示例限于描述在两个实体之间,即在例如存在体与存在服务器的客户端与服务器之间,或在存在服务器与观看者之间执行的版本控制。 然而,要理解的是,所述版本控制机制在服务的执行中涉及的多个实体之间也可应用,其 中,版本控制可完全应用于从存在体到存在服务器,也可应用于端接的观看者。还要理解的 是,所述版本控制机制不限于只处理存在服务信息的输送,而是可处理任何类型的服务信 息输送。特别是,根据任何所述实施例的版本控制还将可应用于其中要求减小冗余数据内 容的传送、或更具体地说减小必须在交互实体之间传送的数据内容的量的其它实现中。图2示出对于与存在服务相关联的公布的执行相关的示范信令情形,即作为存在 体来操作、向服务器提供公布的客户端200与作为存在体服务器来操作的服务器201之间 的信令。参照图2所述的实施例是通过使用已经存在的Etag来提供版本控制的一种方式, 即,用于还将Etag用于标识传送的存在信息的不同版本的目的。如果两个实体均支持版本控制,则具有要输送到服务器201的相关存在信息(即 数据内容,此处标识为Dl)的客户端200可启用此类机制。公布一般情况下在实体之间作 为消息来输送,其作为公布请求来提供,即作为SIP公布请求来提供。因此,除通常数据内 容Dl外,公布请求可包括例如作为“要求版本控制”的对版本控制的请求。在第一步骤2:1中,客户端200处理公布并询问高速缓存以便确定作为SIP公布 请求来输送的公布的数据内容Dl是否已经在以前的请求中发送到服务器。然而,由于这是 第一次数据内容Dl要传送到服务器201,因此,在高速缓存中不能发现与Dl相同的数据内 容。因此,在下一步骤2:2中,将SIP公布请求不做改变地传送到服务器。响应于该SIP公 布请求,支持版本控制的服务器在下一步骤2:3中生成并指派将用于标识数据内容Dl的数 据标识符“X”,并将此数据和相关联的数据标识符“X”存储或缓存在高速缓存中。根据一个 实施例,数据标识符可以是已经存在的Etag,而Etag除其常规使用外,还可用于所述版本 控制目的。SIP公布请求现在能由服务器201根据常规过程来处理。接着,服务器201通过生成响应消息,例如2000K,向客户端200指示SIP公布请求 的成功接收,包括支持的版本控制已执行的指示。响应消息包括数据标识符“X”和例如“版 本控制已完成”,并且在后面的步骤2:4中传送到客户端。一旦客户端已接收2000K响应消 息,如通过下一步骤2 5所指示的,数据标识符“X”便与数据内容Dl—起缓存。在后来的时机,包括存在信息(此处表示为数据内容D2)的新SIP公布请求由存 在体提供到客户端200。公布由客户端处理,并且通过检查高速缓存进行询问,并且此次也 通过检查客户端200的高速缓存,确定数据内容D2尚未向服务器公布。此过程在步骤2:6 执行,之后在下一步骤2 7中将请求传送到服务器201。在后面的步骤2:8中,服务器询问SIP公布请求,并确认要求版本控制,因此,服务 器检索与数据内容D2相关联的另一数据标识符“y”。数据标识符“y”随后与相关联的数据 内容D2 —起在服务器201被缓存,并且SIP公布请求能由服务器201以常规方式来处理。 随后,如通过步骤2:9所指示的,在2000K响应消息中向客户端确认SIP公布请求的成功完 成的接收,包括为数据内容D2执行的要求的版本控制过程的成功执行。与步骤2:5相似, 随后在下一步骤2:10中,由客户端200缓存数据标识符“y”和数据内容D2。客户端200再一次从存在体接收存在信息。然而,此次发现插入的存在信息与已 经传送的数据内容(即数据内容Dl)相同。由于在高速缓存的检查过程展示出数据内容Dl 已经在客户端高速缓存中存在,因此,仅包括从高速缓存检索的与Dl相关联的数据标识符(即数据标识符“X”)而不包括数据内容的修改的SIP公布请求将传送到服务器。此过程 在步骤2:11执行,并且与普通SIP公布请求相比具有减小的大小的SIP公布请求将在下一 步骤2:12中传送到服务器。在后面的步骤2:13,服务器认识到SIP公布请求仅包括数据标识符“X”,并因此将 询问高速缓存以用于确定是否存在存储的能经数据标识符“X”链接到的数据内容。当在高 速缓存中发现时,数据内容Dl在SIP公布请求由服务器201以常规方式处理之前被添加到 SIP公布请求。如通过步骤2:14所示出的,服务器通过将2000K响应消息传送到客户端,向 客户端200确认成功的版本控制。然而,如果不能在高速缓存中发现预期的数据内容,则服 务器200将转而通过请求重新传送来响应。此类重新传送将是完整的SIP公布请求,包括 数据标识符和相关数据内容,其在接收时能被相应地缓存,之后数据内容被插入公布,它被 转发到处理器以用于常规公布处理。如上所提到的,一旦存在信息已输送到服务器201,并且成功的版本控制已执行 (如果可应用),检索的数据内容便能由服务器201来进一步处理,即,数据内容能作为通知 输送到一个或多个观看者,所有操作根据常规的公知的存在服务过程来进行。通过在发送到服务器201的请求中指示何时要求版本控制,可在请求时相应地启 用或禁用建议的版本控制机制,由此允许相应信息交换服务禁用版本控制并以常规方式来 运行服务,仅在要求时或在更永久性基础上使用版本控制。备选的是,可例如在存在服务器 与观看者之间启用版本控制,而在存在体与存在服务器之间正在禁用版本控制,或反之亦 然。根据另一实施例,可引入一个备选的版本控制机制,其中,数据标识符已经在客户 端而不是在服务器生成。现在将参照图3,描述示出此类机制的示范情形。最初,在第一步骤3:1中处理并针对客户端300的高速缓存检查由存在体发起的 包括对版本控制的请求和作为数据内容Dl输送的存在数据的SIP公布请求,以便确定数据 内容Dl以前是否已传送到服务器301。由此这是第一次数据内容Dl传送到服务器301,因 此,在高速缓存中将未发现对应的数据内容。结果,为SIP公布请求提供由客户端300生成 并插入的数据标识符“X”。随后,在后面的步骤3:2中将SIP公布请求传送到服务器301。在服务器301,确定要求版本控制,并且因此在接收SIP公布后缓存数据内容Dl和 数据标识符“X”。这通过步骤3:3示出。如通过步骤3:4所示,通过2000K响应消息,向客 户端确认成功的接收和版本控制。响应2000K响应消息,客户端也在下一步骤3:5中将数 据内容Dl与数据标识符“X” 一起缓存在客户端300的高速缓存中。在步骤3:6-3:10,对于作为数据内容D2输送的存在数据的另一设置重复对应的 过程,并且以对应的方式得出与数据内容D2相关联的另一数据标识符“y”,并将其与D2 — 起插入SIP公布请求。在另一步骤3:11中,客户端300接收并处理新SIP公布请求,包括用于公布的新 存在数据。由于在高速缓存的检查展示出表示为数据内容Dl的新存在数据与存在数据的 已传送并缓存版本(即在步骤3:2中传送的数据内容)相同,因此,SIP公布请求被修改, 从请求剥离其数据内容,并将数据标识符“X”插入请求,其中,数据标识符“X”将用作在接 收端(即,在服务器301)的数据内容Dl的标识符。现在,在下一步骤3:12中将向服务器 传送限制大小的SIP公布请求。
在服务器301,检查是否以前已缓存由数据标识符“X”标识的数据内容。这在后 面的步骤3:13中完成。随后,在最终步骤3:14中通过2000K响应消息,向客户端200指示 SIP公布请求的成功接收和版本控制。与前一实施例相似,无法在高速缓存中发现相关存在数据将导致对于重新传送的 公布请求的请求,其中,存在数据和相关联的数据标识符均将在SIP公布请求中传送。现 在,存在数据能从高速缓存检索出并添加到SIP公布请求,该请求随后将可用于根据公知 的公布处理过程的处理。今天,存在服务器可装配有某种缓存算法,如最少最近使用(LRU)算法,从而确保 高速缓存中存储的数据内容的版本的数量不超过预设限制。LRU算法记住最少最近使用的 版本,并且每当对于服务器能处理的版本的最大数量的限制将要达到时去除最少最近使用 的版本。除了覆盖将信息从客户端推送到服务器的上述实施例外,所述版本控制机制或任 何对应的机制也可应用于信息的轮询。—般情况下,对于存在服务,预订与某个存在体或一群存在体相关联的存在信息 的观看者将在新的相关的公布的数据标识符在存在服务器可用时立即得到它的通知。此类 通知一般情况下作为SIP通知请求转发到观看者。通过在处理从存在服务器向观看者转发 的通知时也引入版本控制,相比在处理从存在体输送到存在服务器的公布时的情况,能获 得甚至更多的容量。现在将参照图4描述一个情形,该情形根据一个实施例,例示作为观看者操作的 客户端可如何使用所述版本控制机制与作为存在体服务器操作的服务器交互以用于处理 更新的存在信息。如通过第一步骤4:1所指示的,想预订特定存在体(未示出)的存在信息的客户 端401能通过将SIP预订请求发送到服务器400来发起此类请求。由于客户端401支持版 本控制并且想激活此特征,因此,例如“要求版本控制”的请求被添加到SIP预订请求。也 支持版本控制的服务器400通过在后面的步骤4:2中将2000K响应消息返回到客户端401 来响应。—旦包括版本控制的存在信息的预订已由服务器400激活,服务器便将在相应存 在体的存在数据中已发生改变时通知客户端401。在另一步骤4:3中,服务器接收并处理包 括存在数据的SIP通知请求以用于输送到客户端。一旦服务器通过执行常规存在服务处理 已标识新存在数据,便将询问此情况中经公布来输送的数据内容。在这种情况中,要求版本 控制,因此,这在相应通知中指示,例如指示为“要求版本控制”。除数据内容Dl外,SIP通 知请求还提供有相关联的数据标识符,该标识符可与更早所述的用于公布情况的标识符相 同,或者它可以是由服务器生成并插入SIP通知请求的新数据标识符。与描述公布输送的 实施例相似,数据标识符可在服务器400或在客户端401提供到通知中。在此实施例中,数 据标识符在服务器400提供到通知。在步骤4:4,将包括数据内容Dl和相关联的数据标识 符“X”的SIP通知请求传送到客户端。在接收到SIP通知请求时,如通过后面的步骤4:5所指示,客户端401缓存存在数 据Dl和相关联的数据标识符“X”。在此阶段,检索到的存在数据能由客户端以常规方式处理。
客户端400随后通过在下一步骤4:6中向服务器400传送2000K响应消息来确认 成功接收,包括成功的版本控制。响应2000K响应消息,服务器400在另一步骤4:7中缓存 数据内容Dl和相关联的数据标识符“X”。在后面的步骤4:8-4:12中,也为与相关联的数据 标识符“y” 一起输送到客户端401的存在数据D2执行对应的通知过程。在另一步骤4:13,在服务器400生成新通知以响应从存在体接收到公布。再次在 服务器400标识包括存在数据(此次标识为数据内容Dl)的新SIP通知请求。然而,此次 确定数据内容Dl已经从服务器400输送到客户端401,因为在高速缓存中发现存在数据的 相同版本。结果,要输送到客户端401的SIP通知请求将仅包括数据标识符“X”,而不包括 存在数据,并且因此请求将被修改,从请求剥离其数据内容Dl,转而将数据标识符“X”插入 请求。随后,在后面的步骤4:14中将减小大小的通知传送到客户端。接收仅包括版本的SIP通知请求的客户端401询问高速缓存,以便确定与数据标 识符“X”相关联的存在数据是否确实已经在前面阶段被缓存。由于这在步骤4:5已完成,因 此,相应的存在数据(即数据内容Dl)从高速缓存检索出并添加到通知。这通过步骤4:15 来指示。客户端401在后面的步骤4:16中将2000K响应消息发送到服务器400,确认成功 的版本控制,并且存储的数据内容Dl现在能由客户端401以常规方式来处理。备选的是,对应于参照图2所述过程的过程可以是可应用的,其中,数据标识符在 客户端而不是在服务器提供到SIP通知。此类机制可例如依赖使用Etag。在一备选实施例中,从服务器接收更新的信息的客户端可向服务器指示它能处理 数据内容的多少版本。此信息能在对请求的第一响应消息中提供到服务器400。备选的是, 服务器发送的每个响应消息可包括有关客户端能处理多少剩余版本的指示。控制客户端同 时处理和在高速缓存中存储的数据内容的版本数量的这两种备选方式的任一方式可实现 为并用作对LRU算法的补充或备选。同样地,哪个实际值被选取为指示特定数据标识符无关重要。服务器例如可在通 知不同客户端时选取相同值,其中,数据标识符能够是对客户端独特的任何串(string),如 包括的数据的哈希值,或只是由服务器和客户端保持的数据标识符。建议的版本控制机制要求在请求的通信中涉及的实体记住哪个数据内容(例如, 存在数据)已传送到哪个实体。如上所述,这可通过在传送和接收实体均缓存数据内容和相关联的数据标识符来 实现。图5根据一个实施例示意示出可如何组织此类缓存机制。该图示出可如何为一个 存在体500和两个观看者501、502布置缓存,存在体和观看者全部适用于启用根据上述任 何实施例的版本控制。客户端500-502可从也适用于启用版本控制的存在服务器503访问 不同的信息交换服务。要理解的是,为简明的原因,在图中已省略了在相应实体的对于执行 相关服务所必需的另外功能性。存在体500包括用于缓存已由存在体500成功传送到服务器503的数据内容和相 关联的数据标识符的高速缓存504。用于在将公布传送到服务器503时缓存的子区表示为 505。在观看者501和502,高速缓存505和506的子区分别表示为507和508。从服务器 503接收通知的观看者将接收的存在数据与相应的数据标识符一起缓存,并且在接收仅包 括数据标识符的通知时询问高速缓存以便检索相应数据内容。服务器包括用于缓存进入请求、即用于缓存与从客户端接收的公布相关联的存在数据内容和数据标识符的一个高速缓 存509。服务器还包括用于缓存外出请求、即用于缓存与传送到端接客户端的通知相关联的 存在数据内容和数据标识符的一个高速缓存510。高速缓存509的子区511用于存储从存 在体500接收的信息,而高速缓存510具有对应的子区512和513,其中存储分别与观看者 501或502相关联的存在数据和数据标识符。现在参照图6-8,描述示范实施例,这些实施例描述用于在服务器和客户端执行根 据任何所述实施例的版本控制机制的功能性。要理解的是,在以下部分中描述的布置纯粹 是逻辑性的,并且在节点提供相关功能性的所述单元能以不同的备选方式来实现。还要理 解的是,为简明的原因,已省略了对于理解提议的版本控制特征的实现背后的机制不是必 需的任何功能性。图6根据一个实施例描述例如存在体的适用于将例如存在信息的数据内容输送 到例如存在服务器的服务器(未示出)的客户端600。客户端600包括适用于处理与请求 的信息交换服务相关联的请求的常规处理单元601,一般情况下还有另外的处理单元。在可要求版本控制的请求经常规通信单元602转发到相关服务器之前,它由版本 控制单元603来询问,而不要求版本控制的请求将根据已知的过程来处理,即直接转发到 通信单元602,该单元随后以常规方式将请求转发到相应服务器。版本控制单元603连接到 高速缓存604,当数据内容第一次传送到服务器时,在该高速缓存中存储相关联的数据标识 符和数据内容的完整版本。根据一个实施例,版本控制单元还适用于提供将与相应数据内 容相关联的数据标识符。根据另一个实施例,其中,数据标识符转而由服务器来提供,版本 控制单元适用于缓存数据内容以响应接收例如2000K响应的响应消息,其确认请求的成功 接收,包括版本控制过程的成功执行。为了在服务器启用版本控制,也必须相应地修改服务器。因此现在将参照图7,提 出例如存在服务器的适用于提供根据上述任何实施例的版本控制的服务器。图7的服务器700包括用于与例如存在体的客户端(未示出)通信的至少一个常 规通信单元701,客户端经例如公布的作为消息转发的请求向服务器提供服务有关的数据 内容。服务器还适用于与观看者通信,观看者可根据预定义规则和约束,预期要从服务器输 送的例如通知的另一类型的消息。通信单元701适用于将从客户端接收的例如公布的消息 转发到版本控制单元702。如果在消息中未请求版本控制,则将消息直接转发到常规处理单 元703,在该单元中,能以常规方式来处理消息。响应于接收到公布,可例如生成一个或多个 通知,所有通知根据服务器700管理的相关预订来生成。在服务器700支持版本控制的情 况下,将对包括对版本控制的请求、但不包括数据标识符的接收消息提供数据标识符,数据 标识符添加到消息并转发到发起客户端。在数据标识符转而在客户端提供的情况下,将转而由版本控制单元802标识消 息,消息包括对版本控制的请求、数据标识符以及相关联的数据内容。随后,在处理单元703 处理消息,以及将例如通知的相关联消息输送到通信单元701之前,在专用于服务器的接 收侧的第一高速缓存704缓存数据内容和数据标识符。如果要求版本控制并且存在数据 标识符,但不存在相关联的数据,即,此数据内容以前已输送到服务器,则版本控制单元702 转而适用于询问第一高速缓存704以确定与数据标识符相关联的数据内容是否确实存储 在第一高速缓存704中。
要例如作为通知从客户端输送到服务器的消息从处理单元703提供到版本控制 单元702。包括对版本控制的请求、数据标识符和相关联的数据内容的消息将由版本控制 单元702检查,该单元询问专用于服务器700的传送侧的第二高速缓存705。如果在第二 高速缓存705中发现相应数据标识符链接到的数据内容,则这意味着存在数据内容以前已 传送到相应客户端。随后,版本控制单元通过去除数据内容来修改消息以便限制消息的大 小。然而,如果在第二高速缓存705中未能发现对应数据内容,则确定这是第一次该数据内 容要传送到客户端,因此,消息在传送到端接客户端时将保持不变,携带数据内容和版本。随后,将数据内容和对应的数据标识符转发到通信单元701,从该单元中通知被传 送到相应的客户端,并且响应从客户端接收到2000K响应消息,其指示消息的成功接收和 版本控制,在高速缓存705缓存数据内容和相关联的数据标识符。如果版本控制单元发现要求公布的版本控制,但在以前步骤中,例如在公布期间 尚未执行版本控制,或者如果在不同的服务器端要执行单独的版本控制过程,则版本控制 单元适用于在将消息输送到客户端前为消息提供数据标识符。如果端接客户端以否定响应 对携带数据标识符但无数据内容的此类消息做出响应,则版本控制单元702适用于生成新 消息,新消息包括从高速缓存705检索的新数据标识符和相关数据内容。随后,版本控制单 元702将新消息转发到通信单元702以用于传送到客户端。如上已经提到的,例如观看者的客户端适用于为来自服务器的例如通知的接收消 息启用版本控制。现在将参照图8描述此类修改的客户端。由例如上所述服务器的服务器 (未示出)输送的消息由客户端800的通信单元801接收,并且由版本控制单元802询问。 在接收包括对版本控制的请求但不包括数据标识符的消息时,版本控制单元802适用于提 供例如Etag的数据标识符,该数据标识符随后在高速缓存803与相关联的数据内容一起缓 存。版本控制单元802还适用于向服务器提供包括该数据标识符的响应消息。然而,如果消息包括数据标识符但不包括数据内容,则版本控制单元803适用于 转而针对与相应数据标识符一起存储的数据内容来检查高速缓存803,并且在消息转发到 处理单元804以用于消息的常规处理前为消息提供相应标识的数据内容。包括数据标识符 和相关联的数据内容的消息由版本控制单元802相应地处理,并且数据标识符和相关联的 数据内容在高速缓存803存储以响应消息的成功接收和版本控制。在已经缓存输送的内容 后,将消息转发到处理单元804以用于数据内容的处理。根据上述任何实施例的数据处理中涉及的节点可配置成使用任何所述版本控制 机制,或作为对标准功能性的备选的对应解决方案,即,在根据环境而要求时或平行于标准 传送功能性。虽然本发明已参照特定示范实施例进行描述,但该描述一般仅旨在说明发明概 念,并且不应视为限制由随附权利要求所定义的本发明的范围。
权利要求
一种在第一实体(200,300,400)和第二实体(201,301,401)之间输送与信息交换服务相关联的消息的通信网络中的方法,所述方法包括由所述第一实体执行的以下步骤-处理与信息交换服务相关联的消息(2:1,3:1,4:3),所述消息包括数据内容和对版本控制的请求,其中版本控制包括将消息的数据内容的每个版本与标识所述版本的数据标识符相关联,-确定所述数据内容是否已经输送到所述第二实体,以及-在所述数据内容没有已经输送到所述第二实体的情况下,将所述消息不做改变地传送(2:2,3:2,4:4)到所述第二实体,或者-在所述数据内容已经输送到所述第二实体的情况下,将修改的消息传送(2:12,3:12,4:14)到所述第二实体,所述修改的消息包括数据标识符,但不包括数据内容。
2.如权利要求1所述的方法,其中所述第一实体是服务器,并且所述第二实体是客户端。
3.如权利要求2所述的方法,其中所述消息是SIP通知。
4.如权利要求3所述的方法,还包括要在所述处理步骤前执行的以下步骤-从所述第二实体接收对信息交换服务的请求(4:1),所述请求指示要求版本控制。
5.如权利要求1所述的方法,其中所述第一实体是客户端,并且所述第二实体是服务器。
6.如权利要求5所述的方法,其中所述消息是SIP公布。
7.如前面权利要求任一项所述的方法,其中所述确定步骤包括询问高速缓存。
8.如前面权利要求任一项所述的方法,其中所述数据标识符在所述第一实体插入所述消息。
9.如权利要求1-7的任一项所述的方法,其中所述数据标识符从所述第二实体提供。
10.如权利要求9所述的方法,其中所述数据标识符在响应消息中提供到所述第一实 体,所述响应消息指示所述消息的成功输送。
11.一种在第一实体(201,301,401)处理与信息交换服务相关联的消息的通信网络中 的方法,其中所述消息从第二实体(200,300,400)输送到所述第一实体,所述方法包括以 下步骤-接收与所请求的信息交换服务相关联的消息(2:2,3:2,4:4),所述消息包括对版本 控制的请求,其中版本控制包括将消息的数据内容的每个版本与识别所述版本的数据标识 符相关联,-确定(2:3,3:3,4:5)所述消息是否包括数据内容,-在所述消息包括数据内容的情况下,检索与所述数据内容相关联的数据标识符并将 所述数据内容与所述数据标识符一起存储,或者-在所述消息不包括任何数据内容的情况下,为所述消息提供与数据标识符相关联的 存储的数据内容,所述数据标识符从所述消息来检索,以及 -处理所述消息。
12.如权利要求11所述的方法,其中所述第一实体是客户端,并且所述第二实体是服务器。
13.如权利要求12所述的方法,其中所述消息是SIP通知。
14.如权利要求13所述的方法,还包括要在所述接收步骤前执行的以下步骤-将对信息交换服务的请求转发到所述第二实体(4:1),所述请求指示要求版本控制。
15.如权利要求11所述的方法,其中所述第一实体是服务器,并且所述第二实体是客户端。
16.如权利要求15所述的方法,其中所述消息是SIP公布。
17.如权利要求11-16的任一项所述的方法,其中所述检索步骤包括从所述第一实体 检索所述数据标识符。
18.如权利要求17所述的方法,其中所述数据标识符在响应消息中从所述第一实体转 发到所述第二实体(2:4),所述响应消息指示所述消息的成功输送。
19.如权利要求11-16的任一项所述的方法,其中所述检索步骤包括从所述消息检索 所述数据标识符,所述数据标识符在所述第二实体插入所述消息。
20.如前面权利要求任一项所述的方法,其中在接收响应消息、确认所述消息已成功输 送到并存储在所述第二实体的高速缓存(2:3)后,将所述数据内容和所述相关联的数据标 识符存储在所述第一实体的高速缓存中(2:5)。
21.如权利要求20所述的方法,其中第一响应消息包括所述第二实体的高速缓存的总 容量的指示。
22.如权利要求20所述的方法,其中每个响应消息包括所述第二实体的高速缓存的剩 余容量的指示。
23.如前面权利要求任一项所述的方法,其中所述数据标识符是版本号或独特的身份。
24.如权利要求1-22的任一项所述的方法,其中所述数据标识符是Etag。
25.一种将与信息交换服务相关联的消息输送到第二实体的第一实体(600,700),所 述第一实体包括-处理单元(601,703),用于处理与所请求的信息交换服务相关联的消息,所述消息包 括数据内容和对版本控制的请求,其中版本控制包括将消息的数据内容的每个版本与标识 所述版本的数据标识符相关联,-版本控制单元(603,702),用于确定所述数据内容是否已经输送到客户端,以及 -通信单元(602,701),用于在所述数据内容没有已经输送到所述客户端的情况下,将 所述消息不做改变地传送到所述客户端,或者用于在所述数据内容已经输送到所述客户端 的情况下,将修改的消息传送到所述客户端,所述修改的消息包括数据标识符,但不包括数 据内容。
26.如权利要求25所述的第一实体,其中所述第一实体是服务器,并且所述第二实体是客户端。
27.如权利要求26所述的第一实体,其中所述通信单元还包括-接收器,用于从所述第二实体接收对信息交换服务的请求,所述请求指示要求版本控制。
28.如权利要求26或27所述的第一实体,其中所述版本控制单元适用于询问高速缓存 (604,704)以便确定所述数据内容是否已经输送到所述第一实体。
29.如权利要求25所述的第一实体,其中所述第一实体是客户端,并且所述第二实体 是服务器。
30.一种处理与信息交换服务相关联的消息的第一实体(700,800),其中所述消息从 第二实体接收,所述方法包括以下步骤-通信单元(701,801),用于从所述第二实体接收消息,所述消息包括对版本控制的 请求,其中版本控制包括将消息的数据内容的每个版本与标识所述版本的数据标识符相关 联,-版本控制单元(702,802),用于确定所述消息是否包括数据内容,所述版本控制单 元适用于在所述消息包括数据内容的情况下,检索与所述数据内容相关联的数据标识符并 将所述数据内容与所述数据标识符一起缓存,或者在所述消息不包括任何数据内容的情况 下,在已经从所述消息检索到数据标识符后,为所述消息提供与所述数据标识符相关联的 存储的数据内容,以及-处理单元(703,804),用于处理所述消息。
31.如权利要求30所述的第一实体,其中所述版本控制单元连接到高速缓存(705, 803),所述版本控制单元适用于缓存数据内容和相关联的数据标识符以响应成功输送的或 接收的消息。
32.如权利要求30或31所述的第一实体,其中所述第一实体是服务器,并且所述第二 实体是客户端。
33.如权利要求30或31所述的第一实体,其中所述第一实体是客户端,并且所述第二 实体是服务器。
全文摘要
公开一种输送与信息交换服务相关联的消息的方法。询问要在两个实体之间输送的消息以确定数据内容是否已经输送到端接实体。如果没有已经将数据内容输送到第二实体,则将消息不做改变地传送到第二实体,而如果已输送,则修改消息,以便修改的消息包括标识数据内容的数据标识符,但不包括数据内容。随后,将修改的消息传送到端接实体,并且在已确认消息的成功传送时,将数据标识符与相关联的数据内容一起缓存。建议的版本控制机制实现具有减小大小的消息的传送。
文档编号H04M3/42GK101889426SQ200780101866
公开日2010年11月17日 申请日期2007年12月4日 优先权日2007年12月4日
发明者A·林德格伦, C·博伯格 申请人:爱立信电话股份有限公司