首页> 中国专利> 在计算机网络中发送数据的方法、系统、服务器、设备、计算机程序和计算机程序产品

在计算机网络中发送数据的方法、系统、服务器、设备、计算机程序和计算机程序产品

摘要

本发明涉及用于经由计算机网络中的数据链路发送数据的方法,其中从所述计算机网络的设备中选择(203)所述数据链路的分段的端点处的设备,将适用于处理所述数据的计算机程序传输(204)到所述设备,并且由所述设备通过执行所述计算机程序来处理(206)所述数据。

著录项

  • 公开/公告号CN102959514A

    专利类型发明专利

  • 公开/公告日2013-03-06

    原文格式PDF

  • 申请/专利权人 阿尔卡特朗讯;

    申请/专利号CN201180031016.3

  • 申请日2011-05-06

  • 分类号G06F9/46;G06F9/50;

  • 代理机构北京市金杜律师事务所;

  • 代理人王茂华

  • 地址 法国巴黎

  • 入库时间 2024-02-19 17:57:55

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-16

    未缴年费专利权终止 IPC(主分类):G06F 9/46 专利号:ZL2011800310163 申请日:20110506 授权公告日:20180323

    专利权的终止

  • 2018-03-23

    授权

    授权

  • 2013-04-03

    实质审查的生效 IPC(主分类):G06F9/46 申请日:20110506

    实质审查的生效

  • 2013-03-06

    公开

    公开

说明书

技术领域

本发明涉及用于在计算机网络中发送数据的方法、系统、服务器、 设备、计算机程序和计算机程序产品

背景技术

在现有的计算机网络中,例如公知的高级研究计划署网络 (ARPANET)中,运营商确定哪个应用运行在计算机网络的哪个部 分上。通常整个应用被放置在一个服务器上或被放置在一个数据中心 中。

可替换地,可以在多核系统中的不同处理器上运行部分应用。在 这种情况下,测量和控制应用决定哪个应用的哪个部分应当运行在哪 个处理器上。

应用包括在计算机上执行的计算机程序。所述计算机程序例如被 存储在所述计算机上的存储设备上。

可替换地,应用可以包括多个计算机程序,这些计算机程序相互 交互以执行相应应用的任务。所述多个计算机程序可以被存储在多个 非易失性存储设备上,例如存储在作为计算机网络的一部分的客户端 中或服务器上。

在属于单个应用的计算机程序位于分布的存储位置的情况下,目 前已知两种场景:

在第一种场景中,客户端计算机从所述计算机网络中的一个或多 个服务器接收表示所述应用的部分或整个的所述应用的所述计算机 程序,并执行它们。在这个场景中,如果所述客户端计算机接收到的 计算机程序的格式由所述客户端计算机识别出,则所述应用的所述部 分仅可以在所述客户端计算机上执行。为此,所述客户端计算机例如 包括识别出的和允许的计算机程序的表格,并拒绝执行并未在所述表 格中列出的计算机程序。

在第二种场景中,所述应用的第一部分,例如第一计算机程序被 存储在所述客户端计算机上并且由所述客户端计算机执行。在来自所 述客户端计算机的请求之后,在一个或多个服务器上执行所述应用的 一个或多个其他部分,例如一个或多个第二计算机程序。在所述一个 或多个服务器上存储的例如一个或多个计算机程序在存储它们的服 务器上执行。所述应用的不同部分的交互需要数据传输。仅在相应的 应用或所述应用的部分知道传输的数据的所述数据格式的情况下,才 可以实现数据传输。为此,应用或所述应用的部分例如包括数据的识 别出的或允许的格式的表格,并拒绝处理并未在所述表格中列出的数 据。

除了计算机程序外,通过计算机程序处理的数据也可以被存储在 计算机网络中的单个存储设备或多个存储设备中。在这种情况下,与 上述场景类似地处置数据。

在任一种情况下,所有应用或应用的部分必须事先通过统计知道 或者在所述应用或所述应用的部分之间动态地传送应用的部分(即计 算机程序)的存储位置、由应用处理的数据以及用于传输和存储的数 据格式。

为了克服潜在的未知格式所造成的限制,通常应用或应用的部分 任一包括对尽量多的不同格式的支持或仅支持非常有限数目的格式。

在当前的计算机网络中,存储位置或数据格式均无法被实时地调 整以适应网络环境,例如可用的带宽或计算容量。这限制了当前计算 机网络的灵活性。

发明内容

因此,本发明的目的在于增加计算机网络关于数据流动的灵活 性。

在本上下文中的数据流动表示在所述计算机网络中发送数据。

本发明的主要思想在于经由计算机网络中的数据链路发送数据, 其中从所述计算机网络的设备中选择所述数据链路的分段的端点处 的设备,将适用于处理所述数据,特别是以预定的数据格式发送所述 数据的计算机程序传输到所述设备,并且由所述设备通过执行所述计 算机程序来处理所述数据,特别是以所述预定的数据格式发送所述数 据。按照这种方式,应用(即计算机程序)被移动到最适合于处理所 述计算机网络中的所述数据的设备,而不是将所述数据发送到所述应 用。

有益地,特别是由服务器根据与所述计算机网络有关的信息从预 定的数据格式中选择用于经由所述分段发送所述数据的数据格式,与 所述计算机网络有关的信息特别是所述设备的每秒可用计算周期、数 据链路的带宽、延迟或成本,所述计算机程序适用于以所述数据格式 发送所述数据,通过在所述设备上执行所述计算机程序来以所述数据 格式发送所述数据。按照这种方式,使用了用于发送所述数据的最适 合的数据格式,并且创建所述数据格式的计算机程序被移动到计算机 网络中的最适合的位置。这意味着,基于所述计算机网络中的所述数 据流的管理,所述数据的所述处理分布在整个所述计算机网络中。

有益地,特别是由服务器根据与所述计算机网络有关的信息从预 定的计算机程序中选择所述计算机程序,与所述计算机网络有关的信 息特别是所述设备的每秒可用计算周期、数据链路的带宽、延迟或成 本。按照这种方式,选择了最适合的计算机程序。

有益地,特别是由服务器根据与所述计算机网络有关的信息选择 所述设备,与所述计算机网络有关的信息特别是所述设备的每秒可用 计算周期、数据链路的带宽、延迟或成本。按照这种方式,选择了最 适合的设备。

有益地,如果满足预定条件,则特别是从存储设备将所述计算机 程序传输到所述设备,特别是在所述传输完成之后在所述设备上开始 执行所述计算机程序,由所述计算机程序确定所述数据,并且从所述 设备发送所述数据。

有益地,以预定的第一数据格式将所述数据发送到所述设备,以 预定的第二数据格式从所述设备发送所述数据,并且所述计算机程序 适用于接收所述预定的第一数据格式的所述数据,并确定所述预定的 第二数据格式的所述数据。按照这种方式,灵活地根据所述计算机网 络状态改变数据格式。

有益地,根据与所述数据有关的信息选择所述设备或所述计算机 程序。按照这种方式,选择最适合于处理或发送所述数据的设备或计 算机程序。

此外,可以从从属权利要求和以下的描述中收集本发明的进展。

附图说明

下面,将进一步参考附图解释本发明。

图1示意性地示出了计算机网络的第一部分。

图2示意性地示出了显示了根据第一方法的一些典型步骤的流程 图。

图3示意性地示出了计算机网络的第二部分。

图4示意性地示出了显示了根据第二方法的一些典型步骤的流程 图。

具体实施方式

下面的示例的目标在于增加计算机网络关于数据流动的灵活性。

在所述示例中,描述了广域计算机网络中的数据流的传输。尽管 所述示例着重于所述广域计算机网络和所述数据流,但本发明还可以 应用于任何其他类型的数据或计算机网络。

数据的发送或发送数据例如表示任何形式地以电子方式发送和 接收所述数据。

所述广域计算机网络中的计算机例如包括处理器、非易失性存储 设备、易失性存储设备、网络接口和连接所述计算机的上述部分的数 据总线。所述计算机还包括在所述非易失性存储设备上存储的操作系 统。

数据流是在一个或多个源处生成的并且被分发到消耗或处理所 述数据流中包括的数据的一个或多个接收方的定义的数据格式的经 数字编码的信号的连续序列。例如,所述数据流包括由所述一个或多 个源发送的数据集的序列。

数据流动表示所述数据或所述数据流被经由一个或多个数据链 路从所述一个或多个源发送到所述一个或多个接收方。

数据集的所述序列中的数据集是根据允许处理单元(例如所述计 算机的所述处理器)执行有用操作的数据格式的数据的原子项。

所述数据集例如是根据预定的数据格式构建的比特序列。所述数 据格式例如描述了所述数据集之中的净荷数据和报头的位置和长度。 所述报头例如包括与所述一个或多个接收方、所述数据流中的所述数 据集的位置或所述净荷数据部分的位置和长度有关的信息。所述数据 集可以是固定长度的或可变长度的。

下面参照图1描述使用单个源(例如服务器110)和单个接收机 (例如第一客户端计算机101)的第一示例。图1示出了所述广域计 算机网络100中的第一部分。

所述第一客户端计算机101例如是具有显示器的计算机。

所述广域计算机网络100的所述第一部分包括所述第一客户端计 算机101、第一网络节点121、第二网络节点122和所述服务器110。

所述客户端计算机101和所述服务器110经由第一数据链路连 接。所述第一数据链路包括各个分段。所述各个分段的端点是设备, 例如所述服务器110、所述第一客户端计算机101、所述第一网络节 点121或所述第二网络节点122。所述第一数据链路的所述分段是在 所述设备之间的连接,例如包括用于操作它们的相应电路的光纤、无 线链路或铜线。使用传输协议(例如,公知的传输控制协议/互联网协 议(TCP/IP))经由所述第一数据链路发送所述数据。还可以使用任 何其他类型的有线或无线链路,例如根据用户数据报协议(UDP)、 以太网或IEEE 802.11标准的链路。

可以直接或间接地彼此连接所述第一网络节点121、所述第二网 络节点122、所述服务器110或所述第一客户端计算机101。

根据所述第一示例,为了发送所述数据流,从所述服务器110向 所述第一客户端计算机101发送所述数据集。为此,所述报头例如包 括所述第一客户端计算机101的互联网协议地址。

所述服务器110例如是用于捕获所述净荷数据的数字视频照相 机,包括微处理器和网络接口,所述网络接口适用于使用所述互联网 协议地址经由所述广域计算机网络100将所述数据集发送到所述第一 客户端计算机101。

所述服务器110还可以包括存储设备,并适用于从所述存储设备 读取所述净荷数据。

所述服务器110适用于执行第一应用,例如第一计算机程序。例 如所述数字视频照相机中的所述微处理器适用于执行所述第一计算 机程序。

当所述第一计算机程序被执行时,所述第一计算机程序以预定的 第一数据格式发送所述数据流,即所述数据集的所述序列。

所述数据流的内容例如是数字视频格式(公知为DV)的(原始 的)视频数据。数字视频格式采用实时的容损视频压缩,而视频是由 所述数字视频照相机记录的。所述数据流的所述预定的第一数据格式 例如被定义为在每个数据集中包括数字视频格式的所述视频的第一 单个图片(帧)作为净荷数据。

可以根据所述传输控制协议/互联网协议(TCP/IP)或所述用户数 据包协议(UDP)将所述数据集划分为多个数据包,随后经由所述第 一网络节点121或所述第二网络节点122将所述多个数据包发送到所 述第一客户端计算机101。在这种情况下,所述第一客户端计算机101 适用于接收所述多个数据包,并接合所述多个数据包,以根据所述传 输控制协议/互联网协议(TCP/IP)或所述用户数据报协议(UDP)根 据所述多个数据包重新创建所述数据集。

所述第一客户端计算机101适用于执行第二应用,例如第二计算 机程序。例如,所述客户端计算机101中的所述处理器适用于执行所 述第二计算机程序。

当所述第二计算机程序被执行时,所述第二计算机程序处理预定 的第二数据格式的所述数据流,即所述数据集的所述序列。所述第二 数据格式例如是根据ISO/IEC 14496-12和-14的mp4容器(在下面被 称为mp4格式)中提供的MPEG-4视频。

当所述第二计算机程序被执行时,所述第二计算机程序例如接收 所述预定的第二数据格式的所述数据集之一,根据一个或多个所述数 据集中的所述净荷数据确定第二单个图片(帧),并在所述显示器上 显示所述图片。

所述数字视频数据格式是存储密集型的。因此,数字视频(或更 总体而言的任何数据密集)的数据流在整个所述广域计算机网络100 中需要大量的带宽(即传输资源)和处理资源。

为了减少需要发送的数据量并因此降低使用的带宽,可以发送更 为压缩的数据格式的所述视频。例如可以使用第三应用(例如第三计 算机程序)来压缩所述数字视频格式的净荷数据。

所述第三计算机程序例如是减小净荷数据量的编码器或任何计 算机程序。所述第三计算机程序例如是用于根据例如所述数字视频格 式的输入确定在根据ISO/IEC 14496-12和-14的mp4容器(即所述 mp4格式)中提供的MPEG-4视频的mp4编码器。

所述第三计算机程序的目的在于提供所述服务器110处可用的所 述预定的第一数据格式的所述数据集到由所述第一客户端计算机101 请求的所述预定的第二数据格式的变换。

这样的变换的其他示例是数据编码器、对象识别器、(音频)过 滤器、数据转换器、存储设备等或上述的任意组合。

所述应用或计算机程序例如被表示和存储为所述设备(例如所述 服务器110、所述第一客户端计算机101、所述第二客户端计算机102、 所述第一网络节点121或所述第二网络节点122)能够读取或执行的 任意类型的指令集。所述应用或计算机程序例如被存储为机器代码、 二进制代码、汇编代码或字节代码。

所述第一网络节点121或所述第二网络节点122例如是所述广域 计算机网络100中的网关。

所述第一网络节点121或所述第二网络节点122适用于执行所述 第三应用,例如所述第三计算机程序。例如,所述网络节点121、122 中的微处理器适用于执行所述第三应用。

当所述第三计算机程序被执行时,所述第三计算机程序接收所述 预定的第一数据格式的所述数据流,即所述数据集的所述序列,并确 定所述预定的第二数据格式的所述数据流,即所述数据集的所述序 列。例如,所述第三计算机程序从所述第一网络节点121或所述第二 网络节点122的输入缓存器中读取所述预定的第一数据格式的后续数 据集,确定所述预定的第二数据格式的所述数据集,并将所述预定的 第二数据格式的后续数据集存储在所述第一网络节点121或所述第二 网络节点122的输出缓存器中。

可替换地或附加地,所述第三计算机程序可以适用于根据所述预 定的第一数据格式的一个或多个所述数据集确定所述预定的第二数 据格式的一个或多个所述数据集。

所述服务器110或所述第一客户端101也可以适用于执行所述第 三应用,例如所述第三计算机程序。在这种情况下,所述第一客户端 计算机101或所述服务器110包括所述输入缓存器和所述输出缓存 器。

此外,所述第一客户端计算机101适用于将用于接收所述预定的 第二数据格式的所述数据流的请求发送到所述服务器110。例如,所 述第一客户端101适用于使用所述服务器110的所述互联网协议地址 将第一消息(请求)发送到所述服务器110。所述第一消息例如是包 括用于接收所述数据流mp4格式的请求的超文本传输协议(HTTP) 消息GET。

此外,所述服务器110适用于接收所述请求(例如所述第一消息), 并例如在接收到所述第一消息之后,从所述预定的计算机程序中选择 所述第三计算机程序,或者从所述广域计算机网络100的设备中选择 所述第一数据链路的分段的端点处的设备。

例如从预定设备的列表中选择所述设备,所述列表例如是由所述 广域计算机网络100的管理者生成的,并被存储在所述服务器110上 与相应的设备的互联网协议地址相关联的数据库中。

可替换地,可以使用请求所述广域计算机网络100中的可用设备 的广播消息和所述设备的对应回复。在这种情况下,所述设备和所述 服务器110适用于发送和接收适当的消息。

例如基于可用设备的监视和适合于形成所述广域计算机网络100 中的所述第一数据链路的分段的所述设备之间的连接来选择所述设 备或所述第三计算机程序。例如,用于选择所述设备或所述第三计算 机程序的规则由所述广域计算机网络100的运营商定义,并且被存储 所述服务器100上知识库中。例如,专家系统(即处理所述规则和所 述监视的结果的软件)被用于选择所述设备或所述第三计算机程序。

用于监视所述广域计算机网络100的方法对于本领域技术人员而 言是公知的,因此在这里不进行进一步的描述。

例如,所述数据库附加地包括所述广域计算机网络100的所述预 定设备或所述预定的计算机程序的规范。所述规范用于确定与所述预 定的设备或预定的计算机程序的可用性和它们相应的能力有关的信 息。

此外,可以使用适合于所述广域计算机网络100中的所述第一数 据链路的分段的连接或设备的实时状态信息。所述实时状态信息例如 由网络设备管理工具(例如阿尔卡特-朗讯5670报告和分析管理器) 收集,并在预定的时间点用报告消息发送到所述服务器110。基于该 信息,选择适当的处理资源(即所述广域计算机网络100中的设备) 来执行所述第三计算机程序。

当选择所述设备或所述计算机程序时,可以考虑适合于形成所述 第一数据链路的分段的设备之间的连接(例如,诸如包括用于操作它 们的所述电路的所述光纤、所述无线链路或所述铜线之类的传输资 源),以确保所述第一数据链路的所述分段或所述设备能够支持所述 第一计算机程序、所述第二计算机程序或所述第三计算机程序之间所 需要的数据交换。

由所述服务器110通过查找路由表中的第一条目来例如初始确定 所述第一数据链路,所述路由表描述了可用的设备和适合于形成所述 广域计算机网络100中的所述第一数据链路的分段的设备之间的连 接。所述路由表例如被存储在所述服务器110上。可替换地或附加地, 可以使用其他的方法(例如公知的地址解析协议(ARP))来初始地 选择适合于形成所述第一数据链路的分段的所述连接。在这种情况 下,可以在所述广域计算机网络中的任何设备上存储与所述路由有关 的信息。

此外,例如可以通过替换设备或应用(例如计算机程序)或通过 增加初始并不作为所述第一数据链路的一部分的设备或应用来改变 所述第一数据链路。例如如果在初始选择的数据链路上没有足够的传 输容量可用,则例如在初始设立所述应用或设备时实时地改变所述第 一数据链路。

此外,在发送所述数据期间实时地将新设备或应用(例如计算机 程序)替换或引入到所述第一数据链路中,例如以应对所述设备的利 用模式的改变,所述第一数据链路的所述分段或所述连接适合于形成 所述第一数据链路的分段。

所述服务器110适合于从所述预定的应用(例如所述预定的计算 机程序)中选择所述第三应用(例如所述第三计算机程序)。所述第 三计算机程序例如由所述服务器110根据与所述数据或所述广域计算 机网络100有关的信息来选择。与所述计算机网络有关的信息例如是 在用于执行所述第三应用的所述设备上的所述每秒可用的所述计算 周期、所述第一数据链路或适合于形成所述数据链路的分段的所述连 接的带宽、延迟或成本。

所述成本例如是所述广域计算机网络100中的所述连接或所述预 定设备的能量消耗成本、维护成本或租借成本。

例如,所述服务器110适合于在接收到用于接收作为根据ISO/IEC 14496-12和-14的mp4容器中提供的MPEG-4视频的所述数据流的所 述请求之后选择所述mp4编码器。

此外,所述服务器110适合于例如使用所述超文本传输协议 (HTTP)将所述第三应用(例如所述第三计算机程序)传输到所述 设备。例如,所述服务器110发送第二消息(PUT),其包括所述第 三计算机程序。

所述第三应用(例如所述第三计算机程序)的传输或传输所述第 三应用(例如所述计算机程序)例如表示任何形式地以电子方式将所 述第三应用(例如所述第三计算机程序)发送到所述设备。例如,传 输表示将所述机器代码、所述字节代码或所述汇编代码从所述广域计 算机网络100中的其存储位置发送到所述设备。

所述预定的设备例如是所述服务器110、所述第一客户端计算机 101、所述第一网络节点121或所述第二网络节点122。

所述预定的设备还可以包括作为所述广域计算机网路100的一部 分的任何其他的设备。

为了用信号将所述第三计算机程序传输的完成发送到所述设备, 所述设备可以适用于向所述服务器110发送第三消息(响应)。所述 第三消息例如是超文本传输协议消息200OK。

在这种情况下,所述服务器110可以适用于接收所述第三消息, 并且在接收到所述第三消息之后,使用所述预定的第一数据格式将所 述数据流的后续数据集发送到所述设备。在接收到所述第三消息之 后,所述服务器110例如适用于将所述数据视频格式的所述数据集发 送到所述设备。

为了用信号将所述数据流发送的终止发送到所述服务器110,所 述第一客户端计算机101可以适用于发送第四消息(请求)到所述服 务器110。所述第四消息例如是超文本传输协议(HTTP)消息GET, 其包括终止所述数据流的发送的请求。

在这种情况下,所述服务器110可以适用于接收所述第四消息, 并且停止将所述数据流的后续数据集发送到所述设备。

此外,所述服务器110适用于特别是在接收到所述第四消息之后, 将第五消息(请求)发送到所述设备。所述第五消息例如是超文本传 输协议(HTTP)消息DELETE,包括对从所述设备中删除所述第三 应用(例如所述第三计算机程序)的请求。

在这种情况下,所述设备(在所述第一示例中为所述第二网络节 点122)可以适用于接收所述第五消息,并从其存储设备中删除所述 第三应用(例如,所述第三计算机程序)。按照这种方式,只要需要 所述第三应用来发送所述数据流,就仅使用所述设备上的存储容量。 可选地,如果符合超时条件,所述设备可以适用于删除所述第三应用。 在所述第三应用1分钟不活动之后,由所述设备将所述应用从所述设 备中删除。

此外,为了增强安全性,可以使用附加的消息以用于认证。例如, 可以使用非对称加密,所述非对称加密使用根据超文本传输协议安全 (HTTPS)的私钥和公钥对。

此外,为了增强鲁棒性,可以使用附加的消息以用信号发送状态。 例如,可以使用超文本传输协议(HTTP)状态消息。

附加地,所述服务器110可以适用于确定是否满足预定的条件, 并且如果满足所述预定条件,则将所述第三计算机程序传输到所述设 备。

所述预定的条件例如是所述广域计算机网络100的状态与预定阈 值的比较。

例如,监视所述服务器110和所述第一客户端计算机101之间的 所述第一数据链路中的所述设备的每秒当前可用的计算周期的数目, 并将该数目与所述预定的阈值(例如10个每秒百万条指令(MIPS)) 实时地进行比较。

如果每秒当前可用的计算周期的所述数目低于所述预定阈值,则 在这种情况下满足所述预定的条件。

所述预定的条件还可以考虑任何其他的特征,例如所述广域计算 机网络100的传输带宽、成本或延迟和对应的其他类型的阈值。

此外,所述设备(例如所述服务器110、所述第一客户端计算机 101、所述第一网络节点121或所述第二网络节点122)适用于接收所 述第三计算机程序,以便在所述计算机程序到所述设备的传输完成之 后,开始执行所述计算机程序,并处理所述数据。

这意味着,例如所述设备(例如所述服务器110、所述第一客户 端计算机101、所述第一网络节点121或所述第二网络节点122)适 用于通过执行所述第三计算机程序,接收所述预定的第一数据格式的 所述数据集并发送所述预定的第二数据格式的所述数据集。

下面参照图2中示出的流程图来描述经由所述广域计算机网络 100中的所述第一数据链路发送所述数据的第一方法。

在所述第一方法中,可以部署和执行所述第三应用(例如所述第 三计算机程序)和在其上执行所述第三应用(例如所述第三计算机程 序)的所述设备,以便提供所述第一数据格式和所述第二数据格式之 间适当的变换,并选择和传输到所述设备。

在所述第一方法中,在所述第二网络节点122上在所述第一数据 链路中引入所述mp4编码器来提供所述第一客户端计算机101接受的 格式的所述数据流。

可替换地,可以在所述第一数据链路中引入所述mp4编码器,以 减小在发送所述数据流之前或在所述数据流的传输的运行时间期间 所述第一数据链路的分段上所需的传输带宽。

当所述服务器110接收到请求接收所述预定的第二数据格式的 所述数据流的所述第一消息时,所述第一方法开始。所述第一消息例 如包括用于接收以所述mp4格式提供的所述MPEG-4视频格式的所 述数据流的所述请求。

之后,执行步骤200。

在所述步骤200中,特别地由所述服务器110从预定的数据格 式中选择用于经由所述广域计算机网络100的所述分段发送所述数据 的所述预定的第一数据格式。例如根据与所述数据或所述广域计算机 网络100有关的信息(特别是所述设备上的所述每秒可用的计算周期、 所述第一数据链路的带宽、适合于形成所述第一数据链路的部分的所 述连接的带宽、延迟或成本)来选择所述预定的第一数据格式。例如, 由于所述服务器110包括用于提供所述数字视频格式的专用集成电路 (ASIC),因此将所述数字视频格式选择作为所述预定的第一数据格 式。之后执行步骤201。

在所述步骤201中,执行测试以确定所述预定的第一数据格式 和所述预定的第二数据格式是否匹配。在所述预定的第一数据格式和 所述预定的第二数据格式匹配的情况下,执行步骤220。否则执行步 骤202。

在所述步骤220中,数据格式匹配。因此不需要附加的处理。 在这种情况下,所述第一应用(例如所述第一计算机程序)确定所述 预定的第一数据格式的所述数据流的所述数据集,并使用所述传输控 制协议/互联网协议(TCP/IP)或所述用户数据报协议(UDP)经由所 述第一网络节点121或所述第二网络节点122将所述数据集发送到所 述第一客户端计算机101。之后执行步骤221。

在所述步骤221中,确定中断条件。在并未满足所述中断条件 的情况下,执行所述步骤220以继续发送所述数据流。否则,所述第 一方法结束。所述第一方法例如在由所述服务器110接收到来自所述 接收方(例如所述第一客户端计算机101)的断开请求的任何时间结 束。所述断开请求例如是所述第四消息。

在所述步骤202中,根据与所述广域计算机网络100有关的所 述信息或所述数据,从所述预定的应用(例如所述预定的计算机程序) 中选择适合于处理所述数据的所述第三应用(例如所述第三计算机程 序)。所述第三计算机程序例如由所述服务器110根据与所述数据或 所述广域计算机网络100有关的所述信息来选择。例如,由于所述 mp4编码器能够根据所述预定的第一数据格式(例如数字视频格式) 的输入确定所述预定的第二数据格式(例如所述mp4格式),因此选 择所述mp4编码器。之后执行步骤203。

在所述步骤203中,根据与所述数据或所述广域计算机网络100 有关的信息从所述广域计算机网络100的预定设备中选择所述第一数 据链路的所述分段的所述端点处的所述设备。所述广域计算机网络 100的所述预定的设备例如是所述服务器110、所述第一客户端计算 机101、所述第一网络节点121或所述第二网络节点122。例如由于 在所述第二网络节点122上的每秒可用的计算周期的数目足够用于执 行所述第三应用,因此选择所述第二网络节点122作为所述设备,并 且所述服务器110和所述第二网络节点122之间的连接的带宽适合于 形成所述第一数据链路的所述分段,例如足够用于发送所述数字视频 格式的所述数据集。之后执行步骤204。

在所述步骤204中,将所述第三计算机程序传输到所述设备, 例如所述服务器110、所述第一客户端计算机101、所述第一网络节 点121或所述第二网络节点122。例如将所述第三计算机程序传输到 所述第二网络节点122,特别是从所述服务器110中的所述存储设备 或与所述广域计算机网络100相连接的存储设备进行传输。使用所述 第二消息(例如所述超文本传输协议消息PUT)来实现所述传输。此 外,特别是在完成所述传输之后,在所述设备上开始所述计算机程序 的执行。之后执行步骤205。

在所述步骤205中,所述第一应用(例如所述第一计算机程序) 确定所述预定的第一数据格式(例如所述数字视频格式)的所述数据 流的所述数据集,并将其发送到所述第二网络节点122。例如,单个 图片(帧)由所述数字视频照相机捕获,并由所述专用集成电路处理 为所述数字视频格式。之后执行步骤206。

在所述步骤206中,由所述设备通过执行所述第三应用(例如 所述第三计算机程序)来处理所述数据。处理所述数据例如表示接收 所述第一数据格式的所述数据集,确定所述第二数据格式的所述数据 集,并将所述第二数据格式的所述数据集发送到所述第一客户端计算 机101。例如在所述设备(例如所述第二网络节点122)上通过执行 所述第三计算机程序来将所述数据以所述第二数据格式进行发送。之 后执行步骤207。

在所述步骤207中,确定所述预定的条件。在并未满足所述预 定的条件的情况下,执行步骤208。否则,即如果满足所述预定的条 件,则执行所述步骤202。如果所述设备上的每秒当前可用的计算周 期的所述数目降到所述预定的阈值(例如10个每秒百万条指令 (MIPS))之下,则例如满足所述预定的条件。

在所述步骤208中,确定中断条件。在并未符合所述中断条件 的情况下,执行所述步骤205以继续发送所述数据流。否则执行可选 步骤209。所述中断条件例如是来自所述接收方(例如所述第一客户 端计算机101)的由所述服务器110接收到的断开请求。所述断开请 求例如是指示用于终止所述数据的传输的请求的所述第四消息(例如 所述超文本传输协议消息GET)。

在所述可选步骤209中,所述服务器110将用于删除所述第三 应用(例如所述第三计算机程序)的所述请求发送到所述设备。例如 所述服务器110将指示用于删除所述第三应用的请求的所述第五消息 (例如所述超文本传输协议消息DELET)发送到所述设备。之后执 行可选步骤210。

在所述可选步骤210中,在接收到所述第五消息时,例如由所 述设备从所述设备中删除所述第三应用(例如所述第三计算机程序)。 之后所述第一方法结束。

此外,在所述数据流开始之前,可以发送用于设立所述设备、 所述接收方(例如所述第一客户端计算机101)、或所述源(例如所 述服务器110)或所述广域计算机网络100的任何其他的网络节点的 消息。例如,可以发送超文本传输协议消息来设立所述第一应用、所 述第二应用、所述第三应用或具有适当的参数的相应计算机程序。

在所述第一方法的修改中,在所述步骤220或205中发送所述 数据集的同时,例如由所述服务器110来监视所述广域计算机网络 100,以收集与所述广域计算机网络100有关的所述信息。

所述服务器110根据与所述数据或所述广域计算机网络100有 关的所述信息确定所述预定的条件。例如所述服务器110和所述第一 客户端计算机101之间的所述第一数据链路中的设备的每秒当前可用 计算周期的数目被监视,并且与所述预定的阈值(例如10个每秒百 万条指令(MIPS))实时地进行比较。

在这种情况下,如果所述设备上的所述每秒可用的计算周期降 到所述预定的阈值之下,则满足所述预定的条件,并执行所述步骤 202。

按照这种方式,所述第三计算机程序被传输到所述广域计算机 网络100中的最适合的设备,同时继续所述数据流的发送。

这意味着,通过调节所述第一数据链路以适应所述广域计算机 网络100的变化,实时地管理所述数据流的数据流动。

在所述第一示例中,质量损失(较小的分辨率或帧丢失)是可 接受的,但视频必须被递送。为了做到这一点,所述服务器110将确 定什么样的替换数据格式适合于在接收方处进行递送。基于通过监视 收集的与所述广域计算机网络100有关的所述信息,按照如下方式调 节所述第三计算机程序,该方式使得符合要求或并未超过所述预定的 设备或所述第一数据链路的分段的限制。

在所述第一示例中,所述数据流可以被以所述第二数据格式(例 如所述mp4格式)发送到所述第一客户端计算机101,因为所述第一 客户端计算机101请求所述第二数据格式的所述数据流。这意味着在 所述第一示例中,所述mp4编码器可以被放置在所述广域计算机网络 100中的任意网络节点上或所述服务器110上。

在所述第一示例中,所述服务器110上的每秒可用的计算周期 受限,并且因此所述第二网络节点122被选择作为所述设备。可选地, 在所述服务器110具有适当的处理单元的情况下,为了减小整个第一 数据链路中的带宽消耗,可以通过选择所述服务器110作为所述设备 来代替地在所述服务器110上执行所述mp4编码器。

下面参照图3描述使用所述单个资源(例如所述服务器110和 两个接收机,例如所述第一客户端计算机101和第二客户端计算机 102)的第二示例。图3示出了所述广域计算机网络100的第二部分。

所述第二客户端计算机102例如具有与所述第一客户端计算机 101的特征对应的特征,如上所述。

附加地,所述服务器110接收并处理与从所述第一客户端计算 机101接收的消息相对应的来自所述第二客户端计算机102的消息。

附加地,所述服务器110确定并发送与发送到所述第一客户端 计算机101的消息相对应的去往所述第二客户端计算机102的消息。

所述广域计算机网络100的所述第二部分包括如所述第一示例 中所述的所述广域计算机网络100的所述第一部分,并且还包括所述 第二客户端计算机102。

经由第二数据链路连接所述第二客户端计算机102和所述服务 器110。所述第二数据链路包括分段。所述分段的端点是设备,例如 所述服务器110、所述第二客户端计算机102、所述第一网络节点121 或所述第二网络节点122。所述第二数据链路的所述分段是在所述设 备之间的连接,例如包括操作它们的相应电子电路的所述光纤、所述 无线链路或所述铜线。使用所述传输协议(例如公知的传输控制协议 /互联网协议(TCP/IP))经由所述第二数据链路发送所述数据。也可 以使用任何其他类型的(例如根据用于数据报协议(UDP)、以太网 或IEEE 802.11标准的)有线或无线数据链路。

可选地,所述第一客户端计算机101和所述第二客户端计算机 102也可以彼此直接连接。

所述第一网络节点121、所述第二网络节点122、所述服务器 110、所述第一客户端计算机101或所述第二客户端计算机102可以 彼此直接或间接地连接。

根据所述第二示例,所述第一客户端计算机101请求所述第二 数据格式(例如所述mp4格式)的所述数据流,并且所述第二客户端 计算机请求所述第一数据格式(例如所述数字视频格式)的所述数据 流。

不是所述服务器110发送两个不同的数据流(用每个请求的格 式发送一个),而是从所述服务器110以请求的数据格式之一将所述 数据流发送到所述设备,并且从所述设备以两个数据流进行发送(用 每个请求的格式发送一个)。

为此,所述服务器110适用于从所述预定的设备中选择最优位 于所述广域计算机网络100中的设备,以处理所述第三计算机程序并 开始发送两个数据流。

为了区分接收方,所述数据集的所述报头可以包括识别多于一 个接收方的附加信息(例如包括所述第一客户端计算机101和所述第 二客户端计算机102的互联网协议地址)以及与用于发送到每个所述 接收方的数据集的数据格式有关的信息。

所述预定的设备具有与在所述第一示例中描述的特征相同的特 征。此外,一些或全部的所述预定设备可以包括用于存储所述第一数 据格式的所述第一数据集和所述第二数据格式的第二数据集的第一 输出缓存器。

所述服务器110例如适用于使用成本函数,所述成本函数考虑 与所述数据或所述广域计算机网络100有关的所述信息,例如所述设 备上的每秒可用的计算周期、适合于形成所述第一数据链路或所述第 二数据链路的分段的所述连接上的可用传输带宽,延迟或成本可以用 于从最优于处理所述第三应用或所述第三计算机程序的所述预定的 设备(例如,所述mp4编码器)选择所述设备。

根据所述第二示例的所述预定的应用(例如所述预定的计算机 程序)具有与在所述第一示例中描述的特征相同的特征。附加地,一 个或多个所述预定的应用或预定的计算机程序可以适用于仅向多于 一个接收方(例如所述第一客户端计算机101和所述第二客户端计算 机102)转发所述数据集。

附加地,一些或全部的所述预定的应用(例如所述预定的计算 机程序)适用于处理所述报头以识别所述多于一个接收方。附加地, 一些或全部的所述预定(例如所述预定的计算机程序)适合于处理所 述报头以识别与用于发送到每个所述接收方的数据集的数据格式有 关的所述信息,并使用相应的数据格式将所述数据集发送到相应的接 收方。

下面参照图4描述用于发送所述数据的第二方法。

在由所述服务器110从所述第一客户端计算机101接收到请求 所述预定的第一数据格式(例如mp4格式)的所述数据流的所述第一 消息,同时所述服务器110已经将所述数据流的数据集以所述预定的 第二数据格式(例如数字视频格式)发送到所述第二客户端计算机102 的情况下,所述第二方法开始。

在开始之后,执行步骤400。

在所述步骤400中,特别地由所述服务器110从所述预定的数 据格式中选择最适合于经由所述广域计算机网络100的所述分段将所 述数据发送到所述设备的预定的第三数据格式。例如根据与所述数据 或所述广域计算机网络100有关的信息(特别是每秒可用的计算周期、 所述第一数据链路的带宽、适合于形成所述第一数据链路的部分的所 述连接的带宽、延迟或成本)选择所述预定的第三数据格式。例如选 择所述数字视频格式作为所述预定的第三数据格式,这是因为所述服 务器110包括用于提供所述数字视频格式的专用集成电路(ASIC)。 之后执行步骤401。

在所述步骤401中,根据与所述广域计算机网络100有关的所 述信息或所述数据从所述预定的应用(例如所述预定的计算机程序) 选择适合于处理所述数据的所述第三应用(例如,所述第三计算机程 序)。例如由所述服务器110根据与所述数据或所述广域计算机网络 100有关的所述信息来选择所述第三计算机程序。例如,选择所述mp4 编码器,这是因为所述mp4编码器能够以所述第二数据格式(例如所 述数字视频格式)转发所述数据集,并根据所述预定的第三数据格式 (例如数字视频格式)的输入确定所述预定的第二数据格式(例如所 述mp4格式)的所述数据集。之后执行步骤402。

在所述步骤402中,根据与所述数据或所述广域计算机网络100 有关的所述信息从所述广域计算机网络100的预定设备选择所述第一 数据链路的所述分段的所述端点处的所述设备。所述广域计算机网络 100的所述预定的设备例如是所述服务器110、所述第一客户端计算 机101、所述第一网络节点121或所述第二网络节点122。例如所述 第二网络节点122被选择作为所述设备,这是因为所述第二网络节点 122上的每秒可用的计算周期的数目足够用于执行所述第三应用,并 且所述服务器110和所述第二网络节点122之间的连接的带宽适合于 以所述第三数据格式(例如所述数字视频格式)发送所述数据集。之 后执行步骤403。

在所述步骤403中,所述第三计算机程序被传输到所述设备, 例如,如所述第一方法的步骤204中描述的那样。之后执行步骤404。

在所述步骤404中,所述第一应用(例如所述第一计算机程序) 确定所述预定的第三数据格式(例如所述数字视频格式)的所述数据 流的所述数据集,并将其发送到所述第二网络节点122。例如,单个 图片(帧)由所述数字视频照相机捕获,并且由所述专用集成电路 (ASIC)处理为所述数字视频格式。之后执行步骤405。

在所述步骤405中,由所述设备通过执行所述第三应用(例如 所述第三计算机程序)来处理所述数据。处理所述数据例如表示接收 所述第三数据格式的所述数据集,分析所述报头以确定哪个数据格式 用于哪个接收方,确定所述第一数据格式和所述第二数据格式的所述 数据集,将所述数据集以所述第二数据格式发送到所述第一客户端计 算机101,并以所述第一数据格式发送到所述第二客户端计算机102。 之后执行步骤406。

在所述步骤406中,确定所述预定的条件。在并未满足所述预 定的条件的情况下,执行步骤407。否则,即如果满足所述预定的条 件,则执行所述步骤400。如果所述设备上的每秒可用的计算周期的 所述数目降到所述预定阈值(例如10个每秒百万条指令(MIPS)) 之下,则例如满足所述预定的条件。

在所述步骤407中,确定中断条件。在并未满足所述中断条件 的情况下,执行所述步骤404以继续发送所述数据流。否则执行可选 步骤408。所述中断条件例如是来自所述接收方之一(例如所述第一 客户端计算机101或所述第二客户端计算机102)的由所述服务器110 接收到的断开请求。所述断开请求例如是所述第四消息,例如所述超 文本传输协议消息GET,该消息指示用于终止所述数据的发送的请 求。

在所述可选步骤408中,所述服务器110将用于删除所述第三 应用(例如所述第三计算机程序)的所述请求发送到所述设备。例如, 所述服务器110将所述第五消息(例如所述超文本传输协议消息 DELETE,该消息指示用于删除所述第三应用的请求)发送到所述设 备。之后执行可选步骤409。

在所述可选步骤409中,例如由所述设备在接收到所述第五消 息之后从所述设备删除所述第三应用(例如所述第三计算机程序)。 之后所述第二方法结束。

在使用多个服务器或所述数据流的多个接收方的情况下,所述 方法同样应用于各个设备、数据链路和数据格式。

可以在适用于执行所述第三应用的任意的网络节点上或所述一 个或多个源处或所述一个或多个接收机处执行所述第三应用。

在所述一个或多个源和所述一个或多个接收机处使用的所述数 据格式不同或执行有效的数据分布的情况下可以使用所述第三应用。

在不同的接收方请求不同的数据格式以朝向请求的数据格式进 行转换的情况下,可以在所述网络节点或一个或多个源或一个或多个 接收机处执行任意需要数目的第三应用。

可替换地,可以使用所述广域计算机网络之中的单独的服务器 来选择所述第三应用,例如所述第三计算机程序或所述设备。

可替换地,还可以根据与所述广域计算机及网络有关的所述信 息或所述数据,选择所述第一计算机程序或所述第二计算机程序。

可以组合上述方法以进一步增加所述数据流动的所述管理的灵 活性。

所述方法可以被实现为计算机程序或可以被存储作为计算机可 读介质上的计算机程序。

描述和附图仅例示了本发明的原理。因此应当被理解的是,本 领域技术人员能够构思尽管在这里并未明确地示出或描述但体现了 本发明的原理并且被包括在其精神和范围内的各种布置。此外,在这 里阐述的所有示例主要旨在明确地仅用于教学目的,以帮助读者理解 本发明的原理和发明人对现有技术做出贡献的构思,并且被构造为并 不限制到这样具体阐述的示例和条件。此外,在这里阐述本发明的原 理、方面和实施例及其具体示例的所有陈述旨在涵盖其等同方式。

可以通过使用专用硬件以及能够与适当的软件相关联地执行软 件的硬件来提供图中所示的各个单元的功能(包括被标记为“处理器” 的任意功能块)。当由处理器提供时,可以由单个专用处理器,或由 单个共享处理器,或者由多个单独的处理器(它们中的一些可以被共 享)来提供各个功能。此外,对词语“处理器”或“控制器”的明确 使用并不应被理解为排他性地指代能够执行软件的硬件,并且可以隐 含地包括而不限于数字信号处理器(DSP)硬件、网络处理器、专用 集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的 只读存储器(ROM)、随机存储存储器(RAM)和非易失性存储设 备。还可以包括传统和/或定制的其他硬件。类似地,图中所示的任何 交换机仅是示意性的。可以通过程序逻辑的操作、通过专用逻辑、通 过程序控制和专用逻辑的交互或甚至是手动地执行它们的功能,如从 上下文中更具体理解的,可以由实施方选择特定的技术。

本领域技术人员应当理解的是,这里的任何框图表示体现本发 明的原理的例示性电路的概念图。类似地,应当理解的是,任何的流 程图表、流程图、状态转换图和伪代码等表示可以在计算机可读介质 中实际表示并从而由计算机或处理器执行的各种处理,而不论这样的 计算机或处理器是否被明确地示出。

本领域技术人员应当认识到,可以由编程的计算机来执行各个 上述方法的步骤。这里,一些实施例还旨在涵盖程序存储设备(例如 数字数据存储介质),所述存储设备是机器或计算机可读的或编码有 机器可执行或计算机可执行的指令程序,其中所述指令执行上述方法 中的一些或全部步骤。程序存储设备可以例如是数字存储器、磁存储 介质(例如磁盘和磁带)、硬盘驱动器或光可读数字数据存储介质。 实施例还旨在涵盖被编程为执行上述方法的所述步骤的计算机。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号