著录项信息
| 专利名称 | 控制方法、电子设备和服务器 |
| 申请号 | CN201210370846.5 | 申请日期 | 2012-09-28 |
| 法律状态 | 授权 | 申报国家 | 中国 |
| 公开/公告日 | 2014-04-09 | 公开/公告号 | CN103716281A |
| 优先权 | 暂无 | 优先权号 | 暂无 |
| 主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6查看分类表>
|
| 申请人 | 联想(北京)有限公司 | 申请人地址 | 北京市海淀区上地西路6号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
| 权利人 | 联想(北京)有限公司 | 当前权利人 | 联想(北京)有限公司 |
| 发明人 | 于辰涛;李栋 |
| 代理机构 | 北京市柳沈律师事务所 | 代理人 | 安之斐 |
摘要
本发明提供一种基于可扩展消息及出席协议XMPP的控制方法、电子设备和服务器。所述方法包括:接收从XMPP服务器发送的通知信息,该通知信息指示所述XMPP服务器在第一局域网内选择所述第一电子设备作为主设备,并且选择所述第一局域网内的多个其它电子设备作为从设备;接收来自每个从设备的加入自治网络的登记请求;响应于来自每个从设备的登记请求,给每个从设备分配第二标识并且向所述XMPP服务器登记每个从设备的第二标识,所述第二标识仅用于所述自治网络内的通信;以及根据每个从设备的第二标识,控制每个从设备的通信。
控制方法、电子设备和服务器\n技术领域\n[0001] 本发明涉及电子设备的领域,更具体地,本发明涉及一种基于可扩展消息及出席协议(The Extensible Messaging and Presence Protocol,XMPP)的控制方法、电子设备和服务器。\n背景技术\n[0002] 目前,个人用户拥有了越来越多的高性能移动终端产品,比如智能手机、平板电脑(PAD)、超级本、智能电视(TV)和个人电脑(PC)。这些功能丰富的设备,具有非常强的计算能力的同时,也具有了越来越大的存储空间、无缝的访问WiFi和3G/4G网络的能力。这些设备也逐渐适应于不同的应用场景,比如智能手机适应于移动环境,PC适应于家庭环境下的媒体中心,TV适用于媒体广播数据管理,PAD适用于电子书和移动媒体消费,超级本适用于家居办公和普通办公需求。\n[0003] 另一方面,在XMPP协议下,设备之间的通讯都必须使用服务端进行转发。所有设备为了唯一表征,必须有一个唯一的标识,这个标识必须登录到服务端,以允许其他设备发现并和本地设备通讯。例如,图1示出了在XMPP协议下的设备连接。在此情况下,设备之间通过服务器进行连接。\n[0004] 如图1所示,在设备之间协同操作时,为了简化用户的操作,设备发现过程需要服务器端进行协助,解决设备间发现的问题。在设备互相发现之后,为了提升设备之间的传输的效率和降低云端的数据流量,需要将数据的传输和设备间消息的传输尽量通过对等网络进行。这是一个典型的P2P网络通讯的问题,现有XMPP通过Jingle协议扩展,已经能够很好的支持设备间的端到端数据传输。\n[0005] 但是,由于XMPP协议本身并不支持无服务器的通讯架构,如果将设备交互过程都转换为XMPP终端间的消息通讯过程之后,这种全部需要服务器端支持的架构,既会增大服务器端的开销,也会由于网络通讯时间较长增加设备间操作的等待时间。当用户的多个设备都位于一个局域网络环境下时,这样完全通过云端中转的方案会带来易用性的显著下降。\n[0006] 如果将XMPP扩展到无服务器的架构,则会使得操作的结果无法被服务端获知,导致自治环境下的设备和其它设备无法同步状态的问题。\n[0007] 因此,需要一种新的XMPP扩展协议,解决设备建立自治网络后,设备标识的重定向和缓冲以便于其他设备发现和状态同步,同时也能无需服务器端协助,能够在设备之间很好的进行高效的数据传输和消息通讯。\n发明内容\n[0008] 根据本发明的一个实施例,提供了一种基于可扩展消息及出席协议XMPP的控制方法,应用于第一电子设备中,所述方法包括:\n[0009] 接收从XMPP服务器发送的通知信息,该通知信息指示所述XMPP服务器在第一局域网内选择所述第一电子设备作为主设备,并且选择所述第一局域网内的多个其它电子设备作为从设备,并且该通知信息包括所述第一电子设备和所述多个其他电子设备形成的自治网络的网络标识,其中,每个电子设备都将用于唯一识别自身设备的第一标识登记在所述XMPP服务器中;\n[0010] 接收来自每个从设备的加入自治网络的登记请求;\n[0011] 响应于来自每个从设备的登记请求,给每个从设备分配第二标识并且向所述XMPP服务器登记每个从设备的第二标识,所述第二标识仅用于所述自治网络内的通信;以及[0012] 根据每个从设备的第二标识,控制每个从设备的通信。\n[0013] 根据本发明的另一实施例,提供了一种基于可扩展消息及出席协议XMPP的控制方法,应用于第一电子设备中,所述方法包括:\n[0014] 发送创建自治网络的请求到XMPP服务器;\n[0015] 接收作为对该请求的响应从XMPP服务器发送的通知信息,该通知信息指示所述XMPP服务器在第一局域网内选择所述第一电子设备作为主设备,并且该通知信息包括所述第一电子设备创建的自治网络的网络标识,其中,该第一电子设备将用于唯一识别自身设备的第一标识登记在所述XMPP服务器中;\n[0016] 接收来自从设备的加入所述自治网络的登记请求;\n[0017] 响应于来自从设备的登记请求,给每个从设备分配第二标识并且向所述XMPP服务器登记每个从设备的第二标识,所述第二标识仅用于所述自治网络内的通信;以及[0018] 根据每个从设备的第二标识,控制每个从设备的通信。\n[0019] 根据本发明的另一实施例,提供了一种基于可扩展消息及出席协议XMPP的控制方法,应用于XMPP服务器中,所述方法包括:\n[0020] 确定多个电子设备是否处于相同的第一局域网内;\n[0021] 在已经确定处于第一局域网内的多个电子设备中,根据预定条件确定第一电子设备作为主设备,并且确定多个其它电子设备作为从设备;\n[0022] 给所述第一电子设备和所述多个其他电子设备形成的第一自治网络分配第一网络标识;\n[0023] 将指示确定结果的通知信息发送给所述第一电子设备和所述其它电子设备,该通知信息指示所述XMPP服务器在第一局域网内选择所述第一电子设备作为主设备,并且选择所述第一局域网内的多个其它电子设备作为从设备,并且该通知信息包括所述第一电子设备和所述多个其他电子设备形成的第一自治网络的第一网络标识;\n[0024] 登记所述主设备和所述从设备每个的第一标识,所述第一标识用于唯一地识别对应的电子设备,并且登记每个从设备的重新定向标识信息,所述重新定向标识信息包括所述第一自治网络的网络标识、所述从设备的第一标识、由主设备分配给从设备的第二标识和主设备的第一标识,所述从设备的第二标识仅用于在包括主设备和从设备的所述第一自治网络内的通信。\n[0025] 根据本发明的另一实施例,提供了一种电子设备,包括:\n[0026] 第一接收单元,配置为接收从XMPP服务器发送的通知信息,该通知信息指示所述XMPP服务器在第一局域网内选择所述第一电子设备作为主设备,并且选择所述第一局域网内的多个其它电子设备作为从设备,并且该通知信息包括所述第一电子设备和所述多个其他电子设备形成的自治网络的网络标识,其中,每个电子设备都将用于唯一识别自身设备的第一标识登记在所述XMPP服务器中;\n[0027] 第二接收单元,配置为接收来自每个从设备的加入自治网络的登记请求;\n[0028] 分配单元,配置为响应于来自每个从设备的登记请求,给每个从设备分配第二标识并且向所述XMPP服务器登记每个从设备的第二标识,所述第二标识仅用于所述自治网络内的通信;以及\n[0029] 控制单元,配置为根据每个从设备的第二标识,控制每个从设备的通信。\n[0030] 根据本发明的另一实施例,提供了一种电子设备,包括:\n[0031] 发送单元,配置为发送创建自治网络的请求到可扩展消息及出席协议XMPP服务器;\n[0032] 第一接收单元,配置为接收作为对该请求的响应从XMPP服务器发送的通知信息,该通知信息指示所述XMPP服务器在第一局域网内选择所述第一电子设备作为主设备,并且该通知信息包括所述第一电子设备创建的自治网络的网络标识,其中,该第一电子设备将用于唯一识别自身设备的第一标识登记在所述XMPP服务器中;\n[0033] 第二接收单元,配置为接收来自从设备的加入所述自治网络的登记请求;\n[0034] 分配单元,配置为响应于来自从设备的登记请求,给每个从设备分配第二标识并且向所述XMPP服务器登记每个从设备的第二标识,所述第二标识仅用于所述自治网络内的通信;以及\n[0035] 控制单元,配置为根据每个从设备的第二标识,控制每个从设备的通信。\n[0036] 根据本发明的另一实施例,提供了一种服务器,包括:\n[0037] 确定单元,配置为确定多个电子设备是否处于相同的第一局域网内;\n[0038] 选择单元,配置为在已经确定处于第一局域网内的多个电子设备中,根据预定条件确定第一电子设备作为主设备,并且确定多个其它电子设备作为从设备;\n[0039] 网络标识分配单元,配置为给所述第一电子设备和所述多个其他电子设备形成的第一自治网络分配第一网络标识;\n[0040] 通知单元,配置为将指示确定结果的通知信息发送给所述第一电子设备和所述其它电子设备;\n[0041] 登记单元,配置为登记所述主设备和所述从设备每个的第一标识,所述第一标识用于唯一地识别对应的电子设备,并且登记每个从设备的重新定向标识信息,所述重新定向标识信息包括所述第一自治网络的网络标识、所述从设备的第一标识、由主设备分配给从设备的第二标识和主设备的第一标识,所述从设备的第二标识仅用于在包括主设备和从设备的所述第一自治网络内的通信。\n[0042] 因此,通过根据本发明实施例的基于XMPP协议的控制方法、电子设备和服务器,能够解决设备建立自治网络后,设备标识的重定向和缓冲以便于其他设备发现和状态同步的问题,另外,也能无需服务器端协助,在设备之间很好的进行高效的数据传输和消息通讯。\n附图说明\n[0043] 图1是示出根据现有技术的基于XMPP协议的设备连接示意图;\n[0044] 图2是示出根据本发明第一实施例的基于XMPP协议的设备连接示意图;\n[0045] 图3是示出根据本发明第一实施例的应用于电子设备端的基于XMPP协议的控制方法的流程图;\n[0046] 图4是示出根据本发明第一实施例的电子设备的方块图;\n[0047] 图5是示出根据本发明第二实施例的基于XMPP协议的设备连接示意图;\n[0048] 图6是示出根据本发明第二实施例的应用于电子设备端的基于XMPP协议的控制方法的流程图;\n[0049] 图7是示出根据本发明第二实施例的电子设备的方块图;\n[0050] 图8是示出根据本发明第三实施例的应用于XMPP服务器端的基于XMPP协议的控制方法的流程图;以及\n[0051] 图9是示出根据本发明第四实施例的服务器的方块图。\n具体实施方式\n[0052] 以下,将参考附图详细描述本发明的优选实施例。\n[0053] <第一实施例>\n[0054] 下面,将以家庭网络使用环境来描述本发明的第一实施例。在本发明第一实施例中,假设存在三个兼容XMPP协议的设备,即,XMPP设备1、XMPP设备2和XMPP设备3。假设XMPP设备1是PAD,其通过诸如Wifi(无线网络)的无线连接方式连接到网络,XMPP设备2是台式机,其通过诸如Wifi的无线连接方式以及诸如因特网的有线连接方式连接到网络,以及XMPP设备3是智能电视,其通过诸如因特网的有线连接方式连接到网络。需要注意的是,为了描述简单,只示出了三个XMPP设备,但可以根据实际需要使用两个或四个或更多的设备。\n[0055] 在图1所示的现有技术的设备连接中,XMPP设备1、XMPP设备2和XMPP设备3都连接到远程的XMPP服务器,并且XMPP设备1-3之间的相互消息通讯和数据传输都需要经过服务器的转发,为此,XMPP设备1-3在服务器中都登记有相应的唯一标识,如DeviceID_1@domain/resource、DeviceID_2@domain/resource和DeviceID_3@domain/resource。XMPP设备1-3通过该唯一标识登录服务器,以允许其它设备发现以及与本地设备通讯。其中,domain指示XMPP服务器域。\n[0056] 图2是示出根据本发明第一实施例的基于XMPP协议的设备连接示意图。与图1所示的现有技术不同,在本发明实施例中,服务器从三个XMPP设备1-3中确定XMPP设备2作为主设备,XMPP设备1和3为从设备。然后,XMPP服务器将控制权转接给XMPP设备2。然后,XMPP设备1-3可以组成自治网络,在该自治网络中,设备之间的通讯不再通过服务器,而是由作为主设备的XMPP设备2进行控制,例如,XMPP设备2和XMPP设备1或者XMPP设备3采用直接的端到端通讯,XMPP设备1和3之间的通讯通过XMPP设备2进行路由。通过该方式,作为从设备的XMPP设备1和3通过作为主设备的XMPP设备2连接整个系统,因此从设备不再需要维护和服务器的连接。另外,因为XMPP设备1-3形成了自治网络,并且主从设备使用直接的端到端通讯以及从设备之间经由主设备路由通讯,而不再需要服务器的介入,这样大大降低了系统带宽。\n[0057] 另一方面,XMPP设备1和3与该自治网络外的设备的通讯也通过XMPP设备2以及服务器进行路由。以此方式,XMPP设备2承担了XMPP服务器的一部分工作,减少作为从设备的XMPP设备1和3与XMPP服务器之间的通讯,这样也可以大大降低系统带宽。\n[0058] 下面,参考图3描述根据本发明第一实施例的应用于电子设备端的基于XMPP协议的控制方法的流程图。在本实施例中,假设该电子设备为作为主设备XMPP设备2的PC。\n[0059] 在描述根据本发明第一实施例的控制方法之前,先对基于XMPP协议的网络环境中的业务流程进行简要描述。\n[0060] 整个业务流程分为三步:\n[0061] 1.自治网络请求流程\n[0062] 该流程支持局域网内XMPP设备完成两个业务需求。\n[0063] a)支持局域网内XMPP设备向XMPP服务器登记为该局域网内的主设备。\n[0064] 登记消息需要携带必要的认证信息、设备信息以及网络信息。\n[0065] XMPP服务器返回自治网络的唯一标识,作为后续其他设备加入、退出自治网络的标识。一个局域网可以有一个或多个自治网络,不同自治网络有各自不同的网络标识。\n[0066] 也就是说,在基于XMPP协议的网络环境中,一个设备可以向XMPP服务器请求登记为局域网内的主设备,也就是说,自己建立一个自治网络。\n[0067] b)支持局域网内XMPP设备向XMPP服务器发起自治网络请求,并获得主设备信息。\n[0068] 请求消息需要携带必要的认证信息、设备信息以及网络信息。\n[0069] XMPP服务器返回该局域网内当前所有主设备信息,以及每个主设备申请的自治网络标识。\n[0070] 也就是说,一个局域网内可以有多个自治网络,不同自治网络由唯一ID进行区分。\n一个设备可以从XMPP服务器获取当前所在局域网内的所有主设备信息以及对应的自治网络ID,并且根据需要向期望的主设备发送加入请求,以便成为该自治网络的从设备。\n[0071] 2.带内重定向登记流程\n[0072] 该流程支持局域网内XMPP主设备与从设备间的登记业务需求。\n[0073] a)支持局域网内从XMPP设备向XMPP主设备发起重定向登记请求。\n[0074] 登记请求需要携带必要的认证信息、设备信息以及自治网络的唯一标识。\n[0075] 与自治网络唯一标识对应的XMPP主设备会给该从设备分配一个新的JID,该JID应该如id@domain/redirectid,其中id为主设备用户id,domain为XMPP服务器域,redirectid为分配给从设备的重定向标识,不同从设备有不同的redirectid。\n[0076] b)支持局域网内XMPP主设备向XMPP服务器发起重定向登记请求。\n[0077] 登记请求需要携带必要的认证信息、从设备信息、从设备新JID以及自治网络的唯一标识。\n[0078] XMPP服务器接收到登记请求后,会修改从设备的路由配置,后续所有发送到该从设备的消息都将发送到从设备新JID,并由主设备路由。\n[0079] 3.数据通信流程\n[0080] 该流程支持局域网内XMPP主设备作为代理服务器,代理局域网内所有XMPP从设备的消息发送及接收。\n[0081] a)XMPP主设备维护自身的presence状态。\n[0082] b)XMPP主设备维护局域网内从设备的presence状态,当任何从设备presence状态发生变化时,从设备通知主设备,由主设备发布该状态。\n[0083] c)XMPP主设备代理发送从设备消息,任何从设备的XMPP外发消息都发送到XMPP主设备,并由主设备代理发送。\n[0084] i.当XMPP消息目的地址为局域网外部地址,则XMPP主设备代理该消息,发送到并由XMPP服务器转发或处理。\n[0085] ii.当XMPP消息目的地址为局域网内其他从设备,则XMPP主设备直接转发消息到局域网内其他从设备,不再由XMPP服务器处理。\n[0086] d)XMPP主设备代理接收从设备消息,任何发送到从设备的XMPP消息,都会由XMPP主设备接收并转发到从设备。\n[0087] 具体地,如图3所示,所述方法包括以下步骤:\n[0088] 步骤S101:接收从XMPP服务器发送的通知信息,该通知信息指示所述XMPP服务器在第一局域网内选择所述第一电子设备作为主设备,并且选择所述第一局域网内的多个其它电子设备作为从设备,并且该通知信息包括所述第一电子设备和所述多个其他电子设备形成的自治网络的网络标识,其中,每个电子设备都将用于唯一识别自身设备的第一标识登记在所述XMPP服务器中。\n[0089] 在该步骤中,在包括XMPP设备1-3的第一局域网内,作为主设备XMPP设备2的PC接收从服务器发送的通知消息,该通知消息指示服务器已经在XMPP设备1-3中选择XMPP设备2作为主设备,并且XMPP设备1和3作为从设备。此外,该通知信息包括XMPP设备2和XMPP设备1和3形成的自治网络的网络标识。XMPP设备1和3也从服务器接收该通知消息。\n[0090] 另外,如前面已经描述的,XMPP设备1-3都已经在服务器中登记了自己的第一标识,即,DeviceID_1@domain/resource、DeviceID_2@domain/resource和DeviceID_3@domain/resource。\n[0091] 另外,需要注意的是,服务器可以根据设备属性来选择哪个设备作为主设备。例如,该设备属性可以包括设备类型、设备标识、设备供电方式、设备网络连接方式等。\n[0092] 具体来说,在本实施例中,因为作为XMPP设备3的PC的网络连接方式具有有线连接和无线连接两种方式,所以服务器据此选择PC作为主设备。\n[0093] 当然服务器选择主设备的方式不限于此,在另一实施例中,服务器可以根据设备的处理性能、存储容量等来确定哪一个设备为主设备。\n[0094] 步骤S102:接收来自每个从设备的加入自治网络的登记请求。\n[0095] 在该步骤中,因为XMPP设备1-3都已经从服务器接收到通知消息,指示XMPP设备2是主设备,并且XMPP设备1和3是从设备,所以XMPP设备1和3将以XMPP设备2为中心建立自治网络。为此,XMPP设备1和3向XMPP设备2发出登记请求。XMPP设备2接收XMPP设备1和3发出的登记请求。\n[0096] 步骤S103:响应于来自每个从设备的登记请求,给每个从设备分配第二标识并且向XMPP服务器登记每个从设备的第二标识,所述第二标识仅用于在包括主设备和从设备的所述自治网络内的通信。\n[0097] 在该步骤中,XMPP设备2响应于XMPP设备1和3的登记请求,给XMPP设备1和3每个分配第二标识,例如,DeviceID_1@domain/redirectid和DeviceID_3@domain/redirectid,所述第二标识仅用于在包括主设备XMPP设备2和从设备XMPP设备1和3的所述自治网络内的通信,也就是说,在包括主设备XMPP设备2和从设备XMPP设备1和3的所述自治网络内,从设备XMPP设备1的所有消息都直接路由到DeviceID_1@domain/redirectid,并且从设备XMPP设备3的所有消息都直接路由到DeviceID_3@domain/redirectid。此外,XMPP设备2向XMPP服务器登记从设备XMPP设备1和3每个的第二标识DeviceID_1@domain/redirectid和DeviceID_3@domain/redirectid。另外,XMPP设备2自身也登记从设备XMPP设备1和3每个的第二标识DeviceID_1@domain/redirectid和DeviceID_3@domain/redirectid。\n[0098] 步骤S104:根据每个从设备的第二标识,控制每个从设备的通信。\n[0099] 在该步骤中,主设备XMPP设备2可以根据从设备XMPP设备1和3每个的第二标识DeviceID_1@domain/redirectid和DeviceID_3@domain/redirectid,控制从设备XMPP设备\n1和3每个的通信。\n[0100] 具体来说,在主设备XMPP设备2和从设备XMPP设备1和3形成以主设备XMPP设备2为中心的自治网络后,主设备XMPP设备2部分起到服务器的作用。\n[0101] 在一个实施例中,主设备可以根据每个从设备的第二标识,与每个从设备进行直接的端到端通信。例如,主设备XMPP设备2根据从设备XMPP设备1和3每个的第二标识DeviceID_1@domain/redirectid和DeviceID_3@domain/redirectid,分别与从设备XMPP设备1和3的每个进行直接的端到端通信。\n[0102] 在另一个实施例中,主设备XMPP设备2可以根据每个从设备的第二标识,路由从设备之间的双向通信。例如,从设备XMPP设备1和3之间的通信,可以根据自己的第二标识DeviceID_1@domain/redirectid和DeviceID_3@domain/redirectid,通过主设备XMPP设备\n2进行路由。\n[0103] 在另一个实施例中,主设备XMPP设备2可以根据每个从设备的第一标识和第二标识的对应关系,经由所述XMPP服务器,路由每个从设备与所述自治网络和/或所述第一局域网外的设备之间的双向通信。\n[0104] 具体来说,当所述自治网络外的设备(例如该第一局域网内的但不属于该自治网络的设备,图2中未示出),或者当所述第一局域网外的设备通过所述自治网络内的从设备的第一标识,请求与所述自治网络内的从设备通信时,所述主设备根据被请求的从设备的重新定向标识信息,经由所述XMPP服务器路由被请求的从设备与进行请求的外部设备之间的双向通信,其中所述重新定向标识信息登记在所述XMPP服务器中,并且包括所述从设备的第一标识和第二标识以及主设备的第一标识,所述主设备根据所述从设备的第一标识和第二标识的对应关系确定所述自治网络内的被请求的从设备。\n[0105] 例如,当该自治网络外的设备(未示出)想要访问从设备XMPP设备1时,该自治网络外的设备仍然根据该从设备XMPP设备1的在服务器中登记的第一标识(即,DeviceID_1@domain/resource),通过服务器来请求访问从设备XMPP设备1。服务器在接收到该访问请求时,根据登记的该从设备XMPP设备1的第一标识和第二标识的对应关系,将对该第一标识DeviceID_1@domain/resource对应的从设备XMPP设备1的访问请求,重新定位为对该第二标识DeviceID_1@domain/redirectid对应的从设备XMPP设备1的访问请求,并且将该访问请求路由给主设备XMPP设备2,并且由主设备XMPP设备2根据该第二标识DeviceID_1@domain/redirectid,将访问请求路由给从设备XMPP设备1。也就是说,该第一标识和第二标识对应于相同的从设备XMPP设备1,并且该从设备XMPP设备1原来的第一标识用于维护外部设备关系,而该从设备XMPP设备1的新的第二标识用于实际通信。\n[0106] 需要注意的是,主设备在给从设备分配第二标识时,也将该第二标识发送给服务器以便在服务器中进行登记。也就是说,对于从设备,在服务器中还需要登记重新定向标识信息,其包括所述自治网络的网络标识、从设备的第一标识、从设备的第二标识以及主设备的第一标识。该重新定向标识信息指示该从设备的第一标识和第二标识的对应关系,以及该从设备属于哪一个主设备。服务器根据该重新定向标识信息,能够确定每一个从设备属于哪一个主设备,并且确定从设备在自治网络中的第二标识。此外,服务器根据该从设备在其自治网络中的第二标识,能够通过主设备的控制,使得从设备与自治网络外的设备进行通信。\n[0107] 在另一个实施例中,当所述自治网络外的设备通过所述第一局域网内的主设备的第一标识,请求与所述第一局域网内的主设备通信时,所述主设备经由所述XMPP服务器与进行请求的外部设备进行通信。例如,当该自治网络外的设备想要访问主设备XMPP设备2时,该自治网络外的设备根据该主设备XMPP设备2的在服务器中登记的第一标识(即,DeviceID_2@domain/resource),通过服务器来请求访问主设备XMPP设备2。在一个实施例中,主设备能够将所述主设备的相关资源以及发现的相关资源发布到所述XMPP服务器,以便外部设备能够访问这些资源。例如,作为主设备的PC能够将本地资源(例如,视频内容、图像内容、应用等)发布到服务器,使得外部设备能够了解PC上存储的资源,从而可以进行访问。在另一实施例中,作为主设备的PC能够将从设备(如TV)中存储的资源(例如,电视节目等)发布到服务器,使得外部设备能够了解TV上存储的资源,从而可以进行访问。\n[0108] 在一个实施例中,主设备还能够根据所述主设备的第一标识和服务器通信,以便维护指示所述主设备的出席(Presence)和登录的出席消息。也就是说,主设备根据自身的第一标识与服务器通信,使得服务器能够了解主设备的状态,也就是说,主设备的出席和登录的出席消息。\n[0109] 在另一个实施例中,当所述自治网络内的从设备出现变化时,例如,新的从设备开机加入该自治网络或者原有的从设备关机从该自治网络退出,主设备更新指示所有从设备的出席和登录的出席消息,并且将其发送给自治网络内的所有从设备。例如,当用户的智能手机(假设该智能手机的第一标识为DeviceID_4@domain/resource)加入该自治网络时,作为主设备的PC给该智能手机分配第二标识DeviceID_4@domain/redirectid。然后,PC将指示从设备1(PAD)和从设备3(TV)目前处于活动状态的出席信息,更新为指示从设备1(PAD)、从设备3(TV)和从设备4(智能手机)目前处于活动状态的出席信息。然后,将该出席信息发送给从设备1(PAD)、从设备3(TV)和从设备4(智能手机),使得自治网络内的从设备1(PAD)、从设备3(TV)和从设备4(智能手机)能够了解相互的出席状态,以便能够访问该自治网络内的其它设备。\n[0110] 此外,当所述自治网络内的从设备出现变化时,主设备还可以将该出席消息发送给服务器,使得服务器能够更新出席消息,以便该自治网络外的设备能够了解该自治网络内的设备,从而能够正确地访问处于活动状态的各个设备。\n[0111] 此外,当所述主设备切换到第二局域网时,如果当前有正在进行的通信任务,则等待该通信任务结束后切换到第二局域网。可替代地,提示用户强制进行切换,并且根据用户操作,强制切换为第二局域网。\n[0112] 例如,假设使用智能手机作为主设备时,如果用户拿着智能手机从一个房间走到另一个房间,则可能从原来的房间的第一局域网切换到另一房间的第二局域网。此时,如果充当主设备的智能手机正在路由第一局域网内的两个从设备之间的通信,则可以等待该通信任务结束后切换到第二局域网。或者,可以显示提示信息,提示用户是否需要强制进行切换,如果用户选择强制切换,则强制切换为第二局域网。如果用户选择不强制切换,则可以等待该通信任务结束后切换到第二局域网。\n[0113] 图4是示出根据本发明第二实施例的电子设备的方块图。该电子设备可以是任何电子设备,只要该电子设备具有网络连接能力、具有统一的XMPPID,并且该电子设备能够运行Web Service(网络服务)来发布设备相关的资源,并且能够将发现的其他资源发布到XMPP服务器上供其他电子设备进行访问。这样的电子设备的例子包括但不限于PC、PAD、智能手机、智能电视、个人数字助理等等。\n[0114] 根据本发明第二实施例的电子设备200包括:\n[0115] 第一接收单元201,配置为接收从XMPP服务器发送的通知信息,该通知信息指示所述XMPP服务器在第一局域网内选择所述第一电子设备作为主设备,并且选择所述第一局域网内的多个其它电子设备作为从设备,并且该通知信息包括所述第一电子设备和所述多个其他电子设备形成的自治网络的网络标识,其中,每个电子设备都将用于唯一识别自身设备的第一标识登记在所述XMPP服务器中;\n[0116] 第二接收单元202,配置为接收来自每个从设备的加入自治网络的登记请求;\n[0117] 分配单元203,配置为响应于来自每个从设备的登记请求,给每个从设备分配第二标识并且向所述XMPP服务器登记每个从设备的第二标识,所述第二标识仅用于所述自治网络内的通信;以及\n[0118] 控制单元204,配置为根据每个从设备的第二标识,控制每个从设备的通信。\n[0119] 优选地,所述控制单元204进一步配置为:\n[0120] 根据每个从设备的第二标识,与每个从设备进行直接的端到端通信;\n[0121] 根据每个从设备的第二标识,在所述自治网络内路由从设备之间的双向通信;以及\n[0122] 根据每个从设备的第一标识和第二标识的对应关系,经由所述XMPP服务器,路由每个从设备与所述第一局域网外的设备之间的双向通信。\n[0123] 优选地,所述电子设备还包括通信单元205,配置为当所述自治网络和/或所述第一局域网外的设备通过所述第一局域网内的主设备的第一标识,请求与所述第一局域网内的主设备通信时,经由所述XMPP服务器与进行请求的外部设备进行通信。\n[0124] 优选地,所述通信单元205还可以配置为当所述自治网络和/或所述第一局域网外的设备通过所述第一局域网内的从设备的第一标识,请求与所述第一局域网内的从设备通信时,根据被请求的从设备的重新定向标识信息,经由所述XMPP服务器路由被请求的从设备与进行请求的外部设备之间的双向通信,其中所述重新定向标识信息登记在所述XMPP服务器中,并且包括所述自治网络的网络标识、所述从设备的第一标识和第二标识以及主设备的第一标识,所述控制单元204根据所述从设备的第一标识和第二标识的对应关系确定所述第一局域网内的被请求的从设备。\n[0125] 优选地,所述通信单元还可以配置为将所述主设备200的相关资源以及发现的相关资源发布到所述XMPP服务器,以便外部设备能够访问这些资源。\n[0126] 优选地,所述电子设备还可以包括出席维护单元206,配置为根据所述主设备的第一标识和服务器通信,以便维护指示所述主设备的出席和登录的出席消息。\n[0127] 优选地,所述出席维护单元206还可以配置为当所述第一局域网内的从设备出现变化时,更新指示所述从设备的出席和登录的第一出席消息,并且将其发送给所述第一局域网内的所有从设备。\n[0128] 优选地,所述出席维护单元206还可以配置为当所述第一局域网内的从设备出现变化时,更新指示所述从设备的出席和登录的第一出席消息,并且将其发送给服务器。\n[0129] 优选地,所述控制单元204还可以配置为当所述主设备切换到第二局域网时,如果当前有正在进行的通信任务,则等待该通信任务结束后切换到第二局域网;或者提示用户强制进行切换,并且根据用户操作,强制切换为第二局域网。\n[0130] 因此,根据本发明第一实施例的控制方法和电子设备,用作主设备的电子设备能够在建立自治网络后部分充当服务器的作用,能够解决设备标识的重定向和缓冲以便于其他设备发现和状态同步的问题,另外,也能无需服务器端协助,在设备之间很好的进行高效的数据传输和消息通讯。\n[0131] <第二实施例>\n[0132] 下面,将参考图5-7描述本发明的第二实施例。图5是示出根据本发明第二实施例的基于XMPP协议的设备连接示意图,图6是示出根据本发明第二实施例的应用于电子设备端的基于XMPP协议的控制方法的流程图,图7是示出根据本发明第二实施例的电子设备的方块图。\n[0133] 如图5所示,本发明的第二实施例描述这样的情况,在XMPP网络环境中,在第一实施例的XMPP设备1-3已经形成第一自治网络的情况下,新出现的XMPP设备4请求创建第二自治网络,并且XMPP设备5和6请求加入第二自治网络。\n[0134] 如图6所示,根据本发明第二实施例的方法600包括以下步骤:\n[0135] 步骤S301:发送创建自治网络的请求到XMPP服务器。\n[0136] 在该步骤中,XMPP设备4向XMPP服务器发送创建自治网络的请求。该请求可以携带必要的认证信息、设备信息以及网络信息等。\n[0137] 步骤S302:接收作为对该请求的响应从XMPP服务器发送的通知信息,该通知信息指示所述XMPP服务器在第一局域网内选择所述第一电子设备作为主设备,并且该通知信息包括所述第一电子设备创建的自治网络的网络标识,其中,该第一电子设备将用于唯一识别自身设备的第一标识登记在所述XMPP服务器中。\n[0138] 在该步骤中,XMPP设备4接收XMPP服务器发送的响应通知消息,该通知信息指示所述XMPP服务器在第一局域网内选择XMPP设备4作为第二主设备,并且该通知信息包括所述XMPP设备4创建的第二自治网络的网络标识,其中,XMPP设备4将用于唯一识别自身设备的第一标识登记在所述XMPP服务器中。\n[0139] 步骤S303:接收来自从设备的加入所述自治网络的登记请求。\n[0140] 在该步骤中,XMPP设备4接收XMPP设备5和6发送的加入该第二自治网络的登记请求。\n[0141] 步骤S304:响应于来自从设备的登记请求,给每个从设备分配第二标识并且向所述XMPP服务器登记每个从设备的第二标识,所述第二标识仅用于所述自治网络内的通信。\n[0142] 步骤S305:根据每个从设备的第二标识,控制每个从设备的通信。\n[0143] 步骤S303到S305与第一实施例中的步骤S102到S 104基本相同,在此省略其详细描述。\n[0144] 如图7所示,根据本发明第二实施例的电子设备400包括:\n[0145] 401发送单元,配置为发送创建自治网络的请求到可扩展消息及出席协议XMPP服务器;\n[0146] 402第一接收单元,配置为接收作为对该请求的响应从XMPP服务器发送的通知信息,该通知信息指示所述XMPP服务器在第一局域网内选择所述第一电子设备作为主设备,并且该通知信息包括所述第一电子设备创建的自治网络的网络标识,其中,该第一电子设备将用于唯一识别自身设备的第一标识登记在所述XMPP服务器中;\n[0147] 403第二接收单元,配置为接收来自从设备的加入所述自治网络的登记请求;\n[0148] 404分配单元,配置为响应于来自从设备的登记请求,给每个从设备分配第二标识并且向所述XMPP服务器登记每个从设备的第二标识,所述第二标识仅用于所述自治网络内的通信;以及\n[0149] 405控制单元,配置为根据每个从设备的第二标识,控制每个从设备的通信。\n[0150] 此外,根据第二实施例的电子设备400还包括通信单元406和出席维护单元407,其与根据第一上述的电子设备100中的通信单元105和出席维护单元106基本相同,在此省略其详细描述。\n[0151] 需要注意的是,第二实施例中只示出了两个自治网络,但是在该XMPP网络环境中可以存在三个或更多的自治网络。\n[0152] 因此,根据本发明第二实施例的控制方法和电子设备,在局域网中已经存在一个自治网络的情况下,另一电子设备也能请求创建新的自治网络,并且用作主设备的电子设备能够在建立自治网络后部分充当服务器的作用,能够解决设备标识的重定向和缓冲以便于其他设备发现和状态同步的问题,另外,也能无需服务器端协助,在设备之间很好的进行高效的数据传输和消息通讯。\n[0153] <第三实施例>\n[0154] 图8是示出根据本发明第三实施例的应用于服务器端的基于XMPP协议的控制方法的流程图。\n[0155] 根据本发明第三实施例的一种基于XMPP协议的控制方法,应用于XMPP服务器中,所述方法500包括:\n[0156] 步骤S501:确定多个电子设备是否处于相同的第一局域网内。\n[0157] 在该步骤中,每个电子设备上预先部署有环境感知模块,用于记录环境信息。XMPP服务器根据各个设备的环境感知模块传回的信息,确定各个设备是否在相同的网络中,例如Wifi/BT的局域网。\n[0158] 可替代地,例如基于各个设备的局域网的路由服务器IP地址和MAC地址;周边无线局域网的SSID(名称)、MAC(无线网卡的硬件标识)地址和IP网络地址地址;由电子设备创建的临时(ADhoc)无线网络信息等,确定确定各个设备是否在相同的网络中。\n[0159] 步骤S502:在已经确定处于第一局域网内的多个电子设备中,根据预定条件确定第一电子设备作为主设备,并且确定多个其它电子设备作为从设备。\n[0160] 在该步骤中,服务器可以根据设备属性来选择哪个设备作为主设备。例如,该设备属性可以包括设备类型、设备标识、设备供电方式、设备无线连接方式、设备的处理能力、设备的使用时间等。\n[0161] 此外,如果发现局域网内存在多个主设备,则启动竞争过程。主设备竞争由XMPP服务器端进行仲裁,仲裁规则包括网络连接方式(有线优于无线局域网WiFi优于广域网3G),电源管理方式(直接供电优于电池,如果都是电池,则看剩余使用时间),网络带宽(网速高的更优)等。\n[0162] 步骤S503:给所述第一电子设备和所述多个其他电子设备形成的第一自治网络分配第一网络标识。\n[0163] 在该步骤中,给XMPP设备1-3形成的第一自治网络分配第一网络标识,该标识用于唯一地确定该第一自治网络。\n[0164] 步骤S504:将指示确定结果的通知信息发送给所述第一电子设备和所述其它电子设备,该通知信息指示所述XMPP服务器在第一局域网内选择所述第一电子设备作为主设备,并且选择所述第一局域网内的多个其它电子设备作为从设备,并且该通知信息包括所述第一电子设备和所述多个其他电子设备形成的第一自治网络的第一网络标识。\n[0165] 在该步骤中,服务器生成通知信息,并且将通知信息通知给主设备和从设备。例如,如前面所描述的,服务器在包括XMPP设备1-3的第一局域网内,选择XMPP设备2(PC)作为主设备,并且发送通知消息给XMPP设备2(PC),该通知消息指示服务器已经在XMPP设备1-3中选择XMPP设备2作为主设备,并且XMPP设备1和3作为从设备。服务器还将该通知消息发送给XMPP设备1和3,并且通知XMPP设备1和3切换为XMPP设备2(PC)的从设备。此外,该通知信息包括所述XMPP设备1-3形成的第一自治网络的第一网络标识。\n[0166] 步骤S505:登记所述主设备和所述从设备每个的第一标识,所述第一标识用于唯一地识别对应的电子设备,并且登记每个从设备的重新定向标识信息,所述重新定向标识信息包括所述第一自治网络的网络标识、所述从设备的第一标识、由主设备分配给从设备的第二标识和主设备的第一标识,所述从设备的第二标识仅用于在包括主设备和从设备的所述第一自治网络内的通信。\n[0167] 在该步骤中,服务器登记所述主设备和所述从设备每个的第一标识,用于维护设备与局域网外的设备的通信。此外,服务器登记每个从设备的重新定向标识信息,所述重新定向标识信息包括所述第一自治网络的网络标识、所述从设备的第一标识、由主设备分配给从设备的第二标识和主设备的第一标识,所述从设备的第二标识仅用于在包括主设备和从设备的所述第一局域网内的通信。通过该从设备的重新定向标识信息,能够将外部设备对于从设备的第一标识的访问请求转换为第二标识的访问请求,从而经过主设备的路由,与从设备进行通信。\n[0168] 需要注意的是,服务器则选择主设备并将从设备的控制权转移给主设备之后,将与从设备断开连接,而只与主设备连接通信。因此,这可以大大降低系统带宽。\n[0169] 此外,在第一局域网中已经存在第一自治网络的情况下,还可以响应于所述第一局域网内的多个电子设备中的第二电子设备发出的创建第二自治网络的请求,确定所述第二电子设备作为第二主设备,并且给新创建的第二自治网络分配第二网络标识。\n[0170] 在一个实施例中,假设新出现的XMPP设备4请求创建第二自治网络,并且XMPP设备\n5和6请求加入第二自治网络。XMPP服务器检测XMPP设备4是否满足成为主设备的条件,如是否具有网络连接能力等。如果检测发现XMPP设备4满足条件,则可以确定XMPP设备4为第二主设备,并且给其创建的第二自治网络分配第二网络标识。\n[0171] 然后,XMPP服务器登记所述XMPP设备4的第一标识,并且登记每个从设备XMPP设备\n5和6的重新定向标识信息,所述重新定向标识信息包括所述第二自治网络的网络标识、所述从设备的第一标识、由主设备分配给从设备的第二标识和所述主设备的第一标识,所述从设备的第二标识仅用于所述第二自治网络内的通信。\n[0172] 此外,主设备可能由于各种原因失效(如关机、断电、网络故障等),因此,在主设备失效超过预定时间段之后,各从设备自行恢复与服务器的连接。然后,服务器从恢复连接的从设备中重新选择一个作为主设备。该选择方式与前面描述的选择主设备的方式相同。此后,服务器将指示确定结果的通知信息发送给所述第一局域网内的所有其它设备。然后,其它设备以新选择的主设备为中心组成自治网络。\n[0173] 因此,根据本发明第三实施例的应用于服务器端的基于XMPP协议的控制方法,服务器能够根据从设备的第二标识解决设备标识的重定向和缓冲以便于其他设备发现和状态同步的问题,另外,服务器不负责主设备和从设备组成的局域网内的通信路由,从而大大降低了系统带宽。\n[0174] 图9是示出根据本发明第三实施例的服务器的方块图。\n[0175] 根据本发明第三实施例的服务器600包括:\n[0176] 确定单元601,配置为确定多个电子设备是否处于相同的第一局域网内;\n[0177] 选择单元602,配置为在已经确定处于第一局域网内的多个电子设备中,根据预定条件确定第一电子设备作为主设备,并且确定多个其它电子设备作为从设备;\n[0178] 网络标识分配单元603,配置为给所述第一电子设备和所述多个其他电子设备形成的第一自治网络分配第一网络标识。\n[0179] 通知单元604,配置为将指示确定结果的通知信息发送给所述第一电子设备和所述其它电子设备;\n[0180] 登记单元605,配置为登记所述主设备和所述从设备每个的第一标识,所述第一标识用于唯一地识别对应的电子设备,并且登记每个从设备的重新定向标识信息,所述重新定向标识信息包括所述第一自治网络的网络标识、所述从设备的第一标识、由主设备分配给从设备的第二标识和主设备的第一标识,所述从设备的第二标识仅用于在包括主设备和从设备的所述第一自治网络内的通信。\n[0181] 优选地,所述确定单元601根据所述多个电子设备的包括设备类型、设备标识、设备供电方式、设备无线连接方式、设备的处理能力、设备的使用时间的属性确定主设备。\n[0182] 此外,当存在多个主设备候选者时,所述确定单元601根据多个主设备候选者的网络连接方式、电源管理方式和网络带宽仲裁一个电子设备作为主设备。\n[0183] 此外,所述选择单元602还可以响应于所述第一局域网内的多个电子设备中的第二电子设备发出的创建第二自治网络的请求,确定所述第二电子设备作为第二主设备,并且给新创建的第二自治网络分配第二网络标识。\n[0184] 所述登记单元605登记所述主设备的第一标识,所述第一标识用于唯一地识别每个电子设备,并且登记每个从设备的重新定向标识信息,所述重新定向标识信息包括所述第二自治网络的网络标识、所述从设备的第一标识、由主设备分配给从设备的第二标识和所述主设备的第一标识,所述从设备的第二标识仅用于所述第二自治网络内的通信。\n[0185] 此外,在主设备失效超过预定时间段之后,所述确定单元601可以从恢复和服务器的联系的从设备中重新选择一个作为主设备。另外所述通知单元603可以将指示确定结果的通知信息发送给所述第一局域网内的所有设备。\n[0186] 因此,根据本发明第三实施例的服务器,所述XMPP服务器能够根据从设备的第二标识解决设备标识的重定向和缓冲以便于其他设备发现和状态同步的问题,另外,服务器不负责主设备和从设备组成的局域网内的通信路由,从而大大降低了系统带宽。\n[0187] 需要注意的是,上面的实施例仅仅是用作示例,本发明不限于这样的示例,而是可以进行各种变化。\n[0188] 需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。\n[0189] 最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。\n[0190] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM(只读存储器)/RAM(随机存取存储器)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。\n[0191] 以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
法律信息
- 2017-05-24
- 2014-05-07
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201210370846.5
申请日: 2012.09.28
- 2014-04-09
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2004-03-10
|
2002-11-06
| | |
2
| |
2005-02-09
|
2004-07-07
| | |
3
| | 暂无 |
2011-12-27
| | |
4
| |
2006-07-05
|
2004-01-20
| | |
5
| | 暂无 |
2008-01-02
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |