首页> 中国专利> 用于设备通信的有效的用户、服务或内容表述

用于设备通信的有效的用户、服务或内容表述

摘要

本文所描述的实施例一般地涉及用户设备(“UE”)之间有效的网络辅助通信。第一UE可以适于确定与第一UE对资源的配设相关的多个哈希值。第一UE还可以确定该资源可以被提供的端口。第一UE可以将这一信息传递到服务器。当第二UE希望使用该资源时,第二UE可以确定多个哈希值,该多个哈希值相应于被该第一UE确定的那些哈希值。第二UE可以将这些被确定的哈希值传送到服务器。作为响应,服务器可以将端口和第一UE相关的IP地址向传送到第二UE。服务器还可以促进UE之间的D2D通信用于配设资源。其他实施例可以被描述和/或要求。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-21

    专利权的转移 IPC(主分类):H04B7/24 登记生效日:20200402 变更前: 变更后: 申请日:20140530

    专利申请权、专利权的转移

  • 2019-02-05

    授权

    授权

  • 2016-01-20

    实质审查的生效 IPC(主分类):H04B7/24 申请日:20140530

    实质审查的生效

  • 2015-12-23

    公开

    公开

说明书

相关申请的交叉引用

本申请根据美国法典第35卷第119条第五款,请求于2013年5月31日提交、美国临时专利申请号为61/829,970、名称为“高级无线通信系统和技术(ADVANCEDWIRELESSCOMMUNICATIONSYSTEMSANDTECHNIQUES)”的优先权,该申请的公开内容通过引用结合于此。

技术领域

本申请的实施例一般地涉及数据处理的技术领域,并且更特别地,涉及可操作于在网络上传递数据的计算机设备。

背景技术

本文所提供的背景描述用于一般地介绍本公开的环境的目的。当前有名的发明人的工作(到其在该背景技术部分被描述的程度),以及该描述中的可能未被认为是申请时的现有技术的各方面,既不明确地也不暗示地被承认为是本公开的现有技术。除非本文另外指示,这一部分中所描述的方法并非本公开的权利要求的现有技术,也不因为被包括在这一部分中而被承认为是现有技术。

为了传递数据,计算设备可以请求可能在另一计算设备上可用的资源。例如,计算设备可以执行可以适宜于使用资源的点对点(“P2P”)应用。通过P2P,设备既可以作为客户端又可以作为服务器运行-换言之,设备既可以提供资源又可以请求资源。然而,现有的协议,通常需要一个或多个中心服务器以存储从文本资源描述到实际的互联网协议(“IP”)地址和端口的映射,在该端口处这些资源可用。这一量的数据的存储和相应标引可能需要显著的开销。

附图说明

本发明的实施例通过实例的方式被示出,而不限于附图的示图,在附图中,相同的参考标记表示类似的元件。应当注意的是,在本公开中,本发明中对“一”或“一个”实施例的引用并不必然指同一实施例,并且它们可以意指至少一个。

图1为根据各个实施例,示出了在第一用户设备(“UE”)和第二UE之间,通过设备到设备(D2D)服务器的网络辅助的D2D通信的环境的框图。

图2为根据各个实施例,示出了用于基于哈希空间促进UE之间的D2D通信的服务器的框图。

图3为根据各个实施例,示出了用于与哈希空间相关的硬件管理的记录的框图。

图4为根据各个实施例,示出了适于在D2D信道上进行资源通信的UE的框图。

图5为根据各个实施例,示出了接收和发送与哈希值相关的数据的通信接口的框图。

图6为根据各个实施例,示出了用于发送与UE对资源的配设相关的多个哈希值以促进该UE与另一UE之间的D2D通信的方法的流程图。

图7为根据各个实施例,示出了用于基于多个哈希值,经由D2D通信请求对资源的配设的方法的流程图。

图8为根据各个实施例,示出了用于基于多个哈希值,向第一UE提供与D2D通信相关的连接信息的方法的流程图。

图9为根据各个实施例,示出了用于存储与UE对资源的配设相关的哈希值的方法的流程图。

详细描述

在以下的详细描述中,对附图进行参考,附图构成于此的一部分,其中贯穿全文,相同的数字指代相同的部分,并且在附图中,以说明的方式示出可以被实施的示例性实施例。应当理解,其它实施例可以被利用,并且可以做出结构上或逻辑上的改变,而不脱离本公开的范围。因此,以下的详细描述不被认为具有限定性意义,并且实施例的范围被所附的权利要求和它们的等同物确定。

各种操作可以以最有利于理解所请求的主题的方式,被描述为多个按照顺序的分离的动作或操作。然而,描述的顺序不应当被解释为暗示这些操作必然依赖于顺序。尤其是,这些操作可以不按照表述的顺序执行。本文所描述的操作可以以与所描述的实施例的不同顺序执行。在另外的实施例中,各种另外的操作可以被执行和/或所描述的操作可以被省略。

为了本公开的目的,词组“A或B”和“A和/或B”意指(A)、(B)、或(A和B)。为了本公开的目的,词组“A、B和/或C”意指(A)、(B)、(C)、(A和B)、(B和C)、(A和C)或(A、B和C)。

描述可以使用词组“在一个实施例中”或“在实施例中”,这些词组的每一个可以值一个或多个相同或不同的实施例。此外,术语“包含”、“包括”、“具有”等,在关于本公开的实施例使用时为同义词。

如本文所使用的,术语“模块”和/或“逻辑”可以指以下内容,或是以下内容的一部分,或者包括:执行一个或多个软件或固件程序的专用集成电路(“ASIC”)、电子电路、处理器(共享、专用、或组)、和/或存储器(共享、专用、或组)、组合逻辑电路、和/或提供所描述功能的其它适当的硬件组件。

如本文所描述的,第一用户设备(“UE”)可以适于确定与第一UE对资源的配设相关的多个哈希值。第一UE可以还确定在其被提供的资源可用的端口。第一UE可以将这些消息传递给服务器。当第二UE希望使用这一资源时,第二UE可以确定对应于被第一UE确定的那些资源的多个哈希值。第二UE可以将这些被确定的哈希值发送给该服务器。作为响应,该服务器可以将该端口和与第一UE相关的IP地址传送给第二UE。服务器可以还促进用于对资源进行配设的UE之间的D2D通信。其它实施例可以被描述和/或请求。

首先从图1开始,根据各个实施例,示出了UE110和UE115之间,通过D2D服务器150的网络辅助的D2D通信的环境100的框图。UE110可以适于提供资源,并且因此可以被称为资源提供型UE110。UE115可以适于请求资源,并且因此可以被称为资源请求型UE110。在图1中,第一UE110被描述为适于提供资源,并且第二UE115可以被描述为适于请求资源;然而,应当理解,UE110和115都可以提供和请求资源,换言之,第二UE115也可以适于向第一UE110提供资源,并且第一UE110也可以适于从第二UE115请求资源。

UE110、115可以为配备有移动宽带电路的任意类型的便携计算设备,比如上网本、平板电脑、手持计算设备、具有网络功能的应用、游戏设备、移动电话、智能手机、电子书阅读器、个人数字助理等。UE110、115可以为适于根据例如一个或多个第三代合作伙伴计划(“3GPP”)技术规范通过网络(例如,网络130)进行通信的任何设备。

UE110、115可以适于避免接入节点(未示出)使用无线资源根据例如由一个或多个3GPP技术规范定义的D2D通信标准直接传递数据。D2D通信可以通过例如增加带宽来提高UE110、115处可用的功能和/或服务。UE110、115可以在环境100中彼此接近,以使得D2D通信可以允许增加的数据传输(例如,高数据率),该增加的数据传输可以相应于降低的功耗和/或延迟。然而,网络辅助可以例如通过D2D服务器150,促进这一D2D通信。

第一UE110可以适于基于来自第二UE115的请求,向第二UE115提供资源。根据一个实施例,这一资源可以例如为诸如文件(例如,文本文件、音频文件、种子文件)之类的内容。第一UE110可以执行与对这一文件的配设相关的应用,比如文件共享应用、P2P应用、BT应用等。这一应用可以与描述符相关,该描述符可以为应用标识符(例如,应用标识符值和/或应用名称)。在另一实施例中,这一资源可以为服务,比如文件浏览。第一UE可以具有与对服务的配设相关的描述符,比如用户标识符(例如,用户名称和/或电子邮件地址)。

根据实施例,第一UE110可以确定与对资源的配设相关的多个哈希值。描述符哈希值可以基于与第一UE110对资源的配设相关的描述符而被确定。描述符哈希值可以被预定义(例如,存储于数据结构中),比如描述符哈希值连同应用相关联地被硬编码。在另一实施例中,第一UE110可以生成描述符哈希值,比如通过将不可逆的哈希函数应用于描述符。资源哈希值可以基于将由第一UE110提供的资源被确定。类似于描述符哈希值,这一资源哈希值可以被预定义,或者可以基于与该资源相关的标签,比如文件名称(例如,“file.txt”)或服务名称(例如,“文件浏览”)而被生成。此外,第一UE110可以确定与该UE对资源的配设相关的端口。该端口可以作为由该UE执行的操作系统的通信端点,比如用于P2P通信。在各种实施例中,该端口可以具体于应用,比如可用于配设资源的端口。

第二UE115可以适于请求在第一UE110处可用的资源。第二UE115可以执行与请求该资源相关的应用,比如文件共享应用、P2P应用、BT应用等。在一些实施例中,这一应用可以适于从第一UE110处的相应应用请求资源。

根据实施例,第二UE115可以确定与请求资源相关的多个哈希值。描述符的哈希值可以基于与第二UE115请求的资源相关的描述符而被确定。描述符哈希值可以被预定义(例如,存储于数据结构中),比如描述符哈希值连同应用相关联地被硬编码。在另一实施例中,第二UE115可以生成描述符哈希值,比如通过将不可逆的哈希函数应用于描述符。资源哈希值可以基于将被第一UE110提供的资源被确定。类似于描述符哈希值,这一资源哈希值可以被预定义,或者可以基于与该资源相关的标签而被生成。

优选地,第二UE115确定的哈希值将与第一UE110确定的哈希值匹配,在这种情况下第二UE115请求的资源具有第一UE110提供的相关描述符。在一个实施例中,第一UE110和第二UE115可以已经将使用同一不可逆的哈希算法生成的相应的哈希值存储于其中。例如,当第二UE115请求具有标签“file.torrent”和相关的描述符“BitTorrent”的资源时,第二UE115可以确定资源哈希值“A9B8C7”和描述符哈希值“1Z2Y3X”。为了响应于请求以向第二UE115提供资源,第一UE110可以相应地确定可用的资源“file.torrent”的相应的资源哈希值“A9B8C7”以及相关的描述符“BitTorrent”的相应的描述符哈希值“1Z2Y3X”。

根据实施例,UE110、115可以被配置跨网络130的进行系统间通信。网络130可以为公共、私有、无线、或混合网络,或不同类型网络的组合,这些不同类型网络包括例如,局域网(“LAN”)、比如互联网的广域网(“LAN”)、企业网、城域网(“MAN”)、公共陆地移动网络(“PLMN”)等。网络130可以包括无线蜂窝网络,比如全球移动通信系统(“GSM”)网络和/或码分多址(“CDMA”)网络。无线蜂窝网络可以遵守一种或多种标准,例如长期演进(“LTE”)或演进型LTE(“LTE-A”)、第三代(“3G”)、第四代(“4G”)、第五代(“5G”)、全球微波互联接入(“WiMAX”)(例如,移动WiMAX)、或其它类似标准。

在各种实施例中,网络130中包括的无线蜂窝网络可以被移动网络运营商(“MNO”)管理,比如负责无线频谱分配、无线网络基础设施、回程基础设施等的MNO。相应地,网络130可以包括与提供无线蜂窝网络相关的多个组件(未示出),比如接入节点(例如,演进型NodeB(“eNB”)、毫微微小区、微微小区等)、移动管理实体(“MME”)、服务网关(“S-GW”)、分组数据网络网关(“P-GW”)、网关移动位置中心(“GMLC”)、归属位置寄存器(“HLR”)、家庭用户服务器(“HSS”)、移动交换中心(“MSC”)、以及其它类似组件。

通过网络130,UE110、115可以能够与D2D服务器150通信。根据实施例,D2D服务器150可以与UE110、115例如在用户平面或控制平面上通信。例如,D2D服务器150可以经由MME和/或非接入层(“NAS”)消息传送与UE110、115通信。D2D服务器150可以管理与UE110、115相关的一个或多个方面。在各个实施例中,D2D服务器150可以为演进型分组核心(“EPC”)的一部分,演进型分组核心可以为LTE系统的核心网。

虽然D2D通信可以为UE110、115之间的直接通信链路,但是D2D通信可以受益于通过D2D服务器150的网络辅助。在一些实施例中,D2D服务器150可以分配和/或存储与UE110、115相关的相应的硬件地址。硬件地址可以例如为UE的唯一标识符。D2D服务器150可以注册UE110、115,授权UE110、115用于D2D连接,和/或促进D2D连接的建立。

在各个实施例中,D2D服务器150可以访问或追踪UE110、115的位置,并因此可以代表UE110、115执行邻近度检测。这种位置服务可以允许请求UE(例如,第二UE115)转入空闲状态,直到D2D服务器150检测到提供UE(例如,第一UE110)的距离适宜于D2D通信,有效地解除请求UE的与持续探查针对提供UE存在的发现信道相关的操作。另外,D2D服务器150可以向UE110、115分配UE标识符(例如,暂时链路层标识符)用于在D2D信道上使用-例如,UE110、115可以通过应用层标识符(“应用ID”)识别自身,但是D2D服务器150可以存储和/或分配UE110、115的一个或多个链路层标识符(“链路层ID”)(例如,暂时和/或永久链路层ID),和/或允许UE110、115在信道120上使用D2D临时链路层ID,以使得UE110、115可以匿名运行,尤其是关于一个或多个未参与D2D通信的其它UE(未示出)。

由于UE110、115可以参与资源通信,UE110、115可以适于在网络130上传送涉及资源的信息,比如应用ID、被提供的资源、与被提供的资源相关的描述符(例如,应用名称、用户名称、用户标识符)、与UE110、115相关的一个或多个密码(例如,具体于应用的密码、具体于服务的密码)、以及其它涉及资源的信息(例如,具体于应用的信息、具体于服务的信息)。根据一个实施例,UE110、115可以将这一涉及资源的信息传送给D2D服务器150以使得D2D服务器150可以存储这一涉及资源的信息。在替代的实施例中,UE110、115可以将涉及资源的信息传送给另一服务器(未示出),比如云服务器和/或P2P服务器,D2D服务器150可以适于与该云服务器和/或P2P服务器通信。

关于促进UE110、115之间的资源通信,第一UE110(例如,该UE适于提供资源)可以向D2D服务器150传送多个哈希值。为了指示可由第一UE110进行配设资源,资源哈希值和描述符哈希值可以在网络130上连同与该资源的配设相关的端口被传送至D2D服务器150。在实施例中,第一UE110可以向服务器150传送多个资源和/或描述符哈希值(以及相关的(一个或多个)端口),在这种情况下,第一UE110具有多个用于配设的资源。D2D服务器150可以存储这些哈希值和相关的(一个或多个)端口,并把它们和与第一UE相关的硬件地址联系起来--例如,D2D服务器150可以访问数据库并将在一个或多个表中存储这一数据,该一个或多个表格至少可以部分地被硬件地址键控。因为D2D服务器150还与第一UE110的硬件管理相关,D2D服务器150可以解析与第一UE110相关的一个或多个IP地址(例如,Wi-Fi接口IP地址和/或蜂窝接口IP地址),该第一UE110与资源提供相关。该一个或多个IP地址可以另外被存储和链接至硬件地址。因此,在不知道具有可用的(一个或多个)资源和/或(一个或多个)描述符的那些实际上是什么的同时,D2D服务器150可以维持可由第一UE110进行配设的(一个或多个)资源、(一个或多个)描述符、(一个或多个)端口的列表-换言之,D2D服务器可以仅存储和/或索引代表(一个或多个)资源和/或(一个或多个)描述符的哈希值,而不存储和/或索引代表(一个或多个)资源和/或(一个或多个)描述符本身的任何数据和/或元数据(例如,文本描述)。

当第二UE115期望请求具有相关描述符的资源时,第二UE115可以向D2D服务器150传送相应于所请求资源和/或描述符的至少一个哈希值。换言之,第二UE115可以确定资源哈希值和/或确定描述符哈希值,并在网络130上向D2D服务器150传送这些哈希值。在一个实施例中,第二UE115可以传送仅具有一个哈希值的请求,同时“通配符”包括第二个哈希值,这里“通配符”与所有的可能值匹配(例如,以使得第二UE115可以请求与描述符相关的所有资源,比如与BT描述符相关的所有种子文件)。

基于来自于第二UE115的请求,D2D服务器150可以适于将从第二UE115请求的资源哈希值匹配到来自于第一UE110的可用的资源哈希值,以及另外将从第二UE115请求的资源的哈希值匹配至来自于第一UE110的可用的描述符哈希值。例如,D2D服务器150可以基于所请求的哈希值查询一个或多个数据库表,并且查询结果可以返回与第一UE110相关的可用的哈希值。从该查询结果,D2D服务器150可以适于识别IP地址和与该资源的配设相关的第一UE110的端口。

在一些实施例中,来自第二UE115的请求可以使D2D服务器150识别与一个或多个UE(包括第一UE110)相关的多个IP地址,比如在来自第二UE115的请求中提供的哈希值相应于多个UE和/或与第一UE110相关的多个无线电接口处可用的资源和/或描述符这一情况下。作为响应,D2D150可以适于基于一个或多个参数,例如最接近于第二UE115的UE的位置信息和/或与第一UE110相关的优选无线电接口,识别一个或多个IP地址(以及相关的(一个或多个)端口)。在各个实施例中,第二UE115可以在向D2D服务器150的请求中,指示该一个或多个参数。例如,该一个或多个参数可以定义位置限制(例如,最大的接近度)和/或时序限制(例如,在其中资源被提供的时间帧)。

之后,D2D服务器150可以向第二UE115传送连接信息用于由第一UE110对资源进行配设。这一连接信息可以包括第一UE110被识别的IP地址和端口,由此允许第二UE115访问该资源——例如,第二UE115的应用可以在被识别的IP地址和端口(比如用于P2P通信)处,访问第一UE110的资源。然而,D2D服务器150可以使这一资源配设适于D2D通信,例如,以提高带宽使用和比特率。因此,各个实施例的特征为由D2D服务器150进行的用于代表第二UE115执行D2D发现的操作。例如,D2D服务器可以基于与第一和第二UE110、115相关的位置数据检测UE110、115足够接近以参与D2D通信。此外,D2D服务器150可以促进UE110、115之间的D2D连接建立。例如,D2D服务器150可以促进D2D信道120的分配。另外,D2D服务器150可以向UE110、115分配相应的UE标识符(例如,暂时链路层ID)用于在D2D信道120上的D2D通信。因此,当在D2D信道120上使用被分配的UE标识符时,UE110、115可以使用应用ID用于基于IP地址和端口来配设资源,在该端口处可从第一UE110获得资源。

基于利用哈希空间用于资源配设这一布置可以提供一些特性,这些特性是基于资源配设的文本描述的存储和/或索引所不具备的。例如,运行于哈希空间的D2D服务器150可以是灵活并且可扩展的-换言之,当新的资源和/或描述被引入时,根据这一协议的哈希空间操作可以不需要改变。同样,因为UE110、115不向D2D服务器150指示什么资源和/或描述符被提供和/或请求,哈希空间向UE110、115提供了匿名性。从系统的角度来看,哈希空间操作在网络130、D2D服务器150、以及UE110、115上可以相当有效,因为在UE110、115和D2D服务器150之间更少的数据被交换(例如,与资源和/或描述符的文本描述相比,哈希值需要更少的存储和/或索引)并且需要更少的数据存储和/或处理(例如,与资源和/或描述符的文本描述相比,哈希值需要更少的存储和/或索引)。此外,在D2D服务器150,可能不需要与搜索资源和/或描述符相关的可能昂贵的搜索操作,并且搜索操作通过例如基于互联网的搜索引擎变得可用。

根据一个实施例,统一的命名方案可以用于第一UE110以指示可用的资源和/或描述符,并且相应地,用于第二UE115以请求这样的资源和/或描述符。这一命名方案可以为统一资源标识符(“URI”)。例如,URI可以为类似于“d2d://d2d.operator.com/[描述符哈希值]/[资源哈希值]”的形式。当第一UE110指示可用于配设的资源,第一UE110可以使这一URI例如被网站、社交媒体平台、和/或另一应用上的可以调用该URI的网络浏览器公布。在一个实施例中,第一UE110可以在URI中包括另外的值,比如一个或多个参数(例如,对D2D通信来说可能关键的位置和/或时序限制)和/或与以具体资源作为目标相关的信息(例如,文件分级或归档以使得文件分级内的资源仍然可以被提供)。因此,URI可以被扩展为例如“d2d://d2d.operator.com/[descriptorhashvalue]/[resourcehashvalue]/<specific_target>/?parameter1=val1,parameter2=val2.”。此外,这一URI表示可以支持“通配符”字母,以使得描述符哈希值和/或资源哈希值可以被“通配符”替代,以使与特定描述符哈希值相关的所有资源或者与特定资源哈希值相关的所有描述符在D2D服务器150处被识别。当第二UE115希望请求资源和相关的描述符时,第二UE115可以通过调用URI(例如,在网站选择URI)来确定资源哈希值和描述符哈希值。这一URI可以包括由第二UE115向D2D服务器150传送的请求。

关于图2,框图示出了用于基于哈希空间促进UE之间的D2D通信的服务器200。服务器200可以为适于管理网络中的一个或多个UE和/或辅助D2D通信中的多个UE的任何服务器,比如图1的D2D服务器150。服务器200可以包括但不限定于处理器218、存储设备220、主存储器210、以及通信接口230。这些组件可以通过总线219可通信地耦接。总线219可以为适于在服务器200内传输数据的任何子系统。总线219可以包括多个计算机总线以及适于传输数据的另外电路。

处理器218可以为适于执行指令(比如来自主存储器210的指令)的任何处理器。相应地,处理器218可以为例如中央处理单元(“CPU”)、微处理器、或其它类似的处理器。在一些实施例中,处理器218包括多个处理器,比如专用处理器(例如,图形处理单元)、网络处理器、或适于执行服务器200的操作的任何处理器。

与处理器218耦接的是主存储器210。主存储器210可以提供短期和长期存储,并且事实上可以被分为几个单元(包括位于处理器218处的单元)。主存储器210还可以包括缓存,比如位于处理器218处的高速缓存。主存储器210可以为易失性的,比如静态随机存取存储器(“SRAM”)和/或动态随机存取存储器(“DRAM”),并且可以提供服务器200的计算机可读指令、数据结构、软件应用、和其他数据的存储(至少临时性的)。这些数据可以从存储设备220载入,存储设备220可以为例如一个或多个硬盘驱动器、固态驱动器、压缩盘和驱动器、数字通用盘和驱动器等。

主存储器210可以包括但不限于,将被处理器218执行的涉及组件211-215的指令:哈希空间模块211、邻近度服务模块212、哈希连接模块214、以及操作系统215。在各个实施例中,操作系统215被配置为发起指令的执行,比如由模块211-214提供的指令。操作系统215可以适于在服务器200的组件上执行其它操作,包括线程处理、资源管理、数据存储控制、和其它类似功能。操作系统215可以使处理器218执行指令。在各个实施例中,模块211-214至少可以部分地在服务器200的电路中实现,比如处理电路、处理器电路、逻辑电路等。因此,哈希空间电路可以包括被配置为执行关于哈希空间模块211所描述的各个操作的电路。

根据实施例,服务器200可以适于存储于一个或多个UE相关的数据。这一数据可以通过网络(比如无线蜂窝网络)经由通信接口230被接收。哈希连接模块214可以处理经由通信接口230被接收的多个哈希值,该哈希值与适于提供资源(例如,内容或服务)的UE相关。此外,哈希连接模块214可以处理通过通信接口230从UE接收的端口,该端口与多个哈希值相关。哈希连接模块214可以适于在存储设备220中存储哈希值和相关的端口,并将它们联系到与该UE相关的硬件地址。硬件地址可以为服务器200可以用于识别UE的任何标识符,例如关于硬件管理和/或D2D通信。在实施例中,服务器200可以检测与提供哈希值和端口的UE相关的一个或多个IP地址,该一个或多个IP地址可以指示该UE的一个或多个无线电端口。另外,哈希连接模块214可以存储一个或多个检测到的IP地址,并将它们联系到UE的硬件地址。因此,在不知道具有可用的(一个或多个)资源和/或(一个或多个)描述符的那些实际上是什么的同时,服务器200可以维持可由第一UE110配设的(一个或多个)资源、(一个或多个)描述符、(一个或多个)端口的列表-换言之,D2D服务器150可以仅存储和/或索引代表(一个或多个)资源和/或(一个或多个)描述符的哈希值,而不存储和/或索引代表(一个或多个)资源和/或(一个或多个)描述符本身的任何数据和/或元数据(例如,文本描述)。

关于哈希连接模块214联系和存储的哈希值,哈希空间模块211可以适于将所接收的包括哈希值的请求与所存储的哈希值匹配。哈希空间模块211可以通过通信接口230接收作为对资源的请求的多个哈希值。在许多实施例中,该请求不具有对资源或相关的描述符的任何指示,因为服务器200可以不存储和/或索引与资源和/或描述符的文本描述相关的信息。在一些实施例中,哈希空间模块211可以处理包括一个或多个参数的请求,该一个或多个参数与资源配设和/或D2D通信相关。在一个实施例中,哈希空间模块211可以处理基于URI通过通信接口230接收的请求。

基于通过通信接口230接收的请求,哈希空间模块211可以适于将所请求的哈希值与被存储的哈希值匹配。在各个实施例中,该请求可以包括两个哈希值,并且哈希空间模块211可以适于将第一被请求的哈希值与第一被存储的哈希值匹配,以及将第二被请求的哈希值与第二被存储的哈希值匹配,这里第一和第二被存储的哈希值与同一硬件地址相关。从该匹配,哈希空间模块211可以适于识别与提供UE对资源的配设相关的IP地址和端口,以及硬件地址。

邻近度服务模块212可通信地与哈希空间模块211耦接,可以确定与被识别的硬件地址相关的UE是否适于与请求UE执行D2D通信。在各个实施例中,邻近度服务模块212可以执行D2D发现,比如基于从与UE相关的相应的硬件地址得到的位置信息确定UE足够邻近。邻近度服务模块212还可以基于时序参数,确定该两个UE适于参与D2D通信。虽然邻近服务模块212被显示为服务器200的一部分,但是在其它实施例中,邻近服务模块212可以被远程布置,例如,在核心网的另一部分,并且经由通信接口230与服务器200的组件通信。

基于确定UE适于参与彼此之间的D2D通信,邻近度服务模块212可以使通信接口230向请求UE传送连接信息。在各个实施例中,连接信息可以包括根据所请求的哈希值被识别的UE的被识别的IP地址和端口,以使得请求UE可以使用这一信息来访问由被识别的UE提供的资源。另外,邻近度服务模块212可以向请求UE和/或被识别的UE分配相应的UE标识符(例如,暂时链路层ID)用于D2D通信,该UE标识符可以在该连接信息中被传递。因此,服务器200可以针对两个UE之间的资源的D2D通信的提供网络辅助。

关于图3,用于与哈希空间相关的硬件管理的记录300的框图被示出。关于UE的记录300可以被存储在图2所示的服务器200的存储设备220中。在各个实施例中,类似于记录300的多个记录被存储用于多个具有一个或多个被提供资源的UE。记录300可以例如被存储在一个或多个数据结构中,比如数据库记录。

记录300可以至少部分地由硬件地址305来识别。硬件地址305可以对UE是唯一的。在各个实施例中,硬件地址305可以基于D2D通信被分配给UE(例如,硬件地址可以被分配以指示UE110、115之一被授权用于D2D通信),并且因此,硬件地址可以不同于国际移动用户识别码(“IMSI”)和/或临时移动用户识别码(“TMSI”)。

硬件地址可以与多个哈希值310-315相关。第一哈希值310可以与资源的标签(例如,文件名称或服务名称)相关,同时第二哈希值315可以与资源的配设的描述符(例如,应用名称或用户名称)相关。标签哈希值310和描述符哈希值315可以根据相同的哈希算法或不同的哈希算法而被生成,这些哈希算法可以为不可逆的。标签哈希值310和描述符哈希值315可以被生成为特定的预定长度或被限制为最大长度,以节约存储空间。

硬件地址305还可以与端口320相关,该端口可以作为UE处的通信端点,并且可以例如为数值。相应地,硬件地址305可以与一个或多个IP地址325-330相关。IP地址325-330可以被管理与一个或多个UE相关的硬件(例如,无线电接口)的服务器解析。因为UE可以包括多个无线电接口,所以多个IP地址325-330可以与硬件地址305相关。

关于图4,框图示出了适于D2D信道上的资源通信的UE400。UE400可以为适于基于D2D通信来传送和/或请求资源的任何UE,比如图1的UE110、115。UE400可以包括,但不被限定为,处理器418、存储设备420、主存储器410、用户接口422、显示器424、电源427、以及通信接口430。这些组件的一个或多个可以通过总线419被可通信地耦合。总线419可以为适于在UE400内部传输数据的任何子系统。总线419可以包括多个计算机总线以及适于传输数据的另外的电路。

作为接收数据的装置,UE400可以包括从用户接收输入的用户接口422。根据各种实施例,用户接口422可以允许用户通过各种装置与UE400交互-例如,用户接口422可以作为图形用户接口或者通过命令行接口在显示器424上提供给用户。为了接收用户输入,用户接口422可以在硬件、软件、或二者的组合中实现,并且可以包括或可通信地耦接适于用户输入的一个或多个硬件设备(例如,键盘、鼠标、触摸屏、或手势识别)。此外,处理器418可以执行用户接口422的一些或所有指令。

处理器418可以为适于执行指令(比如来自主存储器410的指令)的任何处理器。相应地,处理器418可以为例如中央处理单元(“CPU”)、微处理器、或另一类似的处理器。在一些实施例中,处理器418包括多个处理器,比如专用处理器(例如,图形处理单元)、网络处理器、或适于执行UE400的操作的任何处理器。

与处理器418耦接的是主存储器410。主存储器410可以提供短期和长期存储,并且事实上可以被分为几个单元(包括位于处理器418处的单元)。主存储器410可以为易失性的,比如静态随机存取存储器(“SRAM”)和/或动态随机存取存储器(“DRAM”),并且可以向UE400提供计算机可读指令、数据结构、软件应用、以及其它数据的存储(至少临时性)。这些数据可以从存储设备420载入。主存储器410也可以包括缓存存储器,比如位于处理器418的缓存。主存储器410可以包括但不限于,被处理器418执行的涉及组件411-414的指令:应用411、哈希值模块412、以及操作系统414。

在各个实施例中,操作系统414可以被配置为发起指令的执行,比如应用411和/或哈希值模块412提供的指令。尤其是,操作系统414可以适于作为运行应用411的平台。操作系统414可以适于在UE400的组件上执行其他操作,比如线程处理、资源管理、数据存储控制、以及可以与应用411和/或哈希值模块412相关的其它类型的功能。

操作系统414可以使与应用411相关的指令被执行。应用411可以为与资源(比如内容或服务)相关的任何应用。例如,应用411可以为P2P应用、文件共享应用、BT应用等。应用411可以与描述符相关,描述符可以例如为应用的名称或其它标识符,和/或与应用411的用户相关的用户名。根据实施例,适于被应用提供的资源为内容,比如文件。根据另一实施例,适于被应用提供的资源为服务,比如文件浏览。

应用411可以可通信地与哈希值模块412耦接。尽管在主存储器410之内被示出,哈希值模块412可以为硬件、软件、固件、和/或它们的组合。例如,哈希值模块412可以被包括于ASIC或其它集成电路中,在多个实施例中,与哈希值模块412相关的指令可以被处理器418执行,因此与哈希值模块412相关的指令可以至少临时性地被存储在主存储器410中。在各个实施例中,哈希值模块412可以至少部分地在UE400的电路中实现,比如处理电路、处理器电路、逻辑电路等。因此,例如,哈希值电路可以包括被配置为执行关于哈希值模块412所描述的各种操作的电路。

哈希值模块412可以适于生成多个哈希值。在一个实施例中,哈希值模块412可以适于基于与UE400对资源的配设相关的描述符,生成第一哈希值。例如,第一哈希值可以基于描述符被生成,该描述符为与提供资源(例如内容)的应用411相关的应用描述符(例如,应用名称或应用识别号)。在另一实施例中,第一哈希值可以基于描述符,该描述符为与资源(例如服务)相关的用户标识符(例如,用户名或用户电子邮件地址)。

根据一个实施例,哈希值模块412可以根据所存储的值(例如,被硬编码的值)确定第一哈希值。在另一实施例中,哈希值模块412可以通过向描述符应用不可逆的哈希函数,生成第一哈希值。哈希值模块412可以使第一哈希值被限制为最大值或特定的预定长度。这一第一哈希值可以被生成为对于描述符是唯一的-例如,应用于包括描述符的字符和/或值的哈希值可以生成第一哈希值,但是当一个或多个字符和/或值被改变、调换、添加、和/或删除时,不同的哈希值将被生成。

类似于第一哈希值,哈希值模块412可以确定第二哈希值。哈希值模块412可以基于将被UE400提供的资源,生成第二哈希值。在各个实施例中,哈希值模块412可以基于与该资源相关的标签,比如文件名称或服务名称(例如,“文件浏览”),生成第二哈希值。

类似于第一哈希值,哈希值模块412可以根据所存储的值(例如,被硬编码的值)确定第二哈希值。在另一实施例中,哈希值模块412可以通过将不可逆的哈希函数应用于与该资源相关的标签,生成第二哈希值。这一不可逆的哈希函数可以与用于生成第一哈希值的哈希函数为同一哈希函数,尽管在其它实施例中,它可以为另一哈希函数。第二哈希值可以被限制为最大值或特定的预定长度。这一第二哈希值可以被生成为对于与资源相关的标签是唯一的——例如,应用于包括标签的字符和/或值的哈希函数可以生成第二哈希值,但是当一个或多个字符和/或值被改变、调换、和/或删除时,不同的哈希值将被生成。在一些实施例中,第二哈希值可以还基于与该资源相关的元数据被生成(例如,文件扩展、资源类型、资源大小等)。

哈希值模块412还可以确定与由UE对资源的配设相关的端口。例如,哈希值模块412可以确定与应用411相关的、可以传递资源的端口。该端口可以作为操作系统411的通信端点,比如用于P2P通信。哈希值模块412可以与通信接口430可通信地耦合,并且因此,多个哈希值和端口可以通过网络被传递至服务器(未示出)以使得UE400可以指示可配设的一个或多个资源。在各个实施例中,哈希值模块412可以使通信接口430传送作为URI的多个哈希值,以使到由UE400提供的资源的链路可以例如在网站上公布。这一URI可以包括与资源的配设相关的一个或多个其它值,比如在该处资源可用的文件分级或归档。URI可以还包括与资源的配设相关的一个或多个参数,比如与位置和/或时序限制相关的D2D参数。

哈希值模块412可以适于执行类似操作用于从另一UE请求资源-换言之,哈希值模块412可以确定与所请求资源相关的多个哈希值。哈希值模块412可以基于描述符确定第一被请求的哈希值。在一个实施例中,哈希值模块412可以从所存储的值确定第一被请求的哈希值。在另一实施例中,哈希值模块412可以基于将哈希算法应用于描述符,生成第一被请求的哈希值。哈希值模块412可以使第一被请求的哈希值被限制为最大值或特定的预定长度。该第一被请求的哈希值可以被生成为对描述符是唯一的-例如,应用于包括该描述符的字符和/或值的哈希函数可以生成该第一哈希值,但是当一个或多个字符和/或值被改变、调换、添加、和/或删除时,另一哈希值将被生成。

另外,哈希值模块412可以确定与请求资源相关的第二被请求的哈希值。哈希值模块412可以从所存储的值(例如,被硬编码的值)确定该第二被请求的哈希值。在另一实施例中,哈希值模块412可以通过将不可逆的哈希函数应用于与资源相关的标签,生成第二被请求的哈希值。这一不可逆的哈希函数可以与用于生成第一被请求的哈希值的哈希函数相同的哈希函数,尽管在其它实施例中可以为另一哈希函数。哈希值模块412可以生成第二被请求的哈希值以使得它被限制为最大值或特定的预定长度。哈希值模块412可以生成第二被请求的哈希值,以使得它对于与资源相关的标签是唯一的-例如,应用于包括描述符的字符和/或值的哈希函数可以生成第二哈希值,但是当一个或多个字符和/或值被改变、调换、和/或删除时,不同的哈希值将被生成。在一些实施例中,第二哈希值可以还基于与该资源相关的元数据被生成(例如,文件扩展、资源类型、资源大小等)。

哈希值模块412可以使通信接口430将第一和第二被请求的哈希值通过网络传送至服务器,例如,作为对于来自另一UE的资源的请求。在各个实施例中,通信接口430可以通过例如设备发现和/或D2D连接建立,将这一请求传递至适于促进D2D通信的D2D服务器。根据一个实施例,通信接口430可以基于调用URI来传送这一请求,该URI可以包括第一哈希值和第二哈希值。在各个实施例中,这一URI可以包括与其它UE对资源的配设和/或D2D通信相关的其它信息,比如与D2D通信和/或用于获取资源的文件分级(例如,归档)信息相关的位置和/或时序限制。

基于该请求,通信接口430可以处理与另一UE对资源的配设相关的连接信息。通信接口430可以基于被传送的请求,从D2D服务器接收连接信息。在各个实施例中,连接信息可以包括与同另一UE的D2D通信的设备发现和/或的连接建立相关的信息,比如与另一UE相关的UE标识符和/或与D2D信道相关的信息。根据实施例,连接信息可以包括与另一UE相关的IP地址和端口,以使得该UE可以使用由另一UE提供的资源。应用411可以适于使用一些连接信息(例如,IP地址和该端口)来使用由另一UE提供的资源。在各个实施例中,通信接口430可以使用与另一UE的D2D连接的一些连接信息,尽管这一D2D通信可以被网络服务器辅助。

关于图5,框图示出了根据各个实施例,用于在计算系统之间无线接收和发送数据的通信接口500。通信接口500可以是或可以被包括于服务器和/或UE(比如图2的通信接口230和/或图4的通信接口430)中。通信接口500可以包括但不限于,发送器电路505、接收器电路510、通信电路515、和/或至少如所示的与其中的每一个耦接的一个或多个天线。

简要地,通信电路515可以与天线520耦接以促进去往/来自通信接口500的信号的无线通信。通信电路515的操作可以包括但不限于,滤波、放大、存储、调制、解调、转换等。

发送器电路505可以与通信电路515耦接,并且被配置为向通信电路515提供用于由天线520发送的信号。在各个实施例中,发送器电路505可以被配置为提供对该信号的各种信号处理操作,以向通信电路515提供具有适当特性的信号。在一些实施例中,传送器电路505可以被配置为无线地发送一个或多个数据分组和/或模拟语音数据。

发送器电路505可以被配置为接收用于由通信电路515传送的信号。在一些实施例中,发送器电路505可以适于生成信号。此外,发送器电路505可以适于在通信电路515发送各种信号之前,对各种信号进行加扰、多路传输、和/或调制。

接收器电路510可以与通信电路515耦接,并可以被配置为接收用于通信电路515的信号和/或接收来自通信电路515的信号,比如由一个或多个天线520检测的信号。在一些实施例中,接收器电路510可以适于生成、修改、或以其它方式改变信号。此外,接收器电路510可以适于将所接收的信号发送给与通信接口500通信地耦接的另一模块或组件(未示出),以使得从具有通信接口500的设备外部接收的数据可以在该设备利用这一数据。在一些实施例中,接收器电路510可以接收一个或多个数据分组和/或模拟语音数据。

通信电路515、发送器电路505、和/或接收器电路510的一些或全部可以被包括于例如通信芯片中和/或与印刷电路板通信地耦接。

关于图6,根据各个实施例,流程图示出了用于传送与UE对资源的配设相关的多个哈希值以促进该UE与另一UE之间的D2D通信的方法600。方法600可以被计算设备(比如图1的UE110、115之一)执行。虽然图6示出了多个顺序操作,但是本领域的普通技术人员将可理解,方法600的一个或多个操作可以被调换和/或被同时执行。

作为起始,方法600可以包括用于确定第一哈希值的操作605。这一第一哈希值可以基于与UE对资源的配设相关的描述符而被生成。在一个实施例中,第一哈希值可以基于与提供该资源(例如,内容)的应用相关的应用描述符(例如,应用名称或应用识别号)而被生成。在另一实施例中,第一哈希值可以基于为与资源(例如,服务)相关的用户标识符(例如,用户名或用户电子邮件地址)的描述符。

根据一个实施例,第一哈希值可以被预定义(例如,在数据结构中存储)。在另一实施例中,操作605可以包括通过将不可逆的哈希函数应用于该描述符,生成第一哈希值。第一哈希值可以被限定为最大值或特定的预定长度。这一第一哈希值可以被生成为对于描述符是唯一的-例如,应用于包括该描述符的字符和/或值的哈希函数可以生成第一哈希值,但是当一个或多个字符和/或值被改变、调换、添加、和/或删除时,另一哈希值将被生成。

操作610可以包括确定第二哈希值。这一第二哈希值可以基于将被该UE提供的资源而被生成。在一个实施例中,这一资源可以为内容(例如,文本文件、媒体文件、种子文件)。在另一实施例中,这一资源可以为服务(例如,文件浏览)。在各个实施例中,该第二哈希值可以基于与该资源相关的标签(例如,文件名称或服务名称(例如,文件浏览))而被生成。

根据一个实施例,第二哈希值可以被预定义(例如,存储数据结构中)。在另一实施例中,操作610可以包括通过将不可逆的哈希函数应用于与资源相关的标签,生成第二哈希值。这一不可逆的哈希函数可以是与用于生成第一哈希值的哈希函数相同的哈希函数,尽管在其它实施例中可以为另一哈希函数。第二哈希值可以被限制为最大值或特定的预定长度。该第二哈希值可以被生成为对于与资源相关的标签是唯一的-例如,应用于包括该标签的字符和/或值的哈希函数可以生成该第二哈希值,但是当一个或多个字符和/或值被改变、调换、添加、和/或删除时,另一哈希值将被生成。在一些实施例中,第二哈希值可以还基于与资源相关的元数据被生成(例如,文件扩展、资源类型、资源大小等)。

在操作615,方法600可以包括确定与UE对资源的配设相关的端口。该端口可以作为由UE执行的操作系统的通信端点,比如用于点对点通信。在各个实施例中,该端口可以具体于应用,比如提供内容或服务的应用。

之后,操作620可以包括在网络上向服务器传送第一哈希值、第二哈希值、以及端口。操作620可以促进该UE和另一UE之间的D2D通信。例如,操作620可以包括将第一和第二哈希值和端口传送给适于促进D2D通信的服务器。在一个实施例中,操作620可以包括将第一和第二哈希值和端口作为URI传送给网络服务器以被公布来用于另一UE,并且调用这一URI可以让D2D服务器使得该UE和另一UE之间能够进行D2D通信(例如,通过促进发现和/或传送端口和与该UE相关的IP地址到另一UE)。

关于图7,根据各个实施例,流程图示出了用于基于多个哈希值,经由D2D通信请求配设资源的方法700。方法700可以被计算设备(比如图1的UE110、115之一)执行。虽然图7表述了多个顺序操作,但是本领域的普通技术人员将可理解,方法700的一个或多个操作可以被调换和/或被同时执行。

作为起始,方法700可以包括用于确定第一哈希值的操作705。这一第一哈希值可以基于与另一UE对资源的配设相关的描述符而被生成。在一个实施例中,第一哈希值可以基于与提供资源(例如,内容)的应用相关的应用标识符(例如,应用名称或应用标识编号)而被生成。在另一实施例中,第一哈希值可以基于为与资源(例如,服务)相关的用户标识符(例如,与另一用户相关的用户的用户名或用户电子邮件地址)的描述符。

根据一个实施例,第一哈希值可以被预定义(例如,在数据结构中存储)。在另一实施例中,操作705可以包括通过将不可逆的哈希函数应用于描述符,生成第一哈希值。第一哈希值可以被限定为最大值或特定的预定长度。这一第一哈希值可以被生成为对于描述符是唯一的-例如,应用于包括描述符的字符和/或值的哈希函数可以生成第一哈希值,但是当一个或多个字符和/或值被改变、调换、添加、和/或删除时,另一哈希值将被生成。

操作710可以包括确定第二哈希值。第二哈希值可以基于将被另一UE提供的资源而被生成。在一个实施例中,这一资源可以为UE希望从另一UE请求的内容(例如,文本文件、媒体文件、种子文件)。在另一实施例中,这一资源可以为可以被另一UE提供给UE服务(例如,文件浏览)。在各个实施例中,该第二哈希值可以基于与资源相关的标签(例如,文件名称或服务名称(例如,文件浏览))而被生成。

根据一个实施例,第二哈希值可以被预定义(例如,被存储在数据结构中)。在另一实施例中,操作710可以包括通过将不可逆的哈希函数应用于与资源相关的标签,生成第二哈希值。这一不可逆的哈希函数可以是与用于生成该第一哈希值的哈希函数相同的哈希函数,但是在其它实施例中可以为另一哈希函数。第二哈希值可以被限制为最大值或特定的预定长度。第二哈希值可以被生成为对于与资源相关的标签是唯一的-例如,应用于包括该标签的字符和/或值的哈希函数可以生成第二哈希值,但是当一个或多个字符和/或值被改变、调换、添加、和/或删除时,另一哈希值将被生成。在一些实施例中,第二哈希值可以还基于与该资源相关的元数据被生成(例如,文件扩展、资源类型、资源大小等)。

在操作715,方法700可以包括在网络上向服务器传送包括第一哈希值和第二哈希值的请求。在各个实施例中,通过例如设备发现和/或D2D连接建立,请求可以被传送到适于辅助D2D通信的D2D服务器。根据一个实施例,请求可以包括URI。例如,操作715可以包括调用URI。URI可以包括第一哈希值和第二哈希值。在各个实施例中,URI可以包括与由另一UE对资源的配设和/或D2D通信相关的其它信息,比如与D2D通信相关的位置和/或时序限制和/或用于获取资源的文件分级(例如归档)信息。

之后,操作720可以包括处理与同另一UE的通信相关的连接信息。连接信息可以基于被传送的请求从服务器接收。操作720可以促进UE与另一UE之间的D2D通信。例如,连接信息可以包括与同另一UE的D2D通信的设备发现和/或连接建立相关的信息,比如与另一UE相关的UE标识符和/或与D2D信道相关的信息。根据实施例,连接信息可以包括与另一UE相关的IP地址和端口,以使得UE可以使用被另一UE提供的资源。在这样的实施例的一个示例中,该UE可以参与同另一UE的P2P通信,比如当UE与另一UE均适于执行相应的P2P应用时(例如,UE可以执行P2P应用,该P2P应用适于使用由另一UE执行的相应P2P应用提供的资源)。

转到图8,根据各个实施例,流程图示出了用于基于多个哈希值,向第一UE提供与D2D通信相关的连接信息的方法的流程图。方法800可以被服务器计算系统(比如图1的D2D服务器150)执行。虽然图8表述了多个顺序操作,但是本领域的普通技术人员将能理解,方法800的一个或多个操作可以被调换和/或同时执行。

作为起始,方法800可以包括用于处理从第一UE接收的请求的操作805,该请求包括第一哈希值和第二哈希值。在各个实施例中,第一哈希值可以基于与第二UE对资源的配设相关的描述符而被生成,并且第二哈希值可以基于将被第二UE提供的资源而被生成。然而,执行方法800的计算系统可能不知道描述符和/或资源,根据该描述符和/或资源,第一和第二哈希值分别被生成。在各个实施例中,事实上,执行方法800的计算系统可以不存储和/或索引与该描述符和/或资源相关的任何数据和/或元数据,以降低开销(例如,存储和/或处理器耗费)。为了进一步降低开销,第一和第二哈希值可以被限定为最大值或特定的具体长度。

根据一个实施例,所接收的请求可以包括URI,比如第一UE调用被发布于网站上的URI。这一URI可以包括第一哈希值和第二哈希值。在各个实施例中,这一URI可以包括与第二UE对资源的配设和/或D2D通信相关的其它信息,比如与D2D通信相关的位置和/或时序限制,和/或用于获取资源的文件分级(例如归档)信息。

之后,操作810可以包括基于第一和第二哈希值,识别与第二UE相关的IP地址和端口。在各个实施例中,操作810可以包括与将第一和第二哈希值匹配到被存储的哈希值相关的操作。例如,第一哈希值可以被匹配到第三哈希值,并且第二哈希值可以被匹配到第四哈希值,这里第三和第四哈希值与第二UE的硬件地址相关。在这样的示例中,第三和第四哈希值可以被存储于与IP地址和端口相关的数据结构中(例如,第三和第四哈希值可以连同IP地址和端口被存储在数据库表中,数据库表以第二UE的硬件地址为键码)。

根据实施例,多个IP地址可以基于第一和第二哈希值被识别。在一个实施例中,多个UE可以适于提供由被包括于第一UE的请求中的第一和第二哈希值指示的资源。在这样的实施例中,操作810可以包括基于与第一UE和第二UE之间的D2D通信相关的一个或多个参数,识别多个IP地址中的一个IP地址(以及相关的端口)。例如,与多个硬件地址相关的多个IP地址可以基于第一和第二哈希值被识别,并且与第二UE相关的硬件地址可以被识别为进一步与该一个或多个参数匹配(例如,在根据位置参数的地理范围内,适于根据时序限制等的在时间帧或时间比率内,通过D2D连接传递数据)。在一些实施例中,该一个或多个参数可以在来自第一UE的请求中被指示(例如,该一个或多个参数可以被包括于URI)。

在各个实施例中,单个UE可以与多个IP地址相关,比如第二UE包括多个无线电接口(例如,Wi-Fi接口、蜂窝接口等)。相应地,操作810可以包括识别与第二UE相关的多个IP地址中的一个。这一识别可以包括与确定可用和/或优选(例如,更快)的无线电接口相关的操作,和识别与被确定的无线电接口相关的IP地址的操作。

之后,操作815可以包括基于该IP地址和端口,向第一UE传送连接信息。这一连接信息可以包括被识别的IP地址和端口。在各个实施例中,这一连接信息可以包括与在第一UE和第二UE之间的D2D通信相关的信息,比如用于设备发现(例如,用于在D2D信道上使用的与第二UE相关的标识符)和/或D2D连接建立(例如,与D2D信道相关的信息)的信息。事实上,执行方法800的计算系统可以使第一UE和第二UE能够参与D2D通信。

转到图9,根据各个实施例,流程图示出了用于存储与UE对资源的配设相关的哈希值的方法。方法900可以被服务器计算系统(比如图1的D2D服务器150)执行。虽然图9表述了多个顺序操作,但是本领域的普通技术人员将能理解,方法900的一个或多个操作可以被调换和/或同时执行。

作为起始,方法900可以包括用于处理从第一UE接收的请求的操作805,该请求包括第一哈希值、第二哈希值、和端口。在各个实施例中,第一哈希值可以基于与UE对资源的配设相关的描述符而被生成,并且第二哈希值可以基于将被第二UE提供的资源而被生成。然而,执行方法900的计算系统可能不知道描述符和/或资源,根据该描述符和/或资源,第一和第二哈希值分别被生成。在各个实施例中,执行方法900的计算系统事实上可以不存储和/或索引与该描述符和/或资源相关的任何数据和/或元数据,以降低开销(例如,存储和/或处理器耗费)。为了进一步降低开销,第一和第二哈希值可以被限定为最大值或特定的具体长度。该端口可以作为位于该UE的通信端点,并且可以例如为数值。

操作910可以包括基于被接收的数据,识别与UE相关的IP地址。在各个实施例中,操作910可以包括与确定一个或多个无线电接口相关的操作,在该一个或多个无线电接口处,UE适于通过网络接收数据,比如Wi-Fi接口和/或蜂窝数据接口。因为UE可以包括多个无线电接口,多个IP地址可以被识别。

在操作915,方法900可以包括将与UE相关的硬件地址联系到第一哈希值、第二哈希值、端口、以及一个或多个IP地址。在各个实施例中,操作915可以包括与在数据库表中创建和更新记录相关的操作。例如,硬件地址、第一哈希值、第二哈希值、端口、以及一个或多个IP地址可以被插入数据库表的相应的字段中,数据库表至少部分以该硬件地址为键码。因此,包括哈希值的针对来自另一UE的资源配设的请求可以被匹配到针对UE的被存储的哈希值,并且UE和请求UE之间的D2D连接可以基于该硬件地址而被建立。因此,执行方法900的计算系统可以使UE和请求UE能够参与D2D通信。另外,与UE相关的IP地址和端口可以被传送到请求UE,以使得UE可以通过D2D信道将资源提供给请求UE(例如,在相应的P2P应用之间)。

在各种实施例中,示例1可以为被包括于用户设备(“UE”)中的装置,该装置包括:哈希值模块,用于确定第一哈希值,该第一哈希值基于与该UE对资源的配设相关的描述符而被生成,确定第二哈希值,该第二哈希值基于将被该UE提供的资源被生成,并确定与被该UE提供资源相关的端口;并确定与该UE对资源的配设相关的端口;以及通信接口,与该哈希值模块可通信地耦接,用于通过网络向服务器传送端口的指示、该第一哈希值、以及该第二哈希值,以促进与另一UE的设备到设备通信。示例2可以为示例1所述的装置,其中哈希值模块基于将不可逆的哈希函数应用于与资源相关的标签,生成该第二哈希值。示例3可以为示例2所述的装置,其中不可逆的哈希函数还被应用于与资源相关的元数据以生成第二哈希值。示例4可以为示例1所述的装置,其中该装置为将被与UE相关的应用提供的服务或内容。示例5可以为示例4所述的装置,其中与UE对内容或服务的配设相关的描述符为与提供内容的应用相关的应用标识符,或者为与服务相关的用户标识符。示例6可以为示例1-5任一项所述的装置,其中第一哈希值被预定义。示例7可以为示例1-5任一项所述的装置,其中哈希值模块通过将不可逆的哈希函数应用于描述符,生成第一哈希值。

在各个实施例中,示例8可以为被包括于用户设备(“UE”)中的装置,该装置包括:哈希值模块,用于确定第一哈希值,该第一哈希值基于与另一UE对资源的配设相关的描述符而被生成,确定第二哈希值,该第二哈希值基于将被另一UE提供的资源被生成;以及通信接口,与哈希值模块可通信地耦接,用于通过网络向服务器传送包括第一哈希值和第二哈希值的请求,以及处理连接信息,该连接信息基于该请求从服务器接收,并且与同另一UE的设备到设备(“D2D”)通信相关。示例9可以为示例8所述的装置,其中连接信息至少包括以下一者:与另一UE的D2D通信的设备发现信息、与另一UE的D2D通信的D2D连接建立信息、或者与点对点通信相关的互联网协议地址和端口。示例10可以为示例8所述的装置,其中哈希值模块基于将不可逆的哈希函数应用于与资源相关的标签,生成第二哈希值。示例11可以为示例10所述的装置,其中不可逆的哈希函数还被应用于与资源相关的元数据以生成第二哈希值。示例12可以为示例8-11任一项所述的装置,其中哈希值模块通过将不可逆的哈希函数应用于描述符,生成第一哈希值。示例13为示例可以为示例8-11任一项所述的装置,其中请求包括统一资源标识符(“URI”)。示例14可以为示例13所述的装置,其中URI包括与同另一UE的通信相关的位置参数、与同另一UE的通信相关的时序参数、或者与另一UE对资源的配设相关的文件分级。

在各个实施例中,示例15可以为用于基于哈希空间提供资源的服务器,该服务器包括:哈希空间模块,处理从第一用户设备(“UE”)接收的请求,该请求包括第一哈希值和第二哈希值,并且基于该第一哈希值和该第二哈希值,识别与第二UE相关的互联网协议(“IP”)地址和端口;以及邻近度服务模块,与哈希空间模块可通信地耦接,基于用于与第二UE的通信的IP地址和端口,向第一UE传送连接信息。示例16可以为示例15所述的服务器,其中连接信息至少包括以下一者:与D2D通信相关的设备发现信息、D2D连接建立信息、或者互联网协议地址和端口。示例17可以为示例15所述的服务器,其中请求包括统一资源标识符(“URI”)。示例18可以为示例15所述的服务器,其中请求包括与第一UE和第二UE之间的通信相关的参数,并且邻近度服务模块基于该参数,将连接信息传送给第一UE。示例19可以为示例15-18任一项所述的服务器,该服务器还包括哈希连接模块,用于:处理从第二UE接收的数据,该数据包括第三哈希值、第四哈希值、以及与第二UE相关的端口,基于从第二UE接收的数据,识别与第二UE相关的IP地址,以及将与第二UE相关的硬件地址联系到第三哈希值、第四哈希值、端口、和IP地址。示例20可以包括示例19所述的服务器,其中哈希值模块基于确定第一哈希值与第三哈希值匹配和确定第二哈希值与第四哈希值匹配,识别与第二UE相关的IP地址和端口。示例21可以包括示例15-18任一项所述的服务器,其中服务器不存储与将被第二UE提供的内容和服务相关的元数据。示例22可以包括示例15-18任一项所述的服务器,其中第一哈希值和第二哈希值的相应的长度被限制。

在各个实施例中,示例23可以为一个或多个非暂时性计算设备可读介质,该介质包括被包括于服务器中的计算设备可执行指令,响应于被计算设备执行,使计算设备执行:处理从第一用户设备(“UE”)接收的请求,该请求包括第一哈希值和第二哈希值;基于第一哈希值和第二哈希值,识别与第二UE相关的互联网协议(“IP”)地址和端口;以及基于该IP地址和该端口,使第一UE和第二UE之间能够进行设备到设备通信。示例24可以包括示例23所述的一个或多个非暂时性计算设备可读介质,其中使第一UE和第二UE之间能够进行设备到设备通信包括:向第一UE传送与第二UE相关的UE标识符用于设备到设备发现;以及向第一UE传送与第二UE相关的IP地址和端口。示例25可以包括示例23-24任一项所述的一个或多个非暂时性计算设备可读介质,其指令还使该计算设备:处理从第二UE接收的数据,该数据包括与第二UE相关的第三哈希值、第四哈希值、和端口;基于从第二UE接收的数据,识别与第二UE相关的IP地址;以及将与第二UE相关的硬件地址联系到第三哈希值、第四哈希值、端口、和IP地址。

在各个实施例中,示例26可以为计算机执行的方法,该方法包括:处理从第一用户设备(“UE”)接收的请求,该请求包括第一哈希值和第二哈希值;基于第一哈希值和第二哈希值,识别与第二UE相关的互联网协议(“IP”)地址和端口;以及基于IP地址和该端口,使第一UE和第二UE之间能够进行设备到设备通信。示例27可以包括示例26所述的方法,其中使能够进行设备到设备通信包括:向第一UE传送与第二UE相关的UE标识符用于设备到设备发现;以及向第一UE传送与第二UE相关的IP地址和端口。示例28可以包括示例26-27任一项所述的方法,该方法还包括:处理从第二UE接收的数据,该数据包括与第二UE相关的第三哈希值、第四哈希值、和端口;基于从第二UE接收的数据,识别与第二UE相关的IP地址;以及将与第二UE相关的硬件地址联系到第三哈希值、第四哈希值、端口、和IP地址。

在各个实施例中,示例29可以为一个或多个非暂时性计算设备可读介质,该介质包括被包括于用户设备(“UE”)中的计算设备可执行指令,其中该指令响应于被计算设备执行,使计算设备执行:确定第一哈希值,该第一哈希值基于与该UE对资源的配设相关的描述符被生成;确定第二哈希值,该第二哈希值基于将被该UE提供的资源而生成;确定与该UE对资源的配设相关的端口;以及通过网络向服务器传送端口的指示、第一哈希值、以及第二哈希值,以促进与另一UE的设备到设备通信。示例30可以包括示例29所述的一个或多个非暂时性计算设备可读介质,其中指令还基于将不可逆的哈希函数应用于与资源相关的标签,使计算设备生成第二哈希值。示例31可以包括示例29所述的一个或多个非暂时性计算设备可读介质,其中不可逆的哈希函数还被应用于与资源相关的元数据以生成第二哈希值。示例32可以包括示例29-31任一项所述的一个或多个非暂时性计算设备可读介质,其中资源为将被与UE相关的应用提供的服务或内容。示例33可以包括示例32所述的一个或多个非暂时性计算设备可读介质,其中与UE对内容或服务的配设相关的描述符为与提供内容的应用相关的应用标识符,或者为与服务相关的用户标识符。

在各个实施例中,示例34可以为装置,该装置包括:用于确定第一哈希值的装置,该第一哈希值基于与另一UE对资源的配设相关的描述符被生成;用于确定第二哈希值的装置,该第二哈希值基于将被另一UE提供的资源而生成;用于通过网络向服务器传送包括第一哈希值和第二哈希值的请求的装置;以及用于处理连接信息的装置,该连接信息基于该请求从服务器接收,并且与同另一UE的设备到设备(“D2D”)通信相关。示例35可以为示例34的装置,其中该连接信息至少包括以下一者:与另一UE的D2D通信的设备发现信息、与另一UE的D2D通信的D2D连接建立信息、或者与点对点通信相关的互联网协议地址和端口。示例36可以为示例34的装置,其中用于确定第二哈希值的装置包括:用于基于将不可逆的哈希函数应用于与资源相关的标签,生成第二哈希值的装置。示例37可以包括示例36的装置,其中不可逆的哈希函数还被应用于与资源相关的元数据以生成第二哈希值。示例38可以包括示例34-37任一项所述的装置,其中用于确定第一哈希值的装置包括:用于将不可逆的哈希函数应用于描述符,生成第一哈希值的装置。示例39可以包括示例34-37任一项所述的装置,其中请求包括统一资源标识符(“URI”)。示例40可以包括示例39所述的装置,其中URI包括与同另一UE的通信相关的位置参数、与同另一UE的通信相关的时序参数、或者与另一UE对资源的配设相关的文件分级。

之前的详细描述的一些部分已根据针对计算机存储器内数据比特的算法和操作的符号表述而被介绍。这些算法描述和表述是数据处理领域的技术人员用于向本领域的其他技术人员最有效地表达他们的工作的方式。在此,并且一般地,算法被认为是导致所需结果的操作的自相容序列。操作为那些需要对物理量进行物理操作的操作。

然而,应当认识到,所有这些以及类似的术语与适当的物理量相关,并且仅为应用于这些物理量的方便的标签。除非在上述讨论之外具体提及,应当理解在全文中,利用那些比如在以下的权利要求中提到的术语的讨论,适用于计算机系统或类似的电子计算设备的动作和处理,这些计算机系统或类似的电子计算设备将表现为计算机系统的寄存器和存储器内部的物理(电子)量的数据,操作和转换为类似地表现为该计算机系统的存储器或寄存器或其它类似的信息存储、传输、或显示设备内的物理量的其它数据。

本发明的实施例还涉及用于执行本文的操作的装置。这一计算机程序被存储于非暂时性计算机可读介质。机器可读介质包括用于以由机器(例如计算机)可读形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪速存储器设备)。

在之前的图中描述的处理或方法可以被处理逻辑执行,该处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,在非暂时性计算机可读介质中实现)、或这二者的组合。尽管处理或方法在以上根据一些顺序操作被描述,应当理解,被描述的操作的一些可以按照不同的顺序被执行。此外,一些操作可以被并行执行,而非顺序执行。

本发明的实施例不关于任何特定的程序语言被描述。应当理解,各种程序语言可以被用于实现如本文所描述的本发明的实施例的教导。

在之前的说明书中,本发明的实施例已关于其中具体的示例性实施例被描述。显然,可以对其进行各种修改,而不脱离如在以下的权利要求中提出的本发明的广泛的主旨和范围。相应地,说明书和附图被认为是示例性意义而非限制性意义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号