与具有转发功能的电子设备的网络转发平面有关的实现规范的制作方法_4

文档序号:9291641阅读:来源:国知局
储设备,诸如磁盘、光盘(例如CD-ROM、DVD播放器)、随机存取存储器(RAM)盘、 带单元和/或闪速驱动。信息可以存储在包含在存储设备中的一个或多个非瞬时有形计算 机可读介质上。该介质可以包括例如磁盘、光盘、磁带和/或存储设备(例如闪存设备、静 态RAM(SRAM)设备、动态RAM(DRAM)设备或其他存储设备)。信息可以包括可以实现本发明 的一个或多个实施例的数据和/或计算机可执行指令。
[0080] 存储设备618可以进一步存储应用624,以及电子设备600能运行操作系统 (OSA) 626。OS 626 的示例可以包括]Vlicrosoft?Windows? 操作系统、Unix 和 Linux 操作 系统、用于Macintosh计算机的MaeOS?操作系统、诸如Symbian OS的嵌入式操作系统、 实时操作系统、开源操作系统、专属操作系统、用于移动电子设备的操作系统或能在电子设 备上运行并且执行在此所述的操作的其他操作系统。操作系统可以以本原模式或仿真模式 运行。
[0081] 存储设备618可以进一步包括描述在通信网络中应当如何转发消息的规则628。 可以使用规则628来转发在电子设备628接收的消息或信息。因此,电子设备600可以用 作转发设备、交换机或路由器。
[0082] 存储设备618可以存储实现数据库630。实现数据库630可以是数据结构,诸如表 或矩阵,其存储识别由电子设备630实现的预定函数的标识符。实现数据库可以进一步存 储预定函数的实现细节。
[0083] 存储设备618可以进一步包括用于实现通信协议640的逻辑。通信协议逻 辑640可以是用于实现提供用于访问和修改电子设备600的转发平面的功能的接口的 协议的逻辑。示例性通信协议包括但不限于OpenFlow协议(见例如McKeown、Nick等 人的〃OpenFlow:Enabling Innovation in Campus Networks, ^ACM SIGCOMM Computer Communication Review Archive, Vol. 38issue 2, pp. 69-74 (2008 年 4 月),其全部内容通 过引入合并于此)或自定义通信协议。由此,电子设备600可以用作远程控制器,诸如参考 图1所述的远程控制器140。
[0084] 通信协议逻辑640可以允许定义和/或修改由电子设备600实现的转发平面的细 节。因此,通信协议逻辑640允许使通信网络可编程。
[0085] 通信协议逻辑640可以支持使用一个或多个模型642来实现转发平面的功能。模 型642可以表示将由电子设备600实现的网络转发功能的整个集合。例如,模型642可以 定义转发平面的功能和性能。
[0086] 模型642可以合并一个或多个子模型。子模型可以表不将在模型642中实现的原 语功能的集合。通过将模型642分成子模型,鼓励模块性和划分。
[0087] 子模型可以包括一个或多个联网原语。联网原语是将由电子设备600实现的功能 的基本单位。联网原语可以是例如将用在通信网络中的特定功能的描述。联网原语可以描 述电子设备600打算执行何种动作,但通常不包括那些动作将如何执行的要求。由此,联网 原语可以描述期望结果,而不提供用于实现该结果的实现细节。可以将实现细节留给实现 联网原语的特定设备,或可以由外部设备指定。
[0088] 例如,与排队有关的联网原语可以指定电子设备600 (充当转发设备)将实现平面 排队、层次排队、缓冲资源共享、动态缓冲大小、尾丢弃队列管理、加权尾丢弃队列管理或队 列高低水印。调度原语可以指定调度应当以轮循方式,作为加权轮循、低时延排队或严格优 先级排队、加权公平排队、或基于类的加权公平排队。计量原语可以利用一速率两色(1R2C) IP分组标记、1R3C标记或2R3C标记。也可以利用多种其他联网原语。可以不指定联网原 语的实现细节,而是留给实现原语的设备决定。
[0089] 子模型可以被构造为一个或多个联网原语的集合。例如,一个子模型可以指定电 子设备600将使用具有轮循调度的平面排队。
[0090] 多个子模型可以被布置为指定电子设备600的所有网络路由/转发功能的设备模 型642。例如,模型642可以指示在某些环境,诸如高或低网络流量的期间或在接收到某些 类型的数据包时,将使用第一子模型,以及在其他环境下将使用第二子模型。通过修改模型 642,网络管理者可以使电子设备600展示不同的网络转发行为。
[0091 ] 通信协议640可以引用模型642 (构建子模型和原语)并且使用由实现数据库630 定义的功能来实现由模型642定义的功能。替选地,通信协议640可以使用与通信协议640 一起本地存储或从诸如远程控制器的远程位置提供的缺省或通用实现。
[0092] 可以使用可以在一个或多个非瞬时有形计算机可读介质上实现的计算机可执行 指令和/或数据来实现本发明的一个或多个实施例。介质可以是但不限于硬盘、致密盘、 数字多功能盘、闪存卡、可编程只读存储器(PR0M)、随机存取存储器(RAM)、只读存储器 (ROM)、磁阻随机存取存储器(MRAM)、磁带或其他计算机可读介质。
[0093] 图7描述可以实现本发明的一个或多个实施例的网络实现。系统700可以包括计 算设备600、网络712、服务提供者713、目标环境714和集群715。图7的实施例是示例性 的,其他实施例可以包括更多设备、更少设备或与图7的配置不同的配置中的设备。
[0094] 网络712可以将数据从源传输到目的地。网络712的实施例可以使用网络设备, 诸如路由器、交换机、防火墙和/或服务器(未示出)以及传输数据的连接(例如链路)。 数据可以是指具有可以适合用在一个或多个网络和/或与一个或多个设备(例如计算设备 600、服务提供者713等等)一起使用的基本上任何格式的任何类型的机器可读信息。数据 可以包括数字信息或模拟信息。可以进一步封装或不封装数据。
[0095] 网络712可以是使用有线导体和/或光纤的硬布线网络和/或可以是使用自由空 间光学、射频(RF)和/或声传输路径的无线网络。在一个实现中,网络712可以是基本上 开放的公共网络,诸如互联网。在另一实现中,网络712可以是更受限的网络,诸如公司虚 拟网络。网络712可以包括互联网、内联网、局域网(LAN)、广域网(WAN)、城域网(MAN)、无 线网络(例如使用IEEE 802. 11)或其他类型的网络。网络712可以使用中间件,诸如通用 对象请求代理架构(CORBA)或分布式组件对象模型(DCOM)或可以使用Web服务,诸如REST 服务。网络和/或在此所述的网络上操作的设备的实现不限于例如任何特定数据类型、协 议和/或架构/配置。
[0096] 服务提供者713可以包括使服务可用于另一设备的设备。例如,服务提供者713 可以包括使用服务器和/或其他设备向目的地提供一个或多个服务的实体(例如个人、公 司、教育机构、政府机关等等)。服务可以包括由目的地执行来实现操作(例如优化操作) 的指令。替选地,服务可以包括代表目的地执行来代表在目的地实现操作的指令。
[0097] 服务器714可以包括在网络712上接收信息的设备。例如,服务器714可以是从 计算机600接收用户输入的设备。
[0098] 集群715可以包括多个执行单元(UE) 716和可以代表计算机600和/或诸如服务 提供者713或服务器714的另一设备执行处理。例如,集群715可以在从计算机600接收 的操作上执行并行处理。集群715可以包括驻留在单个设备或芯片上或驻留在多个设备或 芯片上的UE716。
[0099] 执行单元(UE) 716可以包括代表诸如请求设备的设备执行操作的处理设备。UE可 以是微处理器、现场可编程门阵列(FPGA)和/或另一类型的处理设备。UE716可以包括代 码,诸如用于操作环境的代码。例如,UE可以运行与并行处理行为相关的一部分操作环境。 服务提供者713可以操作集群715并且可以在预订的基础上(例如经Web服务)向计算机 600提供交互优化能力。
[0100] 执行单元(UE)可以提供用于应用624的远程/分布式处理能力。硬件执行单元 可以包括可以执行和/或参与并行编程活动的设备(例如硬件资源)。例如,硬件执行单元 可以响应于所接收的请求和/或任务(例如直接或经代理接收)而执行和/或参与并行编 程活动。硬件执行单元可以使用一个或多个设备来执行和/或参与基本上任何类型的并行 编程(例如任务、数据、流处理等等)。例如,硬件执行单元可以包括包含多核或多个处理器 的单个处理设备。硬件执行单元还可以是可编程设备,诸如现场可编程门阵列(FPGA)、专
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1