启用交互式用户应用的网关的制作方法_4

文档序号:9769974阅读:来源:国知局
单独实体(例如,如图5中所示),或者可以是基站510、网络控制器530、或某种其他实体的一部分。在任何情形中,DHCP服务器540可由期望对等通信的设备520联系到。
[0081]设备520可分散遍及无线网络500,且每个设备520可以是驻定的或移动的。设备520也可被称为节点、用户装备(UE)、站、移动站、终端、接入终端、订户单元等。设备520可以是蜂窝电话、个人数字助理(PDA)、无线调制解调器、无线通信设备、手持式设备、膝上型计算机、无绳电话、无线本地环路(WLL)站、智能电话、上网本、智能本、平板电脑等等。设备520可与无线网络500中的基站510通信并且可进一步与其他设备520进行对等通信。例如,如图5中所示,设备520a和520b可进行对等通信,设备520c和520d可进行对等通信,设备520e和520f可进行对等通信,以及设备520g、520h和520i可进行对等通信,而其余设备520可与基站510通信。如图5中进一步所示的,设备520a、520d、520f和520h也可以与基站500通信,例如在不进行P2P通信时或者可能与P2P通信并发地与基站500通信。
[0082]在本文的描述中,WAN通信可以指无线网络500中的设备520与基站510之间的通信,例如用于与远程实体(诸如另一设备520)的呼叫。WAN设备是有兴趣进行或正参与WAN通信的设备52(ΚΡ2Ρ通信是指两个或更多个设备520之间的直接通信而不经过任何基站510。P2P设备是有兴趣进行或正参与P2P通信的设备520,例如具有要给另一设备520的话务数据的设备520,该另一设备520邻近该P2P设备。例如,如果每个设备520能检测到另一设备520,则两个设备可被认为彼此邻近。一般而言,设备520可针对P2P通信直接与另一设备520通信,或者针对WAN通信经由至少一个基站510与另一设备520通信。
[0083]在一个实施例中,P2P设备520之间的直接通信可被组织成P2P群。更具体地,P2P群一般是指有兴趣进行或正参与P2P通信的两个或更多个设备520的群,而P2P链路是指用于P2P群的通信链路。此外,在一个实施例中,P2P群可包括被指定为P2P群主(或P2P服务器)的一个设备520以及被指定为由该P2P群主服务的P2P客户端的一个或多个设备520 W2P群主可执行某些管理功能,诸如与WAN交换信令,协调P2P群主与P2P客户端之间的数据传输,等等。例如,如图5中所示,第一 P2P群包括在基站51 Oa的覆盖下的设备520a和520b,第二 P2P群包括在基站510b的覆盖下的设备520c和520d,第三P2P群包括在不同基站510b和510c的覆盖下的设备520e和520f,以及第四P2P群包括在基站510c的覆盖下的设备520g、520h和520i。设备520a、520d、520f和520h可以是其相应P2P群的P2P群主,而设备520b、520c、520e、520g和520i可以是其相应P2P群中的P2P客户端。图5中的其他设备520可参与WAN通信。
[0084]在一个实施例中,P2P通信可仅在P2P群内发生,并且可进一步仅在P2P群主和与之相关联的P2P客户端之间发生。例如,如果同一 P2P群内的两个P2P客户端(例如,设备520g和520i)期望交换信息,则这些P2P客户端之一可向P2P群主(例如,设备520h)发送信息并且P2P群主可随后将传输中继至另一P2P客户端。在一个实施例中,特定设备520可属于多个P2P群,并且可在每个P2P群中要么充当P2P群主要么充当P2P客户端。此外,在一个实施例中,特定P2P客户端可属于仅一个P2P群,或者属于多个P2P群并在任何特定时刻与这多个P2P群中的任一个P2P群中的P2P设备520通信。一般而言,可经由下行链路和上行链路上的传输来促成通信。对于WAN通信,下行链路(或即前向链路)是指从基站510至设备520的通信链路,而上行链路(或即反向链路)是指从设备520至基站510的通信链路。对于P2P通信,P2P下行链路是指从P2P群主至P2P客户端的通信链路,而P2P上行链路是指从P2P客户端至P2P群主的通信链路。在某些实施例中,并非使用WAN技术来进行P2P通信,而是两个或更多个设备可形成较小P2P群并使用诸如W1-F1、蓝牙或W1-Fi直连等技术在无线局域网(WLAN)上进行P2P通信。例如,使用W1-F1、蓝牙、W1-Fi直连、或其他WLAN技术的P2P通信可在两个或更多个移动电话、游戏控制台、膝上型计算机、或其他合适的通信实体之间实现P2P通信。
[0085]根据本公开的一个方面,图6解说了示例性环境600,其中可发现P2P服务可被用于建立基于邻近度的分布式总线,各个设备610、630、640可在该总线上通信。例如,在一个实施例中,可使用进程间通信协议(IPC)框架在分布式总线625上促成单个平台上的应用等之间的通信,分布式总线625可包括用于在联网计算环境中实现应用到应用通信的软件总线,其中应用向分布式总线625注册以向其他应用提供服务,并且其他应用向分布式总线625查询关于经注册的应用的信息。此类协议可提供异步通知和远程规程调用(RPC),其中信号消息(例如,通知)可以是点到点的或是广播,方法调用消息(例如,RPC)可以是同步或异步的,并且分布式总线625(例如,“守护进程”总线进程)可处置各种设备610、630、640之间的消息路由。
[0086]在一个实施例中,分布式总线625可得到各种传输协议(例如,蓝牙、TCP/IP、W1-F1、CDMA、GPRS、UMTS)的支持。例如,根据一个方面,第一设备610可包括分布式总线节点612以及一个或多个本地端点614,其中分布式总线节点612可促成与第一设备610相关联的本地端点614和与第二设备630及第三设备640相关联的本地端点634和644之间通过分布式总线625(例如,经由第二设备630和第三设备640上的分布式总线节点632和642)的通信。如以下将参照图7进一步详细描述的,分布式总线625可支持对称多设备网络拓扑并且可在存在设备退出的情况下提供稳健的操作。如此,虚拟分布式总线625(其一般可独立于任何底层传输协议(例如,蓝牙、TCP/IP、W1-Fi等))可允许各种安全性选项,从不安全(例如,开放)到安全(例如,经认证和加密),其中可在第一设备610、第二设备630和第三设备640来到彼此的射程或邻域中时在无需干预的情况下促成各个设备610、630、640之间的自发连接时使用安全性选项。
[0087]根据本公开的一个方面,图7解说了示例性消息序列700,其中可发现P2P服务可被用于建立基于邻近度的分布式总线,第一设备(“设备A”)710和第二设备(“设备B”)730可在该总线上通信。一般而言,设备A 710可请求与设备B 730通信,其中设备A 710可包括可作出通信请求的本地端点714(例如,本地应用、服务等)以及可辅助促成此类通信的总线节点712。此外,设备B 730可包括本地端点734和总线节点732,本地端点714可尝试与本地端点734通信,总线节点732可辅助促成设备A 710上的本地端点714与设备B 730上的本地端点734之间的通信。
[0088]在一个实施例中,总线节点712和732可在消息序列步骤754执行合适的发现机制。例如,可使用由蓝牙、TCP/IP、UNIX等支持的用于发现连接的机制。在消息序列步骤756,设备A 710上的本地端点714可请求连接至通过总线节点712可用的实体、服务、端点等。在一个实施例中,该请求可包括本地端点714与总线节点712之间的请求-响应过程。在消息序列步骤758,可形成分布式消息总线以将总线节点712连接至总线节点732并由此建立设备A710与设备B 730之间的P2P连接。在一个实施例中,用于在总线节点712和732之间形成分布式总线的通信可使用合适的基于邻近度的P2P协议(例如,被设计成实现来自不同制造商的连通的产品和软件应用之间的互操作性以动态地创建邻近网络并促成邻近P2P通信的Alljoyn?软件框架)来促成。替换地,在一个实施例中,服务器(未示出)可促成总线节点712和732之间的连接。此外,在一个实施例中,在形成总线节点712和732之间的连接之前可使用合适的认证机制(例如,SASL认证,其中客户端可发送认证命令以发起认证对话)ο再进一步,在消息序列步骤758期间,总线节点712和732可交换关于其他可用端点(例如,图6中的设备C 640上的本地端点644)的信息。在此类实施例中,总线节点维护的每个本地端点可被宣告给其他总线节点,其中该宣告可包括唯一性端点名称、传输类型、连接参数、或其他合适的信息。
[0089]在一个实施例中,在消息序列步骤760,总线节点712和总线节点732可分别使用所获得的与本地端点734和714相关联的信息来创建虚拟端点,虚拟端点可表示通过各个总线节点可用的真实获得的端点。在一个实施例中,总线节点712上的消息路由可使用真实端点和虚拟端点来递送消息。此外,对于远程设备(例如,设备A 710)上存在的每个端点,可以有一个本地虚拟端点。再进一步,此类虚拟端点可复用和/或分用在分布式总线(例如,总线节点712与总线节点732之间的连接)上发送的消息。在一个方面,虚拟端点可以就像真实端点那样接收来自本地总线节点712或732的消息,并且可在分布式总线上转发消息。如此,虚拟端点可从端点复用的分布式总线连接将消息转发到本地总线节点712和732。此外,在一个实施例中,与远程设备上的虚拟端点相对应的虚拟端点可在任何时间被重新连接以容适特定传输类型的期望拓扑。在此类方面,基于UNIX的虚拟端点可被认为是本地的,且由此可不被认为是用于重新连接的候选。此外,基于TCP的虚拟端点可被优化用于一跳路由(例如,每个总线节点712和732可彼此直接连接)。再进一步,基于蓝牙的虚拟端点可被优化用于单个微微网(例如,一个主设备和η个从设备),其中基于蓝牙的主设备可以是与本地主节点相同的总线节点。
[0090]在消息序列步骤762,总线节点712和总线节点732可交换总线状态信息以合并总线实例并实现分布式总线上的通信。例如,在一个实施例中,总线状态信息可包括公知名称到唯一性端点名称的映射、匹配规则、路由群、或其他合适的信息。在一个实施例中,可使用接口在总线节点712和总线节点732实例之间传达状态信息,其中本地端点714和734使用基于分布式总线的本地名称来通信。在另一方面,总线节点712和总线节点732可各自维护负责向分布式总线提供反馈的本地总线控制器,其中总线控制器可将全局方法、自变量、信号和其他信息转译成与分布式总线相关联的标准。在消息序列步骤764,总线节点712和总线节点732可传达(例如,广播)信号以向相应的本地端点714和734通知在总线节点连接期间引入的任何改变,诸如以上所述的。在一个实施例中,可用名称所有者改变信号来指示新的和/或被移除的全局和/或经转译名称。此外,可用名称丢失信号来指示可能在本地丢失(例如,由于名称冲突)的全局名称。再进一步,可用名称所有者改变信号来指示由于名称冲突而被转译的全局名称,并且可用名称所有者改变信号来指示在总线节点712和总线节点732变为断开连接的情况下/之时消失的唯一性名称。
[0091]如以上使用的,公知名称可被用于唯一性地描述本地端点714和734。在一个实施例中,当在设备A 710与设备B 730之间发生通信时,可使用不同的公知名称类型。例如,设备本地名称可仅存在于与总线节点712直接附连至的设备A 710相关联的总线节点712上。在另一示例中,全局名称可存在于所有已知的总线节点712和732上,其中该名称的唯一所有者可存在于所有总线段上。换言之,当总线节点712和总线节点732加入并且发生任何冲突时,所有者之一可能丢失全局名称。在又一示例中,在客户端连接至与虚拟总线相关联的其他总线节点时,可使用经转译名称。在此类方面,经转译名称可包括附加结尾(例如,连接至具有全局唯一性标识符“1234”的分布式总线的具有公知名称“org.foo”的本地端点714可被视为“G1234.0rg.foo” )。
[0092]在消息序列步骤766,总线节点712和总线节点732可传达(例如,广播)信号以向其他总线节点通知对端点总线拓扑的改变。此后,来自本地端点714的话务可移动通过虚拟端点到达设备B 730上的目标本地端点734。此外,在操作中,本地端点714与本地端点734之间的通信可使用路由群。在一个方面,路由群可使得端点能接收来自端点子集的信号、方法调用、或其他合适的信息。如此,路由名称可由连接至总线节点712或732的应用来确定。例如,P2P应用可使用构建到该应用中的唯一性的、公知的路由群名称。此外,总线节点712和732可支持本地端点714和734向路由群的注册和/或注销。在一个实施例中,路由群可不具有超出当前总线实例的持久性。在另一方面,应用可在每次连接至分布式总线时针对其优选路由群进行注册。再进一步,群可以是开放的(例如,任何端点都可以加入)或封闭的(例如,只有群创建者能修改该群)。此外,总线节点712或732可发送信号以向其他远程总线节点通知对路由群端点的添加、移除、或其他改变。在此类实施例中,总线节点712或732可每当向/从群添加和/或移除成员时就向其他群成员发送路由群改变信号。此外,总线节点712或732可向与分布式总线断开连接的端点发送路由群改变信号,而不是先将它们从路由群移除。
[0093]1T是重要的行业趋势。然而,现有和初期的1T解决方案不是统一的,且不共享公共接口或协议。存在可能需要互连的众多1T设备和格式。例如,用户可能希望将汽车无线电与智能手机和音频播放器连接。除了
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1