基于对象的传输协议的制作方法

文档序号:7886148阅读:154来源:国知局
专利名称:基于对象的传输协议的制作方法
技术领域
概括地讲,以下描述涉及网络通信,具体地讲,涉及提供基于对象的传输层协议。
背景技术
网络允许通过无线和/或有线介质互连的多个节点之间的通信。典型的网络架构包括有助于在多个节点之间进行通信的多个通信层。在一个示例中,网络架构可以包括介质层(例如,物理层、数据链路层、网络层等)、主机层(例如,传输层、会话层、表示层、应用层等)等,节点可以利用介质层来进行通信。例如,介质层可以有助于在物理介质(诸如,网络电缆、无线信号等)上发射低等级数据,而主机层可以解释该低等级数据以便呈现给应用。在一个示例中,因特网架构中的传输层可以包括传输控制协议(TCP),其从网络上的一个节点向该网络上的另一节点提供对(与上层相关的)字节流的有序传送。在网络层,例如,因特网协议(IP)可以用于(例如,经由路由器或直接连接)建立节点之间的连接,并在节点当中路由数据。例如,IP层可以生成来自TCP层的数据的分组,并且将一个或多个头部包括在分组中以助于进行路由。另外,TCP可以对确保有序的字节流的可靠传送的IP连接进行管理。例如,TCP还可以提供针对未被正确地接收的分组的重传机制、提供为了限制传输速率以获取可靠性的流控制、以及为防止网络在阈值等级之上接收进入的数据的拥塞控制。在另一示例中,传输层可以是用户数据报协议(UDP),其相比于TCP而言具有较低的健壮性,并且不提供重传、流控制或拥塞控制。对网络通信的提升已允许网络设备同时利用各种网络技术来提供到因特网或另一网络的多种连接。就此而言,在任何给定的时间点,网络设备可以具有通过不同网络(和/或网络架构)的一种或多种不同的因特网或其它网络的连接。例如,网络设备可以具有一个或多个第三代合作伙伴计划(3GPP)连接以及一个或多个WiFi连接,其可以被用于从一个或多个不同的网络设备访问类似的或不同的因特网内容。另外,网络设备可以在因特网或另一网络上同时接收数据以用于多种应用,并且网络设备的用户可以在表示不再必需(至少暂时)请求的数据的应·用之间进行切换。TCP、UDP和其它传输层协议无法优化这种功倉泛。

发明内容
下面给出了一个或多个方面的简要发明内容,以便提供对这些方面的基本理解。本发明内容不是对所有预期方面的泛泛概述,并且其既不是想要确定所有方面的关键元素或重要元素、也不是想要描述任何方面或所有方面的范围。其唯一目的是以简要的形式给出一个或多个方面的一些概念,作为后面所给出的更详细描述的序言。根据一个或多个实施例及其对应的公开内容,结合在网络通信中提供基于对象的传输协议来描述各个方面。例如,基于对象的传输协议允许一个或多个网络节点之间的任意尺寸的对象的传送。另外,例如,对象可以具有相关联的元数据参数(诸如优先级、发射期限等),其可以用于控制对象的传送。在一个示例中,对象的接收机可以通过利用元数据参数控制由发送方进行的对象的传送。此外,基于对象的传输协议可以管理用于在一组物理连接上将对象传送到一个或多个网络的会话,该会话可以随着时间被修改以提供相对于物理连接的透明性。根据一个示例,示出了一种在网络通信中提供基于对象的传输层协议的方法,该方法包括:从应用接收一个或多个对象以用于向远程网络节点进行传送,并且从该应用接收针对所述一个或多个对象的元数据。该方法还包括:选择用于将所述一个或多个对象传送到远程网络节点的会话,并且将所述一个或多个对象提供给网络协议层,以用于至少部分地基于在所述元数据中指示的优先级在与所述会话的信道相关的至少一个网络接口上进行发射。在另一方面,提供了一种用于在网络通信中提供基于对象的传输层的装置,其包括至少一个处理器,该至 少一个处理器配置成从应用获得一个或多个对象以用于向远程网络节点进行传送,并且从该应用获得针对所述一个或多个对象的元数据。所述至少一个处理器还配置成:确定用于将所述一个或多个对象传送到远程网络节点的会话,并且将所述一个或多个对象传送到网络协议层,以用于至少部分地基于在所述元数据中指示的优先级在与所述会话的信道相关的至少一个网络接口上进行发射。另外,无线通信装置包括耦合到所述至少一个处理器的存储器。在另一方面,提供了一种用于在网络通信中提供基于对象的传输层的装置,其包括用于从应用接收一个或多个对象以用于向远程网络节点进行传送的模块,以及用于从该应用接收针对所述一个或多个对象的元数据的模块。该装置还包括:用于将所述一个或多个对象提供给网络协议层,以用于至少部分地基于在所述元数据中指示的优先级在与所选择的会话的信道相关的至少一个网络接口上进行发射的模块。此外,在另一方面中,提供了一种用于在网络通信中提供基于对象的传输层的计算机程序产品,其包括计算机可读介质,该计算机可读介质包括:用于使得至少一台计算机从应用获得一个或多个对象以用于向远程网络节点进行传送的代码,以及用于使得所述至少一台计算机从该应用获得针对所述一个或多个对象的元数据的代码。所述计算机可读介质还包括:用于使得所述至少一台计算机确定用于将所述一个或多个对象传送到远程网络节点的会话的代码。另外,所述计算机可读介质还包括用于使得所述至少一台计算机将所述一个或多个对象传送到网络协议层,以用于至少部分地基于在所述元数据中指示的优先级在与所述会话的信道相关的至少一个网络接口上进行发射的代码。此外,在一个方面,提供了一种用于在网络通信中提供基于对象的传输层的装置,其包括:对象接收组件,其用于从应用获得一个或多个对象以用于向远程网络节点进行传送;以及对象属性关联组件,其用于从所述应用接收针对所述一个或多个对象的元数据。所述装置还包括:对象通信组件,其用于将所述一个或多个对象提供给网络协议层,以用于至少部分地基于在所述元数据中指示的针对所述一个或多个对象的优先级在与所选择的会话的信道相关的至少一个网络接口上进行发射。为了实现前述以及相关的目的,一个或多个方面包括在下文中充分描述并在权利要求中特别指出的特征。下面的描述和附图详细地给出了一个或多个方面的某些说明性特征。然而,这些特征仅指示了可以用于采用的各个方面的原理的各种方式中的若干方式,并且该描述旨在包括所有的这些方面及其等价物。


在下文中将结合附图对所公开的方面进行描述,附图被提供用于示出而非要限制所公开的方面,其中,相同的名称表示相同的元件,并且其中:图1示出了用于有助于在多个层上的节点之间的网络通信的示例性系统。图2示出了用于对允许任意尺寸的对象的传送的基于对象的示例性传输协议。图3示出了用于在基于对象的传输协议的一个或多个会话上传送对象的示例性系统。图4示出了具有经由应用编程接口(API)利用基于对象的传输协议的应用的示例性网络节点。图5示出了使用基于对象的传输协议的一个或多个功能进行通信的示例性网络节点。图6示出了用于在基于对象的传输协议上进行通信的示例性系统。图7示出了有助于在基于对象的传输协议上传送对象的示例性方法。图8示出了根据发射期限取消对象的发射的示例性方法。图9示出了用于修改要接收的对象的一个或多个属性的示例性方法。图10示出了维护会话中的多个信道的示例性方法。图11示出了对如从多个源接收的对象进行合并的示例性方法。图12示出了用于请求对与要接收的一个或多个对象相关的属性的修改的示例性方法。图13示出了用于在基于对象的传输协议上传送对象的示例性系统。图14示出了根据本文给出的各个方面的无线通信系统。图15示出了可以结合本文描述的各种系统和方法而使用的示例性计算机设备。
具体实施例方式现在参照附图来描述各个方面。在下面的描述中,出于解释说明的目的,给出了若干具体细节,以便提供对一个或多个方面的彻底理解。然而,显而易见的是,可以不用这些具体的细节来实践这些方面。如本文进一步描述的,提供基于对象的传输协议以允许网络节点将对象的传送划分优先级、将用于接收对象的最后期限进行关联、对可以在其上发射对象的去往其它网络节点的多个信道进行管理、等等。此外,在一个示例中,基于对象的传输协议另外定义一个或多个会话,每个会话可以对多个信道中的一个或多个信道以及其上的对象的通信进行管理。就此而言,基于对象的传输协议是对其它传输协议的改进,这至少是因为其允许:任意尺寸的对象的发射、与对象相关联的可实施的优先级、为避免发射不再需要的对象而具有对象的发射期限、对于上层而言透明的多个连接的管理(例如,这提供来自多个连接的移动性以及可能改善的数 据率)等。如在本申请中使用的术语“组件”、“模块”、“系统”等旨在包括与计算机相关的实体,诸如但不限于硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是但不限于处理器上运行的过程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。通过举例说明的方式,计算设备上运行的应用和该计算设备两者均可以是组件。一个或多个部件可以位于执行中的过程和/或线程内,并且组件可以位于一台计算机上和/或分布于两台或更多台计算机之间。另外,可以从具有存储在其上的各种数据结构的各种计算机可读介质执行这些组件。这些组件可以诸如根据具有一个或多个数据分组的信号通过本地和/或远程过程来传送诸如来自一个组件的数据,该组件通过该信号与本地系统中、分布式系统中的另一组件,和/或跨越诸如因特网等的网络与其它系统进行交互。此外,本文结合终端描述了各个方面,终端可以是有线终端或无线终端。终端还可以称为系统、设备、用户单元、用户站、移动站、移动台、移动设备、远程站、远程终端、接入终端、用户终端、终端、通信设备、用户代理、用户设备、或用户装置(UE)。无线终端可以是蜂窝电话、卫星电话、无绳电话、会话发起协议(SIP)电话、无线本地环路(WLL)站、个人数字助理(PDA)、具有无线连接能力的手持式设备、计算设备、或连接到无线调制解调器的其它处理设备。此外,本文结合基站描述了各个方面。基站可以用于与无线终端进行通信,并且还可以称为接入点、节点B、演进型节点B (eNB)、或某些其它术语。此外,术语“或者”意味着包括性的“或者”而不是排他性的“或者”。也就是说,除非另外指定,或者从上下文能清楚得知,否则短语“X使用A或者B”的意思是任何自然的包括性置换。也就是说,短语“X使用A或者B”满足下面任何一个例子:X使用A ;X使用B ;或者X使用A和B 二者。另外,如本申请和所附权利要求中使用的冠词“一”和“一个”通常应当解释成意为“一个或多个”,除非另外指定或从上下文能清楚得知是指单数形式。本文描述的技术可以用于各种无线通信系统,诸如CDMA、TDMA, FDMA, OFDMA,SC-FDMA以及其它系统。术语“系统”和“网络”通常交互使用。CDMA系统可以实现诸如通用陆地无线接入(UTRA)、cdma2000等之类的无线技术。UTRA包括宽带CDMA (W-CDMA)和CDMA的其它变体。此外,cdma2000涵盖IS-2000、IS-95和IS-856标准。TDMA系统可以实现诸如全球移动通信系统(GSM)之类的无线技术。OFDMA系统可以实现诸如演进型UTRA(E-UTRA)、超移动宽带(UMB)、IEEE802.11 (W1-Fi)、IEEE802.16 (WiMAX), IEEE802.20、Fksh-OFDM弗等之类的无线技术。UTRA和E-UTRA是通用移动电信系统(UMTS)的一部分。3GPP长期演进(LTE)是使用E-UTRA的UMTS版本,其在下行链路上使用OFDMA而在上行链路上使用SC-FDMA。在·来自名为“第三代合作伙伴计划”(3GPP)的组织的文档中描述了 UTRA、E-UTRA、UMTS、LTE和GSM。此外,在来自名为“第三代合作伙伴计划2” (3GPP2)的组织的文档中描述了 cdma2000和UMB。此外,这些无线通信系统可以附加地包括通常使用不成对的未授权的频谱的点对点(例如,移动台对移动台)自组网络系统、802.XX无线LAN、蓝牙以及任何其它近距离或远距离的无线通信技术。各个方面或特征将围绕可以包括多个设备、组件、模块等的系统而给出。应当理解和意识到的是,各种系统可以包括附加的设备、组件、模块等,和/或可以不包括结合附图所讨论的所有设备、组件、模块等。还可以使用这些方法的组合。参照图1,其示出的是有助于使用基于对象的传输协议在网络中的节点之间进行通信的示例性系统100。系统100包括网络节点102和104,网络节点102和104可以分别是网络中的客户端节点和服务器节点。例如,网络节点102和104均可以是移动设备,诸如UE、计算机、和/或基本上能够在有线或无线网络中进行通信的任意节点。此外,在网络节点102和104之间可以有附加的节点(诸如一个或多个路由器、网关、防火墙等)和/或无线网络组件(诸如一个或多个基站、中继节点等)以有助于通信。为了便于说明而未描述这些组件;然而,就此而言,网络节点102和104可以基本上以任意网络技术和/或跨越多种网络技术来进行通信。在一个示例中,网络节点102可以在与网络节点102和104之间的各种组件的不同的物理网络连接上通过3GPP接口和WiFi接口,同时与网络节点104进行通信,以有助于跨越多个网络进行通信。根据一个示例,网络节点102可以包括应用106,其可以利用一个或多个主机或介质层协议来与网络节点104处的应用112进行通信,并且反之亦然。例如,应用106和112可以是应用程序、服务、对象、微件、或在网络节点102和104处基本上任何可执行的代码。另外,网络节点102和104包括基于对象的传输协议108和114,基于对象的传输协议108和114可以分别在网络层协议110和116上分别传送来自应用106和112的对象。在一个示例中,网络层协议110和116可以利用IP或类似的协议。例如,应用106可以生成对来自网络节点104 (例如,来自应用112)的内容的请求。在一个示例中,应用106可以利用应用编程接口(API)或由基于 对象的传输协议108提供的类似接口来创建与对内容的请求相关的一个或多个对象。就此而言,例如,应用106可以指定与请求和/或响应数据相关联的元数据,诸如优先级、发射期限、响应属性、关于对象的一个或多个参数等。在这个示例中,基于对象的传输协议108可以将元数据关联到与对内容的请求相关的一个或多个对象。至少部分地基于元数据,基于对象的传输协议108可以选择要在其上将包括对内容的请求的对象发送到网络节点104的一个或多个信道。如上所述,例如,基于对象的传输协议108可以管理多个会话,每个会话可以包括到给定的终端主机(诸如网络节点104)的一个或多个网络接口上的一个或多个信道。另夕卜,基于对象的传输协议108可以将与对内容的请求相关的对象提供给针对网络节点104的适当的会话。在一个示例中,基于对象的传输协议108可以提供对象(一旦对象被完全地接收),并且可以在不考虑顺序的情况下(例如,如下所述,除非应用112要求进行顺序递送)提供对象。基于对象的传输协议108中针对网络节点102的会话可以根据相关的元数据中的优先级来将对象排序,并且可以利用网络层协议110以用于将对象发送到网络节点104。从而,在一个示例中,网络节点104可以在网络层协议116(例如,在一个或多个分组或由网络层协议110创建的其它网络帧单元中)上从网络节点102接收对象。网络层协议116可以将对象(例如,作为一个或多个分组)提供给基于对象的传输协议114。一旦从网络节点102完全地接收了对象,基于对象的传输协议114便可以重新构建对象(例如,在接收到分组的情况下),并将对象递送给应用112。从而,应用112可以处理对象,并确定对象中的对内容的请求以及与其相关联的元数据。在一个示例中,应用112可以满足对内容的请求,这可以包括将一个或多个响应对象传送到网络节点102、对一个或多个响应对象进行流式传送等。另外,应用112可以经由基于对象的传输协议114来设置响应对象的优先级、对于一个或多个响应对象而言的任何潜在的响应的发射期限、响应对象的其它元数据(诸如标识符)等(其可以指定在对内容对象的请求的响应属性中)。类似地,在一个示例中,应用112可以使用基于对象的传输协议114来设置一个或多个响应对象的响应属性。如上所述,基于对象的传输协议114可以将一个或多个响应对象提供给一个或多个会话,以用于根据在相关的元数据中指定的优先级或其它参数在一个或多个信道上向网络节点102进行传送。在这个示例中,如所描述地,一个或多个会话可以利用网络层协议116来将一个或多个数据对象(例如,作为一个或多个分组)传送给网络节点102。另外,例如,基于对象的传输协议114可以在向网络节点102进行发射之前或期间,至少部分地基于针对一个或多个对象的元数据,来确定针对一个或多个对象已达到发射期限。在这个示例中,基于对象的传输协议114可以从相关的会话中移除一个或多个对象、停止发射一个或多个对象等。另外,应用106可以修改与对内容的请求的响应数据相关的一个或多个属性(诸如,优先级)。在这个示例中,基于对象的传输协议108可以经由网络层协议110到网络层协议116向网络节点104传送消息以更新对象属性。如所描述地,网络层协议116可以将消息提供给基于对象的传输协议114,并且基于对象的传输协议114可以适当地修改与对内容的请求的响应数据相关的属性。就此而言,例如,应用106修改针对响应数据的优先级以影响其传输。此外,例如,如所描述地,基于对象的传输协议108可以通过向网络节点104传送取消消息来取消对象的发射。类似地,基于对象的传输协议114可以通过向网络节点102传送相关的消息来取消对象的接收。另外,如所描述地,基于对象的传输协议114可以至少部分地基于超出相关的发射期限,取消向网络节点102发射对象。此外,在基于对象的传输协议108从网络节点104和另一网络节点接收到具有相同数据的两个对象的情况中,基于对象的传输协议108可以合并对象以加快接收。在另一示例中,由于可以在发射期间将对象存储在基于对象的传输协议114,因此基于对象的传输协议108可以(例如,至少部分地基于从应用106接收的请求)通过向基于对象的传输协议114发出相应的消息来暂停或恢复来自网络节点104的对象或相关会话的发射。此外,基于对象的传输协议108可以指示基于对象的传输协议114暂停来自发射对象的一个或多个会话。转到图2,其示出了根据本文描述的方面的基于对象的示例性传输协议200。例如,基于对象的传输协议200可以实现在网络节点(例如,客户端节点或服务器节点)中,诸如UE、终端计算机、服务器、或能够在无线网络中进行通信的基本上任何节点。另外,基于对象的传输协议2 00可以实现成与网络节点内的其它协议(例如,IP协议、或其它网络层协议、应用协议、或其它主机或介质层协议)连接,以如本文所述地提供网络节点之间的对象的传送。基于对象的传输协议200可以包括:对象层202,其操控将与远程网络节点传送的一个或多个对象;会话层204,其建立用于在一个或多个信道上传送对象的一个或多个会话;以及信道层206,其维护与远程网络节点和/或一个或多个附加的远程网络节点的一个或多个信道。此外,例如,对象层202可以包括:对象编码协议208,其(例如,利用擦除码或其它编码算法)对对象进行编码以用于向远程网络节点进行发射;以及对象控制协议210,其传送与对象相关的元数据,诸如优先级、期限和/或其它参数(例如,标识信息等)。另外,如所描述地,会话层204可以包括:会话控制协议212,其建立、维护以及移除用于将对象发射到远程网络节点的会话、向会话中添加信道/从会话中移除信道等;以及连接控制协议214,其将会话映射到一个或多个信道。此外,信道层206可以包括:分组构建协议216,其将经编码的对象封装到网络层分组中以用于在一个或多个信道上进行发射;以及拥塞控制协议218,其提供一个或多个信道中的每个信道上的拥塞控制以改善其吞吐量。根据一个示例,应用层或其它上部的主机层可以利用基于对象的传输协议200来将对象传送到远程网络节点(例如,通过由基于对象的传输协议200提供的API等)。如所描述地,例如,基于对象的传输协议200可以允许应用层或其它上部的主机层执行如下操作中至少之一:将用于传送到远程网络节点的对象和/或正从远程网络节点传送的响应对象划分优先级,关联和实施用于传送去往/来自远程网络节点的对象的期限等等。因而,对象层202可以维护每个对象的状态以有助于:实施优先级、存储部分接收到的对象直到接收到对象的剩余部分为止等等。在这个示例中,基于对象的传输协议200可以接收(例如,来自应用的)对象,而对象编码协议208可以使用一个或多个编码算法(诸如擦除码或其它码)来编码对象,以增加传送对象的可靠性,从而生成针对对象的一个或多个前向纠错(FEC)符号。另外,对象控制协议210可以将元数据(诸如优先级、发射期限、对象标签或标识符等)与对象相关联,其中元数据可以通过下列方式中的至少一种方式获得:从应用层或其它上部的主机层接收(例如,通过API)、由经编码的对象的接收机指定或与经编码的对象的接收机协商而定等等。另外,例如,对象层202可以根据FEC符号来创建对象编码协议数据单元(PDU),FEC符号可以包括与对象层202相关的一个或多个头部。此外,例如,对象层202可以向会话层204提供对象编码H)U (和/或与对应的对象相关的元数据)以用于进行经优先级划分的发射。在这个示例中,如所描述地,会话层204可以建立并维护与远程网络节点的会话。会话可以包括一个或多个网络接口上的一个或多个信道,用于将网络层分组传送到远程网络节点。另外,可以(例如,通过对象层202)将来自多个应用的对象编码PDU提供给会话,以用于向远程网络节点进行传送。另外,会话层204可以从给定的会话添加和移除信道,这些信道中每个信道均可以对应于到远程网络节点的接口上的连接。在另一示例中,会话层204可以建立并维护与远程网络节点的安全性关联,其使得能够在添加到远程网络节点的一个或多个信道的同时验证远程网络节点针对会话中的至少另一信道而言是相同的。在这个示例中,会话层204可以在建立与远程网络节点的附加信道时包括安全性关联,并且远程网络节点可以在确定是否允许建立信道时验证安全性关联。从而,会话控 制协议212可以例如建立、维护和移除会话,向会话添加信道或从会话中移除信道等等。连接控制协议214可以使用连接到一个或多个主机的一个或多个网络接口来建立和移除与一个或多个远程网络节点的信道。在上面的示例中,会话层204可以将一个或多个对象编码PDU关联到通过会话控制协议212与远程网络节点建立的会话。例如,这可以至少部分地基于用对象编码rou(例如,在元数据中、在与经编码的对象相关联的头部中、或以其它方式)指定的、与远程网络节点相关联的标识符。例如,对于给定的会话,会话控制协议212可以根据优先级、发射期限、和/或与对象编码PDU相关联的元数据中的其它属性,对会话中的对象编码PDU进行排序。会话控制协议212可以在通过连接控制协议214在关联到会话的一个或多个信道上发射一个或多个对象编码rou。就此而言,例如,会话控制协议212可以在维护会话的同时使用连接控制协议214修改会话的信道,以维护会话的透明性。从而,可以在到远程网络节点的通信路径中修改一个或多个主机,并且会话控制协议212可以在不向应用(例如,或者甚至向对象层202)显露这种修改的情况下,参照这种修改来更新会话的一个或多个信道。在一个示例中,这可以允许相关的网络节点的移动性。
此外,在这个示例中,信道层206可以管理一个或多个网络接口上的与远程网络节点的一个或多个信道。信道层206可以操控针对一个或多个信道的拥塞控制、分组构建、网络地址转换(NAT)以及防火墙穿越和/或等等。例如,分组构建协议216可以将一个或多个对象编码PDU转换成一个或多个分组(例如,和/或rou),以用于在信道上进行发射(例如,使用一个或多个网络层协议)。拥塞控制协议218可以根据拥塞控制过程来确定信道是否能够操控对一个或多个分组中的至少一部分进行发射。例如,拥塞控制可以指信道对相关的接口上的通信流进行控制以便不使接口超负荷的能力,并且拥塞控制过程可以在相关的信道上提供这种功能。然后,信道层206可以将一个或多个分组提供给网络层协议,以用于向远程网络节点进行发射。在一个示例中,信道层206可以利用传输控制协议(TCP)来完成分组构建、拥塞控制等。类似地,例如,信道层206可以在网络接口上从远程网络节点(例如,响应于对其发送的对象)接收一个或多个分组。分组构建协议216可以(例如,使用与针对所发射的分组类似的构建方法)将一个或多个分组转换成一个或多个对象编码rou,并且将对象编码rou提供给与网络接口和远程网络节点相关的信道上的会话层204。连接控制协议214可以获得对象编码rou,并且会话控制协议212可以(例如,基于在其上接收到分组的信道)将对象编码PDU与会话相关联。会话层204可以将对象编码PDU传送给对象层202。对象编码协议208可以根据例如所使用的编码方式来解码对象编码rou,并且可以将经解码的对象提供给相关的应用层(例如,与会话相关的应用)。前述方案允许相比于当前传输协议的各种优势。例如,对应用层提供了在构建数据方面的某些控制。如所描述地,例如,对将在基于对象的传输协议200上发射的对象的创建允许应用层:创建任意尺寸的对象(例如,尺寸不同的对象),进一步指定用于传送对象的参数(诸如优先级和期满定时器等)。参照图3,其示出了示例性通信系统300,其有助于提供用于在网络上传送对象的基于对象的传输协议306。系统300包括在有线或无线网络中彼此进行通信的网络节点302和304。虽然未示出,但网络节点302和304可以通过一个或多个附加的网络节点(诸如一个或多个网关、路由器、基站、其它设备和/或等等)进行通信。此外,网络节点302和304均可以是基本上任何网络节点或端点,诸如UE、计算机、服务器等。网络节点302可以包括如本文所描述的基于对象的·传输协议306,以用于与网络节点304 (其也可以具有基于对象的传输协议(未示出))进行通信。例如,基于对象的传输协议306可以包括多个会话308、310、和312,会话308、310、和312利用网络节点302的一个或多个网络接口 314和316来与网络节点304进行通信。如所描述地,例如,基于对象的传输协议306可以建立会话I 308,以用于与网络节点304进行通信。另外,基于对象的传输协议306可以建立会话2 310和会话3 312,以用于在网络接口 314和316中的一个或多个网络接口上与其它网络节点(未示出)进行通信。此外,如图所示,会话I 308和会话2 310可以分别利用信道318和320上的接口 I 314和接口 2316,以用于与网络节点进行通信,而会话3 312具有到接口 2 316而不是接口 I 314的信道。应意识到的是,在一个示例中,可以进行完整的网络构建,以使得所有会话可以具有所有接口上的信道。另外,会话308、310和312中的每个会话可以根据在针对会话中的对象的元数据中指示的优先级将对象排序。另外,接口 I 314和接口 2 316可以是基本上任何网络接口,诸如3GPP接口、WiFi接口、WiMAX接口、LTE接口、局域网(LAN)接口和/或等等。如所描述地,例如,基于对象的传输协议306可以从应用接收一个或多个对象,以用于在一个或多个会话308、310、或312上进行发射。例如,应用可以识别网络节点304以接收对象,并且基于对象的传输协议306可以至少部分地基于将网络节点304识别成与会话I 308相关联来将对象与会话I 308相关联。从而,基于对象的传输协议306可以将对象置于会话I 308中以用于进行发射(例如,如所描述地,在对对象进行编码、将元数据与对象相关联等等之后)。基于对象的传输协议306可以根据确定接口 I 314和/或接口 2 316处的接口发送时机(interface sending opportunity)来发射对象。例如,接口 I 314 和接口 2 316可以具有针对输出分组的队列,其可以被管理以确保接口不会超负荷。从而,当接口 I 314和/或接口 2 316在其缓冲器中有空间用于数据的最大传输单元(MTU)时,接口具有发送时机。如所描述地,每个信道(诸如信道318和320)可以维护拥塞控制。因而,当在与信道相关的接口(例如,用于信道318的接口 I 314或用于信道320的接口 2 316)处出现接口发送时机时,每个信道可以根据其拥塞控制过程来确定其是否可以发送数据。至少部分地基于这种信息,会话308、310、和312的子集可以被确定为有资格进行发送。例如,在一个示例中,如果接口 I 314具有接口发送时机,则可以将会话I 308和会话2 310识别为有资格进行发送。另外,然而,基于对象的传输协议306可以将一个或多个会话置于挂起(onhold)。例如,这可以在网络节点304想要另一网络节点的另一会话的情况下由网络304来发起。例如,虽然网络节点302可以向网络节点304提供流式数据,但是网络节点304可以从这种流式应用切换到另一网络节点的另一应用。在这种情况下,网络节点304可能希望将会话I 308挂起,以便在至少一段时间内不从其接收数据。在这个示例中,基于对象的传输协议306可以在确定会话是否有资格进行发送时考虑会话的状态。因而,在上面的示例中,当会话I 308被 指示为处于挂起状态中时,基于对象的传输协议306可以确定会话2310为有资格进行发送。在这个示例中,一旦基于对象的传输协议306识别出有资格进行发送的会话的子集(例如,这个示例中的会话I 308和会话2 310),则根据与对象相关的元数据的在那些有资格的会话(例如,这些会话的发射期限尚未超出)当中具有优先权最高的对象的会话可以利用接口发送时机。就此而言,例如,可以识别唯一的对象、会话和接口组合,并且可以通过接口来发送针对对象的数据。在两个或更多个有资格的会话具有具备相同或相似优先级的对象的情况下,例如,可以对附加的信息进行分析以确定哪个会话可以利用接口发送时机(例如,无法使用接口发送时机的上一次会话、具有次早的上一次发射时间的会话等)。另外,例如,在被选择以在接口发送时机上进行发射的对象的尺寸小于在针对接口发送时机的接口处的可用的MTU的情况下,从其中选择对象的会话(例如,会话I 308)可以在接口发送时机中发射一个或多个附加的对象中的一部分。在另一示例中,具有相比一个或多个附加对象而言优先级高的不同的对象的另一会话(诸如会话310)可以在接口发送时机期间发射不同的对象。在一个示例中,在本文中对于发送或发射对象的任何引用可以包括前述过程:在给定的接口发送时机期间确定会话是有资格的,并且从一个或多个这种会话中选择优先级最高的对象。在一个示例中,如所描述地,基于对象的传输协议306可以向会话I 308提供发送时机或要进行发射的指令。在这个示例中,基于对象的传输协议306可以包括用于在相关的接口(例如,接口 I 314)上进行发射所允许的尺寸、针对相关的信道(例如,信道318)的估计往返时间等。在一个示例中,会话I 308可以拒绝发送时机,在这种情况下,基于对象的传输协议306可以将发送时机提供给具有优先级次高的对象的会话(诸如会话2310)。在另一示例中,会话I 308和会话2 310可以拒绝发送时机。在这个例子中,会话I 308和/或会话2 310可以在需要向网络节点304发射数据时(例如,在基于对象的传输协议306向会话I 308或会话2 310提供附加的对象的情况下、在基于对象的传输协议306指示恢复(例如,在网络节点304的请求下)先前被置于挂起的会话的情况下等),请求基于对象的传输协议306中的发送时机。另外,如所描述地,网络节点304可以包括基于对象的传输协议,该基于对象的传输协议实现到一个或多个接口的一个或多个会话和/或信道,以用于与网络节点302进行通信。在这个示例中,网络节点304可以通过利用与接口 I 314或接口 2 316的连接来向网络节点302发射响应对象,接口 I 314或接口 2 316因此可以将响应对象转发给会话I308。另外,如本文在上面和进一步描述的,基于对象的传输协议306可以控制来自网络节点304的响应对象的传送的一个或多个方面(例如,使用相应的请求中的响应数据参数、向网络节点发送与修改针对响应对象的参数有关的命令等)。在一个示例中,如本文所描述地,重新参照图1,网络节点102和104可以称为端点、对象传输(OT)服务接入点(SAP)等。例如,对象传输服务接入点是在其上应用对对象传输服务进行访问的逻辑点。例如,可以有多种类型的OT服务接入点。无连接的OT SAP向任意的远程的无连接的OT SAP发送对象并从任意的远程的无连接的OT SAP接收对象。面向连接的OT SAP向特定的远程的面向连接的OT SAP发送对象并从特定的远程的面向连接的OT SAP接收对象。这种类型的SAP还可以用于从远程的面向连接的OT SAP接收针对建立新的本地的面向连接的OT SAP的请求。多播OT SAP向IP多播组发送对象并从IP多播组接收对象。此外,在特定的示例性实现方案中,OT端点指向潜在的OT服务接入点并由(主机标识、OT端口)对来标识,其中,主机标识是终端主机的标识符(例如,根据主机标识协议(HIP)的主机标识),而OT端口是主机内的OT端点的标识符。例如,HIP可以是在IP网络中用以在端点标识符和定位符之间进行区分的主机识别技术。OT定位符可以是OT主机的网络层地址(例如,IP地址)。OT定位符可以用于发起与OT端点的通信。例如,面向连接的SAP的目的是向应用(诸如应用106和/或112)提供上下文,在该上下文中可以对相关的对象进行操控。这可以在由基于对象的传输协议108和/或114要求安全性时是有用的,这是由于安全性关联可以在套接字等级上创建并应用到通过那个连接而交换的对象。例如,可以利用套接字在网络节点之间进行通信,其中套接字可以是TCP套接字。在这个示例中可以提供两种连接建立模式:正常模式,在该模式下在请求之后立即建立连接;以及惰性模式,在该模式下将连接建立延迟直到要发送数据为止。这允许数据交换和连接建立同时进行,并且可以避免在可以传送数据之前的连接建立延迟。此外,例如,可以将如之前所描述的对象属性(例如,优先级、发射期限等)按如下在一个具体的示例性实现方案中来定义。优先级 :对象优先级是对对象传输层的关于对象的相对优先级的提示。可以在将用于会话的资源分配给优先级较低的对象之前分配给优先级较高的对象。在下表中定义了优先级级别:
权利要求
1.一种在网络通信中提供基于对象的传输层的方法,包括: 从应用接收一个或多个对象,以用于向远程网络节点进行传送; 从所述应用接收针对所述一个或多个对象的元数据; 选择用于将所述一个或多个对象传送到所述远程网络节点的会话;以及 将所述一个或多个对象提供给网络协议层,以用于至少部分地基于在所述元数据中指示的所述一个或多个对象的优先级,在与所述会话的信道相关的至少一个网络接口上进行发射。
2.根据权利要求1所述的方法,还包括: 检测针对所述至少一个网络接口的发送时机;以及 确定所述一个或多个对象的所述优先级高于具有与所述至少一个网络接口相关的所述信道或不同的信道的所述会话或不同的会话中的不同的对象的至少一个不同的优先级,其中,所述提供所述一个或多个对象至少部分地基于所述确定。
3.根据权利要求2所述的方法,其中,所述检测所述发送时机包括:分析针对所述信道的拥塞控制以确定所述信道可用于在所述至少一个网络接口上发射所述一个或多个对象。
4.根据权利要求2所述的方法,其中,所述检测所述发送时机包括:分析所述会话的状态以确定所述会话可用于在所述至少一个网络接口上发射所述一个或多个对象。
5.根据权利要求1所述的方法,还包括: 确定与所述会话中的一个或多个不同的对象相关的发射期限;以及 至少部分地基于超出所述发射期限来取消所述一个或多个不同的对象的发射。
6.根据权利要求1所述的方法,还包括:从所述远程网络节点接收修改与所述一个或多个对象相关的后续对象的一个或多个属性的请求。
7.根据权利要求6所述的方法,还包括: 修改与所述一个或多个对象相关的一个或多个后续对象的所述一个或多个属性,其中,所述一个或多个属性包括经修改的优先级;以及 将所述一个或多个后续对象提供给所述网络协议层,以用于至少部分地基于所述经修改的优先级,在与所述会话的所述信道相关的所述至少一个网络接口上进行发射。
8.根据权利要求1所述的方法,还包括:从所述远程网络节点接收修改所述信道或所述会话的状态的请求。
9.根据权利要求8所述的方法,还包括:至少部分地基于所述请求将所述会话置于挂起。
10.根据权利要求1所述的方法,还包括:建立与到所述会话的不同的网络接口相关的附加信道,以用于与所述远程网络节点进行通信。
11.根据权利要求10所述的方法,还包括:至少部分地通过传送包括在所述信道上从所述远程网络节点接收的安全性关联在内的建立所述附加信道的请求,来建立与所述远程网络节点的所述附加信道。
12.根据权利要求10所述的方法,还包括: 从所述会话中移除所述信道;以及 将与所述一个或多个对象相关的一个或多个后续对象提供给所述网络协议层,以用于至少部分地基于针对所述一个或多个后续对象所指示的所述优先级,在与所述附加信道相关的所述不同的网络接口上进行发射。
13.根据权利要求1所述的方法,还包括:使用擦除码对所述一个或多个对象进行编码,以生成多个对象编码协议数据单元(PDU),其中,所述将所述一个或多个对象提供给所述网络协议层包括将所述一个或多个对象编码PDU提供给所述网络协议层。
14.根据权利要求1所述的方法,还包括: 至少部分地基于所述一个或多个对象从所述远程网络节点接收一个或多个响应对象中的至少一部分;以及 至少部分地基于将所述一个或多个响应对象识别为与所述一个或多个对象相关,将所述一个或多个响应对象提供给所述应用。
15.根据权利要求14所述的方法,还包括:将所述元数据提供给所述网络协议层,以用于在与所述会话的所述信道相关的所述至少一个网络接口上进行发射,其中,所述元数据包括针对所述一个或多个响应对象的响应属性。
16.根据权利要求15所述的方法,还包括:向所述远程网络节点发送修改所述响应属性的请求。
17.根据权利要求15所述的方法,还包括:向所述远程网络节点发送修改与所述一个或多个响应对象相关的不同的会话或不同的信道的状态的请求。
18.根据权利要求14所述的方法,还包括: 从不同的远程网络节点接收与所述一个或多个响应对象对应的一个或多个不同的对象编码协议数据单元(PDU); 确定所述一个或多个不同的对象编码PDU与所述一个或多个响应对象相关;以及将所述一个或多个不同的对象编码PDU与从所述远程网络节点接收的一个或多个对象编码PDU合并,以形成所述一个或多个响应对象。
19.根据权利要求1所述的方法,其中,所述一个或多个对象尺寸不同。
20.一种用于在网络通信中提供基于对象的传输层的装置,包括: 至少一个处理器,其配置成: 从应用获得一个或多个对象,以用于向远程网络节点进行传送; 从所述应用获得针对所述一个或多个对象的元数据; 确定用于将所述一个或多个对象传送到所述远程网络节点的会话;以及将所述一个或多个对象传送到网络协议层,以用于至少部分地基于在所述元数据中指示的优先级,在与所述会话的信道相关的至少一个网络接口上进行发射;以及存储器,其耦合到所述至少一个处理器。
21.一种用于在网络通信中提供基于对象的传输层的装置,包括: 用于从应用接收一个或多个对象以用于向远程网络节点进行传送的模块; 用于从所述应用接收针对所述一个或多个对象的元数据的模块;以及用于将所述一个或多个对象提供给网络协议层,以用于至少部分地基于在所述元数据中指示的优先级,在与选择的会话的信道相关的至少一个网络接口上进行发射的模块。
22.一种用于在网络通信中提供基于对象的传输层的计算机程序产品,包括: 计算机可读介质,包括: 用于使得至少一台计算机从应用获得一个或多个对象以用于向远程网络节点进行传送的代码; 用于使得至少一台计算机从所述应用获得针对所述一个或多个对象的元数据的代码; 用于使得至少一台计算机确定用于将所述一个或多个对象传送到所述远程网络节点的会话的代码;以及 用于使得至少一台计算机将所述一个或多个对象传送到网络协议层,以用于至少部分地基于在所述元数据中指示的优先级,在与所述会话的信道相关的至少一个网络接口上进行发射的代码。
23.一种用于在网络通信中提供基于对象的传输层的装置,包括: 对象接收组件,其用于从应用获得一个或多个对象,以用于向远程网络节点进行传送; 对象属性关联组件,其用于从所述应用接收针对所述一个或多个对象的元数据;以及 对象通信组件,其用于将所述一个或多个对象提供给网络协议层,以用于至少部分地基于在所述元数据中指示的所述一个或多个对象的优先级,在与选择的会话的信道相关的至少一个网络接口上进行发射。
24.根据权利要求23所述的装置,其中,所述对象通信组件至少部分地基于如下操作将所述一个或多个对象提供给所述网络协议层:检测针对所述至少一个网络接口的发送时机;以及确定针对所述一个或多个对象的所述优先级高于具有所述至少一个网络接口上的所述信道或不同的 信道的所选择的会话或不同的会话中的不同对象的至少一个不同的优先级。
25.根据权利要求24所述的装置,其中,所述对象通信组件至少部分地通过分析针对所述信道的拥塞控制以确定所述信道是否可用于在所述至少一个网络接口上发射所述一个或多个对象来检测所述发送时机。
26.根据权利要求24所述的装置,其中,所述对象通信组件至少部分地通过分析所选择的会话的状态以确定所选择的会话是否可用于在所述至少一个网络接口上发射所述一个或多个对象来检测所述发送时机。
27.根据权利要求23所述的装置,其中,所述对象通信组件还配置成:确定与所选择的会话中的一个或多个不同的对象相关的发射期限,以及至少部分地基于所述发射期限来取消所述一个或多个不同的对象的发射。
28.根据权利要求23所述的装置,还包括:对象属性修改组件,其用于从所述远程网络节点接收修改与所述一个或多个对象相关的后续对象的一个或多个属性的请求。
29.根据权利要求28所述的装置,其中,所述对象属性修改组件修改与所述一个或多个对象相关的一个或多个后续对象的所述一个或多个属性,并且所述对象通信组件将所述一个或多个后续对象提供给所述网络协议层,以用于在与所选择的会话的所述信道相关的所述至少一个网络接口上进行发射。
30.根据权利要求23所述的装置,还包括:对象属性修改组件,其用于从所述远程网络节点接收修改所述信道或所选择的会话的状态的请求。
31.根据权利要求30所述的装置,还包括:会话状态更新组件,其用于至少部分地基于来自所述远程网络节点的所述请求将所述信道或所选择的会话置于挂起。
32.根据权利要求23所述的装置,其中,所述对象通信组件添加与到所选的会话的不同的网络接口相关的附加信道,以用于与所述远程网络节点进行通信。
33.根据权利要求32所述的装置,其中,所述对象通信组件至少部分地通过传送包括在所述信道上从所述远程网络节点接收的安全性关联在内的建立所述附加信道的请求,来建立与所述远程网络节点的所述附加信道。
34.根据权利要求32所述的装置,其中,所述对象通信组件从所选择的会话中移除所述信道。
35.根据权利要求23所述的装置,还包括:对象编码组件,其用于使用擦除码对所述一个或多个对象进行编码,以生成多个对象编码协议数据单元(PDU),其中,所述对象通信组件将所述多个对象编码PDU提供给所述网络协议层。
36.根据权利要求23所述的装置,还包括:对象提供组件,其将一个或多个响应对象发送到所述应用,其中,所述对象通信组件在所述信道上接收所述一个或多个响应对象。
37.根据权利要求36所述的装置,其中,所述对象通信组件还将所述元数据传送到所述网络协议层,其中,所述元数据包括针对所述一个或多个响应对象的响应属性。
38.根据权利要求37所述的装置,还包括:对象属性指定组件,其向所述远程网络节点发送修改所述响应属性的请求。
39.根据权利要求37所述的装置,还包括:对象属性指定组件,其向所述远程网络节点发送修改与所述一个或多个响应对象相关的不同的会话或不同的信道的状态的请求。
40.根据权利要求36所述的装置,还包括:对象合并组件,其用于确定从所述远程网络节点接收的一个或多个对象编码协 议数据单元(PDU)与从不同的远程网络节点接收的一个或多个不同的对象编码PDU相关,并将所述一个或多个对象编码PDU与所述一个或多个不同的对象编码PDU合并,以形成所述一个或多个响应对象。
41.根据权利要求32所述的装置,其中,所述一个或多个对象尺寸不同。
全文摘要
提供了有助于提供基于对象的传输协议的方法和装置,该基于对象的传输协议允许网络协议层上的任意尺寸对象的发射。该基于对象的传输协议还可以提供元数据与对象的关联以控制其传送,和/或提供响应对象的传送。此外,该基于对象的传输协议可以维护与远程网络节点的可以包括多个信道的会话,会话可以随着时间被更新以无缝地提供移动性、增加的数据率等。另外,可以由接收与属性相关的对象的网络节点远程地修改属性。
文档编号H04L29/08GK103250390SQ201180056392
公开日2013年8月14日 申请日期2011年11月23日 优先权日2010年11月23日
发明者M·沃森, L·维奇萨诺, B·王, S·陈, P·帕克扎德, S·M·达斯, R·古普塔 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1