Patents by Inventor Murali Raja

Murali Raja 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: 20130046876
    Abstract: The present invention provides maintains site persistence in a hierarchical Global Server Load Balancing (GSLB) deployment. Via configuration of GSLB services locally and remotely on each of the GSLB appliances and LB appliances at a site, a site appliance identifies and associates requests from the GSLB with the site. Furthermore, the site appliance may receive a GSLB cookie with the client request and confirms the request is from the expected GSLB in the site hierarchy. When the load balancers receives a response from a server, the appliance may include the GSLB cookie with the response back to the client. The appliance may also include an LB cookie to identify the server selected by the LB. When the client sends another request, the request may include the GSLB and LB cookie.
    Type: Application
    Filed: August 20, 2012
    Publication date: February 21, 2013
    Inventors: Raghav Somanahalli Narayana, Josephine Suganthi, Murali Raja, Ravi Kondamuru
  • Publication number: 20120297046
    Abstract: The present disclosure is directed towards systems and methods for global server load balancing spillover. An intermediary device providing global server load balancing (GSLB) identifies a spillover threshold for a first GSLB virtual server of the intermediary device. The first GSLB virtual server resolving DNS requests to a remote site of a plurality of remote sites. The intermediary device monitors spillover related statistics of each of a plurality of services at the plurality of remote sites, establishes a first spillover aggregate statistic for the plurality of services, determines that the first spillover aggregate statistic exceeds the spillover threshold for the first GSLB virtual server, and receives a DNS request and directing the DNS request to a second GSLB virtual server of the intermediary device responsive to the determination.
    Type: Application
    Filed: July 27, 2012
    Publication date: November 22, 2012
    Inventors: MURALI RAJA, RAGHAV SOMANAHALLI NARAYANA
  • Patent number: 8289960
    Abstract: Described herein are systems and methods for aggregating performance data or trace data for a multi-core, multi-packet-engine networked appliance. A plurality of packet engines operate on the appliance and manage network traffic between a plurality of clients and a plurality of servers. In various embodiments, the system comprises a plurality of packet engines and an aggregator communicating with the packet engines through shared memory allocations. Each packet engine can write performance data or trace data to the a shared memory allocation. The aggregator can obtain the performance data or trace data and consolidate the data to provide unified performance data or unified trace data representative of the appliance.
    Type: Grant
    Filed: June 22, 2009
    Date of Patent: October 16, 2012
    Assignee: Citrix Systems, Inc.
    Inventors: Murali Raja, Devesh Prakash, Sudheer Thokala
  • Patent number: 8291108
    Abstract: The present invention provides improvements to load balancing by providing a load balancing solution that allows a user to select metrics, weights and thresholds from metrics collected or determined by a load balancing appliance as well as metrics obtained from another device, such as a server running the service. The systems and methods described providing a load balancing technique in which load balancing decisions can be made based on metrics known by another device monitoring such metrics. The load balancing appliance uses a network management protocol and communication model, such as a Simple Network Management Protocol (SNMP), to identify and collect metrics from a server, service or other device. These metrics are available on the load balancing appliance with appliance determined metrics. Via a configuration interface of the appliance, a user can select one or more appliance determined metrics and/or the metrics obtained via the network management protocol to determine the load of a service.
    Type: Grant
    Filed: March 12, 2007
    Date of Patent: October 16, 2012
    Assignee: Citrix Systems, Inc.
    Inventors: Murali Raja, Manikam Muthiah, Ranveer Kunal, Somanahalli Narayana Raghav
  • Publication number: 20120226804
    Abstract: The present invention is directed towards systems and methods for aggregating and providing statistics from cores of a multi-core system intermediary between one or more clients and servers. The system may maintain in shared memory a global device number for each core of the multi-core system. The system may provide a thread for each core of the multi-core system to gather data from the corresponding core. A first thread may generate aggregated statistics from a corresponding core by parsing the gathered data from the corresponding core. The first thread may transfer the generated statistics to a statistics log according to a schedule. The system may adaptively reschedule the transfer by monitoring the operation of each computing thread. Responsive to a request from a client, an agent of the client may obtain statistics from the statistics log.
    Type: Application
    Filed: December 27, 2011
    Publication date: September 6, 2012
    Inventors: Murali Raja, Sridhar Srinivasan, Saravana Annamalaisami, Devesh Prakash, Josephine Suganthi, Anil Shetty
  • Patent number: 8260926
    Abstract: The present invention provides systems and methods for maintaining site persistence in a hierarchical Global Server Load Balancing (GSLB) deployment. Via configuration of GSLB services locally and remotely on each of the GSLB appliances and LB appliances at a site, a site appliance identifies and associates requests from the GSLB with the site. Furthermore, the site appliance may receive a GSLB cookie with the client request and confirms the request is from the expected GSLB in the site hierarchy. When the load balancers receives a response from a server, the appliance may include the GSLB cookie with the response back to the client. The appliance may also include an LB cookie to identify the server selected by the LB. When the client sends another request, the request may include the GSLB and LB cookie. With this information, the GSLB and LB appliance may maintain site persistence for the client as well as server persistence at the site.
    Type: Grant
    Filed: November 25, 2008
    Date of Patent: September 4, 2012
    Assignee: Citrix Systems, Inc.
    Inventors: Raghav Somanahalli Narayana, Josephine Suganthi, Murali Raja, Ravi Kondamuru
  • Patent number: 8255528
    Abstract: The present invention is directed towards systems and methods for global server load balancing spillover. An intermediary device providing global server load balancing (GSLB) identifies a spillover threshold for a first GSLB virtual server of the intermediary device. The first GSLB virtual server resolving DNS requests to a remote site of a plurality of remote sites. The intermediary device monitors spillover related statistics of each of a plurality of services at the plurality of remote sites, establishes a first spillover aggregate statistic for the plurality of services, determines that the first spillover aggregate statistic exceeds the spillover threshold for the first GSLB virtual server, and receives a DNS request and directing the DNS request to a second GSLB virtual server of the intermediary device responsive to the determination.
    Type: Grant
    Filed: December 23, 2009
    Date of Patent: August 28, 2012
    Assignee: Citrix Systems, Inc.
    Inventors: Murali Raja, Raghav Somanahalli Narayana
  • Patent number: 8230055
    Abstract: In a method and appliance for determining responsiveness of a service via a particular protocol, a device intermediary to a plurality of clients and a plurality of services determines response times from each of a plurality of services to respond to requests via a first type of protocol of a plurality of protocols. The device calculates an average response time for the first type of protocol from each of the response times of the plurality of services. The device establishes a predetermined threshold for which a response time of a service for the first type of protocol may deviate from the average response time. The device identifies a service as available responsive to determining that a deviation of the response time of the service from the average response falls within the predetermined threshold.
    Type: Grant
    Filed: April 2, 2010
    Date of Patent: July 24, 2012
    Assignee: Citrix Systems, Inc.
    Inventors: Ravi Kondamuru, Josephine Suganthi, Murali Raja, Sandeep Kamath, Sergey Verzunov, Anil Shetty
  • Publication number: 20120072588
    Abstract: The present invention provides methods and systems for performing load balancing via a plurality of virtual servers upon a failover using metrics from a backup virtual server. The methods and systems described herein provide systems and methods for an appliance detecting that a first virtual server of a plurality of virtual servers having one or more backup virtual servers load balanced by an appliance is not available, identifying at least a first backup virtual server of a one or more backup virtual servers of the first virtual server is available, maintaining a status of the first virtual server as available in response to the identification, obtaining one or more metrics from the first backup virtual server of a one or more backup virtual servers, and determining the load across the plurality of virtual servers using the metrics obtained from the first backup virtual server associated with the first virtual server.
    Type: Application
    Filed: November 22, 2011
    Publication date: March 22, 2012
    Inventors: Sandeep Kamath, Josephine Suganthi, Sergey Verzunov, Murali Raja, Anil Shetty
  • Patent number: 8141164
    Abstract: A method for enabling decentralized dynamic load balancing among a plurality of appliances providing access to a plurality of sites, each site comprising a local area network and at least one server includes: determining, by a first appliance, a first number of services currently available for access via a local area network connected to the first appliance; receiving, by the first appliance from a second appliance, a communication indicating a second number of services currently available for access via a local area network connected to the second appliance; receiving, by the first appliance, a plurality of requests to connect to a service; determining, by the first appliance, a weight to be assigned to the second appliance, wherein the determination is responsive to the second number; and forwarding, by the first appliance to the second appliance, a subset of the plurality of requests, wherein the number of requests comprising the subset is determined in response to the determined weight.
    Type: Grant
    Filed: August 21, 2006
    Date of Patent: March 20, 2012
    Assignee: Citrix Systems, Inc.
    Inventors: Sandeep Kamath, Murali Raja, Josephine Suganthi, Anil Shetty, Sergey Verzunov
  • Publication number: 20120005334
    Abstract: The present application is related methods to monitor a state of one or more components of a remote access server farm by an intermediary to distinguish between operating and functional components and improve farm availability for user application requests. The intermediary may be deployed between a client and the remote access server farm and forwards client requests to functional components of the remote access server farm.
    Type: Application
    Filed: January 21, 2011
    Publication date: January 5, 2012
    Inventors: MURALI RAJA, Sandeep Kamath
  • Patent number: 8065559
    Abstract: The present invention provides methods and systems for performing load balancing via a plurality of virtual servers upon a failover using metrics from a backup virtual server. The methods and systems described herein provide systems and methods for an appliance detecting that a first virtual server of a plurality of virtual servers having one or more backup virtual servers load balanced by an appliance is not available, identifying at least a first backup virtual server of a one or more backup virtual servers of the first virtual server is available, maintaining a status of the first virtual server as available in response to the identification, obtaining one or more metrics from the first backup virtual server of a one or more backup virtual servers, and determining the load across the plurality of virtual servers using the metrics obtained from the first backup virtual server associated with the first virtual server.
    Type: Grant
    Filed: May 29, 2008
    Date of Patent: November 22, 2011
    Assignee: Citrix Systems, Inc.
    Inventors: Sandeep Kamath, Josephine Suganthi, Sergey Verzunov, Murali Raja, Anil Shetty
  • Publication number: 20110153724
    Abstract: The present invention is directed towards systems and methods for managing a rate of request for an object transmitted between a server and one or more clients via a multi-core intermediary device. A first core of the intermediary device can receive a request for an object and assume ownership of the object. The first core can store the object in shared memory along with a rate-related counter for the object and generate a hash to the object and counter. Other cores can obtain the hash from the first core and access the object and counter in shared memory. Policy engines and throttlers in operation on each core can control the rate of access to the stored object.
    Type: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Inventors: Murali Raja, Sandeep Kamath
  • Publication number: 20110153840
    Abstract: The present disclosure presents systems and methods for obtaining metric information by a multi-core GSLB intermediary device and providing global server load balancing services using the obtained information. A first core of a multi-core GSLB appliance establishes a transport layer connection to a remote load balancer at a site of a plurality of sites. The first core transmits a message to each of the other cores of the multi-core GSLB appliance that that the first core is a master core for receiving metric information from the load balancer. The first core receives metric information of the remote site from the load balancer. The first core propagates the metric information to each of the other cores of the GSLB appliance. A GSLB virtual server on a slave core receives a DNS request. The GSLB virtual server determines a DNS resolution for the DNS request based on the metric information.
    Type: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Inventors: Raghav Somanahalli Narayana, Murali Raja, Rishi Mutnuru, Ravi Kondamuru
  • Publication number: 20110153810
    Abstract: The present invention is directed towards systems and methods for global server load balancing spillover. An intermediary device providing global server load balancing (GSLB) identifies a spillover threshold for a first GSLB virtual server of the intermediary device. The first GSLB virtual server resolving DNS requests to a remote site of a plurality of remote sites. The intermediary device monitors spillover related statistics of each of a plurality of services at the plurality of remote sites, establishes a first spillover aggregate statistic for the plurality of services, determines that the first spillover aggregate statistic exceeds the spillover threshold for the first GSLB virtual server, and receives a DNS request and directing the DNS request to a second GSLB virtual server of the intermediary device responsive to the determination.
    Type: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Inventors: Murali Raja, Raghav Somanahalli Narayana
  • Patent number: 7926116
    Abstract: A method for enabling decentralized dynamic load balancing among a plurality of appliances providing access to a plurality of sites, each site comprising a local area network and at least one server includes: determining, by a first appliance, a first number of services currently available for access via a local area network connected to the first appliance; receiving, by the first appliance from a second appliance, a communication indicating a second number of services currently available for access via a local area network connected to the second appliance; receiving, by the first appliance, a plurality of requests to connect to a service; determining, by the first appliance, a weight to be assigned to the second appliance, wherein the determination is responsive to the second number; and forwarding, by the first appliance to the second appliance, a subset of the plurality of requests, wherein the number of requests comprising the subset is determined in response to the determined weight.
    Type: Grant
    Filed: October 29, 2009
    Date of Patent: April 12, 2011
    Assignee: Citrix Systems, Inc.
    Inventors: Sandeep Kamath, Josephine Suganthi, Anil Shetty, Sergey Verzunov, Murali Raja
  • Patent number: 7886050
    Abstract: The present application is related methods to monitor a state of one or more components of a remote access server farm by an intermediary to distinguish between operating and functional components and improve farm availability for user application requests. The intermediary may be deployed between a client and the remote access server farm and forwards client requests to functional components of the remote access server farm.
    Type: Grant
    Filed: September 23, 2008
    Date of Patent: February 8, 2011
    Assignee: Citrix Systems, Inc.
    Inventors: Murali Raja, Sandeep Kamath
  • Publication number: 20100325263
    Abstract: Systems and methods for consolidating metrics and statistics used for load balancing by a plurality of cores of a multi-core intermediary are disclosed. A timer operating on each packet engine of each core in a multi-core system may expire. A consolidator may store, responsive to expiration of the timer, a set of counter values from each of the packet engines to a first storage location. The consolidator may send to each packet engine a message to update the set of counter values. The consolidator may, upon completion of updating the set of counter values by the packet engines, send a second message to the packet engines that includes a consolidated set of counter values determined based on the updated set of values from each packet engine. Each packet engine may establish settings and parameters for load balancing based on the consolidated set of counter values.
    Type: Application
    Filed: June 22, 2009
    Publication date: December 23, 2010
    Inventors: Murali Raja, Anil Shetty, Josephine Suganthi, Saravana Annamalaisami
  • Publication number: 20100322089
    Abstract: Described herein are systems and methods for aggregating performance data or trace data for a multi-core, multi-packet-engine networked appliance. A plurality of packet engines operate on the appliance and manage network traffic between a plurality of clients and a plurality of servers. In various embodiments, the system comprises a plurality of packet engines and an aggregator communicating with the packet engines through shared memory allocations. Each packet engine can write performance data or trace data to the a shared memory allocation. The aggregator can obtain the performance data or trace data and consolidate the data to provide unified performance data or unified trace data representative of the appliance.
    Type: Application
    Filed: June 22, 2009
    Publication date: December 23, 2010
    Inventors: Murali Raja, Devesh Prakash
  • Publication number: 20100322237
    Abstract: Described herein are systems and methods for aggregating performance data or trace data for a multi-core, multi-packet-engine networked appliance. A plurality of packet engines operate on the appliance and manage network traffic between a plurality of clients and a plurality of servers. In various embodiments, the system comprises a plurality of packet engines and an aggregator communicating with the packet engines through shared memory allocations. Each packet engine can write performance data or trace data to the a shared memory allocation. The aggregator can obtain the performance data or trace data and consolidate the data to provide unified performance data or unified trace data representative of the appliance.
    Type: Application
    Filed: June 22, 2009
    Publication date: December 23, 2010
    Inventors: Murali Raja, Devesh Prakash, Sudheer Thokala