基于物联网的智能医疗系统流量管理与软件定义网络
摘要
物联网(IoT)旨在将数十亿设备连接到互联网。这些设备产生大量的流量。无线体域网(WBAN)汇聚部署在人体上或体内传感器所产生的数据。由于所部署传感器的资源受限,汇聚后的数据会被转发至边缘节点或云端的服务器进行进一步处理和决策。随着物联网部署被广泛接受,无线体域网也可与物联网集成,为智能医疗应用程序用户提供清晰的情境环境。软件定义网络(SDN)是一种提供集中式控制和网络可编程性的新型网络范式。SDN 的这些特性为 WBAN 和物联网应用开辟了新的前景。本文中,将个人数字助理(PDA)配置为 SDN 交换机,并使用 Mininet 模拟 SDN 功能,以验证该方法可在无线体域网中以最小的部署复杂性和网络开销实现,同时高效地管理连接的设备及其之间的连接。
关键词 —医疗保健,软件定义网络,物联网,管理,OpenFlow。
一、引言
物联网(IoT)是一种新兴架构,预计数十亿个物体和智能设备将连接到互联网,并在无需或仅需少量人工干预的情况下运行。直观而言,如此庞大的智能互联设备网络会产生巨大的流量,从而增加了使用传统网络架构处理高负载流量的复杂性。物联网的应用包括但不限于暖通空调(HVAC)、智能家居、工业自动化和医疗保健。物联网设备的异构性要求采用标准的通信技术和协议,能够在噪声和无损通信环境中利用低功耗设备高效运行。物联网通信的标准化协议包括IEEE 802.15.4、ZigBee、蓝牙和 Wi-Fi [1][2]。
物联网中的一个基本且不可避免的问题是存在产生大量流量的异构设备。如何管理这些具有高流量负载的异构设备,仍然是一个开放的研究挑战。幸运的是,最近的网络范式——软件定义网络(SDN)提供了集中式控制和网络编程等功能[3]。SDN 将控制平面与数据平面分离。前者为集中的结构,包含一个或多个可编程控制器,用于计算流表并将其安装到数据平面的设备上。控制平面的编程功能使得能够在网络中应用定制化和面向具体应用的功能,例如路由、安全、服务质量等[5]。后者由转发设备(主要是交换机)组成,直接连接到终端用户。
物联网提供了大量引人注目的应用程序。其在医疗保健领域的应用是极具前景的应用之一,其中与医疗保健相关的数据通过智能设备进行监测,并转发给医疗专业人员。由智能医疗监控设备组成的无线传感器网络称为无线体域网(WBAN)。无线体域网的架构包括记录特定健康参数的传感器,这些传感器将数据发送到本地个人数字助理(PDA),该设备可以是智能手机或定制设备。最终,数据通过互联网转发到后端服务器(例如位于医院的服务器)。无线体域网的 proposed 标准为 802.15.6[13]。
在本研究工作中,我们考虑了无线体域网(WBAN)中产生的三种类型的流量。第一种是生理数据,进一步分为紧急数据和周期性数据。第二和第三种流量分别为传感器健康流量和环境数据。为了处理这种异构流量,我们利用软件定义网络(SDN)的特性来增强WBAN的性能。我们的工作提出,传感器将数据转发到个人数字助理(PDA),该PDA充当SDN交换机并由SDN控制器进行编程。在本例中,PDA将作为数据平面,用于对不同类型的流量进行分类,并将数据转发到相应的服务器。
本文其余部分组织如下。第2节简要介绍了软件定义网络(SDN)和无线体域网(WBAN)的背景。接着解释了本文所使用的系统模型和测试平台。第4节描述了 PDA的功能。在第5节中,我们介绍了实验设置和实现。最后,第6节总结了本文并提供了未来方向。
II. 背景
物联网可以定义为由物体和智能设备组成的网络。这些设备具有物理属性、身份标识、基于标准通信协议的自配置能力,并且易于集成到一个有用的系统中信息网络 [1]。物联网旨在将数十亿个日常设备(如手表、汽车、洗衣机、家用电器)连接到互联网,实现这些设备之间的交互和通信 [2]。通信技术与射频识别、传感器的集成可以作为物联网的基础设施,使不同的设备和物体能够连接到互联网并相互通信,以实现共同目标 [1]。
A. 软件定义网络概述
软件定义网络是一种新兴的计算机网络范式。软件定义网络的理念是将数据平面与控制平面分离,以简化网络管理,这与传统架构不同,在传统架构中,控制平面和数据平面位于同一设备内。控制平面负责生成流表,数据平面则利用这些流表来转发生成的数据 [4]。
软件定义网络的控制平面是集中的,而数据平面是分布式的。控制平面的集中式特性使网络更加灵活,并增强了流量转发决策能力。SDN控制器位于SDN架构的控制平面中,可由外部进行编程。通过配置SDN控制器即可向网络添加新的策略,而无需更换任何硬件 [5][6]。可以使用可编程控制器语言(例如POX控制器和Floodlight控制器)在SDN控制器中定义网络策略。转发规则在控制器中进行编程,并填充到流表中,用于控制网络性能。数据平面根据控制器定义的流表将数据转发到目的地。
SDN架构定义了两个接口,即南向接口和北向接口。南向接口负责定义转发设备的指令集,同时还定义了控制平面元件与转发设备之间的通信协议。北向接口为应用程序的开发提供了应用程序编程接口。该接口用于抽象南向接口所使用的底层指令或应用程序,以对转发设备进行编程。这些接口如图1所示。
最常用的南向接口协议用于交换机与控制器之间的通信采用OpenFlow。OpenFlow协议的标准化由开放网络基金会(ONF)完成。OpenFlow通过一种开放协议实现标准化,该协议允许在SDN控制器中编程流表,然后将流表推送到SDN交换机以作为数据平面。OpenFlow协议的通信机制基于三个部分:第一部分是定义包含流表项的流表,用于转发数据流量;第二部分涉及一个安全通道,用于连接交换机与控制器,实现交换机和控制器之间的数据包传输;第三部分定义了标准接口上的 OpenFlow协议,通过该接口定义流表[8]。NOX [9], Floodlight和POX是OpenFlow控制器的示例[10]。POX控制器可通过Python编程,利用应用程序编程接口(APIs)访问交换机,使开发人员能够根据需求对网络进行编程[11]。
B. 物联网的软件定义网络
物联网将大量设备连接到互联网。使用传统网络架构 [12]管理如此庞大的数量要么不可能,要么不可行。网络管理在基于物联网的网络整体性能中可发挥重要作用,因为这些网络会产生海量数据。需要新的协议和架构来控制和管理此类网络。可以利用软件定义网络的集中式特性,通过全局视图来管理网络。从而通过提高带宽利用率、实现负载均衡和最小化延迟来增强物联网网络的性能[7]。
C. 无线体域网
无线体域网(WBAN)由附着在患者身体上或植入体内的传感器组成,用于采集生命体征数据并建立无线传感器网络。这些传感器监测特定的健康参数,并将感知到的数据转发给医护人员以进行必要的处理和分析。无线体域网中有两种设备,即执行器和传感器。传感器可外部或内部测量健康参数,例如心电图(ECG)、心跳等。而执行器则根据来自传感器、智能手机或个人数字助理(PDA)的反馈信号采取相应动作。传感器通常资源非常有限,需要密切监控和管理。
在传统的无线传感器网络中,可以通过复制传感器来提高可用性、可靠性和故障管理能力,并且可以方便地更换传感器或其电池。然而,对于无线体域网传感器而言情况并非如此,特别是当传感器被植入人体内部时,其管理极具挑战性。
无线体域网(WBAN)通信架构分为三个不同的层级。第一层,即BAN内通信,涉及WBAN与个人数字助理(PDA)之间的通信,该通信层级负责将体征信号转发至PDA。第二层通信涉及PDA与Wi-Fi接入点(AP)之间的BAN间通信,PDA与AP的连接属于BAN间通信的一部分。此外,第二层还涉及WBAN与不同网络的连接。第二层所使用的无线通信技术包括ZigBee、无线局域网(WLAN)和蓝牙。最后,第三层通信被称为超BAN通信,它在第二层和外部网络之间充当网关 [13]。迄今为止,已提出并设计了多种用于无线体域网和物联网的协议。公认的标准协议包括IEEE 802.15.4、IEEE 802.15.6和IEEE 802.15.1。这些协议支持网络协议栈的物理层和数据链路层。这些协议主要针对低功耗设备、短距离和低数据速率而设计。[14]
III. 系统模型与测试平台
端到端系统架构如图2所示。该系统架构由家庭/办公室中的患者、个人数字助理(PDA)、SDN控制器和后端服务器组成。无线体域网传感器(WBAN传感器)布置在患者身体上,物联网传感器(IoT传感器)则放置在同一房间的附近。测量数据被转发至作为SDN设备的PDA。该SDN设备(PDA)根据SDN控制器定义的流表,通过Wi-Fi或3G/4G蜂窝网络等通信服务将流量转发至后端服务器。
A. 智能医疗流量类型
为了应对预期数量庞大且需要被监控和远程管理的智能医疗接受者,最好将个人数字助理(PDA)配置为由位于远程位置的SDN控制器编程的SDN交换机。智能医疗系统中的流量可分为生理数据、环境数据和传感器状态健康数据。生理数据或生命体征数据可进一步分为周期性生理数据和紧急生理数据[9]。环境数据可以从室内或室外环境中采集。传感器的健康数据表示传感器的状态,例如电池电量、接收信号强度指示(RSSI)、链路质量等。个人数字助理(PDA)可被配置为对来自不同传感器的流量进行分类,并将其转发到相应的目的地。图2描述了从传感器到个人数字助理(PDA),再到达相应终端的流量走向系统。
B. 无线传感器网络
WBAN和物联网传感器采用运行TinyOS嵌入式操作系统的Crossbow MICAz节点实现。WBAN部署了10个传感器,代表WBAN的生命体征传感器。物联网网络由5个传感器组成,用于测量环境数据。在这两个网络中,PDA负责作为网关,将数据中继到后端服务器,如图2所示。该测试平台的主要目的是进行多个实验,以研究WBAN和物联网网络在不同条件下的性能,并在服务器上收集数据集以供进一步处理。测试平台部署在学术单元大楼内的办公环境中。该办公室覆盖IEEE 802.11ac无线网络,在5 GHz频段运行,RSSI约为‐43 dBm。MICAz节点工作在2405 兆赫兹频段,使用Chipcon CC2420,符合IEEE 802.15.4标准,并集成了ZigBee就绪的射频收发器和Atmega128L微控制器。我们为WBAN、物联网网络和网关使用了不同的射频发射功率。除基站(也称为网关或节点0)外,所有节点均由AA电池供电。基站安装在 MIB520上,通过USB连接实现通信、片上编程和供电。节点的工作电压范围为2.7 VDC至3.6 VDC。射频发射功率可在0 dBm(1 mW)到–25 dBm(0.003 mW)之间编程。较低的发射功率具有优势,可减少干扰,并将射频功耗从满功率时的 17.5 mA降低至最低功率时的8.5 mA。节点上连接了一个长度为1.2英寸(四分之一波长)的单极天线。射频接收信号强度指示(RSSI)直接从CC2420射频模块读取。MICAz节点的接收灵敏度为‐94 dBm。在数据采集方面,我们使用 MDA100系列传感器板,其配备有精密热敏电阻、光敏传感器/光电管以及通用原型区域。表I显示了测试平台参数。
MICAz节点按图2所示的方式进行了结构化部署。节点之间的链路是动态的,取决于无线传感器网络的状态。基站(网关)通过USB电缆连接到个人计算机。MICAz节点被配置为每3分钟发送一次数据包。所有节点均配置为低功耗模式。
| 参数 | 网关 | WBAN 传感器 | IoT 传感器 |
|---|---|---|---|
| 节点ID | 0 | 1-10 | 11‐15 |
| 数据包频率 | NA | 180 秒 | 180 秒 |
| 健康数据包频率 | NA | 1200 秒 | 1200 秒 |
| 路由更新频率 | 360 秒 | 360 秒 | 360 秒 |
| 数据包大小 | 55 字节 | 36 字节 | 36 字节 |
| 有效载荷 | 48 | 29 | 29 |
| 射频功率 | ‐10 分贝毫瓦 | ‐15 分贝毫瓦 | ‐10 分贝毫瓦 |
| 射频信道 |
11
2405 兆赫兹 |
11
2405 兆赫兹 |
11
2405 兆赫兹 |
| 电源 | 电池 | 电池 | USB |
| 数据速率 | 250千比特每秒 | 250千比特每秒 | 250千比特每秒 |
C. 软件定义网络配置
在此架构中使用软件定义网络(SDN)的原因在于简化PDA的操作,并将控制功能集中到一个中心位置。当大规模部署智能医疗系统时,这种配置尤为有利。WBAN和物联网设备生成健康与管理数据,并将其转发至PDA。在此架构中,PDA除了承担WBAN和物联网网络所需的其他功能外,还承担SDN交换机的功能。SDN控制器定义了在PDA上实施的流表。SDN控制器实现管理并监控WBAN和物联网网络的网络管理功能。SDN控制器上的管理实体根据流量类型,确定WBAN和物联网网络中每个传感器的最终目的地。该信息作为流表推送到PDA。管理功能服务器定义故障、配置、记账、性能、安全(FCAPS)以及移动性与身份管理[17]。
IV. 个人数字助理功能
在图2所示的架构中,PDA扮演着三种角色。其一是作为网关,将内部无线体域网和物联网传感器连接到外部网络;其二是作为转发设备;其三是对管理数据和用户数据进行预处理,然后再发送到目标主机。当患者处于家庭/办公室时,PDA通过Wi-Fi路由器连接到互联网;当患者处于外部“移动中”时,则通过3G/4G无线蜂窝网络连接。当用户不在家中时,应使用移动IP协议以确保与服务器的持续连接。
A. 设计要求
1) 协议转换
我们建议使用 i 采用IEEE 802.15.6标准用于WBAN,以及IEEE 802.15.4用于WSN中的物联网近程设备。我们还可以使用其他协议,如蓝牙低功耗。个人数字助理应能将这些协议转换为下一跳网络设备协议,如图3所示。它应兼容IPv4 和IPv6,并且还应能够连接到3G/4G蜂窝网络。
2) 转发设备
PDA的主要功能是从接收流量无线体域网和物联网设备将数据转发到目标主机。个人数字助理由SDN控制器配置,以对流量进行分类,如图1所示。流表由SDN控制器根据管理功能提供的管理规则与策略进行配置。初始时,个人数字助理的流表为空,当个人数字助理从传感器接收数据时,会向SDN控制器查询所需的转发动作,这些转发动作由SDN控制器推送到个人数字助理。
3) 预处理
个人数字助理的预处理功能和能力对于医疗接受者的整体管理和监控至关重要。当智能医疗大规模部署时,将产生大量生理数据和管理数据。因此,为了实现高效的管理和对生理及管理异常的快速响应,个人数字助理应在将这些数据转发至目标主机之前进行预处理。例如,在管理数据方面,个人数字助理无需将每个数据包都转发到服务器,而是可以过滤数据包并检测指示异常操作的特定阈值,并相应地向服务器发送事件。对于生理数据包,个人数字助理可遵循特定规则来过滤部分数据。
V. 实验设置与实现
实验分为两个独立步骤进行。第一步是运行传感器网络并收集数据。收集到的数据保存为连接到PDA的个人计算机上的CVS文件。实验设置为运行七天,以覆盖所有工作日。第二步是运行从PDA到后端服务器的连接,并使用CVS文件中的数据,根据配置的流表将其转发到主机。实验中的每个传感器节点都被分配一个唯一的IP地址,并添加到CSV文件中。CSV文件中生成的流量包含三列:第一列定义传感器的IP地址,第二列定义PDA的转发交换机数据路径标识符,第三列定义交换机的输出端口,即数据需要转发到的端口,如表II所示。无线体域网中的PDA作为网关,将数据转发到指定的目的地。在我们的实验中,目的地是两个接收传感器数据和传感器健康数据包的主机。
OpenFlow用于PDA与控制器之间通过安全通道进行通信。OpenFlow用于在PDA中安装流表。流表包含转发流条目,例如匹配网络和MAC地址、PDA的数据路径标识符以及PDA的输出端口。
Mininet [15]用于模拟SDN控制器和OpenFlow设备。Mininet通过创建虚拟交换机、主机和链路,在单个操作系统中构建网络,并运行控制器以进行软件定义网络管理的实验。在Mininet中开发和测试的任何代码都可以经过极少调整后移植到真实系统中。在我们的实验中,外部控制器将由Mininet模拟,其中控制平面负责通过流表配置个人数字助理。该基于SDN的应用采用基于Python编程语言的POX控制器开发,用于无线体域网。
| IP地址 | 交换机 DPID | 出端口 |
|---|---|---|
| 10.0.0.1 (健康服务器) | 1 | 11 |
| 10.0.0.2 (数据服务器) | 1 | 12 |
| 10.0.0.3 (无线体域网节点ID 3) | 1 | 13 |
| 10.0.0.4 (无线体域网节点ID 4) | 1 | 14 |
| 10.0.0.5 (无线体域网节点ID 5) | 1 | 15 |
| 10.0.0.6 (无线体域网节点ID 6) | 1 | 16 |
| 10.0.0.7 (无线体域网节点ID 7) | 1 | 17 |
| 10.0.0.8 (WBAN节点ID 8) | 1 | 1 |
| 10.0.0.9 (WBAN节点ID 9) | 1 | 2 |
| 10.0.0.10 (WBAN节点ID 10) | 1 | 3 |
| 10.0.0.11 (WBAN节点ID 11) | 1 | 4 |
| 10.0.0.12 (WBAN节点ID 12) | 1 | 5 |
| 10.0.0.13 (WBAN节点ID 13) | 1 | 6 |
| 10.0.0.14 (WBAN节点ID 14) | 1 | 7 |
| 10.0.0.15 (WBAN节点ID 15) | 1 | 8 |
VI. 实验分析与评估
为了对实验第一步中的相同流量参数进行建模,将CSV文件中的数据导入D-ITG [16]软件。D-ITG是用于根据特定概率分布定义的模式生成和测量流量的软件。D-ITG包含用于发送、接收和解码流量参数的不同模块:ITGSend、ITGRec和ITGDec组件。为了生成与已进行实验中相同的流量,需为ITGSend模块定义表III中所示的以下参数。
| 目的IP地址 | 端口号 | IDT文件 | 总时间(ms) | 协议 |
|---|---|---|---|---|
| 10.0.0.1 | 1001 | IDT 36 | 86400000 | TCP |
| 10.0.0.2 | 1002 | IDT 36 | 86400000 | TCP |
在ITGSend模块中,发送参数被定义为一个脚本文件。表III的第一列描述了要转发数据的目的节点。在我们的实验中,每个WBAN节点生成传感器健康数据和数据包,并将其转发到传感器健康数据服务器和数据服务器。地址10.0.0.1是传感器健康数据服务器的IP地址。地址10.0.0.2是数据包服务器的IP地址。第二列显示了接收器用于接收数据的端口。第三列显示了定义IDT(包间发送时间间隔)以生成数据包的IDT文件。在本次实验中,IDT以20分钟的时间间隔生成传感器健康数据包,每3分钟生成一个数据包。包含有效载荷的数据包大小为36 字节。第五列是实验的总运行时间(单位:秒)。最后一列表示实验所使用的协议,在我们的实验中使用的是TCP传输协议。表IV显示了实验结果。
| 参数 | 传感器健康数据服务器 | 数据服务器 |
|---|---|---|
| 总时间 | 85282.089秒 | 86394.390秒 |
| 总数据包 | 1095 | 7215 |
| 平均延迟 | 0.00016秒 | 0.000563秒 |
| 平均抖动 | 0.000239秒 | 0.000232秒 |
| 延迟标准差 | 0.000379秒 | 0.000269秒 |
| 接收的字节数 | 39420 | 259740 |
| 平均数据包速率 | 0.012840 包/秒 | 0.083512 个数据包/秒 |
| 数据包丢弃 | 0 百分比 | 0 百分比 |
表IV显示了传感器健康数据服务器和数据服务器在24小时(从进行的七天中选取一天)内从WBAN节点接收到的总数据包。所有传感器在3分钟间隔内生成的总健康数据包为1095个。显然,可以看出所有数据包均成功被传感器健康数据服务器接收。这是因为作为交换机的PDA从SDN控制器获取了路由流表项。从延迟角度来看,所有健康数据包到达健康服务器的平均延迟为0.00016秒,平均抖动为0.000239秒,延迟标准差为0.000379秒。如表所示,在传感器健康数据接收器处平均每秒接收到0.012840个数据包。另一方面,所有传感器发送到数据服务器的总数据包为7215个,到达数据服务器的平均延迟为0.000563秒,平均抖动为0.000232秒,延迟标准差为0.000268。在此情况下,所有由WBAN节点生成的数据字节均被接收,即共接收259740字节,平均每秒数据包速率为0.083512。
VII. 结论
本文研究了在办公环境中部署无线体域网和物联网传感器网络。这两个网络通过SDN配置的网关连接到互联网。整体实验分为两个步骤进行。第一步收集数据,第二步使用生成的数据集测试SDN设置。SDN控制器和转发设备(网关)通过Mininet软件在虚拟机中模拟实现。获得的结果验证了所使用的方法简单、可靠,且对智能医疗系统有效并适用,且不会带来显著开销。该研究的未来方向是专注于更多的管理功能,特别是网络和设备故障管理。
20

被折叠的 条评论
为什么被折叠?



