多播广播业务的通信方法、装置、介质及电子设备与流程

文档序号:22752920发布日期:2020-10-31 09:48阅读:147来源:国知局
多播广播业务的通信方法、装置、介质及电子设备与流程

本申请涉及计算机及通信技术领域,具体而言,涉及一种多播广播业务的通信方法、装置、介质及电子设备。



背景技术:

在5gmbs(multicastandbroadcastservice,多播广播业务)系统中,控制面与用户面是分离的,即控制面节点与用户面节点不再是同一个网络节点,在这种情况下建立用户面mbs会话传输树将面临多种问题。



技术实现要素:

本申请的实施例提供了一种多播广播业务的通信方法、装置、介质及电子设备,进而至少在一定程度上可以在控制面与用户面分离的通信系统架构下,实现用户面mbs会话传输树的建立,并且也可以提高mbs业务数据的传输效率。

本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。

根据本申请实施例的一个方面,提供了一种多播广播业务的通信方法,所述方法包括:接收mbs会话传输树中的第i级控制面节点发送的第一mbs会话开始请求,所述第一mbs会话开始请求中包含有所述第i级控制面节点提供的子控制面节点的信息、所述第i级控制面节点选择的第i级用户面节点的标识信息、所述第i级用户面节点分配的第一mbsip多播传输地址与用于通过多播方式传输mbs业务数据的第一c-teid(commontunnelendpointidentifier,通用隧道端点标识);根据所述第i级控制面节点的信息及所述第i级控制面节点提供的子控制面节点的信息选择能够与所述第i级用户面节点建立连接的第一用户面节点,以及与所述第一用户面节点和所述子控制面节点管理的用户面功能实体均能够建立连接的第二用户面节点;向所述第一用户面节点发送第一用户面mbs会话建立请求,并接收所述第一用户面节点反馈的第一用户面mbs会话建立响应,所述第一用户面mbs会话建立请求中包含有所述第一mbsip多播传输地址和第一c-teid,所述第一mbsip多播传输地址用于使所述第一用户面节点加入所述第一mbsip多播传输地址对应的多播传输组来接收所述第i级用户面节点通过多播方式发送的mbs业务数据;向所述第二用户面节点发送第二用户面mbs会话建立请求,并接收所述第二用户面节点反馈的第二用户面mbs会话建立响应,所述第二用户面mbs会话建立请求中包含有所述第一用户面节点分配的第二mbsip多播传输地址和第二c-teid,所述第二mbsip多播传输地址用于使所述第二用户面节点加入所述第二mbsip多播传输地址对应的多播传输组来接收所述第一用户面节点通过多播方式发送的mbs业务数据;向所述第i级控制面节点提供的子控制面节点发送第二mbs会话开始请求,以指示所述第i级控制面节点提供的子控制面节点为所述第二用户面节点分配子用户面节点,所述第二mbs会话开始请求中包含有所述第二用户面节点分配的第三mbsip多播传输地址和第三c-teid,所述第三mbsip多播传输地址用于使所述子用户面节点加入所述第三mbsip多播传输地址对应的多播传输组来接收所述第二用户面节点通过多播方式发送的mbs业务数据。

根据本申请实施例的一个方面,提供了一种多播广播业务的通信方法,所述方法包括:向第i级控制面节点选择的第i级用户面节点发送第二用户面mbs会话建立请求,并接收所述第i级用户面节点反馈的第二用户面mbs会话建立响应,所述第i级控制面节点是mbs会话传输树中除最后一级控制面节点之外的任一级控制面节点;选择i-smf(intermediate-sessionmanagementfunction,中间会话管理功能实体),向所述i-smf发送第一mbs会话开始请求,所述第一mbs会话开始请求中包含有所述第i级控制面节点提供的子控制面节点的信息、所述第i级用户面节点的标识信息、所述第i级用户面节点分配的第一mbsip多播传输地址和第一c-teid;其中,所述第一mbs会话开始请求用于触发所述i-smf选择能够与所述第i级用户面节点建立连接的第一用户面节点,以及与所述第一用户面节点和所述子控制面节点管理的用户面功能实体均能够建立连接的第二用户面节点,并用于触发所述i-smf向所述子控制面节点发送第二mbs会话开始请求,所述第一用户面节点用于加入所述第一mbsip多播传输地址对应的多播传输组来接收所述第i级用户面节点通过多播方式发送的mbs业务数据,所述第二用户面节点用于加入所述第一用户面节点分配的第二mbsip多播传输地址对应的多播传输组来接收所述第一用户面节点通过多播方式发送的mbs业务数据,所述第二mbs会话开始请求用于指示所述子控制面节点为所述第二用户面节点分配子用户面节点,并使所述子用户面节点接收所述第二用户面节点发送的mbs业务数据。

根据本申请实施例的一个方面,提供了一种多播广播业务的通信方法,所述方法包括:接收i-smf发送的第一用户面mbs会话建立请求,所述第一用户面mbs会话建立请求中包含有第i级用户面节点分配的第一mbsip多播传输地址和第一c-teid;向所述i-smf反馈第一用户面mbs会话建立响应,所述第一用户面mbs会话建立响应中包含有所述i-smf选择的第一用户面节点所分配的第二mbsip多播传输地址和第二c-teid,所述第二mbsip多播传输地址用于使所述i-smf选择的第二用户面节点加入所述第二mbsip多播传输地址对应的多播传输组来接收所述第一用户面节点通过多播方式传输的mbs业务数据;若所述第一用户面节点支持通过多播方式接收所述第i级用户面节点发送的mbs业务数据,则加入所述第一mbsip多播传输地址对应的多播传输组来接收所述第i级用户面节点通过多播方式发送的mbs业务数据。

根据本申请实施例的一个方面,提供了一种多播广播业务的通信方法,所述方法包括:接收i-smf发送的第二用户面mbs会话建立请求,所述第二用户面mbs会话建立请求中包含有所述i-smf选择的第一用户面节点分配的第二mbsip多播传输地址和第二c-teid;向所述i-smf反馈第二用户面mbs会话建立响应,所述第二用户面mbs会话建立响应中包含有所述i-smf选择的第二用户面节点分配的第三mbsip多播传输地址和第三c-teid,所述第三mbsip多播传输地址用于所述第二用户面节点的子用户面节点加入所述第三mbsip多播传输地址对应的多播传输组来接收所述第二用户面节点通过多播方式传输的mbs业务数据;若所述第二用户面节点支持通过多播方式接收所述第一用户面节点发送的mbs业务数据,则加入所述第二mbsip多播传输地址对应的多播传输组来接收所述第一用户面节点通过多播方式发送的mbs业务数据。

根据本申请实施例的一个方面,提供了一种多播广播业务的通信装置,包括:第一接收单元,配置为接收mbs会话传输树中的第i级控制面节点发送的第一mbs会话开始请求,所述第一mbs会话开始请求中包含有所述第i级控制面节点提供的子控制面节点的信息、所述第i级控制面节点选择的第i级用户面节点的标识信息、所述第i级用户面节点分配的第一mbsip多播传输地址与用于通过多播方式传输mbs业务数据的第一c-teid;选择单元,配置为根据所述第i级控制面节点的信息及所述第i级控制面节点提供的子控制面节点的信息选择能够与所述第i级用户面节点建立连接的第一用户面节点,以及与所述第一用户面节点和所述子控制面节点管理的用户面功能实体均能够建立连接的第二用户面节点;第一交互单元,配置为向所述第一用户面节点发送第一用户面mbs会话建立请求,并接收所述第一用户面节点反馈的第一用户面mbs会话建立响应,所述第一用户面mbs会话建立请求中包含有所述第一mbsip多播传输地址和第一c-teid,所述第一mbsip多播传输地址用于使所述第一用户面节点加入所述第一mbsip多播传输地址对应的多播传输组来接收所述第i级用户面节点通过多播方式发送的mbs业务数据;第二交互单元,配置为向所述第二用户面节点发送第二用户面mbs会话建立请求,并接收所述第二用户面节点反馈的第二用户面mbs会话建立响应,所述第二用户面mbs会话建立请求中包含有所述第一用户面节点分配的第二mbsip多播传输地址和第二c-teid,所述第二mbsip多播传输地址用于使所述第二用户面节点加入所述第二mbsip多播传输地址对应的多播传输组来接收所述第一用户面节点通过多播方式发送的mbs业务数据;第三交互单元,配置为向所述第i级控制面节点提供的子控制面节点发送第二mbs会话开始请求,以指示所述第i级控制面节点提供的子控制面节点为所述第二用户面节点分配子用户面节点,所述第二mbs会话开始请求中包含有所述第二用户面节点分配的第三mbsip多播传输地址和第三c-teid,所述第三mbsip多播传输地址用于使所述子用户面节点加入所述第三mbsip多播传输地址对应的多播传输组来接收所述第二用户面节点通过多播方式发送的mbs业务数据。

在本申请的一些实施例中,基于前述方案,所述第一用户面mbs会话建立请求中包含有用于指示所述第一用户面节点分配新的mbsip多播分发信息的指示信息;所述第一用户面mbs会话建立响应中包含有所述第一用户面节点分配的所述第二mbsip多播传输地址和第二c-teid。

在本申请的一些实施例中,基于前述方案,若所述第一用户面节点不支持通过多播方式、但支持通过点对点方式接收所述第i级用户面节点的mbs业务数据,则所述第一用户面mbs会话建立请求中包含有请求为所述第一用户面节点分配f-teid(fullyqualifiedtunnelendpointidentifier,全量隧道端点标识)的指示信息,所述第一用户面mbs会话建立响应中包含有所述第一用户面节点分配的f-teid,所述第一用户面节点分配的f-teid用于使所述第一用户面节点通过点对点的方式接收所述第i级用户面节点发送的mbs业务数据;或者

所述第一用户面mbs会话建立响应中指示所述第一用户面节点不支持通过多播方式、但支持通过点对点方式接收所述第i级用户面节点的mbs业务数据,并包含有所述第一用户面节点分配的f-teid。

在本申请的一些实施例中,基于前述方案,若所述第二用户面节点不支持通过多播方式、但支持通过点对点方式接收所述第一用户面节点的mbs业务数据,则所述第二用户面mbs会话建立请求中包含有请求为所述第二用户面节点分配f-teid的指示信息,所述第二用户面mbs会话建立响应中包含有所述第二用户面节点分配的f-teid,所述第二用户面节点分配的f-teid用于使所述第二用户面节点通过点对点的方式接收所述第一用户面节点发送的mbs业务数据;或者

所述第二用户面mbs会话建立响应中指示所述第二用户面节点不支持通过多播方式、但支持通过点对点方式接收所述第一用户面节点发送的mbs业务数据,并包含有所述第二用户面节点分配的f-teid。

在本申请的一些实施例中,基于前述方案,所述第一交互单元还配置为:在所述第二交互单元接收所述第二用户面节点反馈的第二用户面mbs会话建立响应之后,若有不支持通过多播方式、但支持通过点对点方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节点,则向所述第一用户面节点发送第一用户面mbs会话修改请求,所述第一用户面mbs会话修改请求中包含有不支持通过多播方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节所分配的f-teid,以使所述第一用户面节点通过点对点的方式向不支持通过多播方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节点传送mbs业务数据;

其中,若同时存在支持通过多播方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节点,则所述第一用户面mbs会话修改请求中还包含有启动多播方式传输的字段,以指示所述第一用户面节点同时使用多播传输方式向所述第二用户面节点发送mbs业务数据。

在本申请的一些实施例中,基于前述方案,所述第三交互单元还配置为:在向所述第i级控制面节点提供的子控制面节点发送第二mbs会话开始请求之后,接收所述子控制面节点针对所述第二mbs会话开始请求反馈的第二mbs会话开始响应,所述第二mbs会话开始响应中包含有第一指示信息;

其中,所述第一指示信息中包含有所述第二用户面节点的标识信息、第一f-teid列表信息和用于表示启动多播方式传输的第一字段信息,所述第一字段信息表示所述子控制面节点为所述第二用户面节点分配的子用户面节点中存在支持通过多播方式接收所述第二用户面节点发送的mbs业务数据的子用户面节点,所述第一f-teid列表信息包含有不支持通过多播方式、但支持通过点对点方式接收所述第二用户面节点发送的mbs业务数据的子用户面节点的f-teid;或者

所述第一指示信息包含有所述第二用户面节点的标识信息、且不包含所述第一f-teid列表信息和所述第一字段信息,则所述第一指示信息用于指示所述子控制面节点为所述第二用户面节点分配的子用户面节点均支持通过多播方式接收所述第二用户面节点发送的mbs业务数据;或者

所述第一指示信息包含有所述第二用户面节点的标识信息、所述第一f-teid列表信息,且不包含所述第一字段信息,则所述第一指示信息用于指示所述子控制面节点为所述第二用户面节点分配的子用户面节点均不支持通过多播方式、但支持通过点对点方式接收所述第二用户面节点发送的mbs业务数据;或者

所述第一指示信息包含有所述第二用户面节点的标识信息和停用多播传输的字段信息、且不包含所述第一f-teid列表信息,则所述第一指示信息用于指示所述子控制面节点没有为所述第二用户面节点分配子用户面节点。

在本申请的一些实施例中,基于前述方案,若选择了至少两个第二用户面节点,则所述第二mbs会话开始响应中包含有第一指示信息列表,所述第一指示信息列表中包含有所有第二用户面节点分别对应的所述第一指示信息。

在本申请的一些实施例中,基于前述方案,所述第二mbs会话开始响应中还包含有失败的标识信息列表,所述失败的标识信息列表用于指示未被分配子用户面节点的目标第二用户面节点。

在本申请的一些实施例中,基于前述方案,所述第二交互单元还配置为:若根据所述第二mbs会话开始响应确定存在未被分配子用户面节点的目标第二用户面节点,则向所述目标第二用户面节点发送用户面mbs会话删除请求。

在本申请的一些实施例中,基于前述方案,所述第二交互单元还配置为:接收所述目标第二用户面节点反馈的用户面mbs会话删除响应,所述用户面mbs会话删除响应是所述目标第二用户面节点在接收到所述用户面mbs会话删除请求之后发送的,其中,若所述目标第二用户面节点已加入所述第二mbsip多播传输地址对应的多播传输组中,则在接收到所述用户面mbs会话删除请求之后退出所述第二mbsip多播传输地址对应的多播传输组。

在本申请的一些实施例中,基于前述方案,所述第二交互单元配置为:若所述第i级控制面节点提供了至少两个子控制面节点,则在接收到所述第i级控制面节点的所有子控制面节点分别反馈的第二mbs会话开始响应之后,确定是否存在未被分配子用户面节点的目标第二用户面节点。

在本申请的一些实施例中,基于前述方案,所述第二交互单元还配置为:在接收所述子控制面节点针对所述第二mbs会话开始请求反馈的第二mbs会话开始响应之后,若所述第一指示信息中包含有所述第一f-teid列表信息,则根据所述第一指示信息中包含的第二用户面节点的标识信息向所述第二用户面节点发送第二用户面mbs会话修改请求,以指示所述第二用户面节点通过点对点的方式向所述第一f-teid列表信息所包含的各个f-teid对应的子用户面节点分别传送mbs业务数据;

其中,若所述第一指示信息中还包含有所述第一字段信息,则所述第二用户面mbs会话修改请求还用于指示所述第二用户面节点同时使用多播传输方式向所述第二用户面节点的子用户面节点发送mbs业务数据;

若所述第一指示信息中不包含所述第一字段信息,则所述第二用户面mbs会话修改请求还用于指示所述第二用户面节点不需要使用多播传输方式向所述第二用户面节点的子用户面节点发送mbs业务数据。

在本申请的一些实施例中,基于前述方案,所述第二交互单元配置为:若选择了至少两个第二用户面节点,则根据所述第二mbs会话开始响应中包含的每个第二用户面节点对应的第一指示信息,向需要发送所述第二用户面mbs会话修改请求的中间用户面节点发送所述第二用户面mbs会话修改请求。

在本申请的一些实施例中,基于前述方案,所述第三交互单元还配置为:在接收所述子控制面节点针对所述第二mbs会话开始请求反馈的第二mbs会话开始响应之后,根据所述子控制面节点反馈的第二mbs会话开始响应,向所述第i级控制面节点反馈针对所述第一mbs会话开始请求的第一mbs会话开始响应。

在本申请的一些实施例中,基于前述方案,所述第三交互单元配置为:若所述第i级控制面节点提供了至少两个子控制面节点,则在接收到所述第i级控制面节点的所有子控制面节点分别反馈的第二mbs会话开始响应之后,再向所述第i级控制面节点反馈所述第一mbs会话开始响应。

在本申请的一些实施例中,基于前述方案,所述第一mbs会话开始响应中包含有第二指示信息;

其中,所述第二指示信息中包含有所述第i级用户面节点的标识信息、第二f-teid列表信息和用于表示启动多播方式传输的第二字段信息,所述第二字段信息表示存在支持通过多播方式接收所述第i级用户面节点发送的mbs业务数据的第一用户面节点,所述第二f-teid列表信息包含有不支持通过多播方式、但支持通过点对点方式接收所述第i级用户面节点发送的mbs业务数据的第一用户面节点的f-teid;或者

所述第二指示信息包含有所述第i级用户面节点的标识信息、且不包含所述第二f-teid列表信息和所述第二字段信息,则所述第二指示信息用于指示所述第一用户面节点均支持通过多播方式接收所述第i级用户面节点发送的mbs业务数据;或者

所述第二指示信息包含有所述第i级用户面节点的标识信息、所述第二f-teid列表信息,且不包含所述第二字段信息,则所述第二指示信息用于指示所述第一用户面节点均不支持通过多播方式、但支持通过点对点方式接收所述第i级用户面节点发送的mbs业务数据。

在本申请的一些实施例中,基于前述方案,若所述第i级控制面节点选择了至少两个第i级用户面节点,则所述第一mbs会话开始响应中包含有第二指示信息列表,所述第二指示信息列表中包含有所有第i级用户面节点分别对应的所述第二指示信息。

在本申请的一些实施例中,基于前述方案,所述第二交互单元配置为:在选择了至少两个第一用户面节点和至少两个第二用户面节点的情况下,分别向选择的每个第二用户面节点发送所述第二用户面mbs会话建立请求,其中,向每个第二用户面节点发送的第二用户面mbs会话建立请求中包含有对应的第一用户面节点分配的第二mbsip多播传输地址与第二c-teid;其中,不同的第一用户面节点分配的第二mbsip多播传输地址不相同。

在本申请的一些实施例中,基于前述方案,若所述第i级控制面节点选择了至少两个第i级用户面节点,则所述第一mbs会话开始请求中包含有每个第i级用户面节点各自的标识信息、及每个第i级用户面节点分配的第一mbsip多播传输地址和第一c-teid;其中,不同的第i级用户面节点分配的第一mbsip多播传输地址不相同。

根据本申请实施例的一个方面,提供了一种多播广播业务的通信装置,包括:第四交互单元,配置为向第i级控制面节点选择的第i级用户面节点发送第二用户面mbs会话建立请求,并接收所述第i级用户面节点反馈的第二用户面mbs会话建立响应,所述第i级控制面节点是mbs会话传输树中除最后一级控制面节点之外的任一级控制面节点;第五交互单元,配置为选择中间会话管理功能实体i-smf,向所述i-smf发送第一mbs会话开始请求,所述第一mbs会话开始请求中包含有所述第i级控制面节点提供的子控制面节点的信息、所述第i级用户面节点的标识信息、所述第i级用户面节点分配的第一mbsip多播传输地址和第一c-teid;其中,所述第一mbs会话开始请求用于触发所述i-smf选择能够与所述第i级用户面节点建立连接的第一用户面节点,以及与所述第一用户面节点和所述子控制面节点管理的用户面功能实体均能够建立连接的第二用户面节点,并用于触发所述i-smf向所述子控制面节点发送第二mbs会话开始请求,所述第一用户面节点用于加入所述第一mbsip多播传输地址对应的多播传输组来接收所述第i级用户面节点通过多播方式发送的mbs业务数据,所述第二用户面节点用于加入所述第一用户面节点分配的第二mbsip多播传输地址对应的多播传输组来接收所述第一用户面节点通过多播方式发送的mbs业务数据,所述第二mbs会话开始请求用于指示所述子控制面节点为所述第二用户面节点分配子用户面节点,并使所述子用户面节点接收所述第二用户面节点发送的mbs业务数据。

在本申请的一些实施例中,基于前述方案,所述第五交互单元还配置为:在向所述i-smf发送第一mbs会话开始请求之后,接收所述i-smf针对所述第一mbs会话开始请求反馈的第一mbs会话开始响应;根据所述第一mbs会话开始响应中包含的内容,确定是否向所述第i级用户面节点发送用户面mbs会话修改请求。

在本申请的一些实施例中,基于前述方案,所述第五交互单元配置为:若根据所述第i级控制面节点提供的子控制面节点的信息,确定所述第i级控制面节点管理的用户面功能实体不能直接与所述子控制面节点管理的用户面功能实体建立传输通路,则选择能够与所述第i级控制面节点及与所述子控制面节点进行通信的smf作为所述i-smf。

根据本申请实施例的一个方面,提供了一种多播广播业务的通信装置,包括:第二接收单元,配置为接收i-smf发送的第一用户面mbs会话建立请求,所述第一用户面mbs会话建立请求中包含有第i级用户面节点分配的第一mbsip多播传输地址和第一c-teid;第一发送单元,配置为向所述i-smf反馈第一用户面mbs会话建立响应,所述第一用户面mbs会话建立响应中包含有所述i-smf选择的第一用户面节点所分配的第二mbsip多播传输地址和第二c-teid,所述第二mbsip多播传输地址用于使所述i-smf选择的第二用户面节点加入所述第二mbsip多播传输地址对应的多播传输组来接收所述第一用户面节点通过多播方式传输的mbs业务数据;第一处理单元,配置为在所述第一用户面节点支持通过多播方式接收所述第i级用户面节点发送的mbs业务数据的情况下,加入所述第一mbsip多播传输地址对应的多播传输组来接收所述第i级用户面节点通过多播方式发送的mbs业务数据。

在本申请的一些实施例中,基于前述方案,所述第一处理单元还配置为:若所述第一用户面节点不支持通过多播方式、但支持通过点对点方式接收所述第i级用户面节点发送的mbs业务数据,则分配通过点对点方式接收所述第i级用户面节点发送的mbs业务数据的f-teid。

在本申请的一些实施例中,基于前述方案,所述第二接收单元还配置为:在所述第一发送单元向所述i-smf反馈第一用户面mbs会话建立响应之后,接收所述i-smf发送的第一用户面mbs会话修改请求,所述第一用户面mbs会话修改请求中包含有不支持通过多播方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节所分配的f-teid;

所述第一处理单元还配置为:基于不支持通过多播方式、但支持通过点对点方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节点的f-teid,通过点对点的方式向不支持通过多播方式、但支持通过点对点方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节点传送mbs业务数据,并根据所述第一用户面mbs会话修改请求确定是否同时使用多播传输方式向其它的第二用户面节点发送mbs业务数据。

在本申请的一些实施例中,基于前述方案,所述第一发送单元还配置为:若接收到所述i-smf发送的用户面mbs会话删除请求,则向所述i-smf发送用户面mbs会话删除响应;其中,若已加入所述第一mbsip多播传输地址对应的多播传输组中,则在接收到所述用户面mbs会话删除请求之后,退出所述第一mbsip多播传输地址对应的多播传输组。

在本申请的一些实施例中,基于前述方案,所述第一发送单元配置为:若接收到多个用户面mbs会话建立请求,则针对所述多个用户面mbs会话建立请求中的一个用户面mbs会话建立请求反馈用户面mbs会话建立响应,并针对所述多个用户面mbs会话建立请求中的其它用户面mbs会话建立请求反馈拒绝消息,以指示此用户面节点已被选择;或者

在向所述i-smf反馈第一用户面mbs会话建立响应之后,若再次接收到用于将所述第一用户面节点选择为其它用户面节点的子用户面节点的用户面mbs会话建立请求,则针对再次接收到的用户面mbs会话建立请求反馈拒绝消息,以指示此用户面节点已被选择。

根据本申请实施例的一个方面,提供了一种多播广播业务的通信装置,包括:第三接收单元,配置为接收i-smf发送的第二用户面mbs会话建立请求,所述第二用户面mbs会话建立请求中包含有所述i-smf选择的第一用户面节点分配的第二mbsip多播传输地址和第二c-teid;第二发送单元,配置为向所述i-smf反馈第二用户面mbs会话建立响应,所述第二用户面mbs会话建立响应中包含有所述i-smf选择的第二用户面节点分配的第三mbsip多播传输地址和第三c-teid,所述第三mbsip多播传输地址用于所述第二用户面节点的子用户面节点加入所述第三mbsip多播传输地址对应的多播传输组来接收所述第二用户面节点通过多播方式传输的mbs业务数据;第二处理单元,配置为在所述第二用户面节点支持通过多播方式接收所述第一用户面节点发送的mbs业务数据的情况下,则加入所述第二mbsip多播传输地址对应的多播传输组来接收所述第一用户面节点通过多播方式发送的mbs业务数据。

在本申请的一些实施例中,基于前述方案,所述第二处理单元还配置为:若所述第二用户面节点不支持通过多播方式、但支持通过点对点方式接收所述第一用户面节点发送的mbs业务数据,则分配通过点对点方式接收所述第一用户面节点发送的mbs业务数据的f-teid。

在本申请的一些实施例中,基于前述方案,所述第三接收单元还配置为:在所述第二发送单元向所述i-smf反馈第二用户面mbs会话建立响应之后,接收所述i-smf发送的第二用户面mbs会话修改请求,所述第二用户面mbs会话修改请求中包含有第一f-teid列表信息,所述第一f-teid列表信息包含有不支持通过多播方式、但支持通过点对点方式接收所述第二用户面节点发送的mbs业务数据的子用户面节点的f-teid;

所述第二处理单元还配置为:基于所述第一f-teid列表信息,通过点对点的方式向所述第一f-teid列表信息包含的各个f-teid所对应的子用户面节点分别传送mbs业务数据,并根据所述第二用户面mbs会话修改请求确定是否同时使用多播传输方式向所述第二用户面节点的子用户面节点发送mbs业务数据。

在本申请的一些实施例中,基于前述方案,所述第二发送单元还配置为:若接收到所述i-smf发送的用户面mbs会话删除请求,则向所述i-smf发送用户面mbs会话删除响应;其中,若已加入所述第二mbsip多播传输地址对应的多播传输组中,则在接收到所述用户面mbs会话删除请求之后,退出所述第二mbsip多播传输地址对应的多播传输组。

在本申请的一些实施例中,基于前述方案,所述第二发送单元配置为:若接收到多个用户面mbs会话建立请求,则针对所述多个用户面mbs会话建立请求中的一个用户面mbs会话建立请求反馈用户面mbs会话建立响应,并针对所述多个用户面mbs会话建立请求中的其它用户面mbs会话建立请求反馈拒绝消息,以指示此用户面节点已被选择;或者

在向所述i-smf反馈第二用户面mbs会话建立响应之后,若再次接收到用于将所述第二用户面节点选择为其它用户面节点的子用户面节点的用户面mbs会话建立请求,则针对再次接收到的用户面mbs会话建立请求反馈拒绝消息,以指示此用户面节点已被选择。

根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的多播广播业务的通信方法。

根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的多播广播业务的通信方法。

根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的多播广播业务的通信方法。

在本申请的一些实施例所提供的技术方案中,第i级控制面节点选择i-smf,然后向i-smf发送第一mbs会话开始请求,i-smf根据该第一mbs会话开始请求选择能够与第i级用户面节点建立连接的第一用户面节点,以及与第一用户面节点和第i级控制面节点提供的子控制面节点所管理的用户面功能实体均能够建立连接的第二用户面节点,同时,i-smf可以向第i级控制面节点提供的子控制面节点发送第二mbs会话开始请求来指示该子控制面节点为第二用户面节点分配子用户面节点。其中,第一用户面节点可以加入第i级用户面节点分配的第一mbsip多播传输地址对应的多播传输组来接收第i级用户面节点通过多播方式发送的mbs业务数据,第二用户面节点可以加入第一用户面节点分配的第二mbsip多播传输地址对应的多播传输组来接收第一用户面节点通过多播方式发送的mbs业务数据,而为第二用户面节点分配的子用户面节点可以加入第二用户面节点分配的第三mbsip多播传输地址对应的多播传输组来接收第二用户面节点发送的mbs业务数据。可见,本申请实施例的技术方案可以在控制面与用户面分离的通信系统架构下,实现用户面mbs会话传输树的建立,并且可以提高mbs业务数据的传输效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了单播通信系统及多播通信系统的数据传输流程示意图;

图2示出了mbms的多播上下文激活过程示意图;

图3示出了ipv4网络地址的分类示意图;

图4示出了ipv4的多播地址的结构示意图;

图5示出了ipv6的多播地址的结构示意图;

图6示出了ipv4首部的结构示意图;

图7示出了igmpv1的协议头部格式、igmpv2的协议头部格式和igmpv3中成员报告消息的格式示意图;

图8示出了mbms多播业务的mbms注册过程示意图;

图9示出了mbms会话开始过程示意图;

图10示出了一种mbs系统架构示意图;

图11示出了一种mbs系统结构示意图;

图12示出了根据本申请的一个实施例的多播广播业务的通信方法的流程图;

图13示出了根据本申请的一个实施例的多播广播业务的通信方法的流程图;

图14a示出了根据本申请的一个实施例的多播广播业务的通信方法的流程图;

图14b示出了根据本申请的一个实施例的多播广播业务的通信方法的流程图;

图15示出了根据本申请的一个实施例的控制面与用户面分离的mbs通信方法的流程图;

图16示出了根据本申请的一个实施例的控制面与用户面分离的mbs通信方法的流程图;

图17示出了ng-ran中gnb与5gc之间的连接关系示意图;

图18示出了根据本申请的一个实施例的控制面与用户面分离的mbs通信方法的流程图;

图19示出了本申请实施例的技术方案的级联方式示意图;

图20示出了根据本申请的一个实施例的控制面与用户面分离的mbs通信方法的流程图;

图21示出了根据本申请的一个实施例的控制面与用户面分离的mbs通信方法的流程图;

图22示出了根据本申请的一个实施例的控制面与用户面分离的mbs通信方法的流程图;

图23示出了根据本申请的一个实施例的控制面与用户面分离的mbs通信方法的流程图;

图24示出了根据本申请的一个实施例的多播广播业务的通信装置的框图;

图25示出了根据本申请的一个实施例的多播广播业务的通信装置的框图;

图26示出了根据本申请的一个实施例的多播广播业务的通信装置的框图;

图27示出了根据本申请的一个实施例的多播广播业务的通信装置的框图;

图28示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

2g(第二代移动通信技术)、3g(第三代移动通信技术)与4g(第四代移动通信技术)的无线通信系统支持mbms(multimediabroadcastandmulticastservice,多媒体广播组播业务),这个业务分为broadcast(广播)与multicast(组播)两种业务。但是,只有2g与3g系统支持多播业务,4g系统在标准上不支持,并且2g、3g和4g系统都支持广播业务。

除了广播和组播业务之外,网络节点之间的通信方式还包括单播。“单播”就是最为常见的一对一的通信,其优点是发送方可以向不同的接收方传输不同的内容,但是如果发送方需要向多个接收方传输相同的内容,那么就需要端到端地分别传输多份相同的数据,效率较低。具体如图1中所示,单播源以单播的方式向多个接收方发送数据时,需要以端到端的方式分别传输多份相同的数据(图1中不同的线型表示不同的数据流)。

“组播”也可以称为“多播”,是发送方将相同的内容传输给多个接收方。网上视频会议、网上视频点播特别适合采用多播方式,因为如果采用单播方式,那么有多少个接收方,就会有多少次传送过程,这种方式显然效率极低;而如果采用不区分目标、全部发送的广播方式,虽然一次可以传送完数据,但是达不到区分特定数据接收方的目的。可见,采用多播方式,既可以实现一次向多个接收方发送相同的数据,也可以达到只对特定对象传送数据的目的。具体如图1中所示,多播源一次可以向多个接收方发送数据相同的数据。

“广播”也是将相同的内容传输给多个接收方,但是在传输的时候没有进行接收方的选择,因此可能存在着对不必要的设备也进行了数据的传输而造成网络资源的浪费。另外,有些接收方可能对广播的内容没有“兴趣”,那么在接收到广播的内容之后,也不得不丢弃掉接收到的数据包,进而也造成了终端资源的浪费。

广播业务与多播业务的根本区别在于系统中的ue(userequipment,用户设备)都可以参加广播业务且无需签约,而多播业务的ue必须是要签约与认证后才能参加。同时需要注意的是:多播业务与广播业务有很多种,对于多播业务,ue是通过ip多播地址加入相应业务的多播组。一个广播群对应的广播业务有其特定的服务区域。

在3gpp(3rdgenerationpartnershipproject,第三代合作伙伴计划)协议的ts23.246章节8.2中定义了mbms的多播上下文激活过程,具体如图2所示,包括如下步骤:

步骤s201,ue选择一个apn(accesspointname,接入点名称)建立一个pdp(packetdataprotocol,分组数据协议)context,然后分配一个ip地址给ue,为便于后续描述,该步骤中ue选择的apn用apn0来进行标识。

步骤s202,ue选择一个ipmulticastaddress(该ip多播地址用于标识一个多播业务),然后向ggsn(gatewaygprssupportnode,网关gprs支持节点)发送igmpjoin数据包,以指示ue要加入这个多播组。

步骤s203,ggsn向bm-sc(broadcastmulticastservicecenter,广播多播业务中心)发送mbms授权请求,并接收bm-sc反馈的mbms授权响应。其中,bm-sc根据ue的签约数据认证ue是否可以加入这个多播组,如果确认ue可以加入这个多播组,则在mbms授权响应中给出ue加入这个多播组所要使用的apn(该apn以apn1来进行标识),然后通过步骤s204a、s204b、s205将ue所要使用的apn1传递给ue。

步骤s206,ue根据bm-sc提供的apn1发起一个新的mbmssession,即发送激活mbms上下文请求,该激活mbms上下文请求中包含有ipmulticastaddress、apn1和ue的mbms能力。该mbms能力比如可以是qos(qualityofservice,服务质量)能力。

步骤s207,sgsn(servinggprssupportnode,服务gprs支持节点)校验ue是否有签约apn1,若不能校验通过,则sgsn向ggsn发送mbms通知拒绝请求,ggsn向mbms发送通知拒绝响应。需要说明的是,ue的签约数据保存在hss(homesubscriberserver,归属用户服务器)中,图2中没有示出sgsn与hss的交互过程。另外,图2中的步骤s208和步骤s209的具体过程请参见ts23.246章节8.2中定义的mbms上下文激活过程。

步骤s210,若sgsn校验ue通过,则sgsn根据apn1选择另外一个ggsn(即支持multicast业务的ggsn),向该ggsn发送创建mbms上下文请求消息,此消息中包含有ue的id、uelocationid、ipmulticastaddress、apn1和ue的接入信息(比如是2g还是3g)。

其中,ue的id可以是imsi(internationalmobilesubscriberidentity,国际移动用户识别码)或msisdn(mobilestationinternationalintegratedservicedigitalnetworknumber,移动台国际综合业务数字网络号码)。uelocationid可以是rat(radioaccesstechnology,无线接入技术)id或者cgi(commongatewayinterface,公共网关接口)或者sai(serviceareaidentity,服务区域标识)等。

步骤s211,ggsn向bm-sc发送mbms授权请求,bm-sc根据ue的签约信息对ue进行授权,并向ggsn反馈mbms授权响应。

步骤s212,若授权允许接入,且ggsn上没有ipmulticastaddress指示的任何ue的上下文,即此ue是此ggsn上第一个接入ipmulticastaddress所标识的多播业务,则向其上级节点bm-sc作注册,以指示后续发送给ipmulticastaddress的多播业务数据时,需要发送到此ggsn上。(注意,不同的ue可能选择到不同的ggsn上,因此bm-sc向下发送多播数据时,需要向这些ggsn同时发送相同的多播数据)。

步骤s213,ggsn创建此ue的对应于此ipmulticastaddress的mbmsue上下文,然后向sgsn发送创建mbms上下文响应,以指示mbms上下文创建成功。

步骤s214,类似于步骤s212,若sgsn上没有ipmulticastaddress指示的任何ue的上下文,即此ue是此sgsn上第一个接入ipmulticastaddress所标识的多播业务,则向上级节点ggsn作注册,以指示后续发送给ipmulticastaddress的多播业务数据时,需要发送到此sgsn上。(注意,不同的ue可能选择到不同的sgsn上,因此该ggsn向下发送多播数据时,需要向这些sgsn同时发送相同的多播数据)。

图2中的步骤s215至步骤s217的具体过程请参见ts23.246章节8.2中定义的mbms上下文激活过程。

由图2所示的流程可知:2g或3g的ue先是通过apn0建立一个pdpcontext,分配得到一个ip地址,然后以此ip地址发送一个加入多播的igmpjoin数据包给网络,ggsn要截获这个igmp数据包,然后向mb-sc发送一个信令(即mbms授权请求),进而bm-sc向ue分配一个apn1,然后ue再以这个apn1发送请求mbms上下文激活消息,从而才能激活一个mbms上下文。

前述的ip多播地址可能是ipv4多播地址,也可以ipv6多播地址。如图3所示,ipv4的网络地址分为a类地址、b类地址、c类地址、d类地址和e类地址。其中,a类地址中的第1字节(8位)为网络号,其它3个字节(24位)为主机号,a类地址的范围是:0.0.0.0到127.255.255.255。b类地址中的第1字节和第2字节为网络号,其它2个字节为主机号,b类地址的范围是:128.0.0.0到191.255.255.255。c类地址中的前3个字节为网络号,第4个字节为主机号,c类地址的范围是:192.0.0.0到223.255.255.255。d类地址是多播地址,该类地址最前面4位是“1110”,d类地址的范围是:224.0.0.0到239.255.255.255。e类地址是保留地址,该类地址最前面5位是“11110”,e类地址的范围是:240.0.0.0到247.255.255.255。

如图4所示,ipv4的多播地址又可以具有三种结构,这三种结构分别适用于众所周知(well-known)的多播地址,全局范围(globally-scoped)的多播地址和本地范围(locally-scoped)的多播地址。

ipv6多播地址的结构如图5所示,第一个字节(8比特)表示该地址是多播地址,接下来的4比特是标志位(flag)字段,再接下来的4比特是范围(scope)字段,最后的112比特位组标识符(groupid)。

其中,标志位字段的第一个比特为0,保留给将来使用;第二个比特指示该多播地址是否内嵌了rp(rendezvouspoint,聚合点),rp是多播网络中指定多播流的分发点,比如第二个比特值为0时,表示未内嵌聚合点,第二个比特值为1时,表示内嵌了聚合点。标志位字段的第三个比特指示该多播地址是否内嵌了前缀信息,比如第三个比特值为0时,表示未内嵌前缀信息,第三个比特值为1时,表示内嵌了前缀信息。标志位字段的最后一个比特指示该多播地址是永久分配的多播地址(permanentlyassignedaddress)还是临时多播地址(transientmulticastaddress),比如最后一个比特值为0时,表示是永久分配的多播地址,最后一个比特值为1时,表示是临时多播地址。

范围(scope)字段的作用是限定多播地址的范围,取值与描述如表1所示:

表1

在多播通信中,多播地址只能作为目的ip地址(即ip头中的目的ip地址),多播地址不能作为源ip地址。在mbms(2g、3g)与mbs(5g)的多播业务中,多播数据包都是网络侧向下发送给ue的,即多播数据包都是dl(downlink,下行)数据包,ue不能通过对应的多播地址向网络侧发送数据。也就是说ue不能将此多播地址作为目的ip地址发送上行的ip包,即没有ul(uplink,上行)的多播数据。

网络中传输的ip包是由ip首部和数据两部分组成的,ipv4首部的结构如图6所示,主要包括:“版本”字段、“首部长度”字段、“服务类型”字段、“总长度”字段、“标识”字段、“标志”字段、“片偏移”字段、“生存时间”字段、“协议”字段、“首部校验和”字段、“源地址”字段、“目的地址”字段、“可选字段”。

其中,“版本”字段占4位,指ip协议的版本,比如版本号为4(即ipv4)。“首部长度”字段占4位。“服务类型”字段占8位,用来获得更好的服务。“总长度”字段占16位,指首部和数据之和的长度。“标识”字段占16位,它是一个计数器,用来产生数据报的标识。“标志”字段占3位,“标志”字段的最低位是mf(morefragment),如果mf=1则表示后面“还有分片”,如果mf=0则表示是最后一个分片;“标志”字段中间的一位是df(don'tfragment),只有当df=0时才允许分片。“片偏移”字段占12位,指较长的分组在分片后某片在原分组中的相对位置。“生存时间”字段即为ttl(timetolive),其占8位,ttl字段是由发送端初始设置一个字段。“协议”字段占8位,用于指示此数据报携带的数据使用何种协议,其中值为“1”表示是icmp(internetcontrolmessageprotocol,internet控制报文协议)协议;值为“2”表示是igmp协议;值为“6”表示是tcp(transmissioncontrolprotocol,传输控制协议)协议;值为“17”表示是udp(userdatagramprotocol,用户数据报协议)协议;值为“50”表示是esp(encapsulatingsecuritypayload,封装安全载荷)协议;值为“51”表示是ah(authenticationheader,认证头)协议。“首部校验和”字段占16位,只检验数据报的首部,不检验数据部分。“源地址”字段和“目的地址”字段分别占4字节,用于分别记录源地址和目的地址。

对于上述提到的igmp协议,其有三个协议版本,分别为igmpv1、igmpv2和igmpv3,对应的标准分别是rfc1054、rfc2236和rfc3376。igmpv1的协议头部格式和igmpv2的协议头部格式如图7所示,其中,igmpv1的协议头部包括4比特的igmp版本字段、4比特的igmp报文类型字段(该字段值为1表示是hostmembershipquery,即主机成员查询类型;值为2表示是hostmembershipreport,即主机成员报告类型)、8比特的未用字段(该字段在发送时填0,接收时忽略)、16比特的igmp校验和字段(当传送报文时,必须计算该校验字并插入到该字段中去;当接收包时,该字段必须在处理包之前进行检验),以及32位的组播地址字段。

igmpv2的协议头部包括8比特的报文类型字段、8比特的最大响应时间字段、16比特的igmp校验和字段,以及32位的组播地址字段。

其中,igmpv2的协议头部中的报文类型字段所指示的类型有如下几种:0x11=membershipquery,表示的是igmp成员查询消息;0x12=version1membershipreport,表示的是igmpv1的成员报告消息;0x16=version2membershipreport,表示的是igmpv2的成员报告消息;0x17=leavegroup表示的是离开消息。在igmpv2中,旧的4位版本字段和旧的4位类型字段拼成了一个新的8位类型字段,通过分别将成员查询消息(版本1和版本2的)及版本1的成员报告消息的类型代码置为0x11和0x12,保持了igmp版本1和版本2包格式的向后兼容。

igmpv2的协议头部中的最大响应时间字段用于指示在发出响应报告前的最长时间(以1/10秒为单位),缺省值为10秒。类似于igmpv1,在传送报文时,必须计算校验和并填入igmpv2的协议头部中的校验和字段中,接收报文时,必须在处理报文之前检验校验和,以判断igmp消息在传输过程中是否发生了错误。

继续参照图7所示,igmpv3中成员报告消息(membershipreport)的格式包括类型字段(由于是成员报告消息,因此类型=0x22)、保留字段、校验和字段、组记录数量字段以及组记录字段。其中,图2中所示的igmpjoin数据包就是igmp的membershipreport消息来实现的。对igmpv3而言,igmpjoint消息的ip包中的目的ip地址不是要加入的ip多播地址,而是在消息的参数中包含了其要加入的ip多播地址。

标准ts23.246的章节8.4定义了适用于mbms多播业务的mbms注册过程,具体如图8所示,包括如下步骤:步骤s801,rnc(radionetworkcontroller,无线网络控制器)向sgsn发送mbms注册请求;步骤s802,sgsn向ggsn发送mbms注册请求;步骤s803,ggsn向bm-sc发送mbms注册请求;步骤s804,bm-sc向ggsn反馈mbms注册响应,同时可以执行mbms会话开始过程;步骤s805,ggsn向sgsn反馈mbms注册响应,同时可以执行mbms会话开始过程;步骤s806,sgsn向rnc反馈mbms注册响应,同时可以执行mbms会话开始过程。可见,mbms注册过程的主要功能是形成了从上到下的一个控制承载建立(mbmsbearercontext)的信令树。由于2g,3g的标准中是控制面与用户面不分离,因此在控制面上形成了mbms承载控制面的传输树就等同于后续可以建立一个从上到下的mbms承载的传输树(注意mbms承载的传输树是用mbmssessionstart过程建立)。另外,由于4g不支持多播业务,所以4g标准中不存在着mbms注册过程。

标准ts23.246的章节8.3定义了mbms会话开始过程,具体如图9所示,包括如下步骤:步骤s901,bm-sc向ggsn发送mbms会话开始请求,ggsn向bm-sc反馈mbms会话开始响应;步骤s902,ggsn向sgsn发送mbms会话开始请求,然后由sgsn向ggsn反馈mbms会话开始响应;步骤s903,sgsn向bsc(basestationcontroller,基站控制器)/rnc发送mbms会话开始请求,然后由bsc/rnc向sgsn反馈mbms会话开始响应;步骤s904,ue与rsc/rnc之间进行mbms会话开始过程;步骤s903a,bsc/rnc发送igmpv3成员报告消息。

其中,对于mbms的多播业务而言,mbms注册过程与mbs会话开始过程都是peripmulticast(每个ip组播)过程,它是为这个ipmulticast建立一个从上到下的控制面的mbms承载上下文的信令树与一个从上到下的mbms承载的传输树,而不是perueperipmulticast。对于mbms的广播业务而言,没有mbms注册过程,且mbs会话开始过程都是peripbroadcast(每个ip广播)过程,它是为这个ipbroadcast建立一个从上到下的控制面的mbms承载上下文的信令树与一个从上到下的mbms承载的传输树,而不是perueperipbroadcast。

但是,对于mbms的多播业务而言,为了优化注册流程,在ue进行mbmsuecontext激活过程中,可以顺便执行mbms注册的部分过程,比如图2中所示的步骤s212和步骤s214,但这仅仅是当sgsn与ggsn中的第一个ue激活这个ipmulticast业务时执行的,当有第二个ue在相同的sgsn与ggsn上激活这个ipmulticast时就不再执行图2中所示的步骤s212和步骤s214。

对于mbms的多播业务与广播业务而言,一个重要的功能是要形成多播业务与广播业务的用户面的传输树,防止形成用户面的传输环(即到达某个节点存在着多条不同的传输路径),同时也防止mbms断枝的出现(即出现某个节点没有下游节点)。

在2g~3g系统中,多个sgsn可以组成一个pool(池)。虽然ggsn在标准上没有定义pool,但是在实际部署时,存在着一个ggsnpool以提供系统的高可靠性。这样,不同的ue接入到同一个bsc/rnc,并激活相同的mbmsipmulticast时,有可能被bsc/rnc选择到同一个sgsnpool中的不同sgsn上。但由于这些ue使用的apn是相同的,因此这些同一个sgsnpool中的不同sgsn将选择到不同的ggsn,但可能sgsn是连接到相同的ggsn。3gpp的标准是这样规定的,当rnc使用iu接口时,才允许选择使用sgsnpool,且对于mbms需要ggsn使用gtp-u(gprstunnelingprotocol-userplane,cprs隧道协议用户面)直接连接到rnc上,用户面不允许经过sgsn。这样即使在同一个rnc上的不同用户使用相同的apn和ipmulticast选择了不同的sgsn,但其用户面最终是相同的,不会存在着多条不同的用户面。

但是,对于bsc而言,可能存在着多个sgsn向其发送mbms会话开始请求消息,对于这种情况,标准ts23.236中定义了通过bsc/rnc拒绝其它sgsn的mbms会话开始请求消息来实现只有一条用户面。同样的,当多个ggsn向一个sgsn发送mbms会话开始请求消息时,sgsn也只能选择一个ggsn建立承载面,进而防止mbms传输环的出现。

当bsc/rnc拒绝了一个sgsn的承载面建立,就可能造成这个sgsn没有下游节点,在这种情况下,sgsn只好通过deregistration(取消注册)技术(具体可以参照标准ts23.236的章节8.6.0)来实现将自身从ggsn的下游节点中删除,从而防止ggsn给这个sgsn发送mbms的多播数据,而这个sgsn却不能往下传输的问题,避免出现mbms传输断枝。同样的,当sgsn拒绝ggsn的承载面建立时,可能造成这个ggsn没有下游节点,在这种情况下,ggsn只好通过deregistration技术来实现将自身从bm-sc的下游节点中删除,从而防止bm-sc给这个ggsn发送mbms的多播数据,避免出现mbms传输断枝。

即对于mbms多播业务而言,除了最终的传输点ue外,任何节点都必须有一个下游节点。若一个节点没有下游节点,则这个节点应当离开这个传输树(对应于deregistration过程)。例如,当一个基站下的mbmsue全部移动到其它基站时,则这个基站需要向sgsn进行deregistration操作;当一个sgsn下的所有mbms连接基站进行了deregistration操作,则这个sgsn需要向ggsn进行deregistration操作;当一个ggsn下的所有mbms连接sgsn进行了deregistration操作,则这个ggsn需要向bm-sc进行deregistration操作。

此外,由于mbms业务(包含广播业务和多播业务)的传输路径是一个树状结构,每个父节点下面是一个或多个子节点,父节点与子节点的承载可以是基于父与子之间的gtptunnel(gtp隧道)。但当子节点数量特别多时,父节点就需要同时向很多的子节点发送同样的ipmulticast数据,显然通过gtp隧道传输的方式效率非常低。为了提升网络侧父节点与子节点之间的传输效率,父节点可以分配一个本地的ipmulticast地址(这个地址不是mbmsmulticast业务中的multicast地址),这个传输层的ipmulticast地址用于子节点(如基站)同父节点(如mbmsgw或ggsn)之间高效传输mbms业务数据。在这种情况下,父节点只需要将mbms业务数据通过这个传输层的多播地址发送出去,所有的子节点都可以接收mbms业务数据,从而大大地减轻了父节点的数据处理量。

要使用上述基于多播的承载传输优化技术,需要父节点分配一个本地的ipmulticast传输层地址,子节点在收到这个父节点分配的ipmulticast传输层地址后,需要通过igmpjoin过程加入这个传输层的多播组。因有些子节点不支持多播,因此可能存在着一部分子节点使用传输层多播的方式接收mbms业务数据,另外一部分子节点分别使用点到点的gtptunnel方式,在这种情形下是由子节点分配下行gtp-u的ip地址及teid。当然,父节点若发现子节点的数目比较少,则也可以决定不采用多播传输方式。

由于mbms系统中控制面与用户面不分离,也就是网络节点都是同时包含用户面与控制面功能,因此当某个网络节点不支持多播传输技术后,直接回复一个gtp-u的ip地址及teid后,父节点就可以知道这个节点不支持多播传输。但是在5gmbs系统中,控制面与用户面是分离的,控制面与用户面不再是同一个网络节点,在这种情况下建立mbs会话传输树将面临多种问题。

并且5gmbs最新的研究报告中定义了如图10和图11所示的两种系统架构,其中,图10所示的系统架构是在目前5g架构上叠加功能,即在不修改目前5g架构的情形下,通过增强5g架构的功能与接口来支持5gmbs业务,这种架构的好处是通过软件升级就可以支持5gmbs。图11所示的系统架构是一个全新的架构,即在目前5g架构不变的情形下,增加一些新的网络功能节点。这种架构的好处是对目前的5g的架构影响最小化,但是有些网络功能节点可能还是需要进行增强,如ng-ran(nextgenerationradioaccessnetwork,下一代无线接入网)、amf、udm(unifieddatamanagement,统一数据管理)、udr(userdatarepository,用户数据仓库)、nef(networkexposurefunction,网络开放功能)、pcf等。

图10中的smf是sessionmanagementfunction,即会话管理功能;upf是userplanefunction,即用户面功能;af是applicationfunction,即应用功能。图11中的mb-upf即为multicast/broadcast-upf;mb-smf即为multicast/broadcast-smf;mbsu即为multicast/broadcastserviceuserplane(多播/广播业务用户面);mbsf即为multicast/broadcastservicefunction(多播广播业务实体)。

以下实施例将介绍针对5gmbs系统的用户面mbs会话传输树的相关技术内容,详细阐述如下:

图12示出了根据本申请的一个实施例的多播广播业务的通信方法的流程图,该多播广播业务的通信方法可以由i-smf来执行,该多播广播业务的通信方法至少包括步骤s1210至步骤s1230,详细介绍如下:

在步骤s1210中,接收mbs会话传输树中的第i级控制面节点发送的第一mbs会话开始请求,该第一mbs会话开始请求中包含有第i级控制面节点提供的子控制面节点的信息、第i级控制面节点选择的第i级用户面节点的标识信息、第i级用户面节点分配的第一mbsip多播传输地址与用于通过多播方式传输mbs业务数据的第一c-teid。

在本申请的一个实施例中,第i级控制面节点可以根据第i级控制面节点的子控制面节点的信息,从管理的用户面功能实体中选取一个或多个用户面功能实体作为第i级用户面节点。同时,如果第i级控制面节点根据第i级控制面节点的子控制面节点的信息,确定第i级控制面节点管理的用户面功能实体不能与第i级控制面节点的子控制面节点管理的用户面功能实体建立传输通路,那么可以选择能够与第i级控制面节点及与第i级控制面节点的子控制面节点进行通信的smf作为i-smf。

比如,若第i级控制面节点的服务区域是a,而第i级控制面节点的子控制面节点的服务区域是c,即第i级控制面节点所管理的用户面功能实体不能直接与第i级控制面节点的子控制面节点所管理的用户面功能实体进行通信,那么第i级控制面节点可以选择一个i-smf,该i-smf需要能够与第i级控制面节点及与第i级控制面节点的子控制面节点进行通信。

在本申请的一个实施例中,第i级控制面节点在选择出第i级用户面节点之后,可以与第i级用户面节点进行用户面mbs会话建立过程,即向第i级用户面节点发送用户面mbs会话建立请求,并接收第i级用户面节点反馈的用户面mbs会话建立响应,然后从第i级用户面节点反馈的用户面mbs会话建立响应中获取到第i级用户面节点所分配的第一mbsip多播传输地址与第一c-teid。当第i级控制面节点确定出这些信息之后,向选择出的i-smf发送上述的第一mbs会话开始请求,并在该第一mbs会话开始请求中添加这些信息,即添加了第i级控制面节点提供的子控制面节点的信息、第i级用户面节点的标识信息、第i级用户面节点所分配的第一mbsip多播传输地址与第一c-teid。

在步骤s1220中,根据第i级控制面节点的信息及第i级控制面节点提供的子控制面节点的信息选择能够与第i级用户面节点建立连接的第一用户面节点,以及与第一用户面节点和第i级控制面节点提供的子控制面节点所管理的用户面功能实体均能够建立连接的第二用户面节点。

在本申请的一个实施例中,第i级控制面节点的信息可以包括第i级控制面节点的服务区域,第i级控制面节点提供的子控制面节点的信息可以包括第i级控制面节点提供的子控制面节点的服务区域,i-smf需要根据这些信息选择出能够与第i级用户面节点建立连接的第一用户面节点,以及与第一用户面节点和第i级控制面节点提供的子控制面节点所管理的用户面功能实体均能够建立连接的第二用户面节点。

在步骤s1230中,向第一用户面节点发送第一用户面mbs会话建立请求,并接收第一用户面节点反馈的第一用户面mbs会话建立响应,该第一用户面mbs会话建立请求中包含有第一mbsip多播传输地址和第一c-teid,该第一mbsip多播传输地址用于使第一用户面节点加入第一mbsip多播传输地址对应的多播传输组来接收第i级用户面节点通过多播方式发送的mbs业务数据。

在本申请的一个实施例中,如果第一用户面节点不支持通过多播方式、但支持通过点对点方式接收第i级用户面节点发送的mbs业务数据,那么i-smf向第一用户面节点发送的第一用户面mbs会话建立请求中包含有请求为第一用户面节点分配f-teid的指示信息,在这种情况下,第一用户面节点反馈的第一用户面mbs会话建立响应中包含有第一用户面节点分配的f-teid,该f-teid用于使第一用户面节点通过点对点的方式接收第i级用户面节点发送的mbs业务数据。

在本申请的一个实施例中,如果i-smf并不知晓第一用户面节点是否不支持接收基于多播方式传输的数据,或者i-smf即便知晓第一用户面节点不支持接收基于多播方式传输的数据,但是也不进行决策,那么第一用户面节点可以通过第一用户面mbs会话建立响应指示第一用户面节点不支持通过多播方式、但支持通过点对点方式接收第i级用户面节点发送的mbs业务数据,并包含有第一用户面节点分配的f-teid。

在本申请的一个实施例中,若第i级控制面节点选择了至少两个第i级用户面节点,则i-smf向第一用户面节点发送的第一mbs会话开始请求中包含有每个第i级用户面节点各自的标识信息、每个第i级用户面节点分配的第一mbsip多播传输地址和第一c-teid。其中,不同的第i级用户面节点分配的第一mbsip多播传输地址不相同。

继续参照图12所示,在步骤s1240中,向第二用户面节点发送第二用户面mbs会话建立请求,并接收第二用户面节点反馈的第二用户面mbs会话建立响应,该第二用户面mbs会话建立请求中包含有第一用户面节点分配的第二mbsip多播传输地址和第二c-teid,该第二mbsip多播传输地址用于使第二用户面节点加入第二mbsip多播传输地址对应的多播传输组来接收第一用户面节点通过多播方式发送的mbs业务数据。

在本申请的一个实施例中,i-smf可以从第一用户面节点反馈的第一用户面mbs会话建立响应中获取到第一用户面节点分配的第二mbsip多播传输地址和第二c-teid。具体而言,i-smf向第一用户面节点发送的第一用户面mbs会话建立请求中包含有用于指示第一用户面节点分配新的mbsip多播分发信息的指示信息,第一用户面节点反馈给i-smf的第一用户面mbs会话建立响应中包含有第一用户面节点分配的第二mbsip多播传输地址和第二c-teid。

在本申请的一个实施例中,如果第二用户面节点不支持通过多播方式、但支持通过点对点方式接收第一用户面节点的mbs业务数据,那么i-smf向第二用户面节点发送的第二用户面mbs会话建立请求中包含有请求为第二用户面节点分配f-teid的指示信息,在这种情况下,第二用户面节点反馈的第二用户面mbs会话建立响应中包含有第二用户面节点分配的f-teid,第二用户面节点分配的f-teid用于使第二用户面节点通过点对点的方式接收第一用户面节点发送的mbs业务数据。

在本申请的一个实施例中,如果i-smf并不知晓第二用户面节点是否不支持接收基于多播方式传输的数据,或者i-smf即便知晓第二用户面节点不支持接收基于多播方式传输的数据,但是也不进行决策,那么第二用户面节点可以通过第二用户面mbs会话建立响应指示第二用户面节点不支持通过多播方式、但支持通过点对点方式接收第一用户面节点发送的mbs业务数据,并包含有第二用户面节点分配的f-teid。

在本申请的一个实施例中,i-smf在接收到第二用户面节点反馈的第二用户面mbs会话建立响应之后,如果根据该第二用户面mbs会话建立响应确定有不支持通过多播方式、但支持通过点对点方式接收第一用户面节点发送的mbs业务数据的第二用户面节点,则向第一用户面节点发送第一用户面mbs会话修改请求,该第一用户面mbs会话修改请求中包含有不支持通过多播方式接收第一用户面节点发送的mbs业务数据的第二用户面节所分配的f-teid,以使第一用户面节点通过点对点的方式向不支持通过多播方式接收第一用户面节点发送的mbs业务数据的第二用户面节点传送mbs业务数据。

需要说明的是:如果同时存在支持通过多播方式接收第一用户面节点发送的mbs业务数据的第二用户面节点,则第一用户面mbs会话修改请求中还包含有启动多播方式传输的字段,以指示第一用户面节点同时使用多播传输方式向第二用户面节点发送mbs业务数据。

在本申请的一个实施例中,如果i-smf选择的所有第二用户面节点都不能与某个第一用户面节点建立通信,那么这个第一用户面节点将没有下游节点,在这种情况下,用户面mbs会话传输树中存在了断枝,因此i-smf需要向这个第一用户面节点发送用户面mbs会话删除请求。另外,如果某个第一用户面节点服务的所有用户设备移动到了其它区域,即这个第一用户面节点不需要再向用户设备提供服务,那么i-smf也可以向这个第一用户面节点发送用户面mbs会话删除请求。

继续参照图12所示,在步骤s1250中,向第i级控制面节点提供的子控制面节点发送第二mbs会话开始请求,以指示第i级控制面节点提供的子控制面节点为第二用户面节点分配子用户面节点,该第二mbs会话开始请求中包含有第二用户面节点分配的第三mbsip多播传输地址和第三c-teid,该第三mbsip多播传输地址用于使第i级控制面节点提供的子用户面节点加入第三mbsip多播传输地址对应的多播传输组来接收第二用户面节点通过多播方式发送的mbs业务数据。

在本申请的一个实施例中,i-smf在向第i级控制面节点提供的子控制面节点发送第二mbs会话开始请求之后,还需要接收第i级控制面节点提供的子控制面节点针对第二mbs会话开始请求反馈的第二mbs会话开始响应,该第二mbs会话开始响应中包含有第一指示信息。该第一指示信息中包含的内容可以有如下几种情况:

情况1:在本申请的一个实施例中,该第一指示信息中包含有第二用户面节点的标识信息、第一f-teid列表信息和用于表示启动多播方式传输的第一字段信息,该第一字段信息表示第i级控制面节点提供的子控制面节点为第二用户面节点分配的子用户面节点中存在支持通过多播方式接收第二用户面节点发送的mbs业务数据的子用户面节点,该第一f-teid列表信息包含有不支持通过多播方式、但支持通过点对点方式接收第二用户面节点发送的mbs业务数据的子用户面节点的f-teid,该f-teid用于使第二用户面节点的子用户面节点通过点对点的方式接收第二用户面节点发送的mbs业务数据。

情况2:在本申请的一个实施例中,该第一指示信息包含有第二用户面节点的标识信息、且不包含上述第一f-teid列表信息和上述第一字段信息,在这种情况下,该第一指示信息用于指示第i级控制面节点提供的子控制面节点为第二用户面节点分配的子用户面节点均支持通过多播方式接收第二用户面节点发送的mbs业务数据。

情况3:在本申请的一个实施例中,该第一指示信息包含有第二用户面节点的标识信息、上述第一f-teid列表信息,且不包含上述第一字段信息,在这种情况下,该第一指示信息用于指示第i级控制面节点提供的子控制面节点为第二用户面节点分配的子用户面节点均不支持通过多播方式、但支持通过点对点方式接收第二用户面节点发送的mbs业务数据。

情况4:在本申请的一个实施例中,该第一指示信息包含有第二用户面节点的标识信息和停用多播传输的字段信息、且不包含上述第一f-teid列表信息,在这种情况下,该第一指示信息用于指示第i级控制面节点提供的子控制面节点没有为第二用户面节点分配子用户面节点。可选地,停用多播传输的字段信息可以是将multicastenable的值设置为disable。

在本申请的一个实施例中,若i-smf选择了至少两个第二用户面节点,则第i级控制面节点提供的子控制面节点向i-smf反馈的第二mbs会话开始响应中包含有第一指示信息列表,该第一指示信息列表中包含有所有第二用户面节点分别对应的第一指示信息。

在本申请的一个实施例中,第i级控制面节点的子控制面节点向i-smf反馈的第二mbs会话开始响应中还可能包含有失败的标识信息列表,该失败的标识信息列表用于指示未被分配子用户面节点的目标第二用户面节点。

在本申请的一个实施例中,如果i-smf根据第i级控制面节点的子控制面节点反馈的第二mbs会话开始响应确定存在未被分配子用户面节点的目标第二用户面节点,则向目标第二用户面节点发送用户面mbs会话删除请求。该实施例的技术方案即是删除用户面mbs会话传输树中的断枝。

在本申请的一个实施例中,i-smf在向未被分配子用户面节点的目标第二用户面节点发送用户面mbs会话删除请求之后,还可以接收目标第二用户面节点反馈的用户面mbs会话删除响应,该用户面mbs会话删除响应是目标第二用户面节点在接收到用户面mbs会话删除请求之后发送的,其中,若目标第二用户面节点已加入第二mbsip多播传输地址对应的多播传输组中,则在接收到该用户面mbs会话删除请求之后退出第二mbsip多播传输地址对应的多播传输组。

在本申请的一个实施例中,如果第i级控制面节点提供了至少两个子控制面节点,则i-smf在接收到第i级控制面节点提供的所有子控制面节点分别反馈的第二mbs会话开始响应之后,再确定是否存在未被分配子用户面节点的目标第二用户面节点,避免根据接收到部分子控制面节点反馈的第二mbs会话开始响应导致对是否存在未被分配子用户面节点的目标第二用户面节点的判断出现偏差。

在本申请的一个实施例中,i-smf在接收第i级控制面节点提供的子控制面节点针对第二mbs会话开始请求反馈的第二mbs会话开始响应之后,可以根据该第二mbs会话开始响应确定第二用户面节点通过哪种方式分别向第二用户面节点的子用户面节点传输mbs业务数据。

具体而言,如果第二mbs会话开始响应中的第一指示信息包含有上述第一f-teid列表信息,则i-smf根据该第一指示信息中包含的第二用户面节点的标识信息向第二用户面节点发送用户面mbs会话修改请求,以指示第二用户面节点通过点对点的方式向第一f-teid列表信息所包含的各个f-teid对应的子用户面节点分别传送mbs业务数据。其中,如果该第一指示信息中还包含有上述第一字段信息,则该用户面mbs会话修改请求还用于指示第二用户面节点同时使用多播传输方式向第二用户面节点的子用户面节点发送mbs业务数据;若该第一指示信息中不包含上述第一字段信息,则该用户面mbs会话修改请求还用于指示第二用户面节点不需要使用多播传输方式向第二用户面节点的子用户面节点发送mbs业务数据。

需要说明的是,如果第二mbs会话开始响应中的第一指示信息不包含上述第一f-teid列表信息和上述第一字段信息,则说明第二用户面节点的子用户面节点都支持接收多播传输,那么第二用户面节点可以通过多播传输的方式向第二用户面节点的所有子用户面节点传输mbs业务数据。

在本申请的一个实施例中,如果i-smf选择了至少两个第二用户面节点,则i-smf可以根据第二mbs会话开始响应中包含的每个第二用户面节点对应的第一指示信息,向需要发送用户面mbs会话修改请求的第二用户面节点发送用户面mbs会话修改请求。具体地,如果根据第i级控制面节点提供的子控制面节点反馈的第二mbs会话开始响应确定某个第二用户面节点的部分子用户面节点不支持通过多播方式、但支持通过点对点方式接收该第二用户面节点发送的mbs业务数据,那说明该第二用户面节点是需要发送用户面mbs会话修改请求的第二用户面节点。

在本申请的一个实施例中,i-smf在接收第i级控制面节点的子控制面节点针对第二mbs会话开始请求反馈的第二mbs会话开始响应之后,还可以根据该第二mbs会话开始响应,向第i级控制面节点反馈针对第一mbs会话开始请求的第一mbs会话开始响应。如果第i级控制面节点提供了至少两个子控制面节点,那么i-smf需要在接收到第i级控制面节点提供的所有子控制面节点分别反馈的第二mbs会话开始响应之后,再向第i级控制面节点反馈第一mbs会话开始响应。

类似于第i级控制面节点提供的子控制面节点反馈的第二mbs会话开始响应,在本申请的一个实施例中,i-smf向第i级控制面节点反馈的第一mbs会话开始响应中包含有第二指示信息。该第二指示信息中包含的内容可以有如下几种情况:

情况1:在本申请的一个实施例中,该第二指示信息中包含有第i级用户面节点的标识信息、第二f-teid列表信息和用于表示启动多播方式传输的第二字段信息,该第二字段信息表示存在支持通过多播方式接收第i级用户面节点发送的mbs业务数据的中间用户面节点,该第二f-teid列表信息包含有不支持通过多播方式、但支持通过点对点方式接收第i级用户面节点发送的mbs业务数据的第一用户面节点的f-teid,该f-teid用于使第一用户面节点通过点对点的方式接收第i级用户面节点发送的mbs业务数据。

情况2:在本申请的一个实施例中,该第二指示信息包含有第i级用户面节点的标识信息、且不包含上述第二f-teid列表信息和上述第二字段信息,在这种情况下,该第二指示信息用于指示第一用户面节点均支持通过多播方式接收第i级用户面节点发送的mbs业务数据。

情况3:在本申请的一个实施例中,该第二指示信息包含有第i级用户面节点的标识信息、上述第二f-teid列表信息,且不包含上述第二字段信息,在这种情况下,该第二指示信息用于指示第一用户面节点均不支持通过多播方式、但支持通过点对点方式接收第i级用户面节点发送的mbs业务数据。

在本申请的一个实施例中,如果第i级控制面节点选择了至少两个第i级用户面节点,那么i-smf向第i级控制面节点反馈的第一mbs会话开始响应中包含有第二指示信息列表,该第二指示信息列表中包含有所有第i级用户面节点分别对应的第二指示信息。

在本申请的一个实施例中,如果i-smf选择了至少两个第一用户面节点和至少两个第二用户面节点,那么i-smf需要分别向选择的每个第二用户面节点发送第二用户面mbs会话建立请求,其中,向每个第二用户面节点发送的第二用户面mbs会话建立请求中包含有对应的第一用户面节点分配的第二mbsip多播传输地址与第二c-teid;其中,不同的第一用户面节点分配的第二mbsip多播传输地址不相同。

图12是从i-smf的角度对本申请实施例的多播广播业务的通信方法进行阐述,以下结合图13从第i级控制面节点的角度对本申请实施例的多播广播业务的通信方法进行进一步说明:

图13示出了根据本申请的一个实施例的多播广播业务的通信方法的流程图,该多播广播业务的通信方法可以由第i级控制面节点来执行,该多播广播业务的通信方法至少包括步骤s1310至步骤s1320,详细介绍如下:

在步骤s1310中,向第i级控制面节点选择的第i级用户面节点发送第二用户面mbs会话建立请求,并接收第i级用户面节点反馈的第二用户面mbs会话建立响应,该第i级控制面节点是mbs会话传输树中除最后一级控制面节点之外的任一级控制面节点。

在本申请的一个实施例中,第i级控制面节点可以根据第i级控制面节点的子控制面节点的信息,从管理的用户面功能实体中选取一个或多个用户面功能实体作为第i级用户面节点。第i级控制面节点在选择出第i级用户面节点之后,可以与第i级用户面节点进行用户面mbs会话建立过程,即向第i级用户面节点发送第二用户面mbs会话建立请求,并接收第i级用户面节点反馈的第二用户面mbs会话建立响应,然后从第i级用户面节点反馈的第二用户面mbs会话建立响应中获取到第i级用户面节点所分配的第一mbsip多播传输地址与第一c-teid。

在步骤s1320中,选择i-smf,向该i-smf发送第一mbs会话开始请求,该第一mbs会话开始请求中包含有第i级控制面节点提供的子控制面节点的信息、第i级用户面节点的标识信息、第i级用户面节点分配的第一mbsip多播传输地址和第一c-teid。

在本申请的一个实施例中,第一mbs会话开始请求用于触发i-smf选择能够与第i级用户面节点建立连接的第一用户面节点,以及与第一用户面节点和子控制面节点管理的用户面功能实体均能够建立连接的第二用户面节点,并用于触发i-smf向第i级控制面节点提供的子控制面节点发送第二mbs会话开始请求。第一用户面节点用于加入第一mbsip多播传输地址对应的多播传输组来接收第i级用户面节点通过多播方式发送的mbs业务数据,第二用户面节点用于加入第一用户面节点分配的第二mbsip多播传输地址对应的多播传输组来接收第一用户面节点通过多播方式发送的mbs业务数据,第二mbs会话开始请求用于指示第i级控制面节点提供的子控制面节点为第二用户面节点分配子用户面节点,并使分配的子用户面节点接收第二用户面节点发送的mbs业务数据。

在本申请的一个实施例中,如果第i级控制面节点提供了两个或两个以上的子控制面节点,那么第i级控制面节点向i-smf发送的第一mbs会话开始请求中可以包含有子控制面节点的列表,该列表中包含有第i级控制面节点提供的所有子控制面节点的信息。

在本申请的一个实施例中,第i级控制面节点选择中间会话管理功能实体i-smf的目的是:假如第i级控制面节点确定第i级控制面节点管理的用户面功能实体不能与第i级控制面节点的子控制面节点管理的用户面功能实体建立传输通路,那么可以选择能够与第i级控制面节点及与第i级控制面节点的子控制面节点进行通信的smf作为i-smf。这种方式使得在用户面mbs会话建立过程中第i级用户面节点与下游的用户面节点(通常是基站或基站的分布单元(distributedunit,简称du))之间无法建立直接连接的用户面传输时,可以插入i-smf,进而i-smf可以选择第一用户面节点和第二用户面节点来完成用户面mbs会话传输树的建立,有效实现了用户面传输资源的优化。

在本申请的一个实施例中,第i级控制面节点在向i-smf发送第一mbs会话开始请求之后,还可能接收到i-smf针对第一mbs会话开始请求反馈的第一mbs会话开始响应,在这种情况下,第i级控制面节点可以根据该第一mbs会话开始响应中包含的内容,确定是否向第i级用户面节点发送用户面mbs会话修改请求。具体地,如果根据i-smf反馈的第一mbs会话开始响应确定某个/某些第一用户面节点不支持通过多播方式、但支持通过点对点方式接收第i级用户面节点发送的mbs业务数据,那么需要向第i级用户面节点发送用户面mbs会话修改请求。

图13是从第i级控制面节点的角度对本申请实施例的多播广播业务的通信方法进行阐述,以下结合图14a和图14b分别从上述第一用户面节点和第二用户面节点的角度对本申请实施例的多播广播业务的通信方法进行进一步说明:

图14a示出了根据本申请的一个实施例的多播广播业务的通信方法的流程图,该多播广播业务的通信方法可以由上述的第一用户面节点来执行,该多播广播业务的通信方法至少包括步骤s1410至步骤s1430,详细介绍如下:

在步骤s1410中,接收i-smf发送的第一用户面mbs会话建立请求,该第一用户面mbs会话建立请求中包含有第i级用户面节点分配的第一mbsip多播传输地址和第一c-teid。

在步骤s1420中,向i-smf反馈第一用户面mbs会话建立响应,该第一用户面mbs会话建立响应中包含有i-smf选择的第一用户面节点所分配的第二mbsip多播传输地址和第二c-teid,该第二mbsip多播传输地址用于使i-smf选择的第二用户面节点加入第二mbsip多播传输地址对应的多播传输组来接收第一用户面节点通过多播方式传输的mbs业务数据。

在步骤s1430中,若第一用户面节点支持通过多播方式接收第i级用户面节点发送的mbs业务数据,则加入第一mbsip多播传输地址对应的多播传输组来接收第i级用户面节点通过多播方式发送的mbs业务数据。

在本申请的一个实施例中,如果第一用户面节点不支持通过多播方式、但支持通过点对点方式接收第i级用户面节点发送的mbs业务数据,则第一用户面节点可以分配通过点对点方式接收第i级用户面节点发送的mbs业务数据的f-teid。

在本申请的一个实施例中,第一用户面节点在向i-smf反馈第一用户面mbs会话建立响应之后,还可能接收到i-smf发送的第一用户面mbs会话修改请求,该第一用户面mbs会话修改请求中包含有不支持通过多播方式接收第一用户面节点发送的mbs业务数据的第二用户面节所分配的f-teid,然后第一用户面节点可以基于不支持通过多播方式、但支持通过点对点方式接收第一用户面节点发送的mbs业务数据的第二用户面节点的f-teid,通过点对点的方式向不支持通过多播方式、但支持通过点对点方式接收第一用户面节点发送的mbs业务数据的第二用户面节点传送mbs业务数据,并根据第一用户面mbs会话修改请求确定是否同时使用多播传输方式向其它的第二用户面节点发送mbs业务数据。具体请参照前述实施例的技术方案,不再赘述。

在本申请的一个实施例中,如果第一用户面节点接收到i-smf发送的用户面mbs会话删除请求,则向i-smf发送用户面mbs会话删除响应;其中,若第一用户面节点已加入第一mbsip多播传输地址对应的多播传输组中,则在接收到用户面mbs会话删除请求之后,退出第一mbsip多播传输地址对应的多播传输组。该实施例的技术方案即为删除用户面mbs会话传输树中的断枝。

在本申请的一个实施例中,如果第一用户面节点接收到多个用户面mbs会话建立请求,则针对多个用户面mbs会话建立请求中的一个用户面mbs会话建立请求反馈用户面mbs会话建立响应,并针对多个用户面mbs会话建立请求中的其它用户面mbs会话建立请求反馈拒绝消息,以指示此用户面节点已被选择。需要说明的是:第一用户面节点同时接收到的多个用户面mbs会话建立请求可能是同一个i-smf发送的(对应于不同的控制面节点选择了同一个i-smf的情况),或者也可能是不同的i-smf发送的(对应于不同的控制面节点选择不同的i-smf的情况)。该实施例的技术方案使得一个用户面节点只能被选择作为另外一个用户面节点的子节点,而不能被选择作为多个用户面节点的子节点。

在本申请的一个实施例中,如果第一用户面节点在向i-smf反馈第一用户面mbs会话建立响应之后,再次接收到用于将第一用户面节点选择为其它用户面节点的子用户面节点的用户面mbs会话建立请求,则针对再次接收到的用户面mbs会话建立请求反馈拒绝消息,以指示此用户面节点已被选择。需要说明的是:第一用户面节点再次接收到的用户面mbs会话建立请求可能是其它i-smf发送的,也可能是第一用户面节点反馈第一用户面mbs会话建立响应的i-smf发送的,但是再次接收到的用户面mbs会话建立请求是用于将第一用户面节点选择为其它用户面节点的子用户面节点的。该实施例的技术方案同样使得一个用户面节点只能被选择作为另外一个用户面节点的子节点,而不能被选择作为多个用户面节点的子节点。

图14b示出了根据本申请的一个实施例的多播广播业务的通信方法的流程图,该多播广播业务的通信方法可以由上述的第一用户面节点来执行,该多播广播业务的通信方法至少包括步骤s1410'至步骤s1430',详细介绍如下:

在步骤s1410'中,接收i-smf发送的第二用户面mbs会话建立请求,该第二用户面mbs会话建立请求中包含有i-smf选择的第一用户面节点分配的第二mbsip多播传输地址和第二c-teid。

在步骤s1420'中,向i-smf反馈第二用户面mbs会话建立响应,该第二用户面mbs会话建立响应中包含有i-smf选择的第二用户面节点分配的第三mbsip多播传输地址和第三c-teid,该第三mbsip多播传输地址用于第二用户面节点的子用户面节点加入第三mbsip多播传输地址对应的多播传输组来接收第二用户面节点通过多播方式传输的mbs业务数据。

在步骤s1430'中,若第二用户面节点支持通过多播方式接收第一用户面节点发送的mbs业务数据,则加入第二mbsip多播传输地址对应的多播传输组来接收第一用户面节点通过多播方式发送的mbs业务数据。

在本申请的一个实施例中,如果第二用户面节点不支持通过多播方式、但支持通过点对点方式接收第一用户面节点发送的mbs业务数据,则第二用户面节点可以分配通过点对点方式接收第一用户面节点发送的mbs业务数据的f-teid。

在本申请的一个实施例中,第二用户面节点在向i-smf反馈第二用户面mbs会话建立响应之后,还可能接收到i-smf发送的第二用户面mbs会话修改请求,该第二用户面mbs会话修改请求中包含有第一f-teid列表信息,该第一f-teid列表信息包含有不支持通过多播方式、但支持通过点对点方式接收第二用户面节点发送的mbs业务数据的子用户面节点的f-teid,然后第二用户面节点可以基于该第一f-teid列表信息,通过点对点的方式向该第一f-teid列表信息包含的各个f-teid所对应的子用户面节点分别传送mbs业务数据,并根据该第二用户面mbs会话修改请求确定是否同时使用多播传输方式向第二用户面节点的子用户面节点发送mbs业务数据。具体请参照前述实施例的技术方案,不再赘述。

在本申请的一个实施例中,如果第二用户面节点接收到i-smf发送的用户面mbs会话删除请求,则向i-smf发送用户面mbs会话删除响应;其中,若第二用户面节点已加入第二mbsip多播传输地址对应的多播传输组中,则在接收到该用户面mbs会话删除请求之后,退出该第二mbsip多播传输地址对应的多播传输组。该实施例的技术方案即为删除用户面mbs会话传输树中的断枝。

在本申请的一个实施例中,如果第二用户面节点接收到多个用户面mbs会话建立请求,则针对这多个用户面mbs会话建立请求中的一个用户面mbs会话建立请求来反馈用户面mbs会话建立响应,并针对这多个用户面mbs会话建立请求中的其它用户面mbs会话建立请求反馈拒绝消息,以指示此用户面节点已被选择。需要说明的是:第二用户面节点同时接收到的多个用户面mbs会话建立请求可能是同一个i-smf发送的(对应于不同的控制面节点选择了同一个i-smf的情况),或者也可能是不同的i-smf发送的(对应于不同的控制面节点选择不同的i-smf的情况)。该实施例的技术方案使得一个用户面节点只能被选择作为另外一个用户面节点的子节点,而不能被选择作为多个用户面节点的子节点。

在本申请的一个实施例中,如果第二用户面节点在向i-smf反馈第二用户面mbs会话建立响应之后,再次接收到用于将第二用户面节点选择为其它用户面节点的子用户面节点的用户面mbs会话建立请求,则针对再次接收到的用户面mbs会话建立请求反馈拒绝消息,以指示此用户面节点已被选择。需要说明的是:第二用户面节点再次接收到的用户面mbs会话建立请求可能是其它i-smf发送的,也可能是第二用户面节点反馈第一用户面mbs会话建立响应的i-smf发送的,但是再次接收到的用户面mbs会话建立请求是用于将第二用户面节点选择为其它用户面节点的子用户面节点的。该实施例的技术方案同样使得一个用户面节点只能被选择作为另外一个用户面节点的子节点,而不能被选择作为多个用户面节点的子节点。

以上分别从i-smf、第i级控制面节点、中间用户面节点的角度对本申请实施例的技术方案进行了说明,以下从各个实体交互的角度对本申请实施例的技术方案的实现细节进行详细阐述。

在本申请的一个实施例中,5g的mbs会话传输树需要保证每个用户面的父用户面节点只能是一个,但由于用户面由控制面来控制,可能出现控制面的父控制面节点不是只有一个,在这种情况下子控制面节点可以向不同的父控制面节点分别提供不同的一个或多个子用户面节点,也就是即使是同一个父控制面节点对应的不同父用户面节点,其子用户面节点也是互相独立的。

其中,如果为一个父控制面节点分配了多个子用户面节点,而这多个子用户面节点中一部分子用户面节点支持接收基于多播方式传输的数据,而另外一部分子用户面节点不支持接收基于多播方式传输的数据,但是支持通过点对点的方式接收mbs业务数据,那么不支持接收多播传输数据的子用户面节点可以分配gtp-u的ip地址+teid(用f-teid来表示),以通过点对点的方式向这些子用户面节点传输mbs业务数据。

具体地,图15示出了根据本申请的一个实施例的控制面与用户面分离的mbs通信方法,其中,以下内容中出现的f-cp表示father-controlplane(父控制面),s-cp表示son-controlplane(子控制面),f-up表示father-userplane(父用户面),s-up表示son-userplane(子用户面)。

参照图15所示,包括如下步骤:

步骤s1501,f-cp1接收到f-cp1的父控制面节点发送的mbs会话开始请求(即nfcp_mbssessionstartrequest),该mbs会话开始请求中包含有tmgi(temporarymobilegroupidentity,临时群组标识)、mbssessionduration(mbs会话持续时间)、mbsqfis(qosflowidentifier,qos流标识)、qosprofile(qos配置)、upid(该upid是与f-cp1的父控制面节点同级的用户面节点的标识)、mbsipmulticastdistribution(mbsip多播分发信息)、mbstimetodatatransfer(mbs业务数据传输时间)、mbsservicearea(mbs服务区域)。

其中,tmgi表示一个多播或广播的临时组标识;mbssessionduration表示这次mbs会话的时间长度;mbstimetodatatransfer表示mbs业务数据开始发送的时间;qosprofile包括5qi(5gqosidentifier,5gqos指示符)、mfbr(maximumflowbitrate,最大比特流速率)、gfbr(guaranteedflowbitrate,保证流比特率)、arp(allocationandretentionpriority,分配与保持优先级)等;mbsipmulticastdistribution包含了ip多播传输地址(该ip多播传输地址是与f-cp1的父控制面节点同级的用户面节点(即前述的upid所标识的用户面节点)所分配的ip多播传输地址,为便于区分,将其记为ip1)和c-teid(为了简化,图15中没有画出f-cp1和f-cp2的父控制面节点,也没有画出f-up11和f-up21的父用户面节点);mbsservicearea是当此mbs业务是广播业务时的服务区域。

步骤s1502,f-cp1根据f-cp1的子控制面节点的信息确定从多个f-upf中选取一个或多个f-upf作为与f-cp1同级的用户面节点。该实施例中假定只选取了一个与f-cp1同级的用户面节点(记为f-up11),然后f-cp1向f-up11发送用户面mbs会话建立请求(即n4mbssessionestablishmentrequest),f-up11向f-cp1反馈用户面mbs会话建立响应(即n4mbssessionestablishmentresponse)。

在本申请的一个实施例中,对于mbs多播业务而言,f-cp1的子控制面节点的信息是由各个mbsuecontext组成;对于mbs广播业务而言,f-cp1的子控制面节点的信息是由f-cp1的父控制面节点提供或由网络根据服务区域配置得到。f-cp1的子控制面节点的信息包括f-cp1的子控制面节点的数量及位置信息等。

在本申请的一个实施例中,f-cp1向选取的f-up11发送的用户面mbs会话建立请求中可能包含有pdr(packetdetectionrule,报文检测规则)、qer(qosenforcementrule,qos执行规则)、far(forwardingactionrule,转发执行规则)、mbsipmulticastdistribution、allocatenewmbsipmulticastdistributionfordownlinknode(为下行节点分配新的mbsip多播分发信息)指示、请求分配f-teid的指示。f-up11反馈的用户面mbs会话建立响应中包含有allocatembsipmulticastdistributionfordownlinknode、f-teid。

其中,用户面mbs会话建立请求中的pdr包含一个或多个mbsipmulticastaddress+udpport来指示一个或多个不同的mbsqosflow;qer包含与pdr对应的mfbr、gfbr及dlflowlevelmarking(下行流等级标记);mbsipmulticastdistribution是tmgi所对应的mbsipmulticastdistribution,其来自于f-cp1接收到由f-cp1的父控制面节点发送的mbs会话开始请求,其中包含的mbsip多播传输地址即为ip1。

用户面mbs会话建立请求中的allocatenewmbsipmulticastdistributionfordownlinknode指示是用于指示f-up11存在着子用户面节点,因此f-up11需要分配一个新的mbsipmulticastdistribution,用户面mbs会话建立响应中的allocatembsipmulticastdistributionfordownlinknode则包含f-up11所分配的新的mbsipmulticastdistribution,该新的mbsipmulticastdistribution包含了新的ip多播传输地址(为便于区分,该新的ip多播传输地址记为ip2)与c-teid。

需要说明的是,mbsipmulticastdistribution是每个父用户面节点为每个父用户面节点的所有子用户面节点所分配的,不同的父用户面节点会分配不同的mbsipmulticastdistribution。

此外,若根据网络配置,f-up11不支持接收基于多播方式传输的mbs业务数据,但是支持通过点对点的方式接收mbs业务数据,则f-cp1发送的用户面mbs会话建立请求消息包含请求分配f-teid的指示,以请求f-up11为了通过以点对点方式接收f-up11的父用户面节点发送的mbs业务数据而分配一个f-teid,f-up11在分配f-teid之后,在用户面mbs会话建立响应中携带分配的f-teid。

若用户面mbs会话建立请求中没有包含请求分配f-teid的指示,即f-cp1不进行决策,但用户面节点f-up11不支持接收基于多播方式传输的数据,那么f-up11同样需要分配一个f-teid,并在用户面mbs会话建立响应中携带分配的f-teid。

步骤s1503,若f-up11支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip1对应的多播传输组中,以接收f-up11的父用户面节点发送的mbs业务数据。

步骤s1504,f-cp1根据f-cp1的子控制面节点的信息,向每个子控制面子节点分别发送mbs会话开始请求(即nscp_mbssessionstartrequest),即步骤s1504至步骤s1508是针对每个子控制面节点分别单独执行的,该实施例中以向一个子控制面节点s-cp发送为例进行说明。

f-cp1发送给f-cp1的子控制面节点s-cp的mbs会话开始请求中包含了如下参数:tmgi、mbssessionduration、mbsqfis、qosprofile、f-up11id,mbsipmulticastdistribution、mbstimetodatatransfer、mbsservicearea。其中,f-cp1发送的mbs会话开始请求中的mbsipmulticastdistribution是在步骤s1502中分配的,其中包含的ip多播传输地址即为ip2。

s-cp在接收到f-cp1发送的mbs会话开始请求之后,类似于步骤s1502,s-cp根据s-cp的子控制面节点的信息从多个s-up中选取f-up11的一个或多个s-up,该实施例中假定选取了s-up1与s-up2。然后分别执行步骤s1505a和步骤s1505b。

步骤s1505a,s-cp向选取的s-up1发送用户面mbs会话建立请求,s-up1向s-cp反馈用户面mbs会话建立响应。

在本申请的一个实施例中,s-cp发送的用户面mbs会话建立请求中也可能包含有pdr、qer、far、mbsipmulticastdistribution、f-up11id、allocatenewmbsipmulticastdistributionfordownlinknode指示、请求分配f-teid的指示等。s-up1反馈的用户面mbs会话建立响应中包含有allocatembsipmulticastdistributionfordownlinknode和f-teid。

其中,s-cp发送的用户面mbs会话建立请求中的mbsipmulticastdistribution来自于步骤s1504接收到的mbs会话开始请求,其中包含的ip多播传输地址即为ip2。s-cp发送给s-up1的用户面mbs会话建立请求中的allocatenewmbsipmulticastdistributionfordownlinknode指示是用于指示s-up1来分配一个新的mbsipmulticastdistribution,以便于以多播传输方式发送mbs业务数据到s-up1的子用户面节点。具体由s-up1分配的过程参照步骤s1502所述。类似的,如果s-up1不支持多播传输,则可以分配一个f-teid,并且也是由s-up1分配的。

步骤s1505b,s-cp向选取的s-up2发送用户面mbs会话建立请求,s-up2向s-cp反馈用户面mbs会话建立响应。具体过程与步骤s1505a类似,不再赘述。

步骤s1506,s-up1和s-up2若支持接收基于多播方式传输的数据,则分别加入f-up11分配的ip多播传输地址(即ip2)对应的多播传输组中,以接收f-up11发送的mbs业务数据。

步骤s1507,s-cp向f-cp1发送mbs会话开始响应(即nscp_mbssessionstartresponse),该mbs会话开始响应中包含有f-up11id。

其中,若s-up1和s-up2中有s-up不支持接收基于多播方式传输的数据,则s-cp向f-cp1发送的mbs会话开始响应中包含有listoff-teid(由于是针对子用户面节点的,为便于区分,以下将其记为listoff-teidsup),且对应于f-up11。该listoff-teidsup包含有s-up1和s-up2中不支持接收多播传输但支持使用点对点方式接收mbs业务数据的s-up所分配的f-teid。若s-up1和s-up2中有部分s-up支持接收多播传输,则需要在mbs会话开始响应中包含multicastenable以指示f-up11同时需要使用多播传输与点对点传输技术来向f-up11的子用户面节点传输mbs业务数据。

特别地,若s-cp向f-cp1发送的mbs会话开始响应中不包含listoff-teidsup,则表明s-cp选择的所有子用户面节点都支持接收基于多播方式传输的数据,因此mbs会话开始响应中无需携带multicastenable这个标识。

特别地,若s-cp向f-cp1发送的mbs会话开始响应中包含有listoff-teidsup,但没有包含multicastenable这个标识,则说明s-cp选择的所有子用户面节点都不支持接收基于多播方式传输的数据,但支持接收通过点对点方式传输的mbs业务数据。

特别地,若s-cp向f-cp1发送的mbs会话开始响应中不包含listoff-teidsup,且multicastenable设置为disable,则表明子控制面节点s-cp没有为f-up11分配对应的子用户面节点(一个可能的原因是要选择的子用户面节点已经分配了父用户面节点,此时,就不能选择这些子用户面节点了)。在这种情况下,子控制面节点s-cp也可以通过mbs会话开始响应来返回failurecode来指示。

需要说明的是,如果s-cp选择的子用户面节点中只有一个子用户面节点不支持接收基于多播方式传输的数据,那么s-cp向f-cp1发送的mbs会话开始响应中也可以不包含listoff-teidsup,而是只包含这个子用户面节点分配的f-teid。

步骤s1508,若步骤s1507中的mbs会话开始响应中包含有f-up11id及f-teid参数(如某个s-up分配的f-teid,或者某些s-up对应的listoff-teidsup),则f-cp1向f-up11发送用户面mbs会话修改请求(即n4mbssessionmodificationrequest),f-up11向f-cp1反馈用户面mbs会话修改响应。其中,该用户面mbs会话修改请求中包含有不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的s-up对应的listoff-teidsup,以指示f-up11增加使用点对点的方式分别向不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的s-up传送mbs业务数据。若步骤s1507中的mbs会话开始响应中不包含multicastenable的指示,则指示f-up11不再使用多播传输方式。若步骤s1507中的mbs会话开始响应中包含有multicastenable的指示,则指示f-up11同时要使用多播传输与点对点传输方式。

需要说明的是:如果步骤s1507中的mbs会话开始响应中只包含有一个f-teid,而f-up11不知道f-up11的子用户面节点的具体数量,那么f-up11可以只使用点对点的方式向这个f-teid对应的s-up传送mbs业务数据;同时f-up11可以根据步骤s1508中的用户面mbs会话修改请求同时使用多播传输地址(即ip2)向其它的s-up发送mbs业务数据。

如果步骤s1507中的mbs会话开始响应中不包含f-teid,且multicastenable不是设置为disable,则表示f-up11继续使用多播传输方式,此时无需执行步骤s1508。

步骤s1509,当针对每个子控制面节点都执行步骤s1504至步骤s1508之后,f-cp1根据所有子控制面节点反馈的mbs会话开始响应向f-cp1的父控制面节点发送mbs会话开始响应(即nfcp_mbssessionstartresponse)。

类似于步骤s1507,f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中包含有upid(该upid是与f-cp1的父控制面节点同级的用户面节点的标识),并且可能还包含有listoff-teid(为便于区分,将其记为listoff-teidfup),由于f-cp1仅选择了一个同级的用户面节点f-up11,因此如果f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中包含有listoff-teidfup,那么其中也只包含f-up11分配的f-teid。

需要说明的是,由于在该实施例中f-cp1仅选择了一个同级的用户面节点f-up11,因此f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中如果不包含f-up11分配的f-teid,在这种情况下说明f-up11支持接收基于多播方式传输的数据,此时f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中无需包含multicastenable;如果f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中包含f-up11分配的f-teid,则说明f-up11不支持接收基于多播方式传输的数据,在这种情况下由于f-cp1只有一个同级的用户面节点f-up11,因此f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中也无需包含multicastenable。

其中,步骤s1501至步骤s1509是f-cp1接收到f-cp1的父控制面节点发送的mbs会话开始请求之后的处理过程,在该处理过程中,f-cp1选择了一个同级的用户面节点f-up11,并且其子控制面节点s-cp选择了两个与s-cp同级的子用户面节点s-up1和s-up2。

继续参照图15所示,还包括如下步骤:

步骤s1510,f-cp2接收到f-cp2的父控制面节点发送的mbs会话开始请求,该mbs会话开始请求中包含有tmgi、mbssessionduration、mbsqfis、qosprofile、upxid、mbsipmulticastdistribution、mbstimetodatatransfer、mbsservicearea。其中,具体参数的含义参照前述步骤s1501中的说明,为便于区分,f-cp2接收到的mbs会话开始请求中的mbsipmulticastdistribution包含的ip多播传输地址可以记为ipx。

步骤s1511,f-cp2根据f-cp2的子控制面节点的信息确定从多个f-upf中选取一个或多个f-upf作为与f-cp2同级的用户面节点。该实施例中假定只选取一个与f-cp2同级的用户面节点f-up21,然后f-cp2向f-up21发送用户面mbs会话建立请求,f-up21向f-cp2反馈用户面mbs会话建立响应。

具体说明参见前述步骤s1502的相关内容,类似于步骤s1502,f-cp2与f-up21之间通过用户面mbs会话建立请求与用户面mbs会话建立响应之间的交互,f-up21分配了新的ip多播传输地址(为便于区分,记为ip3)。

此外,类似地,若f-up21不支持接收基于多播方式传输的数据,则f-up21分配一个用于通过点对点方式接收mbs业务数据的f-teid,并在用户面mbs会话建立响应中携带分配的f-teid。

步骤s1512,若f-up21支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ipx对应的多播传输组中,以接收f-up21的父用户面节点发送的mbs业务数据。

步骤s1513,f-cp2根据f-cp2的子控制面节点的信息,向每个子控制面子节点分别发送mbs会话开始请求,即步骤s1513至步骤s1517是针对每个子控制面节点分别单独执行的,该实施例中以向一个子控制面节点s-cp发送为例进行说明。

类似地,f-cp2发送给f-cp2的子控制面节点s-cp的mbs会话开始请求中同样包含了mbsipmulticastdistribution,且该mbsipmulticastdistribution是在步骤s1511中分配的,其对应的用户面节点标识是f-up21id,其中包含的ip多播传输地址即为ip3。

需要说明的是:步骤s1513与步骤s1504之间并没有先后关系,它们可以是f-cp2与f-cp1并行分别执行的步骤。

s-cp在接收到f-cp2发送的mbs会话开始请求之后,类似于前述步骤,s-cp根据s-cp的子控制面节点的信息从多个s-up中为f-up21选择一个或多个s-up,该实施例中假定选取了s-up3与s-up4,然后分别执行步骤s1514a和步骤s1514b。

需要说明的是,s-cp为f-up21选取的s-up不同于s-cp为f-up11选择的s-cp。换句话说,本申请的实施例中,在控制面上一个子控制面节点可以有多个父控制面节点,比如子控制面节点s-cp具有两个父控制面节点f-cp1和f-cp2,但是一个子用户面节点是不允许有多个父用户面节点的,这样,当一个子用户面节点已经有一个父用户面节点后,是不能再参与子用户面节点的选择。因此s-cp为f-up21只能选择s-up3与s-up4,而s-up1与s-up2已经被选择为f-up11的子用户面节点,因此s-cp不能再选择s-up1与s-up2作为f-up21的子用户面节点了。

步骤s1514a,s-cp向选取的s-up3发送用户面mbs会话建立请求,s-up3向s-cp反馈用户面mbs会话建立响应。步骤s1514b,s-cp向选取的s-up4发送用户面mbs会话建立请求,s-up4向s-cp反馈用户面mbs会话建立响应。具体过程与步骤s1505a类似,不再赘述。

步骤s1515,s-up3和s-up4若支持接收基于多播方式传输的数据,则分别加入f-up21分配的ip多播传输地址(即ip3)对应的多播传输组中,以接收f-up21发送的mbs业务数据。

步骤s1516,s-cp向f-cp2发送mbs会话开始响应,该mbs会话开始响应中包含有f-up21id。该步骤的具体说明与前述步骤s1507类似,不再赘述。

步骤s1517,f-cp2向f-up21发送用户面mbs会话修改请求,f-up21向f-cp2反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

步骤s1518,当针对每个子控制面都执行步骤s1513至步骤s1517之后,f-cp2根据所有子控制面反馈的mbs会话开始响应向f-cp2的父控制面节点发送mbs会话开始响应。该步骤的具体说明与前述步骤s1509类似,不再赘述。

其中,步骤s1510至步骤s1518是f-cp2接收到f-cp2的父控制面节点发送的mbs会话开始请求之后的处理过程,在该处理过程中,f-cp2选择了一个同级的用户面节点f-up21,并且f-cp2的子控制面节点s-cp选择了两个与s-cp同级的子用户面节点s-up3和s-up4。

通过步骤s1501至步骤s1518可知,在本申请的实施例中,子控制面节点s-cp有多个父控制面节点f-cp1和f-cp2,而s-cp控制的子用户面节点s-up只有一个父用户面节点。

另外,步骤s1501中的消息与步骤s1510中的消息可能是并行发下来的,因此,步骤s1501~s1509与步骤s1510~s1518可能是并行执行的。这样,在用户面mbs会话建立过程中,可能存在着一个用户面节点同时被两个控制面节点发送用户面mbs会话建立请求消息,或已经被一个控制面节点选择后又接收到另一个控制面节点发送的用户面mbs会话建立请求消息。如果一个用户面节点同时收到两个控制面节点(当然也可以是更多个,此处以两个为例进行说明)发送的用户面mbs会话建立请求消息,那么该用户面节点可以在用户面mbs会话建立响应消息中正常响应其中一个控制面节点发送的用户面mbs会话建立请求,并且在另一个用户面mbs会话建立响应消息中拒绝(reject)另外一个控制面节点,以指示此用户面节点已经被选择。如果一个用户面节点通过一个控制面节点已经有了父用户面节点后,又收到另外一个控制面节点发送的用户面mbs会话建立请求消息时,则在另一个用户面mbs会话建立响应消息中reject该另外一个控制面节点,以指示此用户面节点已经被选择。

当这种mbs会话传输树建立完成之后,可以执行如下步骤:

步骤s1519a,f-up11接收到f-up11的父用户面节点发送的下行mbs业务数据。然后通过步骤s1520a将接收到的该下行mbs业务数据传输给s-up1和s-up2。

需要说明的是:对于有父用户面节点的各个用户面节点,需要以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。比如,对于s-up1和s-up2而言,若确定是只采用多播传输方式,则s-up1和s-up2通过多播传输方式接收f-up11发送的mbs业务数据;若确定是只采用点对点传输方式,则s-up1和s-up2分别通过点对点传输方式接收f-up11发送的mbs业务数据。

对于有子用户面节点的各个用户面节点,需要以前面步骤所确定的多播传输方式或点对点传输方式向每个子用户面节点传送mbs业务数据。比如,对于f-up11而言,若确定是只采用多播传输方式,则f-up11通过多播方式传送mbs业务数据给f-up11的所有子用户面节点(该实施例中即为s-up1和s-up2);若确定是只采用点对点传输方式,则f-up11分别向f-up11的每个子用户面节点(该实施例中即为s-up1和s-up2)以通过点对点传输方式传送mbs业务数据。

步骤s1519b,f-up21接收到f-up21的父用户面节点发送的下行mbs业务数据。然后通过步骤s1520b将接收到的该下行mbs业务数据传输给s-up3和s-up4。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

在图15所示的实施例中,父控制面节点向子控制面节点发送的mbs会话开始请求中仅包含了一个父用户面节点的信息,以下结合图16介绍在本申请的另一个实施例中,父控制面节点向子控制面节点发送的mbs会话开始请求中可以包含多个父用户面节点的信息。

具体地,图16示出了根据本申请的一个实施例的控制面与用户面分离的mbs通信方法,类似地,以下内容中出现的f-cp表示father-controlplane(父控制面),s-cp表示son-controlplane(子控制面),f-up表示father-userplane(父用户面),s-up表示son-userplane(子用户面)。

参照图16所示,包括如下步骤:

步骤s1601,f-cp1接收到f-cp1的父控制面节点发送的mbs会话开始请求。具体过程与前述步骤s1501类似,不再赘述。其中,该mbs会话开始请求中的mbsipmulticastdistribution包含的ip多播传输地址记为ip1。

f-cp1在接收到f-cp1的父控制面节点发送的mbs会话开始请求之后,可以根据f-cp1的子控制面节点的信息确定从多个f-upf中选取一个或多个f-upf作为与f-cp1同级的用户面节点,该实施例中假定选取了两个用户面节点,记为f-up11和f-up12。然后分别执行步骤s1602a和步骤s1602b。

步骤s1602a,f-cp1向f-up11发送用户面mbs会话建立请求,f-up11向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述,其中步骤s1602a中f-up11分配的ip多播传输地址记为ip2。

步骤s1602b,f-cp1向f-up12发送用户面mbs会话建立请求,f-up12向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述,其中步骤s1602b中f-up12分配的ip多播传输地址记为ip3。

步骤s1603,若f-up11与f-up12支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip1对应的多播传输组中,以接收f-up11与f-up12的父用户面节点发送的mbs业务数据。

步骤s1604,f-cp1根据f-cp1的子控制面节点的信息,向每个子控制面子节点分别发送mbs会话开始请求,即步骤s1604至步骤s1608是针对每个子控制面节点分别单独执行的,该实施例中以向一个子控制面节点s-cp发送为例进行说明。

f-cp1发送给f-cp1的子控制面节点s-cp的mbs会话开始请求中包含了如下参数:tmgi、mbssessionduration、mbsqfis、qosprofile、mbstimetodatatransfer、listof{f-upid,mbs传输信息}、mbsservicearea。其中,mbs传输信息即为mbsipmulticastdistribution(ipmulticastdistributionaddress,c-teid)。在该实施例中,由于f-cp1选择了两个与f-cp1同级的用户面节点f-up11和f-up12,因此listof{f-upid,mbs传输信息}中包含了f-up11id及f-up11id对应的mbsipmulticastdistribution,以及f-up12id及f-up12id对应的mbsipmulticastdistribution。f-up11id对应的mbsipmulticastdistribution是f-up11所分配的,其中包含的ip多播传输地址即为ip2;f-up12id对应的mbsipmulticastdistribution是f-up12所分配的,其中包含的ip多播传输地址即为ip3。

需要说明的是:f-up12分配的ip多播传输地址ip3与f-up11分配的ip多播传输地址ip2不能相同,但是所分配的c-teid可以相同。

s-cp在接收到f-cp1发送的mbs会话开始请求之后,类似于步骤s1502,s-cp根据s-cp的子控制面节点的信息从多个s-up中为f-up11选择一个或多个s-up,以及为f-up12选择一个或多个s-up,该实施例中假定为f-up11选取了s-up11与s-up12,为f-up12选取了s-up21与s-up22,即为f-up11和f-up12选择了不同的子用户面节点。然后分别执行步骤s1605a和步骤s1605b。

步骤s1605a,s-cp向选取的s-up11和s-up12分别发送用户面mbs会话建立请求,该用户面mbs会话建立请求中包含有f-up11分配的ip多播传输地址ip2,s-up11和s-up12分别向s-cp反馈用户面mbs会话建立响应(为了节省版面,图16中将s-up11与s-up12画在了一起)。具体过程与步骤s1505a类似,不再赘述。

步骤s1605b,s-cp向选取的s-up21和s-up22分别发送用户面mbs会话建立请求,该用户面mbs会话建立请求中包含有f-up12分配的ip多播传输地址ip3,s-up21和s-up22分别向s-cp反馈用户面mbs会话建立响应(为了节省版面,图16中将s-up21与s-up22画在了一起)。具体过程与步骤s1505a类似,不再赘述。

步骤s1606a,s-up11和s-up12若支持接收基于多播方式传输的数据,则分别加入f-up11分配的ip多播传输地址(即ip2)对应的多播传输组中,以接收f-up11发送的mbs业务数据。

步骤s1606b,s-up21和s-up22若支持接收基于多播方式传输的数据,则分别加入f-up12分配的ip多播传输地址(即ip3)对应的多播传输组中,以接收f-up12发送的mbs业务数据。

步骤s1607,s-cp向f-cp1发送mbs会话开始响应。若有s-up不支持接收基于多播方式传输的数据,则mbs会话开始响应中包含此s-up分配的f-teid,且对应于f-up,从而形成一个listof{f-upid,listoff-teidsup,multicastenable}。在该实施例中,listof{f-upid,listoff-teidsup,multicastenable}包含了针对f-up11的listoff-teidsup和multicastenable,以及针对f-up12的listoff-teidsup和multicastenable。

类似于步骤s1507,由于有些s-up支持接收基于多播方式传输的数据,而另外一些s-up不支持接收基于多播方式传输的数据,所以这个listf-teidsup只是对应于那些不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的s-up。因此,当一个f-up的所有s-up都支持接收基于多播方式传输的数据,则对应于这个f-up的listoff-teidsup就没有了,其它说明参照步骤s1507的相关内容。

此外,当s-cp决定不向其中某个/某些f-upid分配任何的子用户面节点时,则可以将这个/这些f-upid对应的multicastenable设置为disable。当然,也可以在mbs会话开始响应中采用failedlist{f-up}来指示没有被分配子用户面节点的父用户面节点。

步骤s1608a,f-cp1根据mbs会话开始响应中包含的listof{f-upid,listoff-teidsup,multicastenable}向f-up11发送用户面mbs会话修改请求,f-up11向f-cp1反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

步骤s1608b,f-cp1根据mbs会话开始响应中包含的listof{f-upid,listoff-teidsup,multicastenable}向f-up12发送用户面mbs会话修改请求,f-up12向f-cp1反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

步骤s1609,当针对每个子控制面都执行步骤s1604至步骤s1608之后,f-cp1根据所有子控制面反馈的mbs会话开始响应向f-cp1的父控制面节点发送mbs会话开始响应。

其中,由于f-cp1选择了两个与f-cp1同级的用户面节点f-up11和f-up12,因此若f-up11和f-up12中有f-up不支持接收基于多播方式传输的数据,则f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中包含有listoff-teid(由于是针对父用户面节点的,为便于区分,以下将其记为listoff-teidfup),且对应于f-up11和f-up12的父用户面节点的upid。该listoff-teidfup包含有f-up11和f-up12中不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的f-up所分配的f-teid。若f-up11和f-up12中有部分f-up支持接收基于多播方式传输的数据,则需要在mbs会话开始响应中包含multicastenable以指示f-up11和f-up12的父用户面节点同时需要使用多播传输与点对点传输技术来向f-up11和f-up12传输mbs业务数据。

特别地,若f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中不包含listoff-teidfup,则表明f-cp1选择的与f-cp1同级的用户面节点都支持接收基于多播方式传输的数据,因此该mbs会话开始响应中无需携带multicastenable这个标识。

特别地,若f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中包含有listoff-teidfup,但没有包含multicastenable这个标识,则说明f-cp1选择的所有与f-cp1同级的用户面节点都不支持接收基于多播方式传输的数据、但支持接收点对点方式传输的mbs业务数据。

特别地,若f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中不包含listoff-teidfup,且multicastenable设置为disable,则表明f-cp1没有选择与f-cp1同级的用户面节点。在这种情况下,f-cp1也可以通过mbs会话开始响应来返回failurecode来指示。

需要说明的是,如果f-cp1选择的与f-cp1同级的用户面节点中只有一个不支持接收基于多播方式传输的数据,那么mbs会话开始响应中也可以不包含listoff-teidfup,而是只包含这个不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的用户面节点所分配的f-teid。

其中,步骤s1601至步骤s1609是f-cp1接收到f-cp1的父控制面节点发送的mbs会话开始请求之后的处理过程,在该处理过程中,f-cp1选择了与f-cp1同级的两个用户面节点f-up11和f-up12,并且f-cp1的子控制面节点s-cp为f-up11选择了两个与s-cp同级的子用户面节点s-up11和s-up12,为f-up12选择了两个与s-cp同级的子用户面节点s-up21和s-up22。

继续参照图16所示,还包括如下步骤:

步骤s1610,f-cp2接收到f-cp2的父控制面节点发送的mbs会话开始请求,该mbs会话开始请求中包含有tmgi、mbssessionduration、mbsqfis、qosprofile、upxid、mbsipmulticastdistribution、mbstimetodatatransfer,mbsservicearea。其中,具体参数的含义参照前述步骤s1501中的说明,为便于区分,f-cp2接收到的mbs会话开始请求中的mbsipmulticastdistribution包含的ip多播传输地址可以记为ipx。

步骤s1611,f-cp2根据f-cp2的子控制面节点的信息确定从多个f-upf中选取一个或多个f-upf作为与f-cp2同级的用户面节点。该实施例中假定只选取一个与f-cp2同级的用户面节点f-up21,然后f-cp2向f-up21发送用户面mbs会话建立请求,f-up21向f-cp2反馈用户面mbs会话建立响应。

具体说明参见前述步骤s1502的相关内容,类似于步骤s1502,f-cp2与f-up21之间通过用户面mbs会话建立请求与用户面mbs会话建立响应之间的交互,f-up21分配了新的ip多播传输地址(为便于区分,记为ip4)。

此外,类似地,若f-up21不支持接收基于多播方式传输的数据,f-up21分配一个用于通过点对点方式接收mbs业务数据的f-teid,并在用户面mbs会话建立响应中携带分配的f-teid。

步骤s1612,若f-up21支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ipx对应的多播传输组中,以接收f-up21的父用户面节点发送的mbs业务数据。

步骤s1613,f-cp2根据f-cp2的子控制面节点的信息,向每个子控制面子节点分别发送mbs会话开始请求,即步骤s1613至步骤s1617是针对每个子控制面节点分别单独执行的,该实施例中以向一个子控制面节点s-cp发送为例进行说明。

类似地,f-cp2发送给f-cp2的子控制面节点s-cp的mbs会话开始请求中同样包含了mbsipmulticastdistribution,且该mbsipmulticastdistribution是在步骤s1611中分配的,其对应的用户面节点标识是f-up21id,其包含的ip多播传输地址即为ip4。

需要说明的是:步骤s1613与步骤s1604之间并没有先后关系,它们可以是f-cp2与f-cp1并行分别执行的步骤。

s-cp在接收到f-cp2发送的mbs会话开始请求之后,类似于前述步骤,s-cp根据s-cp的子控制面节点的信息从多个s-up中为f-up21选择一个或多个s-up,该实施例中假定选取了s-up31与s-up32,然后执行步骤s1614。

需要说明的是,s-cp为f-up21选取的s-up不同于s-cp为f-up11和f-up12选择的s-cp。换句话说,本申请的实施例中,在控制面上一个子控制面节点可以有多个父控制面节点,比如子控制面节点s-cp具有两个父控制面节点f-cp1和f-cp2,但是一个子用户面节点是不允许有多个父用户面节点的,这样,当一个子用户面节点已经有一个父用户面节点后,是不能再参与子用户面节点的选择。

步骤s1614,s-cp向选取的s-up31和s-up32分别发送用户面mbs会话建立请求,s-up31和s-up32分别向s-cp反馈用户面mbs会话建立响应。具体过程与步骤s1505a类似,不再赘述。

步骤s1615,s-up31和s-up32若支持接收基于多播方式传输的数据,则分别加入f-up21分配的ip多播传输地址(即ip4)对应的多播传输组中,以接收f-up21发送的mbs业务数据。

步骤s1616,s-cp向f-cp2发送mbs会话开始响应,该mbs会话开始响应中包含有f-up21id。该步骤的具体说明与前述步骤s1507类似,不再赘述。

步骤s1617,f-cp2向f-up21发送用户面mbs会话修改请求,f-up21向f-cp2反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

步骤s1618,当针对每个子控制面都执行步骤s1613至步骤s1617之后,f-cp2根据所有子控制面反馈的mbs会话开始响应向f-cp2的父控制面节点发送mbs会话开始响应。该步骤的具体说明与前述步骤s1509类似,不再赘述。

其中,步骤s1610至步骤s1618是f-cp2接收到f-cp2的父控制面节点发送的mbs会话开始请求之后的处理过程,在该处理过程中,f-cp2选择了一个与f-cp2同级的用户面节点f-up21,并且f-cp2的子控制面节点s-cp选择了两个与s-cp同级的子用户面节点s-up31和s-up32。

通过步骤s1601至步骤s1618可知,在本申请的实施例中,子控制面节点s-cp有多个父控制面节点f-cp1和f-cp2,而s-cp控制的子用户面节点s-up只有一个父用户面节点。

另外,步骤s1601中的消息与步骤s1610中的消息可能是并行发下来的,因此,步骤s1601~s1609与步骤s1610~s1618可能是并行执行的。这样,在用户面mbs会话建立过程中,可能存在着一个用户面节点同时被两个控制面节点发送用户面mbs会话建立请求消息,或已经被一个控制面节点选择后又接收到另一个控制面节点发送的用户面mbs会话建立请求消息。如果一个用户面节点同时收到两个控制面节点(当然也可以是更多个,此处以两个为例进行说明)发送的用户面mbs会话建立请求消息,那么该用户面节点可以在用户面mbs会话建立响应消息中正常响应其中一个控制面节点发送的用户面mbs会话建立请求,并且在另一个用户面mbs会话建立响应消息中拒绝(reject)另外一个控制面节点,以指示此用户面节点已经被选择。如果一个用户面节点通过一个控制面节点已经有了父用户面节点后,又收到另外一个控制面节点发送的用户面mbs会话建立请求消息时,则在另一个用户面mbs会话建立响应消息中reject该另外一个控制面节点,以指示此用户面节点已经被选择。

当这种mbs会话传输树建立完成之后,可以执行如下步骤:

步骤s1619a,f-up11接收到f-up11的父用户面节点发送的下行mbs业务数据。然后通过步骤s1620a将接收到的该下行mbs业务数据传输给s-up11和s-up12。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

步骤s1619b,f-up12接收到f-up12的父用户面节点发送的下行mbs业务数据。然后通过步骤s1620b将接收到的该下行mbs业务数据传输给s-up21和s-up22。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

步骤s1619c,f-up21接收到f-up21的父用户面节点发送的下行mbs业务数据。然后通过步骤s1620c将接收到的该下行mbs业务数据传输给s-up31和s-up32。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

在图16所示的实施例中,父控制面节点向子控制面节点发送的mbs会话开始请求中包含了多个父用户面节点的信息。可选地,在5g系统中,nr(newradio)基站(gnb)可以是控制面与用户面分离的,即gnb-cu(centralizedunit,集中单元)可以作为子控制面节点,gnb-du(distributedunit,分布单元)可以作为子用户面节点,并且一个基站的控制面可以控制一个或多个基站的用户面。具体如图17所示,ng-ran中的gnb通过ng接口连接到5gc(5gcorenetwork,5g核心网),ng-ran中的gnb可以是控制面与用户面分离的,基站控制面(即gnb-cu)与基站用户面(即gnb-du)之间的接口可以是f1接口,gnb之间的接口可以是xn-c接口。

在本申请的一个实施例中,在将gnb-cu和gnb-du应用到图16所示的实施例中之后,可以得到图18所示的实施例,由于网络节点smf或mb-smf是不能直接与nr基站进行通信的,因此引入了amf来进行交互。

参照图18所示,可以包括如下步骤:

步骤s1801,f-cp1接收到f-cp1的父控制面节点发送的mbs会话开始请求。具体过程与前述步骤s1501类似,不再赘述。其中,该mbs会话开始请求中的mbsipmulticastdistribution包含的ip多播传输地址记为ip1。

f-cp1在接收到f-cp1的父控制面节点发送的mbs会话开始请求之后,可以根据f-cp1对应的gnb的信息(如位置和数量等)确定从多个f-upf中选取一个或多个作为与f-cp1同级的用户面节点,该实施例中假定选取了两个用户面节点,记为f-up11和f-up12。然后分别执行步骤s1802a和步骤s1802b。

步骤s1802a,f-cp1向f-up11发送用户面mbs会话建立请求,f-up11向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述,其中步骤s1802a中f-up11分配的ip多播传输地址记为ip2。

步骤s1802b,f-cp1向f-up12发送用户面mbs会话建立请求,f-up12向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述,其中步骤s1802b中f-up12分配的ip多播传输地址记为ip3。

步骤s1803,若f-up11与f-up12支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip1对应的多播传输组中,以接收f-up11与f-up12的父用户面节点发送的mbs业务数据。

步骤s1804a,f-cp1向amf发送信息传送消息(即namf_communication_nonuen2messagetransfer)。

f-cp1向amf发送信息传送消息包含了如下参数:ranid、n2mbssessioncontainer(mbs会话容器)。其中,n2mbssessioncontainer包含了(n2mbssessionstartrequest(tmgi,mbsqfis,qosprofile,listof{f-upid,mbs传输信息}))。mbs传输信息即为mbsipmulticastdistribution(ipmulticastdistributionaddress,c-teid)。在该实施例中,由于f-cp1选择了两个与f-cp1同级的用户面节点f-up11和f-up12,因此listof{f-upid,mbs传输信息}中包含了f-up11id及f-up11id对应的mbsipmulticastdistribution,以及f-up12id及f-up12id对应的mbsipmulticastdistribution。f-up11id对应的mbsipmulticastdistribution是f-up11所分配的,其中包含的ip多播传输地址即为ip2;f-up12id对应的mbsipmulticastdistribution是f-up12所分配的,其中包含的ip多播传输地址即为ip3。

需要说明的是:f-up12分配的ip多播传输地址ip3与f-up11分配的ip多播传输地址ip2不能相同,但是所分配的c-teid可以相同。

f-cp1向amf发送信息传送消息包含的mbs会话容器表示是要amf将n2mbssessionstartrequest(tmgi,mbsqfis,qosprofile,listof{f-upid,mbs传输信息})的相关内容发送给ranid所标识的gnb。当f-cp1中的mbssessioncontext中记录有多个ranid时,则后续的步骤s1804b至步骤s1808b是针对每个ranid所标识的gnb分别执行的。

步骤s1804b,amf根据步骤s1804a中的信息传送消息所包含的ranid向对应的gnb-cu发送mbs会话开始请求,包含有步骤s1804a中的各项参数,即包含有tmgi、mbsqfis、qosprofile、listof{f-upid,mbs传输信息}。

gnb-cu在接收到amf发送的mbs会话开始请求之后,gnb-cu根据注册的mbsmulticastserviceue的数量及位置(对于mbsmulticastservice而言)或mbsbroadcastservicearea(对于mbsbroadcastservice而言)分别从多个gnb-du中为f-up11和f-up12选择一个或多个gnb-du。该实施例中假定为f-up11选取了gnb-du11与gnb-du12,为f-up12选取了gnb-du21与gnb-du22,即为f-up11和f-up12选择了不同的gnb-du。然后分别执行步骤s1805a和步骤s1805b。

步骤s1805a,gnb-cu向选取的gnb-du11和gnb-du12分别发送用户面mbs会话建立请求(即f1mbssessionestablishmentrequest),该用户面mbs会话建立请求中包含有f-up11分配的ip多播传输地址ip2,gnb-du11和gnb-du12分别向gnb-cu反馈用户面mbs会话建立响应(为了节省版面,图18中将gnb-du11与gnb-du12画在了一起)。具体过程与步骤s1505a中s-cp与s-up之间的交互过程类似,不再赘述。

步骤s1805b,gnb-cu向选取的gnb-du21和gnb-du22分别发送用户面mbs会话建立请求(即f1mbssessionestablishmentrequest),该用户面mbs会话建立请求中包含有f-up12分配的ip多播传输地址ip3,gnb-du21和gnb-du22分别向gnb-cu反馈用户面mbs会话建立响应(为了节省版面,图18中将gnb-du21与gnb-du22画在了一起)。具体过程与步骤s1505a中s-cp与s-up之间的交互过程类似,不再赘述。

步骤s1806a,gnb-du11和gnb-du12若支持接收基于多播方式传输的数据,则分别加入f-up11分配的ip多播传输地址(即ip2)对应的多播传输组中,以接收f-up11发送的mbs业务数据。

步骤s1806b,gnb-du21和gnb-du22若支持接收基于多播方式传输的数据,则分别加入f-up12分配的ip多播传输地址(即ip3)对应的多播传输组中,以接收f-up12发送的mbs业务数据。

需要说明的是:类似于前述实施例,若根据网络配置,gnb-du不支持接收基于多播方式传输的数据,但支持通过点对点的方式接收mbs业务数据,则需要分配对应的f-teid,该f-teid由gnb-cu分配,或由gnb-du分配。

步骤s1807a,gnb根据步骤s1804a中接收到的信息传送消息中包含的qfis与qosprofile分配无线空口资源。

步骤s1807b,gnb-cu向amf发送mbs会话开始响应。若有gnb-du不支持接收基于多播方式传输的数据,则mbs会话开始响应中包含此gnb-du分配的f-teid(为便于区分,将其记为f-teidgnb-du),且对应于f-up,从而形成一个listof{f-upid,listoff-teidgnb-du,multicastenable}。在该实施例中,listof{f-upid,listoff-teidgnb-du,multicastenable}包含了针对f-up11的listoff-teidgnb-du和multicastenable,以及针对f-up12的listoff-teidgnb-du和multicastenable。

类似于步骤s1507,由于有些gnb-du支持接收基于多播方式传输的数据,而另外一些gnb-du不支持接收基于多播方式传输的数据,所以这个listf-teidgnb-du只是对应于那些不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的gnb-du。因此,当一个f-up的所有gnb-du都支持接收基于多播方式传输的数据,则对应于这个f-up的listoff-teidgnb-du就没有了,其它说明参照步骤s1507的相关内容。

此外,当gnb-cu决定不向其中某个/某些f-upid分配任何的子用户面节点时,则可以将这个/这些f-upid对应的multicastenable设置为disable。当然,也可以在mbs会话开始响应中采用failedlist{f-up}来指示没有被分配gnb-du的父用户面节点。

步骤s1807c,amf根据步骤s1807b中收到的mbs会话开始响应向f-cp1发送信息通知消息namf_communication_nonuen2infonotify。其中,该信息通知消息包含n2mbssessioncontainer(n2mbssessionstartresponse(listof(f-upid,listoff-teidgnb-du,multicastenable)))。

步骤s1808a,f-cp1根据接收到的信息通知消息中包含的listof{f-upid,listoff-teidgnb-du,multicastenable}向f-up11发送用户面mbs会话修改请求,f-up11向f-cp1反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

步骤s1808b,f-cp1根据接收到的信息通知消息中包含的listof{f-upid,listoff-teidgnb-du,multicastenable}向f-up12发送用户面mbs会话修改请求,f-up12向f-cp1反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

步骤s1809,当针对每个ranid所标识的gnb都执行步骤s1804a至步骤s1808b之后,f-cp1根据所有gnb-cu反馈的mbs会话开始响应向f-cp1的父控制面节点发送mbs会话开始响应。

类似于步骤s1609,f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中包含有与f-cp1的父控制面节点同级的用户面节点的upid,并且可能还包含有listoff-teidfup和multicastenable。

其中,步骤s1801至步骤s1809是f-cp1接收到f-cp1的父控制面节点发送的mbs会话开始请求之后的处理过程,在该处理过程中,f-cp1选择了与f-cp1同级的两个用户面节点f-up11和f-up12,并且f-cp1对应的gnb-cu为f-up11选择了两个与gnb-cu同级的子用户面节点gnb-du11和gnb-du12,为f-up12选择了两个与gnb-cu同级的子用户面节点gnb-du21和gnb-du22。

继续参照图18所示,还包括如下步骤:

步骤s1810,f-cp2接收到f-cp2的父控制面节点发送的mbs会话开始请求。具体过程与前述步骤s1501类似,不再赘述。其中,该mbs会话开始请求中的mbsipmulticastdistribution包含的ip多播传输地址记为ipx。

步骤s1811,f-cp2在接收到f-cp2的父控制面节点发送的mbs会话开始请求之后,可以根据f-cp2对应的gnb的信息(如位置和数量等)确定从多个f-upf中选取一个或多个作为与f-cp2同级的用户面节点。该实施例中假定只选取一个用户面节点f-up21,然后f-cp2向f-up21发送用户面mbs会话建立请求,f-up21向f-cp2反馈用户面mbs会话建立响应。

具体说明参见前述步骤s1502的相关内容,类似于步骤s1502,f-cp2与f-up21之间通过用户面mbs会话建立请求与用户面mbs会话建立响应之间的交互,f-up21分配了新的ip多播传输地址(为便于区分,记为ip4)。

此外,类似地,若f-up21不支持接收基于多播方式传输的数据,f-up21分配一个用于通过点对点方式接收mbs业务数据的f-teid,并在用户面mbs会话建立响应中携带分配的f-teid。

步骤s1812,若f-up21支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ipx对应的多播传输组中,以接收f-up21的父用户面节点发送的mbs业务数据。

步骤s1813a,f-cp2向amf发送信息传送消息(即namf_communication_nonuen2messagetransfer)。该信息传送消息的具体说明类似于前述步骤s1804a,不再赘述。但是需要说明的是:由于f-cp2选择了一个与f-cp2同级的用户面节点f-up21,因此信息传送消息中包含了f-up21id和对应于f-up21id的mbsipmulticastdistribution,该mbsipmulticastdistribution中所包含的ip多播传输地址即为ip4。当f-cp2中的mbssessioncontext中记录有多个ranid时,则后续的步骤s1813b至步骤s1817是针对每个ranid所标识的gnb分别执行的。

需要说明的是:步骤s1813a与步骤s1804a之间并没有先后关系,它们可以是f-cp2与f-cp1并行分别执行的步骤。

步骤s1813b,amf根据步骤s1813a中的信息传送消息所包含的ranid向对应的gnb-cu发送mbs会话开始请求,包含有步骤s1813a中的各项参数。

gnb-cu在接收到amf发送的mbs会话开始请求之后,gnb-cu根据注册的mbsmulticastserviceue的数量及位置(对于mbsmulticastservice而言)或mbsbroadcastservicearea(对于mbsbroadcastservice而言)分别从多个gnb-du中为f-up21选取的一个或多个gnb-du。该实施例中假定为f-up21选取了gnb-du31与gnb-du32,即为f-up21选择的gnb-du不同于为f-up11与f-up12选择的gnb-du。

步骤s1814,gnb-cu向选取的gnb-du31和gnb-du32分别发送用户面mbs会话建立请求(即f1mbssessionestablishmentrequest),该用户面mbs会话建立请求中包含有f-up21分配的ip多播传输地址ip4,gnb-du31和gnb-du32分别向gnb-cu反馈用户面mbs会话建立响应(为了节省版面,图18中将gnb-du31与gnb-du32画在了一起)。具体过程与步骤s1505a类似,不再赘述。

步骤s1815,gnb-du31和gnb-du32若支持接收基于多播方式传输的数据,则分别加入f-up21分配的ip多播传输地址(即ip4)对应的多播传输组中,以接收f-up21发送的mbs业务数据。

需要说明的是:类似于前述实施例,若根据网络配置,gnb-du不支持接收基于多播方式传输的数据,但支持通过点对点的方式接收mbs业务数据,则需要分配对应的f-teid,该f-teid由gnb-cu分配,或由gnb-du分配。

步骤s1816a,gnb根据步骤s1813a中接收到的信息传送消息中包含的qfis与qosprofile分配无线空口资源。

步骤s1816b,gnb-cu向amf发送mbs会话开始响应。若有gnb-du不支持接收基于多播方式传输的数据,则mbs会话开始响应中包含此gnb-du分配的f-teidgnb-du,且对应于f-up21。其它说明可参照步骤s1507的相关内容。

步骤s1816c,amf根据步骤s1816b中收到的mbs会话开始响应向f-cp2发送信息通知消息namf_communication_nonuen2infonotify。其中,该信息通知消息包含(n2mbssessioncontainer(n2mbssessionstartresponse(f-up21id,listoff-teidgnb-du,multicastenable)))。

步骤s1817,f-cp2根据接收到的信息通知消息中包含的f-up21id和listoff-teidgnb-du向f-up21发送用户面mbs会话修改请求,f-up21向f-cp2反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

步骤s1818,当针对每个ranid所标识的gnb都执行步骤s1813b至步骤s1817之后,f-cp2根据所有gnb-cu反馈的mbs会话开始响应向f-cp2的父控制面节点发送mbs会话开始响应。

类似于步骤s1509,f-cp2向f-cp2的父控制面节点回复的mbs会话开始响应中包含有与f-cp2的父控制面节点同级的用户面节点的upxid,并且可能还包含有listoff-teidfup。

其中,步骤s1810至步骤s1818是f-cp2接收到f-cp2的父控制面节点发送的mbs会话开始请求之后的处理过程,在该处理过程中,f-cp2选择了一个与f-cp2同级的用户面节点f-up21,并且f-cp2对应的gnb-cu选择了两个与gnb-cu同级的子用户面节点gnb-du31和gnb-du32。

通过步骤s1801至步骤s1818可知,在本申请的实施例中,gnb-cu可以有多个父控制面节点f-cp1和f-cp2,而gnb-cu控制的gnb-du只有一个父用户面节点。

另外,步骤s1801中的消息与步骤s1810中的消息可能是并行发下来的,因此,步骤s1801~s1809与步骤s1810~s1818可能是并行执行的。这样,在用户面mbs会话建立过程中,可能存在着一个用户面节点同时被两个控制面节点发送用户面mbs会话建立请求消息,或已经被一个控制面节点选择后又接收到另一个控制面节点发送的用户面mbs会话建立请求消息。如果一个用户面节点同时收到两个控制面节点(当然也可以是更多个,此处以两个为例进行说明)发送的用户面mbs会话建立请求消息,那么该用户面节点可以在用户面mbs会话建立响应消息中正常响应其中一个控制面节点发送的用户面mbs会话建立请求,并且在另一个用户面mbs会话建立响应消息中拒绝(reject)另外一个控制面节点,以指示此用户面节点已经被选择。如果一个用户面节点通过一个控制面节点已经有了父用户面节点后,又收到另外一个控制面节点发送的用户面mbs会话建立请求消息时,则在另一个用户面mbs会话建立响应消息中reject该另外一个控制面节点,以指示此用户面节点已经被选择。

当这种mbs会话传输树建立完成之后,可以执行如下步骤:

步骤s1819a,f-up11接收到f-up11的父用户面节点发送的下行mbs业务数据。然后通过步骤s1820a将接收到的该下行mbs业务数据传输给gnb-du11和gnb-du12。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

步骤s1819b,f-up12接收到f-up12的父用户面节点发送的下行mbs业务数据。然后通过步骤s1820b将接收到的该下行mbs业务数据传输给gnb-du21和gnb-du22。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

步骤s1819c,f-up21接收到f-up21的父用户面节点发送的下行mbs业务数据。然后通过步骤s1820c将接收到的该下行mbs业务数据传输给gnb-du31和gnb-du32。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

图18所示实施例的技术方案主要是将nr基站引入到mbs会话传输树中之后建立控制面传输树与用户面传输树的过程。需要说明的是,在图15、图16和图18所示的实施例中,只介绍了mbs会话传输树中的两级节点之间的交互过程,对于包含三级或三级以上节点的mbs会话传输树而言,其中的任意两级节点之间的交互过程都可以参照图15、图16或图18所示的实施例来实现。比如,如图19所示,1901和1902所示的两级节点可以是图15或图16中所示的两级节点,在将1901中的子控制面节点s-cp和子用户面节点s-up与1902中的父控制面f-cp节点和父用户面节点f-up分别叠加为同一个实体之后,如图19中1903所示可以实现一个三级的mbs会话传输树,其中gf-cp是f-cp的父控制面节点,gf-up是f-up的父用户面节点。基于这种方式,可以实现任意级的mbs会话传输树。

对于图18所示的实施例,由于基站只能作为网络侧的最后一级,因此也可以通过将图18所示的实施例与图15和图16所示的实施例进行组合,以实现包含基站的任意级的mbs会话传输树。

图15、图16和图18示出了根据本申请实施例的mbs会话传输树的建立过程,而mbs会话在建立过程中用户面传输树也可能出现断枝的情况,因此也需要进行删除断枝的操作。

具体如图20所示,可以包括如下步骤:

步骤s2001,f-cp1接收到f-cp1的父控制面节点发送的mbs会话开始请求。具体过程与前述步骤s1501类似,不再赘述。其中,该mbs会话开始请求中的mbsipmulticastdistribution包含的ip多播传输地址记为ip1。

f-cp1在接收到f-cp1的父控制面节点发送的mbs会话开始请求之后,可以根据f-cp1的子控制面节点的信息确定从多个f-upf中选取一个或多个f-upf作为与f-cp1同级的用户面节点,该实施例中假定选取了两个用户面节点f-up11和f-up12。然后分别执行步骤s1602a和步骤s1602b。

步骤s2002a,f-cp1向f-up11发送用户面mbs会话建立请求,f-up11向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述,其中步骤s2002a中f-up11分配的ip多播传输地址记为ip2。

步骤s2002b,f-cp1向f-up12发送用户面mbs会话建立请求,f-up12向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述,其中步骤s2002b中f-up12分配的ip多播传输地址记为ip3。

步骤s2003,若f-up11与f-up12支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip1对应的多播传输组中,以接收f-up11与f-up12的父用户面节点发送的mbs业务数据。

步骤s2004,f-cp1根据f-cp1的子控制面节点的信息,向每个子控制面子节点分别发送mbs会话开始请求,即步骤s2004至步骤s2008是针对每个子控制面节点分别单独执行的,该实施例中以向一个子控制面节点s-cp发送为例进行说明。

f-cp1发送给f-cp1的子控制面节点s-cp的mbs会话开始请求中包含了如下参数:tmgi、mbssessionduration、mbsqfis、qosprofile、mbstimetodatatransfer、listof{f-upid,mbs传输信息}、mbsservicearea。其中,mbs传输信息即为mbsipmulticastdistribution(ipmulticastdistributionaddress,c-teid)。在该实施例中,由于f-cp1选择了两个与f-cp1同级的用户面节点f-up11和f-up12,因此listof{f-upid,mbs传输信息}中包含了f-up11id及f-up11id对应的mbsipmulticastdistribution,以及f-up12id及f-up12id对应的mbsipmulticastdistribution。f-up11id对应的mbsipmulticastdistribution是f-up11所分配的,其中包含的ip多播传输地址即为ip2;f-up12id对应的mbsipmulticastdistribution是f-up12所分配的,其中包含的ip多播传输地址即为ip3。

需要说明的是:f-up12分配的ip多播传输地址ip3与f-up11分配的ip多播传输地址ip2不能相同,但是所分配的c-teid可以相同。

s-cp在接收到f-cp1发送的mbs会话开始请求之后,类似于步骤s1502,s-cp根据s-cp的子控制面节点的信息从多个s-up中为f-up11选择一个或多个s-up,以及为f-up12选择一个或多个s-up,该实施例中假定为f-up11选取了s-up11与s-up12,但是没有为f-up12选择任何子用户面节点。然后执行步骤s2005。

步骤s2005,s-cp向选取的s-up11和s-up12分别发送用户面mbs会话建立请求,该用户面mbs会话建立请求中包含有f-up11分配的ip多播传输地址ip2,s-up11和s-up12分别向s-cp反馈用户面mbs会话建立响应(为了节省版面,图20中将s-up11与s-up12画在了一起)。具体过程与步骤s1505a类似,不再赘述。

步骤s2006,s-up11和s-up12若支持接收基于多播方式传输的数据,则分别加入f-up11分配的ip多播传输地址(即ip2)对应的多播传输组中,以接收f-up11发送的mbs业务数据。

步骤s2007,s-cp向f-cp1发送mbs会话开始响应。若有s-up不支持接收基于多播方式传输的数据,则mbs会话开始响应中包含此s-up分配的f-teid,且对应于f-up,从而形成一个listof{f-upid,listoff-teidsup,multicastenable}。在该实施例中,listof{f-upid,listoff-teidsup,multicastenable}包含了针对f-up11的listoff-teidsup和multicastenable,以及针对f-up12的multicastenable(取值为disable)。由于f-up12没有分配f-teid,同时对应的multicastenable设置为disable,则表明没有为f-up12选择子用户面节点。

类似于步骤s1507,由于有些s-up支持接收基于多播方式传输的数据,而另外一些s-up不支持接收基于多播方式传输的数据,所以这个listf-teidsup只是对应于那些不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的s-up。因此,当一个f-up的所有s-up都支持接收基于多播方式传输的数据,则对应于这个f-up的listoff-teidsup就没有了,其它说明参照步骤s1507的相关内容。

此外,当s-cp决定不向其中某个/某些f-upid分配任何的子用户面节点时,除了可以将这个/这些f-upid对应的multicastenable参数设置为disable之外,还可以在mbs会话开始响应中采用failedlist{f-up}来指示没有被分配子用户面节点的父用户面节点。

步骤s2008a,f-cp1根据mbs会话开始响应中包含的listof{f-upid,listoff-teidsup,multicastenable}向f-up11发送用户面mbs会话修改请求,f-up11向f-cp1反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

需要说明的是:若f-cp1确定f-cp1的所有子控制面节点都没有向f-up11分配子用户面节点,则f-cp1向f-up11发送用户面mbs会话删除请求,f-up11在接收到该用户面mbs会话删除请求之后,发出igmpleave数据包,并从f-up11的父用户面节点分配的多播传输地址ip1指示的多播传输组中删除,并且f-up11向f-cp1回复用户面mbs会话删除响应(此过程未在图中标识)。

步骤s2008b,f-cp1在收到f-cp1的所有子控制面节点回复的mbs会话开始响应之后,确定f-cp1的所有子控制面节点都没有向f-up12分配子用户面节点,则向f-up12发送用户面mbs会话删除请求(即n4mbssessiondeleterequest),f-up12在接收到该用户面mbs会话删除请求之后,发出igmpleave数据包,指示从f-up12的父用户面节点分配的多播传输地址(即ip1)指示的多播传输组中删除,并且f-up12向f-cp1回复用户面mbs会话删除响应。

需要说明的是:步骤s2004至步骤s2008是针对f-cp1的每个子控制面节点分别单独执行的,不能仅仅由于f-cp1的一个子控制面节点在步骤s2007中回复的mbs会话开始响应指示没有向f-up12分配子用户面节点就启动执行步骤s2008b的删除mbs会话的操作。而应该是f-cp1在收到所有子控制面节点的回复后再判断没有为哪个用户面节点分配子用户面节点,以决定是否要删除与这个用户面节点之间的mbs会话。

步骤s2009,当针对每个子控制面都执行步骤s2004至步骤s2008之后,f-cp1根据所有子控制面反馈的mbs会话开始响应向f-cp1的父控制面节点发送mbs会话开始响应。

类似于步骤s1509,f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中包含有与f-cp1的父控制面节点同级的用户面节点upid,并且可能还包含有listoff-teid(为便于区分,将其记为listoff-teidfup),由于f-cp1选择了两个与f-cp1同级的用户面节点f-up11和f-up12,但是s-cp未向f-up12分配子用户面节点,因此如果f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中包含有listoff-teidfup,那么其中也只包含f-up11分配的f-teid。

需要说明的是,如果f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中可以不包含f-up11分配的f-teid,在这种情况下说明f-up11支持接收基于多播方式传输的数据,此时f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中无需包含multicastenable;如果f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中包含f-up11分配的f-teid,则说明f-up11不支持接收基于多播方式传输的数据、但是支持通过点对点方式发送的mbs业务数据,在这种情况下由于只有一个与f-cp1同级的用户面节点f-up11,因此f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中也无需包含multicastenable。

当mbs会话传输树建立完成之后,可以执行如下步骤:

步骤s2010,f-up11接收到f-up11的父用户面节点发送的下行mbs业务数据。然后通过步骤s2011将接收到的该下行mbs业务数据传输给s-up11和s-up12。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

在图20所示的实施例中,虽然f-cp1选择了两个与f-cp1同级的用户面节点f-up11和f-up12,但是f-cp1的子控制面节点s-cp没有向f-up12分配子用户面节点,即用户面传输树中出现了断枝的情况,因此需要删除存在的断枝。

在本申请的一个实施例中,还可以由非psa(pdu(protocoldataunit,分组数据单元)sessionanchor,pdu会话锚点)的upf来参与mbs会话,在这种情况下,建立用户面mbs传输树的过程可以参照图21所示,包括如下步骤:

步骤s2101,f-cp1接收到f-cp1的父控制面节点发送的mbs会话开始请求。具体过程与前述步骤s1501类似,不再赘述。其中,该mbs会话开始请求中的mbsipmulticastdistribution包含的ip多播传输地址记为ip1。

f-cp1在接收到f-cp1的父控制面节点发送的mbs会话开始请求之后,可以根据f-cp1的子控制面节点的信息确定从多个f-upf中选取一个或多个f-upf作为与f-cp1同级的用户面节点,该实施例中假定选取了两个用户面节点,记为f-up11和f-up12。然后分别执行步骤s2102a和步骤s2102b。

步骤s2102a,f-cp1向f-up11发送用户面mbs会话建立请求,f-up11向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述,其中步骤s2102a中f-up11分配的ip多播传输地址记为ip2。

步骤s2102b,f-cp1向f-up12发送用户面mbs会话建立请求,f-up12向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述,其中步骤s2102b中f-up12分配的ip多播传输地址记为ip3。

步骤s2103,若f-up11与f-up12支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip1对应的多播传输组中,以接收f-up11与f-up12的父用户面节点发送的mbs业务数据。

在执行步骤s2102a和步骤s2102b之后,f-cp1可以选择执行如下步骤s2104a、步骤s2104b和步骤s2104c,并选择用户面节点f-up21、f-up22、f-up23(f-cp1选择的用户面节点及数量仅为示例),这样做的目的在于可以使得f-up11和f-up12通过f-up21、f-up22、f-up23来进行分流或优化传输。

例如,当f-up11与f-up11的下一级用户面节点之间的距离较远,且f-up11的下一级用户面节点的数量非常多时,如果由f-up11直接将mbs业务数据传输给f-up11的下一级用户面节点,那么这种传输效率非常低。而通过在f-up11与f-up11的下一级用户面节点之间引入诸如f-up21、f-up22等,则可以由f-up11将mbs业务数据通过f-uf21发送给下一级用户面节点,这样可以有效提升数据传输效率。

以下介绍步骤s2104a、步骤s2104b和步骤s2104c:

步骤s2104a,f-cp1向f-up21发送用户面mbs会话建立请求,f-up21向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述。在步骤s2104a中f-up21还分配了一个向f-up21的子用户面节点传输mbs业务数据的新的ip多播传输地址,该实施例中标识为ip4。并且,如果f-up21不支持接收f-up11通过多播方式发送的mbs业务数据,那么f-up21会分配一个f-teid来通过点对点的方式从f-up11接收mbs业务数据。

步骤s2104b,f-cp1向f-up22发送用户面mbs会话建立请求,f-up22向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述。在步骤s2104b中f-up22还分配了一个向f-up22的子用户面节点传输mbs业务数据的新的ip多播传输地址,该实施例中标识为ip5。并且,如果f-up22不支持接收f-up11通过多播方式发送的mbs业务数据,那么f-up22会分配一个f-teid来通过点对点的方式从f-up11接收mbs业务数据。

需要说明的是,在本申请的一个实施例中,步骤s2104a和步骤s2104b中的用户面mbs会话建立请求包含的mbsipmulticastdistribution中的多播传输地址为步骤s2102a中的多播传输地址ip2。

步骤s2104c,f-cp1向f-up23发送用户面mbs会话建立请求,f-up23向f-cp1反馈用户面mbs会话建立响应。同时,f-up23还分配了一个向f-up23的子用户面节点传输mbs业务数据的新的ip多播传输地址,该实施例中标识为ip6。该过程与前述实施例中步骤s1502的过程类似,不再赘述。

在本申请的一个实施例中,步骤s2104c中的用户面mbs会话建立请求包含的mbsipmulticastdistribution中的多播传输地址为步骤s2102b中的多播传输地址ip3。其中,步骤s2104c中确定的新的多播传输地址是f-up23分配给f-up23的子用户面节点的(即图21中的s-up31和s-up32)。并且,如果f-up23不支持接收f-up12通过多播方式发送的mbs业务数据,那么f-up23会分配一个f-teid来通过点对点的方式从f-up12接收mbs业务数据。

步骤s2105a,若f-up21与f-up22支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip2对应的多播传输组中,以接收f-up11发送的mbs业务数据。

步骤s2105b,若f-up23支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip3对应的多播传输组中,以接收f-up12发送的mbs业务数据。

步骤s2106a,若f-up21和f-up22中有不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的用户面节点,则f-cp1向f-up11发送用户面mbs会话修改请求,f-up11向f-cp1反馈用户面mbs会话修改响应。其中,该用户面mbs会话修改请求中包含有f-up21和f-up22中不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的用户面节点分配的f-teid,以指示f-up11增加使用点对点的方式向f-up21和f-up22中不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的用户面节点传送mbs业务数据。

步骤s2106b,若f-up23不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则f-cp1向f-up12发送用户面mbs会话修改请求,f-up12向f-cp1反馈用户面mbs会话修改响应。其中,该用户面mbs会话修改请求中包含有f-up23分配的f-teid,以指示f-up12通过点对点的方式向f-up23传送mbs业务数据。

步骤s2107,f-cp1根据f-cp1的子控制面节点的信息,向f-cp1的子控制面节点s-cp1发送mbs会话开始请求。

f-cp1发送给f-cp1的子控制面节点s-cp1的mbs会话开始请求中包含了如下参数:tmgi、mbssessionduration、mbsqfis、qosprofile、mbstimetodatatransfer、listof{f-upid,mbs传输信息}、mbsservicearea。其中,mbs传输信息即为mbsipmulticastdistribution(ipmulticastdistributionaddress,c-teid)。在该实施例中,listof{f-upid,mbs传输信息}中包含了f-up21id及f-up21id对应的mbsipmulticastdistribution,以及f-up22id及f-up22id对应的mbsipmulticastdistribution。f-up21id对应的mbsipmulticastdistribution是f-up21所分配的,其中包含的ip多播传输地址即为步骤s2104a中由f-up21分配的新的ip多播传输地址ip4;f-up22id对应的mbsipmulticastdistribution是f-up22所分配的,其中包含的ip多播传输地址即为步骤s2104b中由f-up22分配的新的ip多播传输地址ip5,且步骤s2104a中由f-up21分配的新的ip多播传输地址ip4和步骤s2104b中由f-up22分配的新的ip多播传输地址ip5不相同。

步骤s2108,s-cp1在接收到f-cp1发送的mbs会话开始请求之后,进行用户面mbs会话建立过程。具体地,s-cp1根据s-cp1的子控制面节点的信息从多个s-up中为f-up21选择一个或多个s-up,以及为f-up22选择一个或多个s-up,该实施例中假定为f-up21选取了s-up11与s-up12,为f-up22选取了s-up21与s-up22,即为f-up21和f-up22选择了不同的子用户面节点。然后s-cp1分别向为f-up21和f-up22选择的子用户面节点(即s-up11、s-up12、s-up21与s-up22)发送用户面mbs会话建立请求,并接收这些子用户面节点反馈的用户面mbs会话建立响应。同时,如果这些子用户面节点支持接收多播传输,则可以加入相应的多播传输组来接收mbs业务数据(即s-up11和s-up12加入ip4对应的多播传输组,s-up21和s-up22加入ip5对应的多播传输组);如果这些子用户面节点中的一些子用户面节点不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据的子用户面节点可以分配f-teid来通过点对点的方式接收mbs业务数据,具体过程与步骤s1505a及步骤s1506类似,不再赘述。

步骤s2109,s-cp1向f-cp1发送mbs会话开始响应。若有s-up不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则mbs会话开始响应中包含此s-up分配的f-teid,且对应于f-up,从而形成一个listof{f-upid,listoff-teidsup,multicastenable}。在该实施例中,listof{f-upid,listoff-teidsup,multicastenable}包含了针对f-up21的listoff-teidsup和multicastenable,以及针对f-up22的listoff-teidsup和multicastenable。

类似于步骤s1507,由于有些s-up支持接收基于多播方式传输的数据,而另外一些s-up不支持接收基于多播方式传输的数据,所以这个listf-teidsup只是对应于那些不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的s-up。因此,当一个f-up的所有s-up都支持接收基于多播方式传输的数据,则对应于这个f-up的listoff-teidsup就没有了,其它说明参照步骤s1507的相关内容。

此外,当s-cp1决定不向其中某个/某些f-upid分配任何的子用户面节点时,则可以将这个/这些f-upid对应的multicastenable设置为disable。当然,也可以在mbs会话开始响应中采用failedlist{f-up}来指示没有被分配子用户面节点的f-up。

步骤s2110a,f-cp1根据s-cp1反馈的mbs会话开始响应中包含的listof{f-upid,listoff-teidsup,multicastenable}向f-up21发送用户面mbs会话修改请求,f-up21向f-cp1反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

步骤s2110b,f-cp1根据s-cp1反馈的mbs会话开始响应中包含的listof{f-upid,listoff-teidsup,multicastenable}向f-up22发送用户面mbs会话修改请求,f-up22向f-cp1反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

步骤s2111,f-cp1根据f-cp1的子控制面节点的信息,向f-cp1的子控制面节点s-cp2发送mbs会话开始请求。

f-cp1发送给f-cp1的子控制面节点s-cp2的mbs会话开始请求中包含了如下参数:tmgi、mbssessionduration、mbsqfis、qosprofile、mbstimetodatatransfer、listof{f-upid,mbs传输信息}、mbsservicearea。其中,mbs传输信息即为mbsipmulticastdistribution(ipmulticastdistributionaddress,c-teid)。在该实施例中,listof{f-upid,mbs传输信息}中包含了f-up23id及f-up23id对应的mbsipmulticastdistribution。f-up23id对应的mbsipmulticastdistribution是f-up23所分配的,其中包含的ip多播传输地址即为步骤s2104c中由f-up23分配的新的ip多播传输地址ip6。

需要说明的是:步骤s2111与步骤s2107之间并没有先后关系,它们可以是f-cp1并行分别执行的步骤。

步骤s2112,s-cp2在接收到f-cp1发送的mbs会话开始请求之后,进行用户面mbs会话建立过程。具体地,s-cp2根据s-cp2的子控制面节点的信息从多个s-up中为f-up23选择一个或多个s-up,该实施例中假定为f-up23选取了s-up31与s-up32,即为f-up23选取的子用户面节点与为f-up21和f-up22选择的子用户面节点不相同。然后s-cp2分别向为f-up23选择的子用户面节点(即s-up31与s-up32)发送用户面mbs会话建立请求,并接收s-up31与s-up32分别反馈的用户面mbs会话建立响应。同时,如果s-up31与s-up32支持接收多播传输,则可以加入步骤s2104c中由f-up23分配的新的ip多播传输地址ip6对应的多播传输组来接收f-up23发送的mbs业务数据;如果s-up31与s-up32中的一些子用户面节点不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则s-up31与s-up32中不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据的子用户面节点可以分配f-teid来通过点对点的方式接收f-up23发送的mbs业务数据,具体过程与步骤s1505a及步骤s1506类似,不再赘述。

步骤s2113,s-cp2向f-cp1发送mbs会话开始响应。若s-up31与s-up32中有s-up不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则mbs会话开始响应中包含此s-up分配的f-teid,且对应于f-up,从而形成一个listof{f-upid,listoff-teidsup,multicastenable}。在该实施例中,listof{f-upid,listoff-teidsup,multicastenable}包含了针对f-up23的listoff-teidsup和multicastenable。

类似于步骤s1507,由于有些s-up支持接收基于多播方式传输的数据,而另外一些s-up不支持接收基于多播方式传输的数据,所以这个listf-teidsup只是对应于那些不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的s-up。因此,当一个f-up的所有s-up都支持接收基于多播方式传输的数据,则对应于这个f-up的listoff-teidsup就没有了,其它说明参照步骤s1507的相关内容。

此外,当s-cp2决定不向其中某个/某些f-upid分配任何的子用户面节点时,则可以将这个/这些f-upid对应的multicastenable设置为disable。当然,也可以在mbs会话开始响应中采用failedlist{f-up}来指示没有被分配子用户面节点的f-up。

步骤s2114,f-cp1根据s-cp2反馈的mbs会话开始响应中包含的listof{f-upid,listoff-teidsup,multicastenable}向f-up23发送用户面mbs会话修改请求,f-up23向f-cp1反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

步骤s2115,当f-cp1接收到所有s-cp反馈的mbs会话开始响应之后,f-cp1根据所有s-cp反馈的mbs会话开始响应向f-cp1的父控制面节点发送mbs会话开始响应。

类似于步骤s1609,f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中包含有upid(该upid是与f-cp1的父控制面节点同级的用户面节点的标识),并且可能还包含有listoff-teidfup和multicastenable。

通过步骤s2101至步骤s2115可知,在本申请的实施例中,f-cp1有两个子控制面节点s-cp1和s-cp2,f-cp1为f-up11选择了下一级用户面节点f-up21和f-up22,f-cp1为f-up12选择了下一级用户面节点f-up23,同时s-cp1为f-up21选择了子用户面节点s-up11和s-up12,s-cp1为f-up22选择了子用户面节点s-up21和s-up22,s-cp2为f-up23选择了子用户面节点s-up31和s-up32。

需要说明的是:在用户面mbs会话建立过程中,可能存在着一个用户面节点同时被两个控制面节点发送用户面mbs会话建立请求消息,或已经被一个控制面节点选择后又接收到另一个控制面节点发送的用户面mbs会话建立请求消息。如果一个用户面节点同时收到两个控制面节点(当然也可以是更多个,此处以两个为例进行说明)发送的用户面mbs会话建立请求消息,那么该用户面节点可以在用户面mbs会话建立响应消息中正常响应其中一个控制面节点发送的用户面mbs会话建立请求,并且在另一个用户面mbs会话建立响应消息中拒绝(reject)另外一个控制面节点,以指示此用户面节点已经被选择。如果一个用户面节点通过一个控制面节点已经有了父用户面节点后,又收到另外一个控制面节点发送的用户面mbs会话建立请求消息时,则在另一个用户面mbs会话建立响应消息中reject该另外一个控制面节点,以指示此用户面节点已经被选择。

当这种mbs会话传输树建立完成之后,可以执行如下步骤:

步骤s2116a,f-up11接收到f-up11的父用户面节点发送的下行mbs业务数据。然后通过步骤s2117a将接收到的该下行mbs业务数据传输给f-up21,并通过步骤s2117b接收到的该下行mbs业务数据传输给f-up22。f-up21通过步骤s2118a将接收到的该下行mbs业务数据传输给s-up11和s-up12。f-up22通过步骤s2118b将接收到的该下行mbs业务数据传输给s-up21和s-up22。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

步骤s2116b,f-up12接收到f-up12的父用户面节点发送的下行mbs业务数据。然后通过步骤s2117c将接收到的该下行mbs业务数据传输给f-up23,f-up23通过步骤s2118c将接收到的该下行mbs业务数据传输给s-up31和s-up32。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

对于图21中所示的由非psa的upf来参与mbs会话的应用场景而言,同样需要防止出现断枝的出现,具体过程可以参照图22所示,包括如下步骤:

步骤s2201,f-cp1接收到f-cp1的父控制面节点发送的mbs会话开始请求。具体过程与前述步骤s1501类似,不再赘述。其中,该mbs会话开始请求中的mbsipmulticastdistribution包含的ip多播传输地址记为ip1。

f-cp1在接收到f-cp1的父控制面节点发送的mbs会话开始请求之后,可以根据f-cp1的子控制面节点的信息确定从多个f-upf中选取一个或多个f-upf作为与f-cp1同级的用户面节点,该实施例中假定选取了两个用户面节点,记为f-up11和f-up12。然后分别执行步骤s2202a和步骤s2202b。

步骤s2202a,f-cp1向f-up11发送用户面mbs会话建立请求,f-up11向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述,其中步骤s2202a中f-up11分配的ip多播传输地址记为ip2。

步骤s2202b,f-cp1向f-up12发送用户面mbs会话建立请求,f-up12向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述,其中步骤s2202b中f-up12分配的ip多播传输地址记为ip3。

步骤s2203,若f-up11与f-up12支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip1对应的多播传输组中,以接收f-up11与f-up12的父用户面节点发送的mbs业务数据。

在执行步骤s2202a和步骤s2202b之后,f-cp1可以选择执行如下步骤s2204a、步骤s2204b和步骤s2204c,并选择用户面节点f-up21、f-up22、f-up23(f-cp1选择的用户面节点及数量仅为示例),这样做的目的在于可以使得f-up11和f-up12通过f-up21、f-up22、f-up23来进行分流或优化传输。

例如,当f-up11与f-up11的下一级用户面节点之间的距离较远,而f-up11的下一级用户面节点的数量非常多时,如果由f-up11直接将mbs业务数据传输给f-up11的下一级用户面节点,那么这种传输效率非常低。而通过在f-up11与f-up11的下一级用户面节点之间引入诸如f-up21、f-up22等,则可以由f-up11将mbs业务数据通过f-uf21发送给下一级用户面节点,这样可以有效提升数据传输效率。

以下介绍步骤s2204a、步骤s2204b和步骤s2204c:

步骤s2204a,f-cp1向f-up21发送用户面mbs会话建立请求,f-up21向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述。在步骤s2204a中f-up21还分配了一个向f-up21的子用户面节点传输mbs业务数据的新的ip多播传输地址,该实施例中标识为ip4。并且,如果f-up21不支持接收f-up11通过多播方式发送的mbs业务数据,那么f-up21会分配一个f-teid来通过点对点的方式从f-up11接收mbs业务数据。

步骤s2204b,f-cp1向f-up22发送用户面mbs会话建立请求,f-up22向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述。步骤s2104b中f-up22还分配了一个向f-up22的子用户面节点传输mbs业务数据的新的ip多播传输地址,该实施例中标识为ip5。并且,如果f-up22不支持接收f-up11通过多播方式发送的mbs业务数据,那么f-up22会分配一个f-teid来通过点对点的方式从f-up11接收mbs业务数据。

需要说明的是,在本申请的一个实施例中,步骤s2204a和步骤s2204b中的用户面mbs会话建立请求包含的mbsipmulticastdistribution中的多播传输地址为步骤s2202a中的多播传输地址ip2。

步骤s2204c,f-cp1向f-up23发送用户面mbs会话建立请求,f-up23向f-cp1反馈用户面mbs会话建立响应。同时,f-up23还分配了一个向f-up23的子用户面节点传输mbs业务数据的新的ip多播传输地址,该实施例中标识为ip6。该过程与前述实施例中步骤s1502的过程类似,不再赘述。

在本申请的一个实施例中,步骤s2204c中的用户面mbs会话建立请求包含的mbsipmulticastdistribution中的多播传输地址为步骤s2202b中的多播传输地址ip3。其中,步骤s2204c中确定的新的多播传输地址是f-up23分配给f-up23的子用户面节点的(即图22中的s-up31和s-up32)ip6。并且,如果f-up23不支持接收f-up12通过多播方式发送的mbs业务数据,那么f-up23会分配一个f-teid来通过点对点的方式从f-up12接收mbs业务数据。

步骤s2205a,若f-up21与f-up22支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip2对应的多播传输组中,以接收f-up11发送的mbs业务数据。

步骤s2205b,若f-up23支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip3对应的多播传输组中,以接收f-up12发送的mbs业务数据。

步骤s2206a,若f-up21和f-up22中有不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的用户面节点,则f-cp1向f-up11发送用户面mbs会话修改请求,f-up11向f-cp1反馈用户面mbs会话修改响应。其中,该用户面mbs会话修改请求中包含有f-up21和f-up22中不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的用户面节点分配的f-teid,以指示f-up11增加使用点对点的方式向f-up21和f-up22中不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的用户面节点传送mbs业务数据。

需要说明的是:若f-cp1没有为f-up11分配下级用户面节点,则f-cp1向f-up11发送用户面mbs会话删除请求,f-up11在接收到该用户面mbs会话删除请求之后,发出igmpleave数据包,并从f-up11的父用户面节点分配的多播传输地址ip1指示的多播传输组中退出,并且f-up11向f-cp1回复用户面mbs会话删除响应(此过程未在图中标识)。

步骤s2206b,若f-up23不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则f-cp1向f-up12发送用户面mbs会话修改请求,f-up12向f-cp1反馈用户面mbs会话修改响应。其中,该用户面mbs会话修改请求中包含有f-up23分配的f-teid,以指示f-up12通过点对点的方式向f-up23传送mbs业务数据。

需要说明的是:若f-cp1没有为f-up12分配下级用户面节点,则f-cp1向f-up12发送用户面mbs会话删除请求,f-up12在接收到该用户面mbs会话删除请求之后,发出igmpleave数据包,并从f-up12的父用户面节点分配的多播传输地址ip1指示的多播传输组中退出,并且f-up12向f-cp1回复用户面mbs会话删除响应(此过程未在图中标识)。

步骤s2207,f-cp1根据f-cp1的子控制面节点的信息,向f-cp1的子控制面节点s-cp1发送mbs会话开始请求。

f-cp1发送给f-cp1的子控制面节点s-cp1的mbs会话开始请求中包含了如下参数:tmgi、mbssessionduration、mbsqfis、qosprofile、mbstimetodatatransfer、listof{f-upid,mbs传输信息}、mbsservicearea。其中,mbs传输信息即为mbsipmulticastdistribution(ipmulticastdistributionaddress,c-teid)。在该实施例中,listof{f-upid,mbs传输信息}中包含了f-up21id及f-up21id对应的mbsipmulticastdistribution,以及f-up22id及f-up22id对应的mbsipmulticastdistribution。f-up21id对应的mbsipmulticastdistribution是f-up21所分配的,其中包含的ip多播传输地址即为步骤s2204a中由f-up21分配的新的ip多播传输地址ip4;f-up22id对应的mbsipmulticastdistribution是f-up22所分配的,其中包含的ip多播传输地址即为步骤s2204b中由f-up22分配的新的ip多播传输地址ip5,且步骤s2204a中由f-up21分配的新的ip多播传输地址ip4和步骤s2204b中由f-up22分配的新的ip多播传输地址ip5不相同。

步骤s2208,s-cp1在接收到f-cp1发送的mbs会话开始请求之后,进行用户面mbs会话建立过程。具体地,s-cp1根据s-cp1的子控制面节点的信息从多个s-up中为f-up21选择一个或多个s-up,以及为f-up22选择若干个s-up,该实施例中假定为f-up21选取了s-up11与s-up12,为f-up22没有选择子用户面节点。然后s-cp1分别向s-up11与s-up12发送用户面mbs会话建立请求,并接收s-up11与s-up12分别反馈的用户面mbs会话建立响应。同时如果s-up11与s-up12支持接收多播传输,则可以加入f-up21在步骤s2204a中分配的新的ip多播传输地址ip4对应的多播传输组来接收f-up21发送的mbs业务数据;如果s-up11与s-up12中的一些子用户面节点不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则s-up11与s-up12中不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据的用户面节点可以分配f-teid来通过点对点的方式接收f-up21发送的mbs业务数据,具体过程与步骤s1505a及步骤s1506类似,不再赘述。

步骤s2209,s-cp1向f-cp1发送mbs会话开始响应。若有s-up不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则mbs会话开始响应中包含此s-up分配的f-teid,且对应于f-up,从而形成一个listof{f-upid,listoff-teidsup,multicastenable}。在该实施例中,listof{f-upid,listoff-teidsup,multicastenable}包含了针对f-up21的listoff-teidsup和multicastenable,以及针对f-up22的listoff-teidsup和multicastenable。由于s-cp1没有为f-up22选择子用户面节点,因此针对f-up22的listoff-teidsup中不包含任何f-teid,且针对f-up22的multicastenable值为disable。或者s-cp1向f-cp1发送的mbs会话开始响应中没有针对f-up22的listoff-teidsup,且针对f-up22的multicastenable值为disable。当然,s-cp1也可以通过mbs会话开始响应中返回failurecode(比如failedlist{f-up22})来指示未向f-up22选择子用户面节点。

类似于步骤s1507,由于有些s-up支持接收基于多播方式传输的数据,而另外一些s-up不支持接收基于多播方式传输的数据,所以针对f-up21的listf-teidsup只是对应于那些不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的s-up,其它说明参照步骤s1507的相关内容。

步骤s2210a,f-cp1根据s-cp1反馈的mbs会话开始响应中包含的listof{f-upid,listoff-teidsup,multicastenable}向f-up21发送用户面mbs会话修改请求,f-up21向f-cp1反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

需要说明的是:若f-cp1确定f-up21没有被分配任何的下级用户面节点,则f-cp1向f-up21发送用户面mbs会话删除请求,f-up21在接收到该用户面mbs会话删除请求之后,发出igmpleave数据包,并从f-up11分配的多播传输地址ip2指示的多播传输组中退出,并且f-up21向f-cp1回复用户面mbs会话删除响应(此过程未在图中标识)。

步骤s2210b,f-cp1在收到f-cp1的所有子控制面节点回复的mbs会话开始响应之后,确定f-cp1的所有子控制面节点没有为f-up22选择子用户面节点,则f-cp1向f-up22发送用户面mbs会话删除请求,f-up22在接收到该用户面mbs会话删除请求之后,发出igmpleave数据包,从f-up11分配的多播传输地址ip2指示的多播传输组中删除,并且f-up22向f-cp1回复用户面mbs会话删除响应。

步骤s2211,f-cp1根据f-cp1的子控制面节点的信息,向f-cp1的子控制面节点s-cp2发送mbs会话开始请求。

f-cp1发送给f-cp1的子控制面节点s-cp2的mbs会话开始请求中包含了如下参数:tmgi、mbssessionduration、mbsqfis、qosprofile、mbstimetodatatransfer、listof{f-upid,mbs传输信息}、mbsservicearea。其中,mbs传输信息即为mbsipmulticastdistribution(ipmulticastdistributionaddress,c-teid)。在该实施例中,listof{f-upid,mbs传输信息}中包含了f-up23id及f-up23id对应的mbsipmulticastdistribution。f-up23id对应的mbsipmulticastdistribution是f-up23所分配的,其中包含的ip多播传输地址即为步骤s2204c中由f-up23分配的新的ip多播传输地址ip6。

需要说明的是:步骤s2211与步骤s2207之间并没有先后关系,它们可以是f-cp1并行分别执行的步骤。

步骤s2212,s-cp2在接收到f-cp1发送的mbs会话开始请求之后,进行用户面mbs会话建立过程。具体地,s-cp2根据s-cp2的子控制面节点的信息从多个s-up中为f-up23选择一个或多个s-up,该实施例中假定为f-up23选取了s-up31与s-up32,即为f-up23选取的子用户面节点与为f-up21和f-up22选择的子用户面节点不相同。然后s-cp2分别向为f-up23选择的子用户面节点(即s-up31与s-up32)发送用户面mbs会话建立请求,并接收s-up31与s-up32分别反馈的用户面mbs会话建立响应。同时,如果s-up31与s-up32支持接收多播传输,则可以加入步骤s2204c中由f-up23分配的新的ip多播传输地址ip6对应的多播传输组来接收f-up23发送的mbs业务数据;如果s-up31与s-up32中的一些子用户面节点不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则s-up31与s-up32中不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据的子用户面节点可以分配f-teid来通过点对点的方式接收f-up23发送的mbs业务数据,具体过程与步骤s1505a及步骤s1506类似,不再赘述。

步骤s2213,s-cp2向f-cp1发送mbs会话开始响应。若s-up31与s-up32中有s-up不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则mbs会话开始响应中包含此s-up分配的f-teid,且对应于f-up,从而形成一个listof{f-upid,listoff-teidsup,multicastenable}。在该实施例中,listof{f-upid,listoff-teidsup,multicastenable}包含了针对f-up23的listoff-teidsup和multicastenable。

类似于步骤s1507,由于有些s-up支持接收基于多播方式传输的数据,而另外一些s-up不支持接收基于多播方式传输的数据,所以这个listf-teidsup只是对应于那些不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的s-up。因此,当一个f-up的所有s-up都支持接收基于多播方式传输的数据,则对应于这个f-up的listoff-teidsup就没有了,其它说明参照步骤s1507的相关内容。

此外,当s-cp2决定不向其中某个/某些f-upid分配任何的子用户面节点时,则可以将这个/这些f-upid对应的multicastenable设置为disable。当然,也可以在mbs会话开始响应中采用failedlist{f-up}来指示没有被分配子用户面节点的f-up。

步骤s2214,f-cp1根据s-cp2反馈的mbs会话开始响应中包含的listof{f-upid,listoff-teidsup,multicastenable}向f-up23发送用户面mbs会话修改请求,f-up23向f-cp1反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

需要说明的是:若f-cp1确定f-up23没有被分配任何的下级用户面节点,则f-cp1向f-up23发送用户面mbs会话删除请求,f-up23在接收到该用户面mbs会话删除请求之后,发出igmpleave数据包,并从f-up12分配的多播传输地址ip3指示的多播传输组中退出,并且f-up23向f-cp1回复用户面mbs会话删除响应(此过程未在图中标识)。

步骤s2215,当f-cp1接收到所有s-cp反馈的mbs会话开始响应之后,f-cp1根据所有s-cp反馈的mbs会话开始响应向f-cp1的父控制面节点发送mbs会话开始响应。

类似于步骤s1609,f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中包含有upid(该upid是与f-cp1的父控制面节点同级的用户面节点的标识),并且可能还包含有listoff-teidfup和multicastenable。

通过步骤s2201至步骤s2215可知,在本申请的实施例中,f-cp1有两个子控制面节点s-cp1和s-cp2,f-cp1为f-up11选择了下一级用户面节点f-up21和f-up22,f-cp1为f-up12选择了下一级用户面节点f-up23,同时s-cp1为f-up21选择了子用户面节点s-up11和s-up12,s-cp2为f-up23选择了子用户面节点s-up31和s-up32。同时,由于s-cp1没有为f-up22选择子用户面节点,因此需要将f-up22从用户面mbs传输树中删除。

需要说明的是:在用户面mbs会话建立过程中,可能存在着一个用户面节点同时被两个控制面节点发送用户面mbs会话建立请求消息,或已经被一个控制面节点选择后又接收到另一个控制面节点发送的用户面mbs会话建立请求消息。如果一个用户面节点同时收到两个控制面节点(当然也可以是更多个,此处以两个为例进行说明)发送的用户面mbs会话建立请求消息,那么该用户面节点可以在用户面mbs会话建立响应消息中正常响应其中一个控制面节点发送的用户面mbs会话建立请求,并且在另一个用户面mbs会话建立响应消息中拒绝(reject)另外一个控制面节点,以指示此用户面节点已经被选择。如果一个用户面节点通过一个控制面节点已经有了父用户面节点后,又收到另外一个控制面节点发送的用户面mbs会话建立请求消息时,则在另一个用户面mbs会话建立响应消息中reject该另外一个控制面节点,以指示此用户面节点已经被选择。

当这种mbs会话传输树建立完成之后,可以执行如下步骤:

步骤s2216a,f-up11接收到f-up11的父用户面节点发送的下行mbs业务数据。然后通过步骤s2217a将接收到的该下行mbs业务数据传输给f-up21。f-up21通过步骤s2218a将接收到的该下行mbs业务数据传输给s-up11和s-up12。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

步骤s2216b,f-up12接收到f-up12的父用户面节点发送的下行mbs业务数据。然后通过步骤s2217c将接收到的该下行mbs业务数据传输给f-up23,f-up23通过步骤s2218c将接收到的该下行mbs业务数据传输给s-up31和s-up32。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

此外,在标准ts23.501的5.3.4.2.2章节定义了非漫游情形下的一个或多个i-smf与一个或多个i-upf(intermediate-upf,中间用户面功能实体)参与到一个pdu会话的架构。对于一个非漫游的pdu会话,只有一个smf。若有多个smf,则控制psa的smf为了保持与规范的一致性,仍然称之为smf,其它的smf称为i-smf。其中,被smf控制的upf的命名不变,仍然称之为upf,而被i-smf控制的upf称为i-upf。

在该情形下,本申请的实施例提出了可以由i-smf及i-upf参与到mbs会话中,具体建立用户面mbs传输树的过程可以参照图23所示,包括如下步骤:

步骤s2301,f-cp1接收到f-cp1的父控制面节点发送的mbs会话开始请求。具体过程与前述步骤s1501类似,不再赘述。其中,该mbs会话开始请求中的mbsipmulticastdistribution包含的ip多播传输地址记为ip1。

f-cp1在接收到f-cp1的父控制面节点发送的mbs会话开始请求之后,可以根据f-cp1的子控制面节点的信息确定从多个f-upf中选取一个或多个f-upf作为与f-cp1同级的用户面节点,该实施例中假定选取了两个用户面节点,记为f-up11和f-up12。然后分别执行步骤s2302a和步骤s2302b。

步骤s2302a,f-cp1向f-up11发送用户面mbs会话建立请求,f-up11向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述,其中步骤s2302a中f-up11分配的ip多播传输地址记为ip2。

步骤s2302b,f-cp1向f-up12发送用户面mbs会话建立请求,f-up12向f-cp1反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述,其中步骤s2302b中f-up12分配的ip多播传输地址记为ip3。

步骤s2303,若f-up11与f-up12支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip1对应的多播传输组中,以接收f-up11与f-up12的父用户面节点发送的mbs业务数据。

之后,f-cp1根据f-cp1的子控制面节点(通常是nr基站)的服务区域信息确定f-cp1管理的upf与f-cp1的子控制面节点管理的upf不能直接建立传输通路,则f-cp1选择一个i-smf,其中选择出的i-smf能够与f-cp1和f-cp1的子控制面节点进行通信。该实施例中,假设选择了一个i-smf,之后执行步骤s2304。

步骤s2304,f-cp1向i-smf发送mbs会话开始请求(即nscp_mbssessionstartrequest)。

f-cp1发送给i-smf的mbs会话开始请求中包含了如下参数:tmgi、mbssessionduration、listofs-cp、mbsqfis、qosprofile、mbstimetodatatransfer、listof{f-upid,mbs传输信息}、mbsservicearea。f-cp1之所以在发送给i-smf的mbs会话开始请求中包含有f-cp1提供的子控制面节点信息listofs-cp,主要是因为i-smf是被f-cp1动态选择后加入到mbs业务管理的,i-smf没有任何mbsuecontext(对于mbs多播业务而言)或用户面节点的信息。在该实施例中,listof{f-upid,mbstransportinformation}只包含了f-up11的id及f-up11id对应的mbsipmulticastdistribution。f-up11id对应的mbsipmulticastdistribution是f-up11所分配的,其中包含了步骤s2302a中f-up11分配的新的ip多播传输地址ip2和c-teid。

i-smf在接收到mbs会话开始请求之后,基于接收到的mbs会话开始请求,根据查询或网络匹配的f-cp1的服务区域及f-cp1提供的listofs-cp的服务区域,确定并选择i-upf11、i-upf12、i-upf21、i-upf22。然后执行步骤s2305a和步骤s2305b。

步骤s2305a,i-smf分别向i-upf11和i-upf12发送用户面mbs会话建立请求,i-upf11和i-upf12分别向i-smf反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述。其中,步骤s2305a中i-upf11和i-upf12分别分配了新的ip多播传输地址,该实施例中分别记为ip4和ip5,i-upf11分配的新的ip多播传输地址ip4是用于向i-upf11的下级用户面节点(即图23中的i-upf21)传输mbs业务数据的;i-upf12分配的新的ip多播传输地址ip5是用于向i-upf12的下级用户面节点(即图23中的i-upf22)传输mbs业务数据的。并且,如果i-upf11不支持接收f-up11通过多播方式发送的mbs业务数据,那么i-upf11会分配一个f-teid来通过点对点的方式从f-up11接收mbs业务数据;类似地,如果i-upf12不支持接收f-up11通过多播方式发送的mbs业务数据,那么i-upf12会分配一个f-teid来通过点对点的方式从f-up11接收mbs业务数据。

步骤s2305b,i-smf分别向i-upf21和i-upf22发送用户面mbs会话建立请求,i-upf21和i-upf22分别向i-smf反馈用户面mbs会话建立响应。该过程与前述实施例中步骤s1502的过程类似,不再赘述。其中,步骤s2305a中i-upf21和i-upf22分别分配了新的ip多播传输地址,该实施例中分别记为ip6和ip7,i-upf21分配的新的ip多播传输地址ip6是用于向i-upf21的子用户面节点(即图23中的s-up11和s-up12)传输mbs业务数据的;i-upf22分配的新的ip多播传输地址ip7是用于向i-upf22的子用户面节点(即图23中的s-up21和s-up22)传输mbs业务数据的。并且,如果i-upf21不支持接收i-upf11通过多播方式发送的mbs业务数据,那么i-upf21会分配一个f-teid来通过点对点的方式从i-upf11接收mbs业务数据;类似地,如果i-upf22不支持接收i-upf12通过多播方式发送的mbs业务数据,那么i-upf22会分配一个f-teid来通过点对点的方式从i-upf12接收mbs业务数据。

需要说明的是,在本申请的一个实施例中,步骤s2305a中的用户面mbs会话建立请求包含的mbsipmulticastdistribution中的ip多播传输地址为步骤s2302a中f-up11分配的ip多播传输地址ip2。而步骤s2305b中针对i-upf21和i-upf22的用户面mbs会话建立请求包含的mbsipmulticastdistribution中的ip多播传输地址分别为步骤s2305a中i-upf11和i-upf12分配的ip多播传输地址ip4和ip5(ip4与ip5不相同)。且图23中由于版面原因,将i-upf11和i-upf12画在了一起,将i-upf21和i-upf22画在了一起,并将s-up11和s-up12画在了一起,将s-up21和s-up22画在了一起。

步骤s2306a,若i-upf11和i-upf12支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip2对应的多播传输组中,以接收f-up11发送的mbs业务数据。

步骤s2306b,若i-upf21支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip4对应的多播传输组中,以接收i-upf11发送的mbs业务数据。若i-upf22支持接收基于多播方式传输的数据,则申请加入ip多播传输地址ip5对应的多播传输组中,以接收i-upf12发送的mbs业务数据。

步骤s2307,i-smf向f-cp1提供的子控制面节点s-cp1发送mbs会话开始请求。

i-smf发送给s-cp1的mbs会话开始请求中包含了如下参数:tmgi、mbsqfis、qosprofile、listof{i-upfid,mbs传输信息}、mbsservicearea。在该实施例中,listof{i-upfid,mbs传输信息}中包含了i-upf21、i-upf22分别对应的id,以及i-upf21、i-upf22分别对应的mbs传输信息。i-upf21对应的mbs传输信息中包含的ip多播传输地址即为ip6、i-upf22对应的mbs传输信息中包含的ip多播传输地址即为ip7,且ip6和ip7不相同。

步骤s2308,s-cp1在接收到i-smf发送的mbs会话开始请求之后,进行用户面mbs会话建立过程。具体地,s-cp1从多个s-up中为i-upf21选择一个或多个s-up,以及为i-upf22选择一个或多个s-up,该实施例中假定s-cp1为i-upf21选择了s-up11和s-up12,为i-upf22选择了s-up21和s-up22。然后s-cp1分别向s-up11、s-up12、s-up21和s-up22发送用户面mbs会话建立请求,并接收s-up11、s-up12、s-up21和s-up22分别反馈的用户面mbs会话建立响应。同时,如果s-up11和s-up12支持接收基于多播方式传输的数据,则可以加入i-upf21分配的ip多播传输地址ip6对应的多播传输组来接收i-upf21发送的mbs业务数据;如果s-up21和s-up22支持接收多播传输,则可以加入i-upf22分配的ip多播传输地址ip7对应的多播传输组来接收i-upf22发送的mbs业务数据,具体过程与步骤s1505a及步骤s1506类似,不再赘述。

步骤s2309,s-cp1向i-smf发送mbs会话开始响应。若s-up11、s-up12、s-up21和s-up22中有s-up不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则s-cp1向i-smf发送的mbs会话开始响应中包含此s-up分配的f-teid,且对应于相应的i-upf,从而形成一个listof{i-upfid,listoff-teidsup,multicastenable}。在该实施例中,listof{i-upfid,listoff-teidsup,multicastenable}包含了分别针对i-upf21、i-upf22的listoff-teidsup和multicastenable。

类似于步骤s1507,由于有些s-up支持接收基于多播方式传输的数据,而另外一些s-up不支持接收基于多播方式传输的数据,所以这个listf-teidsup只是对应于那些不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的s-up,其它说明参照步骤s1507的相关内容。

此外,当s-cp1决定不向其中某个/某些i-upfid分配任何的子用户面节点时,则可以将这个/这些i-upfid对应的multicastenable设置为disable。当然,也可以在mbs会话开始响应中采用failedlist{i-upf}来指示没有被分配子用户面节点的i-upf。

步骤s2310a,i-smf根据s-cp1反馈的mbs会话开始响应中包含的listof{i-upfid,listoff-teidsup,multicastenable}向i-upf21/22发送用户面mbs会话修改请求,i-upf21/22向i-smf反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

需要说明的是:若i-smf确定i-upf21没有被分配任何的下级用户面节点,则i-smf向i-upf21发送用户面mbs会话删除请求,i-upf21在接收到该用户面mbs会话删除请求之后,发出igmpleave数据包,从i-upf11分配的多播传输地址ip4指示的多播传输组中退出,并且i-upf21向i-smf回复用户面mbs会话删除响应(此过程未在图中标识)。

若i-smf确定i-upf22没有被分配任何的下级用户面节点,则i-smf向i-upf22发送用户面mbs会话删除请求,i-upf22在接收到该用户面mbs会话删除请求之后,发出igmpleave数据包,从i-upf12分配的多播传输地址ip5指示的多播传输组中退出,并且i-upf22向i-smf回复用户面mbs会话删除响应(此过程未在图中标识)。

步骤s2310b,如果i-smf根据在步骤s2305b中与i-upf21和i-upf22建立mbs会话过程中确定i-upf21不支持通过多播方式、但支持通过点对点方式接收i-upf11发送的mbs业务数据,则向i-upf11发送用户面mbs会话修改请求,i-upf11向i-smf反馈用户面mbs会话修改响应。类似地,如果i-smf根据在步骤s2305b中与i-upf21和i-upf22建立mbs会话过程中确定i-upf22不支持通过多播方式、但支持通过点对点方式接收i-upf12发送的mbs业务数据,则向i-upf12发送用户面mbs会话修改请求,i-upf12向i-smf反馈用户面mbs会话修改响应。

需要说明的是:若i-smf没有向i-upf11或i-upf12分配任何的下级用户面节点,则i-smf向i-upf11或i-upf12发送用户面mbs会话删除请求,i-upf11或i-upf12在接收到该用户面mbs会话删除请求之后,发出igmpleave数据包,从f-up11分配的多播传输地址ip2指示的多播传输组中退出,并且i-upf11或i-upf12向i-smf回复用户面mbs会话删除响应(此过程未在图中标识)。

步骤s2311,i-smf向f-cp1发送mbs会话开始响应。若i-upf11、i-upf12中有i-upf不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则i-smf向f-cp1发送的mbs会话开始响应中包含此i-upf分配的f-teid,且对应于f-up11,从而形成一个listof{f-upid,listoff-teidiupf,multicastenable}。在该实施例中,listof{f-upid,listoff-teidiupf,multicastenable}包含了针对f-up11的listoff-teidiufp和multicastenable。

类似于步骤s1507,由于有些i-upf支持接收基于多播方式传输的数据,而另外一些i-upf不支持接收基于多播方式传输的数据,所以这个listf-teidiupf只是对应于那些不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的i-upf,其它说明参照步骤s1507的相关内容。

步骤s2312,若i-upf11、i-upf12中有不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的i-upf,则f-cp1向f-up11发送用户面mbs会话修改请求,f-up11向f-cp1反馈用户面mbs会话修改响应。其中,f-cp1向f-up11发送的用户面mbs会话修改请求中包含有i-upf11、i-upf12中不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的i-upf的f-teid,以指示f-up11增加使用点对点的方式向i-upf11、i-upf12中不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的i-upf传送mbs业务数据。

需要说明的是:若f-cp1确定f-up11没有被分配任何的下级用户面节点,则f-cp1向f-up11发送用户面mbs会话删除请求,f-up11在接收到该用户面mbs会话删除请求之后,发出igmpleave数据包,并从f-up11的父用户面节点分配的多播传输地址ip1指示的多播传输组中退出,并且f-up11向f-cp1回复用户面mbs会话删除响应(此过程未在图中标识)。

步骤s2313,f-cp1根据f-cp1的子控制面节点的信息,向f-cp1的子控制面节点s-cp2发送mbs会话开始请求。

f-cp1发送给f-cp1的子控制面节点s-cp2的mbs会话开始请求中包含了如下参数:tmgi、mbssessionduration、mbsqfis、qosprofile、mbstimetodatatransfer、listof{f-upid,mbs传输信息}、mbsservicearea。其中,mbs传输信息即为mbsipmulticastdistribution(ipmulticastdistributionaddress,c-teid)。在该实施例中,listof{f-upid,mbs传输信息}中包含了f-up12id及f-up12id对应的mbsipmulticastdistribution。f-up12id对应的mbsipmulticastdistribution是f-up12所分配的,其中包含的ip多播传输地址即为步骤s2302b中由f-up12分配的新的ip多播传输地址ip3。

需要说明的是:步骤s2313与步骤s2304之间并没有先后关系,它们可以是f-cp1并行分别执行的步骤。

步骤s2314,s-cp2在接收到f-cp1发送的mbs会话开始请求之后,进行用户面mbs会话建立过程。具体地,s-cp2根据s-cp2的子控制面节点的信息从多个s-up中为f-up12选择一个或多个s-up,该实施例中假定为f-up12选取了s-up31与s-up32。然后s-cp2分别向s-up31与s-up32发送用户面mbs会话建立请求,并接收s-up31与s-up32分别反馈的用户面mbs会话建立响应,同时如果s-up31与s-up32支持接收多播传输,则可以加入步骤s2302b中由f-up12分配的新的ip多播传输地址ip3对应的多播传输组来接收f-up12发送的mbs业务数据;如果s-up31与s-up32中的一些子用户面节点不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则s-up31与s-up32中不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据的子用户面节点可以分配f-teid来通过点对点的方式接收f-up12发送的mbs业务数据,具体过程与步骤s1505a及步骤s1506类似,不再赘述。

步骤s2315,s-cp2向f-cp1发送mbs会话开始响应。若s-up31与s-up32中有s-up不支持接收基于多播方式传输的数据、但支持使用点对点方式接收mbs业务数据,则s-cp2向f-cp1发送的mbs会话开始响应中包含此s-up分配的f-teid,且对应于f-up,从而形成一个listof{f-upid,listoff-teidsup,multicastenable}。在该实施例中,listof{f-upid,listoff-teidsup,multicastenable}包含了针对f-up12的listoff-teidsup和multicastenable。

类似于步骤s1507,由于有些s-up支持接收基于多播方式传输的数据,而另外一些s-up不支持接收基于多播方式传输的数据,所以这个listf-teidsup只是对应于那些不支持接收多播传输、但支持使用点对点方式接收mbs业务数据的s-up,其它说明参照步骤s1507的相关内容。

步骤s2316,f-cp1根据s-cp2反馈的mbs会话开始响应中包含的listof{f-upid,listoff-teidsup,multicastenable}向f-up12发送用户面mbs会话修改请求,f-up12向f-cp1反馈用户面mbs会话修改响应。该步骤的具体说明与前述步骤s1508类似,不再赘述。

需要说明的是:若f-cp1确定f-up12没有被分配任何的下级用户面节点,则f-cp1向f-up12发送用户面mbs会话删除请求,f-up12在接收到该用户面mbs会话删除请求之后,发出igmpleave数据包,并从f-up12的父用户面节点分配的多播传输地址ip1指示的多播传输组中退出,并且f-up12向f-cp1回复用户面mbs会话删除响应(此过程未在图中标识)。

步骤s2317,当f-cp1接收到f-cp1的所有子控制面节点反馈的mbs会话开始响应之后,f-cp1根据f-cp1的所有子控制面节点反馈的mbs会话开始响应向f-cp1的父控制面节点发送mbs会话开始响应。

类似于步骤s1609,f-cp1向f-cp1的父控制面节点回复的mbs会话开始响应中包含有upid(该upid是与f-cp1的父控制面节点同级的用户面节点的标识),并且可能还包含有listoff-teidfup和multicastenable。

通过步骤s2301至步骤s2315可知,在本申请的实施例中,f-cp1有两个子控制面节点s-cp1和s-cp2,f-cp1选择了i-smf,i-smf选择了第一级的中间用户面节点i-upf11和i-upf12,并选择了第二级的中间用户面节点i-upf21、i-upf22。同时s-cp1为i-upf21选择了s-up11和s-up12、为i-upf22选择了s-up21和s-up22;s-cp2为f-up12选择了s-up31和s-up32。

需要说明的是:在用户面mbs会话建立过程中,可能存在着一个中间用户面节点同时接收到两个用户面mbs会话建立请求的情况(当然也可以是更多个,此处以两个为例进行说明),比如同一个i-smf发送了两个用户面mbs会话建立请求(对应于不同的控制面节点选择同一个i-smf的情况),或者两个不同的i-smf分别发送了一个用户面mbs会话建立请求(对应于不同的控制面节点选择不同的i-smf的情况),在这种情况下,中间用户面节点可以正常响应其中一个用户面mbs会话建立请求,而在针对另一个用户面mbs会话建立请求的响应消息中拒绝(reject)另外一个控制面节点,以指示此用户面节点已经被选择。

如果一个中间用户面节点通过一个用户面mbs会话建立请求已经有了父用户面节点后,又收到另外一个用户面mbs会话建立请求时,则在针对该另一个用户面mbs会话建立请求的响应消息中reject另外一个控制面节点,以指示此用户面节点已经被选择。

当这种mbs会话传输树建立完成之后,可以执行如下步骤:

步骤s2318a,f-up11接收到f-up11的父用户面节点发送的下行mbs业务数据。然后通过步骤s2319a将接收到的该下行mbs业务数据传输给i-upf11和i-upf12,i-upf11将f-up11发送的下行mbs业务数据传输给i-upf21,i-upf12将f-up11发送的下行mbs业务数据传输给i-upf22。i-upf21将接收到的下行mbs业务数据传输给s-up11和i-upf12,i-upf22将接收到的下行mbs业务数据传输给s-up21和i-upf22。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

步骤s2318b,f-up12接收到f-up12的父用户面节点发送的下行mbs业务数据。然后通过步骤s2319b将接收到的该下行mbs业务数据传输给s-up31和s-up32。其中,各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来传送mbs业务数据,同时各个用户面节点以前面步骤所确定的多播传输方式或点对点传输方式来接收mbs业务数据。

在本申请上述实施例的技术方案中,用f-cp表示父控制面节点,f-up表示父用户面节点,s-cp表示子控制面节点,s-up表示子用户面节点。在图10所示的系统架构中,可以用f-cp代替smf、用f-up代替upf,在这种情况下,s-cp与s-up联合起来代替接入网节点。

在图11所示的系统架构中,可以用f-cp代替mbsf、用f-up代替mbsu时,在这种情况下,可以用s-cp代替mb-smf、用s-up代替mb-upf。或者可以用f-cp代替mb-smf、用f-up代替mb-upf,在这种情况下,s-cp与s-up联合起来代替ng-ran。

需要说明的是:图10和图11示出了两个5gmbs的基本架构图,在该基本架构图中可以进行增强处理,比如对于图10所示的架构,可以出现多个upf、多个smf;对于图11所示的架构,mb-smf与mb-upf也可分别出现多个。当出现额外的upf或mb-upf时,可以采用图21或图22所示的技术方案来建立用户面mbs会话树;当出现额外的mb-smf或smf时(此时,必须要出现额外的upf),可以采用图23所示的技术方案来建立用户面mbs会话树。

本申请上述实施例的技术方案实现了用户面mbs会话建立过程,可以防止出现用户面mbs会话的传输环,并避免用户面mbs会话传输树中出现断枝的问题。同时可以解决用户面mbs会话建立过程中控制面与用户面分离时,同一个父控制面同时提供多个父用户面节点的问题。此外可以实现同一个控制面节点通过管理不同的用户面节点来形成父与子的传输,优化了用户面传输资源,并且可以在用户面mbs会话建立过程中父用户面节点与基站之间无法建立直接连接的用户面传输时,发现并插入i-smf及i-upf,以完成用户面传输树的建立,有效实现了用户面传输资源的优化。

以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的多播广播业务的通信方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的多播广播业务的通信方法的实施例。

图24示出了根据本申请的一个实施例的多播广播业务的通信装置的框图,该多播广播业务的通信装置可以设置在i-smf内。

参照图24所示,根据本申请的一个实施例的多播广播业务的通信装置2400,包括:第一接收单元2402、选择单元2404、第一交互单元2406、第二交互单元2408和第三交互单元2410。

其中,第一接收单元2402配置为接收mbs会话传输树中的第i级控制面节点发送的第一mbs会话开始请求,所述第一mbs会话开始请求中包含有所述第i级控制面节点提供的子控制面节点的信息、所述第i级控制面节点选择的第i级用户面节点的标识信息、所述第i级用户面节点分配的第一mbsip多播传输地址与用于通过多播方式传输mbs业务数据的第一c-teid;选择单元2404配置为根据所述第i级控制面节点的信息及所述第i级控制面节点提供的子控制面节点的信息选择能够与所述第i级用户面节点建立连接的第一用户面节点,以及与所述第一用户面节点和所述子控制面节点管理的用户面功能实体均能够建立连接的第二用户面节点;第一交互单元2406配置为向所述第一用户面节点发送第一用户面mbs会话建立请求,并接收所述第一用户面节点反馈的第一用户面mbs会话建立响应,所述第一用户面mbs会话建立请求中包含有所述第一mbsip多播传输地址和第一c-teid,所述第一mbsip多播传输地址用于使所述第一用户面节点加入所述第一mbsip多播传输地址对应的多播传输组来接收所述第i级用户面节点通过多播方式发送的mbs业务数据;第二交互单元2408配置为向所述第二用户面节点发送第二用户面mbs会话建立请求,并接收所述第二用户面节点反馈的第二用户面mbs会话建立响应,所述第二用户面mbs会话建立请求中包含有所述第一用户面节点分配的第二mbsip多播传输地址和第二c-teid,所述第二mbsip多播传输地址用于使所述第二用户面节点加入所述第二mbsip多播传输地址对应的多播传输组来接收所述第一用户面节点通过多播方式发送的mbs业务数据;第三交互单元2410配置为向所述第i级控制面节点提供的子控制面节点发送第二mbs会话开始请求,以指示所述第i级控制面节点提供的子控制面节点为所述第二用户面节点分配子用户面节点,所述第二mbs会话开始请求中包含有所述第二用户面节点分配的第三mbsip多播传输地址和第三c-teid,所述第三mbsip多播传输地址用于使所述子用户面节点加入所述第三mbsip多播传输地址对应的多播传输组来接收所述第二用户面节点通过多播方式发送的mbs业务数据。

在本申请的一些实施例中,基于前述方案,所述第一用户面mbs会话建立请求中包含有用于指示所述第一用户面节点分配新的mbsip多播分发信息的指示信息;所述第一用户面mbs会话建立响应中包含有所述第一用户面节点分配的所述第二mbsip多播传输地址和第二c-teid。

在本申请的一些实施例中,基于前述方案,若所述第一用户面节点不支持通过多播方式、但支持通过点对点方式接收所述第i级用户面节点的mbs业务数据,则所述第一用户面mbs会话建立请求中包含有请求为所述第一用户面节点分配f-teid的指示信息,所述第一用户面mbs会话建立响应中包含有所述第一用户面节点分配的f-teid,所述第一用户面节点分配的f-teid用于使所述第一用户面节点通过点对点的方式接收所述第i级用户面节点发送的mbs业务数据;或者

所述第一用户面mbs会话建立响应中指示所述第一用户面节点不支持通过多播方式、但支持通过点对点方式接收所述第i级用户面节点的mbs业务数据,并包含有所述第一用户面节点分配的f-teid。

在本申请的一些实施例中,基于前述方案,若所述第二用户面节点不支持通过多播方式、但支持通过点对点方式接收所述第一用户面节点的mbs业务数据,则所述第二用户面mbs会话建立请求中包含有请求为所述第二用户面节点分配f-teid的指示信息,所述第二用户面mbs会话建立响应中包含有所述第二用户面节点分配的f-teid,所述第二用户面节点分配的f-teid用于使所述第二用户面节点通过点对点的方式接收所述第一用户面节点发送的mbs业务数据;或者

所述第二用户面mbs会话建立响应中指示所述第二用户面节点不支持通过多播方式、但支持通过点对点方式接收所述第一用户面节点发送的mbs业务数据,并包含有所述第二用户面节点分配的f-teid。

在本申请的一些实施例中,基于前述方案,第一交互单元2406还配置为:在第二交互单元2408接收所述第二用户面节点反馈的第二用户面mbs会话建立响应之后,若有不支持通过多播方式、但支持通过点对点方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节点,则向所述第一用户面节点发送第一用户面mbs会话修改请求,所述第一用户面mbs会话修改请求中包含有不支持通过多播方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节所分配的f-teid,以使所述第一用户面节点通过点对点的方式向不支持通过多播方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节点传送mbs业务数据;

其中,若同时存在支持通过多播方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节点,则所述第一用户面mbs会话修改请求中还包含有启动多播方式传输的字段,以指示所述第一用户面节点同时使用多播传输方式向所述第二用户面节点发送mbs业务数据。

在本申请的一些实施例中,基于前述方案,第三交互单元2410还配置为:在向所述第i级控制面节点提供的子控制面节点发送第二mbs会话开始请求之后,接收所述子控制面节点针对所述第二mbs会话开始请求反馈的第二mbs会话开始响应,所述第二mbs会话开始响应中包含有第一指示信息;

其中,所述第一指示信息中包含有所述第二用户面节点的标识信息、第一f-teid列表信息和用于表示启动多播方式传输的第一字段信息,所述第一字段信息表示所述子控制面节点为所述第二用户面节点分配的子用户面节点中存在支持通过多播方式接收所述第二用户面节点发送的mbs业务数据的子用户面节点,所述第一f-teid列表信息包含有不支持通过多播方式、但支持通过点对点方式接收所述第二用户面节点发送的mbs业务数据的子用户面节点的f-teid;或者

所述第一指示信息包含有所述第二用户面节点的标识信息、且不包含所述第一f-teid列表信息和所述第一字段信息,则所述第一指示信息用于指示所述子控制面节点为所述第二用户面节点分配的子用户面节点均支持通过多播方式接收所述第二用户面节点发送的mbs业务数据;或者

所述第一指示信息包含有所述第二用户面节点的标识信息、所述第一f-teid列表信息,且不包含所述第一字段信息,则所述第一指示信息用于指示所述子控制面节点为所述第二用户面节点分配的子用户面节点均不支持通过多播方式、但支持通过点对点方式接收所述第二用户面节点发送的mbs业务数据;或者

所述第一指示信息包含有所述第二用户面节点的标识信息和停用多播传输的字段信息、且不包含所述第一f-teid列表信息,则所述第一指示信息用于指示所述子控制面节点没有为所述第二用户面节点分配子用户面节点。

在本申请的一些实施例中,基于前述方案,若选择了至少两个第二用户面节点,则所述第二mbs会话开始响应中包含有第一指示信息列表,所述第一指示信息列表中包含有所有第二用户面节点分别对应的所述第一指示信息。

在本申请的一些实施例中,基于前述方案,所述第二mbs会话开始响应中还包含有失败的标识信息列表,所述失败的标识信息列表用于指示未被分配子用户面节点的目标第二用户面节点。

在本申请的一些实施例中,基于前述方案,第二交互单元2408还配置为:若根据所述第二mbs会话开始响应确定存在未被分配子用户面节点的目标第二用户面节点,则向所述目标第二用户面节点发送用户面mbs会话删除请求。

在本申请的一些实施例中,基于前述方案,第二交互单元2408还配置为:接收所述目标第二用户面节点反馈的用户面mbs会话删除响应,所述用户面mbs会话删除响应是所述目标第二用户面节点在接收到所述用户面mbs会话删除请求之后发送的,其中,若所述目标第二用户面节点已加入所述第二mbsip多播传输地址对应的多播传输组中,则在接收到所述用户面mbs会话删除请求之后退出所述第二mbsip多播传输地址对应的多播传输组。

在本申请的一些实施例中,基于前述方案,第二交互单元2408配置为:若所述第i级控制面节点提供了至少两个子控制面节点,则在接收到所述第i级控制面节点的所有子控制面节点分别反馈的第二mbs会话开始响应之后,确定是否存在未被分配子用户面节点的目标第二用户面节点。

在本申请的一些实施例中,基于前述方案,第二交互单元2408还配置为:在接收所述子控制面节点针对所述第二mbs会话开始请求反馈的第二mbs会话开始响应之后,若所述第一指示信息中包含有所述第一f-teid列表信息,则根据所述第一指示信息中包含的第二用户面节点的标识信息向所述第二用户面节点发送第二用户面mbs会话修改请求,以指示所述第二用户面节点通过点对点的方式向所述第一f-teid列表信息所包含的各个f-teid对应的子用户面节点分别传送mbs业务数据;

其中,若所述第一指示信息中还包含有所述第一字段信息,则所述第二用户面mbs会话修改请求还用于指示所述第二用户面节点同时使用多播传输方式向所述第二用户面节点的子用户面节点发送mbs业务数据;

若所述第一指示信息中不包含所述第一字段信息,则所述第二用户面mbs会话修改请求还用于指示所述第二用户面节点不需要使用多播传输方式向所述第二用户面节点的子用户面节点发送mbs业务数据。

在本申请的一些实施例中,基于前述方案,第二交互单元2408配置为:若选择了至少两个第二用户面节点,则根据所述第二mbs会话开始响应中包含的每个第二用户面节点对应的第一指示信息,向需要发送所述第二用户面mbs会话修改请求的中间用户面节点发送所述第二用户面mbs会话修改请求。

在本申请的一些实施例中,基于前述方案,第三交互单元2410还配置为:在接收所述子控制面节点针对所述第二mbs会话开始请求反馈的第二mbs会话开始响应之后,根据所述子控制面节点反馈的第二mbs会话开始响应,向所述第i级控制面节点反馈针对所述第一mbs会话开始请求的第一mbs会话开始响应。

在本申请的一些实施例中,基于前述方案,第三交互单元2410配置为:若所述第i级控制面节点提供了至少两个子控制面节点,则在接收到所述第i级控制面节点的所有子控制面节点分别反馈的第二mbs会话开始响应之后,再向所述第i级控制面节点反馈所述第一mbs会话开始响应。

在本申请的一些实施例中,基于前述方案,所述第一mbs会话开始响应中包含有第二指示信息;

其中,所述第二指示信息中包含有所述第i级用户面节点的标识信息、第二f-teid列表信息和用于表示启动多播方式传输的第二字段信息,所述第二字段信息表示存在支持通过多播方式接收所述第i级用户面节点发送的mbs业务数据的第一用户面节点,所述第二f-teid列表信息包含有不支持通过多播方式、但支持通过点对点方式接收所述第i级用户面节点发送的mbs业务数据的第一用户面节点的f-teid;或者

所述第二指示信息包含有所述第i级用户面节点的标识信息、且不包含所述第二f-teid列表信息和所述第二字段信息,则所述第二指示信息用于指示所述第一用户面节点均支持通过多播方式接收所述第i级用户面节点发送的mbs业务数据;或者

所述第二指示信息包含有所述第i级用户面节点的标识信息、所述第二f-teid列表信息,且不包含所述第二字段信息,则所述第二指示信息用于指示所述第一用户面节点均不支持通过多播方式、但支持通过点对点方式接收所述第i级用户面节点发送的mbs业务数据。

在本申请的一些实施例中,基于前述方案,若所述第i级控制面节点选择了至少两个第i级用户面节点,则所述第一mbs会话开始响应中包含有第二指示信息列表,所述第二指示信息列表中包含有所有第i级用户面节点分别对应的所述第二指示信息。

在本申请的一些实施例中,基于前述方案,第二交互单元2408配置为:在选择了至少两个第一用户面节点和至少两个第二用户面节点的情况下,分别向选择的每个第二用户面节点发送所述第二用户面mbs会话建立请求,其中,向每个第二用户面节点发送的第二用户面mbs会话建立请求中包含有对应的第一用户面节点分配的第二mbsip多播传输地址与第二c-teid;其中,不同的第一用户面节点分配的第二mbsip多播传输地址不相同。

在本申请的一些实施例中,基于前述方案,若所述第i级控制面节点选择了至少两个第i级用户面节点,则所述第一mbs会话开始请求中包含有每个第i级用户面节点各自的标识信息、及每个第i级用户面节点分配的第一mbsip多播传输地址和第一c-teid;其中,不同的第i级用户面节点分配的第一mbsip多播传输地址不相同。

图25示出了根据本申请的一个实施例的多播广播业务的通信装置的框图,该多播广播业务的通信装置可以设置在第i级控制面节点内。

参照图25所示,根据本申请的一个实施例的多播广播业务的通信装置2500,包括:第四交互单元2502和第五交互单元2504。

其中,第四交互单元2502配置为向第i级控制面节点选择的第i级用户面节点发送第二用户面mbs会话建立请求,并接收所述第i级用户面节点反馈的第二用户面mbs会话建立响应,所述第i级控制面节点是mbs会话传输树中除最后一级控制面节点之外的任一级控制面节点;第五交互单元2504配置为选择中间会话管理功能实体i-smf,向所述i-smf发送第一mbs会话开始请求,所述第一mbs会话开始请求中包含有所述第i级控制面节点提供的子控制面节点的信息、所述第i级用户面节点的标识信息、所述第i级用户面节点分配的第一mbsip多播传输地址和第一c-teid;其中,所述第一mbs会话开始请求用于触发所述i-smf选择能够与所述第i级用户面节点建立连接的第一用户面节点,以及与所述第一用户面节点和所述子控制面节点管理的用户面功能实体均能够建立连接的第二用户面节点,并用于触发所述i-smf向所述子控制面节点发送第二mbs会话开始请求,所述第一用户面节点用于加入所述第一mbsip多播传输地址对应的多播传输组来接收所述第i级用户面节点通过多播方式发送的mbs业务数据,所述第二用户面节点用于加入所述第一用户面节点分配的第二mbsip多播传输地址对应的多播传输组来接收所述第一用户面节点通过多播方式发送的mbs业务数据,所述第二mbs会话开始请求用于指示所述子控制面节点为所述第二用户面节点分配子用户面节点,并使所述子用户面节点接收所述第二用户面节点发送的mbs业务数据。

在本申请的一些实施例中,基于前述方案,第五交互单元2504还配置为:在向所述i-smf发送第一mbs会话开始请求之后,接收所述i-smf针对所述第一mbs会话开始请求反馈的第一mbs会话开始响应;根据所述第一mbs会话开始响应中包含的内容,确定是否向所述第i级用户面节点发送用户面mbs会话修改请求。

在本申请的一些实施例中,基于前述方案,第五交互单元2504配置为:若根据所述第i级控制面节点提供的子控制面节点的信息,确定所述第i级控制面节点管理的用户面功能实体不能直接与所述子控制面节点管理的用户面功能实体建立传输通路,则选择能够与所述第i级控制面节点及与所述子控制面节点进行通信的smf作为所述i-smf。

图26示出了根据本申请的一个实施例的多播广播业务的通信装置的框图,该多播广播业务的通信装置可以设置在上述第一用户面节点内。

参照图26所示,根据本申请的一个实施例的多播广播业务的通信装置2600,包括:第二接收单元2602、第一发送单元2604和第一处理单元2606。

其中,第二接收单元2602配置为接收i-smf发送的第一用户面mbs会话建立请求,所述第一用户面mbs会话建立请求中包含有第i级用户面节点分配的第一mbsip多播传输地址和第一c-teid;第一发送单元2604配置为向所述i-smf反馈第一用户面mbs会话建立响应,所述第一用户面mbs会话建立响应中包含有所述i-smf选择的第一用户面节点所分配的第二mbsip多播传输地址和第二c-teid,所述第二mbsip多播传输地址用于使所述i-smf选择的第二用户面节点加入所述第二mbsip多播传输地址对应的多播传输组来接收所述第一用户面节点通过多播方式传输的mbs业务数据;第一处理单元2606配置为在所述第一用户面节点支持通过多播方式接收所述第i级用户面节点发送的mbs业务数据的情况下,加入所述第一mbsip多播传输地址对应的多播传输组来接收所述第i级用户面节点通过多播方式发送的mbs业务数据。

在本申请的一些实施例中,基于前述方案,第一处理单元2606还配置为:若所述第一用户面节点不支持通过多播方式、但支持通过点对点方式接收所述第i级用户面节点发送的mbs业务数据,则分配通过点对点方式接收所述第i级用户面节点发送的mbs业务数据的f-teid。

在本申请的一些实施例中,基于前述方案,第二接收单元2602还配置为:在第一发送单元2604向所述i-smf反馈第一用户面mbs会话建立响应之后,接收所述i-smf发送的第一用户面mbs会话修改请求,所述第一用户面mbs会话修改请求中包含有不支持通过多播方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节所分配的f-teid;

第一处理单元2606还配置为:基于不支持通过多播方式、但支持通过点对点方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节点的f-teid,通过点对点的方式向不支持通过多播方式、但支持通过点对点方式接收所述第一用户面节点发送的mbs业务数据的第二用户面节点传送mbs业务数据,并根据所述第一用户面mbs会话修改请求确定是否同时使用多播传输方式向其它的第二用户面节点发送mbs业务数据。

在本申请的一些实施例中,基于前述方案,第一发送单元2604还配置为:若接收到所述i-smf发送的用户面mbs会话删除请求,则向所述i-smf发送用户面mbs会话删除响应;其中,若已加入所述第一mbsip多播传输地址对应的多播传输组中,则在接收到所述用户面mbs会话删除请求之后,退出所述第一mbsip多播传输地址对应的多播传输组。

在本申请的一些实施例中,基于前述方案,第一发送单元2604配置为:若接收到多个用户面mbs会话建立请求,则针对所述多个用户面mbs会话建立请求中的一个用户面mbs会话建立请求反馈用户面mbs会话建立响应,并针对所述多个用户面mbs会话建立请求中的其它用户面mbs会话建立请求反馈拒绝消息,以指示此用户面节点已被选择;或者

在向所述i-smf反馈第一用户面mbs会话建立响应之后,若再次接收到用于将所述第一用户面节点选择为其它用户面节点的子用户面节点的用户面mbs会话建立请求,则针对再次接收到的用户面mbs会话建立请求反馈拒绝消息,以指示此用户面节点已被选择。

图27示出了根据本申请的一个实施例的多播广播业务的通信装置的框图,该多播广播业务的通信装置可以设置在上述第二用户面节点内。

参照图27所示,根据本申请的一个实施例的多播广播业务的通信装置2700,包括:第三接收单元2702、第二发送单元2704和第二处理单元2706。

其中,第三接收单元2702配置为接收i-smf发送的第二用户面mbs会话建立请求,所述第二用户面mbs会话建立请求中包含有所述i-smf选择的第一用户面节点分配的第二mbsip多播传输地址和第二c-teid;第二发送单元2704配置为向所述i-smf反馈第二用户面mbs会话建立响应,所述第二用户面mbs会话建立响应中包含有所述i-smf选择的第二用户面节点分配的第三mbsip多播传输地址和第三c-teid,所述第三mbsip多播传输地址用于所述第二用户面节点的子用户面节点加入所述第三mbsip多播传输地址对应的多播传输组来接收所述第二用户面节点通过多播方式传输的mbs业务数据;第二处理单元2706配置为在所述第二用户面节点支持通过多播方式接收所述第一用户面节点发送的mbs业务数据的情况下,则加入所述第二mbsip多播传输地址对应的多播传输组来接收所述第一用户面节点通过多播方式发送的mbs业务数据。

在本申请的一些实施例中,基于前述方案,第二处理单元2706还配置为:若所述第二用户面节点不支持通过多播方式、但支持通过点对点方式接收所述第一用户面节点发送的mbs业务数据,则分配通过点对点方式接收所述第一用户面节点发送的mbs业务数据的f-teid。

在本申请的一些实施例中,基于前述方案,第三接收单元2702还配置为:在第二发送单元2704向所述i-smf反馈第二用户面mbs会话建立响应之后,接收所述i-smf发送的第二用户面mbs会话修改请求,所述第二用户面mbs会话修改请求中包含有第一f-teid列表信息,所述第一f-teid列表信息包含有不支持通过多播方式、但支持通过点对点方式接收所述第二用户面节点发送的mbs业务数据的子用户面节点的f-teid;

第二处理单元2706还配置为:基于所述第一f-teid列表信息,通过点对点的方式向所述第一f-teid列表信息包含的各个f-teid所对应的子用户面节点分别传送mbs业务数据,并根据所述第二用户面mbs会话修改请求确定是否同时使用多播传输方式向所述第二用户面节点的子用户面节点发送mbs业务数据。

在本申请的一些实施例中,基于前述方案,第二发送单元2704还配置为:若接收到所述i-smf发送的用户面mbs会话删除请求,则向所述i-smf发送用户面mbs会话删除响应;其中,若已加入所述第二mbsip多播传输地址对应的多播传输组中,则在接收到所述用户面mbs会话删除请求之后,退出所述第二mbsip多播传输地址对应的多播传输组。

在本申请的一些实施例中,基于前述方案,第二发送单元2704配置为:若接收到多个用户面mbs会话建立请求,则针对所述多个用户面mbs会话建立请求中的一个用户面mbs会话建立请求反馈用户面mbs会话建立响应,并针对所述多个用户面mbs会话建立请求中的其它用户面mbs会话建立请求反馈拒绝消息,以指示此用户面节点已被选择;或者

在向所述i-smf反馈第二用户面mbs会话建立响应之后,若再次接收到用于将所述第二用户面节点选择为其它用户面节点的子用户面节点的用户面mbs会话建立请求,则针对再次接收到的用户面mbs会话建立请求反馈拒绝消息,以指示此用户面节点已被选择。

图28示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

需要说明的是,图28示出的电子设备的计算机系统2800仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图28所示,计算机系统2800包括中央处理单元(centralprocessingunit,cpu)2801,其可以根据存储在只读存储器(read-onlymemory,rom)2802中的程序或者从存储部分2808加载到随机访问存储器(randomaccessmemory,ram)2803中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram2803中,还存储有系统操作所需的各种程序和数据。cpu2801、rom2802以及ram2803通过总线2804彼此相连。输入/输出(input/output,i/o)接口2805也连接至总线2804。

以下部件连接至i/o接口2805:包括键盘、鼠标等的输入部分2806;包括诸如阴极射线管(cathoderaytube,crt)、液晶显示器(liquidcrystaldisplay,lcd)等以及扬声器等的输出部分2807;包括硬盘等的存储部分2808;以及包括诸如lan(localareanetwork,局域网)卡、调制解调器等的网络接口卡的通信部分2809。通信部分2809经由诸如因特网的网络执行通信处理。驱动器2810也根据需要连接至i/o接口2805。可拆卸介质2811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2810上,以便于从其上读出的计算机程序根据需要被安装入存储部分2808。

特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分2809从网络上被下载和安装,和/或从可拆卸介质2811被安装。在该计算机程序被中央处理单元(cpu)2801执行时,执行本申请的系统中限定的各种功能。

需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1