DEDICATED EGRESS FAST PATH FOR NON-MATCHING PACKETS IN AN OPENFLOW SWITCH
    61.
    发明申请
    DEDICATED EGRESS FAST PATH FOR NON-MATCHING PACKETS IN AN OPENFLOW SWITCH 有权
    在开流式开关中用于非匹配分组的专用EGRESS快速路径

    公开(公告)号:US20150194215A1

    公开(公告)日:2015-07-09

    申请号:US14151730

    申请日:2014-01-09

    Abstract: A first packet of a flow received onto an OpenFlow switch causes a flow entry to be added to a flow table, but the associated action is to perform a TCAM lookup. A request is sent to an OpenFlow controller. A response OpenFlow message indicates an action. The response passes through a special dedicated egress fast-path such that the action is applied and the first packet is injected into the main data output path of the switch. A TCAM entry is also added that indicates the action. A second packet of the flow is then received and a flow table lookup causes a TCAM lookup, which indicates the action. The action is applied to the second packet, the packet is output from the switch, and the lookup table is updated so the flow entry will thereafter directly indicate the action. Subsequent packets of the flow do not involve TCAM lookups.

    Abstract translation: 接收到OpenFlow交换机上的流的第一个数据包会将流条目添加到流表中,但相关联的操作是执行TCAM查找。 请求被发送到OpenFlow控制器。 响应OpenFlow消息指示一个动作。 响应通过特殊的专用出口快速路径,使得应用该动作,并且将第一分组注入到交换机的主数据输出路径中。 还添加了一个表示该操作的TCAM条目。 然后接收流的第二个分组,并且流表查找导致指示该动作的TCAM查找。 该动作应用于第二个数据包,数据包从交换机输出,并且更新查找表,因此流入口随后将直接指示该动作。 流的后续数据包不涉及TCAM查找。

    NFA COMPLETION NOTIFICATION
    62.
    发明申请
    NFA COMPLETION NOTIFICATION 审中-公开
    NFA完成通知

    公开(公告)号:US20150193681A1

    公开(公告)日:2015-07-09

    申请号:US14151699

    申请日:2014-01-09

    CPC classification number: H04L67/10 H04L69/12

    Abstract: An automaton hardware engine employs a transition table organized into 2n rows, where each row comprises a plurality of n-bit storage locations, and where each storage location can store at most one n-bit entry value. Each row corresponds to an automaton state. In one example, at least two NFAs are encoded into the table. The first NFA is indexed into the rows of the transition table in a first way, and the second NFA is indexed in to the rows of the transition table in a second way. Due to this indexing, all rows are usable to store entry values that point to other rows.

    Abstract translation: 自动机硬件引擎采用组织成2n行的转换表,其中每行包括多个n位存储位置,并且其中每个存储位置最多可以存储一个n位输入值。 每行对应于自动机状态。 在一个示例中,至少两个NFA被编码到表中。 第一个NFA以第一种方式索引到转换表的行中,第二个NFA以第二种方式索引到转换表的行中。 由于此索引,所有行都可用于存储指向其他行的条目值。

    AUTOMATON HARDWARE ENGINE EMPLOYING MEMORY-EFFICIENT TRANSITION TABLE INDEXING
    63.
    发明申请
    AUTOMATON HARDWARE ENGINE EMPLOYING MEMORY-EFFICIENT TRANSITION TABLE INDEXING 有权
    自动化硬件发动机使用记忆有效的转换表索引

    公开(公告)号:US20150193483A1

    公开(公告)日:2015-07-09

    申请号:US14151643

    申请日:2014-01-09

    CPC classification number: G06F17/30339 G06F17/30985

    Abstract: An automaton hardware engine employs a transition table organized into 2n rows, where each row comprises a plurality of n-bit storage locations, and where each storage location can store at most one n-bit entry value. Each row corresponds to an automaton state. In one example, at least two NFAs are encoded into the table. The first NFA is indexed into the rows of the transition table in a first way, and the second NFA is indexed in to the rows of the transition table in a second way. Due to this indexing, all rows are usable to store entry values that point to other rows.

    Abstract translation: 自动机硬件引擎采用组织成2n行的转换表,其中每行包括多个n位存储位置,并且其中每个存储位置最多可以存储一个n位输入值。 每行对应于自动机状态。 在一个示例中,至少两个NFA被编码到表中。 第一个NFA以第一种方式索引到转换表的行中,第二个NFA以第二种方式索引到转换表的行中。 由于此索引,所有行都可用于存储指向其他行的条目值。

    TRANSACTIONAL MEMORY THAT SUPPORTS A PUT WITH LOW PRIORITY RING COMMAND
    64.
    发明申请
    TRANSACTIONAL MEMORY THAT SUPPORTS A PUT WITH LOW PRIORITY RING COMMAND 有权
    支持低优先级指令的交易记录

    公开(公告)号:US20150089096A1

    公开(公告)日:2015-03-26

    申请号:US14037226

    申请日:2013-09-25

    Inventor: Gavin J. Stark

    Abstract: A transactional memory (TM) includes a control circuit pipeline and an associated memory unit. The memory unit stores a plurality of rings. The pipeline maintains, for each ring, a head pointer and a tail pointer. A ring operation stage of the pipeline maintains the pointers as values are put onto and are taken off the rings. A put command causes the TM to put a value into a ring, provided the ring is not full. A get command causes the TM to take a value off a ring, provided the ring is not empty. A put with low priority command causes the TM to put a value into a ring, provided the ring has at least a predetermined amount of free buffer space. A get from a set of rings command causes the TM to get a value from the highest priority non-empty ring (of a specified set of rings).

    Abstract translation: 事务存储器(TM)包括控制电路管线和相关联的存储器单元。 存储单元存储多个环。 对于每个环,流水线保持头指针和尾指针。 管道的环操作阶段将维护指针,因为值被放置在环上并被取消。 如果环未满,则put命令会使TM将值放入环中。 如果环不为空,则get命令使TM取环, 如果环具有至少预定量的可用缓冲空间,则具有低优先级命令的put将导致TM将值放入环中。 从一组ring命令获取,使TM从最高优先级非空环(指定的一组环)获取一个值。

    SELF-TIMED LOGIC BIT STREAM GENERATOR WITH COMMAND TO RUN FOR A NUMBER OF STATE TRANSITIONS
    65.
    发明申请
    SELF-TIMED LOGIC BIT STREAM GENERATOR WITH COMMAND TO RUN FOR A NUMBER OF STATE TRANSITIONS 有权
    自定义逻辑位流发生器,用于多个状态转换的命令

    公开(公告)号:US20150088949A1

    公开(公告)日:2015-03-26

    申请号:US14037303

    申请日:2013-09-25

    Inventor: Gavin J. Stark

    CPC classification number: G06F7/584

    Abstract: A bit stream having non-deterministic entropy is generated by a Self-Timed Logic Entropy Bit Stream Generator (STLEBSG). The STLEBSG includes an incrementer and a linear feedback shift register (LFSR), both implemented in self-timed logic as parts of an asynchronous state machine. In response to a command, the incrementer asynchronously increments a number of times and then stops, where the number of times is determined by command. For each increment of the incrementer, the LFSR undergoes a state transition. As the incrementer increments, the LFSR outputs the bit stream. If the command is a run repeatedly command, then after the incrementer stops the incrementer is reinitialized and then again increments the number of times. This incrementing, stopping, reinitializing, and incrementing process is repeated indefinitely. Another command causes the incrementer to be loaded. Another command causes the LFSR to be loaded.

    Abstract translation: 具有非确定性熵的比特流由自定时逻辑熵比特流生成器(STLEBSG)产生。 STLEBSG包括一个增量器和一个线性反馈移位寄存器(LFSR),两者均以自定时逻辑实现,作为异步状态机的一部分。 响应于命令,增量器异步地增加一次次数,然后停止,其中次数由命令确定。 对于增量器的每个增量,LFSR经历状态转换。 随着递增器递增,LFSR输出比特流。 如果命令是重复运行命令,则在增量程序停止后,增量程序将重新初始化,然后再次递增次数。 这种递增,停止,重新初始化和递增过程无限期地重复。 另一个命令导致加载器被加载。 另一个命令导致加载LFSR。

    TRANSACTIONAL MEMORY THAT PERFORMS AN ATOMIC METERING COMMAND

    公开(公告)号:US20140258644A1

    公开(公告)日:2014-09-11

    申请号:US14287012

    申请日:2014-05-24

    Inventor: Gavin J. Stark

    Abstract: A transactional memory (TM) receives an Atomic Metering Command (AMC) across a bus from a processor. The command includes a memory address and a meter pair indicator value. In response to the AMC, the TM pulls an input value (IV). The TM uses the memory address to read a word including multiple credit values from a memory unit. Circuitry within the TM selects a pair of credit values, subtracts the IV from each of the pair of credit values thereby generating a pair of decremented credit values, compares the pair of decremented credit values with a threshold value, respectively, thereby generating a pair of indicator values, performs a lookup based upon the pair of indicator values and the meter pair indicator value, and outputs a selector value and a result value that represents a meter color. The selector value determines the credit values written back to the memory unit.

    PACKET PREDICTION IN A MULTI-PROTOCOL LABEL SWITCHING NETWORK USING OPERATION, ADMINISTRATION, AND MAINTENANCE (OAM) MESSAGING
    67.
    发明申请
    PACKET PREDICTION IN A MULTI-PROTOCOL LABEL SWITCHING NETWORK USING OPERATION, ADMINISTRATION, AND MAINTENANCE (OAM) MESSAGING 审中-公开
    使用操作,管理和维护(OAM)消息传递的多协议标签交换网络中的数据包预测

    公开(公告)号:US20140236873A1

    公开(公告)日:2014-08-21

    申请号:US14264003

    申请日:2014-04-28

    Abstract: A first switch in a MPLS network receives a plurality of packets that are part of a pair of flows. The first switch performs a packet prediction learning algorithm on the first plurality of packets and generates packet prediction information that is communicated to a second switch within the MPLS network utilizing an Operations, Administration, and Maintenance (OAM) packet (message). In a first example, the first switch communicates a packet prediction information notification to a Network Operations Center (NOC) that in response communicates a packet prediction control signal to the second switch. In a second example, the first switch does not communicate a packet prediction information notification. In the first example, the second switch utilizes the packet prediction control signal to determine if the packet prediction information is to be utilized. In the second example, second switch independently determines if the packet prediction information is to be used.

    Abstract translation: MPLS网络中的第一交换机接收作为一对流的一部分的多个分组。 第一交换机对第一多个分组执行分组预测学习算法,并且使用操作,管理和维护(OAM)分组(消息)生成被传送到MPLS网络内的第二交换机的分组预测信息。 在第一示例中,第一交换机将分组预测信息通知传送到网络操作中心(NOC),网络操作中心(NOC)响应于将分组预测控制信号传送到第二交换机。 在第二示例中,第一交换机不传送分组预测信息通知。 在第一示例中,第二开关利用分组预测控制信号来确定分组预测信息是否被利用。 在第二示例中,第二开关独立地确定是否要使用分组预测信息。

    SOFTWARE UPDATE METHODOLOGY
    68.
    发明申请
    SOFTWARE UPDATE METHODOLOGY 有权
    软件更新方法

    公开(公告)号:US20140201728A1

    公开(公告)日:2014-07-17

    申请号:US13741310

    申请日:2013-01-14

    CPC classification number: G06F8/65 H04L67/1095 H04L67/1097

    Abstract: Software update information is communicated to a network appliance either across a network or from a local memory device. The software update information includes kernel data, application data, or indicator data. The network appliance includes a first storage device, a second storage device, an operating memory, a central processing unit (CPU), and a network adapter. First and second storage devices are persistent storage devices. In a first example, both kernel data and application data are updated in the network appliance in response to receiving the software update information. In a second example, only the kernel data is updated in the network appliance in response to receiving the software update information. In a third example, only the application data is updated in the network appliance in response to receiving the software update information. Indicator data included in the software update information determines the data to be updated in the network appliance.

    Abstract translation: 软件更新信息通过网络或本地存储设备传送到网络设备。 软件更新信息包括内核数据,应用程序数据或指示符数据。 网络设备包括第一存储设备,第二存储设备,操作存储器,中央处理单元(CPU)和网络适配器。 第一和第二存储设备是持久存储设备。 在第一示例中,响应于接收到软件更新信息,在网络设备中更新内核数据和应用数据。 在第二个例子中,响应于接收到软件更新信息,仅在网络设备中更新内核数据。 在第三示例中,响应于接收到软件更新信息,仅在网络设备中更新应用数据。 包含在软件更新信息中的指示符数据确定要在网络设备中更新的数据。

    FLOW KEY LOOKUP INVOLVING MULTIPLE SIMULTANEOUS CAM OPERATIONS TO IDENTIFY HASH VALUES IN A HASH BUCKET
    69.
    发明申请
    FLOW KEY LOOKUP INVOLVING MULTIPLE SIMULTANEOUS CAM OPERATIONS TO IDENTIFY HASH VALUES IN A HASH BUCKET 有权
    涉及多个同步CAM操作的流量关键查询以识别垃圾桶中的HASH值

    公开(公告)号:US20140153571A1

    公开(公告)日:2014-06-05

    申请号:US13690195

    申请日:2012-11-30

    Abstract: A flow key is determined from an incoming packet. Two hash values A and B are then generated from the flow key. Hash value A is an index into a hash table to identify a hash bucket. Multiple simultaneous CAM lookup operations are performed on fields of the bucket to determine which ones of the fields store hash value B. For each populated field there is a corresponding entry in a key table and in other tables. The key table entry corresponding to each field that stores hash value B is checked to determine if that key table entry stores the original flow key. When the key table entry that stores the original flow key is identified, then the corresponding entries in the other tables are determined to be a “lookup output information value”. This value indicates how the packet is to be handled/forwarded by the network appliance.

    Abstract translation: 从输入包确定流密钥。 然后从流密钥生成两个散列值A和B. 哈希值A是哈希表中用于标识哈希桶的索引。 在桶的字段上执行多个同时的CAM查找操作,以确定哪些字段存储散列值B.对于每个填充字段,在键表和其他表中都有相应的条目。 检查对应于存储散列值B的每个字段的密钥表条目,以确定该密钥表条目是否存储原始流密钥。 当存储原始流密钥的密钥表条目被识别时,其他表中的相应条目被确定为“查找输出信息值”。 该值指示如何由网络设备处理/转发数据包。

    TRANSACTIONAL MEMORY THAT PERFORMS A SPLIT 32-BIT LOOKUP OPERATION
    70.
    发明申请
    TRANSACTIONAL MEMORY THAT PERFORMS A SPLIT 32-BIT LOOKUP OPERATION 有权
    分离32位查看操作的交互式记忆

    公开(公告)号:US20140136814A1

    公开(公告)日:2014-05-15

    申请号:US13675259

    申请日:2012-11-13

    Applicant: Gavin J. Stark

    Inventor: Gavin J. Stark

    CPC classification number: G06F9/526 G06F9/34 G06F9/467 G06F13/00 G06F17/30

    Abstract: A transactional memory (TM) receives a lookup command across a bus from a processor. The command includes a memory address, a starting bit position, and a mask size. In response to the command, the TM pulls an input value (IV). The memory address is used to read a word containing multiple result values (RVs) and multiple threshold values (TVs) from memory. A selecting circuit within the TM uses the starting bit position and mask size to select a portion of the IV. The portion of the IV is a lookup key value (LKV). The multiple TVs define multiple lookup key ranges. The TM determines which lookup key range includes the LKV. A RV is selected based upon the lookup key range determined to include the LKV. The lookup key range is determined by a lookup key range identifier circuit. The selected RV is selected by a result value selection circuit.

    Abstract translation: 事务存储器(TM)从处理器接收总线上的查找命令。 该命令包括存储器地址,起始位位置和掩码大小。 响应该命令,TM拉动输入值(IV)。 存储器地址用于从存储器读取包含多个结果值(RV)和多个阈值(TV)的单词。 TM内的选择电路使用起始位位置和掩码大小来选择IV的一部分。 IV的部分是查询键值(LKV)。 多台电视定义了多个查找键范围。 TM确定哪个查找键范围包括LKV。 基于确定为包括LKV的查找关键字范围来选择RV。 查找键范围由查找键范围标识符电路确定。 所选择的RV由结果值选择电路选择。

Patent Agency Ranking