用于提供对设备到设备的通信可用性的指示的方法、装置和计算机程序产品的制作方法

文档序号:7910543阅读:250来源:国知局
专利名称:用于提供对设备到设备的通信可用性的指示的方法、装置和计算机程序产品的制作方法
技术领域
本发明的实施例主要地涉及通信技术,并且更具体地涉及用于提供对设备到设备的通信能力的指示的装置、方法和计算机程序产品。
背景技术
现代通信时代已经带来有线网络和无线网络的急剧扩张。计算机网络、电视网络和电话网络正在经历消费者需求所激发的前所未有的技术扩张。无线和移动联网技术在提供信息传送的更多灵活性和即时性的同时已经解决有关消费者需求。当前和将来的联网技术继续有助于容易传送信息和用户便利性。为了提供更容易或者更快的信息传送和便利性,电信业服务提供商正在开发对现有网络的改进。就这一点而言,无线通信至少部分由于移动电子设备的尺寸和成本减少以及电池寿命和计算容量提高而近年来已经变得越来越普及。这样,移动电子设备已经变得更有能力、更易于使用并且获得起来更加便宜。由于移动电子设备现在无处不在的性质,所有年龄和教育水平的人士正在利用移动终端以与其他个人或者联系人通信、接收服务和/或共享信息、媒体和其它内容。已经开发和扩张通信网络和技术以针对移动电子设备提供鲁棒支持。就这一点而言,正在开发和增强以用从点到点链路到完全移动蜂窝类型接入的多种方式长距离提供无线数据为目标的电信技术。当前也正在探求对全球移动通信系统(GSM)和通用移动电信系统(UMTS)的改进以及与演进型UMTS地面无线电接入网络(E-UTRAN)有关的开发。也称为长期演进(LTE)或者3. 9G的E-UTRAN以通过提高效率、降低成本、改进服务、利用新的频谱机会并且提供与其它开放标准的更佳集成,来升级现有技术为目标。在典型网络配置中,移动用户经由网络所维护的通信链路来相互通信。就这一点而言,例如始发台通常可以向网络设备传达数据以便让网络设备向目标台中继数据。近来已经致力于提供设备到设备(D2D)的通信。更具体而言,设备到设备的通信可以是与从接入点卸载业务和/或通过仅经过接入点的通信来提高能量效率有关的重要方面。鉴于近来的发展以及继续希望改进的通信能力,可能希望提供与提供设备到设备的通信有关的更多功能。

发明内容
因此提供一种可以实现在某些境况之下提供对设备到设备的通信能力的指示的方法、装置和计算机程序产品。因而例如可以向应用提供与经由不同通信协议的设备到设备的通信的可用性有关的通知。因此,可以让具体应用能够选择用于使用的希望通信端口以便基于服务质量(Q0Q和时间敏感性这些问题改进与应用的执行有关的用户体验。换而言之,例如可以经由移动终端的应用编程接口(API)提供通知以指示与如下对等通信关联的对时间敏感的通信链路协议(例如经由用户或者通用数据报协议(UDP))的可用性,其中该对等通信可以由应用通过与网络通信关联的对错误敏感的通信链路协议(例如经由传送控制协议(TCP))来选择。在一个示例实施例中,提供一种提供对设备到设备的通信能力的指示的方法。该方法可以包括接收关于应用状态的指示或者应用请求,确定用于对等通信的设备到设备的连接的可用性,并且向应用提供通知,该通知指示与对等方的设备到设备的连接的可用性。在另一示例实施例中,提供一种用于提供对设备到设备的通信能力的指示的计算机程序产品。该计算机程序产品可以包括至少一个计算机可读存储介质,该计算机可读存储介质具有存储于其中的计算机可执行程序代码指令。计算机可执行程序代码指令可以包括用于以下操作的程序代码指令接收关于应用状态的指示或者应用请求,确定用于对等通信的设备到设备的连接的可用性,并且向应用提供通知,该通知指示与对等方的设备到设备的连接的可用性。在另一示例实施例中,提供一种用于提供对设备到设备的通信能力的指示的装置。该装置可以包括处理器和存储可执行指令的存储器。响应于处理器执行指令,该装置可以执行至少以下操作接收关于应用状态的指示或者应用请求,确定用于对等通信的设备到设备的连接的可用性,并且向应用提供通知,该通知指示与对等方的设备到设备的连接的可用性。


已经这样用一般性的术语描述本发明,现在将参照以下未必按比例绘制的附图图1图示了根据本发明一个示例实施例的通信系统的一个例子;图2图示了根据本发明一个示例实施例的用于提供对设备到设备的通信能力的指示的装置的示意框图;图3是根据本发明一个示例实施例的承载管理器进行的无线电承载选择的例子图示的框图;图4图示了根据本发明一个示例实施例的操作流程图;并且图5图示了根据本发明一个示例实施例的提供对设备到设备的通信能力的指示的方法的流程图。
具体实施例方式现在下文将参照其中示出本发明的一些但是并非所有实施例的附图更完全地描述本发明的一些实施例。实际上,本发明的各种实施例可以用许多不同形式来实施而不应理解为限于这里阐述的实施例;实际上,提供这些实施例使得本公开内容将满足适用法律要求。类似标号通篇指代类似单元。如这里使用的那样,术语“数据”、“内容”、“信息”和类似术语可以互换用来指代能够根据本发明的实施例发送、接收和/或存储的数据。另外,提供如这里使用的术语“示例”并非为了传达任何定量评估而代之以仅传达举例说明。因此, 使用任何这样的术语不应理解为限制本发明实施例的精神实质和范围。本发明的一些实施例可以提供一种可以用来关于提供对设备到设备的通信能力的指示而体验改进的机制。就这一点而言,例如一些具有设备到设备的通信功能的无线电可以允许使用自动重复请求(ARQ)重传在设备之间的可靠通信。因而,应用可以保证可靠通信而无需对错误敏感的通信协议。TCP/IP被设计为用于有线因特网的鲁棒和可缩放协议。在TCP/IP的背景中,如果分组丢失或者延迟,则系统将丢失或者延迟解释为对拥塞的指示,并且减少数据速率。在一些情况下,缓慢启动过程用来在监视错误速率的同时缓慢递增数据速率。然而TCP/IP和一些其它对错误敏感的通信协议可能并非在所有情况下都很好地适合于无线通信链路。就这一点而言,例如在TCP/IP中,由于短暂衰落事件、干扰脉冲串、切换等所致的分组丢失经常引起丢失分组或者增加延迟,这些丢失的分组或者增加的延迟可能引起缓慢启动过程,这可能减少系统吞吐量。通常,无线电链路从这些事件恢复并且将能够恢复全速通信。然而, 尤其由于缓慢启动过程,数据速率可能缓慢增加并且用户可能体验比无线电链路原本赋予的数据速率低得多的数据速率,由此影响对相应应用的用户体验。TCP通过因特网的多个独立链路提供可靠的端到端连接。TCP无需来自链路之间的任何信息并且至少部分基于接收接收器向发送器提供的确认(TCP ack)来进行操作。TCP ack因此驱动新段的迅速生成。TCP间接地通过测量和分组丢失来经历路径。因此,TCP在没有关于发送路径的信息或者信息不完全的条件下能够良好地操作。另一方面,无连接协议(例如就网络而言)如UDP在无重传机制时进行操作,因此可以被不视为赋予通过网络的可靠通信。尤其在设备到设备的通信的情况下,无线电链路协议可能已经通过无线电层重传来赋予可靠通信。由于在通信中直接涉及到协议终结对等方,所以可以无需除了无线电协议和算法提供的拥塞控制算法或者传输控制之外的拥塞控制算法或者传输控制,并且如果给予用于选择协议诸如UDP以赋予更佳用户体验或者更佳效率的机会,则应用可以从中受益。UDP经常用于实时应用通过无连接因特网端到端进行操作,这些实时应用对罕见错误不敏感并且不容许重发延迟。然而在直接无线电链路(比如设备到设备的通信)的情况下,UDP可以操作用于任何媒体类型,因为无线电链路层协议直接控制无线电资源和在它们的对等实体之间的链路性质。因而可以在无线电链路层中处置与错误恢复关联的信息并且UDP端口可以直接看见无错链路而无需类似于TCP的探测。因此,在这样的实例中,UDP 可以赋予一种用于设备到设备的通信链路的通用数据发送和分段方法。当然,在TCP和UDP 协议中,对于TCP端口而言或者在链路层协议上对于UDP端口而言可能仍有小的残留错误概率(例如由于计时器到期而重发未成功)。应用可以在它那一端应对这样的错误。从在具体设备如移动终端执行应用的观点来看,经常向应用隐藏无线电细节,因此不基于本发明的实施例所提供的对承载性质的了解来设立服务于通信端口(比如UDP端口而不是TCP端口)的承载,应用就不能利用可用的设备到设备的链路。在移动设备上的应用可以根据应用的需要(例如基于是否需要可靠通信)或者根据承载性质来判决打开UDP 或者TCP端口。这里使用广义的承载定义,该定义包括在当前蜂窝系统如UMTS中使用的无线电承载以及由例如WiFi网络在基础设施提供的无线电连接、对等(ad-hoc)或者网状操作模式、蓝牙、超宽带或者任何其它无线电连接。在设备之间通过无线环境的无线电连接包括一个方向的点到点连接、双向点到点连接、点到多点广播连接和多点到多点连接,即通过若干相继点的节点联网和连接。承载包括针对连接所必需的对等关系的所有定义、即例如作为在通信端口下的协议栈来操作的物理层、无线电链路层和IP层。这样,例如存在于移动设备的中间件中的API可以让应用能够打开具体端口,但是未向应用给予关于打开哪个端口或者哪个端口可用的建议。具体而言,当前API通常未向应用通知存在具有给定性质的无线电连接(也称为承载),在UDP被运用时这些性质也可以实现可靠通信。因而本发明的一些实施例可以例如通过移动终端的API向应用提供关于适于可靠UDP业务的无线(例如 D2D)链路可用这样的通知。然后可以让应用能够打开UDP端口而不是TCP端口以改进用户体验、提高连接效率或者减少使用支出。然而应当注意,虽然这里将在多处引用UDP和TCP, 但是UDP和TCP应当分别理解为对时间敏感或者对等通信的协议和对错误敏感或者网络通信的协议的代表例子,并且可以结合本发明的实施例代之以运用其它对时间敏感或者对等通信的协议和对错误敏感或者网络通信的协议。图1图示了通用系统图,其中在示例通信环境中示出了可以从本发明实施例中受益的设备、比如移动终端10。就这一点而言,移动终端10可以被配置成在API内集成关于可靠无线链路可用性的通知和/或关于打开附加的对时间敏感的通信协议端口的建议。如图1中所示,根据本发明一个例子实施例的系统的一个实施例可以包括能够经由网络30相互通信的第一通信设备(例如移动终端10)和第二通信设备20。在一些情况下,本发明的实施例还可以包括一个或者多个网络设备,移动终端10和/或第二通信设备20可以与该网络设备通信以提供、请求和/或接收信息。应当注意,虽然图1示出了可以支持客户端/ 服务器应用执行的通信环境,但是在一些实施例中,移动终端10和/或第二通信设备20可以运用本发明实施例,而无需网络通信。这样,例如在移动终端10和/或第二通信设备20 本地执行的应用可以从本发明的实施例中受益。然而应当注意,通信技术(比如这里描述的通信技术)可以不仅使用于嵌入式设备中而且也使用于桌面型设备和服务器中。网络30如果被运用则可以包括可以经由对应有线和/或无线接口相互通信的各种不同节点、设备或者功能的汇集。这样,图1的图示应当理解为系统的某些单元的广义呈现的例子而并非系统或者网络30的囊括或者具体呈现。一个或者多个通信终端(比如移动终端10和第二通信设备20)可以经由网络30 或者经由设备到设备(D2D)的通信相互通信,并且各自可以包括用于向基站点发送信号和从基站点接收信号的一个或者多个天线,该基站点可以例如是作为一个或者多个蜂窝或者移动网络一部分的基站或者是可以耦合到数据网络(比如局域网(LAN)、城域网(MAN)和/ 或广域网(WAN)(比如因特网))的接入点。其它设备(比如处理单元(例如个人计算机、 服务器计算机等))又可以经由网络30耦合到移动终端10和/或第二通信设备20。通过将移动终端10和/或第二通信设备20和其它设备直接或者间接连接到网络30或者相互连接,可以使移动终端10和/或第二通信设备20能够例如根据诸多通信协议(包括超文本传送协议(HTTP)等)来与其它设备通信或者相互通信以由此分别实现移动终端10和第二通信设备20的各种通信或者其它功能。另外,虽然在图1中未示出,但是移动终端10和第二通信设备20可以例如根据射频(RF)、蓝牙(BT)、红外线(IR)或者多种不同有线或者无线通信技术(包括LAN、无线 LAN(WLAN)、全球微波接入互操作性(WiMAX)、WiFi、超宽带(UWB)、Wibree技术等)中的任何通信技术进行通信。这样,可以使移动终端10和第二通信设备20能够按照多种不同接入机制中的任何接入机制来与网络30通信和相互通信。例如可以支持诸如宽带码分多址(W-CDMA)、CDMA2000、全球移动通信系统(GSM)、通用分组无线电服务(GPRS)等移动接入机制以及诸如WLAN、WiMAX等无线接入机制和诸如数字用户线(DSL)、线缆调制解调器、以太网等固定接入机制。在示例实施例中,第一通信设备(例如移动终端10)可以是移动通信设备、如例如个人数字助理(PDA)、无线电话、移动计算设备、相机、录影机、音频/视频播放器、定位设备、游戏设备、电视设备、无线电设备或者各种其它类似设备或者其组合。第二通信设备20 也可以是移动设备(比如上文列举的移动设备或者其它移动设备)、但是在一些实例中也可以是固定通信设备。在一个示例实施例中,移动终端10和第二通信设备20中的一个或者两个可以被配置成包括或者以别的方式运用根据本发明一个示例实施例的装置。图2图示了根据本发明一个示例实施例的用于提供对设备到设备的通信能力的指示的装置的示意框图。现在将参照图2描述本发明的一个示例实施例,在该图中显示用于提供对设备到设备的通信能力的指示的装置50的某些单元。图2的装置50可以例如应用于通信设备(例如移动终端 10和/或第二通信设备20)或者移动和固定的多种其它设备(例如桌面型设备和服务器) (如例如上文列举的任何设备)上。然而应当注意,下文描述的部件、设备或者单元可以并非是必需的,因此可以在一些实施例中省略一些部件、设备或者单元。此外,一些实施例可以包括除了这里示出和描述的部件、设备或者单元之外的更多部件、设备或者单元。现在参照图2,提供用于提供对设备到设备的通信能力的指示的装置。装置500可以包括处理器70、用户接口 72、通信接口 74和存储器设备76或者以别的方式与它们通信。 存储器设备76可以例如包括易失性和/或非易失性存储器。存储器设备76可以被配置成存储用于使装置根据本发明示例实施例实现各种功能的信息、数据、应用、指令等。例如,存储器设备76可以被配置成缓冲用于由处理器70处理的输入数据。除此之外或者可选地, 存储器设备76可以被配置成存储用于由处理器70执行的指令。可以用多种不同方式实施处理器70。例如,处理器70可以实施为各种处理设备 (比如处理单元、协同处理器、控制器或者各种其它处理设备(包括诸如ASIC(专用集成电路)、FPGA (现场可编程门阵列)、硬件加速器等集成电路))。在一个示例实施例中,处理器 70可以被配置成执行存储于存储器设备76中或者以别的方式可由处理器70访问的指令。 这样,无论通过硬件或者软件方法或者通过其组合来进行配置,处理器70可以代表能够在被相应地配置之时根据本发明实施例执行操作的实体(例如在物理上用电路实施)。因此例如当处理器70实施为ASIC、FPGA等时,处理器70可以具体是用于执行这里描述的操作的所配置硬件。可选地,作为另一例子,当处理器70实施为软件指令执行器时,指令可以具体配置处理器70(该处理器如果未用于由指令提供的具体配置则另外在一些情况下可以是通用处理单元或者其它在功能上可配置的电路)以在指令被执行时执行这里描述的算法和/或操作。然而在一些情况下,通过由用于执行这里描述的算法和/或操作的指令进一步配置处理器70,处理器70可以是适于运用本发明实施例的具体设备(例如移动终端或者服务器)的处理器。同时,通信接口 74可以是任何装置,比如被配置成从网络和/或与该装置通信的任何其它设备或者模块接收数据和/或向网络和/或与该装置通信的任何其它设备或者模块发送数据的、以硬件、软件或者硬件与软件的组合实施的设备或者电路。就这一点而言,通信接口 74可以例如包括一个天线(或者多个天线)以及用于实现与无线通信网络通信的支持硬件和/或软件。在固定环境中,通信接口 74可以可选地或者也支持有线通信。这样,通信接口 74可以包括通信调制解调器和/或用于支持经由线缆、数字用户线(DSL)、通用串行总线(USB)或者其它机制的通信的其它硬件/软件。用户接口 72可以与处理器70通信,以接收对在用户接口 72处的用户输入的指示和/或向用户提供可听、可视、机械或者其它输出。这样,用户接口 72可以例如包括键盘、 鼠标、操纵杆、显示器、触摸屏、麦克风、扬声器或者其它输入/输出机制。在装置实施为服务器或者某一其它网络设备的一个示例实施例中,可以限制或者消除用户接口 72。然而在装置实施为通信设备(例如移动终端10)的一个实施例中,用户接口 72可以包括扬声器、 麦克风、显示器和键盘等中的任何或者所有设备和单元以及其它设备或者单元。在一个示例实施例中,处理器70可以实施为包括载体管理器80或者以别的方式控制载体管理器80。承载管理器80可以是诸如设备或者电路任何装置,该设备或者电路根据软件来操作或者以别的方式用硬件或者硬件与软件的组合实施(例如处理器70在软件控制之下操作、处理器70实施为具体配置成执行这里描述的操作的ASIC或者FPGA),由此配置该设备或者电路以执行如下文描述的承载管理器80的对应功能。因此,在运用软件的例子中,执行该软件的设备或者电路(例如在一个例子中为处理器70)形成与这样的装置关联的结构。就这一点而言,例如承载管理器80可以被配置成提供接收关于应用状态的指示、确定与用于向应用提供信息的对时间敏感的通信协议关联的设备到设备的连接的可用性以及向应用提供通知(该通知表明与对时间敏感的通信协议关联的设备到设备的连接的可用性和/或适合于对时间敏感的通信协议的连接(承载)的可用性)以及其它操作。在一个例子实施例中,可以在移动终端10和/或第二通信设备20内的中间件 82 (例如处于应用与设备的操作系统之间以向应用提供一些常见功能的软件)中包括承载管理器80或者承载管理器80可以用别的方式与中间件82通信。图3图示了根据一个示例实施例的承载管理器80的无线电承载选择的示例图示。如图3中所示,中间件82可以在结构上安装于其中中间件82被实例化的设备(例如移动终端10和/或第二通信设备 20)的无线电功能与设备可以执行的各种应用84之间。现在将参照图2和图3(其中将应用84、中间件82和/或承载管理器80描述为动作方)描述本发明的一个示例实施例。这样,应当理解,在一些实例中,可以在与上述动作方关联的处理电路(例如处理器70)的处理中或者由于该处理电路执行动作或指令而采取这里描述的任何动作方采取的动作。在一个示例实施例中,装置50(例如经由中间件82)也可以包括对等检测器81。 对等检测器81可以是诸如如下设备或者电路的任何装置,该设备或者电路根据软件来操作或者以别的方式用硬件或者硬件与软件的组合来实施(例如处理器70在软件控制之下操作、处理器70实施为具体配置成执行这里描述的操作的ASIC或者FPGA,或者其组合)、 由此配置该设备或者电路以执行如这里描述的对等检测器81的对应功能。就这一点而言, 对等检测器81可以被配置成经由通信接口 74操作以便检测对等设备,其中可以与这些对等设备建立ad-hoc设备到设备的连接。这样,如果对等检测器81检测到如下对等设备可用,其中可以经由该对等设备建立设备到设备的连接以运用对时间敏感的通信协议(例如 UDP),则如这里描述的那样对等检测器81可以向承载管理器80通知可用性,并且承载管理器80随后可以向应用提供可用性的通知。
在根据一个示例实施例的操作中,中间件82 (例如经由承载管理器80)可以被配置成从可用的那些无线电承载之中选择一个或者多个无线电承载。这样,中间件82(例如经由对等检测器81和其它无线电检测电路)可以被配置成检测和/或确定可用的并且可以用来建立通信的无线电技术(例如3G、3.5G、LTE、D2D等)。可以例如基于从应用(在应用84之中)接收的诸如QoS要求、空闲状态、会话关键性等应用状态信息或者基于来自应用的请求来做出选择。中间件82也可以被配置成如果新的承载可用(例如如果D2D链路可用于建立)则改变承载。在一些情况下,无线电承载的改变可以引起IP地址的改变。如果这样,则中间件82可以被配置成向应用通知IP地址已经改变并且应用可以从IP地址改变事件恢复(例如经由错误恢复逻辑)。在一个示例实施例中,承载的改变可以由承载改变逻辑86实现,该逻辑可以形成中间件82的部分或者与中间件82通信。承载改变逻辑86 可以是比如如下设备或者电路的任何装置,该设备或者电路根据软件来操作或者以别的方式用硬件或者硬件与软件的组合来实施(例如处理器70在软件控制之下操作、处理器70 实施为具体配置成执行这里描述的操作的ASIC或者FPGA或者其组合),由此配置对应设备或者电路以执行承载改变逻辑86的对应功能(包括响应于中间件82做出的承载选择而添加、去除或者更换承载)。在一个示例实施例中,承载改变逻辑86可以被配置成经由所选通信端口设立通信链路。例如,承载改变逻辑86可以被配置成基于从应用接收的信息来设立承载管理器80 所选择的D2D链路。另外,承载改变逻辑86可以被配置成打开用于设立通信链路的通信端口。就这一点而言,承载改变逻辑86例如可以被配置成在一些情况下基于在应用84的设置或者基于应用84做出的选择或者请求经由对时间敏感的通信协议端口(例如UDP端口) 或者对错误敏感的通信协议(例如TCP端口)来建立通信链路。在一个示例实施例中,承载管理器80可以被配置成向一个或者多个应用84提供关于通信建立选项的通知(例如箭头88所示)。就这一点而言,承载管理器80例如可以被配置成如果例如承载管理器80选择可靠D2D链路则生成对时间敏感的通信协议端口(例如UDP端口)可用于可靠通信这样的通知。应用然后可以通过打开或者请求打开UDP端口而不是TCP端口(或者通过除了已经打开的通信端口之外还打开UDP端口或者从TCP端口向UDP端口切换等)来对通知做出响应。就这一点而言,UDP可以在一些情形中更好地适合于无线链路,因为UDP不会由于衰落或者切换所致的延迟分组而调节它的发送速率。TCP将把衰落和切换事件解释为拥塞并且开始恢复过程(例如缓慢启动),这可能极大地减少数据速率并且因此降低用户体验。因而,承载管理器80的这样的配置关于涉及到与另外当前运用的对错误敏感的通信协议不同的通信协议的可选通信能力的可用性向应用提供通知, 该配置可以通过减少对时间敏感的应用的延迟并且通过增加吞吐量来改进用户体验。承载管理器80的与提供通知有关的操作可以出现于应用的初始执行时(例如以便向应用提供用于让应用能够选择备选承载的选项)或者出现于应用执行期间(例如响应于检测到可以经由设备到设备的连接来建立可靠通信链路的对等设备)。在一个示例实施例中,承载管理器80提供的通知可以是承载管理器80安装于其中的设备(例如移动终端10和/或第二通信设备20)的API的集成部分。通过在API内集成与通知生成相关联的功能,可以使通知可用于所有应用84。图4中的流程示了与向应用提供通知和对提供的通知进行可能响应关联的一系列示例操作。在操作100,可以在与运用承载管理器80的设备(例如通信终端10或者第二通信设备20)的通信范围内检测邻近设备。响应于检测到一个或者多个设备,承载管理器80可以确定与在检测到的设备之中的对等方的D2D连接可用并且在操作110建立用于与之通信的D2D承载。承载管理器80 然后在操作120向应用提供通知以指示UDP端口可用于通过D2D承载的可靠通信。承载管理器80然后可以在操作130让应用能够执行可以通过D2D承载实现的关于(例如响应于通知而打开的)端口的动作。在一个示例实施例中,应用可以判决打开UDP端口而不是TCP 端口,或者除了打开的其它端口之外还打开UDP端口并且使用多个端口。作为另一替代,应用可以判决忽略通知。在一个示例实施例中,通知可以由在本地API中基于发现新通信连接(虽然并非对错误敏感的通信协议(例如,TCP),但是可以认为该通信连接可靠)的可用性而生成的信号来提供。因此可以借助提供通知来推荐新通信连接(例如诸如UDP端口的对时间敏感的通信协议端口)用于由应用在利用新通信连接或者链路时使用。当接收通知时,应用可以从各种示例选项(下文列举其中一些选项)之中自由选择它的功能。应用可以省略通知并且继续使用它已经使用的端口。尽管推荐UDP,应用仍然可以打开新TCP端口作为新通信连接。如果打开,则应用然后可以如下文描述的那样判决如何使用它已经打开的多个端口。应用可以打开如推荐的新UDP端口并且如下文描述的那样判决如何使用其它端应用可以打开新端口并且测试它的通信连接,然后判决关闭更早打开的端口(至少这些端口中的一些端口)。如上文所言,可以在一些情形中进行用多个端口的操作。在应用让多个端口打开以用于多个通信连接的情形中,应用可以选择用来利用打开的端口的方式。在一个示例实施例中,应用可以根据常见可用吞吐量测量测试新通信连接,并且响应于确定新端口具有比旧端口更高的吞吐量,应用可以转向使用新端口。承载控制逻辑86可以提供向被选择用于由应用使用的端口的接入。在一些情况下,应用可以持久地转向新端口。然而,应用可以代之以判决继续仅使用新端口,只要它表现为性能优于其它端口或者以前使用的端口。这样,响应于新端口上的吞吐量降至以前使用的端口所提供的吞吐量以下的水平(例如滞后现象),应用可以切换回到以前使用的端口的先前使用的通信连接,并且确定以前使用的端口是否具有具竞争力的性能。在一些打开多个端口的情况下,应用可以被配置成在分组流的基础上做出判决。 就这一点而言,例如一些流可以引向新打开的通信连接而一些流可以连接到更早打开的通信连接。当新流产生时,应用可以关于运用哪个通信端口而做出判决并且利用判决的通信新端口直至流终止,然后再次针对产生或者建立的每个后续流进行判决。可选地,例如如果流长时间持续并且预计增长,则应用可以在建立的流期间执行端口切换。切换用于现有流的端口可以在具体端口的通信流表现为拥塞、缓慢或者堵塞并且应用可能原本面临由于现有流的通信端口的性能而被终止的风险的情况下有用。经由新端口打开新通信连接可以用新数据刷新应用并且实现恢复流停止或者减少的情形。上文提到的一些例子可能需要应用的复杂段处置以便组合分组流。然而可以假设应用与现有分段方案一起很好地存续,因为TCP和UDP均有它们自己的独立分段机制和段号。应用层协议默认能够处置它已经打开的端口,并且应用协议可以提供关于如何在这些协议之上处置数据的指令。在一些实施例中,可以在应用层中制定性能测量,并且应用可以利用性能测量作为用于关于如何处置它有打开或者关闭选项的它的一个或者多个打开端口做出判决的基础。就这一点而言,应用可以例如被配置成向用户提供关于吞吐量(例如以IAps为单位) 的指示或者向用户提供对动作完成时间或者状态报告的估计(例如下载还有5分钟或者完成78%)。可以基于在具体端口中发送和/或接收的数据来计算性能测量。使用性能测量可以让应用能够比较如例如在现有TCP端口可用的通信连接和在UDP端口的新打开通信连接中的各种通信连接。在一个示例实施例中,链路层D2D协议的性质可以包括根据UDP发送器缓冲器中的数据量而可变的段大小。由于无线电资源是灵活的,所以对在接收器缓冲器的条件进行描述的状况信息可以直接指导对应发送器缓冲器。这样,情况数据可以提供用于对应发送器缓冲器的指导,该情况数据指示接收器缓冲器可以接收多少数据和/或可以在什么数据速率接收这样的数据。链路层D2D协议的实施方式可以包括使用缓冲器状态报告,这些报告可以在 MAC(介质访问控制)层操作并且由此可以对于UDP协议而言不可见。可以使发送器的MAC 能够本地触发它的UDP分组队列,并且努力基于接收器的接收能力来快速清空队列。在这一情况下,UDP协议可以将链路性能视为对等MAC性能的派生。在链路错误时,物理层和/或MAC层重传可以基于它们的接收段窗口来操作。段号可以设置成大于重传过程的长度以便允许重新排序和向UDP的依序递送。因而本发明的实施例可以提供一种用于基于每个应用的应用状态向应用提供关于用于相应应用的可用通信链路选项的通知的能力。就这一点而言,例如可以向中间件提供如下能力,该能力提供这样的通知以使得应用开发员易于为应用选择可以赋予最佳用户体验的端口。然后可以让应用能够打开供使用并且这里描述的标准TCP/IP或者UDP/IP端口或者套接字。因此,本发明的一些实施例提供如下机制,按照这些机制,经由ad-hoc性质而出现的任何本地资源可以变为可用于应用。这样,在本地环境中的设备可以由无线电装置检测,并且可以在它们之间建立通信链路。可以向应用提供关于存在这样的通信连接的通知并且让应用能够打开UDP端口用于这一通信。因此,本发明的实施例不仅适用于设备到设备的通信,而且适用于在本地境况中可用的任何资源。设备到设备的连接能够按照远程设备的统一资源标识(URI)、统一资源名称(URN)或者统一资源位置(URL)来指向远程设备中的对等应用或者对等资源。因而,按照因特网地址或者以太网MAC地址来指向对等设备是自然地在本发明实施例的范围中的例子。图5根据本发明示例实施例的系统、方法和程序产品的流程图。将理解可以通过各种手段(比如硬件、固件、处理器、电路和/或与执行包括一个或者多个计算机程序指令的软件关联的其它设备)来实施流程图的每个框或者步骤和在流程图中的框的组合。例如,计算机程序指令可以实施一个或者多个上述流程。就这一点而言,实施上述流程的计算机程序指令可以由移动终端或者网络设备的存储器设备存储,并且由移动终端或者网络设备中的处理器执行。如将理解的那样,任何这样的计算机程序指令可以加载到计算机或者其它可编程装置(例如硬件)上以产生机器,从而所得计算机或者其它可编程装置实施用于实施在流程图的框或者步骤中指定的功能的装置。这些计算机程序指令也可以存储于计算机可读存储器中,该计算机可读存储器可以指引计算机或者其它可编程装置以具体方式工作,从而存储于计算机可读存储器中的指令产生如下制造产品,执行该制造产品实施在流程图的框或者步骤中指定的功能。计算机程序指令也可以加载到计算机或者其它可编程装置上以使一系列操作步骤在计算机或者其它可编程装置上执行以产生计算机实施的过程,从而在计算机或者其它可编程装置上执行的指令提供用于实施在流程图的框或者步骤中指定的功能的步骤。因而,流程图的框或者步骤支持用于执行指定功能的装置的组合、用于执行指定功能的步骤的组合和用于执行指定功能的程序指令装置。也将理解,可以通过执行指定功能或者步骤的基于专用硬件的计算机系统或者专用硬件与计算机指令的组合来实施流程图的一个或者多个框或者步骤和在流程图中的框或者步骤的组合。就这一点而言,如图5中所示用于提供对设备到设备的通信能力的指示的方法的一个实施例包括在操作200接收关于应用状态的指示。在一些情况下,操作200可选地或者除此之外还可以包括接收关于应用请求的指示。该方法还可以包括在操作210确定用于对等通信的设备到设备的连接的可用性。该方法可进一步包括在操作220向应用提供关于通知,以指示与对等方的设备到设备连接的可用性。在一些实施例中,可以如下文描述的那样修改或者进一步扩充某些上述操作。就这一点而言,例如接收指示可以包括接收与已经建立有网络连接的应用有关的指示。在一些情况下,确定用于对等通信的设备到设备的连接的可用性可以包括确定用于服务于应用的用户数据报协议(UDP)端口的可用性。在一个例子实施例中,提供通知可以包括让应用能够打开与对等通信关联的通信端口而不是与网络连接关联的通信端口,除了与网络连接关联的通信端口之外之外打开与对等通信关联的通信端口或者忽略通知。在一些情况下, 提供通知可以包括经由应用编程接口提供通知。在一些情况下,可以包括可选的附加操作。在图5中用虚线示出了这样的附加操作的例子。应当理解,可以包括这里的每种修改或者扩充而上述操作和修改在这里描述的特征之中可以是单独的或者相互组合。就这一点而言,在一个示例实施例中,该方法还可以包括在操作230让应用能够进行对与对等连接关联的通信端口和与网络连接关联的通信端口的性能比较分析并且让应用能够基于比较分析来进行通信流管理。在一个示例实施例中,用于执行上述图5的方法的装置可以包括配置成执行一些或者每个上述操作O00-230)的处理器(例如处理器70)。处理器可以例如被配置成通过执行硬件实施的逻辑功能、执行存储的指令或者执行用于执行每个操作的算法来执行操作 (200-230) 0可选地,该装置可以包括用于执行每个上述操作的装置。就这一点而言,根据一个例子实施例,用于执行操作200-230的装置的例子可以例如包括处理器70、承载管理器80和/或用于执行指令或者执行如上文描述的用于处理信息的算法的设备或者电路。从在前文说明书和关联附图中呈现的教导中受益的本领域技术人员将想到这里阐述的发明的许多修改和其它实施例。因此将理解,本发明将不限于公开的具体实施例,并且将在所附权利要求书的范围内包括修改和其它实施例。另外,虽然前文描述和关联附图在单元和/或功能的某些示例组合的背景中描述示例实施例,但是应当理解替代实施例可以提供单元和/或功能的不同组合而不脱离所附权利要求书的范围。就这一点而言,例如也如可以在一些所附权利要求书中阐述的那样设想除了上文明确描述的单元和/或功能组合不同的单元和/或功能组合。虽然这里运用具体术语,但是仅在一般和描述意义上而非出于限制的目的来使用它们。
权利要求
1.一种包括处理器和存储器的装置,所述存储器存储可执行指令,所述可执行指令响应于由所述处理器执行而使所述装置至少执行以下操作接收与应用的状态有关的指示或者所述应用的请求;确定用于对等通信的设备到设备的连接的可用性;并且向所述应用提供通知,所述通知指示与对等方的所述设备到设备的连接的可用性。
2.根据权利要求1所述的装置,其中所述指令使所述装置接收与已经建立有网络连接的应用有关的所述指示。
3.根据权利要求1所述的装置,其中所述指令还使所述装置通过确定用于服务于所述应用的用户数据报协议端口而不是传送控制协议端口的可用性或者所述用户数据报协议端口以及所述传送控制协议端口的可用性来确定与对等通信关联的所述设备到设备的连接的可用性,并且向所述应用提供指示所述用户数据报协议端口的可用性的所述通知。
4.根据权利要求1所述的装置,其中所述指令还使所述装置让所述应用能够打开与对等通信关联的通信端口而不是与网络连接关联的通信端口。
5.根据权利要求1所述的装置,其中所述指令还使所述装置让所述应用能够除了与网络连接关联的通信端口之外还打开与对等通信关联的通信端口。
6.根据权利要求5所述的装置,其中所述指令还使所述装置让所述应用能够进行对与对等通信关联的所述通信端口和与所述网络连接关联的所述通信端口的性能比较分析,并且让所述应用能够基于所述比较分析来进行通信流管理。
7.根据权利要求1所述的装置,其中所述指令还使所述装置经由应用编程接口提供所述通知。
8.一种方法,包括接收与应用的状态有关的指示或者所述应用的请求;确定用于对等通信的设备到设备的连接的可用性;并且经由处理器向所述应用提供通知,所述通知指示与对等方的所述设备到设备的连接的可用性。
9.根据权利要求8所述的方法,其中接收所述指示包括接收与已经建立有网络连接的应用有关的所述指示。
10.根据权利要求8所述的方法,其中确定与对等通信关联的所述设备到设备的连接的可用性包括确定用于服务于所述应用的用户数据报协议端口而不是传送控制协议端口的可用性或者所述用户数据报协议端口以及所述传送控制协议端口的可用性,并且提供所述通知包括向所述应用提供指示所述用户数据报协议的可用性的通知。
11.根据权利要求8所述的方法,其中提供所述通知包括让所述应用能够打开与对等通信关联的通信端口而不是与网络连接关联的通信端口。
12.根据权利要求8所述的方法,其中提供所述通知包括让所述应用能够除了与网络连接关联的通信端口之外还打开与对等通信关联的通信端口。
13.根据权利要求12所述的方法,还包括让所述应用能够进行对与对等通信关联的所述通信端口和与所述网络连接关联的所述通信端口的性能比较分析,并且让所述应用能够基于所述比较分析来进行通信流管理。
14.根据权利要求8所述的方法,其中提供所述通知包括经由应用编程接口提供所述通知。
15.一种计算机程序产品,包括至少一个计算机可读存储介质,所述计算机可读存储介质具有存储于其中的计算机可执行程序代码部分,所述计算机可执行程序代码部分包括用于接收与应用的状态有关的指示或者所述应用的请求的程序代码指令;用于确定用于对等通信的设备到设备的连接的可用性的程序代码指令;以及用于经由处理器向所述应用提供通知的程序代码指令,所述通知指示与对等方的所述设备到设备的连接的可用性。
16.根据权利要求15所述的方法,其中用于接收所述指示的程序代码指令包括用于接收与已经建立有网络连接的应用有关的所述指示的指令。
17.根据权利要求15所述的方法,其中用于确定与对等通信关联的所述设备到设备的连接的可用性的程序指令包括用于确定用于服务于所述应用的用户数据报协议端口而不是传送控制协议端口的可用性或者所述用户数据报协议端口以及所述传送控制协议端口的可用性的指令,并且所述用于提供所述通知的程序代码指令包括用于向所述应用提供指示所述用户数据报协议端口的可用性的所述通知的指令。
18.根据权利要求15所述的方法,其中用于提供所述通知的程序代码指令包括用于让所述应用能够打开与对等通信关联的通信端口而不是与网络连接关联的通信端口的指令。
19.根据权利要求15所述的方法,其中用于提供所述通知的程序代码指令包括用于让所述应用能够除了与网络连接关联的通信端口之外还打开与对等通信关联的通信端口的指令。
20.根据权利要求19所述的方法,还包括用于让所述应用能够进行对与对等通信关联的所述通信端口和与所述网络连接关联的所述通信端口的性能比较分析,并且让所述应用能够基于所述比较分析来进行通信流管理的程序代码指令。
全文摘要
一种用于提供对设备到设备的通信能力的指示的装置可以包括处理器和存储可执行指令的存储器。响应于处理器执行指令,该装置可以执行至少接收与应用状态有关的指示或者应用的请求,确定与对等通信关联的设备到设备的连接的可用性并且向应用提供通知,该通知指示与对等方的设备到设备的连接的可用性。也提供一种对应方法和计算机程序产品。
文档编号H04L29/08GK102379107SQ201080015178
公开日2012年3月14日 申请日期2010年4月14日 优先权日2009年4月15日
发明者K·F·多普勒, M·P·O·里纳 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1