相关申请
本申请涉及由2015年2月15日提交的题为“促进应用用户的受限邻近度发现的方法和设备”的美国临时专利申请序号62/116,491(代理人案卷号no.mm01179)并根据35u.s.c§119(e)要求其权益,其全部内容通过引用并入本文。
本公开一般涉及应用用户的发现,更具体地涉及一种用于通过选定的其他用户对第一用户的受限发现的方法和设备,所述其他用户接近第一用户并且通过应用与第一用户相关联。
背景技术:
在已经在第三代合作伙伴计划(3gpp)服务和系统方面(sa2)工作组中活跃的基于邻近度的服务(prose)项目的背景中,已经有指定支持受限发现的prose解决方案的工作,prose解决方案在本文也被称为受限邻近度发现。基本上,受限发现为应用的第二用户提供了一种机制,以当两个用户处于非常接近的时候,但仅当第一用户已经明确地同意可被第二用户发现时才发现该应用的第一用户。因此,受限发现使得用户能够限制在社交联网应用上的他的朋友的数量,例如,限制谁可以发现他。
为了支持受限发现,在sa2中已经提出了一些解决方案,例如如在3gpp规范tr23.713v0.3.0(2014-11)第5节中所记录的。这些提出的解决方案的缺点是它们需要对诸如facebook、twitter、google+、instagram等应用进行改变。例如,为启用facebook受限发现,必须修改在facebook服务器上运行的应用以及facebook服务器支持的应用编程接口(api)。这些要求可以导致在实践中非常有限地甚至无法部署所提出的解决方案。
技术实现要素:
附图说明
附图以及下面的详细描述被并入说明书并形成说明书的一部分,并且用于进一步示出包括所要求保护的实施例的概念的实施例,并解释了这些实施例的各种原理和优点,在附图中相同的附图标记在全部单独的视图中指代相同或功能上相似的元件。
图1是示出根据一些实施例的其中至少一个prose服务器和用户设备是可配置的环境的示意图。
图2是示出根据一个实施例的用于促进对应用用户的受限发现的协作功能的消息序列图。
图3是示出根据另一实施例的用于促进对应用用户的受限发现的协作功能的消息序列图。
图4是示出根据一些实施例可配置的用户设备的内部硬件组件的框图。
图5是示出根据一些实施例可配置的prose服务器的内部硬件组件的框图。
本领域技术人员将理解,附图中的元件为了简单和清楚而被示出,并且未必按比例绘制。例如,附图中的一些元件的尺寸可能相对于其他元件被夸大,以帮助提高对本公开的实施例的理解。
已经在适当的情况下通过附图中的常规符号来表示装置和方法组件,附图仅示出了与理解本公开的实施例相关的那些具体细节,以便不会以对受益于本文的描述的本领域普通技术人员而言显而易见的细节模糊本公开。
具体实施方式
根据各种实施例的是可以驻留在一个或多个蜂窝网络中并且被配置为促进对应用用户的受限发现的方法和基于邻近度的服务服务器。对于促进公布第一用户的存在的特定实施例,第一基于邻近度的服务服务器激活用于第一用户的社交联网应用的邻近服务,其包括获得访问第一用户的用于社交联网应用的资源的授权。第一基于邻近度的服务服务器向第一用户呈现来自社交联网应用的朋友列表,以选择被允许发现第一用户的朋友。响应于来自第一用户的请求,第一基于邻近度的服务服务器为社交联网应用的第一用户分配基于邻近度的服务代码,其中第一用户的设备可以在本地公布该代码。第一基于邻近度的服务服务器还向一组其他基于邻近度的服务服务器公布第一基于邻近度的服务代码的存在,该一组其他基于邻近度的服务服务器包括第二基于邻近度的服务服务器。
为了促进监视第一用户的存在,第二基于邻近度的服务服务器激活用于第二用户的社交联网应用的邻近服务。在从第二用户接收到监视第一用户的存在的请求时,第二基于邻近度的服务服务器在从第一基于邻近度的服务服务器请求用于第一用户的第一基于邻近度的服务代码之前,确认第一用户在社交联网应用上是第二用户的朋友。所述第二基于邻近度的服务服务器向所述第二用户的设备提供所述第一基于邻近度的服务代码,以用于当第一和第二用户处于非常接近时,通过检测所述第一用户的所述设备对所述第一基于邻近度的服务代码的公告来监视所述第一用户的存在。
公开的实施例不需要对应用服务器或应用服务器支持的api进行任何改变。因此,这些实施例提供了受限发现的解决方案,该受限发现的解决方案例如可以由蜂窝运营商部署并且使得蜂窝运营商能够使用对应用服务器透明的过程来控制受限发现功能。
图1示出了根据本教导的示例环境100的示意图,在该环境中,可以实现用于促进对应用用户的受限发现的方法和设备。如图所示,环境100包括公共陆地移动网络(plmn)a110、plmnb120和应用服务器130。如图所示,用户adam可以操作他的用户设备102——在这种情况下用户设备102是无线通信设备,以建立用于无线连接到plmna110的链路160。类似地,用户george可以操作他的用户设备104以建立用于无线连接到plmnb120的链路108。对于特定实现场景,adam是在plmna110中的蜂窝用户,并且因此可以从plmna110接收诸如prose服务的服务,prose服务包括根据本教导实现的受限发现服务。类似地,george是在plmnb120中的蜂窝用户,并且因此可以从plmnb120接收包括受限发现服务的服务。
每个plmn包括接入网,例如112和122,其可以使用任何类型的无线电接入技术(rat)来使得无线通信设备的使用接入网来访问和进行通信。对于所示的实施例,接入网112和122是蜂窝接入网,这里也被称为蜂窝网络,其具有至少一个蜂窝塔或基站,例如114和124,以便促进用户设备建立到接入网的无线链路。
plmna110和b120还包括:核心网络,例如116和126;以及连接到核心网络的prose服务器或prose功能,例如118和128。如图所示,使用3gpp标准或规范来实现蜂窝网络112和122以及核心网络116和126,以例如作为长期演进(lte)网络。更具体地,蜂窝网络112和122是具有例如为214和124的至少一个enodeb的演进umts陆地无线电接入网(e-utran)或传统utran,用于促进到诸如无线通信设备102和104的用户设备(ue)的无线链路。支持蜂窝网络112和122的核心网络116和126相应地是本领域中也被称为演进分组核心(epc)的系统架构演进(sae)核心。epc子组件(未示出)可以除了其他子组件之外还包括移动性管理实体(mme)、服务网关(s-gw)、pdn网关(p-gw)、归属订户服务器(hss)等。
尽管在所示实施例中蜂窝接入网112和122使用e-utra作为rat,但是可以使用任何其他蜂窝或基于蜂窝的接入技术。这些技术包括但不限于:诸如高级移动电话系统(amps)的模拟接入技术;诸如码分多址(cdma)、时分多址(tdma)、全球移动通信系统(gsm)、综合数字增强网络(iden)、通用分组无线业务(gprs)、增强数据gsm演进(edge)等的数字接入技术;和/或,诸如通用移动电信系统(umts)、宽带cdma(wcdma)、ieee802.16等的下一代接入技术或其变体。
另外,尽管未示出,但是环境100还可以包括耦合到核心网络116和126并且由核心网络116和126支持并且对用户设备102和104可访问的其他网络。这样的网络包括例如:因特网;一个或多个分组数据网络(pdn);或一个或多个无线局域网(wlan)。wlan具有至少一个接入点,以使用例如电气和电子工程师协会(ieee)802.11标准(本领域也被称为wifi技术)或使用全球微波接入互操作(wimax)技术促进无线链路。pdn可以例如是企业网络、ip多媒体子系统(ims)等。
应用服务器130用于向例如adam和george的用户提供服务,以通过使用下载到用户设备的应用形成连接而成为彼此的联系人。下载的应用与应用服务器130上的对应应用进行交互。对于一个示例,应用服务器驻留在因特网中,可由用户设备102和104与prose服务器118和128通过因特网连接来访问应用服务器。
对于特定实施例,应用服务器130是提供使得用户能够建立和/或维持社交关系的社交联网服务的社交联网服务器。特别地,社交联网服务允许用户建立包含用户的例如兴趣、教育历史、工作历史等的所选个人信息的个人资料,并且建立称为“朋友”的联系人列表,该联系人列表可以包括应用标识符列表。朋友列表被授权与用户进行交互,并且至少一些用户的朋友也可以被授权查看用户个人资料中的一部分信息。用户使用包括用户标识或标识符(id)和密码的凭证来访问社交联网应用。用户关于应用的信息(例如,个人资料和联系人列表)以及用于应用的凭证被收集,上述在本文中被称为用户的“资源”。世界上使用的一些目前流行的社交联网服务包括facebook、google+、linkedin、instagram、pinterest、vine、tumblr和twitter。
prose服务器118和128被配置为向用户提供允许用户彼此发现的基于邻近度的服务。一种类型的基于邻近度的服务是受限的prose发现或受限发现。受限发现使诸如为社交联网应用和相关联的社交联网服务的应用和相关应用服务的用户能够选择应用的哪些其他用户可以发现它们。在下面参照图2和图3描述受限发现的特定实施例。
图2是示出协作功能的消息序列图200,该协作功能通过使adam能够公布他的存在来促进对第一用户(例如,adam)的受限发现。图3是示出了协作功能的消息序列图300,该协作功能通过使由adam授权的第二用户(例如george)能够将adam的公布与adam相关联并且从而当adam和george接近时发现adam,来促进对adam的受限发现。紧邻意味着例如在无线通信范围内。对于一个实施例,紧邻意味着在adam和george使用它们各自的设备102和104通过直接连接132进行通信的范围内,直接连接132使用例如lte-direct、wifi-direct或蓝牙低功耗(ble)的无线对等(p2p)技术。
图200和300示出了在以下两个或多个设备之间交换的消息:adam的用户设备(ue)102;plmna110的prose服务器118;应用服务器130,其在该示例中是facebook服务器;george的ue104;plmnb120的prose服务器128;和plmnc202的prose服务器206。消息交换可以根据任何合适的或专有的协议或标准,包括但不限于oauth协议、超文本传输协议(http)、因特网协议(ip)等。对于一个实施例,adam和george从他们各自的蜂窝网络的运营商向其用户设备下载基于邻近度的服务(prose)应用。prose应用促进了adam和george的ue和相应的prose服务器118和128之间的消息交换,以实现对facebook应用的受限发现。
让我们为了这个用例情景而假设,adam和george是facebook朋友,并且当adam在附近时,例如在通信范围内时george希望知道。因此,adam在其ue102上启动prose应用。prose应用与prose服务器118进行安全连接(可以使用域名系统预先配置或发现prose服务器118的地址),使用在adam的ue102和prose服务器118之间的消息交换208来对adam进行认证。认证和安全建立消息交换208使得prose服务器118能够确认adam授权对于诸如facebook的应用使用基于邻近度的服务。在成功认证之后,prose服务器118知道ue102的msisdn和/或imsi,并且因此可以对adam收费,并且确定adam是否订阅了某些基于邻近度的服务。
然后可以在adam的ue102、prose服务器118和facebook服务器130之间交换消息210,以对adam激活用于facebook的基于邻近度的服务。也就是说,adam使用prose应用在其ue102和prose服务器之间发起消息交换212,以请求用于facebook的基于邻近度的服务。对于特定示例,通过ue102上的prose应用,adam被呈现例如询问是否“激活facebook的发现”的页面。在adam例如通过点击或激活图标表示他希望激活对facebook的受限发现之后,在adam的ue102、prose服务器118和facebook服务器130之间交换消息214,以使prose服务器118能够获得对访问adam的facebook资源的授权。
对于一个实施例,oauth协议用于促进授权过程。oauth协议是用于授权的开放标准,可用于在facebook服务器130不与prose服务器118共享adam的密码的情况下,代表adam向prose服务器118提供对adam的facebook资源的安全授权访问,adam的facebook资源例如为,adam的facebookid、朋友列表等。对于特定实施例,以与如今通常使用的方式一致的方式实现oauth过程,使得不需要在facebook服务器130处进行改变和对facebook服务器130使用的api进行改变。
即,adam被重定向到他的ue102上的facebook应用,以使用他的facebook证书进行登录。这使能facebook认证214,并且adam在其中通过prose应用被呈现对于允许prose应用(或等同地,prose服务器118)访问他的facebook账户和资源的许可请求。在adam授予此许可时,facebook授权程序进一步包括facebook服务器130许可,并且prose服务器118代表adam通过消息216接收在执行api调用中将使用的访问令牌。因此,prose服务器118向facebook服务器130做出的所有请求将包括访问令牌,以使得facebook服务器130能够对请求进行认证和授权。
通过使用消息交换218,prose服务器118使用其访问令牌从adam的facebook账户请求和接收信息,例如adam的用户id和他的朋友列表。通过使用消息220,prose服务器118通过adam的ue102上的prose应用向他通信adam的朋友列表,该prose应用也用于向prose服务器118通信adam选择他的哪些朋友可以发现他。prose服务器118存储一组所选择的朋友以备将来使用。
当adam想要开始公布他的存在,使得授权的facebook的朋友可以发现他时,他使用他的ue102上的prose应用来发起公布请求程序222。例如,adam在prose应用中选择“开始facebook公布”使他的ue102发送消息224,消息224包括公布adam的存在以由一组他选定的facebook的朋友发现的一个请求。因此,请求224包括adam的facebookid,并且在一个实施例中,用作或包括对基于邻近度的服务代码的请求。当已经从基于邻近度的服务服务器接收到所分配的基于邻近度的服务代码的第二用户的设备在近处接收到由adam的ue102对分配的基于邻近度的服务代码的广播时,使用分配的基于邻近度的服务代码来确定adam的存在。
在接收到请求224之后,prose服务器118确认226adam被允许(例如通过订阅)执行facebook公布,然后为adam分配226用于facebook应用的prose代码。对于一个实施例,prose代码是具有足够长度的随机或伪随机数或数字序列。prose代码还可以包括分配了该prose代码的plmn的身份。此外,prose代码被分配有相关联的有效期,例如一天。prose服务器118向adam的ue102发送公布响应消息228。响应消息228包括分配的prose代码和相关联的有效时间。
prose服务器118还使用到一组其他prose服务器(在这种情况下为prose服务器128和206)的消息公布分配给adam用于facebook的prose代码的存在。对于特定示例,prose服务器118、128和206已加入具有相关多播地址的多播组,以交换安全通信。因此,公布分配给adam用于facebook的prose代码包括prose服务器118向多播组中的其他prose服务器128和206多播230公布通知。公布通知消息230包括用于facebook应用的id和用户id,例如adam的facebookid,以向监视多播地址的所有其他prose服务器通知prose服务器118保存用户adam的用于facebook的prose代码。
在接收到由prose服务器118使用消息228发送的分配的prose代码之后,adam的ue102开始公布或广播232该分配的代码以指示adam的存在。例如,可以使用诸如lte-direct、wifi-direct或ble的技术不受阻碍地在本地执行这样的公布。此外,对于这种情况,可以广播分配的prose代码,直到其有效期届满,其中必须重新执行公布请求过程222以使prose服务器118为adam分配用于facebook的新的prose代码。与adam的ue102非常接近的那些ue可以接收由ue102广播的prose代码,但是不能将其与应用和用户相关联,除非ue已经拥有用于比较的prose代码,如参考图3所述。对于另一个实施例,adam的ue102本地广播用于多个应用的多个prose码,例如,一个用于facebook,一个用于twitter,一个用于google+等。
当在adam的所选朋友列表中的用户想要发现adam时,例如发现用户时,发现用户的设备和在发现用户的蜂窝网络中的prose服务器以类似于prose服务器118和adam的ue102使用消息208执行的方式执行认证和安全建立。另外,发现用户的设备、发现用户的蜂窝网络中的prose服务器和facebook服务器130交换消息(类似于在ue102、prose服务器118和facebook服务器130之间交换的消息210)以为发现用户激活用于facebook的基于邻近度的服务。
例如,在george是发现用户的情况下,george在其ue104上打开prose应用,以发起消息302的交换,以建立在他的ue104与prose服务器128之间的安全连接,以使prose服务器128能够认证george。george的ue104、prose服务器128和facebook服务器130响应于george通过他的prose应用的输入来交换消息304,以激活对于george的用于facebook的基于邻近度的服务,包括prose服务器128获得访问george的用于facebook应用的资源的授权。对于特定实施例,prose服务器128获得访问george的用于facebook的资源的授权包括使用oauth协议从facebook服务器130接收访问令牌,以用于代表george执行到facebook服务器的应用程序接口调用。
也就是说,george的ue104上的prose应用向george呈现了应用的列表,例如,facebook、twitter、google+等。为了发现近处的facebook朋友(如adam),george从应用列表中选择facebook。plmnb120中的蜂窝运营商可能会为这种类型的服务提供而向george收费。然后,george被重定向到他的facebook应用,并被提示用他的facebook证书登录。登录成功之后,george被提示授权prose应用(或者等同地,prose服务器128)从他的facebook账户访问某些资源。所呈现的示例消息可以类似于以下内容:“at&t邻近度服务希望访问您的公开个人资料和朋友列表”。george点击ok本质上是授权prose服务器128从george的facebook个人资料访问某些资源。
使用包括访问令牌的消息序列306,prose服务器128从facebook服务器130获得george的facebook朋友的列表。prose服务器128可以使用george的朋友列表来确认george想要发现的朋友(稍后详细描述)。prose服务器128还可以通过george的ue104上的prose应用向george提供他的朋友列表,george可以从该朋友列表中选择那些可以发现他的朋友。
为了george监视adam的存在,他的ue104必须接收分配给adam的用于facebook的prose代码。为此,在george的ue104、prose服务器128和prose服务器118之间执行监视请求程序308。更具体地说,george可以在他的prose应用中选择一个选项,以使他的ue104向prose服务器128发送监视请求消息310,以接收adam的用于facebook的prose代码以便监视adam的存在。对于一个实施例,监视请求310包括facebook应用id和adam的用户id。
prose服务器128在312处确定是否请求adam的facebookprose代码。例如,这包括prose服务器128访问george的facebook朋友列表,以确认adam在george的facebook朋友列表中。在确认之后,prose服务器128使用在多播消息230中接收的信息来确定prose服务器118拥有分配给adam的用于facebook的prose代码。相应地,prose服务器128向prose服务器118发送消息314以请求adam的用于facebook的prose代码。请求消息314将george的facebookid指示为请求用户,并将adam的facebookid指示为被监视的用户。
prose服务器118在316处确定是否将adam的用于facebook的prose代码通信给prose服务器128。例如,prose服务器118将george(通过他的用户id)与授权或允许发现adam的adam的facebook朋友的列表进行比较。如果george位于该列表中,则prose服务器118向prose服务器128发送响应消息318,该响应消息318包括adam的用于facebook的prose代码和相关联的有效时间,并且还可以包括adam的facebookid。prose服务器128现在可以发送响应于消息310的消息320,以监视adam的存在。对于一个实施例,响应消息320包括用于facebook的应用id、adam的facebookid、adam的用于facebook的prose代码以及相关联的有效时间。
george的ue104现在可以例如通过经由其广播prose公布的本地无线电资源监视322adam的存在。例如,george的ue104可以在后台运行发现程序,该程序可以基于wifi-direct、ble、lte-direct等。当george的ue104足够接近使得从adam的ue102接收adam的用于facebook的prose代码的公布时,ue104可以将prose代码与adam相关联。因此,ue104可以检测到adam的存在并发现adam,因为ue104先前已经在其上存储了它从prose服务器128接收到的adam的prose代码。gorge的ue104例如通过使用弹出通知向george提醒他的facebook朋友adam在附近。george的ue104可以进一步提示george采取某些行动,例如以直接模式(从设备到设备)建立facebook聊天,以直接模式交换照片等。
对于另一个实施例,其中adam和george例如是同一plmna110中的蜂窝服务的订户,george的ue104可替代地从prose服务器118请求并接收adam的用于facebook的prose代码,以用于发现adam。相反,如果george不是adam的facebook朋友,或者如果george是adam的facebook朋友,但是不在可以发现adam的朋友的列表中,则ue104将无法检索adam的facebookprose代码。因此,ue104将无法将广播的prose代码与adam相关联,以检测adam的存在。
图4示出了示出用户设备400的示例内部硬件组件的框图,用户设备400例如为如图1所示的用户设备102和104,该用户设备可以被配置为促进实现根据本教导的实施例。在此使用的“被适配”、“操作”、“能够”或“被配置”意味着使用一个或多个硬件元件来实现所指示的设备或组件,所述硬件元件可以或可以不用软件和/或固件来编程,该软件和/或固件作为所指示的组件实现其所需功能的手段。对于特定实施例,设备400是无线通信设备,其可以代表各种移动设备或用户设备,包括例如蜂窝电话、个人数字助理(pda)、智能电话、膝上型计算机、平板电脑、平板手机或其他手持或便携式电子设备。或者,设备400是诸如台式计算机的“固定”计算设备。
如图4所示,用户设备400的内部硬件元件或组件包括处理器402、输入组件404、通信接口406、存储器组件408、输出组件410和可选地一组传感器中的每一个的至少一个,例如,其中,设备400是便携式设备。如进一步所示,设备400的内部组件通过例如内部总线的一个或多个内部通信链路414可操作地彼此耦合,并且彼此通信。为了便于说明,示出了有限数量的设备组件402、404、406、408、410、412和414,但是其他实施例可以在设备400中包括更少或更多数量的这样的组件。此外,为了简洁,可以从图4中省略设备400的商业实施例所需的其他已知元件。
现在,我们将简要说明示意图400中的组件。通信接口406允许用户设备400和例如为prose服务器或另一用户设备的其它电子设备之间的通信。对于一个实施例,通信接口406包括一个或多个无线收发器,例如蜂窝收发器、wlan收发器和全球定位系统(gps)收发器。更具体地,蜂窝收发器被配置为实现任何合适的蜂窝或基于蜂窝的技术以通过诸如图1的蜂窝网络112和122的蜂窝网络进行数据的蜂窝通信。wlan收发器可以是被配置为根据ieee802.11(a,b,g,n或ac)标准通过wifi网络进行wifi通信的wifi收发器。通信接口406还可以包括被配置为使用诸如ltedirect、ble等技术来实现对等通信的一个或多个无线收发器。例如,在设备400是固定设备的情况下,通信接口406可以包括用于通过有线调制解调器或数字用户线(dsl)进行通信的有线通信接口。
处理器402包括执行设备400所需的数字处理所必需的算术逻辑和寄存器,以便例如以与本文所述的实施例一致的方式公布或监视应用用户的存在。对于一个实施例,处理器402表示设备400的主微处理器或中央处理单元(cpu),例如智能电话的应用处理器。在另一个实施例中,处理器402表示基带处理器或对由一个或多个无线收发器使用的cpu的其他辅助或独立处理器。至少部分地取决于所执行的特定功能和给定的设备400的设计,各种功能或协议可以由处理器400以硬件或作为软件或固件代码来执行。
对于一个示例,处理器402实现具有多个“层”的协议栈或协议组,每个“层”具有、包括、包含或实现一个或多个协议、程序和/或算法,其实现设备400的各种功能。一个这样的层是包含或实现安装在设备400上的各种应用的应用层,该各种应用包括但不限于社交联网应用、支持基于ip的语音或视频的基于互联网协议多媒体子系统(ims)的应用、文件共享,与prose服务器通信的应用等。
对于一个实施例,输入组件404包括:一个或多个视觉输入组件,例如相机镜头和光电传感器;一个或多个声学接收器或音频输入部件,例如一个或多个换能器(例如麦克风);以及一个或多个机械输入部件,例如触摸屏显示器、翻盖传感器、键盘、小键盘选择按钮和/或开关。此外,输出组件410可以包括:一个或多个视觉输出组件,例如液晶显示器和/或发光二极管指示器;一个或多个音频输出组件,例如扬声器、报警器和/或蜂鸣器;以及一个或多个机械输出部件,例如振动机构。传感器412可以布置有传感器集线器以管理传感器的一个或多个功能。示例传感器412包括但不限于接近传感器(例如,光检测传感器、超声收发器或红外收发器)、触摸传感器、高度传感器、加速度计、倾斜传感器和陀螺仪,此处仅仅列出几个。
存储器组件408表示各种形式中的任一种的一个或多个存储器元件,该各种形式例如是只读存储器、随机存取存储器、静态随机存取存储器、动态随机存取存储器等。在一个实施例中,处理器402使用存储器组件408来存储和检索数据。在一些实施例中,存储器组件408与处理器402集成为单个组件,例如在集成电路上。然而,这样的单个组件仍然通常具有执行不同处理和存储功能的不同部分/成分。由存储器组件408存储的数据包括但不必限于操作系统、程序(例如,应用、协议和其他代码)以及信息数据。
配置用户设备400及其中的一个或多个组件可以通过参考用于应用用户公布其存在以被选定的其他用户受限发现的、图2的功能208、212、220、224、228和232提供如上所述的用户体验。配置用户设备400及其中的一个或多个组件可进一步提供用户体验,该用户体验与例如通过参考图3的功能302、304、310、320和322来监视以检测已授权所选择的其他用户发现他的存在的应用用户相关。
图5示出了示出prose服务器500的示例性内部硬件组件的框图,prose服务器500例如是如图1所示的prose服务器118和128。如图5所示,prose服务器500的内部硬件元件或组件包括处理器502、通信接口504和存储器组件506中的每一个的至少一个。如进一步所示,prose服务器500的内部组件通过例如内部总线的一个或多个内部通信链路508可操作地彼此耦合并且彼此通信。为了便于说明,示出了有限数量的设备组件502、504、506和508,但是其他实施例可以在prose服务器500中包括更少或更多数量的这样的组件。此外,为了简洁,可以从图5中省略prose服务器500的商业实施例所需的其他公知元件。
通常,在硬件级别,设备组件502、504、506和508分别如图4所示的类似设备组件402、406、408和414所描述的那样起作用。然而,设备组件502、504、506或508中的一个或多个可以具有一些附加特征。例如,通信接口504可以支持比通信接口406更多的同时连接,并且与处理器402相比处理器502可以被配置用于更大的计算负载。然而,prose服务器500可以通过其设备组件502、504、506和508的一个或多个被配置为,例如以作为根据上文参考图2和图3中分别示出的消息序列图200和300所描述的实施例的第一或第二基于邻近度的服务服务器操作。
例如,对于特定实施例,prose服务器500被配置为例如通过处理器502和通信接口504的协作操作来作为第一基于邻近度的服务服务器来操作。第一基于邻近度的服务服务器执行包括获得对访问用于第一应用的第一用户的资源的授权(例如,214)的方法。该方法还包括通信(例如,220)来自第一用户的资源的联系人列表,以及接收(例如,220)从该联系人列表中选择的一组联系人的指示。组中的每个联系人被允许发现第一用户。该方法还包括接收对于基于邻近度的服务代码的请求(例如,224),并且为第一应用向第一用户分配(例如,226)第一基于邻近度的服务代码。此外,该方法包括向一组其他基于邻近度的服务服务器公布(例如,230)分配给第一应用的第一用户的第一基于邻近度的服务代码的存在。
如上所述,第一基于邻近度的服务服务器将第一基于邻近度的服务代码通信(例如,228)到第一用户的设备。此外,对于一个实施例,第一基于邻近度的服务服务器在下述行为之前确认第一用户对于基于邻近度的服务的授权(例如,208、212):分配第一基于邻近度的服务代码,向该组其他基于邻近度的服务服务器公布第一基于邻近度的服务代码的存在,以及将所述第一基于邻近度的服务代码通信给所述第一用户的设备。对于另一实施例,在应用层使用基于邻近度的服务应用来促进通信来自第一用户的资源的联系人列表并且接收允许发现第一用户的一组联系人的指示。
对于另一个实施例,prose服务器500例如通过处理器502和通信接口504的协作操作被配置为作为该组其他基于邻近度的服务服务器中的第二基于邻近度的服务服务器操作。第二基于邻近度的服务服务器执行一种方法,该方法包括从第一基于邻近度的服务服务器接收(例如,230)分配给第一应用的第一用户的第一基于邻近度的服务代码的存在的指示。该方法还包括从第一基于邻近度的服务服务器请求(例如,314)第一基于邻近度的服务代码,以将其提供给作为第一应用的第一用户的联系人的第二用户。第二基于邻近度的服务服务器响应地从第一基于邻近度的服务服务器接收(例如,318)第一基于邻近度的服务代码。
根据又一个实施例,prose服务器500被配置为例如通过处理器502和通信接口504的协作操作作为第二基于邻近度的服务服务器来操作,以从第一基于邻近度的服务服务器接收(例如,230)第一消息,第一消息指示分配给用于社交联网应用的第一用户的第一基于邻近度的服务代码的存在。第二基于邻近度的服务服务器还被配置为接收授权(例如,304)以访问用于社交联网应用的第二用户的资源,并且从第二用户的设备接收(例如,310)对于监视第一用户的存在的请求。此外,第二基于邻近度的服务服务器被配置为确定(例如,312)是否从第一基于邻近度的服务服务器请求用于在第一用户接近第二用户时进行确定的第一基于邻近度的服务代码。
此外,第二基于邻近度的服务服务器的处理器502可以被配置为通过被配置为进行下述行为来确定(例如,312)是否请求第一基于邻近度的服务代码:确定第一用户是否被包括在来自社交联网应用的第二用户资源的朋友列表中;并且当第一用户被包括在来自第二用户的资源的朋友列表中时,请求第一基于邻近度的服务代码。另外,第一和第二prose服务器两者的处理器502可以被配置为加入多播组以通信(例如,发送和接收)第一消息(例如,230),第一消息指示分配给用于社交联网应用的第一用户的第一基于邻近度的服务代码的存在。此外,处理器502和通信接口504可以被协作地配置为将第一基于邻近度的服务代码通信(例如,320)到第二用户的设备,以用于在第二用户被允许发现第二用户时检测第一用户的存在。
在前述说明书中,已经描述了特定实施例。但是,本领域内的普通技术人员明白,在不偏离在下面的权利要求中提出的本公开的范围的情况下,可以进行各种修改和改变。因此,说明书和附图应被看作是说明性而不是限定性的含义,并且所有这样的修改意欲被包括在本教导的范围中。
益处、优点或者对于问题的解决方案或者可以使得任何益处、优点或者对于问题的解决方案发生或者变得更突出的任何一个或多个元素不应当被理解为任何或者全部权利要求的关键的、所需要的或者必要的特征或者元素。本发明被所附权利要求唯一地限定,所附权利要求包括在本申请的待审期间进行的任何修改和所发出的那些权利要求的所有等同物。
而且,在本文中,诸如第一和第二与上和下等的关系术语可以唯一地用于将一个实体或者行为与另一个实体或者行为相区分,而不必要求或者暗示在这样的实体或者行为之间的任何实际的这样的关系或者顺序。术语“包括”、“具有”“包含”或者其任何其他变化形式意欲涵盖非排他的包含,以便包括、具有、包含一系列元素的过程、方法、物品或者设备不仅包含那些元素,而且包含未明确地列出或者这样的过程、方法、物品或者设备固有的其他元素。前有“包括”、“具有”“包含”的元素在没有更多限制的情况下,不排除在包括、具有、包含所述元素的过程、方法、物品或者设备中存在另外的相同的元素。术语“一个”被定义为一个或多个,除非在此另外明确地规定。术语“基本上”、“本质上”、“大致上”“大约”或者其任何其他版本被定义为接近由本领域内的普通技术人员所理解的那样,并且在一个非限定性实施例中,所述术语被限定为在10%内。在另一个实施例中在5%内,在另一个实施例中在1%内。在另一个实施例中在0.5%内。在此使用的术语“耦接”被定义为连接,虽然不必然直接地连接或者不必然机械地连接。以特定方式“配置”的装置或者结构至少以那种方式被配置,但是也可以以未列出的方式被配置。
可以明白,一些实施例可以由一个或多个通用或者专用的处理器(或者“处理装置”)和唯一存储的程序指令(包括软件和固件)构成,该程序指令控制所述一个或多个处理器结合特定的非处理器电路实现在此所述的方法和/或设备的一些、大多数或者全部功能,所述由一个或多个通用或者专用的处理器诸如为微处理器、数字信号处理器、定制的处理器和现场可编程门阵列(fpga)。或者,可以通过没有存储的程序指令的状态机或者在一个或多个专用集成电路(asic)中实现一些或者全部功能,在一个或多个专用集成电路(asic)中,每个功能或者特定功能的某些组合被实现为定制逻辑。当然,可以使用所述两种手段的组合。状态机和asic两者在本文被认为是用于前述讨论和权利要求语言的目的的“处理设备”。
而且,可以将实施例实现为计算机可读存储介质,其上存储了计算机可读代码,用于对计算机(例如包括处理器)进行编程以执行在此所述和所要求保护的方法。这样的计算机可读存储介质的示例包括但是不限于,硬盘、cd-rom、光存储装置、磁存储装置、rom(只读存储器)、prom(可编程只读存储器)、eprom(可擦除可编程只读存储器)、eeprom(电子可擦除可编程只读存储器)和闪速存储器。而且,预期普通技术人员,虽然可能进行了例如由可用时间、当前技术和经济考虑驱动的显著努力和许多设计选择,但当由在此公开的思想或者原理引导时,能够以最少的实验来容易地产生这样的软件指令和程序以及ic。
提供本公开的摘要以允许读者迅速地确定本技术公开的特性。可以明白,其不用于解释或者限制权利要求的范围或者含义。另外,在前述具体实施方式中,可以看出,在各个实施例中,将各个特征分组在一起,以使得本公开流畅。这种公开方法不被解释为反映下述意图:所要求保护的实施例需要比在每个权利要求中明确地列举的特征更多的特征。而是,如以下权利要求所反映的那样,本发明的主题在于少于单个所公开的实施例的全部特征。因此,以下权利要求在此被并入具体实施方式中,每个权利要求本身作为独立地要求保护的主题。