Patents by Inventor Kenneth A. Moberg

Kenneth A. Moberg 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: 7970948
    Abstract: In an embodiment, a network router includes plural interfaces and a chain walker which, upon receipt of a first protocol packet in a first interface, processes the packet by walking the packet through a decapsulation chain associated with the interface and the first protocol and an encapsulation chain associated with an identified second interface and identified second protocol. The walker passes the packet to elements of the decapsulation chain to produce a decapsulated packet. The walker passes the decapsulated packet to elements of an encapsulation chain to produce an encapsulated packet. Each chain includes at least one packet-processing element. An element receives the packet from the walker as processed by a previous element, the packet being further processed as appropriate. The walker, upon receipt of the first protocol packet, passes the packet to elements of a demultiplexer chain associated with the first interface to produce a demultiplexed packet.
    Type: Grant
    Filed: April 27, 2005
    Date of Patent: June 28, 2011
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth A. Moberg, Claude A. Cartee, Gregory D. Stovall, David R. Hampton, Kirk Stewart Lougheed, Pedro Marques, Timothy D. Kolar, Andrew J. Valencia, William B. May, Jr.
  • Patent number: 7853714
    Abstract: A network device provides services for multiple virtual private networks (VPNs) via one or more virtual hosts. For example, a router receives packets from multiple VPNs, and communicates the packets to a service card via a logical interface in accordance with a forwarding information base. A virtual host within the service card processes the packets and provides a service for the network device from which the packet was sent. The virtual host may, for example, provide print services for network devices within a corresponding VPN. The virtual host acts, in essence, as a print server within the corresponding VPN. In this manner, the router may eliminate the need for the customer associated with the VPN to maintain print servers within remote customer sites.
    Type: Grant
    Filed: January 29, 2007
    Date of Patent: December 14, 2010
    Assignee: Juniper Networks, Inc.
    Inventors: Kenneth A. Moberg, Steven Lin, Spencer Greene, James Murphy
  • Patent number: 7610405
    Abstract: Systems and methods for replacing software controlling active routers while minimizing impact on network operation are provided by virtue of one embodiment of the present invention. The software replacement process takes advantage of packet processor redundancy. An active packet switching device to be reprogrammed is de-activated and a redundant packet switching device takes over. The no longer active packet switching device is reprogrammed before being reactivated.
    Type: Grant
    Filed: April 16, 2004
    Date of Patent: October 27, 2009
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth Moberg, Ronnie Kon
  • Patent number: 7185106
    Abstract: A network device provides services for multiple virtual private networks (VPNs) via one or more virtual hosts. For example, a router receives packets from multiple VPNs, and communicates the packets to a service card via a logical interface in accordance with a forwarding information base. A virtual host within the service card processes the packets and provides a service for the network device from which the packet was sent. The virtual host may, for example, provide print services for network devices within a corresponding VPN. The virtual host acts, in essence, as a print server within the corresponding VPN. In this manner, the router may eliminate the need for the customer associated with the VPN to maintain print servers within remote customer sites.
    Type: Grant
    Filed: November 15, 2002
    Date of Patent: February 27, 2007
    Assignee: Juniper Networks, Inc.
    Inventors: Kenneth A Moberg, Steven Lin, Spencer Greene, James Murphy
  • Patent number: 6907468
    Abstract: A method for processing packets in a router includes specifying operations on packets as chains of processing elements. Each chain is uniquely associated with one interface/protocol pair, and each processing element performs at least one function on a packet. An incoming packet is received, and processed, first by a demultiplexor element which determines the protocol of the next higher level used by the packet. Then, the packet is processed by the elements of a decapsulation chain associated with the interface on which the packet was received, and by the elements of an encapsulation chain associated with the interface on which the packet is to be transmitted. The demultiplexor element or operation passes the packet on to a decapsulation chain associated with the protocol and with the incoming interface, depending on protocol information contained in the incoming packet.
    Type: Grant
    Filed: April 4, 2003
    Date of Patent: June 14, 2005
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth A. Moberg, Claude A. Cartee, Gregory D. Stovall, David R. Hampton, Kirk Stewart Lougheed, Pedro Marques, Timothy D. Kolar, Andrew J. Valencia, William B. May, Jr.
  • Patent number: 6738826
    Abstract: Systems and methods for replacing software controlling active routers while minimizing impact on network operation are provided by virtue of one embodiment of the present invention. The software replacement process takes advantage of packet processor redundancy. An active packet switching device to be reprogrammed is de-activated and a redundant packet switching device takes over. The no longer active packet switching device is reprogrammed before being reactivated.
    Type: Grant
    Filed: February 24, 2000
    Date of Patent: May 18, 2004
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth Moberg, Ronnie Kon
  • Patent number: 6708330
    Abstract: Portions of code containing critical code routines are identified and labeled, then compiled into Dynamic Link Libraries (“DLLs”) and linked such that the critical code routines are optimally loaded into a reserved address space in the DLL memory space. If supported, cache locking may be enabled for the reserved address space. The portions of source code containing portions of critical code for which execution performance is to be improved are labeled, and the source code is scanned prior to compilation to locate the labeled portions of critical code. A linker is configured to store all the labeled portions of critical code into an Executable and Linking Format (“ELF”) section header, which is relocated at run-time into a memory space reserved for the portions of critical code.
    Type: Grant
    Filed: June 13, 2000
    Date of Patent: March 16, 2004
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth Moberg, Ronnie Bernard Kon, Daljeet Singh, Stephen Belair
  • Patent number: 6697872
    Abstract: A method for processing packets includes specifying a primary chain of function elements on a primary processor and specifying a secondary chain of function elements on a secondary processor. Each element is operable to perform an operation on a packet. The method further includes selecting one of the primary processor, secondary processor, and combination of the primary and secondary processors to perform a packet-processing function of each element. The packets are processed by walking through the elements on at least one of the primary and secondary chains. A router having a primary and secondary processor is also disclosed. The primary and secondary processors each include a chain generator for generating primary and secondary chains of function elements. Each of the function elements of the primary chain corresponds to one of the function elements of the secondary chain to form a pair of function elements. At least one function element of each pair is configured to perform a packet-processing function.
    Type: Grant
    Filed: October 15, 1999
    Date of Patent: February 24, 2004
    Assignee: Cisco Technology
    Inventors: Kenneth Moberg, Kristen Marie Robins, William May
  • Patent number: 6698015
    Abstract: Critical code routines are identified, separated from other routines, and compiled into a set of one or more critical dynamic link libraries (“DLLs”). These are then recognized by a DLL loader and loaded at a reserved address space in the DLL memory space. Once all of the critical DLLs have been loaded, cache locking may be enabled for the reserved address space. Robust fault containment is facilitated through the use of code modules implemented as shared libraries that can be loaded and unloaded in a running system by individual processes. These code modules can be replaced individually as defects are found and fixed without requiring replacement of the entire system image or application image. What would normally be a monolithic application is modularized, and the sharing of common code among multiple applications is facilitated.
    Type: Grant
    Filed: June 13, 2000
    Date of Patent: February 24, 2004
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth Moberg, Arthur B. Stine, Ronnie Bernard Kon
  • Patent number: 6678244
    Abstract: A method of monitoring congestion within a data path having a queuing node located therein and a plurality of downstream nodes positioned downstream of the queuing node. The method includes monitoring congestion at the plurality of downstream nodes and setting a congestion notification flag by one of the downstream nodes when the node is congested. The transmission of data packets from the queuing node is stopped and packets received at the queuing node are queued when the flag is set. The method further includes transmitting packets from the queuing node when the congestion notification flag is cleared. A system for monitoring congestion on a data path is also disclosed.
    Type: Grant
    Filed: January 6, 2000
    Date of Patent: January 13, 2004
    Assignee: Cisco Technology, Inc.
    Inventors: Chandrashekhar Appanna, Claude Cartee, Frederick Baker, Kenneth Moberg, Andrew Valencia
  • Patent number: 6601106
    Abstract: A method for processing packets in a router includes specifying operations on packets as chains of processing elements. Each chain is uniquely associated with one interface/protocol pair, and each processing element performs at least one function on a packet. An incoming packet is received, and processed, first by a demultiplexor element which determines the protocol of the next higher level used by the packet. Then, the packet is processed by the elements of a decapsulation chain associated with the interface on which the packet was received, and by the elements of an encapsulation chain associated with the interface on which the packet is to be transmitted. The demultiplexor element or operation passes the packet on to a decapsulation chain associated with the protocol and with the incoming interface, depending on protocol information contained in the incoming packet.
    Type: Grant
    Filed: October 15, 1999
    Date of Patent: July 29, 2003
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth Moberg, Manoj Leelanivas, Claude Alan Cartee
  • Patent number: 6578084
    Abstract: A method for processing packets in a router includes specifying operations on packets as chains of processing elements. Each chain is uniquely associated with one interface/protocol pair, and each processing element performs at least one function on a packet. An incoming packet is received, and processed, first by a demultiplexor element which determines the protocol of the next higher level used by the packet. Then, the packet is processed by the elements of a decapsulation chain associated with the interface on which the packet was received, and by the elements of an encapsulation chain associated with the interface on which the packet is to be transmitted. The demultiplexor element or operation passes the packet on to a decapsulation chain associated with the protocol and with the incoming interface, depending on protocol information contained in the incoming packet.
    Type: Grant
    Filed: October 15, 1999
    Date of Patent: June 10, 2003
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth A. Moberg, Claude A. Cartee, Gregory D. Stovall, David R. Hampton, Kirk Stewart Lougheed, Pedro Marques, Timothy D. Kolar, Andrew J. Valencia, William B. May, Jr.
  • Patent number: 6460146
    Abstract: The present invention relates to providing processor redundancy in a system such as a router. According to an embodiment of the present invention, in a system having two or more processors, initialization sequence is started. During the initialization sequence, a redundancy subsystem is initialized. The redundancy subsystem identifies the projects or assignments that are to be off loaded from the primary processor to the secondary processor. According to an embodiment of the present invention, the initialization sequence is then suspended and a discovery process is performed. During the discovery process, it is determined whether the processor running the initialization sequence is a primary or a secondary processor. If it is a secondary processor, then the initialization sequence remains suspended and the secondary processor monitors the health of the primary processor until a failure of the primary processor occurs.
    Type: Grant
    Filed: December 4, 1998
    Date of Patent: October 1, 2002
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth Moberg, William May
  • Patent number: 6457138
    Abstract: The present invention relates to providing processor redundancy in a system such as a router. According to an embodiment of the present invention, when a primary processor is about to crash in a system having two or more processors, the imminent crash is identified prior to the occurrence of the actual crash. The primary processor sends a message to the secondary processor to indicate that it is crashing. The primary also sets a timer to determine a period of time to wait prior to crashing. When the secondary processor receives the message from the primary processor, the secondary processor becomes the new primary processor. The new primary processor then sends an acknowledgement to the old primary processor. The old primary processor crashes and reboots as the new secondary processor.
    Type: Grant
    Filed: April 19, 1999
    Date of Patent: September 24, 2002
    Assignee: Cisco Technology, Inc.
    Inventors: Ofrit Lesser, Kenneth Moberg, William May
  • Patent number: 6286048
    Abstract: According to an embodiment of the present invention, two routers coupled through a network, such as a local access network (LAN), may be used to serve the function of redundancy to avoid the failure of a connection. The LAN may be used as a backplane to substitute for a bus between two processors. According to an embodiment of the present invention, the two routers may send their medium access control (MAC) addresses to each other and compare these MAC addresses. The router associated with the MAC address that meets a predetermined criteria may be deemed as a primary router and the other router can be deemed as a secondary router. An example of meeting the predetermined criteria is the router associated with the lower MAC address.
    Type: Grant
    Filed: December 4, 1998
    Date of Patent: September 4, 2001
    Assignee: Cisco Technology, Inc.
    Inventor: Kenneth Moberg