24、物联网云空间中的数据交付定价与路由策略

物联网云空间中的数据交付定价与路由策略

1. 背景

如今,我们周围充斥着各种类型的网络,如WiFi、LTE无线通信、广播、流媒体等,这些技术广泛应用,但也存在局限性,主要体现在成本和技术方面。在物联网(IoT)的实现中,维持和搭建一个能整合所有设备的高效网络成本高昂。为了改进物联网的推动因素(特别是无线传感器网络WSNs和射频识别技术RFIDs)的性能,人们进行了多次尝试。

物联网的发展存在两个主要驱动力:
- 缺乏适用于动态物联网的独特路由方法。
- 跨多个属于不同服务提供商的实体进行路由时的权衡成本。

一个常见的误解是认为物联网是互联网的衍生,期望为互联网服务开发的大量协议能迁移到物联网中。然而,物联网包含许多静态(如静态WSNs、RFID阅读器等)和动态(如笔记本电脑、个人数字助理PDA、手机等)组件,这带来了多个问题。例如,大量消息会使已经处理数百万主机的网络不堪重负,影响动态交互性能。

如果WSN需要借助RFID阅读器识别物体,传感节点(SN)与阅读器之间的直接通信会导致通信瓶颈,并使互联网回程中充斥大量数据包。因此,需要建立一个合作的物联网路由方案,让所有具备数据中继能力的节点参与其中。但由于资源保护的原因,这些节点需要激励才会参与数据中继。

不同的激励措施参与到定价模型中,以决定中继候选节点的选择。常见的定价方案包括:
- 拍卖定价模式 :通过用户的投标过程分配资源,可实现资源和服务属性的公平分配,但谈判过程冗长,对高速移动的用户效率较低。
- 动态优先级定价方案 :应用于用户共享的无线链路,服务提供商将其划分为不同优先级类。移动用户可选择传输速率和流量分配,并按此计费。该方案简单且可扩展,但假设网络容量缓冲区不被超过,优先级阈值保持在最大水平以下。
- 动态博弈理论模型 :用于非合作场景,节点的本地效用函数决定其是否参与中继。然而,许多因素难以计算,且物联网中的许多节点不具备计算和执行本地效用函数的能力,因此只有将计算任务卸载到附近的高端节点时,这种方法才可行。

此外,物联网的可扩展性也是一个问题,主要体现在建立和维护端到端链路以及跟踪动态进出网络的节点。虽然增加回程连接密度和多个阅读器可以分别增强连接性和容量,但最近的研究表明,阅读器间和中继碰撞会产生负面影响。

物联网推动者及其属性如下表所示:
| 属性 | 无线网络 | 物联网 | MANets | WSNs | RFIDs |
| — | — | — | — | — | — |
| 拓扑 | 动态 | 动态 | 主要为静态 | 依赖应用 | |
| 缓冲区大小 | 可变 | 高 | 低 | 无 | |
| 竞争程度 | 高 | 高 | 中等 | 低(有单化) | |
| 移动性 | 频繁 | 可变 | 有限 | 频繁 | |
| 通信范围 | 可变 | 高 | 中等(可变) | 依赖阅读器 | |
| 典型密度 | 非常高 | 小到中等 | 中等到高 | 中等到高 | |
| 每节点计算能力 | 可变 | 高 | 低 | 低到无 | |
| 节点间通信 | 异构 | 同质 | | | |

2. IoT系统模型

在设计物联网路由协议时,需要考虑许多因素。由于物联网具有动态拓扑和异构的数据生成/共享系统,因此需要激励性的数据共享策略,以促使传感器所有者参与传感过程,并确保提供的数据定价公平。这也需要解决物联网特定的挑战,如系统的寿命、可用容量、可达性和延迟等限制,同时要考虑质量管理和保证约束。

2.1 IoT模型

假设存在一个由WSNs、MANets、RFIDs以及固定/移动设备组成的异构设备网络。每个能够通信的设备实体被视为一个活动节点,用集合N表示所有这些设备,每个节点表示为$n_i \in N$,其中$i = 1,2,\cdots$。集合N包括仅作为中继的节点(如接入点、路由器、WSN汇聚节点等)和具有中继能力(通信和处理)的其他设备。假设每个节点$n_i$都连接到网络,否则不参与该方案。

节点之间的连接有两种模式:
- 若节点距离较近,提倡节点之间直接通信,无需通过互联网(回程)重新路由。
- 若数据包传输的跳数超过阈值$\delta$,则将其路由到回程作为中间阶段,然后从离目的地最近的回程重新路由到最终目的地。

因此,需要考虑节点之间的短程和远程通信,包括直接通信和通过互联网骨干网通信。

相关符号说明如下表:
| 符号 | 描述 |
| — | — |
| N | 网络内设备的数量 |
| $n_i$ | 节点/设备,$n_i \in N$ |
| $\delta$ | 每个路由数据包的跳数阈值 |
| $\Psi_i$ | 为每个$n_i \in N$计算的五元组,基于剩余能量、延迟、信任和每个缓冲区的容量 |
| $u_i$ | 节点$n_i$用于计算和中继消息的可用存储容量 |
| $u_i’$ | 节点$n_i$的归一化缓冲区容量 |
| $\pi_i$ | 节点$n_i$的功耗 |
| $\pi_i’$ | 节点$n_i$的归一化功耗 |
| $E_i$ | 节点$n_i$的最大电荷,在异构物联网中因节点而异 |
| $D_k$ | 队列中的第k个数据包大小 |
| $E_{ij}$ | 源节点i与目的地j之间的欧几里得距离 |
| $\omega$ | 延迟步长,即无线信号在一个时间单位内传播的距离 |
| $D_{single}$ | 数据包在单跳中经历的延迟 |
| $D_{total}$ | 数据包在端到端传输中经历的总延迟 |
| $TD_j$ | 表示节点j与目的地D之间交换数据包的信任级别的归一化值 |
| $P_r$ | 在r通信范围内连接的概率 |
| $\gamma$ | 特定环境中的路径损耗指数 |
| $\mu$ | 均值为零、方差为$\sigma^2$的正态分布随机变量 |
| $K_0$ | 根据发射机和接收机的平均高度计算的常数 |
| $\lambda_d$,$\lambda_t$ | 数据和可信数据包的到达率 |
| $\mu_d$,$\mu_t$ | 数据和可信数据包的离开率 |
| $\mu_{cd}$ | 因在系统中找到更好价格而导致的离开率 |

2.2 IoT节点

每个节点$n_i \in N$都参与中继等任务,包含一组资源,至少有通信和处理单元。对于手机、PDA、WSN汇聚节点和RFID阅读器等,它们拥有更多资源,但不一定都用于路由任务。因此,需要考虑这些任务的负载如何影响节点的中继能力,主要体现在剩余能量和缓冲区容量上。

为每个节点$n_i \in N$计算一个五元组$\Psi_i$,综合考虑以下参数对路由方案的直接和间接影响:
- 剩余能量和功率模型 :每个使用电池供电的节点都有一个能量储备$e_i$,其中$0 \leq e_i \leq E_i$,$E_i$为节点$n_i$的最大电荷。为了在异构节点间进行归一化表示,定义$e_i’ = \frac{e_i}{E_i}$。知道要转发的数据包大小$D_k$、到下一跳的距离以及当前负载$u_i$,每个节点会计算处理给定数据包的功耗$\pi_i$。为了公平比较,将其归一化得到$\pi_i’$,这样有利于具有更长传输能力和更多缓冲区的高端节点。
- 负载和缓冲区空间 :中间节点可能参与多个任务,每个节点将其计算和中继消息的可用容量表示为利用率因子$u_i$,并通过与最大容量对比进行归一化,得到$u_i’$。网络中间节点i在特定时间段内的最大数据中继量有限,定义归一化中继容量为$u_i’ = \frac{u_i}{max_u_i}$,其中$max_u_i$是最大预期容量。
- 延迟 :定义延迟步长$\omega$为无线信号在一个时间单位内传播的距离。源节点i与目的地节点j之间的单跳离散传播延迟为$\left\lceil\frac{E_{ij}}{\omega}\right\rceil$,多跳路径的离散延迟是构成该路径的单跳延迟之和。单跳延迟$D_{single}$和总延迟$D_{total}$的定义如下:
- $D_{single} = \left\lceil\frac{E_{ij}}{\omega}\right\rceil + \psi$
- $D_{total} = \sum_{total hops} D_{single}$
- 信任 :信任参数是基于历史的函数,在网络中间节点针对每个目的地计算,表示对$D_j$的满足度量。较高的$TD_j$表示节点i与$D_j$之间的先前数据交换符合$D_j$承诺的预定义物联网特征(如容量、延迟、信任等)。该延迟参数可根据不同的物联网应用设置不同的权重因子。

2.3 定价模型

除了考虑节点资源和操作水平外,还需要考虑节点为中继给定数据包收取的价格。由于物联网系统中的异构节点不属于同一网络或所有者,因此转发操作需要关联货币成本,这对于整合多个异构节点和增强全球可扩展性很重要。

基于供需的原始定律,资源的丰富性和同质性会降低其价值,而提供稀有服务的节点通常会收取更高的价格。物联网驱动的定价模型需要实现一种服务水平,整合来自多个来源(如网络环境、移动应用程序池等)的数据,以产生更可靠的读数。

定义物联网特定的定价模型,考虑以下四个主要特征:
- 节点剩余能量
- 负载和缓冲区空间
- 信任级别
- 延迟容忍度

引入定价因子$\gamma_i$,为每个节点$n_i$定义价格$p_i$为:
$p_i = \gamma_i * \left[E_{Tx}(D_k, n_i) + E_{Rx}(D_k) + \pi_i’ + u_i’\right]$

节点所有者可以通过改变$\gamma_i$的值来适应性地参与或退出拓扑,较高的值会降低其被选中进行中继的机会。

2.4 通信模型

在实际中,发射机距离为d处的信号电平会因周围环境而异,这种变化通过对数正态阴影模型来描述。根据该模型,距离发射机d处的信号电平遵循以该点平均功率值为中心的对数正态分布,数学表达式为:
$10 \log P_r(d) = K_0 - P_l d - \mu$
其中,d是发射机与接收机之间的欧几里得距离,$P_l$是根据实验数据计算的路径损耗指数,$\mu$是均值为零、方差为$\sigma^2$的正态分布随机变量,$K_0$是根据发射机和接收机的平均高度计算的常数。

3. ARA路由方法

物联网的异构性要求一个可扩展和包容的路由协议,以利用不同的中继资源将数据包转发到目的地。ARA协议分为两个阶段:
- 转发阶段 :从源节点开始,向其邻居广播设置消息。设置消息包含从源节点到当前(中间/目的地)节点的成本。收到设置消息的节点会根据$\Psi_i$计算的值更新成本,并将其转发给邻居。所有设置消息都包含一个路由记录,记录从源节点到当前中间节点的路径片段中使用的所有节点ID。目的地在预定义的路由选择(RS)期间收集到达的设置消息。
- 反向阶段 :当确认(Ack)消息沿着根据$\Psi_i$参数选择的最佳路径(称为活动路径)反向发送回源节点时开始。如果所选路径上的链路中断(由于节点移动或信道质量差),中间节点i的Ack消息会变为设置消息(称为i_setup),并转发给发现错误的i的邻居。源节点收到i_setup后,会重新建立S和D之间的活动路径。如果在通信会话中检测到链路中断,检测到中断的中间节点会尝试通过替代路由发送数据(如果有),或者缓冲数据并发送i_setup消息到目的地以寻找替代路径。

节点可以通过以下方式了解邻居并更新路由表(RT):
- 接收广播的设置消息并相应更新邻居表。
- 如果没有消息交换,则定期广播“hello”消息,该消息仅发送到节点的邻居。新邻居的出现或连续两个hello周期未收到某个节点的消息,表明本地连接性发生了变化。

以下是源节点S、中间节点i和目的地节点D的算法伪代码:
- 源节点S的算法(Algorithm 9.1)

1. If S has a new data msg and no route to D
2. Then forward a setup msg.
3. If S receives D_Ack or i_setup msg,
4. Then check local pi and send the new data msg’s if satisfied.
5. If S doesn’t receive a response for a RD period,
6. Then go to line 2.
7. If no pkts are exchanged for hello_interval time units,
8. Then send a hello msg and update RT and pi.
  • 中间节点i的算法(Algorithm 9.2)
1. If i receives setup msg,
2. Then check thresholds and update/forward setup msg if satisfied. Also, the
   forwarded setup msg records visited nodes while traveling to D.
3. If i receives D_ Ack
4. Then, If a backward_neighbor is reachable,
5. Then forward the D_Ack
6. If backward_neighbor is not reachable,
7. Then send an i_setup msg and update RT and local pi.
8. If i receives i_setup msg
9. Then check thresholds and forward i_setup msg if satisfied. Also, the for-
   warded i_setup msg records visited nodes while traveling to destination.
10. If i receives data msg
11. If next hop is still reachable
12. Then send data
13. If a new active path was established
14. Then check the price, update RT and send data if satisfied.
15. Else buffer data and send i_setup
  • 目的地节点D的算法(Algorithm 9.3)
1. If D receives i_setup
2. Then remove paths containing broken links.
3. If there exist path(s) passing through i or S
4. Then select best-cost path and notify i.
5. If no paths found
6. Then send a setup msg
7. If D receives S_Ack or i_setup
8. Then select path indicated by received msg.
9. If D doesn’t receive a response for a RD period,
10. Then go to line 5.
11. If D receives setup msg RS not expired
12. Then store the candidate path and cost.
13. If RS expired
14. Then select best-cost path and send D_Ack on it.

以下是ARA路由方法的流程图:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([开始]):::startend --> B{S有新数据消息且无到D的路由?}:::decision
    B -- 是 --> C(转发设置消息):::process
    B -- 否 --> D{收到D_Ack或i_setup消息?}:::decision
    D -- 是 --> E{本地pi满足条件?}:::decision
    E -- 是 --> F(发送新数据消息):::process
    E -- 否 --> B
    D -- 否 --> G{RD周期无响应?}:::decision
    G -- 是 --> C
    G -- 否 --> H{无数据包交换超过hello_interval时间?}:::decision
    H -- 是 --> I(发送hello消息并更新RT和pi):::process
    H -- 否 --> B
    C --> J{中间节点i收到设置消息?}:::decision
    J -- 是 --> K(检查阈值并转发设置消息):::process
    K --> L{中间节点i收到D_Ack?}:::decision
    L -- 是 --> M{反向邻居可达?}:::decision
    M -- 是 --> N(转发D_Ack):::process
    M -- 否 --> O(发送i_setup消息并更新RT和pi):::process
    O --> P{中间节点i收到i_setup消息?}:::decision
    P -- 是 --> Q(检查阈值并转发i_setup消息):::process
    Q --> R{中间节点i收到数据消息?}:::decision
    R -- 是 --> S{下一跳可达?}:::decision
    S -- 是 --> T(发送数据):::process
    S -- 否 --> U{有新活动路径?}:::decision
    U -- 是 --> V{价格满足条件?}:::decision
    V -- 是 --> T
    V -- 否 --> W(缓冲数据并发送i_setup):::process
    U -- 否 --> W
    K --> J
    N --> L
    T --> R
    W --> P
    C --> X{目的地D收到i_setup?}:::decision
    X -- 是 --> Y(移除包含断链的路径):::process
    Y --> Z{有通过i或S的路径?}:::decision
    Z -- 是 --> AA(选择最佳成本路径并通知i):::process
    Z -- 否 --> AB(发送设置消息):::process
    AB --> AC{收到S_Ack或i_setup?}:::decision
    AC -- 是 --> AD(选择消息指示的路径):::process
    AC -- 否 --> AE{RD周期无响应?}:::decision
    AE -- 是 --> AB
    AE -- 否 --> AF{收到设置消息且RS未过期?}:::decision
    AF -- 是 --> AG(存储候选路径和成本):::process
    AF -- 否 --> AH{RS过期?}:::decision
    AH -- 是 --> AI(选择最佳成本路径并发送D_Ack):::process
    AH -- 否 --> AF
    AA --> X
    AD --> AI
    AG --> AF

综上所述,物联网的发展面临着诸多挑战,包括网络异构性、可扩展性、资源管理等。通过建立合作的路由方案、合理的定价模型以及有效的路由协议(如ARA),可以在一定程度上解决这些问题,实现物联网的高效数据传输和资源利用。未来,随着物联网技术的不断发展,还需要进一步研究和优化这些方案,以适应不断变化的需求。

物联网云空间中的数据交付定价与路由策略

4. 关键技术点分析
4.1 物联网路由的挑战与应对

物联网路由面临着网络异构性、动态拓扑、资源受限等挑战。为应对这些挑战,我们采用了多种策略:
- 合作路由方案 :建立一个合作的物联网路由方案,让所有具备数据中继能力的节点参与其中,以缓解通信瓶颈和网络拥塞。例如,当WSN需要借助RFID阅读器识别物体时,避免传感节点与阅读器之间的直接通信,减少数据包对互联网回程的压力。
- 考虑节点资源 :在路由过程中,充分考虑节点的剩余能量、负载和缓冲区空间、延迟和信任等因素。通过计算五元组$\Psi_i$,综合评估节点的性能,选择最优的中继节点。
- 动态路由调整 :当链路中断或网络状况发生变化时,能够及时调整路由。如ARA协议中的反向阶段,当检测到链路中断时,中间节点会发送i_setup消息,寻找替代路径。

4.2 定价模型的作用与优势

定价模型在物联网中起着重要作用,它能够激励节点参与数据中继,实现资源的合理分配。具体优势如下:
- 经济激励 :为节点的转发操作关联货币成本,促使节点所有者积极参与路由过程,提高网络的可用性和可靠性。
- 资源优化 :根据节点的剩余能量、负载和缓冲区空间、信任级别和延迟容忍度等因素定价,能够引导资源向更高效的节点流动,优化网络资源的利用。
- 适应异构性 :能够适应物联网中异构节点的特点,为不同类型的节点制定合理的价格,促进异构节点的整合。

4.3 ARA路由协议的特点

ARA路由协议具有以下特点:
- 可扩展性 :能够适应物联网的大规模和动态变化,通过广播设置消息和更新路由记录,不断探索新的路径。
- 灵活性 :在链路中断时,能够快速调整路由,寻找替代路径,保证数据的可靠传输。
- 综合评估 :在选择路径时,综合考虑节点的剩余能量、负载、延迟和信任等因素,选择最优路径。

5. 操作步骤与流程总结
5.1 路由建立流程

以下是ARA路由协议建立路由的详细流程:
1. 源节点
- 检查是否有新数据消息且无到目的地的路由。
- 如果满足条件,转发设置消息到邻居节点。
- 等待接收D_Ack或i_setup消息。
- 根据本地pi和消息情况,决定是否发送新数据消息。
- 如果在RD周期内未收到响应,重新转发设置消息。
- 如果无数据包交换超过hello_interval时间,发送hello消息并更新RT和pi。
2. 中间节点
- 收到设置消息后,检查阈值并更新/转发设置消息,记录访问节点。
- 收到D_Ack消息后,检查反向邻居是否可达,若可达则转发D_Ack,否则发送i_setup消息并更新RT和pi。
- 收到i_setup消息后,检查阈值并转发i_setup消息,记录访问节点。
- 收到数据消息后,检查下一跳是否可达,若可达则发送数据,否则寻找替代路径或缓冲数据并发送i_setup消息。
3. 目的地节点
- 收到i_setup消息后,移除包含断链的路径。
- 检查是否有通过i或S的路径,若有则选择最佳成本路径并通知i,否则发送设置消息。
- 等待接收S_Ack或i_setup消息,选择路径。
- 在Route - Select(RS)期间,存储候选路径和成本。
- RS过期后,选择最佳成本路径并发送D_Ack消息。

5.2 定价计算步骤

计算节点定价的步骤如下:
1. 计算节点的剩余能量归一化值$e_i’ = \frac{e_i}{E_i}$。
2. 计算节点的功耗归一化值$\pi_i’$。
3. 计算节点的负载和缓冲区空间归一化值$u_i’ = \frac{u_i}{max_u_i}$。
4. 根据五元组$\Psi_i$计算定价因子$\gamma_i$。
5. 计算节点的价格$p_i = \gamma_i * \left[E_{Tx}(D_k, n_i) + E_{Rx}(D_k) + \pi_i’ + u_i’\right]$。

6. 总结与展望

通过对物联网云空间中的数据交付定价与路由策略的研究,我们了解到物联网路由面临着诸多挑战,但可以通过合作路由方案、合理的定价模型和有效的路由协议来解决。ARA路由协议在应对这些挑战方面表现出了良好的性能,它能够实现可扩展和灵活的路由,适应物联网的动态和异构特性。

未来,随着物联网技术的不断发展,我们可以进一步优化这些策略和协议。例如,研究更智能的定价模型,能够根据实时的网络状况和节点资源动态调整价格;探索更高效的路由算法,减少路由建立的时间和开销;加强对物联网安全和隐私的保护,确保数据的可靠传输。

以下是一个总结表格,展示了物联网路由策略的主要内容:
| 方面 | 详情 |
| — | — |
| 背景挑战 | 网络异构性、动态拓扑、资源受限、可扩展性问题 |
| 解决方案 | 合作路由方案、考虑节点资源、动态路由调整 |
| 定价模型 | 基于节点剩余能量、负载和缓冲区空间、信任级别、延迟容忍度 |
| 路由协议 | ARA协议(转发阶段和反向阶段) |
| 操作步骤 | 路由建立流程、定价计算步骤 |

同时,为了更清晰地展示未来优化方向,我们给出以下mermaid流程图:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([当前物联网路由策略]):::startend --> B(研究智能定价模型):::process
    A --> C(探索高效路由算法):::process
    A --> D(加强安全隐私保护):::process
    B --> E(动态调整价格):::process
    C --> F(减少路由开销):::process
    D --> G(确保数据可靠传输):::process
    E --> H([优化后的物联网路由策略]):::startend
    F --> H
    G --> H

通过持续的研究和优化,我们有望实现更高效、可靠和安全的物联网数据传输,推动物联网技术的广泛应用和发展。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值