具体实施方式
本发明实施例一提供一种IMS网络中基于FLUTE协议的文件下载方法,该方法的流程如附图1所示。
图1中,S100、获取终端的文件下载业务的业务标识。
本实施例中的文件下载业务是指针对需要向终端提供的一个或者多个下载文件而设置的业务,一个文件下载业务对应一个唯一的业务标识。本实施例中的一个文件下载业务可以通过多个传输会话来实现,即一个文件下载业务对应的文件可以通过多个传输会话发送。
获取终端的文件下载业务的业务标识的方式有多种,例如,在由终端发起文件下载业务时,终端会向网络侧发送包括有业务标识在内的下载业务请求,该业务标识可以包括在下载业务请求的FLUTE会话参数中,此时,网络侧可以从接收到的下载业务请求中获取终端的文件下载业务的业务标识;再例如,在由网络侧发起文件下载业务时,终端会事先进行文件下载的订阅操作,这样,可以在终端订阅文件下载业务对应的文件过程中,网络侧根据终端发送来的消息(如订阅消息等)确定文件下载业务对应的业务标识。
S110、根据上述业务标识对终端进行文件下载业务授权,如果授权通过,到S120,否则,到S130。
对终端进行文件下载业务授权可以为:判断终端是否有权限进行该文件下载业务。当然,该授权也可以为:对其他权限等进行审核。该授权过程可以根据终端对应的用户的签约信息或者本地策略或者签约信息结合本地策略进行。一个授权的具体例子为:如果用户事先签约了该文件下载业务,则授权通过,否则授权失败(即授权未通过)。另一个授权的具体例子为:在本地策略是某个文件下载业务允许所有的用户访问的情况下,则不论用户是否签约了该文件下载业务,则根据该本地策略对终端进行该文件下载业务授权的结果均为授权通过。
S120、与终端进行会话协商,基于会话协商的结果向终端提供FLUTE会话参数,或者基于协商的结果向终端提供FLUTE会话参数和下载业务信息。
上述会话协商可以为:在终端向网络侧发送了FLUTE会话参数的情况下,对终端发送来的FLUTE会话参数进行检查,即在终端发送来的FLUTE会话参数的基础上确定网络侧向终端发送的FLUTE会话参数。上述会话协商也可以为:在终端没有向网络侧发送FLUTE会话参数的情况下,直接向终端发送网络侧为终端进行文件下载业务而确定的FLUTE会话参数。
上述协商的结果通常为协商成功,即上述向终端返回的FLUTE会话参数是基于协商成功而向终端返回的参数。终端可以根据其接收到的FLUTE会话参数接收媒体服务器发送的数据,从而获取到其需要下载的文件。在某些特殊情况下,上述协商的结果也可以为协商失败,在协商失败时,可以向终端返回协商失败的信息,从而使终端不会接收到FLUTE会话参数。
在会话协商过程中,网络侧还可以为终端确定下载业务信息,并在会话协商过程中,向终端发送下载业务信息。上述下载业务信息可以为:内容描述信息的获取地址信息、文件修复服务器的地址信息和上报参数中的任意一个或任意多个。上述内容描述信息的获取地址信息可以为文件分配表的获取地址信息,即文件分配表的存储地址信息。
上述内容描述信息的获取地址信息用于终端获取文件下载业务对应的文件的内容描述信息,即终端可以从该内容描述信息的获取地址信息指示的网络设备处获取文件下载业务对应的文件的内容描述信息。通过在会话协商过程中为终端提供内容描述信息的获取地址信息,为终端获得内容描述信息提供了另一种实现方式,且提高了终端获得内容描述信息的灵活性。
上述文件修复服务器的地址信息用于终端向该地址信息指示的文件修复服务器请求修复数据,以使终端能够对文件下载业务对应的文件进行修复;也就是说,终端可以利用文件修复服务器的地址信息获取到修复数据,从而利用该修复数据对其接收到的文件下载业务对应的文件进行修复。该文件修复服务器可以和上述媒体服务器合设,也可以与上述媒体服务器独立设置,在实际应用中,可以根据具体需求来设置文件修复服务器。
另外,该地址信息所指示的文件修复服务器可以为终端直接提供修复数据,该地址信息所指示的文件修复服务器也可以将终端重定向到能够为终端提供修复数据的其他服务器处,使终端从其他服务器处获取修复数据。
该地址信息所指示的文件修复服务器可以为终端直接提供修复数据的一个具体例子为:该地址信息所指示的文件修复服务器在接收到终端发送的基于HTTP的修复请求后,直接基于HTTP连接为终端提供修复数据。
该地址信息所指示的文件修复服务器可以为终端直接提供修复数据的另一个具体例子为:该地址信息所指示的文件修复服务器接收终端发送的基于HTTP的修复请求后,为该终端提供通过单播或者组播或者广播方式发送修复数据的FLUTE会话参数,使终端根据接收到的修复数据的FLUTE会话参数接收修复数据。也就是说,该地址信息所指示的网络设备可以利用FLUTE协议、采用单播或者组播或者广播方式为终端提供修复数据;例如,文件修复服务器在接收到基于HTTP的修复请求后,在基于HTTP的修复响应中提供单播或者组播或者广播方式为终端提供修复数据对应的FLUTE会话信息,该修复响应可以为HTTP Redirect消息。修复数据对应的FLUTE会话信息可以采用SDP方式或者XML方式携带在HTTP Redirect消息中发送给终端,使终端可以根据HTTPRedirect消息中携带的FLUTE会话信息发起SIP会话,以与业务控制功能装置进行修改数据的会话协商,进而根据协商结果中的修改数据的FLUTE会话信息接收修复数据。另外,终端也可以不针对修复数据进行会话协商,而是根据HTTPRedirect消息中携带的FLUTE会话信息直接接收修复数据。通过在会话协商过程中为终端提供文件修复服务器的地址信息,明确了终端获得文件修复服务器的地址信息的实现方式,为终端修复文件提供了一种具体的实现方式,且提高了终端获得内容描述信息的灵活性。
上报参数用于指示终端上报文件下载信息,例如,指示终端上报文件成功下载的统计情况信息。上述上报参数可以为:是否上报、上报延迟时间和上报服务器的地址信息中的任意一个或任意多个。
是否上报用于指示终端是否上报文件下载信息;上报延迟时间用于指示终端上报文件下载信息的延迟时间,上报延迟时间可以通过上报定时器来实现;例如,在本次文件下载流程结束时触发上报定时器,在上报定时器的计数值达到预定值时,终端上报文件下载信息。
上报服务器的地址信息用于指示终端发送文件下载信息的目的地址,即指示终端将文件下载信息发送到哪里。需要说明的是,上报服务器的地址信息可以是媒体服务器的地址信息,也可以是文件修复服务器的地址信息,还可以是独立于媒体服务器和文件修复服务器的地址信息。
通过在会话协商过程中为终端提供上报参数,明确了终端获得上报参数的实现方式,为终端上报文件下载信息提供了一种具体的实现方式,且提高了终端上报文件下载信息的灵活性。
上述会话协商过程中终端与网络侧之间传输的信息可以通过基于会话发起协议(SIP)的消息传输,且上述会话协商过程中终端与网络侧之间传输的信息可以采用会话描述协议(SDP)的方式携带在消息中,也可以采用可扩展标记语言(XML)的方式携带在消息中,还可以将一部分信息采用SDP的方式且另一部分信息采用XML的方式携带在消息中;例如,将FLUTE会话参数以SDP的方式、且将下载业务信息以XML的方式携带在下载业务应答消息中。
S130、向终端发送失败指示,本次文件下载流程结束。这里的失败指示可以为授权未通过的指示信息,也可以为禁止终端进行文件下载的指示信息。
上述实施例一的执行主体可以为网络侧的业务控制功能装置,业务控制功能装置可以独立存在,也可以设置在网络侧的某一网络设备中,如设置在媒体服务器所在网络设备中等。
另外需要说明的是,在实施例一中,还可以将会话协商的结果发送给媒体服务器,例如,业务控制功能装置将向终端提供的FLUTE会话参数发送给媒体服务器,使媒体服务器可以根据接收到的FLUTE会话参数向终端提供文件下载业务对应的文件。在授权失败时可以通知媒体服务器,也可以不通知媒体服务器。如果通知了媒体服务器,则媒体服务器会根据该通知明确获知不向终端提供文件下载业务对应的文件。
本发明实施例一通过引入文件下载业务,使网络侧便于对文件下载进行管理(如计费管理、授权管理、以及传输管理等);通过利用文件下载业务的业务标识对终端进行文件下载业务授权,使网络侧进一步加强了对文件下载的管理;通过进行会话协商,使网络侧能够通过多种方式为终端提供下载的文件;本发明实施例一在文件下载过程中引入了IMS网络能力,且明确了终端获取内容描述信息的获取地址信息等下载业务信息的实现方式,提高了文件下载的灵活性和可控性,进一步完善了文件下载过程。
本发明实施例二提供一种基于终端发起文件下载业务的文件下载方法。该方法的流程如附图2所示。
图2中,步骤2-1、终端发送下载业务请求。下载业务请求可以为基于SIP的下载业务请求,例如,下载业务请求可以为SIP Invite消息。
该下载业务请求中携带有FLUTE会话参数,如传输会话标识、FLUTE会话目的组播地址信息(可以包含有端口信息)、FLUTE会话发送者的源IP地址信息、以及业务标识等。业务标识可以采用从业务选择发现信息中获取的业务标识,或者使用临时移动组标识(Temporary Mobile Group Identity,TMGI)来表示。上述FLUTE会话参数可以通过SDP方式或者通过XML方式携带在下载业务请求中。下载业务请求中的请求URI(Uniform Resource Identifier,通用资源标志符)可以设置为该FLUTE会话的PSI(Public Service Identity,公共业务标识)。
下载业务请求中以SDP方式携带在SDP Offer(SDP提供)中的FLUTE会话参数的一个具体的例子为:
m=application 12345 FLUTE/UDP0 //Port部分可能携带目的端口信息
c=IN IP6<destination multicast address> //FLUTE会话目的组播地址
a=source-filter:<sender unicast address> //FLUTE会话发送者源IP地址
a=flute_tsi:123 //FLUTE会话Transmission Session ID
a=service_id:service_d //业务标识,具体值参见上面描述
上述m=application 12345 FLUTE/UDP 0中的12345即为Port部分。
步骤2-2、IMS核心(IMS Core)接收到下载业务请求后,将下载业务请求转发给业务控制功能装置,即IMS核心执行路由功能,将下载业务请求路由到业务控制功能装置。业务控制功能装置可以根据需要设置在某网络设备中,例如,在3GPP/TISPAN/OIPF(3rd Generation Partnership Project/Telecommunications and Internet Converged Services and Protocols for AdvancedNetworking/Open IPTV Forum,第三代合作伙伴计划/电信和互联网融合业务及高级网络协议/开放式IPTV论坛)网络中,业务控制功能装置可以表现为SCF(业务控制功能),即本实施例中的业务控制功能装置可以设置在3GPP/TISPAN/OIPF网络的业务控制功能实体中。
步骤2-3、业务控制功能装置从下载业务请求中获取业务标识,根据该业务标识对终端进行文件下载进行授权,并在授权通过后,与终端进行会话协商,例如,对下载业务请求中携带的FLUTE会话参数进行检查(或称授权),业务控制功能装置向终端返回下载业务应答。该下载业务应答中可以携带授权后的FLUTE会话参数以及下载业务信息。该下载业务应答可以为基于SIP的下载业务应答。在下载业务请求为SIP Invite消息的情况下,下载业务响应可以为SIP200 OK消息。
在对下载业务请求中携带的FLUTE会话参数进行授权过程中,业务控制功能装置可以根据预定策略修改下载业务请求中携带的FLUTE会话参数,也可以不修改下载业务请求中携带的FLUTE会话参数;也就是说,下载业务应答中携带的FLUTE会话参数有可能与下载业务请求中携带的FLUTE会话参数相同,也可能与下载业务请求中携带的FLUTE会话参数相同。
上述下载业务应答中携带的下载业务信息可以包括:内容描述信息的获取地址信息、文件修复服务器的地址信息和上报参数等。上报参数如是否上报、上报延迟时间和上报服务器的地址信息等。
如果上述对终端进行文件下载进行授权的结果为授权失败,则业务控制功能装置向终端返回错误指示信息,以使终端获知授权失败。本实施例中,业务控制功能装置向终端返回的错误指示信息的一个具体例子为:业务控制功能装置向终端返回SIP 401(Unauthorized,未授权)消息,或者SIP 403(Forbidden,禁止)消息。
上述FLUTE会话参数以及下载业务信息可以采用SDP方式或者XML方式携带在下载业务应答中;另外,上述FLUTE会话参数可以采用SDP方式和XML方式中的一种方式携带在下载业务应答中,而下载业务信息可以采用SDP方式和XML方式中的另一种方式携带在下载业务应答中。
下载业务信息采用SDP方式携带在下载业务应答中的一个具体例子为:
a=content-desc:<URI> //FDT文件地址
a=repair-server-address:<URI> //修复Server地址信息
a=report-indication:TRUE/FALSE //上报指示(即是否上报)
a=backoff-time:value //上报延迟时间
a=report-server-address::<URI> //上报Server地址,默认为SCF
a=recvonly
上述FDT(文件分配表)文件地址即内容描述信息的获取地址信息,也即FDT的获取地址信息。
上述report-server-address(上报服务器地址信息)的属性值可以为HTTPURI,也可以为SIP URI。上述repair-server-address(文件修复服务器的地址信息)可以是直接提供修复数据的服务器的地址信息,也可以是提供修复描述信息的服务器的地址信息(即指向修复描述信息),终端可以根据该修复描述信息来获取修复数据。
下载业务信息采用XML方式携带在下载业务应答中的一个具体例子为:
<?xml version=″1.0″encoding=″UTF-8″?>
<xs:schema
targetNamespace=″urn:3GPP:metadata:2008:IMS-PSS-MBMS:FluteInfo″
xmlns:xs=″http://www.w3.org/2001/XMLSchema″
elementFormDefault=″qualified″attributeFormDefault=″unqualified″>
<xs:simpleType name=″CondentDescAdress″>
<xs:restriction base=″xs:string″/>
</xs:simpleType>
<xs:simpleType name=″RepairServerAddress″>
<xs:restriction base=″xs:string″/>
</xs:simpleType>
<xs:simpleType name=″ReportIndication″>
<xs:restriction base=″xs:boolean″/>
</xs:simpleType>
<xs:element name=″BackoffTime″type=″xs:restriction″/>
<xs:restriction base=″xs:integer″>
<xs:minLength value=″0″/>
<xs:maxLength value=″3600″/>
</xs:restriction>
<xs:simpleType name=″ReportServerAddress″>
<xs:restriction base=″xs:string″/>
</xs:simpleType>
</xs:schema>
上述XML Schema(XML模式)中,分别通过不同的XML元素定义了下载业务信息的携带方式。具体而言,通过CondentDescAdress定义了内容描述信息的获取地址信息,通过RepairServerAddress定义了修复服务器的地址信息。通过ReportIndication定义了是否上报的指示,通过BackoffTime定义了上报延迟时间,通过ReportServerAddress定义了上报服务器的地址信息。
步骤2-4、IMS核心接收到下载业务应答后,将下载业务应答转发给终端。
步骤2-5、终端根据接收到的下载业务应答中的内容描述信息的获取地址信息(如FDT文件的HTTP URI地址)获取内容描述信息。例如,终端根据该内容描述信息的获取地址信息到下载信息提供功能装置处获取内容描述信息。下载信息提供功能装置可以设置于3GPP/TISPAN网络的SSF(Service SelectionFunction,业务选择功能)实体中,也可以设置于其他网络设备中,或者独立设置。
需要说明的是,步骤2-5是可选的,如果下载业务应答中没有包括内容描述信息的获取地址信息,则终端也可以通过其他方式(如预设置内容描述信息的获取地址信息等)获得内容描述信息的获取地址信息,或者终端也可以通过其他方式获得内容描述信息(如从媒体服务器传输来的数据中获得内容描述信息)。
步骤2-6、终端根据接收到的下载业务应答中携带的FLUTE会话信息启动文件接收流程,接收FLUTE会话对应的数据。
需要说明的是,步骤2-5和步骤2-6之间可以没有先后执行顺序。
在终端完成FLUTE会话对应的数据的接收操作后,判断是否存在丢失数据,如果存在丢失数据,则到步骤2-7。
步骤2-7、终端根据接收到的下载业务应答中携带的文件修复服务器的地址信息从文件修复服务器处获取修复数据,例如,终端向文件修复服务器发送修复数据请求,修复数据请求中携带有丢失数据的信息,文件修复服务器根据修改数据请求中携带的丢失数据的信息向终端发送修复数据。需要说明的是,文件修复服务器还可以向终端发送修复数据的内容描述信息或者修改数据的内容描述信息的获取地址信息,以便终端可以获取到修复数据的内容描述信息,并根据修复数据的内容描述信息进行数据修复。
如果存在上报触发条件(如上报参数中包含有上报指示和上报延迟时间),则在上报触发条件满足时(如上报指示表示为上报,且上报延迟时间的计时值达到预定值),到步骤2-8。
步骤2-8、终端向上报服务器上报文件下载信息。
例如,终端根据接收到的下载业务应答携带的上报参数中的是否上报判断出需要上报文件下载信息后,在下载业务应答携带的上报参数中的上报延迟时间对应的计数值达到预定值时,终端向上报服务器上报文件下载信息。终端上报的文件下载信息可以为:成功接收的文件列表、下载时长等。
需要说明的是,上报延迟时间可以通过上报定时器来实现,例如,上报定时器可以在终端完成FLUTE会话对应的数据的接收操作后开始计时,也可以在判断出没有丢失数据时开始计时或者在终端完成修复数据的计时操作后开始计时。在上报定时器的计时值达到上报延迟时间时,终端向上报服务器上报文件下载信息。本实施例不限制针对上报延迟时间开始计时的时刻。
本实施例是以向业务控制功能装置上报文件下载信息为例进行说明的,即本实施例中的上报服务器与业务控制功能装置合设。当然,也可以单独设置上报服务器。上报服务器可以独立于业务控制功能装置,例如,上报服务器可以与媒体服务器等合设。
本发明实施例二通过引入文件下载业务,使网络侧便于对终端发起的文件下载进行管理(如计费管理、授权管理、传输管理等);通过利用文件下载业务的业务标识对终端进行文件下载业务授权,使业务控制功能装置能够对文件下载进行控制管理;通过业务控制功能装置与终端进行会话协商,使媒体服务器能够通过多种方式为终端提供下载的文件;由此可知,本发明实施例二在文件下载过程中引入了IMS网络能力,明确了终端获取内容描述信息的获取地址信息等下载业务信息的实现方式,提高了文件下载的灵活性和可控性,进一步完善了文件下载过程。
本发明实施例三提供一种基于网络侧发起文件下载业务的文件下载方法。该方法的流程如附图3所示。
图3中,步骤3-1、业务控制功能装置发送下载业务请求。
业务控制功能装置可以根据终端的订阅发送下载业务请求。业务控制功能装置在终端订阅过程中可以利用终端订阅的内容获取订阅的下载业务的业务标识。
业务控制功能装置在根据订阅触发文件下载业务时,根据订阅信息中的业务标识对终端进行文件下载业务授权,并在授权通过时,业务控制功能装置发送下载业务请求。
实施例三中的业务控制功能装置可以根据需要设置在某网络设备中,例如,在3GPP/TISPAN/OIPF网络中,业务控制功能装置可以表现为SCF,即本实施例中的业务控制功能装置可以设置在3GPP/TISPAN/OIPF网络的业务控制功能实体中。
本实施例中的下载业务请求可以为基于SIP的下载业务请求,例如,下载业务请求可以为SIP Invite消息。本实施例中的下载业务请求中携带有FLUTE会话参数和下载业务信息。
下载业务请求中携带的FLUTE会话参数如传输会话标识、FLUTE会话目的组播地址信息(可以包含有端口信息)以及FLUTE会话发送者的源IP地址信息等。
下载业务请求中携带的下载业务信息可以包括:内容描述信息的获取地址信息、文件修复服务器的地址信息和上报参数等。上报参数如是否上报、上报延迟时间和上报服务器的地址信息等。
上述FLUTE会话参数以及下载业务信息可以采用SDP方式或者XML方式携带在下载业务请求中;另外,上述FLUTE会话参数可以采用SDP方式和XML方式中的一种方式携带在下载业务请求中,而下载业务信息可以采用SDP方式和XML方式中的另一种方式携带在下载业务请求中。
步骤3-2、IMS核心接收到下载业务请求后,将下载业务请求转发给终端,即IMS核心执行路由功能,将下载业务请求路由到终端。
步骤3-3、终端接收到下载业务请求后,向业务控制功能装置返回下载业务应答。该下载业务应答可以为基于SIP的下载业务应答。在下载业务请求为SIP Invite消息的情况下,下载业务响应可以为SIP 200 OK消息。
下载业务应答中可以携带有下载业务请求中携带的FLUTE会话参数,或者下载业务应答中可以携带有下载业务请求中携带的FLUTE会话参数和下载业务信息。
上述FLUTE会话参数以及下载业务信息可以采用SDP方式或者XML方式携带在下载业务应答中;另外,上述FLUTE会话参数可以采用SDP方式和XML方式中的一种方式携带在下载业务应答中,而下载业务信息可以采用SDP方式和XML方式中的另一种方式携带在下载业务应答中。
步骤3-4、IMS核心接收到下载业务应答后,将下载业务应答转发给业务控制功能装置。
步骤3-5、终端根据接收到的下载业务请求中的内容描述信息的获取地址信息(如FDT文件的HTTP URI地址)获取内容描述信息。例如,终端根据该内容描述信息的获取地址信息到下载信息提供功能装置处获取内容描述信息。下载信息提供功能装置可以设置于3GPP/TISPAN网络的SSF实体中,也可以设置于其他网络设备中,或者独立设置。
需要说明的是,如果下载业务请求中没有包括内容描述信息的获取地址信息,则终端也可以通过其他方式(如预设置内容描述信息的获取地址信息等)获得内容描述信息的获取地址信息,或者终端也可以通过其他方式获得内容描述信息(如从媒体服务器传输来的数据中获得内容描述信息)。
步骤3-6、终端根据接收到的下载业务请求中携带的FLUTE会话信息启动文件接收流程,接收FLUTE会话对应的数据。
需要说明的是,步骤3-5和步骤3-6之间可以没有先后执行顺序。
在终端完成FLUTE会话对应的数据的接收操作后,终端判断是否存在丢失数据,如果存在丢失数据,则到步骤3-7。
步骤3-7、终端根据接收到的下载业务请求中携带的文件修复服务器的地址信息从文件修复服务器处获取修复数据,例如,终端向文件修复服务器发送修复数据请求,修复数据请求中携带有丢失数据的信息,文件修复服务器根据修改数据请求中携带的丢失数据的信息向终端发送修复数据。需要说明的是,文件修复服务器还可以向终端发送修复数据的内容描述信息或者修改数据的内容描述信息的获取地址信息,以便终端可以获取到修复数据的内容描述信息,并根据修复数据的内容描述信息进行数据修复。
如果存在上报触发条件,则在上报触发条件满足时,到步骤3-8。
步骤3-8、终端向上报服务器上报文件下载信息。
例如,终端根据接收到的下载业务请求携带的上报参数中的是否上报判断出需要上报文件下载信息后,在下载业务请求携带的上报参数中的上报延迟时间对应的计数值达到预定值时,终端向业务控制功能装置上报文件下载信息。终端上报的文件下载信息可以为:成功接收的文件列表、下载时长等。
需要说明的是,实施例三中的上报延迟时间可以通过上报定时器来实现,例如,上报定时器可以在终端完成FLUTE会话对应的数据的接收操作后开始计时,也可以在判断出没有丢失数据时开始计时或者在终端完成修复数据的计时操作后开始计时。在上报定时器计时值达到上报延迟时间时,终端向上报服务器上报文件下载信息。本实施例不限制针对上报延迟时间开始计时的时刻。
本实施例是以向业务控制功能装置上报文件下载信息为例进行说明的,即具体的本实施例中的上报服务器可以与业务控制功能装置合设实体。当然,也可以单独设置上报服务器。上报服务器可以独立于业务控制功能装置,例如,上报服务器也可以与媒体服务器等合设。
本发明实施例三通过引入文件下载业务,使网络侧便于对终端发起的文件下载进行管理(如计费管理、授权管理、以及传输管理等);通过利用文件下载业务的业务标识对终端进行文件下载业务授权,使业务控制功能装置能够对文件下载进行控制管理;通过业务控制功能装置与终端进行会话协商,使媒体服务器能够通过多种方式为终端提供下载的文件;由此可知,本发明实施例二在文件下载过程中引入了IMS网络能力,明确了终端获取内容描述信息的获取地址信息等下载业务信息的实现方式,提高了文件下载的灵活性和可控性,进一步完善了文件下载过程。
实施例四、文件修复实现方法。该方法的流程如附图4所示。
本实施例四中的文件修复服务器与媒体服务器合设,且合设的文件修复服务器与媒体服务器在图4中对外表现为媒体服务器。
针对文件下载业务建立FLUTE会话,且终端利用该FLUTE会话接收完成下载数据后(即针对文件下载业务建立的FLUTE会话结束后),终端发现接收到的文件下载数据不完整,终端根据下载业务应答(即基于终端发起文件下载业务的下载业务应答)或下载业务请求(即基于网络侧发起文件下载业务的下载业务请求)中携带的文件修复服务器的地址信息(如HTTP URI地址信息)发送HTTP请求向文件修复服务器(即图4中的媒体服务器)发送HTTP请求,如果文件修复服务器根据接收到的HTTP请求向终端发送修复数据,则不再进行后续描述的步骤,如果文件修复服务器向终端发送的是修复数据对应的FLUTE会话信息,则到步骤4-1。
步骤4-1、终端发送SIP Re-invite消息,与业务控制功能装置进行FLUTE会话信息协商。SIP Re-invite消息中的SDP Offer可以根据从文件修复服务器处获取的修复数据对应的FLUTE会话信息设置,即终端需要先根据下载业务应答(即基于终端发起文件下载业务的下载业务应答)或下载业务请求(即基于网络侧发起文件下载业务的下载业务请求)中携带的文件修复服务器的地址信息向修复服务器请求了修复数据对应的FLUTE会话信息之后,再发送SIPRe-invite消息。
需要说明的是,如果终端从文件修复服务器处获取的是以组播或广播方式发送修复数据对应的FLUTE会话信息时,则SIP Re-invite消息中的请求URI可以设置为FLUTE会话的PSI。如果终端从文件修复服务器处获取的是以单播方式发送修复数据对应的FLUTE会话信息时,则SIP Re-invite消息中的SDP的m行的端口部分可以设置为终端本地的FLUTE媒体传送通道的端口,SDP的c行可以设置为终端本地的IP地址信息,一个具体的例子为:
m=application 12345 FLUTE/UDP 0 //Port携带UE本地的端口信息
c=IN IP6<destination multicast address> //FLUTE会话UE的IP地址信息
步骤4-2、IMS核心接收到SIP Re-invite消息后,将SIP Re-invite消息转发给业务控制功能装置。
如果业务控制功能装置确定以FLUTE单播方式为终端提供修复数据,则到步骤4-3;如果业务控制功能装置确定以FLUTE组播或广播方式为终端提供修复数据,则到步骤4-5。
步骤4-3、业务控制功能装置选择文件修复服务器,并作为B2B UA(背靠背用户代理)向文件修复服务器发送SIP Invite消息。在本实施例中,设定文件修复服务器设置在媒体服务器实体中。到步骤4-4。
步骤4-4、文件修复服务器接收到SIP invite消息后,向业务控制功能装置返回SIP 200OK消息,到步骤4-5。SIP 200OK消息中携带有SDP Answer。SDPAnswer中携带文件修复服务器的IP地址信息和端口信息。SDPAnswer中携带有文件修复服务器的IP地址信息和端口信息的一个具体例子为:m=application 23457 FLUTE/UDP 0//Port携带文件修复服务器本地的端口信息c=IN IP6<destination multicast address>//FLUTE会话文件修复服务器的IP地址信息
步骤4-5、业务控制功能装置对SIP Re-invite消息中的FLUTE会话信息进行检查(即授权),并基于检查结果向终端返回SIP 200 OK消息,业务控制功能装置发送的SIP 200 OK消息中携带有SDP Answer。SDP Answer中携带文件修复服务器的IP地址信息和端口信息。
步骤4-6、IMS核心接收到SIP 200O K消息后,将SIP 200 OK消息转发给终端,即IMS核心执行路由功能,将SIP 200 OK消息路由到终端。
步骤4-7、终端根据接收到的SIP 200 OK消息的SDP Answer中的信息接收修复数据。
在采用FLUTE单播方式为终端提供修复数据时,终端和文件修复服务器之间建立的通道为FLUTE单播通道,终端基于该FLUTE单播通道接收媒体服务器发送的修复数据。
在采用FLUTE组播方式或者FLUTE广播方式为终端提供修复数据时,终端通过根据SDP Answer中的FLUTE会话信息,接收媒体服务器发送的修复数据。
上述实施例四可以应用于上述实施例一至三的文件修复过程中。
上述实施例四为终端提供了获取修复数据的具体实现方式,使获取修复数据可以通过多种方式实现,完善了基于FLUTE的文件下载过程。
本发明实施例五提供一种IMS网络中的文件下载系统。该系统的结构如附图5所示。
图5中的系统包括:业务控制功能装置500、媒体服务器510和IMS核心520。可选的,该系统还可以包括:下载信息提供功能装置530、文件修复服务器和上报服务器中的任意一个或两个。图5中没有示出文件修复服务器和上报服务器。本实施例中的文件修复服务器和上报服务器都可以设置在媒体服务器510中。
业务控制功能装置500,用于获取终端的文件下载业务的业务标识,并根据业务标识对终端进行文件下载业务授权,如果授权通过,则业务控制功能装置500与终端进行会话协商,并基于协商的结果向终端提供FLUTE会话参数,或者基于协商的结果向终端提供FLUTE会话参数和下载业务信息。可选的,如果授权不通过,则业务控制功能装置500向终端发送失败指示,本次文件下载过程结束。
业务控制功能装置500对终端进行文件下载业务授权可以为:业务控制功能装置500判断终端是否有权限进行该文件下载业务。当然,该授权也可以为:对其他权限等进行审核。业务控制功能装置500可以根据终端对应的用户的签约信息和/或者本地策略进行文件下载业务授权。一个业务控制功能装置500授权的具体例子为:如果业务控制功能装置500判断出用户事先签约了该文件下载业务,则业务控制功能装置500确定授权通过,否则,业务控制功能装置500确定授权失败(即授权不通过)。另一个业务控制功能装置500授权的具体例子为:在本地策略是某个文件下载业务允许所有的用户访问的情况下,则不论用户是否签约了该文件下载业务,业务控制功能装置500根据该本地策略对终端进行该文件下载业务授权的结果均为授权通过。
在终端发起文件下载业务的情况下,业务控制功能装置500在接收到终端发送来的FLUTE会话参数后,对终端发送来的FLUTE会话参数进行检查,即业务控制功能500在终端发送来的FLUTE会话参数的基础上确定向终端发送的FLUTE会话参数。
在业务控制功能装置500发起文件下载业务的情况下,业务控制功能装置500不会接收到终端发送的FLUTE会话参数,业务控制功能装置500直接向终端发送为终端进行文件下载业务而确定的FLUTE会话参数。
业务控制功能装置500与终端进行的会话协商的协商结果通常为协商成功,即业务控制功能装置500向终端返回的FLUTE会话参数是基于协商成功而向终端返回的参数。终端可以根据其接收到的FLUTE会话参数接收媒体服务器发送的数据,从而获取到其需要下载的文件。在某些特殊情况下,业务控制功能装置500与终端进行的会话协商的协商结果也可以为协商失败,在协商失败时,业务控制功能装置500可以向终端返回协商失败的信息,从而使终端不会接收到FLUTE会话参数。
另外,在会话协商过程中,业务控制功能装置500还可以为终端确定下载业务信息,并在会话协商过程中,业务控制功能装置500向终端发送下载业务信息。上述下载业务信息可以为:内容描述信息的获取地址信息、文件修复服务器的地址信息和上报参数中的任意一个或任意多个。上报参数可以为:是否上报、上报延迟时间和上报服务器的地址信息中的任意一个或任意多个。内容描述信息的获取地址信息、文件修复服务器的地址信息和上报参数的具体作用如上述实施例中的描述,在此不再重复说明。
终端与业务控制功能装置500之间传输的信息可以通过基于SIP的消息传输,且终端与业务控制功能装置500之间传输的信息可以采用SDP的方式携带在消息中,也可以采用XML的方式携带在消息中,还可以将一部分信息采用SDP的方式且另一部分信息采用XML的方式携带在消息中;具体例子如上述实施例的描述。
业务控制功能装置500可以将授权结果和/或会话协商结果发送给媒体服务器510,以控制媒体服务器510是否为终端提供文件、以及如何为终端提供文件。
需要说明的是,业务控制功能装置500还可以在接收到修复数据的FLUTE会话参数后,与终端进行会话协商,并基于协商的结果向终端发送修复数据的FLUTE会话参数,使终端根据会话协商的结果中的修复数据的FLUTE会话参数接收修复数据。
从上述描述可知,业务控制功能装置500是对文件下载业务进行控制的执行点,业务控制功能装置500执行文件下载业务控制,如对终端进行文件下载业务、以及会话协商(包括媒体服务器选择等)等进行控制。
媒体服务器510,用于基于协商的结果向终端发送文件下载业务对应的文件。媒体服务器510可以从业务控制功能装置500和/或终端处获得会话协商的结果。例如,媒体服务器510在接收到业务控制功能装置500发送来的FLUTE会话参数后,根据该FLUTE会话参数向终端提供文件下载业务对应的文件。再例如,媒体服务器510在接收到业务控制功能装置500发送来的授权失败的通知信息后,媒体服务器510根据该通知不向终端提供文件下载业务对应的文件。
上述媒体服务器510还会接收到业务控制功能装置500发送来的修复数据的FLUTE会话参数,此时,媒体服务器510可以根据修复数据的FLUTE会话参数向终端发送修复数据。
IMS核心520,用于对业务控制功能装置500与终端之间传输的信息进行路由。例如,IMS核心520对终端与业务控制功能之间传输的SIP信令进行路由。
下载信息提供功能装置530,用于向终端发送文件的内容描述信息。下载信息提供功能装置530可以在接收到终端的请求后,向终端发送文件的内容描述信息。
文件修复服务器,用于在接收终端发送的基于HTTP的修复请求后,基于HTTP连接为终端提供修复数据;或者,为终端提供修复数据的FLUTE会话参数,使所述终端根据所述FLUTE会话参数接收修复数据。也就是说,文件修复服务器可以为终端直接提供修复数据,也可以将终端重定向到能够为终端提供修复数据的其他服务器处,使终端从其他服务器处获取修复数据。
文件修复服务器为终端直接提供修复数据的一个具体例子为:文件修复服务器在接收到终端发送的基于HTTP的修复请求后,直接基于HTTP连接为终端提供修复数据。文件修复服务器将终端重定向到能够为终端提供修复数据的一个具体例子为:文件修复服务器接收终端发送的基于HTTP的修复请求后,为该终端提供修复数据的FLUTE会话参数,使终端根据接收到的修复数据的FLUTE会话参数接收媒体服务器发送的修复数据。
需要说明的是,终端接收到修复数据的FLUTE会话参数后,可以直接根据修复数据的FLUTE会话参数接收媒体服务器通过单播、组播或广播方式发送的修复数据,也可以根据接收到的修复数据的FLUTE会话参数与业务控制功能装置500进行会话协商后,根据会话协商的结果中的FLUTE会话参数接收媒体服务器通过单播、组播或广播方式发送的修复数据。
上报服务器,用于接收终端发送来的文件下载信息。上报服务器可以利用接收到的文件下载信息对被下载的文件进行管理,例如,对文件下载过程中不能成功下载的数据进行统计,以判断是否被下载的文件存在问题。本发明实施例不限制文件下载信息的具体应用。
上述业务控制功能装置500、媒体服务器510、IMS核心520和下载信息提供功能装置530之间的接口的一个具体例子为:
终端与媒体服务器510之间的接口可以为I1接口。I1接口用于终端从媒体服务器510处获取媒体内容(文件下载业务的文件对应的数据),媒体内容可以通过单播或组播或广播的方式通过I1接口进行流式传输。当文件修复服务器设置于媒体服务器中时,I1接口还用于以单播HTTP、单播FLUTE、或者组播FLUTE方式向终端传输修复数据。
终端与IMS核心510之间的接口可以为I2接口,I2接口用于终端收发SIP信令。
终端与下载信息提供功能装置530之间的接口可以为I3接口,I3接口用于以单播方式向终端传输内容描述信息。
IMS核心510与业务控制功能装置500之间的接口可以为I4接口,I4接口用于转发IMS核心510和业务控制功能装置500之间的SIP信令。
IMS核心510与媒体服务器520之间的接口可以为I5接口,I5接口用于转发IMS核心510和媒体服务器520之间的SIP信令。
上述业务控制功能装置500、媒体服务器510、IMS核心520和下载信息提供功能装置530应用在不同的网络中时,可以根据需要设置在不同的网络实体中,一个具体例子如附图6所示:
图6为3GPP MTV架构图。可以将业务控制功能装置500设置于SCF/接收上报中,将媒体服务器510设置于MDF(媒体传送功能)中,将下载信息提供功能530设置于SSF(业务选择功能)中。另外,文件修复服务器和上报服务器也可以设置于MDF(媒体分发功能)中。
本实施例中业务控制功能装置500的结构可以为实施例六中记载的网络设备的结构。
本发明实施例五通过设置业务控制功能装置500,在文件下载中引入文件下载业务,使文件下载过程能够被业务控制功能装置500控制;业务控制功能装置500通过利用文件下载业务的业务标识对终端进行文件下载业务授权,进一步加强了对文件下载的管理;业务控制功能装置500通过与终端进行会话协商,使媒体服务器能够通过多种方式为终端提供下载的文件;本发明实施例五在文件下载过程中引入了IMS网络能力,且明确了网络中的下载信息提供功能、上报服务器、以及文件修复服务器等执行的操作,提高了文件下载的灵活性和可控性,进一步完善了文件下载过程。
本发明实施例六提供一种网络设备,位于IMS网络中,该网络设备的结构如附图7所示。
图7中的网络设备包括:授权模块700和协商模块710。
授权模块700,用于获取终端的文件下载业务的业务标识,并根据业务标识对终端进行所述文件下载业务授权,可选的,在授权结果为授权失败时,向终端返回失败指示。
授权模块700对终端进行文件下载业务授权可以为:授权模块700判断终端是否有权限进行该文件下载业务。当然,该授权也可以为:对其他权限等进行审核。授权模块700可以根据终端对应的用户的签约信息和/或者本地策略进行文件下载业务授权。一个授权模块700授权的具体例子为:如果授权模块700判断出用户事先签约了该文件下载业务,则授权模块700确定授权通过,否则,授权模块700确定授权失败(即授权不通过)。另一个授权模块700授权的具体例子为:在本地策略是某个文件下载业务允许所有的用户访问的情况下,则不论用户是否签约了该文件下载业务,授权模块700根据该本地策略对终端进行该文件下载业务授权的结果均为授权通过。
协商模块710,用于在授权模块700的授权结果为授权通过时,与终端进行会话协商,基于会话协商的结果向终端返回FLUTE会话参数,使终端根据接收到的FLUTE会话参数接收媒体服务器发送的数据。
在终端发起文件下载业务的情况下,协商模块710所在的网络设备会接收到终端发送来的FLUTE会话参数,协商模块710对终端发送来的FLUTE会话参数进行检查,即协商模块710在终端发送来的FLUTE会话参数的基础上确定向终端发送的FLUTE会话参数。
在业务控制功能装置发起文件下载业务的情况下,协商模块710所在的网络设备不会接收到终端发送的FLUTE会话参数,协商模块710直接为终端进行文件下载业务确定FLUTE会话参数。
协商模块710与终端进行的会话协商的协商结果通常为协商成功,即协商模块710向终端返回的FLUTE会话参数是基于协商成功而向终端返回的参数。终端可以根据其接收到的FLUTE会话参数接收媒体服务器发送的数据,从而获取到其需要下载的文件。在某些特殊情况下,协商模块710与终端进行的会话协商的协商结果也可以为协商失败,在协商失败时,协商模块710可以向终端返回协商失败的信息,从而使终端不会接收到FLUTE会话参数。
另外,在会话协商过程中,协商模块710还可以为终端确定下载业务信息,并在会话协商过程中,协商模块710向终端发送下载业务信息。此时,协商模块710可以包括:第一协商子模块711和第一发送子模块712。
第一协商子模块711,用于在授权模块700的授权结果为授权通过时,与终端进行会话协商。这里的会话协商可以是在终端发起文件下载业务情况下的会话协商,即在终端发送来的FLUTE会话参数的基础上进行的会话协商,该会话协商也可以是在网络设备发起文件下载业务情况下的会话协商,即在没有终端发送来的FLUTE会话参数的基础上进行的会话协商。具体协商过程可以如上述实施例中的描述,在此不再重复说明。
第一发送子模块712,用于根据第一协商子模块711协商的结果向终端返回FLUTE会话参数和下载业务信息。
上述下载业务信息可以为:内容描述信息的获取地址信息、文件修复服务器的地址信息和上报参数中的任意一个或任意多个。上报参数可以为:是否上报、上报延迟时间和上报服务器的地址信息中的任意一个或任意多个。内容描述信息的获取地址信息、文件修复服务器的地址信息和上报参数的具体作用如上述实施例中的描述,在此不再重复说明。
终端与本实施例的网络设备之间传输的信息可以通过基于SIP的消息传输,且终端与该网络设备之间传输的信息可以采用SDP的方式携带在消息中,也可以采用XML的方式携带在消息中,还可以将一部分信息采用SDP的方式且另一部分信息采用XML的方式携带在消息中;具体例子如上述实施例的描述。
授权模块700和协商模块710可以将授权结果和/或会话协商结果发送给媒体服务器,以控制媒体服务器是否为终端提供文件、以及如何为终端提供文件。
协商模块710还可以包括:第二协商子模块713和第二发送子模块714。
第二协商子模块713,用于在其所在的网络设备接收到修复数据的FLUTE会话参数后,根据接收到的修复数据的FLUTE会话参数与终端进行针对修复数据的会话协商。
第二发送子模块714,用于基于第二协商子模块713的协商的结果向终端发送修复数据的FLUTE会话参数,使终端根据会话协商的结果中的修复数据的FLUTE会话参数接收修复数据。此时的修复数据可以是媒体服务器通过FLUTE单播方式、组播方式或广播方式发送的。需要说明的是,本实施例中的网络设备可以同时包括:第一协商子模块711、第一发送子模块712、第二协商子模块713和第二发送子模块714。
本实施例中的网络设备是对文件下载业务进行控制的执行点,该网络设备执行文件下载业务控制,如对终端进行文件下载业务、以及会话协商(包括媒体服务器选择等)等进行控制,提高了文件下载的灵活性和可控性,进一步完善了文件下载过程。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。