本申请要求于2017年3月8日递交的发明名称为“将无线设备抽象为虚拟以太网接口”的第15/453,816号美国非临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。
发明领域
本发明涉及一种低功耗、低带宽无线设备,尤其涉及将所述无线设备抽象为虚拟以太网接口。
背景技术:
大多数低带宽无线接口和设备(例如,
技术实现要素:
现描述各种示例从而以简化的形式引入概念的选择,这些概念将在以下具体实施方式中进行进一步的描述。本发明内容的目的不在于识别权利要求书保护的主题的关键或必要特征,也不在于限制权利要求书保护的主题的范围。
示例1是一种计算机实施的用于在控制器中将无线接口协议抽象为以太网协议的方法,所述方法包括:检测到无线设备使用所述无线接口协议接入所述控制器的无线网络接口,其中,所述无线设备通过无线设备标识(identifier,简称id)来识别;创建具有关联以太网接口id的虚拟以太网接口;在所述控制器的存储器表中将所述无线设备id与所述以太网接口id相关联;通过所述无线技术协议从所述无线设备接收净荷;使用所述以太网协议将所述净荷发送到所述虚拟以太网接口。
在示例2中,示例1的主题可选地包括:所述无线网络接口先查找用于将所述关联以太网接口id与所述无线设备id相关联的所述表,然后再将所述净荷发送到具有所述关联以太网接口id的所述虚拟以太网接口。
在示例3中,示例1至2中任意一个或多个示例的主题可选地包括:应用层的应用从所述虚拟以太网接口的原始套接字接收所述净荷。
在示例4中,示例1至3中任意一个或多个示例的主题可选地包括:将所述净荷发送到所述应用层包括将所述净荷存储在所述虚拟以太网接口与所述应用层中的关联应用插件之间的共享存储器中。
在示例5中,所述净荷是第一净荷并且示例1至4中任意一个或多个示例的主题可选地包括:从应用插件向所述虚拟以太网接口发送第二净荷;使用所述以太网协议将所述第二净荷从所述虚拟以太网接口转发到所述无线网络接口;查找所述表以确定与所述虚拟以太网接口id相关联的所述无线设备id;使用所述无线接口协议将所述第一净荷发送到包含所述无线设备id的所述无线设备。
示例6是一种无线接口系统,包括:无线网络接口,用于使用预定无线技术协议和所述预定无线技术协议与以太网协议之间的接口通过无线信道发送和接收信号;非瞬时性存储器,包含指令;一个或多个处理器,与所述无线网络接口和所述存储器通信,其中,所述一个或多个处理器执行所述指令以用于:通过所述无线网络接口检测到无线设备使用所述预定无线技术协议的接入,其中,所述无线设备通过无线设备标识(identifier,简称id)来识别;创建具有关联以太网接口id的虚拟以太网接口;在所述存储器表中将所述无线设备id与所述以太网接口id相关联;通过所述无线技术协议从所述无线设备接收净荷;使用所述以太网协议将所述净荷发送到所述虚拟以太网接口。
在示例7中,示例6的主题可选地包括:所述预定无线技术协议符合ieee802.15.4、ieee802.15.1或
在示例8中,示例6至7中任意一个或多个示例的主题可选地包括:所述无线网络接口包括用于所述预定无线技术协议的无线、天线、驱动程序以及协议栈。
在示例9中,示例6至8中任意一个或多个示例的主题可选地包括:所述一个或多个处理器执行以下所述指令以用于:在所述存储器中创建查找表,其中,所述查找表包含无线设备id和关联的虚拟以太网id;在所述无线设备与所述虚拟以太网接口之间进行通信过程中访问所述查找表。
在示例10中,示例6至9中任意一个或多个示例的主题可选地包括:所述无线网络接口还包括无线和天线,其中,所述无线和所述天线用于使用所述预定无线技术协议与所述无线设备进行通信。
在示例11中,示例6至10中任意一个或多个示例的主题可选地包括:所述一个或多个处理器执行所述指令以用于:在所述控制器的用户空间中从所述无线设备分离数据路径和控制路径,并将所述数据路径以所述虚拟以太网接口的形式呈现给操作系统。
在示例12中,示例6至11中任意一个或多个示例的主题可选地包括:所述一个或多个处理器执行所述指令以用于:在所述控制器与所述无线设备之间执行控制路径功能,将数据净荷传递到所述虚拟以太网接口。
在示例13中,示例6至12中任意一个或多个示例的主题可选地包括:耦合在所述虚拟以太网接口与应用层之间的共享存储器。
在示例14中,示例6至13中任意一个或多个示例的主题可选地包括:所述虚拟以太网接口和所述共享存储器位于所述控制器的操作系统的内核中。
示例15是一种非瞬时性计算机可读介质,用于存储在无线接口系统中将无线接口技术协议抽象为以太网协议的计算机指令,其中,当一个或多个处理器执行所述计算机指令时,使得所述一个或多个处理器执行以下步骤:通过无线网络接口检测到无线设备使用所述无线接口协议的接入,其中,所述无线设备通过无线设备标识(identifier,简称id)来识别;创建具有以太网接口id的虚拟以太网接口;在存储器表中将所述无线设备id与所述以太网接口id相关联;通过所述无线技术协议从所述无线设备接收净荷;使用所述以太网协议将所述净荷发送到所述虚拟以太网接口。
在示例16中,示例15的主题可选地包括:所述一个或多个处理器进一步分离所述无线设备的控制路径和数据路径。
在示例17中,示例16的主题可选地包括:所述一个或多个处理器进一步执行所述无线网络接口中的所述控制路径和所述无线接口系统的用户空间中的所述数据路径。
在示例18中,示例15至17中任意一个或多个示例的主题可选地包括:所述一个或多个处理器进一步在所述无线接口系统的操作系统的内核中创建所述虚拟以太网接口。
在示例19中,示例15至18中任意一个或多个示例的主题可选地包括:所述一个或多个处理器进一步通过所述无线网络接口将所述无线设备与使用所述无线接口协议的网络进行配对。
在示例20中,示例19的主题可选地包括:所述一个或多个处理器在将所述无线设备与所述网络进行配对时进一步通过所述无线网络接口将所述无线设备id分配给所述无线设备。
在不脱离本发明范围的前提下,任何一个前述示例都可以与任何一个或多个其它前述示例结合以创建新的实施例。
附图说明
图1为根据各种实施例的通信系统的方框图;
图2为用于将无线设备抽象为虚拟以太网接口的方法的实施例的流程图;
图3为用于将无线接口抽象为虚拟以太网接口的方法的另一实施例的流程图;
图4为示出了根据各种实施例的用于实现算法并执行方法的无线设备、无线网络接口和服务器的电路的方框图;
图5为根据各种实施例的包含待抽象为虚拟以太网接口的一个或多个无线设备的网络的图。
具体实施方式
较短距离无线接口技术
采用各种无线协议技术用于将设备抽象为虚拟以太网接口的方法使所述应用开发者能够在开发应用时避免潜在的供应商特定问题。这些应用可以独立于接口技术、设备供应商或设备类型开发。此处描述的抽象所述无线设备是指将所述无线设备映射到虚拟以太网接口。
对
后续描述的方法将所述无线接口的控制路径与数据路径分离。用于处理网络数据包的逻辑大致可分为两类:控制路径和数据路径。控制路径数据包发往路由器或由所述路由器在本地发起。控制路径功能包括系统配置、管理和交换控制信息。数据路径数据包经由网络设备传输流量。通过所述数据路径,可以将数据发送到客户端并从所述客户端接收数据。数据路径流量通过网络设备传输。将所述数据路径分离(例如,在用户空间中)并作为通用以太网接口呈现给操作系统(operatingsystem,简称os)。然后,应用层可以通过传统os以太网处理方式来处理来自净荷的数据包。
此处所使用的用户空间可以定义为执行用户进程(例如,应用)的系统存储器的一部分。这与内核空间不同,所述内核空间是内核执行并提供其服务的系统存储器的一部分。所述内核可以定义为构成计算机os核心的计算机程序。所述内核控制所述os中发生的进程。所述内核是启动时加载的第一个程序,因此可以管理所述启动的其余部分以及输入/输出转换为中央处理单元(centralprocessingunit,简称cpu)的数据处理指令的来自执行应用的请求。所述内核还可以负责管理存储器并与计算机外设进行通信。
图1为根据各种实施例的通信系统的方框图。如图1所示,所述系统包括无线设备1110、无线设备2111和无线设备n112,其通过无线信道与无线接口系统190(例如,计算机、服务器、平板电脑、智能手机和电子设备等)进行通信。所述无线接口系统190是一种控制器,所述控制器包括耦合到存储器100的无线网络接口120。所述无线设备1110、所述无线设备2111和所述无线设备n112可以统称为无线设备110-112。
所述无线设备110-112中的每个无线设备可以是
所述无线接口系统190包括耦合到所述存储器100的所述无线网络接口120。所述存储器100包括应用插件1142、应用插件2143和应用插件k144以及os内核150。所述应用插件1142、应用插件2143和应用插件k144可以统称为应用插件142-144。所述os内核150包括虚拟以太网接口1122、虚拟以太网接口2123、虚拟以太网接口k124、共享存储器1132、共享存储器2133和共享存储器k134,其中k等于n。所述虚拟以太网接口1122、虚拟以太网接口2123和虚拟以太网接口k124可以统称为虚拟以太网接口122-124。所述共享存储器1132、共享存储器2133和共享存储器k134可以统称为共享存储器132-134。
所述无线网络接口120包括所述无线、天线151、驱动程序、协议栈和程序通过无线网络使用所述无线接口技术中的相应一种技术与所述无线设备110-112进行通信。例如,所述无线网络接口120可以是连接到
在一实施例中,所述虚拟以太网接口122-124可以在存储器100的os内核150中创建。换句话说,可以为所述无线设备110-112中的每个无线设备分配相应的虚拟以太网接口122、123或124。如下所述,生成哪个虚拟以太网接口122、123或124并且与特定无线设备110、111或112相关联由所述无线网络接口120跟踪。
例如,假设所述无线设备1110和所述无线设备2111都是
所述虚拟以太网接口122-124中的每个虚拟以太网接口可以耦合到相应的共享存储器132、133或134。所述共享存储器132-134可以位于存储器100的os内核150中。所述os可以是任何计算机操作系统,例如linux、windows或macintoshos。
所述共享存储器132-134中的每个共享存储器可以与相应的耦合应用插件142、143或144共享。因此,应用插件1142可以与虚拟以太网接口1122共享共享存储器1132,应用插件2143可以与虚拟以太网接口2123共享共享存储器2133,应用插件k144可以与虚拟以太网接口k124共享共享存储器k134。
如目前公开的,控制路径提供设备和网络管理功能,可以是硬件路径或虚拟路径。同样,如目前公开的,数据路径提供数据净荷检索和生成功能,可以是硬件路径或虚拟路径。所述应用插件142-144是所述os应用层的一部分。由于每个无线设备的控制路径由所述无线网络接口120处理,因此所述无线设备110-112中的每个无线设备的数据路径由其相应应用插件142、143或144处理。因此,所述应用插件142-144不必专用于任何一种特定的无线接口技术。所述应用插件142-144中的每个应用插件使用其相应的虚拟以太网接口122、123或124进行通信。因此,应用开发者可以编写一个应用插件,所述应用插件可以通过所述无线接口技术中的任何一种无线接口技术使用通用以太网协议与其关联的无线设备进行通信。
图2为用于将所述无线设备110-112中的每个无线设备抽象为相应的虚拟以太网接口122-124的方法的实施例的流程图。该方法将尝试将无线网络与所述无线接口系统190连接的所述无线设备110-112中的一个或多个映射到其相应的以太网接口122-124。
方框201包括:通过所述无线网络接口120检测到无线设备(例如,所述无线设备110)使用无线接口协议的接入,其中,所述无线设备通过无线设备标识(identifier,简称id)来识别。例如,所述无线设备的系统接入可以是所述无线设备与所述无线网络接口120的配对程序,以便建立或加入网状网络(例如,个人区域网络),如后面参考图5所述。
方框203包括:当检测到所述接入(例如,配对请求)时,创建具有关联以太网接口id的虚拟以太网接口。为所述请求的无线设备110-112中的每个无线设备分配不同的关联虚拟以太网接口。所述无线网络接口120可以执行分配所述设备id并将该设备id与特定虚拟以太网接口id相关联的任务。然后,所述无线网络接口120可以在存储器(例如,图4的存储器403)中创建用于无线设备id和关联虚拟以太网接口id的查找表。所述无线设备id与用于存储的相应无线设备(例如,所述无线设备110、111或112)通信。
方框205包括:所述无线网络接口120在所述存储器表中将所述无线设备id与所述以太网接口id相关联(例如,图4的存储器403)。因此,所述表可以包括多个无线设备id,每个无线设备id分别具有相应的关联以太网接口id用于所述关联虚拟以太网接口。
方框207包括:通过无线网络使用所述无线技术协议从所述无线设备110、111或112中的一个无线设备接收数据净荷。所述净荷可以从所述无线设备110、111或112中的一个无线设备以发送的数据包的形式接收。所述数据净荷最初附加到所述无线设备id以标识所述数据包,并通过所述无线网络接口120与所述数据包分离。
方框208包括:所述无线网络接口120查找所述关联以太网接口id与所述无线设备id相关联的所述表。在方框207中,所述无线网络接口120可以查找分配给该特定无线设备id的所述虚拟以太网接口id。
方框209包括:所述无线网络接口120使用所述以太网协议将所述净荷发送到所述虚拟以太网接口。所述数据净荷可以发送到以太网帧中的以太网接口。所述以太网帧结构在现有技术中是众所周知的,不作进一步讨论。
方框210包括:所述应用层(例如,图1中的应用插件142-144)从所述关联虚拟以太网接口的原始套接字(即,允许直接发送和接收互联网协议数据包而不需要任何特定协议的传输层格式化的互联网套接字)接收所述净荷。例如,所述虚拟以太网接口1122可以将所述净荷存储在所述共享存储器1132中,以供所述应用插件1142访问。因此,所述无线网络接口120接收的净荷通过虚拟以太网接口(例如,所述虚拟以太网接口1122)提供给所述应用层。
图3为用于将无线接口抽象为虚拟以太网接口的方法的另一实施例的流程图。如图2的方法中所提供的,图3的方法假设已经分别为所述无线设备110-112分配了所述网络的相应唯一的无线设备id(例如,节点id),已经创建了相应的虚拟以太网接口122、123或124,并且其以太网接口id与所述相应的节点id相关联。
方框301包括:所述应用层(例如,图1的应用插件142-144)将净荷从应用插件发送到其相应的与所述应用插件相关联的虚拟以太网接口122、123或124。为实现此目的,所述应用插件将所述数据存储在所述共享存储器132、133或134中,所述共享存储器132、133或134与所述应用插件142、143或144及其相应的虚拟以太网接口122、123或124相关联。
方框302包括:所述虚拟以太网接口使用所述以太网协议将第二净荷从所述虚拟以太网接口转发到所述无线网络接口120(例如,作为以太网帧中的净荷的一部分)。所述虚拟以太网接口id与所述帧关联。
方框303包括:所述无线网络接口120查找所述表以确定与发送了所述帧的所述虚拟以太网接口id相关联的所述无线设备id。此步骤确定所述无线接口技术,从而确定所需无线设备110、111或112使用的传输协议。
方框305包括:所述无线网络接口120使用所述无线接口协议向所述无线设备发送所述净荷,所述无线设备包含所述无线设备id。因此,所述无线网络接口120使用该特定无线设备110、111或112的协议和规格重新格式化所述数据净荷。然后,所述无线网络接口120通过所述无线信道将所述数据净荷作为射频信号发送到所需的无线设备110、111或112。
图4为示出了根据各种实施例的用于实现算法并执行方法的无线设备、无线网络接口和服务器的电路的方框图。所述方框图中的元件仅用于说明,因为在各种实施例中不需要使用某些组件。
作为所述无线接口系统190(例如,控制器)实施的一示例性计算设备400可以包括处理单元402(例如,cpu)、存储器403、可移动存储器410和不可移动存储器412。所述处理单元402可以包括一个或多个处理器。
所述处理器402可以创建所述关联虚拟以太网接口122-124,执行所述必要的无线技术协议和以太网协议以在所述无线设备110-112与所述以太网接口122-124之间进行连接,在存储器中创建包含所述无线设备id和所述关联的虚拟以太网id的查找表,以及在所述无线设备110-112与所述虚拟以太网接口122-124之间进行通信过程中查找该表。所述存储器403可以包括用于执行所述预定无线技术协议的指令。
虽然示例计算设备被图示和描述为计算机400,但是所述计算设备在不同的实施例中可以是不同的形式。此外,虽然各种数据存储元件410、412被图示为所述计算机400的一部分,但是所述存储器还可以或者可选地包括通过网络例如互联网可访问的基于云的存储器,或者基于服务器的存储器。
所述存储器403可以包括易失性存储器414和非易失性存储器408。所述计算机400可以包括或者可以访问计算环境,该计算环境包括各种计算机可读介质,例如易失性存储器414和非易失性存储器408、可移动存储器410和不可移动存储器412。所述程序存储器408存储所述处理单元402执行的可执行指令,并且可以是所述易失性存储器414、所述非易失性存储器408、所述可移动存储器410或所述不可移动存储器412的一部分。例如,所述应用插件142-144可以存储在所述程序存储器418中,以供所述应用层中的所述处理单元402执行。计算机存储器包括随机存取存储器(randomaccessmemory,简称ram)、只读存储器(read-onlymemory,简称rom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom)和电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom)、闪存或其它存储器技术、只读光盘(compactdiscread-onlymemory,简称cdrom)、数字多功能光盘(digitalversatiledisc,简称dvd)或其它光盘存储器、盒式磁带、磁带、磁盘存储器或其它磁存储设备,或者任何其它能够存储计算机可读指令的介质。
所述计算机400可以包括或可以访问计算环境,所述计算环境包括输入406、输出404和具有关联天线420的无线接口416。所述输出404可以包括可以用作输入设备的显示设备,例如触摸屏。所述输入406可以包括以下一种或多种:触摸屏、触摸板、鼠标、键盘、相机、一个或多个设备专用按钮、集成在所述计算机400内或通过有线或无线数据连接耦合到所述计算机400内的一个或多个传感器,以及其它输入设备。所述计算机400可以通过通信连接在联网环境中工作,以连接到一个或多个远程计算机,如数据库服务器。所述远程计算机可以包括个人计算机(personalcomputer,简称pc)、服务器、路由器、网络pc、对等设备或其它公共网络节点等。所述通信连接可以包括局域网(localareanetwork,简称lan)、广域网(wideareanetwork,简称wan)、蜂窝、wi-fi、蓝牙或其它网络。所述无线接口416可以使用采用任何规范的任何调制方案或协议通过无线信道发送和接收rf信号。
存储在计算机可读介质上的计算机可读指令可由所述计算机400的处理单元402执行。硬盘驱动器、cd-rom和ram是包括如存储设备的非瞬时性计算机可读介质的部件的一些示例。术语“计算机可读介质”和“存储设备”不包括载波,只要认为载波过于短暂。存储器也可包括联网存储器,例如420处指示的存储区域网络(storageareanetwork,简称san)。
图5为根据各种实施例的包含待抽象为虚拟以太网接口的一个或多个无线设备的无线网络的图。作为所述无线网络中无线设备110、111或112的操作示例,示出了
图5的网络包括如图1和以上所述的无线接口系统190和多个无线设备110-112。
最简单的网络是单个可控设备110和所述无线接口系统190。可以随时添加其它无线设备,也可以添加从控制器,包括传统手持控制器、密钥卡控制器、墙面开关控制器和专为管理和控制所述
为了使无线设备“包含”到所述
如图1所示,在所述无线设备110、111或112与所述无线接口系统190中的无线网络接口120之间执行所述配对过程。所述无线接口系统190的其余部分不关心使用哪种无线技术,因为所述os内核仅通过以太网协议从所述配对的和配对过的无线设备110-112接收所述数据路径。
每个z-wave网络由网络id标识,每个无线设备由节点id进一步标识。所述网络id也称为家庭id,是属于一个逻辑
以上结合附图进行详细描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实施本发明的具体实施例。这些实施例将充分详细描述使本领域技术人员能够实施本发明而且应该明白的是可以使用其它实施例并且在不脱离本发明的范围的情况下可以做出结构上、逻辑上、电学上的改变。因此,所描述的示例性实施例并不当作限定,本发明的范围由所附权利要求书界定。
在一实施例中,本文描述的功能或算法可以采用软件实现。该软件可包含计算机可执行指令,这些计算机可执行指令存储在计算机可读介质上或者计算机可读存储设备上,如一个或多个非瞬时性存储器或其它类型的本地或联网的硬件存储设备。此外,这些功能对应模块,这些模块可以是软件、硬件、固件或其任意组合。多个功能可根据需要在一个或多个模块中执行,所描述的实施例仅为示例。该软件可在数字信号处理器、asic、微处理器上执行或者在个人计算机、服务器、或其它计算机系统等其它类型的计算机系统上运行的处理器上执行,从而将这些计算机系统转换成一个专门编程的机器。
与现有技术方法和系统相比,本文公开的将无线设备抽象为虚拟以太网接口的方法和系统可以简化开发软件以与一个或多个无线设备进行交互的过程。此外,通过将所述控制路径处理与所述数据路径处理分离,可以在多个应用插件之间共享执行所述控制路径处理的软件和硬件。因此,存储器、cpu使用率或两者都可能会降低。
虽然上文详细描述了几个实施例但是可能进行其它修改。例如为了获得期望的结果附图中描绘的逻辑流不需要按照所示的特定顺序或者先后顺序。可以提供其它步骤或者从所描述的流程中去除步骤,所描述的系统中可以添加或移除其它组件。其它实施例可以在所附权利要求书的范围内。