THE SPACE RTC FRAMEWORK¶
We present SPACE RTC, a satellite-cloud cooperative framework that enhances wide-area RTC services.
SPACE RTC Overview¶
SpaceRTC 的架构由三个主要部分组成,分别是云段、空间段和控制器:
Architecture
1) 云段(Cloud Segment)
- 包含由地面云服务提供商(如 Amazon AWS 和 Microsoft Azure)支持的分布式云站点
- 云服务提供商还部署了与其云平台紧密集成的地面站服务(Ground-Station-as-a-Service, GsaaS),使得云和卫星之间可以进行通信
2) 空间段(Space Segment)
- 基于新兴的 LEO 卫星星座(如 Starlink 和 Kuiper)
- 卫星之间通过通信链路互联,形成一个动态网络
- 每颗卫星具有类似云计算的能力,可以处理并转发 RTC 流量。此外,这些卫星通过地面站与云段连接,支持卫星-云协作
3) SpaceRTC 控制器
- 控制器负责:
- 链路建立
- 中继服务器选择
- RTC 流量的分配
- 它根据 LEO 卫星的轨迹和可用云站点的位置,动态构建卫星-云拓扑
- 控制器通过控制信道(如 TDRS 系统)与卫星通信,并调用算法来优化流量路径
Step
在运行时,假设多个地理分布的用户需要建立 RTC 会话,SpaceRTC 的控制器会执行以下步骤:
- 接收用户的 RTC 请求
- 调用中继选择算法,选择合适的中继服务器(可以是地面云数据中心或 LEO 卫星)
- 调用低延迟流量分配算法,为用户之间分配低延迟路径,并将 RTC 流量分配到这些路径上
SPACE RTC System Model¶
系统模型定义了架构中的关键元素及其数学描述:
1) 云和空间段
- 云站点集合:用 \(C = \{C_1, C_2, ..., C_M\}\)表示,其中 \(M\) 是总数
- LEO 卫星集合:用 \(S = \{S_1, S_2, ..., S_N\}\)表示,其中 \(N\) 是总数
- 用户集合:用 \(U\) 表示所有用户,每个会话 \(e\) 包含一组用户 \(U^e = \{u_1^{(e)}, u_2^{(e)}, ..., u_{P_e}^{(e)}\}\)
2) 链路类型及建立
在 SpaceRTC 的空间-地面环境中,有五种链路类型:
- 卫星间链路(ISL):连接两颗卫星,例如 \(ISL(x, y), x, y \in S\)
- 云到卫星链路(CSL):连接云站点和卫星,例如 \(CSL(x, y), x \in C, y \in S\)
- 用户到卫星链路(USL):连接用户和卫星,例如 \(USL(x, y), x \in U, y \in S\)
- 云到云链路(ICL):连接两个云站点,例如 \(ICL(x, y), x, y \in C\)
- 用户到云链路(UCL):连接用户和云,例如 \(UCL(x, y), x \in U, y \in C\)
Note
- ISL: inter-satellite link
- CSL: cloud-satellite link (~其他论文中提到的GSL)
- USL: user-satellite link
- ICL: inter-cloud link
- UCL: user-cloud link
链路能否建立取决于节点之间是否存在可见性,用二值函数 \(Vis(x, y)\) 表示。如果两个节点可见,则 \(Vis(x, y) = 1\)
每条链路有带宽限制:
- 链路从节点 \(x\) 到节点 \(y\) 的最大带宽容量记为 \(Cap(x, y)\),反向带宽为 \(Cap(y, x)\)
- 用户的上下行带宽需求分别记为 \(B_u^{up} / B_u^{down}\)
3) 用户感知通信延迟
其中:
- \(L_{xy}\):节点 \(x\) 和 \(y\) 间的延迟
- \(\alpha_{xy} = 1\):表示节点 \(x, y\) 被选为中继服务器,并且有链路建立
- \(\beta_{ij}^{xy} = 1\):表示从节点 \(i \to j\) 的流量通过链路 \((x,y)\)
控制器根据这些参数优化路径,从而最小化用户间的一对一延迟
RTC Latency Minimization (RLM) Problem¶
问题定义
目标是通过优化混合卫星-云网络中的资源分配,最小化实时通信(RTC)会话的端到端平均延迟。
输入
- 可用节点集合:
- 云站点集合\(C\)
- 低轨道卫星集合\(S\)
- RTC会话集合\(\mathcal{E}\):每个会话包含一组用户\(U^e\),这些用户通过多媒体流相互交互
- 卫星传输单元数量\(\lambda\):每颗卫星能支持的最大链路数
- 链路容量$ Cap(x, y)$:每条链路的带宽限制
- 用户带宽需求
- 可见性矩阵\(Vis(x, y)\):表示节点\(x\)和\(y\)是否可见(即是否可以建立链路)
输出
- 每个会话\(e\)的控制单元\(R^{(e)}\)(可以是云站点或卫星)
- 二进制变量\(\alpha_{xy}\):表示是否在节点\(x\)和\(y\)之间建立链路
- 二进制变量\(\beta_{ij}^{xy}\):表示流量如何分配到可用链路上
目标函数
最小化所有会话的平均端到端延迟:
- \(L_{xy}\):节点之间的通信延迟
- 分母部分表示所有用户对之间的可能交互对数,用于计算平均值
约束条件
-
卫星链路限制:每颗卫星建立的链路数不能超过其传输单元数量
\[ \sum_{y \in S} \alpha_{xy} \leq \lambda, ~\forall x \in S \] -
可见性与链路激活条件:只有在两个节点可见时,才能建立链路
\[ \beta_{ij}^{xy} + \beta_{ji}^{xy} \leq \alpha_{xy} \cdot Vis(x, y) \] -
流量平衡条件:每个用户与控制单元之间必须有上下行流量平衡
-
上行流量:
\[ \sum_w (\beta_{uw}^{xy}) - \sum_v (\beta_{vu}^{xy}) = \begin{cases} 1 & u = R^{(e)} \\ -1 & u = R^{(e)} \\ 0 & 其他 \end{cases} \] -
下行流量类似
-
-
带宽限制:每条链路上的总流量不能超过其容量
\[ B_u^{up} + B_u^{down} + ... ~\leq Cap(x, y) \]
Algorithm Design¶
论文提出了两种算法来解决上述问题:
协作中继选择算法¶
该算法分为两个阶段:
- 初始化阶段:
- 更新可见性矩阵\(Vis(x, y)\)
- 构建图\(G\),其中边表示可见性
- 选择地理中心性较高的节点作为控制单元 \(R_t^{(e)}\),以降低通信延迟
- 更新阶段:
- 针对新加入的用户,重新分配流量并更新控制单元
通过将时间划分为多个时隙,每个时隙内将网络拓扑视为静态快照,动态调整控制单元和流量分配,以应对低轨道卫星快速变化的可见性和拓扑
低延迟流量分配算法¶
该算法用于在给定路径上分配流量,目标是同时满足以下三个条件:
- 从用户到控制单元的路径跳数最少
- 在所有备选路径中,选择覆盖已激活链路最多的一条
- 确保路径上所有链路的剩余带宽足够承载流量
具体步骤
- 搜索所有可能路径
- 检查路径上的带宽是否足够
- 激活路径上的链路,并更新流量分配
优化策略
- 使用 LEO 卫星轨道的可预测性预计算最短路径 ,减少计算开销
- 优先选择跳数少、激活链路多的路径 以优化性能