Patents by Inventor Sandhya Gopinath

Sandhya Gopinath 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).

  • Publication number: 20130336166
    Abstract: As cluster LAG (CLA or CLAG) is a link aggregation spread across cluster nodes, the same MAC address is to be used for a CLAG on all cluster nodes. Each node in a cluster will derive the unique MAC address for all cluster LAGs. When a cluster is formed, the cluster configuration coordinator (COO) (referred to as the “source MAC node”) will sync its MAC addresses of CLAGs to all nodes in a cluster. The same MAC address may be used for a CLA on all nodes from then onwards till the source MAC node is removed from cluster. Even if the CCO changes due to some reason, CLAG MACs will not be changed as long as a source MAC node is present in the cluster.
    Type: Application
    Filed: June 15, 2012
    Publication date: December 19, 2013
    Inventors: Tushar K. Swain, Sandhya Gopinath
  • Patent number: 8327181
    Abstract: The present disclosure presents systems and methods for maintaining operation of a first multi-core appliance 200 by a second multi-core appliance upon failover of the first multi-core appliance. A secondary appliance may receive information about configuration settings and operations of a plurality of packet processing engines (PPEs), each of the PPEs operating on one of a plurality of cores of the primary multi-core appliance. Status of operation of the plurality of PPEs of the primary appliance may be monitored by exchanging communication between the primary and secondary appliances. Configuration settings for each of a PPEs operating on the cores of the secondary appliance may be established responsive to detection that one or more of the PPEs of the primary appliance is unavailable. Configuration information for each of the PPEs of the secondary appliance may be propagated to the plurality of the PPEs of the secondary appliance.
    Type: Grant
    Filed: June 22, 2009
    Date of Patent: December 4, 2012
    Assignee: Citrix Systems, Inc.
    Inventors: Sandhya Gopinath, Jyotheesh Rao Kurma
  • Publication number: 20120033680
    Abstract: Described herein is a method and system for directing outgoing data packets from packet engines to a transmit queue of a NIC in a multi-core system, and a method and system for directing incoming data packets from a receive queue of the NIC to the packet engines. Packet engines store outgoing traffic in logical transmit queues in the packet engines. An interface module obtains the outgoing traffic and stores it in a transmit queue of the NIC, after which the NIC transmits the traffic from the multi-core system over a network. The NIC receives incoming traffic and stores it in a NIC receive queue. The interface module obtains the incoming traffic and applies a hash to a tuple of each obtained data packet. The interface module then stores each data packet in the logical receive queue of a packet engine on the core identified by the result of the hash.
    Type: Application
    Filed: August 11, 2011
    Publication date: February 9, 2012
    Inventors: Sandhya Gopinath, Henk Bots
  • Publication number: 20110280244
    Abstract: Described herein is a method and system for distributing whole and fragmented requests and responses across a multi-core system. Each core executes a packet engine that further processes data packets and data packet fragments allocated to that core. A flow distributor executing within the multi-core system forwards client requests to a packet engine on a core that is selected based on a value generated when a hash is applied to a tuple comprising a client IP address, a client port, a server IP address and a server port identified in the request. The packet engine maintains each element of the tuple and forwards the request to the selected core. The packet engine can also process data packet fragments by assembling the fragments prior to transmitting them to the selected core, or by transmitting the data packet fragments to the selected core.
    Type: Application
    Filed: July 25, 2011
    Publication date: November 17, 2011
    Inventors: Sandhya Gopinath, Henk Bots, Ramanjaneyulu Y. Talla, Abhishek Chauhan
  • Patent number: 8018961
    Abstract: Described herein is a method and system for directing outgoing data packets from packet engines to a transmit queue of a NIC in a multi-core system, and a method and system for directing incoming data packets from a receive queue of the NIC to the packet engines. Packet engines store outgoing traffic in logical transmit queues in the packet engines. An interface module obtains the outgoing traffic and stores it in a transmit queue of the NIC, after which the NIC transmits the traffic from the multi-core system over a network. The NIC receives incoming traffic and stores it in a NIC receive queue. The interface module obtains the incoming traffic and applies a hash to a tuple of each obtained data packet. The interface module then stores each data packet in the logical receive queue of a packet engine on the core identified by the result of the hash.
    Type: Grant
    Filed: June 22, 2009
    Date of Patent: September 13, 2011
    Assignee: Citrix Systems, Inc.
    Inventors: Sandhya Gopinath, Henk Bots
  • Patent number: 8009682
    Abstract: Described herein is a method and system for distributing whole and fragmented requests and responses across a multi-core system. Each core executes a packet engine that further processes data packets and data packet fragments allocated to that core. A flow distributor executing within the multi-core system forwards client requests to a packet engine on a core that is selected based on a value generated when a hash is applied to a tuple comprising a client IP address, a client port, a server IP address and a server port identified in the request. The packet engine maintains each element of the tuple and forwards the request to the selected core. The packet engine can also process data packet fragments by assembling the fragments prior to transmitting them to the selected core, or by transmitting the data packet fragments to the selected core.
    Type: Grant
    Filed: June 22, 2009
    Date of Patent: August 30, 2011
    Assignee: Citrix Systems, Inc.
    Inventors: Sandhya Gopinath, Henk Bots, Ramanjaneyulu Y Talla, Abhishek Chauhan
  • Publication number: 20100325257
    Abstract: The present application is directed towards systems and methods for providing link management in a multi-core system. In some embodiments, the present application describes solutions for managing address resolution in IPv4 networks in a multi-core system. In other embodiments, the present application describes solutions for managing neighbor discovery in IPv6 networks in a multi-core system. In still other embodiments, the present application describes solutions for managing network bridging in a multi-core system. In yet other embodiments, the present application describes solutions for managing link aggregation in a multi-core system. And in still other embodiments, the present application describes solutions for managing virtual routers in a multi-core system.
    Type: Application
    Filed: June 22, 2010
    Publication date: December 23, 2010
    Inventors: Deepak Goel, Sandhya Gopinath, Jyotheesh Rao Kurma
  • Publication number: 20100322265
    Abstract: Described herein is a method and system for directing outgoing data packets from packet engines to a transmit queue of a NIC in a multi-core system, and a method and system for directing incoming data packets from a receive queue of the NIC to the packet engines. Packet engines store outgoing traffic in logical transmit queues in the packet engines. An interface module obtains the outgoing traffic and stores it in a transmit queue of the NIC, after which the NIC transmits the traffic from the multi-core system over a network. The NIC receives incoming traffic and stores it in a NIC receive queue. The interface module obtains the incoming traffic and applies a hash to a tuple of each obtained data packet. The interface module then stores each data packet in the logical receive queue of a packet engine on the core identified by the result of the hash.
    Type: Application
    Filed: June 22, 2009
    Publication date: December 23, 2010
    Inventors: Sandhya Gopinath, Henk Bots
  • Publication number: 20100325474
    Abstract: The present disclosure presents systems and methods for maintaining operation of a first multi-core appliance 200 by a second multi-core appliance upon failover of the first multi-core appliance. A secondary appliance may receive information about configuration settings and operations of a plurality of packet processing engines (PPEs), each of the PPEs operating on one of a plurality of cores of the primary multi-core appliance. Status of operation of the plurality of PPEs of the primary appliance may be monitored by exchanging communication between the primary and secondary appliances. Configuration settings for each of a PPEs operating on the cores of the secondary appliance may be established responsive to detection that one or more of the PPEs of the primary appliance is unavailable. Configuration information for each of the PPEs of the secondary appliance may be propagated to the plurality of the PPEs of the secondary appliance.
    Type: Application
    Filed: June 22, 2009
    Publication date: December 23, 2010
    Inventors: Sandhya Gopinath, Jyotheesh Rao Kurma
  • Publication number: 20100287227
    Abstract: Described herein is a method and system for distributing request and responses across a multi-core system. Each core executes a packet engine that further processes data packets allocated to that core. A flow distributor executing within the multi-core system forwards client requests to a packet engine on a core that is selected based on a value generated when a hash is applied to a tuple comprising a client IP address, a client port, a server IP address and a server port identified in the request. The packet engine selects a first IP address and a first port of the core, and determines whether a hash of a tuple comprising those values identifies the selected core. A modification is then made to the client request so that the client request includes a tuple comprising the first IP address, the server IP address, the first port and the server port.
    Type: Application
    Filed: June 22, 2009
    Publication date: November 11, 2010
    Inventors: Deepak Goel, Jyotheesh Kurma, Sandhya Gopinath
  • Publication number: 20100284404
    Abstract: Described herein is a method and system for distributing whole and fragmented requests and responses across a multi-core system. Each core executes a packet engine that further processes data packets and data packet fragments allocated to that core. A flow distributor executing within the multi-core system forwards client requests to a packet engine on a core that is selected based on a value generated when a hash is applied to a tuple comprising a client IP address, a client port, a server IP address and a server port identified in the request. The packet engine maintains each element of the tuple and forwards the request to the selected core. The packet engine can also process data packet fragments by assembling the fragments prior to transmitting them to the selected core, or by transmitting the data packet fragments to the selected core.
    Type: Application
    Filed: June 22, 2009
    Publication date: November 11, 2010
    Inventors: Sandhya Gopinath, Henk Bots, Ramanjaneyulu Y. Talla, Abhishek Chauhan