Patents by Inventor John E. McDowall

John E. McDowall 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: 10862775
    Abstract: Techniques are disclosed for using arbitrary criteria to define events occurring within a network infrastructure, as well and techniques for detecting and responding to the occurrence of such custom events. Doing so allows a collection of networking elements (switches, routers, etc.) to perform a variety of distributed functions from within the network itself to respond to custom events. Further, because custom events are published across the network, multiple network elements can communicate and respond to the same event. Thus, unlike currently available event management systems, custom events (and responding applications) can be used to create and coordinate software defined networking within a common network infrastructure.
    Type: Grant
    Filed: July 10, 2019
    Date of Patent: December 8, 2020
    Assignee: Cisco Technology, Inc.
    Inventors: Jason Pfeifer, Richard M. Pruss, John E. McDowall
  • Publication number: 20190342192
    Abstract: Techniques are disclosed for using arbitrary criteria to define events occurring within a network infrastructure, as well and techniques for detecting and responding to the occurrence of such custom events. Doing so allows a collection of networking elements (switches, routers, etc.) to perform a variety of distributed functions from within the network itself to respond to custom events. Further, because custom events are published across the network, multiple network elements can communicate and respond to the same event. Thus, unlike currently available event management systems, custom events (and responding applications) can be used to create and coordinate software defined networking within a common network infrastructure.
    Type: Application
    Filed: July 10, 2019
    Publication date: November 7, 2019
    Inventors: Jason PFEIFER, Richard M. PRUSS, John E. MCDOWALL
  • Patent number: 10397073
    Abstract: Techniques are disclosed for using arbitrary criteria to define events occurring within a network infrastructure, as well and techniques for detecting and responding to the occurrence of such custom events. Doing so allows a collection of networking elements (switches, routers, etc.) to perform a variety of distributed functions from within the network itself to respond to custom events. Further, because custom events are published across the network, multiple network elements can communicate and respond to the same event. Thus, unlike currently available event management systems, custom events (and responding applications) can be used to create and coordinate software defined networking within a common network infrastructure.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: August 27, 2019
    Assignee: Cisco Technology, Inc.
    Inventors: Jason Pfeifer, Richard M. Pruss, John E. McDowall
  • Patent number: 10367736
    Abstract: Techniques are provided for enabling tag networking. In one example, a network device (e.g., switch, router, etc.) is configured to receive a packet of a traffic flow and to analyze the traffic flow to determine the packet belongs to a particular type of traffic. The network device can then add and/or change a tag in a data field of the packet. The tag, among other things, serves as an identifier for the particular type of traffic flow. The tag is identifiable by a downstream node that is preconfigured to recognize the tag and to carry out logic in response to recognizing the tag. Advantageously, the tag functionality of the present approach provides a generalized way of adding information to packets; the information and the associated functionalities are customizable during a runtime of the network.
    Type: Grant
    Filed: June 6, 2018
    Date of Patent: July 30, 2019
    Assignee: Cisco Technology, Inc.
    Inventors: Richard M. Pruss, John E. McDowall, Jan Medved
  • Publication number: 20180295058
    Abstract: Techniques are provided for enabling tag networking. In one example, a network device (e.g., switch, router, etc.) is configured to receive a packet of a traffic flow and to analyze the traffic flow to determine the packet belongs to a particular type of traffic. The network device can then add and/or change a tag in a data field of the packet. The tag, among other things, serves as an identifier for the particular type of traffic flow. The tag is identifiable by a downstream node that is preconfigured to recognize the tag and to carry out logic in response to recognizing the tag. Advantageously, the tag functionality of the present approach provides a generalized way of adding information to packets; the information and the associated functionalities are customizable during a runtime of the network.
    Type: Application
    Filed: June 6, 2018
    Publication date: October 11, 2018
    Inventors: Richard M. PRUSS, John E. MCDOWALL, Jan MEDVED
  • Patent number: 10015088
    Abstract: Techniques are provided for enabling tag networking. In one example, a network device (e.g., switch, router, etc.) is configured to receive a packet of a traffic flow and to analyze the traffic flow to determine the packet belongs to a particular type of traffic. The network device can then add and/or change a tag in a data field of the packet. The tag, among other things, serves as an identifier for the particular type of traffic flow. The tag is identifiable by a downstream node that is preconfigured to recognize the tag and to carry out logic in response to recognizing the tag. Advantageously, the tag functionality of the present approach provides a generalized way of adding information to packets; the information and the associated functionalities are customizable during a runtime of the network.
    Type: Grant
    Filed: March 25, 2016
    Date of Patent: July 3, 2018
    Assignee: Cisco Technology, Inc.
    Inventors: Richard M. Pruss, John E. McDowall, Jan Medved
  • Patent number: 9838294
    Abstract: Presented herein are techniques to receive configuration instructions for elements of a network topology to be simulated and tested. In response to receiving and in accordance with the configuration instructions, a plurality of software images (for a plurality of virtual network elements of the network topology) are configured via an Application Programming Interface (API). The plurality of software images run in a cloud host. In response to receiving and in accordance with the configuration instructions, data is configured via the API, which represents one or more connections between the virtual network elements. A plurality of software images for the plurality of virtual network elements is then executed in accordance with the data representing the connections, for development and testing of the network topology.
    Type: Grant
    Filed: September 24, 2015
    Date of Patent: December 5, 2017
    Assignee: Cisco Technology, Inc.
    Inventors: Richard Pruss, John E. McDowall, David John Beazley, Marc Joseph Faggion, Joel Obstfeld
  • Patent number: 9596141
    Abstract: System, method, and computer program product to represent a network using a programmable graph model, by generating a directed graph to represent a topology of the network, wherein each of a plurality of network elements in the network are represented, in the directed graph, by one of the plurality of nodes, identifying, through the directed graph, a subset of network elements, of the plurality of network elements, upon which to apply a requested operation, and applying the requested operation to the subset of network elements in a distributed manner through the directed graph.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: March 14, 2017
    Assignee: Cisco Technology, Inc.
    Inventor: John E. McDowall
  • Patent number: 9588947
    Abstract: A method is provided in one example embodiment and includes compiling a schema definition file associated with a non-native application into a command file, the non-native application being executable in connection with a network element; creating at least one parse chain for the non-native application; storing the at least one parse chain in a database; and receiving a first command associated with the non-native application from a network administrator. The method further includes parsing the received first command as specified by the at least one parse chain to extract data therefrom; and presenting the extracted data to the non-native application, in which the extracted data is formatted as specified in the associated schema definition file prior to the presenting.
    Type: Grant
    Filed: November 15, 2013
    Date of Patent: March 7, 2017
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Tula Kraiser, Yi Huang, Atul Bhaskarrao Patil, Xiaohui Ye, John E. McDowall
  • Publication number: 20160212043
    Abstract: Techniques are provided for enabling tag networking. In one example, a network device (e.g., switch, router, etc.) is configured to receive a packet of a traffic flow and to analyze the traffic flow to determine the packet belongs to a particular type of traffic. The network device can then add and/or change a tag in a data field of the packet. The tag, among other things, serves as an identifier for the particular type of traffic flow. The tag is identifiable by a downstream node that is preconfigured to recognize the tag and to carry out logic in response to recognizing the tag. Advantageously, the tag functionality of the present approach provides a generalized way of adding information to packets; the information and the associated functionalities are customizable during a runtime of the network.
    Type: Application
    Filed: March 25, 2016
    Publication date: July 21, 2016
    Inventors: Richard M. PRUSS, John E. MCDOWALL, Jan MEDVED
  • Patent number: 9392050
    Abstract: System, computer program product, and method to configure an external network based on internal network conditions, by monitoring a load attribute of one or more network flows traversing an ingress port of at least one network element in a software-defined networking (SDN) enabled network, upon determining that the load attribute of a first network element in the SDN enabled network exceeds a predefined threshold, provisioning, by the application, an additional service on the external network, by the application, an additional service on the external network, and extending, by the application, the SDN enabled network to include the additional service on the external network.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: July 12, 2016
    Assignee: Cisco Technology, Inc.
    Inventors: Eric A. Voit, Richard M. Pruss, John E. McDowall
  • Patent number: 9325610
    Abstract: Techniques are provided for enabling tag networking. In one example, a network device (e.g., switch, router, etc.) is configured to receive a packet of a traffic flow and to analyze the traffic flow to determine the packet belongs to a particular type of traffic. The network device can then add and/or change a tag in a data field of the packet. The tag, among other things, serves as an identifier for the particular type of traffic flow. The tag is identifiable by a downstream node that is preconfigured to recognize the tag and to carry out logic in response to recognizing the tag. Advantageously, the tag functionality of the present approach provides a generalized way of adding information to packets; the information and the associated functionalities are customizable during a runtime of the network.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: April 26, 2016
    Assignee: Cisco Technology, Inc.
    Inventors: Richard M. Pruss, John E. McDowall, Jan Medved
  • Patent number: 9276827
    Abstract: Embodiments described herein use APIs on network devices in a SDN enabled network to monitor the network traffic flowing through the network devices and determine an identity of the client initiating the network traffic. Specifically, the APIs provide a user application with user credentials, IP addresses, MAC addresses, and other identifying information mined from the network flows. Once the identity is found, the application may identify the client's current geographic location. The network devices may continue to monitor the network devices to identify any movement events associated with the client. In response to a movement event, the application may reallocate resources proximate to the new geographic location of the client.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: March 1, 2016
    Assignee: Cisco Technology, Inc.
    Inventors: Eric A. Voit, Richard M. Pruss, John E. McDowall, Jan Medved
  • Publication number: 20160014012
    Abstract: Presented herein are techniques to receive configuration instructions for elements of a network topology to be simulated and tested. In response to receiving and in accordance with the configuration instructions, a plurality of software images (for a plurality of virtual network elements of the network topology) are configured via an Application Programming Interface (API). The plurality of software images run in a cloud host. In response to receiving and in accordance with the configuration instructions, data is configured via the API, which represents one or more connections between the virtual network elements. A plurality of software images for the plurality of virtual network elements is then executed in accordance with the data representing the connections, for development and testing of the network topology.
    Type: Application
    Filed: September 24, 2015
    Publication date: January 14, 2016
    Inventors: Richard Pruss, John E. McDowall, David John Beazley, Marc Joseph Faggion, Joel Obstfeld
  • Patent number: 9183121
    Abstract: Presented herein are techniques to receive configuration instructions for elements of a network topology to be simulated and tested. In response to receiving and in accordance with the configuration instructions, a plurality of software images (for a plurality of virtual network elements of the network topology) are configured via an Application Programming Interface (API). The plurality of software images run in a cloud host. In response to receiving and in accordance with the configuration instructions, data is configured via the API, which represents one or more connections between the virtual network elements. A plurality of software images for the plurality of virtual network elements is then executed in accordance with the data representing the connections, for development and testing of the network topology.
    Type: Grant
    Filed: July 19, 2013
    Date of Patent: November 10, 2015
    Assignee: Cisco Technology, Inc.
    Inventors: Richard Pruss, John E. McDowall, David John Beazley, Marc Joseph Faggion, Joel Obstfeld
  • Publication number: 20150229709
    Abstract: System, method, and computer program product to perform an operation comprising providing, to a software defined networking (SDN) application executing on a first network element, of a plurality of network elements in a network, an application program interface (API) to abstract access to: (i) a plurality of ingress interfaces of the first network element, (ii) a plurality of egress interfaces of the first network element, and (iii) a routing information base (RIB) of the first network element, wherein each of the plurality of network elements comprise a plurality of ingress interfaces, a plurality of egress interfaces, and a RIB, receiving a request from the SDN application invoke a function of the API to apply the function to the first network element, and applying the function to the first network element through the API.
    Type: Application
    Filed: April 21, 2015
    Publication date: August 13, 2015
    Inventors: Richard M. PRUSS, John E. MCDOWALL, Jan MEDVED, Larry ABRAHAMS
  • Patent number: 9100346
    Abstract: Techniques are provided for automating a common framework for network devices. In one example, a network device (e.g., switch, router, etc.) is configured to resolve the handling unknown packets automatically. The network device can detect whether or not a protocol is unknown to the network device, perform a lookup, determine if a matching protocol is available for the network device, and dynamically load an appropriate protocol handler into a memory of the network device. Advantageously, the present technology provides a mechanism for flexible on-demand push of protocol information. If a new protocol is noted on the network, the network device can look up the type of packet and can use a single platform kit to dynamically load drivers and control logic for that protocol onto the network device. Likewise, other network devices in the packet's path or in the network generally can load the drivers and control logic, as needed.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: August 4, 2015
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Eric A. Voit, Richard M. Pruss, John E. McDowall
  • Patent number: 9047143
    Abstract: System, method, and computer program product to orchestrate software defined networking (SDN) applications, by providing a plurality of network elements in a network, each network element comprising a plurality of ingress interfaces, a plurality of egress interfaces, and a routing information base (RIB), providing, to an SDN application, an application program interface (API) to abstract properties and events of: (i) the ingress interfaces, (ii) the egress interfaces, and (iii) the RIB of a specified network element, receiving a request from the SDN application apply a function to the specified network element, the function specifying to modify: (i) a preprocessing operation on a data packet, (ii) the RIB, (iii) a post processing operation on the data packet, and (iv) the properties of the ingress interfaces, egress interfaces, and RIBs of the specified network element, and applying the function to the specified network element through the API.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: June 2, 2015
    Assignee: Cisco Technology, Inc.
    Inventors: Richard M. Pruss, John E. McDowall, Jan Medved, Larry Abrahams
  • Publication number: 20150026667
    Abstract: Presented herein are techniques to receive configuration instructions for elements of a network topology to be simulated and tested. In response to receiving and in accordance with the configuration instructions, a plurality of software images (for a plurality of virtual network elements of the network topology) are configured via an Application Programming Interface (API). The plurality of software images run in a cloud host. In response to receiving and in accordance with the configuration instructions, data is configured via the API, which represents one or more connections between the virtual network elements. A plurality of software images for the plurality of virtual network elements is then executed in accordance with the data representing the connections, for development and testing of the network topology.
    Type: Application
    Filed: July 19, 2013
    Publication date: January 22, 2015
    Inventors: Richard Pruss, John E. McDowall, David John Beazley, Marc Joseph Faggion, Joel Obstfeld
  • Publication number: 20140280893
    Abstract: Techniques are disclosed for using arbitrary criteria to define events occurring within a network infrastructure, as well and techniques for detecting and responding to the occurrence of such custom events. Doing so allows a collection of networking elements (switches, routers, etc.) to perform a variety of distributed functions from within the network itself to respond to custom events. Further, because custom events are published across the network, multiple network elements can communicate and respond to the same event. Thus, unlike currently available event management systems, custom events (and responding applications) can be used to create and coordinate software defined networking within a common network infrastructure.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Inventors: Jason PFEIFER, Richard M. PRUSS, John E. MCDOWALL