首页> 中国专利> 用于超文本传输协议网络的方法及宽带网络网关

用于超文本传输协议网络的方法及宽带网络网关

摘要

本发明实施例提供了一种用于HTTP网络的方法,包括:BNG接收用户设备发送的第一HTTP请求;BNG将BNG的标识添加到第一HTTP请求中,得到第二HTTP请求;BNG向应用服务器发送第二HTTP请求;BNG接收应用服务器发送的第三HTTP请求,第三HTTP请求中包含用于创建虚拟机的镜像的位置信息;BNG根据位置信息获得镜像,BNG根据镜像在BNG中创建虚拟机。此外,还提供了其他方法以及BNG。上述技术方案有助于降低对网络的带宽的占用。

著录项

  • 公开/公告号CN104243522A

    专利类型发明专利

  • 公开/公告日2014-12-24

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201310244446.4

  • 发明设计人 朱恒军;牛乐宏;黄勇;

    申请日2013-06-19

  • 分类号H04L29/08;H04L12/66;G06F9/455;

  • 代理机构

  • 代理人

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-18 08:10:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-06

    授权

    授权

  • 2015-01-14

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20130619

    实质审查的生效

  • 2014-12-24

    公开

    公开

说明书

技术领域

本发明实施例涉及通信技术,尤其涉及用于超文本传输协议(Hypertext  Transfer Protocol,HTTP)网络的方法及宽带网络网关(broadband network  gateway,BNG)。

背景技术

用户设备(user equipment)运行应用程序客户端(application client)。 应用服务器(application server)运行应用程序服务器端(application server)。 通过所述应用程序客户端与所述应用程序服务器端进行交互,业务被执行。 举例来说,所述应用程序客户端可以是华为公司提供的华为网盘(DBank) 客户端或者谷歌公司提供的谷歌地球(Google Earth)客户端。所述应用程序 服务器端可以是华为公司提供的华为网盘服务器端。所述用户设备可以是个 人电脑(personal computer,PC),移动电话(mobile phone,MP)或者个人 数字助理(personal data assistant,PDA)。所述应用服务器可以是网站服务 器(web server)。所述业务可以是向云服务器上传文件。所述文件可以是视 频文件或者音频文件。

要执行所述业务,所述用户设备需要发送HTTP请求。BNG接收到所述 HTTP请求后,将所述HTTP请求转发到公网。所述HTTP请求通过所述公 网到达所述应用服务器。所述应用服务器接收到所述HTTP请求后,发送与 所述HTTP请求对应的HTTP响应。所述BNG接收到所述HTTP响应后,将 所述HTTP响应转发到所述用户设备。上述技术方案中,对网络的带宽的占 用较多。

发明内容

本发明实施例提供了用于HTTP网络的方法及BNG,有助于降低对网络 的带宽的占用。

第一方面,提供了一种用于HTTP网络的方法,包括:

BNG接收用户设备发送的第一HTTP请求;

所述BNG将所述BNG的标识添加到所述第一HTTP请求中,得到第二 HTTP请求;

所述BNG向应用服务器发送所述第二HTTP请求;

所述BNG接收所述应用服务器发送的第三HTTP请求,所述第三HTTP 请求是所述应用服务器接收到所述第二HTTP请求后发送的,所述第三HTTP 请求中包含用于创建虚拟机(virtual machine,VM)的镜像(image)的位置 信息;

所述BNG根据所述位置信息获得所述镜像,所述BNG根据所述镜像在 所述BNG中创建所述虚拟机。

上述技术方案中,所述BNG根据所述镜像在所述BNG中创建所述虚拟 机。所述应用程序服务器端运行在所述虚拟机中。所述BNG部署了运行了所 述应用程序服务器端的所述虚拟机后,通过所述BNG中的所述应用程序服务 器端与所述用户设备中的所述应用程序客户端的交互即可实现所述应用程序 客户端对应的业务。所述BNG不需要向所述应用服务器转发所述用户设备发 送的HTTP请求。因此,上述技术方案有助于降低对网络的带宽的占用。

第一方面的第一种可能的实现方式中,

所述BNG根据所述镜像在所述BNG中创建所述虚拟机以后,所述方法 还包括:

所述BNG向所述应用服务器发送第一HTTP响应,所述第一HTTP响应 是所述第三HTTP请求对应的响应,所述第一HTTP响应包含所述虚拟机的 标识;

所述BNG接收所述应用服务器发送的第二HTTP响应,所述第二HTTP 响应是所述第二HTTP请求对应的响应,所述第二HTTP响应包括所述虚拟 机的标识;

所述BNG向所述用户设备转发所述第二HTTP响应。

根据第一方面或者第一方面的第一种可能的实现方式,在第一方面的第 二种可能的实现方式中,

所述BNG的标识包括所述BNG的主机名(host name)、所述BNG的 因特网协议(Internet Protocol,IP)地址或者用于标识如何访问所述BNG的 统一资源定位符(uniform resource locator,URL)。

根据第一方面、第一方面的第一种可能的实现方式或者第一方面的第二 种可能的实现方式,在第一方面的第三种可能的实现方式中,

所述位置信息包括用于标识如何访问所述镜像的URL或者所述镜像存 储在所述BNG的目录。

根据第一方面、第一方面的第一种可能的实现方式,第一方面的第二种 可能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第四 种可能的实现方式中,

所述第二HTTP请求中包含消息摘要(Message-Digest,MD),所述 Message-Digest是根据消息摘要算法第五版(Message-Digest Algorithm5, MD5)对所述BNG的标识进行加密运算得到的。

根据第一方面、第一方面的第一种可能的实现方式,第一方面的第二种 可能的实现方式,第一方面的第三种可能的实现方式或者第一方面的第四种 可能的实现方式,在第一方面的第五种可能的实现方式中,

所述第三HTTP请求包含所述虚拟机的配置信息,

所述BNG根据所述镜像在所述BNG中创建所述虚拟机包括所述BNG 根据所述镜像以及所述配置信息在所述BNG中创建所述虚拟机。

第二方面,提供了一种用于HTTP网络的方法,包括:

BNG接收用户设备发送的第一HTTP请求,虚拟机运行在所述BNG上;

所述BNG将所述虚拟机的标识添加到所述第一HTTP请求中,得到第二 HTTP请求;

所述BNG向应用服务器发送所述第二HTTP请求;

所述BNG接收所述应用服务器发送的在所述虚拟机中部署所述应用程 序服务器端的命令;

所述BNG根据所述命令,在所述虚拟机中部署所述应用程序服务器端。

上述技术方案中,所述BNG根据所述应用服务器发送的在所述虚拟机中 部署所述应用程序服务器端的命令在所述虚拟机中部署所述应用程序服务器 端。所述BNG在所述虚拟机中部署了所述应用程序服务器端后,通过所述 BNG中的所述应用程序服务器端与所述用户设备中的所述应用程序客户端 的交互即可实现所述应用程序客户端对应的业务。所述BNG不需要向所述应 用服务器转发所述用户设备发送的HTTP请求。因此,上述技术方案有助于 降低对网络的带宽的占用。

第二方面的第一种可能的实现方式中,

所述BNG根据所述命令,在所述虚拟机中部署所述应用程序服务器端以 后,所述方法还包括:

所述BNG接收所述应用服务器发送的第一HTTP响应,所述第一HTTP 响应包含所述虚拟机的标识,所述第一HTTP响应是所述第二HTTP请求对 应的响应;

所述BNG向所述用户设备转发所述第一HTTP响应。

根据第二方面或者第二方面的第一种可能的实现方式,在第二方面的第 二种可能的实现方式中,

所述虚拟机的标识包括所述虚拟机的主机名、所述虚拟机的IP地址或者 用于标识如何访问所述虚拟机的URL。

根据第二方面的第一种可能的实现方式,在第二方面的第三种可能的实 现方式中,

所述虚拟机的标识承载在所述第一HTTP响应的头域(header field)或 者净荷(payload)中。

第三方面,提供了一种BNG,包括:

第一接收单元,用于接收用户设备发送的第一HTTP请求;

添加单元,用于将所述BNG的标识添加到所述第一接收单元接收的所述 第一HTTP请求中,得到第二HTTP请求;

第一发送单元,用于向应用服务器发送所述添加单元生成的所述第二 HTTP请求;

第二接收单元,用于接收所述应用服务器发送的第三HTTP请求,所述 第三HTTP请求是所述应用服务器接收到所述第二HTTP请求后发送的,所 述第三HTTP请求中包含用于创建虚拟机的镜像的位置信息;

创建单元,用于根据所述第二接收单元接收的所述第三HTTP请求中的 所述位置信息获得所述镜像,根据所述镜像在所述BNG中创建所述虚拟机。

上述技术方案中,所述BNG根据所述镜像在所述BNG中创建所述虚拟 机。所述应用程序服务器端运行在所述虚拟机中。所述BNG部署了运行了所 述应用程序服务器端的所述虚拟机后,通过所述BNG中的所述应用程序服务 器端与所述用户设备中的所述应用程序客户端的交互即可实现所述应用程序 客户端对应的业务。所述BNG不需要向所述应用服务器转发所述用户设备发 送的HTTP请求。因此,上述技术方案有助于降低对网络的带宽的占用。

第三方面的第一种可能的实现方式中,

所述BNG还包括:

第二发送单元,用于向所述应用服务器发送第一HTTP响应,所述第一 HTTP响应是所述第三HTTP请求对应的响应,所述第一HTTP响应包含所 述虚拟机的标识;

第三接收单元,用于接收所述应用服务器发送的第二HTTP响应,所述 第二HTTP响应是所述第二HTTP请求对应的响应,所述第二HTTP响应包 括所述虚拟机的标识;

转发单元,用于向所述用户设备转发所述第三接收单元接收的所述第二 HTTP响应。

根据第三方面或者第三方面的第一种可能的实现方式,在第三方面的第 二种可能的实现方式中,

所述BNG的标识包括所述BNG的主机名、所述BNG的IP地址或者用 于标识如何访问所述BNG的URL。

根据第三方面、第三方面的第一种可能的实现方式或者第三方面的第二 种可能的实现方式,在第三方面的第三种可能的实现方式中,

所述位置信息包括用于标识如何访问所述镜像的URL或者所述镜像存 储在所述BNG的目录。

根据第三方面、第三方面的第一种可能的实现方式,第三方面的第二种 可能的实现方式或者第三方面的第三种可能的实现方式,在第三方面的第四 种可能的实现方式中,

所述第二HTTP请求中包含MD,所述MD是根据MD5对所述BNG的 标识进行加密运算得到的。

根据第三方面、第三方面的第一种可能的实现方式,第三方面的第二种 可能的实现方式,第三方面的第三种可能的实现方式或者第三方面的第四种 可能的实现方式,在第三方面的第五种可能的实现方式中,

所述第三HTTP请求包含所述虚拟机的配置信息,

所述创建单元用于根据所述镜像以及所述配置信息在所述BNG中创建 所述虚拟机。

第四方面,提供了一种BNG,包括:

第一接收单元,用于接收用户设备发送的第一HTTP请求,虚拟机运行 在所述BNG上;

添加单元,用于将所述虚拟机的标识添加到所述第一接收单元接收的所 述第一HTTP请求中,得到第二HTTP请求;

发送单元,用于向应用服务器发送所述添加单元生成的所述第二HTTP 请求;

第二接收单元,用于接收所述应用服务器发送的在所述虚拟机中部署所 述应用程序服务器端的命令;

部署单元,用于根据所述第二接收单元接收的所述命令,在所述虚拟机 中部署所述应用程序服务器端。

上述技术方案中,所述BNG根据所述应用服务器发送的在所述虚拟机中 部署所述应用程序服务器端的命令在所述虚拟机中部署所述应用程序服务器 端。所述BNG在所述虚拟机中部署了所述应用程序服务器端后,通过所述 BNG中的所述应用程序服务器端与所述用户设备中的所述应用程序客户端 的交互即可实现所述应用程序客户端对应的业务。所述BNG不需要向所述应 用服务器转发所述用户设备发送的HTTP请求。因此,上述技术方案有助于 降低对网络的带宽的占用。

第四方面的第一种可能的实现方式中,

所述BNG还包括:

第三接收单元,用于接收所述应用服务器发送的第一HTTP响应,所述 第一HTTP响应包含所述虚拟机的标识,所述第一HTTP响应是所述第二 HTTP请求对应的响应;

转发单元,用于向所述用户设备转发所述第三接收单元接收的所述第一 HTTP响应。

根据第四方面或者第四方面的第一种可能的实现方式,在第四方面的第 二种可能的实现方式中,

所述虚拟机的标识包括所述虚拟机的主机名、所述虚拟机的IP地址或者 用于标识如何访问所述虚拟机的URL。

根据第四方面的第一种可能的实现方式,在第四方面的第三种可能的实 现方式中,

所述虚拟机的标识承载在所述第一HTTP响应的头域或者净荷中。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下 面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在 不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的技术方案的一种应用场景的组网结构图;

图2是本发明实施例提供的一种用于HTTP网络的方法的流程示意图;

图3是本发明实施例提供的一种用于HTTP网络的方法的流程示意图;

图4是本发明实施例提供的一种用于HTTP网络的方法的流程示意图;

图5是本发明实施例提供的一种用于HTTP网络的方法的流程示意图;

图6为本发明实施例提供的一种BNG的结构示意图;

图7为本发明实施例提供的一种BNG的结构示意图;

图8为本发明实施例提供的一种BNG的结构示意图;

图9为本发明实施例提供的一种BNG的结构示意图;

图10为本发明实施例提供的一种用于HTTP网络的方法的应用场景的示 意图;

图11为图10所示的应用场景中的信令交互示意图;

图12为本发明实施例提供的一种用于HTTP网络的方法的应用场景的示 意图;

图13为图12所示的应用场景中的信令交互示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述 的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实 施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。

本发明实施例提供了用于HTTP网络的方法以及BNG,有助于降低对网 络的带宽的占用。

图1为本发明实施例提供的技术方案的一种应用场景的组网结构图。图 1所示的组网包括家庭网络、因特网服务提供者(Internet service provider,ISP) server网络以及因特网内容提供者(Internet content provider,ICP)server网 络。其中,家庭网络中包括两个UE。两个UE包括移动电话101、个人电脑 102。家庭网络中还包括住宅网关(residential gateway,RGW)103。ISP server 网络中包括BNG104。ICP server网络中包括ICP server105。ICP server网络 通过因特网与ISP server网络连接。

举例来说,ICP server105可以是文件服务器(file server)、网站服务器 (web server)或者视频服务器(video server)。

图2为本发明实施例提供的一种用于HTTP网络的方法的流程示意图。 所述方法可以用于图1所示的组网结构中。具体来说,所述方法可以被图1 中的BNG104执行。参见图2,所述方法包括:

202、BNG接收用户设备发送的第一HTTP请求。

举例来说,所述用户设备可以是个人电脑、个人数字助理、移动电话或 者机顶盒。

举例来说,所述第一HTTP请求可以是应用程序客户端触发所述用户设 备发送的。

举例来说,所述应用程序客户端对应的业务可以是存储业务、即时通信 业务或者搜索引擎业务。

举例来说,图2中的所述用户设备可以是图1中个人电脑102。

204、所述BNG将所述BNG的标识添加到所述第一HTTP请求中,得 到第二HTTP请求。

举例来说,所述BNG的标识可以是所述BNG的主机名、所述BNG的 IP地址或者用于标识如何访问所述BNG的URL。

206、所述BNG向应用服务器发送所述第二HTTP请求。

举例来说,所述应用服务器可以是视频服务器、音频服务器、网站服务 器或者文件服务器。

举例来说,应用程序服务器端运行在所述应用服务器中,所述应用程序 客户端对应所述应用程序服务器端。

举例来说,图2中的所述应用服务器可以是图1中的ICP server105。

208、所述BNG接收所述应用服务器发送的第三HTTP请求,所述第三 HTTP请求是所述应用服务器接收到所述第二HTTP请求后发送的,所述第 三HTTP请求中包含用于创建虚拟机的镜像的位置信息。

举例来说,所述第二HTTP请求用于使能所述应用服务器发送所述第三 HTTP请求。

举例来说,所述虚拟机可以包括操作系统。所述操作系统可以运行在所 述虚拟机中。所述操作系统可以是Windows或者Linux。举例来说,所述应 用程序服务器端可以运行在所述操作系统中。

举例来说,所述虚拟机包含所述应用程序服务器端,所述应用程序服务 器端运行在所述虚拟机中。

210、所述BNG根据所述位置信息获得所述镜像,所述BNG根据所述 镜像在所述BNG中创建所述虚拟机。

举例来说,所述BNG可以通过hypervisor在所述BNG中创建所述虚拟 机。

上述技术方案中,所述BNG根据所述镜像在所述BNG中创建所述虚拟 机。所述应用程序服务器端运行在所述虚拟机中。所述BNG部署了运行了所 述应用程序服务器端的所述虚拟机后,通过所述BNG中的所述应用程序服务 器端与所述用户设备中的所述应用程序客户端的交互即可实现所述应用程序 客户端对应的业务。所述BNG不需要向所述应用服务器转发所述用户设备发 送的HTTP请求。因此,上述技术方案有助于降低对网络的带宽的占用。

可选地,图2所示的方法中,所述BNG向应用服务器发送所述第二HTTP 请求之后,以及所述BNG接收所述应用服务器发送的第三HTTP请求之前, 所述方法还可以包括:

所述BNG建立与所述应用服务器的HTTP连接。

举例来说,所述BNG建立与所述应用服务器的HTTP连接包括:

所述BNG接收所述应用服务器根据所述第二HTTP请求中的所述BNG 的标识发送的用于建立所述HTTP连接的请求。

可选地,图2所述的方法中,所述BNG根据所述镜像在所述BNG中创 建所述虚拟机以后,所述方法还包括:

212、所述BNG向所述应用服务器发送第一HTTP响应,所述第一HTTP 响应是所述第三HTTP请求对应的响应,所述第一HTTP响应包含所述虚拟 机的标识。

214、所述BNG接收所述应用服务器发送的第二HTTP响应,所述第二 HTTP响应是所述第二HTTP请求对应的响应,所述第二HTTP响应包括所 述虚拟机的标识。

216、所述BNG向所述用户设备转发所述第二HTTP响应。

关于212、214以及216,请参见图3。

可选地,上述技术方案中,所述第二HTTP响应用于使能所述应用程序 客户端通过所述用户设备向所述虚拟机发送HTTP请求。

可选地,上述技术方案中,所述BNG的标识包括所述BNG的主机名、 所述BNG的IP地址或者用于标识如何访问所述BNG的URL。

可选地,上述技术方案中,所述位置信息包括用于标识如何访问所述镜 像的URL或者所述镜像存储在所述BNG的目录。

举例来说,所述镜像可以预先存储在所述BNG中。所述BNG可以根据 所述目录获得所述镜像。

举例来说,所述镜像可以预先存储在网络服务器中。所述BNG可以根据 所述URL获得所述镜像。所述网络服务器可以是路由器或者交换机。

可选地,上述技术方案中,所述第二HTTP请求中包含MD,所述MD 是根据MD5对所述BNG的标识进行加密运算得到的。

举例来说,所述MD可以承载在所述第二HTTP请求的头域中或者所述 第二HTTP请求的净荷中。

可选地,上述技术方案中,所述第三HTTP请求包含所述虚拟机的配置 信息。所述BNG根据所述镜像在所述BNG中创建所述虚拟机包括所述BNG 根据所述镜像以及所述配置信息在所述BNG中创建所述虚拟机。

举例来说,所述配置信息可以包括用于标识为待创建的所述虚拟机分配 的硬件资源。所述硬件资源可以包括中央处理器(central processing unit, CPU)、存储器或者寄存器。

举例来说,所述配置信息可以预先存储在所述BNG中。

图4为本发明实施例提供的一种用于HTTP网络的方法的流程示意图。 所述方法可以用于图1所示的组网结构中。具体来说,所述方法可以被图1 中的BNG104执行。参见图4,所述方法包括:

402、BNG接收用户设备发送的第一HTTP请求,虚拟机运行在所述BNG 上。

举例来说,所述用户设备可以是个人电脑、个人数字助理、移动电话或 者机顶盒。

举例来说,所述第一HTTP请求可以是应用程序客户端触发所述用户设 备发送的。

举例来说,所述应用程序客户端对应的业务可以是存储业务、即时通信 业务或者搜索引擎业务。

举例来说,所述虚拟机可以包括操作系统。所述操作系统可以运行在所 述虚拟机中。所述操作系统可以是Windows或者Linux。

举例来说,图4中的所述用户设备可以是图1中个人电脑102。

404、所述BNG将所述虚拟机的标识添加到所述第一HTTP请求中,得 到第二HTTP请求。

举例来说,所述虚拟机的标识可以是所述虚拟机的主机名、所述虚拟机 的IP地址或者用于标识如何访问所述虚拟机的URL。

406、所述BNG向应用服务器发送所述第二HTTP请求。

举例来说,所述应用服务器可以是视频服务器、音频服务器、网站服务 器或者文件服务器。

举例来说,应用程序服务器端运行在所述应用服务器中,所述应用程序 客户端对应所述应用程序服务器端。

举例来说,图4中的所述应用服务器可以是图1中的ICP server105。

408、所述BNG接收所述应用服务器发送的在所述虚拟机中部署所述应 用程序服务器端的命令。

举例来说,所述应用服务器可以远程登录所述BNG。例如,所述应用服 务器可以通过telnet远程登录所述BNG。

举例来说,所述BNG接收所述应用服务器通过telnet的用户界面发送的 在所述虚拟机中部署所述应用程序服务器端的命令。

举例来说,所述命令可以是HTTP请求,所述HTTP请求中包含所述应 用服务器端的位置信息。

举例来说,所述位置信息包括用于标识如何访问所述应用服务器端的 URL或者所述应用服务器端存储在所述BNG的目录。

举例来说,所述应用服务器端可以预先存储在所述BNG中。所述BNG 可以根据所述目录获得所述应用服务器端。

举例来说,所述应用服务器端可以预先存储在网络服务器中。所述BNG 可以根据所述URL获得所述应用服务器端。所述网络服务器可以是路由器或 者交换机。

410、所述BNG根据所述命令,在所述虚拟机中部署所述应用程序服务 器端。

举例来说,所述BNG可以在所述虚拟机中运行所述应用程序服务器端。

举例来说,所述应用程序服务器端可以运行在所述操作系统中。

上述技术方案中,所述BNG根据所述应用服务器发送的在所述虚拟机中 部署所述应用程序服务器端的命令在所述虚拟机中部署所述应用程序服务器 端。所述BNG在所述虚拟机中部署了所述应用程序服务器端后,通过所述 BNG中的所述应用程序服务器端与所述用户设备中的所述应用程序客户端 的交互即可实现所述应用程序客户端对应的业务。所述BNG不需要向所述应 用服务器转发所述用户设备发送的HTTP请求。因此,上述技术方案有助于 降低对网络的带宽的占用。

可选地,图4所述的方法中,所述BNG根据所述命令,在所述虚拟机中 部署所述应用程序服务器端以后,所述方法还包括:

502、所述BNG接收所述应用服务器发送的第一HTTP响应,所述第一 HTTP响应包含所述虚拟机的标识,所述第一HTTP响应是所述第二HTTP 请求对应的响应。

504、所述BNG向所述用户设备转发所述第一HTTP响应。

关于502以及504,请参见图5。

可选地,上述技术方案中,所述第一HTTP响应用于使能所述应用程序 客户端通过所述用户设备向所述虚拟机发送HTTP请求。

可选地,上述技术方案中,所述虚拟机的标识包括所述虚拟机的主机名、 所述虚拟机的IP地址或者用于标识如何访问所述虚拟机的URL。

可选地,上述技术方案中,所述虚拟机的标识承载在所述第一HTTP响 应的头域或者净荷中。

可选地,上述技术方案中,所述第二HTTP请求中包含MD,所述MD 是根据MD5对所述虚拟机的标识进行加密运算得到的。

图6为本发明实施例提供的一种BNG的结构示意图。所述BNG可以用 于执行图2所示的方法。所述BNG可以用于图1所示的组网结构中。具体来 说,所述BNG可以是图1中的BNG104。参见图6,所述BNG包括:

第一接收单元602,用于接收用户设备发送的第一HTTP请求。

举例来说,所述用户设备可以是个人电脑、个人数字助理、移动电话或 者机顶盒。

举例来说,所述HTTP请求可以是应用程序客户端触发所述用户设备发 送的。

举例来说,所述应用程序客户端对应的业务可以是存储业务、即时通信 业务或者搜索引擎业务。

举例来说,所述用户设备可以是图1中个人电脑102。

举例来说,第一接收单元602可以是第一接收器。

添加单元604,用于将所述BNG的标识添加到所述第一接收单元602接 收的所述第一HTTP请求中,得到第二HTTP请求。

举例来说,所述BNG的标识可以是所述BNG的主机名、所述BNG的 IP地址或者用于标识如何访问所述BNG的URL。

举例来说,添加单元604可以是处理器。

第一发送单元606,用于向应用服务器发送所述添加单元604生成的所 述第二HTTP请求。

举例来说,所述应用服务器可以是视频服务器、音频服务器、网站服务 器或者文件服务器。

举例来说,应用程序服务器端运行在所述应用服务器中,所述应用程序 客户端对应所述应用程序服务器端。

举例来说,所述应用服务器可以是图1中的ICP server105。

举例来说,所述第一发送单元606可以是第一发送器。

第二接收单元608,用于接收所述应用服务器发送的第三HTTP请求, 所述第三HTTP请求是所述应用服务器接收到所述第二HTTP请求后发送的, 所述第三HTTP请求中包含用于创建虚拟机的镜像的位置信息。

举例来说,所述第二HTTP请求用于使能所述应用服务器发送所述第三 HTTP请求。

举例来说,所述虚拟机可以包括操作系统。所述操作系统可以运行在所 述虚拟机中。所述操作系统可以是Windows或者Linux。举例来说,所述应 用程序服务器端可以运行在所述操作系统中。

举例来说,所述虚拟机包含所述应用程序服务器端,所述应用程序服务 器端运行在所述虚拟机中。

举例来说,第二接收单元608可以是第二接收器。所述第二接收器与所 述第一发送器可以是同一个收发器。

创建单元610,用于根据所述第二接收单元608接收的所述第三HTTP 请求中的所述位置信息获得所述镜像,根据所述镜像在所述BNG中创建所述 虚拟机。

举例来说,创建单元610可以通过hypervisor在所述BNG中创建所述虚 拟机。

举例来说,创建单元610可以是所述处理器。

上述技术方案中,所述BNG根据所述镜像在所述BNG中创建所述虚拟 机。所述应用程序服务器端运行在所述虚拟机中。所述BNG部署了运行了所 述应用程序服务器端的所述虚拟机后,通过所述BNG中的所述应用程序服务 器端与所述用户设备中的所述应用程序客户端的交互即可实现所述应用程序 客户端对应的业务。所述BNG不需要向所述应用服务器转发所述用户设备发 送的HTTP请求。因此,上述技术方案有助于降低对网络的带宽的占用。

可选地,图6所示的BNG中,所述BNG还可以包括建立单元,用于在 第一发送单元606向应用服务器发送所述第二HTTP请求之后,以及在第二 接收单元608接收所述应用服务器发送的第三HTTP请求之前,

建立与所述应用服务器的HTTP连接。

举例来说,所述建立单元用于接收所述应用服务器根据所述第二HTTP 请求中的所述BNG的标识发送的用于建立所述HTTP连接的请求。

举例来说,所述创建单元可以是所述处理器。

可选地,图6所示的BNG中,还可以包括:

第二发送单元612,用于向所述应用服务器发送第一HTTP响应,所述 第一HTTP响应是所述第二接收单元608接收的所述第三HTTP请求对应的 响应,所述第一HTTP响应包含所述虚拟机的标识。

举例来说,第二发送单元612可以是第二发送器。所述第二发送器与所 述第一发送器可以是同一个发送器。

第三接收单元614,用于接收所述应用服务器发送的第二HTTP响应, 所述第二HTTP响应是所述第二HTTP请求对应的响应,所述第二HTTP响 应包括所述虚拟机的标识。

举例来说,第三接收单元614可以是第三接收器。所述第三接收器与所 述第二接收器可以是同一个接收器。

转发单元616,用于向所述用户设备转发所述第三接收单元614接收的 所述第二HTTP响应。

举例来说,转发单元可以是发送器。所述发送器与所述第一接收器可以 是同一个收发器。

关于第二发送单元612、第三接收单元614以及转发单元616,请参见图 7。

可选地,上述技术方案中,所述BNG的标识包括所述BNG的主机名、 所述BNG的IP地址或者用于标识如何访问所述BNG的URL。

可选地,上述技术方案中,所述位置信息包括用于标识如何访问所述镜 像的URL或者所述镜像存储在所述BNG的目录。

举例来说,所述镜像可以预先存储在所述BNG中。所述BNG可以根据 所述目录获得所述镜像。

举例来说,所述镜像可以预先存储在网络服务器中。所述BNG可以根据 所述URL获得所述镜像。所述网络服务器可以是路由器或者交换机。

可选地,上述技术方案中,所述第二HTTP请求中包含MD,所述MD 是根据MD5对所述BNG的标识进行加密运算得到的。

举例来说,所述MD可以承载在所述第二HTTP请求的头域中或者所述 第二HTTP请求的净荷中。

可选地,上述技术方案中,所述第三HTTP请求包含所述虚拟机的配置 信息。所述创建单元610用于根据所述镜像以及所述配置信息在所述BNG中 创建所述虚拟机。

举例来说,所述配置信息可以包括用于标识为待创建的所述虚拟机分配 的硬件资源。所述硬件资源可以包括中央处理器(central processing unit, CPU)、存储器或者寄存器。

举例来说,所述配置信息可以预先存储在所述BNG中。

图8为本发明实施例提供的一种BNG的结构示意图。所述BNG可以用 于执行图4所示的方法。所述BNG可以用于图1所示的组网结构中。具体来 说,所述BNG可以是图1中的BNG104。参见图8,所述BNG包括:

第一接收单元802,用于接收用户设备发送的第一HTTP请求,虚拟机 运行在所述BNG上。

举例来说,所述用户设备可以是个人电脑、个人数字助理、移动电话或 者机顶盒。

举例来说,所述第一HTTP请求可以是应用程序客户端触发所述用户设 备发送的。

举例来说,所述应用程序客户端对应的业务可以是存储业务、即时通信 业务或者搜索引擎业务。

举例来说,所述虚拟机可以包括操作系统。所述操作系统可以运行在所 述虚拟机中。所述操作系统可以是Windows或者Linux。

举例来说,所述用户设备可以是图1中个人电脑102。

举例来说,第一接收单元可以是第一接收器。

添加单元804,用于将所述虚拟机的标识添加到所述第一接收单元802 接收的所述第一HTTP请求中,得到第二HTTP请求。

举例来说,所述虚拟机的标识可以是所述虚拟机的主机名、所述虚拟机 的IP地址或者用于标识如何访问所述虚拟机的URL。

举例来说,添加单元804可以是处理器。

发送单元806,用于向应用服务器发送所述添加单元804生成的所述第 二HTTP请求。

举例来说,所述应用服务器可以是视频服务器、音频服务器、网站服务 器或者文件服务器。

举例来说,应用程序服务器端运行在所述应用服务器中,所述应用程序 客户端对应所述应用程序服务器端。

举例来说,所述应用服务器可以是图1中的应用服务器103。

举例来说,发送单元806可以是发送器。

第二接收单元808,用于接收所述应用服务器发送的在所述虚拟机中部 署所述应用程序服务器端的命令。

举例来说,所述应用服务器可以远程登录所述BNG。例如,所述应用服 务器可以通过telnet远程登录所述BNG。

举例来说,所述第二接收单元808接收所述应用服务器通过telnet的用 户界面发送的在所述虚拟机中部署所述应用程序服务器端的命令。

举例来说,所述命令可以是HTTP请求,所述HTTP请求中包含所述应 用服务器端的位置信息。

举例来说,所述位置信息包括用于标识如何访问所述应用服务器端的 URL或者所述应用服务器端存储在所述BNG的目录。

举例来说,所述应用服务器端可以预先存储在所述BNG中。所述BNG 可以根据所述目录获得所述应用服务器端。

举例来说,所述应用服务器端可以预先存储在网络服务器中。所述BNG 可以根据所述URL获得所述应用服务器端。所述网络服务器可以是路由器或 者交换机。

举例来说,第二接收单元808可以是第二接收器。所述第二接收器与所 述发送器可以是同一个收发器。

部署单元810,用于根据所述第二接收单元808接收的所述命令,在所 述虚拟机中部署所述应用程序服务器端。

举例来说,所述部署单元810可以在所述虚拟机中运行所述应用程序服 务器端。

举例来说,所述应用程序服务器端可以运行在所述操作系统中。

举例来说,部署单元810可以是所述处理器。

上述技术方案中,所述BNG根据所述应用服务器发送的在所述虚拟机中 部署所述应用程序服务器端的命令在所述虚拟机中部署所述应用程序服务器 端。所述BNG在所述虚拟机中部署了所述应用程序服务器端后,通过所述 BNG中的所述应用程序服务器端与所述用户设备中的所述应用程序客户端 的交互即可实现所述应用程序客户端对应的业务。所述BNG不需要向所述应 用服务器转发所述用户设备发送的HTTP请求。因此,上述技术方案有助于 降低对网络的带宽的占用。

可选地,图8所示的BNG中,还可以包括:

第三接收单元812,用于接收所述应用服务器发送的第一HTTP响应, 所述第一HTTP响应包含所述虚拟机的标识,所述第一HTTP响应是所述第 二HTTP请求对应的响应。

举例来说,第三接收单元812可以是第三接收器。所述第三接收器与所 述第二接收器可以是同一个接收器。

转发单元814,用于向所述用户设备转发所述第三接收单元812接收的 所述第一HTTP响应。

举例来说,转发单元814可以是第一发送器。所述第一发送器与所述第 一接收器可以是同一个收发器。

关于第三接收单元812以及转发单元814,请参见图9。

可选地,上述技术方案中,所述第一HTTP响应用于使能所述应用程序 客户端通过所述用户设备向所述虚拟机发送HTTP请求。

可选地,上述技术方案中,所述虚拟机的标识包括所述虚拟机的主机名、 所述虚拟机的IP地址或者用于标识如何访问所述虚拟机的URL。

可选地,上述技术方案中,所述虚拟机的标识承载在所述第一HTTP响 应的头域或者净荷中。

可选地,上述技术方案中,所述第二HTTP请求中包含MD,所述MD 是根据MD5对所述虚拟机的标识进行加密运算得到的。

图10为本发明实施例提供的一种用于HTTP网络的方法的应用场景的示 意图。

图10所示的应用场景中包括家庭网络、ISP server网络、以及ICP server 网络。其中,家庭网络中包括多个UE。多个UE包括移动电话1001和个人 电脑1002。家庭网络中还包括RGW1003。ISP server网络中包括多个BNG。 多个BNG包括BNG1004。BNG1004包括修改模块1005以及应用程序接口 服务器(application programming interface server,API server)1006。API  server1006中包括Hypervisor1007。ICP server网络中包括多个ICP server。多 个ICP server包括ICP server1010。

参见图10,个人电脑1002向ICP server1010发送HTTP请求。HTTP请 求到达BNG1004后,修改模块1005在HTTP请求中添加BNG1004的标识, 生成携带BNG1004的标识的HTTP请求。BNG1004通过因特网向ICP server1010发送携带BNG1004的标识的HTTP请求。ICP server1010接收到 携带BNG1004的标识的HTTP请求后,通知BNG1004加载VM1009。

参见图10,BNG1004中部署用于加载VM1009的API server1006。API server1006提供用于加载VM的应用程序接口(application programming  interface,API),供ICP server1010调用。下面对如何调用用于加载VM的 API进行举例。ICP server1010可以向BNG1004发送HTTP请求,从而调用 用于加载VM1009的API。HTTP请求的格式可以是:

其中,Host为API server1006的主机名。不同的BNG提供的API server的 主机名不同,ICP server1010需要确定访问ISP网络中哪一个BNG。“imageRef” 内容用于指导BNG1004从何处获取VM1009对应的映像文件。 "configurationid"用于指导BNG1004为VM1009分配的资源,例如CPU的个 数,内存的容量,磁盘的容量。ICP server1010通过调用用于加载VM1009 的API,就可以驱动BNG1004加载VM1009。

BNG1004中包含修改模块1005,可以在个人电脑1002发起的HTTP请 求中插入新定义的头域字段。

图11为图10所示的应用场景中的信令交互示意图。如图11所示,交互 流程包括:

1、个人电脑1002向ICP server1010发送业务请求。业务请求可以是HTTP 请求。

举例来说,HTTP请求的格式可以是:

其他头域

HTTP净荷

2、BNG1004的修改模块1005在HTTP请求的报文头中插入BNG1004 的标识。BNG1004的标识通过新的头域字段携带。BNG1004的标识为 BNG1004提供的用于加载VM的API的访问方式。(例如,API server1006 的IP地址,API server1006的主机名或者API server1006的URL。

本实施例提供了新定义的Header Field的格式的三种表达方式。

举例来说,API server1006的IP地址可以是:

Bng-Api-Server:11.22.1.1

举例来说,API server1006的主机名可以是:

Bng-Api-Server:virtualmachine.api.bng1234.huawei.com

举例来说,API server1006的URL可以是:

Bng-Api-URL:

virtualmachine.api.bng1234.huawei.com//version1/virualmach  ine

插入BNG1004的标识后,HTTP请求的格式可以是:

其他头域;

HTTP净荷

3、修改模块1005生成的HTTP请求中可以包括头域的校验头域。例如 消息摘要算法第五版的消息摘要。校验头域用于验证新增加的头域的完整性;

4、BNG1004将修改后的HTTP请求发送给ICP server1010;

5、ICP server1010根据HTTP请求的报文头中的BNG1004的标识获得 用于加载VM1009的API的访问方式。举例来说,ICP server1010可以通过 API server1006的IP地址、API server1006的主机名或者API server1006的 URL访问用于加载VM1009的API。

6、ICP server1010访问BNG1004提供的用于加载VM1009的API,加载 VM1009到BNG1004。ICP server1010获得VM1009的访问方式。具体实现 时可以是:

ICP server1010判断BNG1004中没有加载为ICP server1010服务的 VM1009,或者ICP server1010判断该BNG1004中请求ICP server1010提供 服务的用户数超过了阈值,决定在BNG1004中加载VM1009;

ICP server1010调用BNG1004提供的用于加载VM1009的API。具体可 以是ICP server1010向BNG1004发送HTTP请求。HTTP请求中携带加载 VM1009需要的参数。举例来说,HTTP请求的格式可以是:

BNG1004根据通过加载VM1009需要的参数,完成VM1009的加载过程。 BNG1004向ICP server1010发送HTTP响应。HTTP响应中携带VM1009的 访问方式。访问方式可以是VM1009的IP地址或者VM1009的主机名。

7、ICP server1010通知个人电脑1002VM1009的访问方式。可以通过向 个人电脑1002发送HTTP响应。HTTP响应中可以携带VM1009的IP地址 或者VM1009的主机名。

关于VM1009的访问方式,可以在HTTP响应的净荷中携带。举例来说, HTTP响应的格式可以是:

HTTP/1.0200OK

Content-Type:text/html

其他头域

http净荷(包括VM1009的访问方式,例如vmip=33.1.1.1; vm-host-name=vm33.isp1.com)

关于VM1009的访问方式,可以携带在HTTP重定向中。HTTP重定向 的格式可以是:

HTTP/1.1302Found

Location:http://vm33.isp1.com

其他头域

图12为本发明实施例提供的一种用于HTTP网络的方法的应用场景的示 意图。

图12所示的应用场景中包括家庭网络、ISP server网络、以及ICP server 网络。其中,家庭网络中包括多个UE。多个UE包括移动电话1201和个人 电脑1202。家庭网络中还包括RGW1203。ISP server网络中包括多个BNG。 多个BNG包括BNG1204。BNG1204包括修改模块1205以及API server1206。 API server1206中包括Hypervisor1207。ICP server网络中包括多个ICP server。 多个ICP server包括ICP server1210。

参见图12,个人电脑1202向ICP server1210发送HTTP请求。HTTP请 求到达BNG1204后,修改模块1205在HTTP请求中添加VM1209的标识, 生成携带VM1209的标识的HTTP请求。BNG1204通过因特网向ICP server1210发送携带VM1209的标识的HTTP请求。ICP server1210接收到携 带VM1209的标识的HTTP请求后,通知BNG1204在VM1209中部署应用 程序服务器端。

参见图12,BNG1004中部署用于加载VM1209的API server1206。修改 模块1205可以从API server1206获得VM1209的标识,从而生成携带VM1209 的标识HTTP请求。VM1209的标识可以携带在HTTP请求的报文头的头域 中。VM1209的标识可以是VM1209的IP地址,或者VM1209的主机名。

举例来说,VM1209的IP地址的格式可以是:

Bng-allocated-Server:33.1.1.1

举例来说,VM1209的主机名的格式可以是:

Bng-allocated-Server:vm33.isp1.com

图13为图12所示的应用场景中的信令交互示意图。如图13所示,交互 流程包括:

1、个人电脑1202向ICP server1210发送业务请求。业务请求可以是HTTP 请求。

2、BNG1204的报文修改模块1205在HTTP请求的报文头中插入 VM1209的标识。VM1209的标识可以携带在HTTP请求的报文头的头域中。 VM1209的标识可以是VM1209的IP地址,或者VM1209的主机名。

3、BNG1204将修改后的HTTP请求发送给ICP server1210;

4、ICP server1210判断VM1209中是否部署了应用程序服务器端。如果 VM1209中还没有部署应用程序服务器端,则ICP server1210通过telnet的用 户界面向BNG1204发送在VM1209中部署应用程序服务器端的命令。

5、BNG1204在VM1209中部署应用程序服务器端。

6、ICP server1210向个人电脑1202发送HTTP响应。HTTP响应携带了 VM1209的标识。VM1209的标识可以是VM1209的IP地址,或者VM1209 的主机名。因此,个人电脑1202获得了VM1209的访问方式。

关于VM1209的访问方式,可以在http报文的净荷中携带。举例来说, HTTP响应的格式可以是:

HTTP/1.0200OK

Content-Type:text/html

其他头域

http净荷(VM1009的访问方式,例如vmip=33.1.1.1; vm-host-name=vm33.isp1.com)

关于VM1209的访问方式,可以携带在HTTP重定向中。HTTP重定向 的格式可以是:

HTTP/1.1302Found

Location:http://vm33.isp1.com

其他头域

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各 示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结 合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特 定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方 法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和 方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示 意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现 时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另 一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互 之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接 耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用 时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的 技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可 以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中, 包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者 网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的 存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、 随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可 以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限 于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易 想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护 范围应所述以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号