Zigbee/ip网关的制作方法

文档序号:7931187阅读:180来源:国知局
专利名称:Zigbee/ip网关的制作方法
技术领域
本发明总的涉及个人域网络(PAN)领域,更具体地,涉及用于连接个人域网络到基于IP的网络的方法。
背景技术
Zigbee是用于低 功率、低数据速率和低成本应用的无线连网标准。Zigbee很适合于自动化、控制、监视和传感应用,在其中数据从电池供电的设备以低速率偶尔地被传输。 Zigbee协议以电气与电子工程师协会(IEEE)802. 15. 4标准为基础。这个IEEE标准定义了用于具有有限的功率、CPU和存储器资源的小设备的短距离、低功率、低数据速率无线接口。Zigbee是一种具有广泛工业支持的开放标准。因为是开放的标准,所以由不同的制造商制造的Zigbee设备将能互操作。Zigbee协议允许ad hoc连网,使得设备可以被容易地添加和从现有的网络去除。由于这些原因,预期Zigbee技术会作为用于机器到机器 (M2M)应用的领先技术之一出现。为了实现Zigbee技术的全部潜力,将必须使得处在个人域网络中的Zigbee设备能够与被连接到IP网络的其它设备通信。发明内容本发明涉及在诸如Zigbee个人域网络的各种各样网络和IP网络之间的通信。网关包括用于连接到IP网络的第一接口设备、用于连接到Zigbee网络的第二接口设备、以及网关控制器。网关控制器在IP网络与Zigbee网络之间路由消息。在一个示例性实施例中,网关控制器把IP接口设备上的端口分配给Zigbee网络中的客户机。网关控制器维护路由表,该路由表把分派的端口与它们的对应的Zigbee客户机相关联。路由表例如可包括用于Zigbee客户机的网络地址和对应的端口。当消息从IP 网络到达网关时,该消息所到达的端口被使用来查找对应的Zigbee客户机的网络地址。相反,来自Zigbee客户机的消息根据始发的Zigbee客户机的网络地址被输出到对应的端口。在某些实施例中,网关可以结合网关代理一起运行,该网关代理把端口分派给 Zigbee客户机并维护路由表。在另一个实施例中,网关控制器包括节点管理器,其可以响应于来自IP客户机的请求而创建Zigbee代理。Zigbee代理为请求的IP客户机提供在Zigbee网络上的存在 (presence)。对于Zigbee客户机而言,Zigbee代理看起来就好像是任何其它的Zigbee应用。Zigbee代理可以由IP客户机进行远程配置和控制。附图简述说明

图1显示包括IP网络和Zigbee个人域网络的示例性通信网。图2显示在Zigbee个人域网络与IP网络之间的示例性网关。图3显示标准Zigbee协议堆栈。图4显示在Zigbee个人域网络与IP网络之间的网关的示例性实现。图5显示用于与示例性网关通信的消息格式。图6显示由网关使用的示例性路由表。
图7显示用于建立网关的过程。图7A显示用于把消息从IP客户机发送到网关的过程。图8显示在Zigbee个人域网络与IP网络之间的网关的示例性实现。

图9显示在Zigbee个人域网络与IP网络之间的网关的示例性实现。图10显示包括IP网络和Zigbee个人域网络的示例性通信网。图11显示包括IP网络和Zigbee个人域网络的示例性通信网。图12显示用于把IMS消息转换成Zigbee消息的过程。图13显示包括IP网络和Zigbee个人域网络的示例性通信网。图14显示在Zigbee个人域网络与IP网络之间的网关的示例性实现。图15显示用于在网关上创建Zigbee代理的过程。图16显示包括IP网络和Zigbee个人域网络的示例性通信网。图17显示用于在网关上创建Zigbee代理的过程。图18显示用于串行通信的消息格式。
具体实施方式
现在参照附图,图1上示出按照本发明的通信网10的一个示例性实施例。通信网10包括IP网络20和Zigbee网络30,IP网络20附连有IP客户机22,Zigbee 网络30具有一个或多个Zigbee客户机32。Zigbee标准规定了用于个人域网络(PAN)的协议,且它很适合于传感、自动化和控制应用。然而,本发明可被使用于其它类型的PAN,而不限于Zigbee网络。网关100连接Zigbee网络30与IP网络20,并允许位于IP网络20 中的IP客户机22与Zigbee网络30中的Zigbee客户机32通信。Zigbee客户机32可被使用来控制诸如灯、传感器等那样的设备。图2显示示例性网关100。网关100包括用于与IP网络20接口的IP接口设备 102、用于与Zigbee网络30接口的Zigbee接口设备104、以及网关控制器106。IP接口设备102例如可包括以太网适配器、IEEE 802. 11. χ无线接口适配器或蜂窝收发信机。Zigbee 接口设备包括IEEE 802. 15. 4无线接口适配器。网关控制器106包括用来控制IP接口设备102的IP控制器106Α,和用来控制Zigbee接口设备104的Zigbee控制器106Β。网关控制器106可以被实施为在一个或多个可编程处理器上的软件,其中所述处理器具有内部或外部的相关联的存储器,用于存储运行所需要的数据和应用。Zigbee标准以电气与电子工程师协会(ΙΕΕΕ)802. 15. 4标准为基础,这个IEEE标准定义了用于具有有限功率、CPU和存储器资源的小设备的短距离、低功率、低数据速率无线接口。Zigbee标准包括一组网络与应用级别的协议,以使能在Zigbee客户机32之间连网。Zigbee客户机32包括在Zigbee网络30内的节点。有三种类型的节点协调器、路由器和终端设备。这些不同的节点可以以星形拓扑、树形拓扑、或网状拓扑进行互连。不管网络拓扑如何,每个Zigbee网络30包括一个(且仅仅一个)协调器。协调器负责设立和管理其它节点可以加入的Zigbee网络30。在某些实施例中,协调器还可以维护用于在Zigbee 网络30的不同节点之间路由消息的绑定表。使用树形或网状拓扑的Zigbee网络30需要至少一个路由器的存在。路由器把消息从Zigbee网络30中的一个节点中继到另一个节点,并允许孩子节点连接到它。路由器充当用于加入Zigbee网络30的终端设备的本地协调器。终端设备典型地宿有(host) — 个或多个应用,以便执行规定的任务。例如,终端设备可以具有用来收集和报告数据、以及用来控制家庭设备(诸如家中的灯)的应用。在Zigbee网络30内,每个节点由独特的地址来标识。Zigbee网络30利用两种寻址方案。每个节点具有一个长地址和一个短地址。长地址——也称为IEEE地址或MAC地址一一是由IEEE分配的、独特地标识节点的64比特地址。短地址——也称为网络地址—— 是向网络协调器标识Zigbee网络30的节点的16比特地址。网络地址是在节点加入Zigbee 网络30时由协调器或路由器分配的。节点可以宿有一个或多个用户应用。例如,在网络30中可以有一个用来监视温度和湿度的应用。这样的应用被称为在节点上的端点(endpoint)。这些应用可以发送和接收消息到Zigbee网络30的里面或 外面的其它应用。为了把到达节点的消息引导到适当的应用,每个端点由端点地址标识。端点地址类似于IP地址中的端口。客户机32可以具有多达240个应用或端点,从1-240编号。端点255是广播端点地址。被寻址到端点255的消息将被递送到节点上的所有应用。应用被建模为应用对象。应用简档定义在相关的或互补的应用对象之间的交互。 应用简档可以是公共的或私用的。公共应用简档使来自不同厂商的设备能互操作。私用的应用简档是私有的。Zigbee联盟提供多个公共简档。一个这样的公共简档是家庭控制照明简档,它关注于在家庭环境下传感和控制光级。该简档定义了多个设备,包括单色的光传感器、开关遥控器、开关负载控制器以及调光器遥控器。应用对象通过对象属性和群集(cluster)而互相通信。对象属性是在应用对象之间传送的数据项。每个属性具有它自己的独特的识别符。Zigbee标准定义了用于对象属性的一组数据类型。属性的编组包括群集,它也具有它自己的独特的识别符。群集内的属性可以是强制的或可选的。每个群集可包含多达216个属性。输入群集由可被其它应用对象发送的属性组成。例如,用于监视传感器的应用对象可以具有被称为“报告时间”的属性, 它控制在传感器读取之间的时间间隔。输出群集包括把数据提供到其它应用对象的属性。 具有互补的输入和输出群集的应用对象可以互相通信。应用对象可以通过被称为绑定的进程而发起通信。绑定创建在应用对象之间的逻辑链接。绑定机制把生成信息的应用与可以使用该信息的应用关联起来。信息作为群集被交换。为了让两个应用对象绑定,它们必须具有互补的输入和输出群集。当两个应用对象绑定时,一个应用对象的输出群集与另一个应用对象的输入群集相连接。两个应用对象之间的绑定由以下项来规定生成群集的应用对象(源)的网络地址和端点,消费该群集的应用对象(目的地)的网络地址和端点,以及用于在它们之间发送的群集的群集ID。被绑定的应用对象可以通过使用MSG和KVP消息服务来发送和接收消息。取决于绑定信息被存储到的地方,从源到目的地的群集信息的传输是直接的或是间接的。对于直接寻址,发送信息的节点确定目的地应用对象所处的节点的网络地址,并把目的地地址插入到消息中。如果在不同的节点处的多个应用对象接收消息,则消息被复制, 并把拷贝发送到至少一个目的地应用对象驻留的每个节点。对于间接寻址,输出群集被发送到协调器,它维护绑定表。协调器根据发送节点的源地址和群集ID来确定目的地节点。 协调器找出在它的绑定表中的、包含源群集和应用地址的所有的条目,并为每个接收节点生成消息。对于每个消息,协调器把来自绑定表的目的地地址插入到消息中。Zigbee标准包括发现机制,它使得在网络中的Zigbee客户机32能够发现其它客户机32的地址和能力。设备发现使得Zigbee客户机32能够询问网络30,以便发现网络上其它客户机的网络地址。服务发现允许Zigbee客户机32请求关于另一个Zigbee客户机32的能力的信息。服务信息作为描述符被存储,它可包括这样的信息,诸如Zigbee客户机32的设备类型和能力、以及在Zigbee客户机32上运行的应用的类型。在Zigbee客户机32中存储有三种强制描述符和两种可选的描述符。强制描述符是节点、节点电力(node power)和简单描述符。可选的描述符被称为复杂和用户描述符。对于每个Zigbee客户机 32,只有一个节点和节点电力描述符。对于被附连到端点的每个应用,有简单描述符、以及可能有复杂描述符和/或用户描述符。节点描述符描述Zigbee客户机32的类型(S卩,协调器、路由器或终端设备)和能力。Zigbee客户机32或节点的能力是诸如所使用的频段和最大缓冲器尺寸之类的特性。 电力描述符包含有关如何给客户机32供电的信息。这样的信息可包括供电模式(即,设备在所有的时间都接通还是周期性地唤醒)、可用的电源、当前使用的电源、和当前的电源电平。简单描述符包含关于被附连到Zigbee客户机32的端点的应用的信息。这个信息包括应用所处在的端点地址、应用实现的应用简档、和所支持的输入与输出群集的列表。简单描述符还指示是否有对应的复杂和用户描述符。图3显示在电气与电子工程师协会(IEEE) 802. 15. 4无线电通信标准之上构建的 Zigbee协议堆栈。该IEEE标准规定了用于通过无线电信道通信的短距离无线电接口。该 IEEE标准包括对于协议堆栈的物理层和媒体访问控制(MAC)层的技术规范。Zigbee标准定义了用来支持用户应用的一组网络层和应用层协议(在这里统称为Zigbee堆栈或Zigbee 协议)。网络层定义了用于加入和离开网络、以及用于发送消息到适当的目的地的机制。网络层还提供用于设备和服务发现的机制。这些机制允许Zigbee节点发现网络中的其它节点和这样的节点的能力。网络层还管理Zigbee网络的形成,并把地址分派给加入网络的设备。应用层包括应用框架(AF)、应用支持子层(APS)、以及Zigbee设备对象。应用框架提供在应用与APS之间的接口。APS实施了绑定机制,以便创建在应用对象之间的逻辑关联性。当消息到达Zigbee客户机32时,APS负责把消息递送到适当的应用。Zigbee设备对象(ZDO)代表设备的Zigbee节点类型(例如,协调器、路由器或终端设备)。Zigbee设备对象还发起在Zigbee网络30上的设备和服务发现。Zigbee协议允许在相同Zigbee网络30内的两个或多个Zigbee客户机32互相通信。然而,Zigbee协议不提供使Zigbee客户机32能与IP网络20中的IP客户机22进行通信的机制。本发明提供一种用来促进这样的通信的网关功能。图4显示按照本发明的一个实施例的示例性网关100。网关100包括Zigbee堆栈和TCP/IP堆栈两者。该Zigbee堆栈是在IEEE 802. 15. 4接口之上实施的传统Zigbee堆栈。该TCP/IP堆栈还使得网关100也能够与IP网络20中的IP客户机22进行通信。因为网关100实施Zigbee堆栈,所以网关100可以加入Zigbee网络30,并与其它Zigbee客户机32通信。对于Zigbee客户机32而言,网关100看起来就好像是任何其它Zigbee客户机32,并且它按照Zigbee标准起作用。驻留在Zigbee客户机32上、并与网关控制器106 共享相同简档ID的应用可以通过使用标准Zigbee消息与网关100通信。

驻留在Zigbee客户机32上的应用可以使用标准MSG或KVP消息来与网关100通信。对于在Zigbee客户机32与网关100之间的通信,一个CID(例如,CID=I)被使用于数据消息(正被发送或接收的数据)。另一个CID(例如,CID=2)被使用于控制消息。当Zigbee 客户机32想要发送数据时,它用被设置为等于“ 1 ”的CID发送MSG或KVP消息到网关100。 数据字段包含要被传输的数据。同样地,网关100使用CID=I来把数据从IP客户机22转发到Zigbee客户机32。Zigbee客户机和网关可以使用CID=2来发送控制消息。替换地, 应用层消息可被封装成标准Zigbee消息,如图5所示。应用层消息的消息格式包括消息类型字段、一个或多个消息参数字段、以及数据字段。消息类型字段表示消息的类型。消息参数字段提供该消息类型所需要的参数。数据字段包含消息数据。网关100负责保持与IP网络20的连接,并负责在Zigbee客户机32与IP网络20 中的IP客户机22之间传送消息。网关100保持在IP网络20中的IP客户机22与Zigbee 网络30中的Zigbee客户机32之间的逻辑关系。这些逻辑关系可被保持在例如路由表110 中,该路由表110被存储在网关100的存储器中。网关100给每个Zigbee客户机32分派一个 在网关IP地址处的独特的IP端口。对于每个Zigbee客户机32,路由表110存储MAC 地址或短地址以及对应的端口号。当消息到达网关100时,网关100使用路由表110来确定转发消息到何处。从IP网络20到达特定端口的数据被发送到由被存储在路由表110中的对应的MAC地址或短地址所标识的Zigbee客户机32。同样地,当消息从Zigbee网络30 中的Zigbee客户机32到达网关100时,网关100确定始发节点的MAC地址或短地址,以及把数据输出到在路由表110中被标识的对应的端口。图6显示路由表110的示例性实现。路由表110包括五个字段存在、状态、客户机ID、端口和类型。客户机ID字段标识在Zigbee网络30中的特定的Zigbee客户机32。 这个字段例如可包含Zigbee客户机32的MAC地址或短地址。端口字段包含用于被分配给 Zigbee客户机32的端口的端口号。类型字段指示Zigbee客户机32的设备类型。设备类型指示由Zigbee客户机32控制的设备的类型。例如,Zigbee客户机32可以控制多个设备,并因而可以具有一个以上的设备类型。在这种情形下,Zigbee客户机32可以在路由表 110中具有一个以上的条目。IP客户机22可以发送询问到网关100,以便获得具有规定的设备类型和对应的端口号的Zigbee客户机32的列表。客户机ID、端口和类型字段通常是持久的,且是在网关100被建立时预备的(provisioned)。存在和状态字段包含关于Zigbee客户机32的状态信息。存在字段指示节点是否被网关100检测到。当节点被检测到时,这个字段可被设置为TRUE(真),否则被设置为 FALSE(假)。状态字段指示端口的当前的状态。当IP客户机22被连接到端口时,状态是 “连接的”,否则是“断开连接的”。图7中示出了用于设立网关100的示例性过程。首先,网关100或者建立或者加入 Zigbee网络30 (方块150)。网关100可以用作为Zigbee协调器或Zigbee路由器。在建立或加入Zigbee网络30后,网关100发起设备与服务发现过程(方块152)。网关100可以提供到Zigbee网络30代表的所有设备和能力的完全接入,或者可以提供到那些设备和能力的有限组的接入。用于设备与服务发现的过程由Zigbee协议规定。在设备与服务发现的过程后,网关100把端口分派给每个Zigbee客户机32 (方块154),并构建路由表110 (方块156)。一旦网关100是工作的,网关100就可以向Zigbee网络30周期性地查询新的设备32和服务,并更新路由表110。从网络除去(drop)的设备32可以被删除。
一旦网关100运行,IP客户机22就可以建立与Zigbee客户机32的连接。另外, Zigbee客户机32可以发起与IP客户机22的连接。图7A显示由IP客户机22实施的、用于连接到Zigbee网络30中的Zigbee客户机 32的示例性过程。在本例中,假设IP客户机22没有关于处在Zigbee网络30中的Zigbee 客户机32的先验知识。然而,应意识到,IP客户机22可以通过在前的预备或在前的通信而具有关于Zigbee客户机32的先验知识。IP客户机22向网关100询问匹配于规定的设备类型的Zigbee客户机32的列表(方块160)。例如,用于控制家庭照明的IP客户机22 可以向网关100询问控制灯的Zigbee客户机32 (例如,设备类型=LIGHT (灯))。网关100 对该询问发送一个答复,其包含兼容的设备的列表。该答复还可包括关于灯的类型和位置的信息。在接收到答复(方块162)后,IP客户机22可以打开到与控制灯的Zigbee客户机32相关联的一个或多个端口的连接(方块164)。当在网关100处接收到连接请求时,网关100更新路由表110,以把对应的端口的状态从“断开连接的”改变成“连接的”。IP客户机22然后可以发送消息到Zigbee客户机32 (方块166)。当在具有“连接的”状态的端口接收到消息或数据时,网关100把该消息或数据转发到由被存储在路由表110中的MAC地址或短地址所标识的对应的客户机32。一旦在IP客户机22与Zigbee客户机32之间建立连接,则Zigbee客户机32也可以把消息和数据发回到IP客户机22。从Zigbee客户机 32的观点看来,网关100是消息和数据的始发者或目的地。Zigbee客户机32也可以发送消息到Zigbee网关100。当网关100接收到来自Zigbee客户机32的消息时,所述消息被输出到对应于该Zigbee客户机32的源地址的端口——如果该端口处在连接的状态的话。 如果该端口不是处在连接的状态,则把NAK发送到始发的Zigbee客户机32,以表明该端口不是活动的。图8显示网关100的替换实施例,其中Zigbee堆栈和TCP堆栈被实施在不同的处理器中。在这个实施例中,IP接口设备102和Zigbee接口设备104各自包括分开的处理器。IP接口控制器106A驻留于IP接口设备102中,而Zigbee控制器106B驻留于Zigbee 接口设备104中。Zigbee堆栈在Zigbee接口设备104终止(terminate),而TCP堆栈在IP 接口设备102终止。IP和Zigbee接口设备102、104通过串行总线被连接,以使能在IP控制器106A与Zigbee控制器106B之间进行通信。如前所述的路由表110由IP控制器106A 维护。简单的串行通信协议被使用来在IP控制器106A与Zigbee控制器106B之间传送数据。图18中示出了用于在IP控制器106A与Zigbee控制器106B之间传送消息的示例性消息格式。该消息格式包括消息类型字段、一个或多个消息参数字段、以及数据字段。消息类型字段指示消息的类型。消息参数字段提供该消息类型所需要的参数。数据字段包含消息数据。示例性消息类型包括SEND (发送)、C0NNECT/DISC0NNECT (连接/断开连接)、ACK/ NACK。SEND消息在IP控制器106A与Zigbee控制器106B之间发送,用来传送消息数据。 CONNECT/DISCONNECT消息从Zigbee控制器106B发送到IP控制器106A,用来打开或终止到指定的IP客户机22的连接。ACK/NACK消息被使用来应答SEND或CONNECT/DISCONNECT 消息。还可以定义其它消息。消息参数将取决于消息类型而变化。例如,用于SEND消息的消息参数字段可包括地址(ADDRESS)单元和数据类型(DATA TYPE)单元。地址单元可包含始发或终止的Zigbee 客户机32的MAC地址。对于从Zigbee网络30去往IP网络20的传输,这个字段将包括始发的Zigbee客户机32的MAC地址或短地址。正如下面描述的,网关100可以使用这个地址来确定数据被输出到的适当的端口。对于从IP网络20到Zigbee网络30的通信,地址单元可包括终止的Zigbee客户机32的MAC地址或短地址。数据类型单元可被使用来指示正被发送的数据的类型,例如,文本、音频、视频、二进制等等。图9显示使能Zigbee/IP客户机24存在于IP网络20内的网关。Zigbee/IP客户机24是在IP堆栈上实施Zigbee堆栈的设备。Zigbee/IP客户机24可以通过使用标准 Zigbee协议而与Zigbee网络30中的Zigbee客户机32通信。与图4所示的实施例对比, 网关100并不终止Zigbee堆栈。而是,网关100把由Zigbee客户机32发起的Zigbee消息(包括Zigb ee头标)封装到IP分组内,以便通过IP网络20输送到Zigbee/IP客户机 24。Zigbee/IP客户机24包括在Zigbee堆栈与TCP/IP层之间的适配层(ADL),用于对接收的IP分组中的被封装Zigbee消息解封装。在相反的方向上,ADL封装Zigbee消息,而网关100对该Zigbee消息解封装。因为Zigbee堆栈由Zigbee/IP客户机24实施,所以一旦 Zigbee/IP客户机24建立与网关100的连接并加入Zigbee网络30,则对于Zigbee网络30 而言,Zigbee/IP客户机24看起来就象是任何其它的Zigbee客户机32 —样。当Zigbee/ IP客户机24加入Zigbee网络30时,网关100把Zigbee/IP客户机24加到路由表110,并把端口分派给Zigbee/IP客户机24,就象对于任何其它的Zigbee客户机32 —样。Zigbee 网络30中的Zigbee客户机32将能够辨认出Zigbee/IP客户机24,并与Zigbee/IP客户机 24通信,就象对于任何其它的Zigbee客户机32 —样。Zigbee/IP客户机24也将是通过使用标准Zigbee发现方法可发现的。对于图9所示的实施例,为标准Zigbee客户机32编写的应用也可以被Zigbee/IP客户机24使用。网关100可被使用来促进在标准Zigbee客户机32与驻留在IP网络20中的IP多媒体子系统(IMS)客户机40之间的通信。IMS客户机40是驻留在被连接到IP网络20的主计算机上的软件应用。IMS客户机40实施会话发起协议(SIP)。驻留在Zigbee客户机 32上的IMS感知的(IMS aware)应用可以生成IMS和/或SIIP消息,并使用Zigbee协议来把被封装在标准Zigbee消息内的IMS和/或SIP消息发送到网关100。在这种情形下, 网关100可以把封装的IMS和/或SIP消息简单地转发到最终的目的地。然而,IMS和SIP 消息通常较大,以及在网关100与IP网络之间的连接可能是昂贵的和/或不能实现的。所以,可能不希望通过在网关100与IP网络20之间的接口发送IMS和SIP消息。在图10所示的实施例中,驻留在Zigbee客户机32上的IMS感知的应用与被连接到IP网络20的IMS用户代理服务器42通信。驻留在网关100上的用户代理客户机(UAC) 44 被使用来与UAS 42通信。对于具有到UAS 42的连接的每个Zigbee客户机32实例化了分开的UAC 44。驻留在Zigbee客户机32上的IMS感知的应用可以远程控制IMS客户机40, 并参与IMS事务处理。2005年4月26日提交的、标题为“Media Client Architecture for Networked Communication Devices”的美国专利申请序列号No. 11/114,427描述了一种具有用于和应用进行远程通信的高级别应用接口的用户代理,它可以用作为本发明中的用户代理服务器42。该专利申请在此引入以供参考。通过使IMS客户机40定位于IP网络20 中,将需要较少的消息穿越网关100。而且,在驻留于Zigbee客户机32上的应用与IMS客户机40之间发送的消息可以以二进制形式而不是作为文本被发送,这样大大地减小了消息的尺寸。因此,通过网关100传输的数据可被显著地减少。可以有其中希望IMS客户机40与缺少IMS感知的工业标准Zigbee应用进行通信的情况。可以通过使用消息翻译器50来促进这样的通信,正如图11所示的。消息翻译器 50用作为SIP代理服务器,它也提供消息翻译服务。虽然消息翻译器50在图11上被示为连接到IP网络20,但本领域技术人员将会意识到,消息翻译功能可以由位于网关100的消息翻译器50来实施。举个例子,假设IMS客户机40想 要从按照家庭控制照明简档运行的一个或多个 Zigbee光传感器收集信息,假定光传感器已被分派给SIP用户名称,以及该SIP用户名称已经向SIP登记者登记。图12显示由消息翻译器50实施的示例性过程。消息翻译器50接收来自IMS客户机40的SUBSCRIBE (预订)消息(步骤170)。该SUBSCRIBE消息包括用于 Zigbee网络30中的光传感器的SIP URI。在接收到该消息后,消息翻译器50通过使用由 IMS客户机40提供的SIP用户名称而以传统的方式从SIP登记者处获得网关100的IP地址和端口(步骤172)。消息翻译器50然后把该消息转换成标准Zigbee消息(步骤174), 把消息封装到一个或多个IP分组中(步骤176),并把IP分组转发到网关100 (步骤178)。 网关100从IP分组提取封装的Zigbee消息,并如前所述地把封装的Zigbee消息转发到控制光传感器的Zigbee客户机32。图13显示一个实施例,其使用被连接到IP网络20的网关代理120与IP客户机 22通信。在网关100与IP网络20之间的链路是昂贵的和/或不可靠的、因而保持与网关 100的持续连接是不合需要或不切实际的场合下,网关代理120可以是有用的。虽然网关代理120在物理上是与网关100分开的,但在逻辑上可以认为它是网关100的一部分。在本实施例中,保持与IP客户机22的连接的任务从网关100移到网关代理120。复用的通信链路连接网关100与网关代理120。网关代理120也可以用作为消息翻译器50,用来在 Zigbee与IMS消息格式之间进行翻译。网关代理120可被实施为驻留在被连接到IP网络 20的服务器上的软件应用。在网关100处的IP控制器106A的主要功能是与网关代理120相连接和在Zigbee 客户机32与网关代理120之间转发消息。网关代理120把端口分派给Zigbee客户机32 并维护路由表110,正如先前所描述的。想要与Zigbee客户机32通信的IP客户机22连接到网关代理120。如图13所示的网关代理120的使用允许在具有小存储器的低功率无线设备中实施网关100。网关代理120可以具有更大的存储器和更大的功率。网关代理120可以缓冲数据,并保持与IP客户机22的链路,即使是在与网关100的链路中断时。同样地, 网关100可以在与网关代理120的链路中断时缓冲数据。图14显示一个实施例,其允许通过使用Zigbee代理108在Zigbee客户机32与 IP客户机22之间进行通信。Zigbee代理108包括由标准Zigbee应用简档定义的、驻留在网关100上的Zigbee应用。Zigbee代理108可以由IP客户机22远程地配置,并可以加入Zigbee网络30,以便在IP客户机22的引导和控制下执行任务。Zigbee代理108的使用使得IP客户机22能够与缺乏IP网络20感知的工业标准Zigbee应用交互作用。作为一个例子,假设IP客户机22想要监视在Zigbee网络30中的光传感器。IP客户机22可以连接到网关100,并请求创建Zigbee代理108来监视光传感器。在本例中,网关100将创建具有简档ID和群集ID的Zigbee代理108,其使能与光传感器绑定。Zigbee 代理108可以从标准Zigbee光传感器接收光传感器读数,并把那些读数转发到IP客户机 22。Zigbee光传感器不需要任何特别的能力。为了实施Zigbee代理108,Zigbee控制器106B包括节点管理器112以实例化 (instantiate)Zigbee代理108。节点管理器112可被分派以在网关100上的专用端口,以便直接与IP客户机22进行通信。每个Zigbee代理108被分派以存储在路由表110中的独特的端口。IP客户机22可以把请求发送到节点管理器112以创建Zigbee代理108。当 Zigbee代理108由节点管理器112实例化时,Zigbee代理108请求IP控制器106A分派一个端口给Zigbee代理108,并把一个条目添加到路由表110,将Zigbee代理108与对应的端口相关联。IP控制器106A把分派的端口返还到节点管理器112,后者通知IP客户机22。 替换地,IP控制器106A可以在分派端口后把消息直接发送到IP客户机22。一旦Zigbee代理108被实例化以及端口被分派,IP客户机22就可以使用指定的端口直接与Zigbee代理 108通信。网关100操控在Zigbee代理108与IP客户机22之间的通信,就象对于Zigbee 客户机32 —样。图15显示用于在网关100上建立Zigbee代理108的示例性过程。IP客户机22 把要创建Zigbee代理108的请求发送到节点管理器112 (步骤a)。该请求包括定义要被创建的代理108的类型的参数。例如,该请求可包括对应于标准Zigbee应用简档的标准简档 ID和/或群集ID。该请求还可规定Zigbee代理108应当被与其绑定的、在Zigbee网络30 中的其它Zigbee应用。响应于该请求,节点管理器112按该请求所规定的去实例化Zigbee 代理108,并发起Zigbee代理108与在Zigbee网络30中的一个或多个其它Zigbee应用的绑定(步骤b)。节点管理器112还把关于端口分派的请求发送到IP控制器106A (步骤 c)。IP控制器106A分派一个端口给新创建的Zigbee代理108,并把分派的端口返还到节点管理器112 (步骤d)。节点管理器112回应IP客户机22,确认Zigbee代理108的创建和向IP客户机22提供分派给Zigbee代理108的端口(步骤e)。IP客户机22和Zigbee 代理108然后可以通过使用IP控制器106A的服务进行通信(步骤f)。图16显示一个实施例,其组合了来自先前的实施例的元素。这个实施例包括如图 13所示的网关100、代理120、以及用户代理服务器(UAS) 42。在本实施例中,代理120包括一个或多个IMS用户代理客户机44,它们被使用来代表IMS感知的Zigbee客户机32建立与UAS 42的连接。为每个IMS感知的Zigbee客户机32创建一个分开的IMS用户客户机(UAC) 44。代理120也具有UAC 44。网关100包括节点管理器112,用于实例化Zigbee 代理108,如先前所描述的。如果任一端不能接收数据、或连接网关100与IP网络20的IP 链路中断的话,网关100和代理120都可以缓冲数据业务量。网关100的这个实施例允许在IMS客户机40与IMS感知的和IMS不感知的Zigbee客户机32之间通信。图17显示用于建立在IMS客户机40与IMS不感知的Zigbee客户机32之间的通信的示例性过程。IMS客户机40把要创建Zigbee代理108的请求发送到节点管理器112 (步骤a)。该请求包括定义要被创建的代理108的类型的参数。例如,该请求可包括对应于标准Zigbee应用简档的标准简档ID和/或群集ID。该请求还可规定Zigbee代理108应当被与其绑定的、在Zigbee网络30中的其它Zigbee应用。响应于该请求,节点管理器112实例化由该请求规定的Zigbee代理108,并发起Zigbee代理108与在Zigbee网络30中的一个或多个其它Zigbee应用的绑定(步骤b)。节点管理器112还把关于端口分派的请求发送到IP控制器106A (步骤c)。IP控制器106A分派一个端口给新创建的Zigbee代理108, 并把分派的端口返还到节点管理器112(步骤d)。节点管理器112把请求发送到代理120 以创建或分派要与新创建的Zigbee代理相配对的IMS用户代理客户机44 (步骤e)。该代理分派或创建IMS用户代理客户机44 (步骤f),并把IMS用户代理客户机44的确认发送到发起该事务的IMS客户机40和节点管理器112 (步骤g)。节点管理器112把该确认转发到 Zigbee代理108。该确认包括用于新IMS用户代理的URI,连同将被使用于从新Zigbee代理发送的所有STATE(状态)命令的事件名称或事件ID和MIME类型。IMS客户机40现在可以通过把SUBSCRIBE请求——其具有在来自代理120的确认中所接收的URI、事件ID或事件名称、以及MIME类型——发送到IMS用户代理服务器42而预订与新Zigbee代理108相关联的事件(步骤h)。由Zigbee代理108在绑定的群集ID上接收的全部Zigbee消息被嵌入在IMS STATE命令消息中,并被发送到代理120,在此该消息被格式化为IMS UA STATE 消息。所述消息然后通过IMS用户代理客户机44和IMS用户代理服务器42被转发到IMS 客户机40 (步骤i)。在其它实施例中,可设立UAC 44,用来把消息从Zigbee代理108直接转发到IMS客户机40。IMS客户机40还可以使用IMS MSG方法把Zigbee MSG和KVP消息发送到在Zigbee网络30上的任何Zigbee客户机32。Zigbee消息被封装到IMS MSG请求内,并被发送到在网关100上的Zigbee代理108。本领域技术人员将意识到,以上所描述的用于建立在Zigbee代理108与IMS客户机40之间的通信的技术,可以与不同于SUBSCRIBE方法之外的标准SIP方法一起被使用。当然,本发明可以以不同于这里所阐述的那些方式之外的其它特定方式被实现, 而不背离本发明的范围和根本特性。所以,目前的实施例在所有的方面都被认为是说明性的,而不是限制性的,以及在所附权利要求的意义和等价的范围内作出的所有改变打算被包含在其中。
权利要求
1.一种在个人域网络(PAN) (30)中的客户机(32)与位于所述PAN(30)外面的IP客户机(22)之间进行通信的方法,所述方法包括在所述PAN (30)上创建PAN代理(108),用于与在所述PAN (30)中的所述客户机(32) 通信,其中所述PAN代理(108)为所述IP客户机(22)提供在所述PAN(30)上的存在;以及通过所述PAN代理(108)在所述PAN(30)中的所述客户机(32)与所述IP客户机(22) 之间进行通信。
2.权利要求1的方法,其中所述PAN代理(108)驻留在网关上。
3.权利要求1的方法,其中所述PAN(30)是Zigbee网络。
4.权利要求1的方法,其中所述创建步骤还包括在IP网络(20)中创建到用户代理 (42)的连接来用于所述PAN代理(108)。
5.权利要求4的方法,其中所述用户代理(42)包括IP多媒体子系统(IMS)用户代理。
6.权利要求4的方法,其中通过所述PAN代理(108)与在所述PAN(30)中的所述客户机(32)通信包括与所述用户代理(42)通信。
7.一种用于连接个人域网络(PAN) (30)与互联网协议(IP)网络(20)的网关(100), 所述网关包括第一接口设备(140),用于连接到所述PAN(30);第二接口设备(102),用于连接到所述IP网络(20);以及网关控制器(106),包括节点管理器(112),用于创建PAN代理(108),该PAN代理(108) 为在所述PAN(30)外面的IP客户机(22)提供在所述PAN(30)上的存在。
8.权利要求7的网关(100),其中所述节点管理器(112)被配置成响应于通过所述第二接口(102)接收的、来自所述IP客户机(22)的请求,创建所述PAN代理(108)。
9.权利要求8的网关(100),其中所述请求包括定义要被创建的PAN代理(108)的类型的参数。
10.权利要求9的网关(100),其中所述PAN(30)包括Zigbee网络,以及其中所述参数包括Zigbee简档ID。
11.权利要求8的网关(100),其中所述节点管理器(112)把所述PAN代理(108)配置成与在所述IP网络中的用户代理(42)通信,以及其中IP客户机通过所述用户代理(42) 与所述PAN代理(108)通信。
12.权利要求11的网关,其中所述用户代理(42)包括IP多媒体子系统(IMS)用户代理,用于与IMS客户机(40)通信。
全文摘要
网关(100)使能在诸如Zigbee网络的个人域网络(30)与互联网协议(IP)网络(20)之间进行通信。网关(100)包括用于连接到个人域网络的第一接口设备(102)、用于连接到IP网络的第二接口设备(104)、以及网关控制器(106)。在一个实施例中,网关控制器(106)把IP接口上的端口分配给所述个人域网络(30)中的一个或多个客户机(32);把路由表(110)存储在存储器中,用于使在所述个人域网络(30)中的所述客户机与它们的对应的端口相联系;以及根据在所述路由表(110)中的条目,在所述个人域网络客户机(32)与所述IP网络(20)之间传送消息。在其它实施例中,网关(100)可以与网关代理(120)相结合地起作用。
文档编号H04L12/66GK102316053SQ201110302080
公开日2012年1月11日 申请日期2007年3月28日 优先权日2006年8月31日
发明者J.W.本内特, W.R.奥斯博恩 申请人:索尼爱立信移动通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1