Patents by Inventor Christopher A. Wildman

Christopher A. Wildman has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9692857
    Abstract: A network device receives a packet that includes a plurality of header fields. The packet is parsed to sequentially obtain the plurality of header fields. One or more header fields not yet available at the network device are predicted based on one or more header fields that are available at the network device. A network processing decision is generated for the packet based on the predicted one or more header fields and the one or more header fields that are available at the network device.
    Type: Grant
    Filed: May 1, 2015
    Date of Patent: June 27, 2017
    Assignee: Cisco Technology, Inc.
    Inventors: Thomas J. Edsall, Putu Harry Subagio, Alessandro Fulli, Christopher A. Wildman, Mingzhe Li, Wei-Jen Huang, Chih-Tsung Huang
  • Patent number: 9641457
    Abstract: A network device receives a packet that includes a plurality of sets of fields. Sets of fields of the packet are parsed and the field sets are evaluated as soon as they are available to determine whether a processing decision can be made on the packet. Additional field sets may be parsed from the packet and obtained in parallel with determining whether a processing decision can be made, but once it is determined that a processing decision can be made, the evaluating of field sets is terminated such that any further field sets of the packet are ignored for purposes of making a processing decision for the packet.
    Type: Grant
    Filed: May 1, 2015
    Date of Patent: May 2, 2017
    Assignee: Cisco Technology, Inc.
    Inventors: Thomas J. Edsall, Putu Harry Subagio, Alessandro Fulli, Christopher A. Wildman, Mingzhe Li, Wei-Jen Huang, Chih-Tsung Huang
  • Patent number: 9569561
    Abstract: A network device receives data packets and derives a key from headers in the packets. A search engine in the device searches, or performs a table lookup, for information based on the key and multiple programmable masks. The search engine includes a hash based search engine that comprises multiple mask modules each to mask an input key with a respective programmable mask, to produce multiple masked keys. The search engine also includes an array of hash modules each corresponding to a respective one of the masked keys and including a hash table. Each of the hash modules searches its hash table for a data value based on a hash of the corresponding masked key, and outputs a found data value, if any, resulting from the search. A selector selects among the found data values and output the selected data value.
    Type: Grant
    Filed: July 9, 2013
    Date of Patent: February 14, 2017
    Assignee: Cisco Technology, Inc.
    Inventors: Christopher A. Wildman, Laura Sharpless
  • Patent number: 9473395
    Abstract: Presented herein are techniques to achieve ultra low latency determination of processing decisions for packets in a network device. A packet is received at a port of a network device. A processing decision is determined in a first processing decision path based on content of the packet and one or more network policies. A processing decision is determined in a second processing decision path, in parallel with the first processing path, by accessing a table storing processing decisions. The second processing decision path can output a processing decision faster than the first processing decision path for packets that match one or more particular packet flow parameters contained in the table. A processing decision determined by the second processing decision path, if one can be made, is used, and otherwise a processing decision determined by the first processing decision path is used.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: October 18, 2016
    Assignee: Cisco Technology, Inc.
    Inventors: Thomas J. Edsall, Alessandro Fulli, Putu Harry Subagio, Mingzhe Li, Christopher A. Wildman, Yichou Lin, Chih-Tsung Huang
  • Publication number: 20150236982
    Abstract: A network device receives a packet that includes a plurality of sets of fields. Sets of fields of the packet are parsed and the field sets are evaluated as soon as they are available to determine whether a processing decision can be made on the packet. Additional field sets may be parsed from the packet and obtained in parallel with determining whether a processing decision can be made, but once it is determined that a processing decision can be made, the evaluating of field sets is terminated such that any further field sets of the packet are ignored for purposes of making a processing decision for the packet.
    Type: Application
    Filed: May 1, 2015
    Publication date: August 20, 2015
    Inventors: Thomas J. Edsall, Putu Harry Subagio, Alessandro Fulli, Christopher A. Wildman, Mingzhe Li, Wei-Jen Huang, Chih-Tsung Huang
  • Publication number: 20150237177
    Abstract: A network device receives a packet that includes a plurality of header fields. The packet is parsed to sequentially obtain the plurality of header fields. One or more header fields not yet available at the network device are predicted based on one or more header fields that are available at the network device. A network processing decision is generated for the packet based on the predicted one or more header fields and the one or more header fields that are available at the network device.
    Type: Application
    Filed: May 1, 2015
    Publication date: August 20, 2015
    Inventors: Thomas J. Edsall, Putu Harry Subagio, Alessandro Fulli, Christopher A. Wildman, Mingzhe Li, Wei-Jen Huang, Chih-Tsung Huang
  • Patent number: 9065780
    Abstract: A network device receives a packet that includes a plurality of header fields. The packet is parsed to sequentially obtain the plurality of header fields. One or more header fields not yet available at the network device are predicted based on one or more header fields that are available at the network device. A network processing decision is generated for the packet based on the predicted one or more header fields and the one or more header fields that are available at the network device.
    Type: Grant
    Filed: February 14, 2013
    Date of Patent: June 23, 2015
    Assignee: Cisco Technology, Inc.
    Inventors: Thomas J. Edsall, Putu Harry Subagio, Alessandro Fulli, Christopher A. Wildman, Mingzhe Li, Wei-Jen Huang, Chih-Tsung Huang
  • Publication number: 20150172177
    Abstract: Presented herein are techniques to achieve ultra low latency determination of processing decisions for packets in a network device. A packet is received at a port of a network device. A processing decision is determined in a first processing decision path based on content of the packet and one or more network policies. A processing decision is determined in a second processing decision path, in parallel with the first processing path, by accessing a table storing processing decisions. The second processing decision path can output a processing decision faster than the first processing decision path for packets that match one or more particular packet flow parameters contained in the table. A processing decision determined by the second processing decision path, if one can be made, is used, and otherwise a processing decision determined by the first processing decision path is used.
    Type: Application
    Filed: February 23, 2015
    Publication date: June 18, 2015
    Inventors: Thomas J. Edsall, Alessandro Fulli, Putu Harry Subagio, Mingzhe Li, Christopher A. Wildman, Yichou Lin, Chih-Tsung Huang
  • Patent number: 9055004
    Abstract: A network device receives a packet that includes a plurality of sets of fields. Sets of fields of the packet are parsed and the field sets are evaluated as soon as they are available to determine whether a processing decision can be made on the packet. Additional field sets may be parsed from the packet and obtained in parallel with determining whether a processing decision can be made, but once it is determined that a processing decision can be made, the evaluating of field sets is terminated such that any further field sets of the packet are ignored for purposes of making a processing decision for the packet.
    Type: Grant
    Filed: February 14, 2013
    Date of Patent: June 9, 2015
    Assignee: Cisco Technology, Inc.
    Inventors: Thomas J. Edsall, Putu Harry Subagio, Alessandro Fulli, Christopher A. Wildman, Mingzhe Li, Wei-Jen Huang, Chih-Tsung Huang
  • Patent number: 9001830
    Abstract: Presented herein are techniques to achieve ultra low latency determination of processing decisions for packets in a network device. A packet is received at a port of a network device. A processing decision is determined in a first processing decision path based on content of the packet and one or more network policies. A processing decision is determined in a second processing decision path, in parallel with the first processing path, by accessing a table storing processing decisions. The second processing decision path can output a processing decision faster than the first processing decision path for packets that match one or more particular packet flow parameters contained in the table. A processing decision determined by the second processing decision path, if one can be made, is used, and otherwise a processing decision determined by the first processing decision path is used.
    Type: Grant
    Filed: December 7, 2012
    Date of Patent: April 7, 2015
    Assignee: Cisco Technology, Inc.
    Inventors: Thomas J. Edsall, Alessandro Fulli, Putu Harry Subagio, Mingzhe Li, Christopher A. Wildman, Yichou Lin, Chih-Tsung Huang
  • Publication number: 20150019563
    Abstract: A network device receives data packets and derives a key from headers in the packets. A search engine in the device searches, or performs a table lookup, for information based on the key and multiple programmable masks. The search engine includes a hash based search engine that comprises multiple mask modules each to mask an input key with a respective programmable mask, to produce multiple masked keys. The search engine also includes an array of hash modules each corresponding to a respective one of the masked keys and including a hash table. Each of the hash modules searches its hash table for a data value based on a hash of the corresponding masked key, and outputs a found data value, if any, resulting from the search. A selector selects among the found data values and output the selected data value.
    Type: Application
    Filed: July 9, 2013
    Publication date: January 15, 2015
    Inventors: Christopher A. Wildman, Laura Sharpless